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
返回資訊列表
成年人丁香五月| 91成人电影| 色婷婷五月天亚洲| 丁香婷婷六月天| 91高潮喷水久久久久久久久| 五月丁香婷婷激情在线| 99久久婷婷国产综合精品草原| 青青999| 亚洲综合干| 久婷五月| 久久综合无| 婷婷五月天在线观看免费 | 国产无套精品一区二区| 午夜爱插插| 婷婷激情社区| 香蕉曰比| 五月婷综合网| 欧类av怡春院| 亚洲激情亚洲激情 | 9操在线| 99re8这里只有精品99re8热视频| 五月婷婷玖玖综合玖玖爱| 东京热伊人| 五月天婷婷激情小说电影| 任你躁XXXXX麻豆精品| 亚州精品色情无码A片| 欧美日韩成人高清在线| 秋霞丝袜啪啪啪| 色综合综合网| 五月精品99综合| 日韩婷婷五月天| 五月天亭亭俺也| 中文AV在线观看| 丁香六月婷婷一区二区三区| 黄桃AV无码免费一区二区三区| 入口五月婷婷六月香| 激情六月天婷婷| 五月丁香婷婷激情四射迷人| 丁香六月婷婷综合欧美| 婷婷六月丁综合| 第四色婷婷五月| 丁香五月成人| 丁香五月天婷婷久久| 99啪啪视频| 久久婷婷五月天懂色| 色色五月天婷婷丁香| 国产成人亚洲综合亚洲| 夜夜操天天干| 人人超碰99| 人妻尝试久久久久久久久久久久| 狠狠爱深色婷婷综合| 婷色成人| 国产黄色在线观看| 无码人妻一区二区三区免费九色| 91精选国| 99热6色| 草榴视频黄色网| 狠狠狠狠操| 欧美成人AAA片一区国产精品| 青青夜夜狠狠夜夜狠狠| 色五月婷婷网| 色婷五月丁香久亚洲| 亚洲精品又粗又大又爽A片| 婷婷欧美偷拍综合| 99精品偷自拍| 丁香六月无码| 91操在线观看| 久久性操| 99热乎| 婷婷色影院| 99re思思热在线视频| 激情綜合W W W,激情五月天| site:wpjngj.com| 涩五月婷婷| www.sd-xiangsu.cpm| 99视频精品| 激情另类综合| 日本久久性| 大香蕉人人人| 97久久人人操| 天天 青草 制服丝袜 在线| 九月婷婷久久| 青青草视频福利| 日本综合九九| 六月激情综合| 久久久18| 超碰v| 欧美97p| 青青久久五月| 伊人激情影院| www.91操| 国产伦亲子伦亲子视频观看| 99久久精品视频女神1| 天天久久婷婷| 综合激情在线| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 免费无码毛片一区二区A片| 亚洲AV激情五月综合网| 激情五月四色| 五月天色区| 蜜臀av粉嫩av懂色av| 成人国产综合| 色国产五月| 97超碰,人人舔,人人操,人人摸| 狠狠干五码| 大鸡巴伊人网| 中文AV在线播放| 九九国产精视频| 婷婷色综合| 国产精品色一哟哟| 9色免费网| 亚洲成人中心| 六月色日韩| 91人久| 91精品久久久久久综合五月天| 五月丁香亭亭AV女优| w婷婷五月婷婷w| 五月6香色婷婷视频| 一点色成人网| av色色国产| 五月丁香婷婷色色色| 色五月婷婷影院| 玖玖伦理电影| 操碰99在线视频观看| 国产.亚洲.欧洲视频在线| 久操大香蕉| 婷婷综合五月天| 99视频一区| 色婷婷影| 欧美黑人巨大性生话| 婷婷丁香五月综合激情小说| 婷婷伊人久久| av大片在线| 丰满熟女人妻一区二区三| 九久久精品视频99| 亚州美女| 26uuu欧美| 色亚洲无码| 狠狠CAO日日穞夜夜穞AV| 午夜色丁香| 精品女人九九九| 久久97| www.五月天社区| 亚州操操| 五月桃花网综合| 殴美综合激情五月天免费视频| a色色色色色| 熟女强人妻一区二区三区四区无| 99热99久久| 五月停停直播| 大香蕉狼人久久| 天天综合网站| 天天爽天天操| 清色五月天| g00d人体西西| 国产午夜精品一区二区三区四区| 97人人看| 天天爽夜夜爽天天爽夜夜爽| 久久婷婷视频| 9 1 A v久久久| 狠狠干五月天| 久久九九免费视频| 婷婷爱综合| 色婷婷AⅤ| 9久久精品| 婷婷五月天在线观看免费| 色婷婷久久久| 五月婷天堂视频| 天天噜噜| 激情综合激情综合| 婷婷五月激情丁香激情| 色欲婷婷五月天| 99视频综合| 九色视频91疯狂| 激情五月丁香激情综合网 | 五月丁香婷婷激情四射迷人| 99在线观看精品视频| 激情六月一二| 婷五月天在线草| 4399伦理午夜| 日本44久久在线| 久久激情视频| 五月丁香成人网| 亚洲熟妇AV综合网五月丁香伊人| 4399在线日本A片| 九日日夜夜69| 深爱激情五月天| 婷婷丁香六月| 色五月天堂| 亚洲丁香花五月丁香花| 亚洲激情网| 久久九九国产精品怡红院| 婷婷黄色五月天在线视频| 五月天婷婷社区久久综合| j五月香在线| 五月丁香777| 色色性爱视频| 五月丁香久久丝袜啪啪| 久久成人性爱| 亚洲综合成人网| 97在线天堂| 五月婷婷基地| 日本一道久久| 久热免费视频| 蜜乳9188| 五月婷婷深深爱| 五月刺激丁香月综合| 九九在线视频| 五月婷婷AV| 99热亚洲精品| 黄页大全十八禁| 五月天婷婷色色| 哇嘎成人久久| 亚洲视频在线观看区| 中文成人在线| 婷婷五月天影院| www.91在线观看| 99精品22| 国际国外精品欧洲南美洲专区无码不卡| 激情九月婷婷| 99黄色在线视频精品熟女| 九九色黄色| 久久久国产精品黄毛片| 综合色播| 五月天另类视频| 丁香久月| 五月丁香婷婷免费视频| 综合久久六月| 欧美激情综合色综合色| tingtingzonghewang| 五月天激情综合网站| 日良久久| 综合激情在线视频| 色偷偷色婷婷| 五月婷婷成人| 天堂综合久| 超碰在线观看三级片| 久久五月天婷婷| 91久久婷婷| 激情亚洲婷婷| 婷婷五月丁香欧洲| 99成人| 五月丁香六月综合激情无码软件亮点| 玖玖资源站视频| 91啪级电影| 婷婷五月天在线综合导航| www99热| 影音先锋毛片网站| 六月色播| 色色免费网站| 五月丁香啪啪啪综合网| 日韩成人无码人妻| 亚洲第一黄网| 日韩成人电影AV| 久久婷婷五月综合色奶水99啪| 激情婷婷九月| 久久3p| 操逼三区| -91九色大屁股| 九月婷婷色色| 五月婷婷色影院| 狠狠爱婷婷| 色综合偷拍| 久久婷婷综合拍| WWW、日本色丁香、co m| 婷婷碰碰| 另类国产欧美视频| 伊人九九九久| 国产精品岛国片在线观看免费| 婷婷五月在线| 人妻中文av| 9热在线视频| 丁香五月97视频| 五月天色欧美| 色蜜婷婷| 人人97碰| 99视频色在线观看| 五月丁香激情五月天| 欧美在线骚货| 99热在线这里只有精品| 天天爽夜夜爽天天爽夜夜爽| 无码人妻一区| 国产精品国产| 国产免费一区二区在线A片视频| 婷婷久久亚洲| 五月婷在线观看| 久久这里只有精品99| 丁香五月偷拍| 99在线精品免费视频| 91打屁股免费看| 五月天大香蕉av| 欧美性爱丁香五月| 久热re在线视频| 丁香婷婷超碰| 久久综合性| 五月五婷婷网| 婷婷开心青青草| 激情五月com| 激情五月天色婷婷| 噜噜在线| 婷婷丁香五月亚洲| 欧美性生交XXXXX无码小说| 狠狠CAO日日穞夜夜穞AV | 色情综合网| 天天操婷婷| 九九这里只有精品| 99色综合久久| 婷婷色色宗合网| 97碰在线免费观看| 综合色色婷婷| 婷婷5月天av| 天天擼久久擼在线| 综合图片色色| 久久综合丁香激情五月| 99ER热精品视频| 五月天色软件| 一本色道久久88加勒比—| 成人国产综合| 色欲丁香久久| 五月色综合网| 99精品在线播放| 五月婷婷综合在线| 日本wwww在线| 亚州操操| 六月色婷婷欧美| av在线色五月丁香婷区久| 婷婷操婷婷干婷婷射| 亚洲 视频 导航 一区| 深爱激情综合网| 99久久国产宗和精品1上映| 六月丁香AV| 亚洲色激情| 久久这里只有国产| 深爱婷婷丁香五月激情| 激情丁香婷婷| Blackedraw视频一区二区| 中文在线视频久9| 丁香婷婷五月天激情四射| xxxx五月| 天天干天干| 婷综合| 99国产精品白浆在线观看免费| 丁香五月色激情| 9精品视频在线观看| 免费视频舔| 五月综合六月婷婷| www99精品| 欧美日韩中文国产一区发布| 97人人操人人操人人操人人| 开心婷婷五月天综合| 开心五月婷婷激情网| 草五月| 99热综合| 91热久| 色综合色| 六月丁AV| 另类小说五月天| 97婷婷五月| 中文字幕不卡+婷婷五月| 五月天国产成人| 色99欧洲色19| 九九热在线视频观看| 五月丁香婷婷欧美色图视频五月丁香777电影 | 伊人激情综合网| 国产成人精品一区二三区熟女在线| 伊人影院久久网| 99色激| 99视频只有这里精品| 六月丁香久久| 五月天天综合网色婷婷| 久久这里只有精品5| 婷婷五月深爱五月| 激情五月天社区| 九 九九九AV| 激情视频婷婷五月花| 婷婷五月天成人综合网| 五月叮香啪| 天堂网亚洲色图| 99,色| 五月丁香婷婷激情视频| 婷婷五月天伊人| 国产44页| 亚洲色小说在线综合| 91色逼| AⅤ网站在线看| 99热99久久| 欧美97p| 成人AV在线电影| 激情综合文学| 九九99视频精品| 五月婷婷视频在线观看| 搡BBBB搡BBB搡18| 五月天丁香久久| 天天透天天摸天天舔| 天天肏夜夜肏| 99热99草97| 天天插夜夜爽| 色情五月婷婷| 99人人操人人操人人精| 五月天黄色激情小说| 亚洲99热| 国产精品人妻在线网址| 五月花丁香婷婷| 99精品色| 2017狠狠干| 丁香五月婷婷综合网| 五月天综合| 最新日韩久热免费视频看看| 五月激情基地| 久久99综合| 日韩在线观看亚洲| 五月天,激情四射,婷婷频道| 中文字幕丰满孑伦无码专区| 91丨九色丨东北熟女| 99热这里只有精品3| 国产成人片| 伊人婷婷大香蕉| 婷婷五月天六点丁香五月| 五月天婷婷基地| 成人婷99最新| 五月亭亭开心网| 97久久婷婷色| 五月丁香婷色| 久久婷婷成人综合色怡春院| 14色综合婷婷| 亚洲成人五月| 以及AA大片看看| 久热这里只有精品在线观看 | 99久re热视频精品98| 99热超| 伊人网色婷婷五月天| 99热婷婷| 久综合网| 五月婷婷熟女| 丁香六月婷婷久久综合| 97碰碰视频在线观看| 久久伊人五月天| 久久婷婷五月综合色丁香花| 99热这里只有精品13| 久久久久久久97| 婷婷综合日本| 99爱视频在线播放| 日韩不卡123| 六月色色综合| 丁香五月偷拍| 色色综合色视频| 丁香激情网| 激情亭亭五月| 夜夜谢天天干| 99在线综合视频| 激情网婷婷婷| 久9热视频在线| 色97综合婷婷天天色| www.minyis.com【JT】实力收量可预付QQ2101460746| 激情宗合 激情宗合| 99er热精品视频| 91久女| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ| 深爱婷婷丁香五月激情| 日日夜夜亚洲一区| 亚洲人妻五月丁香婷婷| 久久婷青青草原| 99热大片| 激情性爱五月天网页| 丁香伊人激情| AA片在线观看视频在线播放| 久久五月六月| 五月亭亭开心网| av中文在线| VA色婷婷| 爱射综合| 九九热最新地址| 色婷婷小说| 亚洲激情网| 操97| 亚洲色热| 国产精品色色666| 色五月婷婷久久| 丁香五月婷婷久久综合激情网| 人妻22p| 亚洲超碰在线| 久热这里| 婷婷色五月天第7色| 最近中文字幕大全免费版在线| 久久99激情| 激情六月婷婷| 五月丁香六月婷婷中文版| 内射人妻视频国内| 亚洲精品久久久久久久久久吃药 | 8090在线影视少妇| 6080av| 2025神马午夜福利| 在热视频精品| 狠狠九九婷婷韩| 深爱五月天| 久久精品99久久| 婷婷丁香五另类网站| 又大又粗九一在线| 99精品久久久久久久婷婷久久| 五月丁香婷婷色啪| 免费观看欧美成人AA片爱我多深| 综合 蜜月 婷婷| 激情小说在线视频| 久热黄色| 另类小说色婷婷| 99热20| AV片一区在线观看| 五月激激激情综合网| 美国不卡视频| 人妻精品在线| 婷婷五月成人有| 丰满少妇猛烈A片免费看观看| 色噜噜在线| 偷拍99在线视频观看| 五月天亚洲综合网| 国产精典视频在线观看| 婷婷狠狠操| 亚洲精品色色| 四LLL少妇BBBB槡BBBB| 久久人妻系列| 欧美69色| 丁香婷婷啪啪| 天天射影| 欧美五月停| 婷婷五月天开心激情网| 成人婷婷| 五月天婷婷色| 日韩在线五月天婷婷| 中文成人在线| 久久五月视频| 五月丁香激情综合六月涩涩爱| 高清免费在线视频| 台湾无码A片一区二区| 99久久亚洲精品视频| 色色色综合网| 久8色色| www.日本91| 久久性爱视频网站| 丁香五月冃欧美| 婷婷五月天丁香久久| www.婷婷.com| 成人va在线观看视频| 国产精品日本一区二区在线播放| 欧美婷婷五月天| 婷婷天堂综合| 中文字幕网伦射乱中文| 五月天天视频| 狠狠狠婷婷五月综合| 婷婷最新地址| 久久伊人9| 99热99在线| 99色爱| 色色色99| bbwcuckold精品熟妇| 亚洲成人在线电影网站| 丁香色成人| 久热2025无码| 丁香五月亚洲| 国产日日夜夜操| 99原创自拍视频在线观看| 亚洲va在线∨a天堂va欧美va| 99福利导航| 疯狂做受XXXX高潮A片动画| 青草激情在线| 亚洲AV网址| 性做爰1一7伦| 99精品无码| 亚洲色婷婷色| 亚洲精品网址| 久久这里只精品| 婷婷五月天成人网站| 91在线日| 国产在线网址1| 九九五月天| 五月丁香六月停停| 97碰碰在线观看视频| 99亚洲天堂| 人人摸人人搞| 五月丁香怕怕综合| 在线色婷婷| 五月丁香婷婷色| 色婷婷九月| 久久伊人婷婷| 中文字幕人妻一区二区| 天天操天天曰| 日韩色五月| 综合丁香婷婷五月天| 色五月色五天色情网址| 337p大胆噜噜噜噜噜91Av| AV五月丁香| 97资源碰碰在线| 成人美女网| 久久综合中文字幕| 亚洲综合狠狠艹| 色婷婷网| 人妻五月天激情开心网| 国产精品人成A片一区二区| 久久丁香五月天| wwxx日本| 色综合中文色综合网| 成人中文网| 五月天激情www| 亚洲99热| 婷婷四月 成人 狠狠干| 婷婷少妇激情| 男人的天堂五月丁香| www热久久yy9| 一区操| PORNY九色9l自拍视频成人| 狠狠狠激情网| 激情综合亚洲| 久久香蕉婷婷| 一二三区视频韩国| 天天色天天射天天日| 五月刺激丁香月综合| 亚洲天天操| 亚洲视频99| 婷婷六月插屄激情| 99热r| 九九久久高清| 色99综合色88| 丁香花婷婷五月天| 中文字幕精品在线观看| 五月丁香啪啪| 九九精品热| 国产婷婷五月| 色色色激情网| 免费黄色片子| 五月丁香五月综合欧美| 色五月五月丁香| 丁香五月婷婷深五月| 亚洲XX网| 亚洲国产黄色电影| 亚洲春色奇米影视| 在线不卡视频| √天堂资源在线人妻熟女| 五月天婷婷影院影院| 中文网AV| 激情久久五月天| 9婷婷内射| 99riAV成人在线视频| 人人爱操| 婷婷五月丁香基地| 婷婷在线视频| 热99一二三| 日本人妻伦在线中文字幕| 久久五月天婷婷| 99玖玖免费视频| 99爱视频在线播放| 六月色国内综合| 99综合婷婷五月| 综合玖玖性爱免费视频| 天堂综合久久| 4438全国最大视频成人网站在线观看 | 九九九热精品| 色欧美影院| 五月久视频| 性天天中文网| 狠狠狠狠狠草| 五月婷婷六月丁香激情综合网| 婷婷丁香五月天综合AV| 婷婷丁香久久| 99热这里都是精品| 99久久五月丁香野外| 操b视频在线观看一区二区| 夜色五月天| 国产精品久久久久久喷浆| 99热97| 久久久性爱视频| 婷婷五月天激情网| 色五月涩涩婷婷| 天天天天天日| 自拍盗摄 另类| 婷婷色五月亚洲| 六月色色| 色人久久| WWW久久久| 激情五月天色网站| 另类图片色五月| 婷婷在线综合| 五月丁香婷婷基地| 丁香五月欧美成人| 五月天色色网站| 激情久久久久| 99热最新网址| 色婷婷黄色网络| 丁香综合婷婷开心激情网| 伊人久久婷婷| 开心五月六月婷婷| 五月天激情小说婷婷| 激情网站五月| 亚洲综合激| 婷婷五月天777| 婷婷五月亚洲激情| 久久99热这里只有精品23| 天天搞夜夜六| 五月丁香激情婷婷综合字幕| 婷婷六月插屄激情| 就去涩涩丁香五月天| 五月花丁香婷婷| 五月天婷婷丁香社区| 婷婷五月天电影区小说区| 91日韩在线| 九色婷婷| 五月噜噜噜色综合| 五月激情网五月综合网| 狠狠色狠狠色综合日日91| 欧美激情2025| 激情亚洲网| 色五月五月婷婷| 丁香五月天综合| 91成人看片| 色五月色五天色情网| 99热在这里只有精品| 六月丁香久久| 婷婷D区| 欧美人人草草| 亚洲AV无码影院| 色99自拍| 另类激情综合| 熟女激情网| 提提热五月天婷婷| 色五月视频无码播放| 丁香婷婷成人在线播放| 五月婷婷开心五月| 无码AV大香线蕉伊人| 欧美日韩中国| 五月天婷婷香蕉狠狠超碰综合| 欧美日朝成人| 99热精品在线观看| 婷婷五月天色综合翘| 开心五月婷婷99| 亚洲99热| 五月婷婷狠狠干| 五月色网| 国产精产国品一二三在观看| 色啪久 | ..真实国产乱子伦毛片 | 96精品久久久久久久久| 天天骑天天操| 日韩黄色中文字幕| 综合九九久久| 九九这里是免费的视频5| 精热在线综合网| 开心五月深爱五月婷| www.99视频| 婷婷五月丁香久久| 欧美在线| 色欲色香,www,com| 婷婷成人综合| 婷婷五月天国产手机在线视频观看| 激情婷婷丁香色五月| 狠狠操狠狠操| 天天插综合网| 色啦啦视频| 99热欲| 久久色天堂| 成人色站,在线视频,看片-SS1AV| 天天插天天很| 中文av网站| 国产成人99久久亚洲综合精品| 国精产品一区一区三区免费视频| 成人va在线| 综合网色| 婷婷色五月情| 日本色色网站| 色爱综合网| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 狠干综合| 欧美天天爽| 五月丁香在线婷婷美女| 五月丁香91| 亚洲国产精品VA在线看黑人| 亚洲成人网站在线| 天堂呦 呦百度搜索-百度搜索| 久9热| 五月停停色色丁香| 欧美丰满熟妇BBB久久久| 久久国产高潮白浆免费观看99| 99综合免费视频| 在线观看玖玖资源免费观看| 夜色综合网| 丰满女老板BD高清A片| 亚洲欧美国产A片免费观看| 99热综合在线| 婷婷精品在线| 淫视馆AV在线| 操人妻AV| 91avse| 五月开心啪啪| 538任你爽| 丁香五月大香蕉在线99| 亚洲婷婷五月| 久久伊人日日夜夜| 五月伊人婷婷| 人人草人人舔| 丁香五月www| 婷婷基地成人五月天| 色五月人妻| 天天天天操| 亚洲影院婷婷色| 久久婷婷成人视频| 99这里| 婷婷五月天激情网| 涩涩婷婷五月| 中文aV网| 丁香婷婷啪啪| 亚洲情欲久久| 99视频精品视频| 天堂综合久| 极品人妻XXXXOOOO| 久草性爱| 99热99热不卡| 另类图片五月天| 亚洲天堂碰碰婷婷| 中文字幕AV在线| 蜜乳中文字| 五月综合视频| 97碰碰在线观看视频| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 婷婷免费无视频| 久热成人| 久碰久| 日本女天天爽| 超碰99资源站| 亚洲中文字幕在线观看| 人人澡玖玖一| 日日操夜夜骑| 九九人人操| 激情五月天综合网| 欧洲第一久色| 欧美性猛交 XXXX 乱大交| 伊人丁香五月婷婷潮吹| 色欲丁香久久| 伊人干综合| 五月丁香亭亭AV女优| 白天AV月月| 五月天婷婷激情小说电影| 天天操精品| 色色色色色色色色色999| 婷婷综合色图| 五月天婷婷色色首页| 初夜av| 婷婷丁香六月天| 日日噜噜夜夜狠狠久久丁香五月| 色九月| 婷婷五月丁香色综合| 精品九九九久| 激情欧美婷五月| 婷婷五月激情综合| 日本97在线| 综合五月天完整| 国产无套精品一区二区| 激情网站五月| 婷婷综合精品| 丁香五月大香蕉AV| SESE无码AV| 欧美午夜乱妇午夜福利| 99热99在线| 超碰国产AV| 伊人久久大香线蕉亚洲五月天,| 天天做天天干天天综合网| 思思久久精品| 五月丁香久人妻中文| www.minyis.com【JT】实力收量可预付QQ2101460746 | 丝雨一区二区| 丁香五月激情婷婷激情| 丁香五月电影| 国产韩日亚洲美州欧亚综合在线| 丁香五月婷婷av| 丁香熟女乱| 欧美亚洲999| 91九色精品女同系列| 中文字幕黄色电影网址| 亚洲激情五月丁香久久久久| 北京熟妇搡BBBB搡BBBB| 丁香五月香蕉在线| 综合五月婷婷| 久热一本| 色呦呦美女| 久草九九| 丁香婷婷影院| 日韩三级视频一区二区| 亚洲狠狠狠| 97久久久久久久久久久| 婷婷色香六月综合激情| 婷婷五月天成人网| 五月花婷婷在线精品视频| 五月婷婷片| 婷婷伊人中文字幕| 综合五月丁香六月婷婷| 一区二区三区四区牛| 一级操逼内射在线视频| 日本美女97在线视频| 五月丁激情| 亚洲精品V天堂中文字幕| 婷婷97狠狠干| 99亚洲视频| 日本色频| 天天骑天天操| wWwCom夜操wwW| 99亚洲精品视频| 国产欧美日韩性爱| 五月色影院| 久操综合| 精品婷婷| 91狠狠综合久久久| 99re在线观看| 九九色综合| www99热| www.久久| 丁香五月天堂网| 99亚色色色| 亚洲色婷婷| WWW.五月天9999| 五月综合激情| 五月天婷婷丁香花| 97超碰免费超级在线观看| 欧美天天干天天草| 婷婷五月成人社区| 五月婷婷在线综合| 色婷婷女优有码五月亭| 久久久久久久人妻| xx久久| 青青草轻轻操| 大香蕉婷婷丁香天堂AV| 996er热| 色A网| 综合色在线| 久久这里只有精品视频26| 青青草婷婷五月天| 久久这里只有欧美| 久久五月丁香综合| 久久久久久性爱视频| 婷婷玖玖丁香| 99热精品观看| 影音先锋91资源站| 另类精品视频在线观看| 丁香九月婷| 亚洲五月婷婷| 97色五月天| 国产亚洲精品久久久久苍井松 | 另类综合网| 久久婷婷大香蕉| 婷婷色综合av| 99久久久免费| 能看的av网站| 夜夜天天久久婷婷| 伊人九热| 99久在线精品99re8| 激情五月天的婷婷| 成人视频一区| 五月丁香六月婷婷亚洲天堂网站| 亚洲视频在线观看| 开心五月丁香啪| 五月婷色丁香| 久久大香蕉同僚| 综合色情网| 久久免费精彩视频| 新激情五月天色播| 亚州色综合| 激情综合五月天| 激情六月下句是什么| seav天堂| 丁香成人色情五月天| 丁香婷婷超碰 | 五月丁香 狠狠爱| 激情99| 1024手机在线观看看片_日韩精品| 深爱综合网| 91婷婷五月天综合视频| 99久久五月婷婷| AV操逼网| 九九精品片一| 99热最新国内| 五月丁香激情综合啪啪| 色婷婷色五月另类综合| 伊人在线视频| 丁香色五月天| 久久HD| 国产欧美日韩综合精品一区二区| 狠狠干无码| 97操视频| AA片在线观看视频在线播放| 婷婷深爱五月丁香| 婷婷色网站| 国产精品久久久久久久久久| 天天草天天摸| 天天狠狠婷婷在线| 久综合4| 97se视频在线| 久久久er热| 五月丁香天堂| 99色在线视频| 狠狠撸激情综合丁香五月天俺来啦| 99视频久久久| 97精品人人A片免费看| 天天插综合| 久久99久久99久久99人受| 潘金莲AAAAAAAAAA| 五月天婷婷基地综合网| 五月婷婷久久爱| 一本色道久久综合狠狠躁小说| 激情婷婷六月天| 26uuuu精品一区二区| 色婷婷五月影院| 五月综合视频| 五月丁香另类图片| 99视频色在线观看| 亚洲成人日韩无码精品| 色五月丁香五月| 青青福利网| 99在线观看视频| 久久无码成人| 日韩久热| 九九久久综合网站| 五月丁香激情怕怕| 亚洲成人在线观看av| 亚州操操| 亚洲看av的网站| 五月丁香花激情综合网| 蜜臀AV在线观看| 在线观看av网站| 日韩av干| 一级精品999WWW| 91色色五月天| 91丨九色丨熟女|新版| 五月婷婷深爱六月| 草一草avb| 久久婷婷免费| 日日爽日日| 九九热在线视频观看| 激情五月天综合网站网站网站| 亚洲爱婷婷| 国产精产国品一二三在观看| 色五月婷婷操逼| 无码人妻一区二区三区免费九色| 国产99久久久| 丁香久久激情俄| 99热精品在线播放| 五月丁查人人| 成人小说 五月天 婷婷| 97九色视频| 色.五月综合网| www.狠狠| www婷婷| 久久五月天黄色五月天色网址| 激情图片婷婷| 久久久国产精品黄毛片| 五月婷婷激情| 99热这里只有精品国产首页| 婷婷色播色五月五色五月天色妇| 91好好热日本在线| 五月婷婷电影院| www.婷婷五月| 香蕉人在线香蕉人在线 | 五月丁香成人| 婷婷六月色开| 色色色色色综合| 国产偷人爽久久久久久老妇APP| 五月丁香啪啪激情| 婷婷六月久久综合导航| 性爱动图国产麻豆一区二区三区| 色婷婷AV在线观看| 成人做爰A片免费看视频| 久草性爱| 日韩在线婷婷五月天综合| 五月天六月天| 五月丁香六月香香蕉| 色五月婷婷影视| 成人在线观看精品| 婷婷五月六月丁香| 五月天婷婷色色网| 欧美VA在线观看| 99热欧| 99视频在线| 亚洲操B视频| 99在线视频观看| 久久婷婷五月天| 久久久久9999| 欧美婷婷五月天| 五月四色婷婷| 久久99网站| 97五月婷婷| 色综合久久88色综合天天| 久久人妻熟女一区二区| 色综合激情| 色综合九九| 再次出发二| 人人操91| 97AV人人插人人操| 激情人妻蜜夜系列区| 婷婷丁香六月| 色999亚洲人成色| 五月婷婷六月激情| 激情六月综合| 亭亭社区五月天| 婷婷成人综合免费视频| 三级三久久线久久99久目本WW| 激情五月综合第一页| 久久99免费视频网站| 日韩黄色中文字幕| 欧美成人精品三区综合A片| 久久永久视频| 91啪啪网| 天天干一干| 国产裸舞表演WWWW| 五月丁香色婷婷基地| 五月婷伊人| 婷婷色播色五月五色五月天色妇| 伊人色综合影院视频| www.99热在线| 天天综合91入口| 色色色色色日韩午夜激情 | 九九视频这里只有精品| 99热最新精品| 可以免费观看的av| 五月婷婷六月丁香在线| 色激情五月| www 五月天 com| 色婷婷在线综合色播网| 亚洲中文丁香| 久久er免费视频| 色色激情五月天| 欧美精品99| 婷婷午夜精品久久久| 黄网在线免费播放| 丁香九月激情久久| 99久久精品亚洲综合| 伊人狼人干| 五月婷婷碰碰| 超碰2021| 亚洲精品第一国产综合亚AV| 丁香五月亚洲综合丝袜| 超碰色热| 老师的粉嫩小又紧水又多A片视频| 99re6在线视频精品免费| 99精品国产在热久久| 丁香六月婷婷久久综合| 91久久久久久久| 五月天婷婷色| 丁香五月天堂网| 超碰久热| 五月天婷婷激情| 国产看真人毛片爱做A片 | 日本颜色视频人人爱| 开心婷婷五月| 日韩人妻无码专区| 久久久精品AV| 狠狠操综合| 色综合网上班开心婷婷久久| 色综合色色| 一级黄色影片| www,五月天com| 婷婷伊在线| 777.色色| 千人斩操逼| 99热精品9| 色婷婷狠狠久久综合五月| 激情五月,深深爱五月| 99热久久这里只有精品2010| 玖玖九九99| 99精品在线下载| 99热这里只有精品18| 日日操日日撸| 日本九婷婷| 天天操B| 久久大香蕉同僚| 五月婷婷六月丁香综合| 热99在线| 丁香婷婷色五月| 中文字幕成人| 国产做A爰片毛片A片美国| 久久综合九色综合97婷婷| 九九九九九九九九九九九九九九九九九九九在线视频 | 久久38视频| 日韩精品一区二区刘| 热99久| 99久在线精品| 狠狠操之狠狠操| 97激情五月天| 午夜婷婷六月天| 久久538| 99啪99| 色综合色色色| 国产成人精品一区二三区熟女在线| 婷婷99综合| 五月丁香六月停停停| 金品在线视频99| 91人妻人人操人人爽| 丁香五月色情| 婷婷丁香久久五月综合| 久久九九99亚洲国产久精综合| 丁香五月婷中字幕| www.99热在线| 99自拍视频| 国产欧美精品AAAAAA片| 国产AV一区二区三区最新精品| 五月婷久久久久综合| 亚洲视频无| 中文字幕在线日亚洲9| 综合亚洲五月天| 战争与艾拉电影免费观看| 五月天色不卡| 综合色99| 这里只有精品久久| 99色人| 中文字幕婷婷在线| 2015超碰| 秋霞黄色一级久久| 色婷婷色情| 99热色精品| 久久婷婷五月| 国产日韩精品SUV| 亚洲激情Av| 色色丁香婷婷| 婷婷六月色丁香视频在线观看| 丁香五月亚洲| 久久新地址| 极品少妇高潮啪啪AV无码| 中文超碰视在线| 五月色丁香| 人人舔人人色人人高潮| 五月丁香婷爱在线| 久久总和99| 搡BBBB搡BBB搡18| 五月天婷婷色综合| 午夜爱爱网站| 五月丁香六月婷婷在线小说视频| www,五月丁,com| 天天日天天舔| 激情五月天网| 伊人激情综合| 99热最新精品| 丁香五月宝贝激情网| 思思精品视频| av狠狠操| 91呦呦呦| 东京热伊人| 最新五月天婷婷影| 91久久色| 思思久久99热只有频精品66| 第1影院之五月婷婷| 超碰99在线观看| 欧洲综合色| 狠狠人妻色综合| 亚洲乱码日产精品BD| 免费操超碰| 日本a片网址| 丁香五月六月婷婷殴美综合| 五月丁香狠狠爱| 丁香婷婷狠狠97| 色色丁香婷婷综合| 91婷婷五月天综合视频| 久热超碰91| 白人荫道BBWBBB大荫道| 丁香五月天堂网AV| 伊人青草成人| 日本成人噜噜噜| www.激情| 性爱五月婷婷| 激情五月伊人婷婷| 日本婷色| 99热这里是精品| 亚洲最大视频网站| 五月丁香爱婷婷深深|