99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實戰(zhàn)洞察。

ICE流程拆解:candidate屬性詳解與實戰(zhàn)避坑指南

ICE流程拆解:candidate屬性詳解與實戰(zhàn)避坑指南 1. 從一次線上事故說起為什么 candidate 屬性值得單獨拎出來講去年冬天團(tuán)隊里一個剛接手 ICE 流程的同學(xué)在聯(lián)調(diào)時遇到一個詭異現(xiàn)象兩端明明都拿到了對方的地址連接卻始終卡在 checking 狀態(tài)日志里看不到任何報錯。排查了大半天最后發(fā)現(xiàn)問題出在 candidate 的 foundation 字段上——兩臺設(shè)備因為網(wǎng)絡(luò)環(huán)境相似生成的 foundation 值撞車了導(dǎo)致 ICE 引擎誤判為同一組候選地址直接跳過了本該發(fā)起的連通性檢查。這件事讓我意識到很多人對 ICE 的理解停留在收集候選地址、配對、檢查連通性這個粗線條的流程上但真正決定 ICE 能不能跑通、跑得快、跑得穩(wěn)的恰恰是 candidate 屬性這一層的細(xì)節(jié)。標(biāo)題里說的ICE 流程1我理解是把 candidate 屬性作為整個 ICE 流程拆解的第一站這個切入點選得很準(zhǔn)因為后面所有的配對、優(yōu)先級排序、連通性檢查全部建立在 candidate 屬性之上。這篇文章面向的是正在做實時音視頻、實時通信、P2P 傳輸相關(guān)開發(fā)的工程師也適合對網(wǎng)絡(luò)穿透機(jī)制感興趣、想搞清楚底層原理的技術(shù)人。我會把 candidate 的每一個屬性字段拆開講清楚它是什么、為什么需要它、實際生成時怎么算、踩過哪些坑。讀完之后你應(yīng)該能獨立排查大部分跟候選地址相關(guān)的連接問題而不是對著日志干瞪眼。2. candidate 屬性到底是什么先建立整體認(rèn)知2.1 候選地址在 ICE 流程中的位置要理解 candidate 屬性得先知道 candidate 在 ICE 流程里扮演什么角色。ICE 的全稱是 Interactive Connectivity Establishment直譯過來就是交互式連接建立。它的核心任務(wù)很簡單讓兩個位于不同網(wǎng)絡(luò)環(huán)境下的端點找到一條能互相發(fā)送數(shù)據(jù)的路徑。這個過程分幾個階段。第一階段是收集候選地址每個端點會從自己的網(wǎng)卡、系統(tǒng)接口、中繼服務(wù)等地方收集所有可能用于通信的地址每一個地址就是一個 candidate。第二階段是交換候選地址兩端通過信令通道把各自的候選列表發(fā)給對方。第三階段是配對與連通性檢查把本地的候選和遠(yuǎn)端的候選兩兩組合成 candidate pair逐個發(fā)送檢查包看哪一對能通。第四階段是提名與選定從能通的配對里選出一對最優(yōu)的作為正式傳輸通道。candidate 屬性貫穿了第一階段到第四階段。收集階段決定了屬性的初始值交換階段把這些屬性原樣傳遞配對和檢查階段則完全依賴這些屬性來做優(yōu)先級排序和去重判斷??梢哉fcandidate 屬性就是 ICE 流程的身份證每一個字段都在后續(xù)環(huán)節(jié)里被反復(fù)讀取和使用。2.2 一個 candidate 的完整結(jié)構(gòu)長什么樣先看一個典型的 candidate 描述長什么樣這是從實際日志里抓出來的candidate:1 1 UDP 2130706431 192.168.1.100 54321 typ host candidate:2 1 UDP 1694498815 203.0.113.45 12345 typ srflx raddr 192.168.1.100 rport 54321 candidate:3 1 UDP 16777215 198.51.100.20 3478 typ relay raddr 203.0.113.45 rport 12345這三行分別代表了三種典型候選主機(jī)候選、服務(wù)器自反候選、中繼候選。每一行里除了開頭的candidate:標(biāo)簽后面跟著一串用空格分隔的字段。這些字段就是我們要重點拆解的 candidate 屬性。從結(jié)構(gòu)上看一個 candidate 由基礎(chǔ)字段和擴(kuò)展字段兩部分組成。基礎(chǔ)字段是每個 candidate 都必須有的包括 foundation、component-id、transport、priority、connection-address、port、candidate-type。擴(kuò)展字段則是可選的根據(jù) candidate 類型不同而不同比如 raddr、rport、tcptype 等。理解這個結(jié)構(gòu)很重要因為在實際開發(fā)中你經(jīng)常需要手動構(gòu)造 candidate 字符串或者在日志里解析這些字段。字段順序是固定的不能隨意調(diào)換否則解析會出錯。我見過有同學(xué)在拼接 candidate 時把 priority 和 port 的位置寫反了結(jié)果對端解析出來的地址完全錯亂排查了很久才發(fā)現(xiàn)是格式問題。2.3 為什么這些屬性缺一不可有人可能會想不就是個 IP 加端口嗎為什么要搞這么多字段這個問題問得好答案在于 ICE 要解決的是一個非常復(fù)雜的工程問題在成千上萬種網(wǎng)絡(luò)組合下快速找到一條可用的路徑。如果只有 IP 和端口你無法判斷兩個候選是不是來自同一個網(wǎng)卡去重問題無法決定先檢查哪一對優(yōu)先級問題無法知道這個地址是怎么來的類型問題也無法處理多網(wǎng)卡、多協(xié)議、多中繼的復(fù)雜場景。每一個屬性字段都是為了解決一個具體的工程問題而存在的。舉個例子foundation 字段看起來只是個簡單的字符串但它的作用是讓 ICE 引擎快速識別這兩個候選來自同一個基礎(chǔ)地址從而避免重復(fù)檢查。如果沒有 foundationICE 就得逐個比對 IP、端口、類型效率會低很多。再比如 priority 字段它是一個 32 位整數(shù)編碼了候選類型、本地優(yōu)先級、組件 ID 等多層信息讓排序可以在一個整數(shù)比較里完成而不是多字段逐一比較。3. 逐個拆解candidate 核心屬性詳解3.1 foundation候選地址的指紋foundation 是一個字符串通常是一個短整數(shù)或者字母數(shù)字組合。它的核心作用是標(biāo)識一組共享同一基礎(chǔ)地址的候選。什么叫共享同一基礎(chǔ)地址簡單說如果兩個候選是從同一個網(wǎng)卡的同一個 IP 上收集來的只是端口或協(xié)議不同它們的 foundation 就應(yīng)該相同。為什么需要這個因為 ICE 在連通性檢查時如果已經(jīng)檢查過某個 foundation 的候選對就不需要再檢查同 foundation 的其他候選對了。這能大幅減少檢查次數(shù)。想象一下一臺機(jī)器有 3 個網(wǎng)卡每個網(wǎng)卡收集了 UDP 和 TCP 兩種候選那就是 6 個候選。如果沒有 foundation 去重兩兩配對就是 36 對有了 foundation可能只需要檢查 9 對。foundation 的生成規(guī)則在不同實現(xiàn)里略有差異但核心邏輯是一致的把基礎(chǔ) IP、傳輸協(xié)議、候選類型這幾個因素組合起來做一個哈希或者直接拼接。RFC 5245 里建議的算法是把基礎(chǔ)地址、協(xié)議、候選類型、以及相關(guān)的擴(kuò)展屬性比如 relay 的服務(wù)器地址拼成一個字符串然后取一個穩(wěn)定的哈希值。這里有個坑要注意foundation 必須在整個 ICE 會話期間保持穩(wěn)定。也就是說同一個候選在多次信令交換中foundation 不能變。我見過有實現(xiàn)每次生成 foundation 時用了隨機(jī)數(shù)導(dǎo)致對端每次收到的 foundation 都不一樣去重邏輯完全失效檢查次數(shù)暴增連接建立時間從幾百毫秒漲到了好幾秒。提示如果你在排查連接慢的問題先看日志里 foundation 的分布。如果同一個 IP 上的候選 foundation 各不相同大概率是生成邏輯有問題。3.2 component-id區(qū)分?jǐn)?shù)據(jù)流通道component-id 是一個正整數(shù)從 1 開始。它用來標(biāo)識同一個候選地址上的不同數(shù)據(jù)流通道。在最早的 ICE 設(shè)計里component-id 主要服務(wù)于 RTP 和 RTCP 的區(qū)分component-id 為 1 的候選用于傳輸 RTP 媒體流component-id 為 2 的候選用于傳輸 RTCP 控制流。雖然現(xiàn)在很多實現(xiàn)把 RTP 和 RTCP 復(fù)用在一個通道上也就是只用一個 component-id但 component-id 這個字段依然保留著因為它在多通道場景下仍然是必要的。比如某些實時通信場景需要同時傳輸音視頻和數(shù)據(jù)可能就會用到多個 component。component-id 的關(guān)鍵特性是同一個 foundation 下不同 component-id 的候選必須使用不同的端口。這是 ICE 的基本約束因為同一個 IP 加同一個端口不可能同時承載兩個獨立的通道。如果你在構(gòu)造候選時違反了這條規(guī)則對端在配對時會直接丟棄這些候選。實際開發(fā)中component-id 最常見的坑是兩端不一致。比如一端只支持 component-id 1另一端卻發(fā)了 component-id 1 和 2 的候選配對時 component-id 2 的候選找不到匹配白白浪費了檢查資源。所以在信令交換階段最好先協(xié)商好 component 的數(shù)量。3.3 transport傳輸協(xié)議的選擇transport 字段指定了候選使用的傳輸層協(xié)議常見的有 UDP 和 TCP。在實時音視頻場景里UDP 是絕對主力因為它的延遲低、抖動小適合媒體流傳輸。TCP 通常作為備選用在 UDP 被完全阻斷的網(wǎng)絡(luò)環(huán)境里。UDP 和 TCP 在 ICE 里的行為差異很大。UDP 的連通性檢查就是發(fā)一個綁定請求收到響應(yīng)就算通。TCP 則復(fù)雜得多因為 TCP 是面向連接的檢查過程涉及到握手、連接建立、連接保持等一系列狀態(tài)。而且 TCP 候選還分主動和被動兩種模式通過 tcptype 擴(kuò)展字段來標(biāo)識。tcptype 有三個取值active、passive、so。active 表示這個候選會主動發(fā)起 TCP 連接passive 表示它會等待對方來連so 表示可以同時作為主動和被動。配對時active 必須和 passive 配對或者 so 和任意一方配對兩個 active 或兩個 passive 是配不上的。這里有個實操經(jīng)驗如果你的場景需要 TCP 候選盡量讓一端發(fā) active、另一端發(fā) passive而不是兩端都發(fā) so。因為 so 雖然靈活但在某些 NAT 環(huán)境下同時嘗試雙向連接會導(dǎo)致狀態(tài)混亂反而降低成功率。3.4 priority決定檢查順序的核心字段priority 是整個 candidate 屬性里最復(fù)雜、也最關(guān)鍵的字段。它是一個 32 位無符號整數(shù)取值范圍從 0 到 4294967295。ICE 引擎會按照 priority 從高到低排序候選對優(yōu)先檢查高優(yōu)先級的配對。priority 的計算公式在 RFC 5245 里有明確定義priority (2^24) * type_pref (2^8) * local_pref (2^0) * (256 - component_id)這個公式把三種信息編碼進(jìn)了一個整數(shù)。type_pref 是候選類型的偏好值host 類型最高srflx 次之relay 最低。local_pref 是本地優(yōu)先級通常根據(jù)網(wǎng)卡的重要程度來設(shè)置比如有線網(wǎng)卡比無線網(wǎng)卡高。component_id 則通過256 - component_id的方式反向編碼讓 component-id 小的候選優(yōu)先級略高。具體數(shù)值上host 的 type_pref 通常是 126srflx 是 100relay 是 0。這樣算下來host 候選的 priority 大約在 2130706431 左右srflx 在 1694498815 左右relay 在 16777215 左右。這個差距非常大確保了 host 候選永遠(yuǎn)優(yōu)先于 srflxsrflx 永遠(yuǎn)優(yōu)先于 relay。為什么這么設(shè)計因為 host 候選是直連延遲最低、帶寬最大、最可靠srflx 需要經(jīng)過 NAT 映射多了一跳relay 要經(jīng)過中繼服務(wù)器延遲最高、成本也最高。ICE 的設(shè)計哲學(xué)就是能直連就直連直連不行再中繼priority 就是這個哲學(xué)的數(shù)值化體現(xiàn)。注意priority 是本地生成的但交換后對端會原樣使用。也就是說你生成的 priority 會影響對端的檢查順序。所以不要隨意設(shè)置 priority要按照標(biāo)準(zhǔn)公式來算否則可能導(dǎo)致連接建立變慢。3.5 connection-address 和 port實際的通信端點connection-address 就是候選的 IP 地址port 就是端口號。這兩個字段看起來最簡單但實際踩坑最多。先說 IP 地址。在 IPv4 環(huán)境下就是點分十進(jìn)制的形式比如 192.168.1.100。在 IPv6 環(huán)境下是冒號分隔的十六進(jìn)制形式。這里有個細(xì)節(jié)IPv6 地址在 candidate 字符串里通常不帶方括號直接寫地址本身。但如果在其他上下文里引用可能需要加方括號來區(qū)分端口。再說端口。端口號的范圍是 1 到 65535但實際可用的端口受操作系統(tǒng)限制。在 Linux 上1024 以下的端口需要 root 權(quán)限所以 ICE 候選通常使用 1024 以上的端口。另外很多企業(yè)防火墻會限制某些端口范圍如果你的候選端口恰好落在被封鎖的范圍里連通性檢查就會失敗。這里有個實操技巧在收集候選時盡量多收集幾個端口。因為某些 NAT 設(shè)備會對不同端口做不同的映射策略多試幾個端口能提高穿透成功率。我見過一個案例某運(yùn)營商的 NAT 對 50000 以上的端口映射很穩(wěn)定但對 30000 以下的端口映射經(jīng)常失敗多收集端口后成功率從 60% 提升到了 95%。3.6 candidate-type候選的來源分類candidate-type 標(biāo)識了候選的來源常見的有四種host、srflx、prflx、relay。host 是主機(jī)候選直接從本地網(wǎng)卡上收集到的地址。這是最原始的候選沒有經(jīng)過任何 NAT 映射或中繼。在局域網(wǎng)內(nèi)host 候選通常能直接連通。srflx 是服務(wù)器自反候選通過 STUN 服務(wù)器獲取。端向 STUN 服務(wù)器發(fā)送請求服務(wù)器返回它看到的源地址這個地址就是端在 NAT 上的公網(wǎng)映射地址。srflx 候選能穿透大部分 NAT是公網(wǎng)通信的主力。prflx 是對等自反候選不是在收集階段生成的而是在連通性檢查過程中發(fā)現(xiàn)的。當(dāng)端收到一個來自未知地址的檢查請求時會把那個地址作為一個 prflx 候選加入列表。prflx 主要用于處理 NAT 映射變化的情況比如對稱 NAT 下不同目標(biāo)的映射端口不同prflx 能捕捉到這種變化。relay 是中繼候選通過 TURN 服務(wù)器分配。端向 TURN 服務(wù)器申請一個中繼地址所有數(shù)據(jù)都通過這個地址轉(zhuǎn)發(fā)。relay 的延遲最高、成本最大但穿透能力最強(qiáng)幾乎能應(yīng)對所有網(wǎng)絡(luò)環(huán)境。ICE 的原則是最后才用 relay所以 relay 的 priority 最低。這四種類型的優(yōu)先級順序是host srflx prflx relay。實際實現(xiàn)里prflx 的優(yōu)先級通常和 srflx 相當(dāng)或略低因為它也是公網(wǎng)地址只是發(fā)現(xiàn)方式不同。3.7 擴(kuò)展字段raddr、rport 與 tcptype除了基礎(chǔ)字段candidate 還可以帶一些擴(kuò)展字段用來補(bǔ)充描述候選的來源信息。raddr 是 related address表示這個候選的相關(guān)地址。對于 srflx 候選raddr 是本地的主機(jī)地址也就是 NAT 映射前的地址。對于 relay 候選raddr 是中繼服務(wù)器看到的端的地址。rport 則是相關(guān)的端口。這兩個字段的主要作用是診斷和優(yōu)化。比如在排查 NAT 類型時對比 raddr 和 connection-address 就能看出 NAT 做了什么樣的映射。如果 raddr 相同但 connection-address 不同說明是對稱 NAT如果 raddr 和 connection-address 的端口也相同說明是錐形 NAT。tcptype 是 TCP 候選特有的擴(kuò)展字段取值 active、passive、so。前面講 transport 時已經(jīng)提過這里補(bǔ)充一點tcptype 只在 transport 為 TCP 時出現(xiàn)UDP 候選沒有這個字段。如果你在解析 candidate 時看到 UDP 候選帶了 tcptype那肯定是格式錯誤。4. 實操生成、解析與調(diào)試 candidate4.1 手動構(gòu)造一個合法的 candidate 字符串理解了各個字段的含義現(xiàn)在來實際構(gòu)造一個 candidate。假設(shè)我們要構(gòu)造一個 host 類型的 UDP 候選IP 是 192.168.1.100端口 54321component-id 為 1。先算 priority。type_pref 取 126local_pref 取 65535最大值component_id 為 1priority (2^24) * 126 (2^8) * 65535 (256 - 1) 16777216 * 126 256 * 65535 255 2113929216 16776960 255 2130706431然后 foundation 可以取一個基于 IP 和類型的哈希值這里簡化為 1。最終字符串是candidate:1 1 UDP 2130706431 192.168.1.100 54321 typ host再構(gòu)造一個 srflx 候選公網(wǎng)地址是 203.0.113.45端口 12345相關(guān)地址是 192.168.1.100:54321candidate:2 1 UDP 1694498815 203.0.113.45 12345 typ srflx raddr 192.168.1.100 rport 54321注意字段順序foundation、component-id、transport、priority、connection-address、port、typ、candidate-type然后是擴(kuò)展字段。這個順序不能亂解析器是按位置讀取的。4.2 從日志里解析 candidate 的實用方法實際調(diào)試時你拿到的往往是一大串 candidate 字符串需要快速提取關(guān)鍵信息。用正則表達(dá)式是最方便的方式。下面這個 Python 片段可以解析標(biāo)準(zhǔn)格式的 candidateimport re def parse_candidate(line): pattern rcandidate:(\S) (\d) (\S) (\d) (\S) (\d) typ (\S)(.*) match re.match(pattern, line.strip()) if not match: return None foundation, component_id, transport, priority, addr, port, ctype, ext match.groups() result { foundation: foundation, component_id: int(component_id), transport: transport, priority: int(priority), address: addr, port: int(port), type: ctype, } # 解析擴(kuò)展字段 for kv in ext.strip().split(): if kv in (raddr, rport, tcptype): result[kv] True ext_parts ext.strip().split() for i in range(0, len(ext_parts) - 1, 2): result[ext_parts[i]] ext_parts[i 1] return result這個解析器能處理大部分標(biāo)準(zhǔn)格式的 candidate。實際使用時你可能需要根據(jù)具體實現(xiàn)的格式做微調(diào)比如有些實現(xiàn)會在 candidate 前面加a前綴這是 SDP 格式解析前先去掉即可。4.3 用 priority 排序驗證候選質(zhì)量拿到候選列表后第一件事是按 priority 排序看看高優(yōu)先級的候選是不是符合預(yù)期。正常情況下host 候選應(yīng)該排在最前面然后是 srflx最后是 relay。如果發(fā)現(xiàn) relay 候選的 priority 比 srflx 還高那說明 priority 計算有問題。常見原因是 type_pref 設(shè)置錯了比如把 relay 的 type_pref 設(shè)成了 100 而不是 0。這種錯誤會導(dǎo)致 ICE 優(yōu)先嘗試中繼路徑連接延遲大幅增加。另一個檢查點是同一類型候選之間的排序。比如有兩個 host 候選一個來自有線網(wǎng)卡一個來自無線網(wǎng)卡有線網(wǎng)卡的 local_pref 應(yīng)該更高priority 也應(yīng)該更高。如果排序反了ICE 會優(yōu)先嘗試無線網(wǎng)卡可能帶來不必要的延遲和抖動。4.4 連通性檢查失敗的排查思路連通性檢查失敗是最常見的問題表現(xiàn)是 candidate pair 一直處于 waiting 或 in-progress 狀態(tài)最終超時。排查時按以下順序檢查第一看候選是否真的交換成功了。有時候信令通道有問題對端根本沒收到候選列表或者收到的列表是空的。檢查信令日志確認(rèn)雙方都發(fā)送和接收了 candidate。第二看 foundation 是否有重復(fù)。如果兩個不同的候選 foundation 相同ICE 會認(rèn)為它們是同一組可能跳過必要的檢查。檢查 foundation 的生成邏輯確保不同基礎(chǔ)地址的候選 foundation 不同。第三看端口是否被防火墻阻斷。用 telnet 或 nc 命令測試候選的 IP 和端口是否可達(dá)。如果不可達(dá)說明中間有防火墻或 NAT 設(shè)備阻斷了流量。第四看 transport 是否匹配。如果一端只發(fā) UDP 候選另一端只發(fā) TCP 候選那永遠(yuǎn)配不上對。檢查雙方的 transport 配置確保至少有一種共同的協(xié)議。第五看 component-id 是否一致。前面提過component-id 不匹配的候選無法配對。檢查雙方的 component 配置。5. 常見問題速查與避坑經(jīng)驗5.1 candidate 屬性相關(guān)的高頻問題下面這張表整理了實際開發(fā)中最常遇到的 candidate 屬性問題以及對應(yīng)的排查方向問題現(xiàn)象可能原因排查方向連接卡在 checkingfoundation 重復(fù)導(dǎo)致去重錯誤檢查 foundation 生成邏輯連接建立慢priority 排序錯誤先檢查了低優(yōu)先級候選驗證 priority 計算公式部分候選被丟棄component-id 或 transport 不匹配檢查雙方配置一致性srflx 候選缺失STUN 服務(wù)器不可達(dá)或返回錯誤測試 STUN 服務(wù)器連通性relay 候選無法使用TURN 服務(wù)器認(rèn)證失敗或配額不足檢查 TURN 憑證和配額IPv6 候選解析失敗地址格式不正確確認(rèn) IPv6 地址不帶方括號TCP 候選配不上對tcptype 組合不合法確保 active 配 passive5.2 三個我踩過的坑第一個坑foundation 用了隨機(jī)數(shù)。前面提過某次實現(xiàn)里 foundation 每次生成都不同導(dǎo)致對端每次收到的 foundation 都不一樣去重完全失效。表現(xiàn)是連接建立時間從 300 毫秒漲到了 5 秒以上。修復(fù)方法很簡單把 foundation 改成基于基礎(chǔ)地址的確定性哈希。第二個坑priority 的 local_pref 設(shè)成了 0。有一次為了簡化把 local_pref 統(tǒng)一設(shè)成了 0結(jié)果所有同類型候選的 priority 都一樣ICE 無法區(qū)分有線網(wǎng)卡和無線網(wǎng)卡隨機(jī)選擇路徑。表現(xiàn)是連接質(zhì)量不穩(wěn)定有時延遲很低有時抖動很大。修復(fù)方法是根據(jù)網(wǎng)卡類型設(shè)置不同的 local_pref。第三個坑raddr 和 rport 填反了。在構(gòu)造 srflx 候選時把 raddr 和 rport 的位置寫反了導(dǎo)致對端解析出來的相關(guān)地址完全錯誤。雖然不影響連通性檢查因為檢查用的是 connection-address 和 port但在診斷 NAT 類型時得到了錯誤結(jié)論。修復(fù)方法是嚴(yán)格按照字段順序拼接。5.3 一個容易被忽略的細(xì)節(jié)候選的生存時間candidate 不是永久有效的。每個候選都有一個生存時間超過這個時間后候選會被標(biāo)記為失效不再參與連通性檢查。生存時間的長度取決于候選類型host 候選通常很長因為本地地址不會變srflx 候選取決于 NAT 映射的保持時間通常幾十秒到幾分鐘relay 候選取決于 TURN 服務(wù)器的分配策略通常幾分鐘到幾十分鐘。實際開發(fā)中如果 ICE 會話持續(xù)時間很長需要定期刷新候選否則可能出現(xiàn)連接突然中斷的問題。刷新方式是重新收集候選并交換或者通過 STUN 綁定請求保持 NAT 映射。我見過一個案例某應(yīng)用在通話 10 分鐘后突然斷線排查發(fā)現(xiàn)是 srflx 候選的 NAT 映射過期了而應(yīng)用沒有及時刷新。提示如果你的應(yīng)用需要長時間保持連接建議在 ICE 配置里設(shè)置候選刷新間隔通常取 NAT 映射保持時間的一半比較穩(wěn)妥。6. 從 candidate 屬性看 ICE 的設(shè)計哲學(xué)把 candidate 屬性全部拆完回頭再看 ICE 的整個設(shè)計會發(fā)現(xiàn)一個很清晰的思路用豐富的元數(shù)據(jù)換取決策效率。每一個屬性字段都是為了在某個環(huán)節(jié)減少計算量或提高準(zhǔn)確性。foundation 用于快速去重priority 用于快速排序candidate-type 用于快速分類raddr 用于快速診斷。這些字段在收集階段一次性生成之后在整個 ICE 流程里被反復(fù)使用避免了重復(fù)計算。這種設(shè)計思路在實際工程里很有借鑒意義。很多系統(tǒng)在設(shè)計時喜歡按需計算用到什么算什么但 ICE 選擇了提前計算、冗余存儲的路子。代價是候選字符串變長了交換的數(shù)據(jù)量變大了但換來的是檢查階段的高效和穩(wěn)定。在實時通信這種對延遲極度敏感的場景里這個取舍是值得的。另一個值得注意的點是 ICE 對漸進(jìn)式降級的支持。host 不行用 srflxsrflx 不行用 relay每一層都有對應(yīng)的候選類型和優(yōu)先級。這種設(shè)計讓 ICE 能在各種網(wǎng)絡(luò)環(huán)境下工作從最簡單的局域網(wǎng)到最復(fù)雜的多層 NAT都能找到一條可用的路徑。candidate 屬性里的 type_pref 和 priority 就是這個降級策略的數(shù)值化表達(dá)。我在實際項目里體會最深的一點是不要試圖繞過標(biāo)準(zhǔn)去優(yōu)化 candidate 屬性。曾經(jīng)有團(tuán)隊為了減少候選數(shù)量手動過濾掉了所有 relay 候選結(jié)果在部分嚴(yán)格 NAT 環(huán)境下完全連不上。也有團(tuán)隊為了提高優(yōu)先級把 relay 的 type_pref 調(diào)高結(jié)果正常網(wǎng)絡(luò)下也走了中繼延遲翻倍。標(biāo)準(zhǔn)里的每一個數(shù)值都是經(jīng)過大量實踐驗證的除非你有非常明確的理由和充分的測試否則老老實實按標(biāo)準(zhǔn)來。最后分享一個小技巧在調(diào)試 ICE 問題時把雙方的 candidate 列表按 priority 排序后并排打印出來一眼就能看出配對的可能性。高優(yōu)先級的 host 對 host 如果能配上連接就是最優(yōu)的如果只能靠 relay 對 relay那就要考慮網(wǎng)絡(luò)環(huán)境是不是太苛刻了。這個簡單的對比方法幫我快速定位過很多次連接質(zhì)量問題。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九九干视频| 欧美久久婷婷| 99精品在线| 99精品热视频只有精品10| 久久中文网| 99精品视频偷拍| 极品 少妇 内射| YW无码| 五月玖玖| 超碰在线超碰| 五月婷婷五月| 色婷婷社区| 婷婷五月天色| 亚洲成人网站在线观看| 激情久久久久久久久| 99在线精品免费视频| www.99热这里精品| 久久婷婷五月综合色和| 婷婷一本和五月丁香| 亚洲AV综合在线观看| 亲子乱AV-区二区三区| 99在线热| 激情久久久久| 9久久精品视频| 另类激情中文| 亚洲午夜av| 综合伊人久久| 色播婷婷五月天| 五月天婷婷7米| 色丁香久久久| 欧美日韩一区二区三区四区| 六月丁香VA| 丁香婷婷六月天| 97人人操人人干| 绿色小导航AV| 九九99免费视频| 久热爱大香蕉在线蜜臀悦色 | 3www激情| 婷婷狠狠干| 日日操,日日爽| 91久久| 狠狠草网| 91九色欧美| 综合激情四射一theav| 中文字幕按摩做爰| 欧美性生交xXxX久久久| 99爱在线| 黄色91在线观看| 欧美婷婷精品激情| 思思久久99| 99色免费观看全部| 色热久| 国产在这里只有精品| 俺去也在线官网| 深爱五月天 开心网| 婷婷性爱无码视频| 天天色天天日| 婷香五月激情视频| 夜夜嗨一区二区三区直播内容| 另类少妇人与禽zOZZ0性伦| 91久久久久久久| 91九色在线| 影音先锋四区| 一本大道嫩草AV无码专区| 99熟女| 色播丁香| 一区无码| jiqingtaose五月天| 殴美激情综合网| www.久久爱.com| 色婷婷久久综合| 99re熱| 激情五月婷婷欧美极品| 色色99| 亚洲视频a| 久久久人妻久久久| 国产五月天欧美色| 天天综合网在线| 日本精品人妻无码77777| 日本欧美成人片AAAA| 国产精品18久久久| 91超级碰在线| 婷婷五月天成人综合网| 色婷婷小说| 99精品在线观看| 亚洲精品第一国产综合亚AV| 综合激情五月丁香| 婷婷丁香激情综合色情| 五月综合激情网| 国产精品美女久久久久AV超清 | 久久爱综合| 香蕉久久六月| 人人草人人爱手机视频看看| 精品人妻一区二区三区四区不卡在| 三级三久久线久久99久目本WW| 丁香五月亚洲综合丝袜| 99ri视频| 涩综合婷婷| 这里只有精品免费| 玖玖综合玖玖| 五月丁香婷婷激情澎湃四射| 色五月综合| 99干日日干| 小色小蛇伊人婷婷色香五月| www.丁香五月| 婷婷在线网| 色99网| 色色 亚洲| 99操| 丁香婷婷六月天| 综合五月激情| WWW色五月| 天天激情5月天亚洲| 六月丁香婷婷尤物| 欧美性生交XXXXX无码小说| 91 九色 入口| 婷婷草| 1024日韩| 九九免费视频在线| 99在线免费视频| 久久99三级在线视频| 亚洲综合视频天天精品| 91欧美| 热婷婷久| 人人摸人人澡人人| 在线看黄色| 色婷婷在线视频综合| 岛国AV网| 五月天婷婷小说| 丁香婷婷久| 伊人五月天日日夜夜久久久天天| 亚洲中文字幕AV| 免费成片在线观看| 日日夜夜狠狠| 国产在线黄色| 婷婷五月天开心网| 激情婷婷五月久久| www.婷婷五月天| 欧美在线视频免费播放| 91碰碰视频| 亚洲欧洲小视频9| 亚洲综合婷婷六月丁香五月| wuyuedingxiang| 婷婷五月天.com| 另类激情中文| 99热20| 五月激情综合网| 亚洲综合草草| 久久人妻精品| 五月丁香六月激情网| 99人人干| 色操b| 伊久大香蕉| 色综合久久88色综合天天人守婷| 丁香六月天堂| 激情丁香久久| 色碰碰视频| 成人视频在线免费播放| 激情综合五月| 丁香五月aV| 精品一区二区三区四区五区六区| 这里只有精品视频一区| 久久综合影院| 色五月婷婷五月天| 小视频久久久aaa| 日韩成人影片在线观看| 另类激情五月| 激情六月五月婷婷综合网| 色色性爱视频| 伍月婷丁香花全集| 久久久99视频| 99视频在线9| 久久久精品人妻录| 色婷婷av在线| 久久久久久久久久久久久9| 九九无码视屏| 久久久婷婷婷| 97久久精品视频| 66色在线日韩| 色情五月天首页| 日韩一级一片内射视频4K| 色5月婷婷| 天天人人人人人人人人人人人| 天天插天天| 日本久久婷| 五月天另类小说| 五月丁香狠狠爱婷婷综合| 色丁香在线视频| 白人荫道BBWBBB大荫道| 噜噜噜精品欧美成人在线观看| 香蕉综合网| 天天上天天爽| 91人人看| 91精品久久久久久久| 欧美在线干| 婷婷久久五月| 色婷婷视频在线| 久久久欧美精品sm网站| 夜夜撸日日操| 99av视频| 色播五月丁香| 日本波多野结衣视频| 五月丁香操亭亭网| 91色综合| 深夜婷婷 丁香| 激情婷婷五月基地| 26uuu青青| 色和综合网| 五月叮香啪| 亚洲av网站| 国产这里只有精品| a久久| 日本99久久| 九九视频在线观看视频6 | 婷婷五月天激情五月天| 91色婷婷综合久久中文字幕二区| 欧美日韩二区在线| 六月丁香综合| 婷婷五月天堂一本在线| 婷婷八月激情| 色色网91| 少妇大叫太大太粗太爽了A片| 天天天天天久久久久久| 色婷婷丁香五月| 九九热青草| 精品99视频| 色婷婷丁香六月| 26uuu色五月| 天天色丁香| 色婷婷五月天激情综合| 婷婷综合激情| 影音先锋男人资源站一区二区| www.婷婷五月| 成人版视频在线观看| 【乱子伦】黄色| 欲色人妻| 欧美大片免费观看| 99在线观看| 国产精品色色| 六月婷婷久久| 五月色俺婷婷| 伊人成人宗合网| 婷婷五月天黄色| 午夜微拍福利| 亚洲国产精品VA在线看黑人| 丁香六月婷婷| 五月丁香色| 亚洲美女网Va| 色在线视频网2025| WWW.色婷婷.COM| 天天干,天天舔| 激情婷婷网| 97caop| 91操碰| 欧美va在线| 婷婷五月天 偷拍| 五月天婷婷影院| 碰碰碰91| 日韩性爱无码| 黄色AAAAAAA| 国外亚洲成AV人片在线观看| 色色色com| 五月丁香啪啪激情| 99九九综合久久九九| 欧美美美女性色视频| 色欲日日躁| 人人草成人视频| www.maotanji.com| 亚洲婷婷基地| 影音先锋四区| 色婷婷综合久久久久| www.综合久久| 五月天久久综合| 狠干综合| 丁香五月777| 自拍视频99| 五月婷婷久久网| 婷婷五月欧美综合| 日本97在线观看| 国产69精品久久久久999小说| 亚洲九区| 欧美性生交XXXXX无码小说| 亚洲天天| 亚洲国产精品二二三三区| 另类图片五月天| 五月丁香啪啪啪| www激情| 丁香六月五月天| 久综合网| 成人无码髙潮喷水A片| 色五月播五月| 日韩AV无码影片| 大香蕉220| 性色做爰片在线观看WW| 久草婷婷在线| 伊人大香蕉在线视频| 99婷婷五月天激情| 玖玖色综合网| 99er6| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 九九视频这里只有精品| 99色天堂| 久久性综合| 97人人操人人插| 超碰无码老师| 婷婷五月激情图片| 新99思思视频| 五月婷婷影| 婷婷五月天播播| 五月久久婷婷天堂视频| 噜噜在线| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 99爱在线| 五月婷婷六月少妇激情| 92久久| 五月天综合视频| 色婷婷视频| 久热一区| 九九精品热播| 草美女在线观看视频在线播放| 插插插色综合网| 综合六月激情婷婷| www.91在线观看| 思思热99热| 婷婷丁香五月综合| 色色五月丁香婷婷综合| 婷婷五月69| 伊人丁香花综合影院| 丁香久久| 国产精品一区在线观看你懂的| 伊人爱爱日本| 五月丁香六月婷综合成人综合| 国产日韩欧美性生活| 天天视频亚洲| 色99视频| 久久九九国产| 艾小青av| 婷婷爱五月天| 丁香五月激情月| 丁香五月激情六月欧亚激情综合导航 | 干亚洲天堂| 夜夜爽天操| 99ri在线| 影音先锋AV男人站| 91精品熟女| 激情五月天 婷婷| 激情第四色| 在线综合亚洲欧美65| 97色热| 99热精品一| 9热视频在线观看| 午夜天堂一区人妻| 五月天激情影院| site:publishdd.com| 五月天婷婷操逼视频| 粉嫩AV久久一区二区三区| 碰碰碰91| 激情婷婷五月基地| 国产精产国品一二三在观看| 久久婷婷综合网| 色五婷婷| 4399无码视频| 久久这里在精品视频| 丁香五月激情综合| 婷婷五月综合丁香久久| 五月婷婷熟女| 日本综合久久| 婷色五月| 激情AV在线| 国产特黄色精品一区二区三区精品无广告| 九九99视频精品| 91九色视频在线观看| 色吧网91| 综合热无码| 97久久视频| 婷婷的色色五月天| www.婷婷五月| 免费99色| 天天爽,夜夜爽| 青青久久五月| 五月天婷婷伊人| 久色激情| 婷婷六月丁香在线| 思思热在线视频精品| 婷婷五月精品中文字幕| 婷婷丁香五月综合免费视频百花| 亚洲a片免费观看| 五月丁香激情综合欧美| 欧美成人AAA片一区国产精品| 大香蕉综合| 天天综合色丁香| 婷婷久久女人| 婷婷激情小说| 五月婷婷婷| 丁香五月六月婷婷怡红院| 成人国产欧美大片一区| 美女100%露全身无挡网站| AV大香蕉| 性色欲情 网站| 色婷| 成人五月天在线观看| 激情婷婷久久| 91一起操| 日韩人妻无码专区| 激情99。| 日韩一区二区A片免费观看| 婷婷九月激情| 成人做爰黄A片免费看直播室男男| 夜夜人妻五月天| av色色国产| 97干在线视频| 亚洲中文乱字字幕在线永久| 综合激情网五月激情| 天天综合精品| 一本久久亚洲五月婷婷| 蜜桃婷婷丁香综合久久开心亚洲| 欧美成人精品老美女噜噜噜| 亚洲色五月婷婷| 人人摸人人摸| 亚洲婷婷91丁香| 亚洲激情四射| 国产精品噜噜在线视频| 91久女| 亚洲AV色婷婷人禽五月天| 碰久久精品w| 日韩五月丁香| 久久婷婷91| 99免费| 99热思思在线观看| 亚洲精品第一国产综合亚AV | 大香蕉大香蕉在线影院| 亚洲精品无码久久| 久久丁香五月婷婷激情综合网| 综合色色网| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 青柠影视免费高清电视剧| 婷婷六月丁香激情综合| 丁香狠狠色婷婷久久无码视频| 久久五月天激情| 九九色之九九色之88| 97碰久久| 99只有这里是精品| 五月天婷婷情色| www夜夜操| 五月婷婷深爱六月| 婷婷五月天综合久久| 婷婷五月综合网| 伊人久久婷婷五月天激情四射| 影音先锋一区二区资源站| 狠狠色成人影片| 色碰碰视频| 亚洲精品又粗又大又爽A片| www.亭亭五月天| 色色色综合色| 2025超碰| 丁香六月婷婷开心| 婷婷五月天成人影片| 久激情| 亚洲热视频| 色噜综| 26.uuu丁香五月婷婷| 婷婷五月天视频| 丁香五月无码| 精品视频这里只有精品| 久久五月情| 狠狠干,狠狠操| 色噜噜婷婷| 99自拍视频在线| 天天插操| 狠狠色噜噜狠狠狠888| 激情综合六月| 美女亚洲五月丁香| 91碰超| 国产一级视频a| 久久色婷婷| 激情综合五月色丁香婷婷| 99热最新精品| 99啪视频在线观看| 国产伦亲子伦亲子视频观看| 五月天婷婷基地综合网| 综合五月激情| 99热这是里只有精品| 色婷婷综合丁香五月天| 97精品人人A片免费看| 91婷婷色| 激情综合五月婷婷六月丁香| 密臀久久| 九九热亚洲中文在线观看免费| 9999综合99综合人| 六月婷婷综合网2| 亚洲国产精品VA在线看黑人| 五月婷婷九九热| 亚洲色综久久五月| 天天草狠狠擦| 五月婷婷与六月丁香图片激情| 97五月综合网| 狠狠色婷| 人操综合| 五月天丁香色色| 五月丁香色情| 婷婷五月天激情文学| 99精品综合| 秋霞影音91人妻久久| 色情·com| 一逼色综合| 99热丁香| 婷婷七月丁香色色| 久xxxx| 99热免费18| 91无码一区人妻A片蜜| 日本综合色图| 激情综合五月| 国产亚洲精品久久久久久牛牛| 人人操日| 久热伊人| 狠狠干综合| 99热主页日本| 女婷久久| 狠狠色婷婷7777久| 久久亚洲婷婷| 日本色婷婷| 丁香激情五月| 激情久久肏屄视频| 操97| 久久丁香五月天| 亚洲第一成人无码A片| 五月婷婷激情网| 精品人妻久久久久久| 色婷婷视频在线| 五月婷婷丁香社区| 丁香在线视频| 草一草avb| 久久婷丁香五月| www.五月婷婷.com| 丁香桃色网| 婷婷爱五月| 天天爽夜夜操| 香蕉婷婷五月| 九九精品少妇| 在线另类视频| 日韩欧美一区二区三区四区| 激情丁香五月婷| 狠狠五月天婷婷| 丁香五月天五码婷婷| 狠狠操狠狠狠| 99热这里只有精品4| 99精品免费视频| 九九色播五月丁香| 欧洲色| 色偷偷AV亚洲男人的天堂| 无码视频国内精品久久久| 玖玖99婷婷| 色综合色综合色综合| 91色干| av在线观看免费| 激情 五月 婷婷 丁香| 亚州激情在线视频| 亚洲另类噜噜| 婷婷97碰碰| 在线99热| 丁香五月欧美婷婷| 色噜噜狠狠色综合网| 天天干,天天舔| 婷婷激情鹿城五月天| 99热成人在线| 六月婷婷av| 九九热最新| 精品自拍99| 婷婷狠狠18禁久久| 精品综合久久久久久五月天| 99精品视频网站| 亚洲啪啪视频| 色色欧美。| 丁香熟女乱| 综合网色| 激情五月丁香六月婷婷| 超碰免费人妻| 超碰69天堂| 欧美丁香五月97色| 婷婷五月综合激情小说| 九九综合| 色五月婷婷777| 五月婷婷九九久久| 婷婷色天香| jiZZdr| 久久久中文| 狠狠久久婷| 久久久久久xxxxx| 丁香5月婷婷| 婷婷五月天综合网| 成人性生活免费观看。| 99热r| 天天做天天爱天天做| 五月激情婷婷在线| 亚洲乱啪| 五月婷婷综合色拍| 日韩成人综合网| 丁香五月亚洲综合丝袜| 国产人妻操逼| 日本五月天网站| 少妇大叫太大太粗太爽了A片| 人人妻人人澡人人爽| 99热国产国产| 51XX午夜影福利| 日韩在线视频9色| 久色网址| 天天操天天操天天操天天操天天操| 久色| 99热精品观看| 五月婷婷婷婷网| 99精品成人无码A片观看金桔| 人人叉久| 五月丁香六月婷婷的女人| 亚洲无码色| 欧洲精品爱爱| 婷婷.com| 九月丁香八月婷婷加勒比| 婷婷色婷婷| 五月丁香六月成人| 丁香花大香蕉婷婷综合| 精品国产va久久久久久久| 伊人久久大香线蕉av最新| 日韩国产AV播放| 综合久色五月| 激情色色| 最新日本A片| 伊人久久大香网| www.99久久久久99| 天天做天天爱天天做| 人妻熟人中文字幕一区二区 | 色婷婷综合久色AV五色最新| 中文字幕成人| 九九热精品视频在线观看| 日韩av免费版| 激情综合五月色丁香婷婷| 图片区 小说区 区 亚洲五月 | 婷婷色五月丁香六月欧美啪| 日本九九视频| 五月综合视频| 97超级操操| 久久五月天色| 亚洲另类AV| 色婷婷视频综合| WWW嗯嗯啊啊啊啊| 五月丁香六月婷婷中文版| 激情综合网激情五月天| 秋霞电影一级黄| 97天堂| www色色com| 人人操AV| 午夜天堂啪啪| 五月婷婷啪啪| 精品色情一区二区三区四区| 五月天婷婷基地| 爱之国产色情综合| 激情第四色| www.久久五月天.com| 年轻的妺妺伦理HD中文| 99热这里只有精品69| 久热一区| 五月婷婷丁香瑟瑟视频| 婷婷色情五月| 色噜噜狠狠色综合成人网| 99大香蕉| 五月天成人免费视频| 天天开心婷婷丁香五月| 高清一区二区三区日本久| 欧美婷婷五月无砖| A片天天| 91婷婷伊人牛牛| 天天干天天做| 国产97色在线 | 日韩| 婷婷六月丁香色| 色级停停| 在线综合网| 日本99在线视频| 色播五月丁香| 一二三区视频韩国| 五月停亭久久电影| 9久热免费视频99| 五月婷婷综合激情| 7EzOBIhNq85TO| 婷婷金品综合视频| 欧美久久婷婷| 午夜成人片400| 丁香五月五月婷婷五月天激情四射| 任你搞在线观看视频| 中文字幕AV网址| 五月天色婷好好| 99A片| 色色色com| a在线观看| www.99热国产| 日本爆乳片手机在线播放| 五月天社区| 99噜噜噜在线播放| 五月婷婷啪啪| 亚洲国产色婷婷| 亚韩精品视频1区| 26UUU欧美激情一区二区| 另类的婷婷| 九九色黄色| 亚洲网视屏| 天天舔天天| 99九九玖玖| 国产无遮挡又黄又爽免费网站| 六月激情婷婷| Av性爱网| 五月婷婷久久久久| 免费视频WWW在线观看网站| 婷婷淫淫狠狠六月| 五月丁香六月婷婷,婷| 婷婷狠狠爱| 久久曰曰| 伊人玖玖精品| 69精品无码一区二区三区| 亚洲网视屏| 夜夜撸日日骑| 五月丁香六月综合情在线观看| 超碰免费观看| 玖玖色综合| 操逼巨乳91| 色色色色色色色色色999| 丁香婷婷五月综合影院| 婷婷五月激情欧美大胆视频| 青青草激情网| 日韩一级网站| 婷婷五月天干干| 婷婷6月综合网| 99ri视频在线播放| 97色精品视频 | 噜噜噜久久| 五月婷婷啪啪综合网| 色婷婷婷综合五月天| 伊人激情综合网| 色yeye色综合| 亚洲日韩成人三级av| 五月丁香婷婷中文| 人人爱人人草| 99小视频网站| 五月天色婷婷小说| 国产精品久久久99视频| 色九月婷婷综合| 人妻在线网站| 亚洲狠9| 亚洲日本韩国| 超碰AV在线| 九九综合九九| 91狠狠色色丁香婷婷综合久久| 成人综合伍月天| 天天噪夜夜爽| 婷婷丁香成人在线视频| 成人五月天在线观看| 另类激情五月| 大香蕉久久草| www.久久久久久| 九九成年视频| 99热在线极品极品| 狠狠久久婷五月综合色| 亚洲国产精品SUV| 综合五月天| 色吧五月婷婷| 国产超碰在线| 五月婷婷之综合激情| 丁香五月婷婷激情网| 99热精品在线| 久9热视频| 91大屁股精品| 国产精品国产| 亚洲 视频 导航 一区| 婷婷五月在线视频| www.婷婷.com| 色五月色图| 婷婷中文无码| 一区二区三区视频| 激情婷婷| 色婷久久| 国产做A爰片毛片A片美国| 色色99| 欧美性色A片免费免费观看的| 五月开心网| 最近中文字幕2019视频1| 天天做天天爱天天高潮| 亚洲日本韩国| 九色视频九色九色91jiuseshipin| 高清资源站日A美A欧亚…| 91男同视频| 日韩aⅴ视频| 亚洲不卡123| 婷婷自拍| 色三级色三级| 婷婷欧美偷拍综合| 天天干狠狠操| 丁香五月中文字幕久色| www.99热视频| 色五月婷婷av| 久久xxxx| 色婷婷很很丝袜| 日韩久久日| 色五月婷婷AV| 99精品久久| 色五月av伊人| 五月丁香龟婷婷| 天堂综合久久| 天天日夜夜| 操逼五月婷婷| 大香蕉人人网| 五月丁香影院| 亚洲99视频| 26uuu亚洲| 超碰AV在线| 一本大道嫩草AV无码专区| 99A片| 婷婷久久精品| 综合久久婷婷五月丁香| 色性五月天| 丁香 久久| 五月激情天| 欧美性爱专区| 激情伊人| 六月丁香五月激情网| 色播五月婷婷| 婷婷五月激情中文字幕| 91干婷婷| 亚洲啪啪视频| 国产性色蜜乳| 国产精品色婷婷久久久精品| 另类小说五月天| av一区免费看| 这里只有精品免费在线视频| 丁香六月爱综合| 综合伊人久久| 无码人妻丰满熟妇奶水区码| 99视频在线观看视频| 91精品久久久久久综合五月天| 日韩婷婷五月天| 色婷婷六月天| 香蕉人妻AV久久久久天天| 国产综合81p| 久久婷婷五月草视频在线播放| 九九视频这里只有精品| 日本色婷婷| 欧美男女婷婷| 天天在线天天综合网色| 婷婷娌伦网| 久久精品一区二区三区四区| 天天肏高清在线| 亚洲 在线 性爱| 色色五月天网站| 日韩一级淫乱片一区二区三区| 色综合com| www色婷婷com| 精品一二三区久久AAA片| 久久宗合影| 天天综合永久| 99色性爰网络| 婷色视频| 日日操,夜夜撸| 在线观看中文字幕| 日本97久久久精品| 6080av| 成人丁香五月| 婷婷六月综合| 五月婷婷丁香在线| 久久久亚洲精品一区二区三区浴池 | 99在线视频精品| 婷婷五月天偷拍| 极品少妇XXXX精品少妇偷拍 | 婷婷人人操| 禁片二区| 色青青视频| www.色婷婷| 五月婷婷色影院| 激情5月婷婷| 在线播放人妻| 五月天婷五月天综合网在线观| 亚洲综合视频在线| 亚洲热久| 五月丁香在线婷婷美女| 亚洲日韩乱码一区二区三区四区| 婷婷丁香六月| 色五月超碰| 五月天激情图片网| 亚洲人成人五月天| 在线中文AV| 天天综合干| 91操操| 可以免费观看的av网址| 亚洲第一黄网| www.久久爱.com| 婷婷婷婷婷婷婷婷| 任你干线上免费视频有3吗| 色五月婷婷、老熟女| 超碰在线看| 在线观看熟女少妇| 丁香五月天色婷婷| 亚洲色综合| 大香蕉久艹| 色婷婷综合综合网| 色色综合激情| 免费97碰碰| 久久丁香五月天| 五月婷婷色色网址| 99爱视频免费| 亚洲色基地| 色综合99| 超碰在线综合| 性天堂久久| 九九99热| 色色五月天网站| 九色91国产| 中文字幕婷婷| 婷婷亚洲天堂| 激情影院丁香五月| 色情五月丁香婷婷网| 婷婷操逼| 五月天色婷婷av| 精品9197碰| 五月天婷a| 99在线免费视频播放| 狠狠色综合精品视频在线| 久热久re| www.五月天色色.com| 97久久久久| 丁香五月影院| 中国AV性爱观看| 我淫我色婷婷五月天激情四射| 亚洲最大五月天成人网| 久久婷婷六月综合综合| 欧美日比视频| 色婷婷丁香五月| 99热久久这里只有精品| 深爱五月亚洲| 日韩啪图| 永久免费视频| 婷婷欧美偷拍综合| 97在线观看| 激情五月天无人视频在线| 色五月婷婷自拍| 色色五月天婷婷| 千人斩操逼| 五月丁香六月停停停| 欧美影院| 激情五月黄色小说| se色婷婷视频| 人人爱人人草| 激情综合网五月在线播放| 久久久99精品免费观看| 人人爱国产| 国产免费AV网站| 国产成人精品123区免费视频| 亚洲性爱日韩无码| www,超碰| 色色五月婷| 五月婷婷丁香综合网| 天天操天天曰天天射| 深爱激情六月天| 99久久思思| 婷婷丁香五月激情密臀av| 另类视频一区| 婷婷网五月| 亚洲激情综| 国外亚洲成AV人片在线观看| 日韩AAAAA| 9er热在线精品视频| 日本www免费九九| 婷婷色啪| 丁香五月丁香伊人| 九九大香蕉黄色影院| 九月色婷婷| 丁香五月六月综合激情| 精品五月丁香| 婷婷五月激情综合啪啪| 激情小说五月天| 婷婷激情社区| 色情五月丁香婷婷网| 丁香五月久久社区| 色色婷婷丁香| 色无码| 日韩婷婷五月天| 五月丁香色综合| 免费三级黄色| 五月丁香综合啪啪| 日本欧美国产| 91综合在线| 区啪精品| 五月综合激情婷婷六月色窝| 婷婷五月天小说| 色高清无码视频| 亚洲永久免费| 青青草原爱爱网| 极品少妇XXXX精品少妇偷拍| 97色97干| 色色COm| 侠女刀之记忆电影在线看免费| 久激情| 日本黄色一级| 五月天激情国产综合婷婷| 最新丁香六月婷婷| 欧美日韩大黄| 五月婷婷三级| 另类丁香综合| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 玖色色综合| 日本女色人人| 国产精品美女| 日韩人妻在线观看| 高清无码视频网址| 天天噪夜夜爽| 丁香六月婷婷综合色| 久久久性爱网| 天天做天天爱| 五月天婷婷丁香社区| 激情婷婷五六月天| 五月天久久久| 9精品视频在线| 国产超碰av| 日韩人妻AV在线| 大香蕉AV在线| 岛国av网站| 激情六月丁香| 欧美精品18| 激情丁香六月| 五月婷婷九月婷婷九月婷婷| 欧美色骚婷婷五月天| 99re这里只有精品99| 五月婷婷人人人操| 亚洲AV免费国产电影| 日本波多野结衣视频| 国产婷婷色综合AV蜜臀AV | 99在线免费视频| 日韩九九| 久久婷婷五月天懂色| 五月丁香花视频| 成人丁香| 伊人婷婷五月天| 婷婷五月天播播| 激情五月天小说| www.亭亭五月天| 热99精品视频| 五月天中文网| 五月婷婷丁香五月婷婷| 襙比视频| 色久五月| 99re思思精品在线观看| 校园激情 亚洲| 思思热热久久| 狠狠色婷婷六月激情网| www.六月丁香看AV| 天天爽天天摸| 另类五月激情| 淑女丝袜bi操逼123| 五月亭亭性| 色五月婷婷一二| 久操97| 亚洲精品国产setv| 超碰免费人妻| 九九av| 日本99久久| 色一情一乱一伦一区二区三区| 97精品人人A片免费看| 9国产在线视频| 超碰婷婷五月| 玖玖综合玖玖| 在线观看亚洲视频影院| 色综合久久综合中文综合网| 另类图片天天影视在线观看| 99er这里只有精品| 欧美激情Va| 婷婷五月天激情综合网| 九九99一区| 在线视频激情网站| 久久99久久久久久| 97人人干人人操| 人与禽A片啪啪| 婷婷酒色网| 激情五月婷婷视频一区二区三区| 丁香 久久| 这里只有精品亚洲| 久草五月天电影网| 日日操天天| 丁香六月激情四射| 丁香激情网| 九九爱激情| 丁香五月激情综合婷综| Av大香蕉| 天天日夜夜夜操操操操| 深爱婷婷丁香五月激情| 91碰碰视频| 成人电影一区| 六月丁香婷婷爱| 色婷婷五月综合在线| 婷婷五月综合色中文字幕| 九玖欧洲亚洲| 丁香综合婷婷五月天| 激情久久久| 五月激情丁香啪啪| 五月丁香成年黄色| 九九色中文| 人人操A| 欧美va在线观看| 九九这里只有精品| 亚洲人成网站999综合| 日本色图综合| 甈吧vv| 香蕉婷婷色五月| 天天插天天插| 综合激情sV| 久久色五月天| 激情五月婷婷丁香| 五月丁香人妻| 天天操天天插天天射| 综合色播| www,av好吊操| 五月丁香婷婷基地| 香蕉99网| 新久久五月天激情| 99热这里只有精彩| 婷婷五月激情小说| 操逼五月天| 99热这里只有精品26| 91精品综合久久久久久五月丁香| 欧美人妻一区二区| 超级碰碰碰久久网站| 五月网激情| 这里只有精彩视频| 激情又色又爽又黄的A片| 香蕉乱插| 热热久久久久久久久| 日日干天天射| 另类婷婷五月天啪帕帕| 99热 这里只有精品 国产 日韩| 午夜婷婷六月天| 五月天com| 久久综合网桃花| 5月丁香综合网| 97碰碰视频在线观看| 亚洲AV成人精品网站在线播放| 丁香五月婷婷激情小说| jiZZdr| 91干婷婷| 激情文学天天| 久久综合丁香| www.com在线操视频免费观看| 插插插丁香五月婷婷| 一月婷婷色色| 天堂网操| AV 3P| 色99在线| 婷婷精品在线| 五月亭亭狠狠| 97干在线视频精品店| 丁香综合伊人| 天天色图| 欧美激情伊人| 色99热| yazhoujiqingav| 欧美成人无码一区二区三区| 五月综合丁香婷婷| 激情五月最新网址| 6080av| 五月天色五月| 亚洲激情亚洲激情| 久久作爱| 日本操片| 性色五月天| 1024在线视频| 婷婷丁香综合成人| 亚洲色无码A片一区二区麻豆| 五月色综合网欧美网| 天天噜日日噜综合无码| 4399欧美另类视频| 色丁香影院| 色涩视频久久| 丁香五月激情视频在线| 五月天激情国产综合婷婷婷 | 婷婷激情网五月天| 内射人妻视频国内| www色婷婷久久综合久色| 日韩另类| 丁香五月婷婷亚洲综合精品| www.99热精品| 欧美色色色色色色| 人人播| av免费在线网站| 停婷丁五月在线| 亚洲成人中文字幕| 日韩无码色色| 狠干综合| 人人摸人人| 亚洲AV无码影院| 饮料下药迷倒漂亮女同事强干| AV网在线观看| 夜夜干夜夜操| 日韩 mm 不卡| 五月激情六月丁香| 亚洲 欧洲 国产 伦综合| 亚洲中文乱字字幕在线永久| 综合精品啪啪| 青草五月天| 噜噜狠狠色综合久| 亚洲精品在线视频| 婷婷射丁香| 婷婷色五月天在线观看| 五月丁香爱婷婷深深| 91丨九色丨国产打屁股| 日日操夜夜爽天天天| 97超碰免费超级在线观看| 色丁香五月综合网| 亚洲国产精品二二三三区 | 99久久亚洲精品视频| 综合激情婷婷| 五月婷丁香花| 精品一二三区久久AAA片| 天天狠狠色噜噜| 色9999综合久久| 丁香五月婷婷AV在线| 五月天激情四射网站| 草草视频91| 欧美激情丁香五月天久久婷婷一区| 强辱丰满人妻HD中文字幕| 五月天色婷婷基地| 丁香五月婷婷欧美成人色图| 成人在线综合| 狠狠干五月天婷婷网| 无码激情AAAAA片-区区| 开心色播色五月婷婷| 久re在线| 婷婷五月电影院| 国内婷婷丁香社区在线播放| 激情九月丁香婷婷| 五月婷婷综合在线视频小说| 日本丁香久在线| 色五月婷婷久久| 色五月婷婷开心| 色婷婷综合电影| 色色婷婷丁香| 五月婷婷综合激情| 日本wwww在线| 色婷| 婷婷 激情 五月| 超碰99成人在线| 婷婷综合激情| 少妇口诉沐足视频播放器网址| 婷婷五月超碰| 色欲久久综合| 天天模,夜夜模夜夜爽| 一级性感毛片| 综合色色色| 婷婷五月天BBw| 综合五月婷婷| 毛片九九九九九九九九18| 九九婷婷综合| 欧美毛片www| 9 99免费视频| 大地9中文在线观看免费高清| 五月婷婷丁香俺日污视频| 色五月婷婷中文字幕| 五月伊人91| 五月丁香六月婷综合成人综合| 天天艹天天色| 97人凄人人操人人爽| 香蕉AV777XXX色综合一区| 激情五月天综合网| 久久九九99字幕| 99九九在线精品热动漫|