久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

STUN協(xié)議深度解析:從NAT穿透原理到P2P連接實(shí)戰(zhàn)排障

STUN協(xié)議深度解析:從NAT穿透原理到P2P連接實(shí)戰(zhàn)排障 我最早意識到必須把STUN協(xié)議啃明白是因?yàn)橐粋€特別普通的故障兩臺客戶端都連著同一個信令服務(wù)狀態(tài)欄也都顯示在線可一旦要建立點(diǎn)對點(diǎn)通道數(shù)據(jù)包發(fā)出去就像石沉大海。排查了整整兩天最后定位到的問題不在你我寫的代碼而是雙方都躲在NAT后面彼此根本不知道對方暴露在公網(wǎng)上的真實(shí)地址。STUN協(xié)議全稱Session Traversal Utilities for NAT就是專門回答我的公網(wǎng)映射地址到底是什么這個問題的協(xié)議。這篇文章我會從NAT的底層行為講起拆解一次完整的STUN交互報文給你一份能直接跑起來的最小客戶端代碼然后講清楚STUN的邊界在哪、TURN和ICE分別補(bǔ)了什么最后是在實(shí)際接入過程中積累的調(diào)試經(jīng)驗(yàn)和運(yùn)維教訓(xùn)。做音視頻應(yīng)用、P2P傳輸或者只是單純被NAT問題折騰過的同學(xué)這篇應(yīng)該能幫上忙。1. 從一次失敗的P2P連接說起NAT才是真正的攔路虎1.1 兩個客戶端明明在線為什么就是連不上假設(shè)A同學(xué)在家里B同學(xué)在辦公室兩人用同一個App聊天、傳文件。信令服務(wù)器兩邊都連通好友狀態(tài)也是綠的。但A向B發(fā)一個UDP包B收不到B回一個A也收不到。問題不在應(yīng)用邏輯而在IP包從A出發(fā)那一刻就變樣了。A的電腦通常在192.168.1.0/24這類內(nèi)網(wǎng)網(wǎng)段家里的路由器做了網(wǎng)絡(luò)地址轉(zhuǎn)換。A發(fā)出一個源地址為192.168.1.10:50000的包路由器會把它改寫成公網(wǎng)IP加臨時端口比如203.0.113.7:54321然后在自己的映射表里記一筆內(nèi)網(wǎng)(192.168.1.10:50000)對應(yīng)公網(wǎng)(203.0.113.7:54321)。B收到的任何來自這個地址的流量A才能收到其他陌生地址打進(jìn)來的包大概率會被路由器按過濾策略丟棄。這就是NAT的核心矛盾它只對由內(nèi)向外主動發(fā)起的會話做一個臨時的、有狀態(tài)的門禁對外部來說這個門禁地址是動態(tài)分配的。兩個客戶端都在NAT后面時A不知道自己在公網(wǎng)眼里的身份是203.0.113.7:54321B也不知道自己是198.51.100.9:60001各自拿自己網(wǎng)卡上的私網(wǎng)地址去通信自然誰也找不到誰。簽入信令服務(wù)器只能證明你能連上服務(wù)器完全不能證明你能被別人直連。打個比方NAT就像一個公司的前臺秘書。內(nèi)網(wǎng)員工只能讓秘書幫忙撥外線電話外線打進(jìn)來必須先報出分機(jī)號可分機(jī)號是秘書臨時分配的外面的人不知道而且秘書默認(rèn)不轉(zhuǎn)接陌生來電。1.2 四種NAT行為決定了STUN能不能派上用場既然NAT是核心障礙那NAT的類型不同打通路徑的難度也完全不同。早期RFC 3489把NAT分成四種經(jīng)典類型現(xiàn)在看有點(diǎn)粗糙但用來建立直覺依然非常好用。NAT類型映射行為過濾行為STUN能搞定嗎全錐形 Full Cone內(nèi)網(wǎng)IP:端口固定映射為一個公網(wǎng)IP:端口不限制來源誰都能往這個映射地址發(fā)包最容易拿到映射地址就能直連受限錐形 Restricted Cone同上只允許我主動發(fā)過包的目標(biāo)IP給我回包需要先讓對端發(fā)探測包時序配合端口受限錐形 Port Restricted Cone同上只允許我主動發(fā)過包的目標(biāo)IP:端口回包打洞要精確卡端口難度提升一截對稱型 Symmetric每個目標(biāo)IP:端口都會新建一個不同映射通常也是端口受限過濾STUN學(xué)到的映射地址只在和該服務(wù)器通信時有效基本廢了現(xiàn)在RFC 5389和RFC 8489的視角更精細(xì)把NAT行為拆成兩個獨(dú)立的軸一個是映射行為一個是過濾行為。映射行為回答同一個內(nèi)網(wǎng)元組去訪問不同目標(biāo)時公網(wǎng)映射是否一樣過濾行為回答別人往這個映射地址發(fā)包NAT放不放行。家庭路由器絕大多數(shù)是端點(diǎn)無關(guān)映射 端點(diǎn)相關(guān)過濾也就是平時說的錐形NATSTUN能發(fā)揮價值。但運(yùn)營商級NATCGNAT為了節(jié)省公網(wǎng)IPv4地址往往會做地址端口相關(guān)映射指向每一臺對端服務(wù)器時都臨時開出不同的公網(wǎng)端口行為接近對稱NAT。這也是為什么同樣的客戶端家庭寬帶下直連成功率尚可切到手機(jī)4G/5G網(wǎng)絡(luò)后成功率驟降——不是代碼壞了是NAT的映射行為變了。提示判斷一個環(huán)境是否對稱NAT最省錢的辦法就是拿兩個不同的STUN服務(wù)器分別查一次映射地址如果兩次學(xué)到的公網(wǎng)端口不一致說明映射行為與目標(biāo)地址相關(guān)基本可以斷定是對稱NAT。2. 一次Binding請求的完整解剖20字節(jié)頭部和一堆TLV2.1 STUN的核心邏輯讓公網(wǎng)服務(wù)器告訴你你看起來是誰STUN的設(shè)計思路非常直白你無法從內(nèi)網(wǎng)看到自己公網(wǎng)映射那就找一個站在公網(wǎng)上的服務(wù)器幫你照鏡子??蛻舳藦哪硞€UDP socket發(fā)出一個Binding Request請求經(jīng)過NAT時被路由器改寫源地址STUN服務(wù)器收到這個包時看到的源IP和源端口就是這臺機(jī)器在公網(wǎng)上的臨時身份。服務(wù)器把這個身份塞進(jìn)響應(yīng)報文的屬性里返回客戶端收到后自然就知道原來自己被映射成了什么樣子。這一個簡單的回聲機(jī)制解決的是信息問題。但記住一個關(guān)鍵前提服務(wù)器看到的映射是對應(yīng)這條五元組的映射。具體來說是(本地IP, 本地端口, 服務(wù)器IP, 服務(wù)器端口)這一組關(guān)系。將來客戶端想跟另一個對端B通信B的地址和服務(wù)器地址不同NAT可能為這個新目標(biāo)分配完全不同的公網(wǎng)端口。這個映射和目標(biāo)綁定的思想貫穿整個NAT穿透STUN也好、ICE也好都在圍著它打轉(zhuǎn)。2.2 報文結(jié)構(gòu)頭部與屬性STUN報文最前面是一個固定20字節(jié)的頭部所有字段都是大端序網(wǎng)絡(luò)字節(jié)序。字段長度說明消息類型2字節(jié)0x0001是Binding Request0x0101是成功響應(yīng)0x0111是錯誤響應(yīng)消息長度2字節(jié)從Magic Cookie之后的負(fù)載長度按字節(jié)計Magic Cookie4字節(jié)固定值0x2112A442用來快速識別STUN包Transaction ID12字節(jié)隨機(jī)值客戶端用來把響應(yīng)和請求對應(yīng)起來很多人看到Magic Cookie會覺得奇怪為什么一個協(xié)議要固定放這么個常數(shù)原因是它能讓接收方在同一個UDP端口上快速區(qū)分不同協(xié)議。在實(shí)時通信里同一端口上往往同時跑著RTP、RTCP、DTLS和STUN包RTP第一個字節(jié)高兩位是0b10DTLS也有自己的內(nèi)容類型取值而STUN頭部前四個字節(jié)是0x00 0x01 0x21 0x12識別起來極其廉價一個位運(yùn)算就能完成分流。這在WebRTC這類高并發(fā)場景里是實(shí)打?qū)嵉男阅軆?yōu)化。頭部之后是一個接一個的屬性每個屬性都是TLV結(jié)構(gòu)2字節(jié)類型、2字節(jié)長度、若干字節(jié)的值不足4字節(jié)對齊時補(bǔ)零。屬性類型的最高位是有含義的如果置位表示必須理解服務(wù)器遇到不認(rèn)識但帶此位的屬性要返回420 Unknown Attribute否則可以靜默跳過。屬性類型值作用MAPPED-ADDRESS0x0001舊協(xié)議時代使用的映射地址只用于兼容老客戶端XOR-MAPPED-ADDRESS0x0020新標(biāo)準(zhǔn)推薦的映射地址做了異或編碼RESPONSE-SOURCE-ADDRESS0x002B響應(yīng)實(shí)際發(fā)出的源地址多出口場景下排障很有用ERROR-CODE0x0009錯誤響應(yīng)里攜帶的具體錯誤碼USERNAME / REALM / NONCE0x0006 / 0x0014 / 0x0015長程憑證鑒權(quán)用的用戶信息MESSAGE-INTEGRITY0x0008HMAC摘要用于校驗(yàn)請求和響應(yīng)未被篡改FINGERPRINT0x8028CRC-32異或0x5354554E幫助接收端確認(rèn)這是STUN包2.3 XOR-MAPPED-ADDRESS的編碼為什么要繞一圈早期RFC 3489時代用的是MAPPED-ADDRESS直接明文返回IP和端口屬性值第一個字節(jié)是保留的0x00后面跟著地址族和地址。問題在于有些老式的NAT設(shè)備和中繼盒子會傻乎乎地掃描數(shù)據(jù)包只要看到長得像內(nèi)嵌公網(wǎng)IP的4字節(jié)就自作主張改寫導(dǎo)致明文地址被破壞。于是RFC 5389引入了XOR編碼把地址和端口跟固定值做異或后再傳輸讓數(shù)據(jù)不再長得像IP躲開那些不守規(guī)矩的中間設(shè)備。具體編碼規(guī)則是端口值先和Magic Cookie的高16位做異或也就是0x2112IPv4地址共4字節(jié)和Magic Cookie的4字節(jié)0x2112A442做異或IPv6地址共16字節(jié)則和Magic Cookie(4字節(jié)) Transaction ID(12字節(jié))拼接出的16字節(jié)整體做異或。解碼時再做一次同樣的異或就能還原。這也是為什么新寫的客戶端務(wù)必讀XOR-MAPPED-ADDRESS它對老NAT設(shè)備的兼容性更好也是RFC 8489時代的主流實(shí)現(xiàn)。3. 手寫一個最小STUN客戶端從構(gòu)造請求到解析映射地址的完整代碼3.1 準(zhǔn)備工作直接看文檔總歸隔靴搔癢我建議你動手寫一個最小實(shí)現(xiàn)。代碼只用Python標(biāo)準(zhǔn)庫不需要裝任何第三方依賴目標(biāo)是把請求構(gòu)造、發(fā)送、響應(yīng)解析整條鏈路跑通。生產(chǎn)環(huán)境不推薦這么裸寫語言生態(tài)里有成熟的開源STUN庫可以用但用最原始的方式過一遍你對協(xié)議的理解會完全不同。假設(shè)本機(jī)已經(jīng)安裝Python 3.8以上版本能聯(lián)網(wǎng)能發(fā)UDP包。測試用的服務(wù)器地址我先用stun.example.com占位實(shí)際部署時替換成你自己的服務(wù)地址或者云服務(wù)商公開提供的測試服務(wù)器地址。3.2 構(gòu)造Binding Request并發(fā)送先構(gòu)造20字節(jié)頭部。消息類型是0x0001Binding Request沒有負(fù)載所以長度字段為0再拼上4字節(jié)Magic Cookie和12字節(jié)隨機(jī)Transaction ID。import socket import struct import random MAGIC_COOKIE 0x2112A442 STUN_SERVER (stun.example.com, 3478) def make_binding_request(): msg_type 0x0001 # Binding Request msg_len 0 txn_id bytes(random.randrange(256) for _ in range(12)) header struct.pack(!HHI, msg_type, msg_len, MAGIC_COOKIE) txn_id return header, txn_id sock socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.settimeout(1.0) request, txn_id make_binding_request() sock.sendto(request, STUN_SERVER) try: data, addr sock.recvfrom(2048) except socket.timeout: print(timeout, retry...) sock.close()注意一點(diǎn)UDP不保證可靠交付生產(chǎn)代碼必須自帶重傳。STUN規(guī)范里還規(guī)定了按指數(shù)退避重發(fā)這個我們后面專門講。這里為了演示先保持單次收發(fā)后續(xù)補(bǔ)上重傳循環(huán)。3.3 解析Binding Response收到響應(yīng)后先校驗(yàn)Transaction ID是否一致再遍歷屬性找到XOR-MAPPED-ADDRESS并解碼。下面是完整的解析函數(shù)。def parse_stun_response(data, txn_id): if len(data) 20: return None msg_type, msg_len, cookie struct.unpack(!HHI, data[:8]) resp_txn data[8:20] if resp_txn ! txn_id: print(transaction id mismatch) return None if msg_type 0x0111: print(got error response) return None mapped None offset 20 while offset 4 len(data): attr_type, attr_len struct.unpack(!HH, data[offset:offset 4]) value data[offset 4: offset 4 attr_len] if attr_type 0x0020: family value[1] port struct.unpack(!H, value[2:4])[0] ^ (MAGIC_COOKIE 16) if family 0x01: ip_int struct.unpack(!I, value[4:8])[0] ^ MAGIC_COOKIE ip socket.inet_ntoa(struct.pack(!I, ip_int)) else: key struct.pack(!I, MAGIC_COOKIE) txn_id raw bytes(a ^ b for a, b in zip(value[4:20], key)) ip socket.inet_ntop(socket.AF_INET6, raw) mapped (ip, port) offset 4 attr_len (attr_len % 4 ! 0 and (4 - attr_len % 4) or 0) return mapped mapped parse_stun_response(data, txn_id) if mapped: print(fmapped address: {mapped[0]}:{mapped[1]})解碼的關(guān)鍵點(diǎn)在前面說過IPv4地址與Magic Cookie異或IPv6地址與Magic Cookie加Transaction ID的16字節(jié)組合異或。端口則與0x2112異或。解析時要同時處理屬性值補(bǔ)齊到4字節(jié)的情況漏掉這個會導(dǎo)致后續(xù)屬性全部錯位。3.4 跑通后怎么判斷自己是不是在NAT后面拿到映射地址后再取一下本地socket在網(wǎng)卡上的實(shí)際地址兩個值對比一切就明了了。local_addr sock.getsockname() print(flocal address : {local_addr[0]}:{local_addr[1]}) print(fmapped address: {mapped[0]}:{mapped[1]})如果本地是192.168.x.x或10.x.x.x而映射地址是公網(wǎng)地址說明你確實(shí)在NAT后面而且你獲得了NAT分配的臨時公網(wǎng)端口。如果兩個地址完全一致說明這臺機(jī)器擁有公網(wǎng)IP沒有NAT參與。我實(shí)際測試過在云主機(jī)公網(wǎng)實(shí)例上運(yùn)行時兩個地址一致在家里寬帶下運(yùn)行時必然不一致。這個差異本身就是一個很好的線上環(huán)境判斷手段。4. 邊界與分工為什么對稱NAT會打敗STUNTURN和ICE又補(bǔ)了什么4.1 對稱NAT下STUN獲取的地址為什么沒法直接用現(xiàn)在把場景切換到對稱NAT這是STUN翻車最典型的場合。A在對稱NAT后面向STUN服務(wù)器S發(fā)請求。A的NAT為發(fā)往S這個目標(biāo)創(chuàng)建了一個映射假設(shè)是公網(wǎng)203.0.113.7:58452。S把這個地址告訴AA以為這就是自己的公網(wǎng)身份。接著A把這個地址作為候選發(fā)給BB往203.0.113.7:58452發(fā)包。問題來了B發(fā)給這個地址的流量目標(biāo)IP:端口雖然命中了A的NAT公網(wǎng)地址但A的NAT在此之前從未朝B的地址發(fā)過包沒有對應(yīng)目標(biāo)為B的映射入站包直接被丟棄。更擰巴的是A此時向B主動發(fā)包NAT會再為發(fā)往B這個目標(biāo)分配一個新的公網(wǎng)端口比如203.0.113.7:58455。B拿著58452當(dāng)然找不到A。STUN學(xué)到的地址只對服務(wù)器S這一個目標(biāo)是真實(shí)有效的對整個公網(wǎng)并不通用。對稱NAT下STUN給了你一個正確但沒法用的答案。這背后是一個自舉悖論你想通過一個地址讓對端找到你但這個地址本身取決于對端是誰而對端是誰恰恰是你還沒法預(yù)先告訴NAT的一件事。想跳出這個循環(huán)只能靠服務(wù)器中轉(zhuǎn)。4.2 TURN把包袱甩給服務(wù)器的中繼方案TURN的全稱是Traversal Using Relays around NAT思路很粗暴既然直連路徑建不起來就讓雙方都連到一臺公網(wǎng)服務(wù)器由服務(wù)器幫兩邊轉(zhuǎn)發(fā)數(shù)據(jù)??蛻舳讼騎URN服務(wù)器發(fā)起Allocate請求申請一個中繼地址之后對端只要往這個中繼地址發(fā)包服務(wù)器就把負(fù)載再通過一條已建立的通道轉(zhuǎn)發(fā)給客戶端。代價非常實(shí)在所有媒體數(shù)據(jù)都要經(jīng)過中繼服務(wù)器帶寬成本翻倍延遲多一跳服務(wù)器要扛巨大的轉(zhuǎn)發(fā)流量。所以TURN在系統(tǒng)工程里從來是最后手段而不是第一選擇。ICE協(xié)議設(shè)計的核心目標(biāo)就是盡量優(yōu)先直連其次走STUN打洞最后才退到TURN。4.3 ICE把STUN從查地址變成打通路徑的探針I(yè)CEInteractive Connectivity Establishment把這套流程串成了一個完整框架。它先讓雙方各收集三類候選地址本機(jī)網(wǎng)卡上的host候選通過STUN從公網(wǎng)看到的server-reflexive候選以及通過TURN得到的中繼relay候選。然后雙方互換候選列表按照優(yōu)先級組成候選對逐對做連通性檢測。這個連通性檢測用的就是STUN Binding Request。兩個候選地址之間互發(fā)STUN請求請求里帶PRIORITY、USE-CANDIDATE等屬性以及ICE的短期憑證。能收到響應(yīng)的候選對就是可通的路徑最后根據(jù)優(yōu)先級選出一條最優(yōu)路徑作為媒體通道。所以STUN在ICE里不僅是查自己的公網(wǎng)地址更大價值是作為輕量可靠的探測工具持續(xù)驗(yàn)證某條路徑是否真的通。這也是為什么STUN和ICE耦合得這么深I(lǐng)CE檢測期間雙方用的是短期憑證請求里帶USERNAME和MESSAGE-INTEGRITY字段任何一方拿不出正確摘要的STUN包都會被丟棄從而防止第三方注入偽造的連通性檢測響應(yīng)。WebRTC、VoIP系統(tǒng)里這套流程每天都在海量運(yùn)行。5. 接入STUN后的調(diào)試實(shí)戰(zhàn)抓包、鑒權(quán)與錯誤碼里的門道5.1 第一件事永遠(yuǎn)是抓包驗(yàn)證接入STUN之后別急著看業(yè)務(wù)層日志先抓包。抓包能一次性回答三個問題請求是不是真的發(fā)出去了、響應(yīng)是不是真的回來了、服務(wù)器回給我的地址跟我以為的地址是否一致。抓包工具我習(xí)慣用命令行工具配合圖形化協(xié)議分析器過濾規(guī)則直接寫udp port 3478就行STUN報文一般能被自動識別并解析出屬性列表。我踩過一個很典型的坑服務(wù)器部署在有多出口的網(wǎng)絡(luò)里客戶端把請求發(fā)給了A出口IP但響應(yīng)卻從B出口IP回來。單看應(yīng)用層一切正常但某些NAT設(shè)備對源和目的不是同一地址的UDP會直接丟棄導(dǎo)致線上成功率忽高忽低。后來是抓包發(fā)現(xiàn)響應(yīng)來源地址不一致趕緊在服務(wù)器側(cè)固定出口鏈路才解決問題。STUN響應(yīng)里的RESPONSE-SOURCE-ADDRESS屬性就是為這種排查設(shè)計的。另外建議自測腳本里同時打印發(fā)給誰和從誰那里收到響應(yīng)出現(xiàn)不對稱時優(yōu)先懷疑路由、負(fù)載均衡和多出口問題而不是STUN本身。5.2 鑒權(quán)機(jī)制401、438這些錯誤碼背后是一整套憑證流程公共STUN服務(wù)器通常不需要鑒權(quán)誰都能來問一句我的映射地址是什么。但TURN服務(wù)器和某些私有化部署的STUN服務(wù)會要求身份認(rèn)證走的是STUN的長程憑證機(jī)制客戶端第一次裸請求服務(wù)器回401同時在響應(yīng)里帶上REALM和NONCE客戶端根據(jù)用戶名密碼和NONCE計算出HMAC摘要放到MESSAGE-INTEGRITY屬性里重發(fā)服務(wù)器校驗(yàn)通過后才返回正常響應(yīng)。NONCE是有狀態(tài)的過期后服務(wù)器會回438 Stale Nonce客戶端應(yīng)當(dāng)丟棄舊NONCE用響應(yīng)里的新NONCE重新計算摘要再重試一次。這跟HTTP認(rèn)證里的challenge-response非常像區(qū)別在于STUN用UDP承載整個流程要自己處理丟包重發(fā)。調(diào)試時如果一上來就報401別慌先看自己是不是漏了帶憑證的第二次請求。錯誤碼含義應(yīng)對300Try Alternate按OTHER-ADDRESS換服務(wù)器重試400Bad Request請求格式錯誤檢查報文401Unauthorized需要長程憑證重發(fā)時帶上認(rèn)證屬性403Forbidden憑證無效或無權(quán)限420Unknown Attribute服務(wù)器不認(rèn)識必須理解的屬性減少自定義屬性438Stale NonceNONCE過期換新NONCE重試500 / 600Server Error / Global Failure服務(wù)器問題換節(jié)點(diǎn)或稍后重試5.3 重傳與超時比你想象的要耐心STUN規(guī)范里的UDP重傳算法是初始間隔500毫秒之后逐次翻倍分別在0、0.5、1.5、3.5、7.5、15.5、31.5秒這幾個時間點(diǎn)各發(fā)一次總共7次。這意味著一趟完整的重傳序列可能持續(xù)三十多秒。很多客戶端自己設(shè)2秒超時一旦網(wǎng)絡(luò)抖動就直接判定失敗這是典型的配置不合理。正確的做法是讓STUN的重傳邏輯按指數(shù)退避走同時應(yīng)用層另外設(shè)定一個更寬的業(yè)務(wù)超時比如40秒。對ICE連通性檢測反而要激進(jìn)得多檢測是并行、快速試錯的不能等30秒所以ICE用自己的短超時和重試次數(shù)甚至不等重傳就立刻換下一對候選。兩者目的不同參數(shù)設(shè)計也因此完全不同。我實(shí)際開發(fā)時還會注意一點(diǎn)重傳時絕不新建socket或換本地端口。STUN的映射和五元組綁定你換一個源端口NAT就給你開一個新映射重傳等于白傳。固定同一個socket重傳才有意義。6. 服務(wù)器選型與運(yùn)行經(jīng)驗(yàn)文檔不會寫的那幾件事6.1 自建還是使用公開服務(wù)器開發(fā)階段用公開STUN服務(wù)器測試很方便但生產(chǎn)環(huán)境強(qiáng)烈建議自建。公開服務(wù)器是別人家的基礎(chǔ)設(shè)施沒有SLA承諾隨時可能限流、變更地址或下線更實(shí)際的問題是地理距離離用戶太遠(yuǎn)的服務(wù)器會讓RTT高到幾十甚至上百毫秒而STUN查詢是交互鏈路的一部分每多一次往返都拖慢首屏體驗(yàn)。自建時最常見的方案是部署成熟的開源TURN/STUN一體服務(wù)監(jiān)聽3478端口同時支持UDP和TCP。服務(wù)器要按地域分點(diǎn)部署有條件就做任播讓用戶就近接入。DNS里配置STUN服務(wù)的SRV記錄客戶端解析到多個IP后輪詢使用這樣可以避免單點(diǎn)故障。STUN服務(wù)器的健康檢查特別簡單周期性發(fā)一個Binding Request確認(rèn)能在預(yù)期RTT內(nèi)收到響應(yīng)即可這個探活腳本應(yīng)該納入監(jiān)控體系。有一個容易被忽略的負(fù)載均衡問題UDP不像TCP那樣有連接會話多臺STUN服務(wù)器前面掛負(fù)載均衡器時必須保證請求和響應(yīng)走同一臺后端否則客戶端會收到來源地址對不上的響應(yīng)某些NAT會直接把這樣的包丟掉。最穩(wěn)妥的策略是按五元組做一致性哈?;蛘咴诿颗_服務(wù)器上固定出口IP。6.2 并發(fā)處理與安全防護(hù)STUN是UDP協(xié)議服務(wù)器面對的是海量短小請求設(shè)計上要按事件驅(qū)動模型走不要在收包路徑里做任何阻塞操作尤其不能做同步DNS解析。每個請求拿出Transaction ID和來源五元組在內(nèi)存里維護(hù)一個事務(wù)表響應(yīng)發(fā)出后盡快清理過期記錄。經(jīng)典Nginx式的多進(jìn)程加SO_REUSEPORT監(jiān)聽實(shí)測能頂住非常高的QPS瓶頸更多在網(wǎng)卡和內(nèi)核收包上。安全方面有幾個細(xì)節(jié)。第一對同一來源IP要做限速防止有人拿你的STUN服務(wù)器當(dāng)反射放大器。第二對非STUN報文直接靜默丟棄不要回應(yīng)任何錯誤很多UDP反射攻擊就是靠未知即回放大的。第三響應(yīng)包大小保持克制不要隨意把大屬性塞進(jìn)響應(yīng)響應(yīng)比請求大太多本身就給了放大攻擊機(jī)會。我見過一次線上事故日志里全是未知報文回包后來加上靜默丟棄策略才消停。6.3 保活、監(jiān)控與IPv6趨勢NAT映射不是永久的家用路由器常見空閑超時是30秒到2分鐘不等。應(yīng)用拿到STUN映射地址后如果不持續(xù)往同一個目標(biāo)發(fā)UDP包NAT會默默回收這條映射之后對端再發(fā)包就找不到你了。所以ICE規(guī)范里要求周期性發(fā)STUN Binding Indication來續(xù)命這個包帶Transaction ID但不需要響應(yīng)純粹為了讓NAT刷新老化計時器。實(shí)踐中每15秒發(fā)一次比較穩(wěn)妥既能?;钣植粫?yàn)樘l繁造成服務(wù)器壓力。運(yùn)維上重點(diǎn)盯四個指標(biāo)Binding Request成功率、RTT分位數(shù)、超時重傳比例、錯誤碼分布。成功率低于99%就要排查鏈路RTT分位數(shù)突然上抬多半是出口擁堵或目標(biāo)段網(wǎng)絡(luò)問題438比例升高說明NONCE管理出問題了。另外客戶端要處理好DNS解析失敗的情況——很多所謂STUN超時真相是DNS沒解析出來客戶端應(yīng)內(nèi)置多組服務(wù)器IP并支持快速切換。隨著IPv6普及純IPv6環(huán)境里NAT不再是主角但防火墻默認(rèn)仍然丟棄入站流量所以STUN的價值并沒有消失它依然可以用來探測公網(wǎng)可達(dá)性配合ICE做路徑發(fā)現(xiàn)。部分IPv6接入場景還會出現(xiàn)運(yùn)營商級NAT行為跟IPv4時代的CGNAT一模一樣STUN在這些環(huán)境里依然是對抗NAT的主力工具。最后分享一個小習(xí)慣每次改完NAT相關(guān)的邏輯我都會在兩種網(wǎng)絡(luò)環(huán)境下各跑一遍自測腳本——家庭寬帶和手機(jī)流量。家庭寬帶大概率是錐形NAT能驗(yàn)證STUN正常打洞路徑手機(jī)流量大概率是對稱NAT或運(yùn)營商級NAT能驗(yàn)證降級到TURN中繼的兜底邏輯。兩個環(huán)境交叉驗(yàn)證一遍線上才敢放心發(fā)版本。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
少妇高潮一区二区三区在线| 亚洲欧美精品一区天堂久久 | 亚洲欧美高清无码| 9999亚洲精品| 精品91摸| 婷婷色综合| 3028国产精品| 澳门黄片一香蕉视频| 欧美激色| 久久夜嗨| 91欧美成人色站| 91在线无码精品秘 软件| 日本女人久久久| 懂色av中文字幕一区二区三区天美 | AA丁香综合激情| 国产av激情无码久久天堂| 91色欧美| 亚洲毛片久久| 好湿好紧视频| 国产精品69久久久久久久| 无码人妻丰满熟妇奶水区毛片| 日本在线视频导航| caoni国产亚洲av| 日本东京热加勒比久久| 欧美十八禁视频| 久久久久99999| 亚洲在钱| 欧美色图自拍| 影音资源男人日韩| 欧美洲精品一级| 亚州男人天堂| 啊啊啊久久| 丝袜美腿91| 欧美日韩不卡传媒| 加勒比伊人| 天天插网| 欧美性爱免费短视频| 天久久久噜噜噜久久国产精品爽爽| 麻豆天美AV传媒第一页| 伊香蕉综合久久久久久久噜噜噜 | 精品九九国产无码| 无码最新| 人人天天干干| 久热免费视频| 和协无码影院| 男人的天堂日本东京热| 亚洲蜜臀精品视频久久| 久久夜夜| 国产最新小视频在线播放下载| 特级特黄一级毛片免费| 亚洲成人免费中文字幕| 日韩中文字幕在线视频观看| 另类综合另类| 日本不卡二三区| 白丝少妇一区二区| 欧美日韩另类激情图片| 思思热一热婷婷热一热| 日本一区不卡| 女同女同恋久久级三级| 婷婷久热| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 成人性爱高清视频免费看| 国产成人在线观看综合| 婷色五月天| 色狠人在线99| 一二三四区电影| 亚洲欧洲日韩中文字幕一区| 69XX一中文字幕人妻91 | 97碰碰日本乱偷人妻中文的| 99热线麻豆| 欧美 亚洲精品首页| 精品日韩人妻精品一二三区| 色综合色综合网| 一区二区久久天天干狠狠| 亚欧洲日韩国产精品| av2014 日韩在线中文字幕| 日韩图色| 亚欧无码在线| 91 国产丝袜在线放观看| 国产欧美成人精品| 国内偷拍精品一区二区| 亚洲色图在线视频| 久久久久久裸体| 熟女探花啪啪| 日韩女模中文造逼| 久久久久久九九九九九九| 97久久国产| 岛国大片在线观看网站入口| 亚洲色图欧美另类在线| 亚洲影院成人| 秋霞男人网| 欧美亚洲中文字幕| 国产色精品午夜大片| 国产伊人自拍| 96国产精品| 欧美日日操| 麻豆人妻精品一区二区| 超碰97欧美日韩| 1000部熟女视频在线观看| 丁香五月大香蕉| 青青伊人久久| 日本性爱欧美性爱| 神马久久久久久久久久久久| 九九草| 亚洲熟女中文字幕在线| 青青草国产一区二区三区| 精品一区二区国产日韩| 操少妇很爽av| 国产精品自拍视频| 95人妻爽爽人人做人人澡| 91色综合色| 日韩精品碰碰| 9精品久久| 亚洲国产美女久久久久 | 91综合天天看| 妺妺跟我一起洗澡没忍住| 91久久久老司机| 亚洲高清无毛一区二区| 免费看污网址| 一,爱啪啪,在线免费视频| 97亚洲性爱| 久久国产乱子伦精品免费女,网站| 欧美在线播放aaaa| 综合网少妇| 91精品人妻电影| 97天天插| AAA久久| 亚洲情色 欧美| 激情看片网站| 欧美日韩在线视频网站| 一区二区三区男女操逼黄色小电影| 人妻第一页| 天堂种子在线www网资源| 中文字幕女同在线| 久久无码电影| 亚洲女人91| 五月天婷婷小说| 亚洲丝袜少妇在线| 99综合自拍| 国产精品无码成人精品| 四虎在线免费视频| 免费夜夜爱黄色视频毛片| 91天美免费| 日夜啪电影| 一中国女人毛片水真多| 青青青草原| 亚洲欧洲另类| 亚洲天堂一区二区久久| 亚洲97网站| 丁香六月婷婷久久综合| 国产一区二区二区按摩精品啪视频| 日本熟妇熟色97一本在线观看| 国产精品久久久啊| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 午夜操逼不卡| 999精品久久久久久久| 久久大香蕉手机高清视频| 一级黄色性爱裸体视频| 亚洲色交| 亚洲综合贴图91| 国产精品秘 福利姬在线观看| 国产综合色精品在线观看| 久久鲁夜| 人妻天堂综合网| 无码高清少妇久久| 久久高潮妇女视频| 天天综合网亚洲综合网| 国产不卡片| 人干人人人操人人摸| 欧美亚洲首页| 欧美精品,四区。五区| 亚洲无套久久嗯嗯| 天天精品| 午夜偷拍久久熟女| 一级AV性爱| 女人香蕉久久毛毛片精品| 色爱欲亚洲| 色色五月婷婷| 亚洲av无码成人精品国产| 熟女探花啪啪| 综合色一区三区二区| 天天射夜夜| 看黑人AV不卡| 狠狠久久亚洲欧美专区| 在线性黄高清免费视频| 国产精品无套内谢| 国产又猛又粗又爽又黄| 探花视频免费观看国产专区| 日本一二三免费久久| 久草资源欧美在线视频| 你操综合| www.色五月| www.91逼逼.com| 日韩强奸av| 综合网天天| 日本操逼视频在线| 99久久亚洲精品无码毛片潘甜甜| 国产福利在线视频网站| 亚洲导航深夜福利| 四虎影视永久在线观看精品免费网站| 伊人一区二区三区| 欧美内射少妇| 素颜老阿姨乱情色| 东京热av男人的天堂| 日本不卡三级网在线播放| 色婷婷久久| 国产一区二区视频在线播放| 最新国产亚洲精品精品国产亚洲综合| 欧美大香蕉专区网| 亚洲国产一级精品毛一级精品看免费视频| 午夜视频好爽啊| 免费的黄片有限公司| 老女人综合网| 精品人妻中文字幕高清| 亚洲成人黄色在线观看| 丝袜人妻av一区二区| 中文字幕乱码在线| 欧美影院一区二区三区| 久久精品国产精品一区 | 久久透逼视频| 6080YYY午夜理论片在线观看| 亚洲自拍天堂| 一区二区三区 日韩欧美| 亚洲人妻中文高清| 3p国产色噜噜一区| 97超碰69| 久久久久大香青草精品综合| 欧美激情亚洲| 欧美亚洲天堂| 伦伦成年午夜免费视频| 操逼网免费无码视频| a在线观看| 五月婷婷五月天| 嗯嗯啊啊操死我| 91成人国产综合久久精品蜜月| 丰满少妇高潮无码| 久久精品女同亚洲女同13| 中文字幕一区二区无码成人| 思思热国产高清| 爽极品影院| 国产一区二区啪啪视频| 大吊色| 中文字幕伊人| 综合久久9| 国产中文大片资源中文字幕| 中文字幕在线观看视频www| 小草三级久久观看| 亚洲91射| 在线岛| 激情综合五月| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 色偷综合| a'v在线资源| 人人干人人操人人..com| 这里只有精品视频在线| 亚洲精品国产精品乱码不卡| 台湾佬大香蕉| 插穴性爱视频在线观看| 一区中文字幕二区日韩| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | aaa亚无码专区| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 亚洲天天做日日做天天谢日日| 婷婷中文网| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 男女91| 国产农村妇女毛片精品久久| 人妻人人做人人澡人人爽欧美一区| 婷婷五月成人| 俺去啦自拍| 日本人妻伦在线中文字幕| 无码抄逼网| 最新精品久久蜜桃 | 中国一级αV| 午夜男人一级A片7777| 久草新免费| 在线不欧美| 日本亚洲熟女视频| 男女性扦B| 久久青青草原免费视频| 蜜臀人妻少妇久久在线观看| 中文字幕97| 激情五月天丁香| 久欲AV| 欧美亚洲色图另类国产| 欧美天堂日韩三级国产传媒| 秋霞一级鲁丝片A片| 亚洲精品男人的天堂| 免费国产| 日本国产欧美高清在线| 91爱看| 中文字幕乱码人妻二区三区| 精品十三区| 日韩av在线精品观看| 亚州色图第三区| 亚洲美女精品九九视频| 人妻激情偷乱视频一区二区三区 | 国产成人久久久精品免费AV| 亚洲另类色综合网站| 婷婷午夜成人色中色| 天天舔九色婷婷| 色波多| 少妇人妻精品| 欧美组图日韩亚洲中文字幕| 91男女啊啊啊| 亚洲欧美另类激情小说| 丁香六月激情综合| 蜜桃久久一区二区| 精品久久久久黄少妇| 96国产精品| 色播丁香| 成年人网站在线免费观看| 亚洲高清视频在线观看| 亚洲AV噜噜狠狠网址蜜桃动漫| 熟女AV一区| 日本欧美一区二区三区免费| 四季av一区二区凹凸精品小说| 亚洲一区二区三区欧美日韩| 久草看看看| 久久婷婷五月天| 国产精品一区二区三| 理论久久婷婷网 8| 日韩国产乱子伦App| 国产后入式在线观看| 98色网| 久久av无码| 一区二三区四区视频大全套| 亚州精人品大香蕉| 国产99精品一区二区三区免费| 日韩中文字幕精品一二三事国产精品| 婷婷色网| 欧美精品一区二区少妇免费A片 | 亚洲欧美一区二区网址| 亚洲日韩东京热一区| 99啪啪视频| 国产强奸乱伦欧美| 欧美96交| 久久精品视频一区三区小泽玛利亚| 欧美网站免费| 日韩成人在线性爱视频| 怡红院成人视频| 91精品成人| 国产精品大香蕉| 在线岛国新天堂8| 可乐操亚洲蜜911| 美女97超碰| 99ri在线视频| 日韩人妻中文视频| 亚洲中文字幕熟女| 欧美性夜| 99色热| 日欧毛片久久| 国产精品久久久视频| 久久一区二区三区入口| 国产极品精品美女视频| 色臀av| 少妇久久久免费| 英伦大奶子熟妇吊带| 激情综合婷婷| 亚欧性爱ab| 日韩性爱1级片视频| 91丝袜| 久久精品女同亚洲女同13| 天天做天天爱天天爽AV| 超碰亚洲97| 午夜高清成人在线视频| 人人操人人插人人摸人人干| yaouchengrenav| 好吊色综合| 成人七区| 久久AV无码AV| 婷婷色综合欧美日韩| 精品人妻一区二区三区不卡断 | 精品传媒在线一区| 97超碰欧美精品| 中出20p| 亚洲欧美综合网站| 日韩av电影网站| 人妻天天爽| 日本黄色裸日本黄色裸体| 厕所偷拍在线| 久视频在线观看| 蜜桃色色网站视频三区| 丰满少妇一区二区三区四区观看| 蜜臀久久99精品久久综合| 久久久久国产无av| 97超碰jingpin| 日韩人妻精品久久久久| 色精品极品| 韩日男人的天堂| 男人的天堂激情| 国产13区| 欧美一区二区成人一卡| 中文一区在线日| 亚洲影视第一页| 四虎精品永久在线观看| 超碰97丝袜| 五月丁香黄色网| 免费av在线播放二区| 日本一区二区三区午夜观看| 在线精品福利免费播放| 99热啪啪| 国产久久日韩网站导航| 神马久久69| 九九热精品视频六| 69XX一中文字幕人妻91| 中文字幕91页| 五月天激情网站| 91夜色chaopeng| 亚州熟妇精品| 97超碰护士| 韩国手机不卡无码三级视频| 中文字幕黄色片| 亚洲熟女国产综合另类| 新视频sss国产| 国产综合久| 亚洲不卡三级手机播放| 人人操人人操草草| 青青操97| 91欧美少妇| 26uuu最新| 欧日a| 丰满人妻一区二区三区在线| 97jingpin| 日夜伊人网| 五月天丁香婷婷综合网站| 一区二区三区精品黑丝白丝酒店对鸡| 中文字幕久久精视频久久大全| 亚欧美色图| 乱伦日本中文自拍| 99久久9| 99青青草国产视频| 超碰地址久久| 91精品无码人妻系列| 午夜精品99久久久久传媒| 亚洲爱爱视频一区二区| 东京热天堂网| 91色久| 北条麻妃性愛视频| 亚洲国产综合视频| 婷婷激情五月| 一本色道久久综合狠狠操| 国产黄色剧情影片麻豆免费播放| 九月婷婷综合| 久久精品国产97欧美精品亚洲 | 日韩欧美亚洲一区二区三区影院| 精彩视频日韩| 精品天堂| 色婷久久| 婷婷丁香人妻| 99热这里只有精品地址| 日韩欧美天天爽爽爽天天爽爽| 干超碰碰熟女| 日韩三级一区 | 精品乱码在线观看| 国产理论视频在线播放| 无码人妻系列少妇| 亚洲国产欧美另类自拍| 夜夜综合| 亚洲国产成人精品999| 射 色综合| 人妻丝袜一区二区三区在线| 五月激情小说| 搡老女人老91二区| 精品国产一区二区三区av在线资源| 97免费视频在线观看视频| 91av一区二区在线观看| 91中文精品日韩欧美在线| 蜜桃av色偷偷av老熟女| 亚洲日本韩国极品一区二区| 久久久久久久人妻丝袜| 美女露胸露奶头| 婷婷五月天激情四射| 发朗少妇买婬全视频中文| 日韩十八禁| 国产久久一区二区午夜| 日韩大香蕉| 欧美日韩色图片| 性天堂| 国产精品经典一卡久久久 | 无码高清操逼| 久久m| 伊人黄色视频免费观看| 欧美亚洲韩国视频十五区| 激情专区综合| 久久久久夜夜夜夜| 夜夜狠狠躁日日躁色视频| 黄色av网站在线播放| 97热视频在线观看| 91精品综合久久久久久五月丁香| 少妇久久久| 一区二区三区四区久久视1| 国产精品麻豆视频网站| 狠狠入| 久九九九九九九热| 中国乱伦一区二区| 97日亚洲欧美| 国产精品网站免费| 国产在线精品偷| 97超碰久久| 97超视频在线观看| 亚洲激情网一二三四区| 亚洲春色欧美激情自拍| 91九色丰满高潮| 国产精品白虎| 国产一级黄色片在线观看| 九九热三级片| 国产AV人人夜夜澡人人爽麻豆| 久久大香蕉| 国产狂喷潮在线精品| 亚洲亚洲亚洲天堂天堂| 亚洲国产精品久久久久婷婷青年| 蜜乳性色无码专日粉嫩骚逼AV| 亚洲高清91| 欧美另类自拍| 国产原创自拍| 国产精品宅男免费| 国产福利一区二| 久久久久久中文| 口爆欧美91| 大香蕉综合| 国产精品无码久久久久2025| 高潮精品| 97鸡把在线视频| 欧美国产一区二区三区麻豆传媒 | 夜夜嗨一区二区三区直播内容| 日本一区99| 亚洲激情综合| 亚洲九月丁香| 亚洲va有码在线天堂| 九九热九九| 精品一区二区2| 日日噜噜夜夜久久亚洲一区二区 | 麻豆伊人网| 狠狠躁AV| 日韩啪啪啪啪啪| 日韩一级欧美一级在线观看| 九色精品视频导航1| 东京热一区二区中文字幕| 青青草原香蕉日本Ap| 日本中文字幕一区| 2017大香蕉国产精品久久| 久久一二区四| 日本天天人人狠狠在线日美女 | 精品少妇一区二区三区| 搡老女人老91妇女熟女| 亚州欧美总和| 久久亚码| 伊人亚洲综合| 99re在线视频国产| 台湾佬中文娱乐网久久久久久久久久com | 国产精品探花色| 日本性感人妻91| 国产自制av蜜乳| 女人天堂av在线播放| 一区二区三区高清 | 99热精品在线观看| 艹我哪美一区无码| 91在线页| 欧美色九九九| 麻豆人妻少妇在线免费观看| 抽插爽| 日韩电影天堂视频二区三区| 熟女一区二区三区| 91久久国外网| 欧美草草| 国产97色在线| 国产内射爽爽大片| 亚洲性爱电影| 国产一级作爱毛片| 国产免费一区在线观看| 欧美亚洲日韩人妻在线观看| 超碰超碰95| 熟啊v色欧美热| 在线观看视频91| 超碰视97中文| 青娱乐啪啪视频| 亚洲无码com| 天天操夜夜操狠很操| 午夜爽爽爽在线观看永久入口姬片| 亚洲国产麻豆一区二区三区| 亚洲精品99| 91麻豆天美国产| 超碰69| 欧美97色| 九九综合久久中文字幕| 午夜色婷婷| 91肏屄网| 国产热av| 一起草高清无码| 国产精品久久99日日| av资源在线播放天堂| 中文字幕丝袜美腿| 色欲久久99精品久久| 96久久久| 欧美午夜一区二区三区| 欧美精品另类人妖xxxx| 亚洲熟久久| 91熟女丨老女人| 日本精品网站在线中文| 五月婷婷色| 亚洲欧美setu| 91五十路| 性爱1区| 中文字幕乱码人妻二区三区| 欧美日韩性爱无码| 亚洲一区中文字幕一区| 成人小说视频在线精品欧美| 天天懆天天日| 午夜天堂精品久久久久91| 蜜臀AV成人精品蜜臀AV久久| 国产深喉| 性爱Av免费| 亚洲春色激情小说| 久久精品六区| 欧美性爱91| 久久国产精品一级二级三级| 97在线欧| 超碰人妻天天干| 久久精品视频久久久| 欧美色图小说综合| 色综合久久av| 久久久久久性爱视频| 久久久极品| 亚洲成a人在线观看久| 久久人妻四季| 亚洲丝袜诱惑| 夜夜草网站| 国产精品午夜福利视频| 情趣丝袜无码操逼视频| 美女尤物福利视频| 男人的天堂com| 乱伦系列一区二区| 九热超碰| 粉嫩不卡一区二区性爱| 日韩精品电影| 日韩激情啪啪啪| 欧洲一区二区三区免费| 无码操逼视频一下| 97久久超碰国产网站| 久久精品国产Aⅴ| 夜夜肏2021| 久久久久久久久一区二区三区| 妺妺跟我一起洗澡没忍住| 亚洲综合校园春色| 日本欧美亚洲高清在线看| 色悠久久久av| 日本日皮视频逼| 91色伦| 欧美日韩性爱视屏免费看了| 夜夜春夜夜操| 午夜男女爽爽爽在线视频| 国产深喉| 嗯嗯啊啊视频在线看| 亚洲黄色AV电影| 精品国产乱码久久久久久影片| 亚洲综合20p| 91九久| 日韩强奸av| 亚洲天堂人人妻| 99在线无码精品秘 入口黑人 | 97综合久久| 国产怡红院| 中文字幕五月婷婷免费| 蜜乳av一区二区三区四区不卡| 亚洲欧综合另类无码一区| 欧美日本视频一区| 五月激情小说| 蜜臀无码视频在线观看| 99啪啪| 91足交| 国产欧美另类久久久精品课程| 日日干日日| 一区在线精品中文字幕| 啊啊啊啊操死我了| 天美麻花大全视频| 青娱乐淫乱1314| 最新精品久久蜜桃 | 在线亚洲 欧美 日本专区| 熟妇国产免费一区| 五月婷婷综合网| 亚洲啪啪视频免费| 国产午夜福利合集| 嗯嗯嗯不要不要免费视频| 人人操人人摸人人看人人干| 嗯嗯不要 视频| 成年男人的天堂| 一级久久性爱视频| 国产精品99999| 亚洲图片 激情小说| 亚洲成人免费电影| 九九视频黄色片| 少妇三p| 农村妇女精品一区二区| 狠狠穞A片一區二區三區| AV一起草在线| 人妻天堂三区| 国产一区二区久久| 国产女上位好爽在线| 亚洲天堂人妻熟妇视频| 超碰97久久| 美女91网址| 丰满搜索结果 -第18页- 久久高清无码 | 日本人妻中文字幕| 干B网| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 狠狠干综合| 操操操日本的逼| 久久性爱视频免费看| 亚洲春色欧美| 香蕉免费一区二区三区不读| ,国产乱人伦精品一区二区三区| 多乙久久久久久| 十八禁视频一区二区| 超碰97 线线 在现| 欧美,日韩,中文,另类| 97视频7| 日本不卡高清免v欧美日韩在线观看| 激情五月天社区| 国产亚洲女v在线观看| 高清国产精品福利网站| 欧美 色 亚洲| 97欧美资源| 黑人粗大V S日韩女优视频| 久久一二三四不卡 | 少妇综合网| JuliaAnn丝袜熟女系列| 日韩成人小视频| 久草线上视频免费看| 99只有精品| 欧美色日本| 久久偷拍人| 国产传媒1234区| 青青草亚洲一区| 内射日韩大臀美女| 亚洲中文制服诱惑| 999久久久久久久精| 青青草九九九九九| 97爱爱爱综合| 91女网站| 亚州色图狠狠干| 97视频620| 中文字幕十五区| 无码人妻精品一区二区三区九九 | 综合网少妇| 国产又粗又长视频| 熟妇熟女一区二区三区| 97干97色| 操逼视频国产无套| 1人人看人人摸人人操| 草草影院日本第一页| 一区二区三区视频国产免费| 免费伦费视频在线观看| 日韩免费看黄片| 9久热| 国产精品青青草| 久久精品亚洲东京热色播| 色五月第四色| 天天综合网合集91| 狠狠躁伊人中文字幕| 思思热一热婷婷热一热| 精品一啪| 99热超碰| 久久精品亚洲东京热色播| 91在线色| AV男人天堂网| 久久春色| 6080YYY午夜理论片在线观看| 亚洲精品影视老司机| 综合色播| 欧美一区二区三区大综合| 中国的操老妇女| 青青青在线高清视频在线一二三四区| 国产精品com| 免费的很黄很污的全部视频| 女人爽到高潮潮喷18禁网站 | 国产辣妈在线视频福利| 伊人五月天激情| 大香蕉宗合网在线| 大乔未久88一区| 大香久久| 国产欧美岛国精品一区| 日本有码久久| 91女优在线观看 | 天天情欲宗合网| 久操视频在线观看| 亚洲 国产 精品一区| 亚洲性爱高潮影院| 91超碰碰在线| 天天影视色香欲综合网小说| 91干熟女| 神马久久久久久久久久| 九九热精品视频六| 免费的很黄很污的全部视频| 天美AV片| 欧美综合在线第一页| 明星性猛交ⅹxxx乱大交| 天天色播亚洲综合网站| 97久久久精品| 久草新在线| 啪一啪免费视频| 欧中日成人免费影视| 国产91 丝袜在线播放 | 日韩午夜国产| 国产日本一区二区三区蜜臀在线观看| 久久亚洲精品成人av| 日韩精品人妻中文字幕有码午| 好湿好紧视频| 日韩Va亚洲va欧美Ⅴa久久| 伊人五月天青青草婷婷| 97久久久久| 333kkkk·亚洲com久久| 韩国三级三级BD在线| 97综合国产| 色噜噜综合网| 色婷婷A V一二三四区麻豆综合| 91被操| 在线啊啊啊啊| 免费视频一二三区| 开心五月激情网| 茄子社区国产精品| www.大香| 色香在线| 欧美性爱中文字幕无线码| 国产超碰在线一区| 人人性爱视频免费| 精品久久99| 精品人妻一区二区三区四区不卡在| 欧美日韩第一页| yazhouzaixian| 日韩AV无码中文一区二区| 亚洲自拍一区夜夜操| 久久久久亚洲熟妇熟女| 亚洲AV乱码专区国产噜噜亚洲| 国产精品操| 久久婷婷色综合一区二区三区| 国产欧美另类久久久精品课程| 秋霞视频一区二区| 久久蜜桃一区二区| 婷婷五月天激情网| 国产福利合集| 久久久久久夜夜夜夜夜| 国产操逼网站亚洲一级黄色| 日本一二区免费| 激情婷婷综合久久| 日日AV加勒比| 99精品视频在线观看免费| 欧美性综合| 五月天丁香婷婷综合网站| 亚洲怡春院| 综合婷婷| 久久久久久九九九| 欧美欲色| 亚州免费啪啪视频| 白嫩妹子国产骚| 欧美夜夜狠| 香港澳门日本三级网站| 手机久操欧美综合色码| 欧美日韩性爱操大逼| 91 综合网| 欧亚乱色熟一区二区三四区| 亚洲精品一区二区精品| 色哟哟av网址| www久久久| 久久的免费性爱视频| 蜜桃色院一区久久 | 蜜桃成人1区2区3区| 国产午夜精品理论片一二三区区 | 最新日产中文在线麻豆| 亚洲激情在线| 96AV久久久| 少妇高潮对白在线观看| 人人妻人人爽| 天天看特黄的免费网站| 强奸乱伦αv片| 精品69网| 啊啊啊要高潮了| 99热综合| 天天色黄色影院天天操| 91天美免费| 69人妻精品丰满熟女区| 大香蕉五月天婷婷| 亚洲av无码国产精品字幕| 亚洲国产精品久久久久婷婷老年| 日韩精品一二三四| 国产精品美女在线一区| 久久系列| 亚洲清纯唯美| 影音综合网| 色九月婷婷| 东北丰满熟女国产一区| 另类图片天天影视| 99re6在线视频精品免费完整版安卓版| 无码9区| 东亚亚洲无码高清| 你懂的在线观看区国产 | 99色视频| 久久久久久久亚洲Av无码| 视频不卡中文字幕| 在线观看啊啊啊啊啊| 欧美色图片91| 欧美夜夜狠| 天天看,天天做| 久久久久久久伊人精品| 外国91| 日韩综合第八区国产精品| 色大师网站www永久网站视频| 精品久久一区二区三区四区五区| 天天搞在线综合网| 国产精品亚洲色婷婷久久久| 亚洲色阁| 精品国产乱码久久久| 伊人在线大香蕉视频久久| 人人超碰在线观看黄| 欧美日韩国产传媒在线精品| 色九月| 熟女乱伦二区| 日韩精品永久在线观看| 岛国色情视频在线观看| 97精品一区二区视频| 91精品老女人| 色噜噜国产精品视频一区二区| 偷拍亚洲情色| 久草久日| 欧美人妻另类在线| 91精品久久久久久77777| 日日A∨| 丁香五月天久久精品视频一区二区三区| 91天天日| 人人妻人人操人人乐| 天天综合日韩网| 人妻天堂综合网| 亚洲熟妇自偷自拍另欧美| 五月天激情小说| 五月色综合| 五月婷婷深深爱| 开心激情站| 淫淫总合网| 欧美久久草熟女| 中文字幕日产av人| 日韩二级| 你草精品在线视频| 福利一级版子| 亚洲性感丝袜诱惑在线观看| 国桃视频产巨乳精品一区二区在线| 九九热精彩视频| 久久综合久色欧美综合狠狠 | 五毛骚逼极品美女怕怕| 亚洲999综合| 五十路熟女在线不卡观看一区二区| 91九九九吃| 中文字幕日韩情色| 久久香蕉国产线看观看亚洲女人 | 精品视频一区二区| 日日躁夜夜躁狠狠躁超爽| 黄页| av网站免费线看| 做爱A级亚欧| 亚洲蜜桃V妇女| 婷婷六月色| 肥臀熟女福利视频一区二区| 操操操操操操| 色呦色呦色精品| 美女天天干| 日本道不卡| 日韩精品碰碰| 日本三级韩三级99久久| 无码99| 色综合20p| 国产精品久久泡妞网站| 综合亚洲欧美精品日韩?v| 少妇人妻太紧太深av| 亚洲欧洲网站免费观看| 大香蕉手机在线视频| 98精品国产乱码久久久久久| 激情文学亚洲| 99久久精品国产系列| 日韩欧美国产一区二区三区四区| 综合激情婷婷| 久久超碰、| 久9久9久9久9久9久9| 91色综合| 91成人精品在线播放| 久久五月份| 性性久久| 校园春色 欧美| 国产av又色又爽又黄| 婷婷爱五月| 熟女AV一区| www.男人的天堂| 久草国产在线视频| www.狠狠干.coom | 韩国毛片一区二区三区| 老熟妇乱轮| 亚洲欧美中文日韩视频中国语| 日韩美女久久一区二区三区| 久久9精品网站| 午夜国产成人精品视频| 操逼日韩无码| 蜜臀亚洲综合一二三四区| 日本一二区不卡| 一级黄色牲爱A级片| 欧美综合色站| 男女国产精品| 日韩乱伦视频| 性性久久| 国产粉嫩蜜臀av一区二区三区 | 极品色电影院| 日本成熟少妇A∨网站| 色五月婷婷久久| 岛国999| 亚洲精品乱码线路中文字幕| 神马精品视频| 亚洲欧美国产精品久久久久久久| 亚洲成人性爱网站在线播放| 天天操天天射青青草| 欧美熟妇色| 欧美性爱伊人| 亚洲综合骚逼| 91影库| av操操不卡| 东京热男人的天堂| 欧美精品四区| 久久久一区二区三区麻豆| 伊人黄色视频免费观看| 做爱福利视频一区二区| 日韩字幕一区| 亚洲精品一二三四区| 国产日韩久久| 亚洲91少妇| 久草免费在线视频| 色婷婷丁香五月| 国产午夜精品一区二区三区牛牛| 五月婷婷丁香中文字幕| 国产精品国产| 丁香五月综合| 91欧美巨乳| 日本高清一区二区在线| 九九九九97| 天天日B夜夜干B时时操B| 97超色| 一级啊性爱在线视频| 后入福利| 亚洲夜夜欢无码一区二区| 色97欧美| 久碰视频| 精品黄色电影| 肥臀熟女福利视频一区二区| 亚洲最新Av| 久久精品老司| 视频在线观看免费一区二区三区 | 无码WWW免费视频网站| 免费亚洲国产精品久久一区| 欧美日韩国产高清在线一二三区| 国产精品久久久久久夜夜夜夜| 全免费a敌肛交毛片免费| 中文字幕第95页| 性做久久久久久免费观看软件| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 五月色网| 91成人无码| 一区二区三区男女操逼黄色小电影| 在线观看亚洲成人精品| av线电影| 色区久久| 成人国产视频在线观看| 熟女欧美日韩综合婷婷| 国产99久久99热这里只有精品15 | 东京热激情视频一二三区| 日韩精品字幕| 婷婷九月国产| 欧美亚洲综合色| 亚洲AV麻豆Aⅴ无码电影一| 日韩资源网| 狠狠操综合| 亚洲精品一二牛牛| 97超级色碰碰| 日本久操视频| 岛国黄| 久夜视频| 97在线观看免费视频l| 免费A V在线| 桃花色综合影院| 无码精品啪啪啪一区二区三区三州| 一区二区三区精品黑丝白丝酒店对鸡| 久久久久亚洲熟妇熟女| 久久久9 9 9精品| 美女人妻色网站| 欧美专区日本专区| 日产操逼| 青青草华人在线欧美在线| 小草三级久久观看| 日韩视频啪啪| 免费人成毛片乱码| 天天搞欧美| 好看的91视频| www.超碰| 777AV电影| 五十路熟女人妻一区二区三区四区五| 亚av顶级裸体一区二区三区四区五区 | 区一二区日韩亚洲乱码av电影| 强免费黄色网址| 黄片免费视频2019| 日本久久超碰| 97精品在线| 超碰在线974| 色播五月丁香| 国产区性爱在线视频秋霞豆| 久久成年片色大黄全免费网站| 青草青青久久久久久国产| 中文字幕日韩精品一区二区三区| 欧美日韩国内不卡| 欧美性爱无码一区二区三区| 久久加勒比| 99热这里只有精品1| 老女人碰碰在线碰碰视频| 精品久久久av| 婷婷五月天av| 九九无码视频| 国产AV久久野战精品| 日本精品一级二级三级| 久久久夜夜夜| 2019男人的天堂| 精品九九淫乱男| 夜夜狠狠躁日日躁色视频| 四虎永久在线精品免费网址| 五月婷色| 久操精品网| 自拍大香蕉乱插| 日韩卡一卡二卡三在线| 影音先锋乱伦资源| 粉嫩av平台| 热思思免费视频| 97干色| 亚洲欧美黄| 欧美色视| 2017天天插| 熟女熟妇一区二区三四区| 天天综合91入口| 欧美在线第五页| 欧美在线干| 九九九九九九九| 超碰无码五月97| 亚洲国产亚洲天堂| 久久久久久久久久久久欧美日| 九一精品牛牛一区二区| 国产精品久久久久久久久久久久久久久久久久 | 国产 无码 一区二区| 最新中文字幕精品在线| 人干人人人操人人摸| 国产无马视频| 在线观看国产黄色| 欧洲熟妇xxXx欧美老妇裸体| 国产超碰| 婷婷九月| 亚洲人精品久久久喷水| 久久国产视频专区一二三| 久久欧洲| 色亚州人久干视频在线观看免费版| 欧美高潮|