欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

Python實現(xiàn)GBN可靠傳輸協(xié)議:滑動窗口與超時重傳實戰(zhàn)解析

Python實現(xiàn)GBN可靠傳輸協(xié)議:滑動窗口與超時重傳實戰(zhàn)解析 簡介這是一份計算機網(wǎng)絡(luò)課程實驗源碼基于Python模擬數(shù)據(jù)鏈路層的Go-Back-NGBN協(xié)議借助UDP套接字實現(xiàn)可靠文件傳輸。協(xié)議采用發(fā)送窗口滑動機制當接收端檢測到數(shù)據(jù)出錯或丟包時發(fā)送端從出錯幀開始回退重發(fā)代碼完整復現(xiàn)了這一過程。資源面向計算機、通信、自動化、電子信息等專業(yè)的學生與學習者既適合完成課程設(shè)計、上機作業(yè)也適合作為理解滑動窗口、超時重傳和確認機制的動手示例。壓縮包共含21個文件整體大小僅22KB其中12個Python腳本構(gòu)成項目核心覆蓋幀封裝與解析、文件分包與重組、UDP數(shù)據(jù)收發(fā)、地址及字節(jié)轉(zhuǎn)換、隨機差錯注入、日志輸出和配置讀取等模塊7個配置文件可調(diào)整仿真參數(shù)另有1份txt與1份md說明文檔輔助環(huán)境搭建與使用。代碼模塊劃分清晰可直接在本地運行觀察不同丟包場景下GBN協(xié)議的重傳行為也可作為基礎(chǔ)擴展實現(xiàn)選擇性重傳SR或停等式ARQ實驗。目前該資源已有425人瀏覽學習經(jīng)測試運行成功適合網(wǎng)絡(luò)課程實驗參考與二次開發(fā)。1. 傳輸總卡在“文件收不全”GBN協(xié)議實驗到底考什么很多做過《計算機網(wǎng)絡(luò)》課程實驗的人都有這種體驗用 Python 寫個 UDP 收發(fā)單條消息來回傳都正常ping 也通但只要把數(shù)據(jù)鏈路層的 GBN 協(xié)議掛上去做“可靠文件傳輸”就總在最后階段出問題——文件傳了一半卡住、校驗值對不上、重傳風暴把吞吐打沒。這個實驗考的不是你會不會調(diào) socket而是你知不知道滑動窗口、累計確認、超時重傳這三個機制如何配合才能在一個會隨機丟幀、損壞、亂序的信道上把文件原樣傳完。本篇文章會沿著“原理→源碼實現(xiàn)→參數(shù)調(diào)優(yōu)→踩坑→驗證”的順序把一個能跑通的 Python GBN 模擬數(shù)據(jù)鏈路層方案拆開講清楚。適合正在做計網(wǎng)課設(shè)的學生也適合想補一補“可靠傳輸協(xié)議落地細節(jié)”的開發(fā)者。2. 先弄懂 GBN 的可靠傳輸模型滑動窗口、累計確認與超時重傳為什么缺一不可2.1 GBN 協(xié)議在數(shù)據(jù)鏈路層管什么丟包、損壞、亂序三個對手數(shù)據(jù)鏈路層的基本功能里有一項叫可靠傳輸。物理鏈路上會出現(xiàn)三種典型的“壞人”噪聲導致比特翻轉(zhuǎn)從而讓幀損壞網(wǎng)絡(luò)擁塞或沖突導致幀丟失并行路徑或緩存抖動導致幀到達順序錯亂。如果直接把這些壞幀交給上層文件寫入輕則文件內(nèi)容對不上重則寫入流程直接崩潰。GBNGo-Back-N后退 N 幀就是針對這三類問題設(shè)計的一套滑動窗口協(xié)議。GBN 的思路非常樸素發(fā)送端允許連續(xù)發(fā)送 N 個幀但只保留一個定時器接收端只按順序接收凡是序號不是自己期望的那個幀一概丟棄。丟掉的幀怎么補靠發(fā)送端超時后把窗口內(nèi)所有已發(fā)送未確認的幀從頭重傳一遍。為什么要全部重傳而不是只傳那一個壞幀因為接收端不緩存亂序幀發(fā)送端無法確定窗口內(nèi)哪些幀被接收端收下了干脆從最早的未確認幀開始整體后退這正是“Go-Back-N”得名的由來。很多初學者會拿 TCP 的經(jīng)驗來套 GBN覺得應(yīng)該像 TCP 那樣接收端緩存亂序數(shù)據(jù)、發(fā)送端只重傳缺失段。如果你這么想就混淆了 GBN 和 SR選擇重傳。在課程實驗這種簡化模型里接收窗口為 1 是 GBN 的標志性設(shè)定接受“亂序幀必須丟棄”這個設(shè)定后面的代碼才寫得順。2.2 為什么用 Python UDP 模擬數(shù)據(jù)鏈路層而不是直接寫鏈路層課程實驗不可能讓你去改網(wǎng)卡驅(qū)動或直接操作 HDLC/PPP 幀所以常見做法是在 UDP socket 之上模擬出“一條不可靠信道”然后再在這條信道上實現(xiàn) GBN 協(xié)議。換句話說你的應(yīng)用進程里跑的這段代碼就是“模擬的數(shù)據(jù)鏈路層”UDP 扮演的是底下那根會出錯、會丟幀的物理線路。這里有一個高頻誤解有人覺得“既然學的是數(shù)據(jù)鏈路層就應(yīng)該拿 TCP 來做”。恰恰相反UDP 沒有擁塞控制、沒有重傳、沒有滑動窗口才能讓你自己實現(xiàn)完整鏈路邏輯如果用 TCP底層把丟包重傳全干了你的 GBN 代碼根本觸發(fā)不了超時實驗結(jié)果永遠是“一次通過”什么都學不到。還有一個重要細節(jié)UDP 只能保證“數(shù)據(jù)報的發(fā)送順序”在絕大多數(shù)情況下等于到達順序但它不承諾不丟、不亂、不錯。在局域網(wǎng)本地回環(huán)上測試時丟包率接近 0很多問題根本暴露不出來。為了讓實驗具有演示價值和說服力通常需要在發(fā)送端或一個中間轉(zhuǎn)發(fā)函數(shù)里人為引入丟包和損壞概率制造“不可靠信道”的效果。這一步看著不復雜但恰恰是后面驗證 GBN 是否真的可靠的關(guān)鍵。2.3 窗口模型與序號空間的約束WINDOW 能設(shè)多大、為什么 W 必須小于序號空間GBN 的性能優(yōu)勢來自連續(xù)發(fā)送。設(shè)信道時延為 RTT若采用停等協(xié)議發(fā)送端每發(fā)一幀都要等確認鏈路利用率大致是 1/(1 2a)而 GBN 的發(fā)送窗口為 W 時理論上可以把利用率拉到接近 W 倍。窗口越寬吞吐越高但窗口不可能無限大因為序號字段是有限的。以常見實現(xiàn)為例如果序號用 1 字節(jié)表示取值范圍是 0~255那么發(fā)送窗口 W 的最大值必須滿足 W 256。更嚴謹?shù)慕Y(jié)論來自“新舊幀區(qū)分問題”發(fā)送端重傳一個舊幀時如果它的序號和接收端期待的“下一個新幀序號”重合接收端會誤判新幀導致重復寫入。因此標準結(jié)論是對于 n 位序號GBN 的最大發(fā)送窗口為 W_max 2^n - 1。我在課設(shè)里一般會做兩層冗余保險序號字段直接用 2 字節(jié)struct 的 H 格式取值范圍擴大到 0~65535窗口大小壓到 4~16 之間。窗口開得過大不僅讓“新舊識別”變得危險還會把 UDP 接收緩沖區(qū)打爆這在 5.3 節(jié)會細說。你如果看到一個 WINDOW 參數(shù)第一反應(yīng)應(yīng)該是把序號位數(shù)抄出來算一下邊界而不是直接調(diào)大窗口跑。邊界沒守住時出現(xiàn)的故障現(xiàn)象往往非常隱蔽——文件偶爾能傳對偶爾會在中間多出一段重復內(nèi)容。3. 把 GBN 協(xié)議跑起來Python 發(fā)送端、接收端與文件分幀實現(xiàn)3.1 實驗環(huán)境Python 安裝與 vscode 配置只依賴標準庫開始寫代碼前先確認環(huán)境裝好 Python 3.8 以上版本即可Windows、Linux、macOS 都行。用 vscode 的話裝一下官方 Python 擴展就能跑用 pycharm 配置 python 環(huán)境也一樣。這個實驗只用 socket、struct、zlib、threading、random 這些標準庫不需要 pip install 任何第三方包所以環(huán)境問題幾乎不會卡住你。工程文件建議拆成三個模塊gbn_common.py放幀封裝、解析和 CRC 校驗函數(shù)gbn_sender.py放發(fā)送端邏輯gbn_receiver.py放接收端邏輯。這樣你在調(diào) bug 時可以單獨 import 某個函數(shù)做單元測試。UDP 通信地址用127.0.0.1:8000接收端 bind 這個端口發(fā)送端向它發(fā)數(shù)據(jù)。如果要在兩臺機器上做演示把收發(fā)地址換成真實 IP 即可但記得關(guān)閉防火墻或放行對應(yīng) UDP 端口。3.2 幀結(jié)構(gòu)設(shè)計與 CRC 校驗兩個函數(shù)搞定組幀和驗幀幀結(jié)構(gòu)是整個協(xié)議的地基。我采用的幀格式為2 字節(jié)序號、1 字節(jié)幀類型、2 字節(jié)數(shù)據(jù)長度、4 字節(jié) CRC32、變長 payload。幀類型定義兩個值0 表示文件頭幀寫入文件名、文件大小、總塊數(shù)1 表示數(shù)據(jù)幀。文件頭單獨用一種幀是因為接收端必須先拿到文件信息才能創(chuàng)建文件和判斷傳輸完成條件。# gbn_common.py幀封裝、解析、CRC校驗 import struct, zlib TYPE_FILE_HEADER 0 TYPE_DATA 1 HEADER_LEN 9 # H B H I 2 1 2 4 def make_file_header(seq: int, name: str, size: int, total_blocks: int) - bytes: payload b\n.join([name.encode(), str(size).encode(), str(total_blocks).encode()]) return make_frame(seq, TYPE_FILE_HEADER, payload) def make_data_frame(seq: int, payload: bytes) - bytes: return make_frame(seq, TYPE_DATA, payload) def make_frame(seq: int, ftype: int, payload: bytes) - bytes: # 校驗對象包含 序號類型payload防止 seq/type 被篡改而漏檢 crc zlib.crc32(struct.pack(!H B, seq, ftype) payload) 0xffffffff header struct.pack(!H B H I, seq, ftype, len(payload), crc) return header payload def parse_frame(frame: bytes): if len(frame) HEADER_LEN: return None seq, ftype, length, crc struct.unpack(!H B H I, frame[:HEADER_LEN]) payload frame[HEADER_LEN:HEADER_LEN length] calc zlib.crc32(struct.pack(!H B, seq, ftype) payload) 0xffffffff if calc ! crc: return None # 校驗失敗調(diào)用方直接丟幀 return seq, ftype, payload代碼邏輯不復雜但有三個關(guān)鍵點值得說。第一CRC 的計算范圍把“序號類型”也包括進去了這樣如果有人模擬鏈路層噪聲把 seq 字段翻轉(zhuǎn)了校驗也能發(fā)現(xiàn)只對著 payload 算 CRC 是課設(shè)里最常見的漏檢寫法。第二struct.pack(!H B H I, ...)里的感嘆號表示網(wǎng)絡(luò)字節(jié)序發(fā)送和解析統(tǒng)一用這個格式就不會出現(xiàn) ACK 序號解析錯位的怪問題。第三幀頭固定 9 字節(jié)接收端拿到完整幀后先校驗再處理先處理后校驗是本實驗頭號坑之一。3.3 發(fā)送端核心循環(huán)窗口發(fā)送、累計確認、超時重傳發(fā)送端是 GBN 機制中邏輯最重的一端。它要維護兩個指針base指向窗口內(nèi)最老的未確認幀next_seq指向下一個待發(fā)送的新幀。窗口未滿且還有數(shù)據(jù)就連續(xù)發(fā)送收到 ACK 后把base推進超時則把base到next_seq-1的所有幀全部重發(fā)。# gbn_sender.py發(fā)送端核心循環(huán)節(jié)選 import socket, struct, zlib, time from collections import deque HOST, PORT 127.0.0.1, 8000 WINDOW 8 # 發(fā)送窗口大小 TIMEOUT 0.3 # 重傳超時秒局域網(wǎng)可取 0.2~0.5 BLOCK 1024 # 每個數(shù)據(jù)幀 payload 大小 sock socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.settimeout(TIMEOUT) addr (HOST, PORT) # 第0幀文件頭用停等方式先確認保證接收端拿到文件信息 header_frame make_file_header(0, test.bin, file_size, total_blocks) while True: sock.sendto(header_frame, addr) try: ack, _ sock.recvfrom(1024) if parse_ack(ack) 0: break except socket.timeout: continue base, next_seq 1, 1 frame_cache {} # 窗口內(nèi)緩存用于超時重傳 while base total_blocks: # 窗口沒滿就繼續(xù)發(fā)這是 GBN 連續(xù)發(fā)送的關(guān)鍵 while next_seq base WINDOW and next_seq total_blocks: frame make_data_frame(next_seq, chunks[next_seq - 1]) frame_cache[next_seq] frame sock.sendto(frame, addr) next_seq 1 try: ack, _ sock.recvfrom(1024) ack_seq parse_ack(ack) if ack_seq base: base ack_seq 1 # 累計確認ACK(5) 表示 0~5 全部收到 for i in list(frame_cache): if i ack_seq: del frame_cache[i] except socket.timeout: # Go-Back-N 的核心動作超時窗口內(nèi)全部重傳 for i in range(base, next_seq): sock.sendto(frame_cache[i], addr) time.sleep(0.001) # 輕微限速避免瞬間打爆 UDP 緩沖這個循環(huán)里有三個決定可靠性的細節(jié)。第一個是“累計確認推進 base”收到ack_seq后直接讓base ack_seq 1因為 GBN 的 ACK 攜帶的是“目前已連續(xù)確認到的最大序號”不需要為窗口內(nèi)每一幀單獨確認。第二個是超時后重傳全部窗口幀而不是只重傳base幀這正是和 SR 協(xié)議的最大區(qū)別。第三個是frame_cache只保留窗口內(nèi)的幀ACK 推進后及時清理避免大文件造成內(nèi)存膨脹。3.4 接收端核心循環(huán)期望序號校驗、落盤與重復 ACK接收端比發(fā)送端簡單很多它只有一個狀態(tài)expected即下一個期待到達的幀序號。任何 CRC 失敗或序號不等于expected的幀一律丟棄但要把上一次正確確認的 ACK 再回一遍這就是“重復 ACK”。發(fā)送端收到重復 ACK 后不會立即重傳而是在超時后把整個窗口再推一遍從而補上缺失的幀。# gbn_receiver.py接收端核心循環(huán)節(jié)選 import socket, struct, zlib HOST, PORT 127.0.0.1, 8000 sock socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind((HOST, PORT)) sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 1 20) # 階段1循環(huán)收文件頭直到校驗通過且序號為0 file_info None while file_info is None: data, peer sock.recvfrom(2048) parsed parse_frame(data) if parsed is None: continue seq, ftype, payload parsed if ftype TYPE_FILE_HEADER and seq 0: parts payload.split(b\n) file_name, file_size, total_blocks parts[0].decode(), int(parts[1]), int(parts[2]) send_ack(sock, peer, 0) file_info (file_name, file_size, total_blocks) expected 1 # 階段2按序收數(shù)據(jù)幀寫文件 received 0 with open(file_name, wb) as f: while received total_blocks: data, peer sock.recvfrom(2048) parsed parse_frame(data) if parsed is None: send_ack(sock, peer, expected - 1) # 損壞幀回重復ACK continue seq, ftype, payload parsed if seq ! expected: send_ack(sock, peer, expected - 1) # 亂序幀丟棄不緩存 continue f.write(payload) received 1 expected 1 send_ack(sock, peer, expected - 1)重復 ACK 的設(shè)計容易被人忽略但它是 GBN 接收端唯一的“反饋手段”。如果沒有這一行接收端丟棄壞幀后保持沉默發(fā)送端就只能在超時后才反應(yīng)過來平均恢復時間變長。有了重復 ACK發(fā)送端雖然不會立即重傳但至少能確認“鏈路還活著、發(fā)送窗口也沒有被錯誤推進”。另外注意send_ack(sock, peer, expected - 1)中發(fā)送的是expected - 1而不是expected因為 ACK 的含義是“序號為 n 的幀及其之前的全部幀都已收到”發(fā)expected會被發(fā)送端誤認為一個超前確認。4. 可靠文件傳輸?shù)年P(guān)鍵參數(shù)幀長、RTO、WINDOW 怎么配合4.1 控制幀與數(shù)據(jù)幀分開發(fā)文件名的可靠傳法文件頭幀承載文件名、文件大小、總塊數(shù)這三項缺一不可。文件頭如果混入 GBN 窗口里一起發(fā)會引入一個確定性的死鎖接收端還沒收到文件頭不知道總塊數(shù)數(shù)據(jù)幀來了也無法判斷“這是第幾塊、要不要落盤”只能全丟。而發(fā)送端又可能在窗口推進后把文件頭幀清出緩存導致永遠無法重傳。常見做法是讓文件頭走一次“停等確認”流程——發(fā)送端循環(huán)發(fā)送文件頭幀直到收到針對序號 0 的 ACK再進入數(shù)據(jù)段。這在代碼層面多寫一個while True但把兩條不同可靠性的路徑徹底分開避免了大量邊界 bug。有些現(xiàn)成源碼把文件頭也當成普通數(shù)據(jù)幀直接塞進窗口我的經(jīng)驗是這種實現(xiàn)大概率在丟包率稍高時“偶發(fā)失敗”且極難復現(xiàn)。4.2 校驗選 zlib.crc32 還是 hashlib.md5代價與收益幀級校驗我用zlib.crc32運算速度快單個 1024 字節(jié)幀校驗耗時微秒級。CRC32 對隨機比特損壞的漏檢率約為 2^-32對這個實驗已經(jīng)非常安全。哈希完成后做一次“整文件比對”會更有說服力傳輸結(jié)束在接收端算一個 MD5發(fā)送端也算一個 MD5兩邊一致說明全程沒有出現(xiàn)檢測不到的損壞。整文件用 MD5 沒問題但把 MD5 放進每一幀就很不劃算處理器的開銷會拉低吞吐而且每一幀都做安全哈希對課設(shè)來說沒有必要。還有一個容易踩的細節(jié)有些實現(xiàn)會把序號和類型字段排除在 CRC 范圍之外。如果信道噪聲恰好轉(zhuǎn)了序號位payload 的校驗還是通過接收端就會把這個幀當作另一個序號的合法幀寫入文件造成靜默數(shù)據(jù)錯位。只要把struct.pack(!H B, seq, ftype) payload一起丟進 CRC 計算這個隱患就從根上消除了。4.3 三個必調(diào)參數(shù)WINDOW、TIMEOUT、塊大小的經(jīng)驗值與公式參數(shù)建議值設(shè)置依據(jù)塊大小512~1024 字節(jié)小于常規(guī) UDP 路徑 MTU減少 IP 分片本實驗 buffer 設(shè) 2048 也夠WINDOW4~16序號用 2 字節(jié)時最大窗口為 65535但實際受接收緩沖和演示效果限制TIMEOUT2 倍 RTT先測出單程 RTT再乘 2局域網(wǎng)一般 0.1~0.5 秒別低于 50ms序號位寬2 字節(jié)用 struct 的!H打包天然規(guī)避 1 字節(jié)序號的“新老幀撞車”TIMEOUT 設(shè)小了會發(fā)生“重傳風暴”幀其實沒丟只是 ACK 慢了一點發(fā)送端就急著重傳導致接收端收到大量重復幀吞吐率直線下降。TIMEOUT 設(shè)大了則丟幀后恢復慢假設(shè) RTT 是 5ms超時設(shè) 2 秒那么一個丟幀要等 2 秒才觸發(fā)重傳傳一個大文件要卡很多次。我調(diào)試時會在代碼里打印每次 ACK 的到達間隔取平均值的 2~3 倍作為超時值。WINDOW 和接收端緩沖區(qū)要配套。窗口開到 16每幀 1024 字節(jié)一瞬間就是 16KB 數(shù)據(jù)涌進接收端如果接收端的recvfrom處理速度不夠UDP 接收緩沖滿了就直接丟幀底層丟幀會讓 GBN 進入反復重傳的惡性循環(huán)。接收端初始化時調(diào)大 socket 緩沖區(qū)是個好習慣sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 1 20)可以放到開頭。4.4 文件寫回的邊界處理最后一塊不滿和重復幀寫文件的邏輯看起來只是一句f.write(payload)但邊界問題全在“塊大小”上。文件的最后一個分塊很可能不足 512 或 1024 字節(jié)接收端如果總按固定大小寫文件尾部就會多出一截舊數(shù)據(jù)或空字節(jié)。解決方式是以幀頭里的 length 字段為準parse_frame返回的 payload 本身就是按 length 切開的字節(jié)串write出來長度天然正確。重復幀是另一個邊界問題。超時重傳機制會帶來重復幀接收端靠seq ! expected直接丟棄這是對的。但要警惕一種“部分重復”的情形假設(shè)接收端已經(jīng)寫入了第 5 幀并推進expected到 6此時一個重傳的第 5 幀到達會被丟棄可是如果這個重傳幀在傳輸過程中又被截斷而變成另一個長度CRC 會先失敗根本進不到序號判斷這層。所以說“先校驗、后判斷序號、最后寫文件”這三步順序一個都不能換。5. GBN 實驗避坑與排查從卡死到文件對不上的五條踩坑記錄5.1 現(xiàn)象打開丟包模擬后程序卡死進度條不動原因出在校驗和執(zhí)行順序上。不少實現(xiàn)把parse_frame的結(jié)果直接拿來寫文件忽略了 CRC 校驗失敗時的處理分支或者在校驗前就把數(shù)據(jù)寫入了文件導致文件內(nèi)容錯位后續(xù)所有幀的序號判斷都亂了。還有一種情況是丟包率設(shè)置過高比如 30% 甚至 50%發(fā)送端重傳的幀也一直在丟窗口內(nèi)所有幀全部被清空recvfrom永遠等不到 ACK。解決思路分兩步。先檢查接收端是否是“先校驗、后寫文件、再回 ACK”的正確順序在parse_frame返回None時一定要走重復 ACK 分支。再把丟包率降到 5%~10%這是讓 GBN 表現(xiàn)出“重傳后仍能完成傳輸”的合理區(qū)間。最后給發(fā)送端加日志打印base、next_seq和ack_seq看是不是base一直停在原地——如果是說明某幀永遠沒收到而接收端也沒能把期望序號推進。5.2 現(xiàn)象傳完了但 md5 不一致文件尾部多了幾行舊數(shù)據(jù)現(xiàn)象是 md5 對比失敗仔細檢查發(fā)現(xiàn)接收文件比原文件長。原因基本可以鎖定在“最后一塊寫滿固定長度”這個錯誤上。比如塊大小是 1024文件大小是 2500 字節(jié)分成三塊分別是 1024、1024、452如果第三塊寫文件時硬寫 1024 字節(jié)文件就變成 3072 字節(jié)多出 572 字節(jié)的殘留數(shù)據(jù)。這些殘留往往來自發(fā)送緩沖區(qū)的舊數(shù)據(jù)很難靠肉眼發(fā)現(xiàn)。解決方法是所有寫入的 payload 都嚴格按幀頭給出的 length 字段切片不要用BLOCK常量去截斷。同時傳輸完成后可以用一個最終校驗來復盤接收端用hashlib.md5()對整個文件算一遍摘要打印出來和發(fā)送端比對。參考命令是md5sum received.bin和md5sum original.bin兩邊一致就說明這個鏈路真正做到了可靠文件傳輸。5.3 現(xiàn)象窗口調(diào)到 32 后性能暴跌甚至數(shù)據(jù)錯亂窗口增大通常預(yù)期吞吐提升但調(diào)到 32 后反而出現(xiàn)大量重傳、文件內(nèi)容偶爾重復。根源是序號空間不夠用。如果實現(xiàn)中序號用 1 字節(jié)表示取值范圍只有 0~255當窗口滑動到接近 256 時新幀序號的剩余空間不足重傳一個舊幀時接收端無法區(qū)分“這是重傳的舊幀”還是“合法的新幀”于是把重復數(shù)據(jù)寫入文件。解決方法是把序號改到 2 字節(jié)用struct.pack(!H, seq)取值范圍拉到 65535窗口 32 就不再觸碰邊界。同時記得遵守“2^n - 1”的最大窗口約束加上實驗習慣性的保守策略窗口不超過序號空間一半。調(diào)試時打印一下重傳次數(shù)如果發(fā)現(xiàn)窗口增大后每傳 100 幀重傳超過 30 次就要回頭查序號位寬和接收緩沖兩個地方。5.4 現(xiàn)象base 一直不動超時后反復重傳但 ACK 序號不對表現(xiàn)為發(fā)送端一直在超時重傳但收到的 ACK 總是小于base窗口推不動。先不要懷疑丟包率先懷疑 ACK 包的語義和解析。常見錯誤有兩種一是接收端發(fā)了expected而不是expected - 1導致發(fā)送端認為“接收端在等一個更靠后的幀”base永遠小于ack_seq二是struct.pack和unpack的字節(jié)序不一致比如發(fā)送用!H解析用H序號在本地小端和網(wǎng)絡(luò)大端之間被錯誤解釋。解決方法是統(tǒng)一字節(jié)序在gbn_common.py的parse_ack和make_ack里都用!H格式。然后加一行調(diào)試日志在發(fā)送端收到 ACK 后打印ack_seq人工驗證它是否符合“收到的最后一個連續(xù)序號”語義。還要注意 ACK 幀也應(yīng)該包含類型字段防止把數(shù)據(jù)幀的 payload 誤當成 ACK 序號來解析。5.5 現(xiàn)象本機回環(huán)測試正常局域網(wǎng)測試卻偶發(fā)卡頓在127.0.0.1上跑UDP 基本不會丟包內(nèi)核直接走回環(huán)路徑GBN 很難真正體現(xiàn)重傳。一旦換到真實局域網(wǎng)無線信號波動、網(wǎng)卡隊列溢出、交換機緩存抖動都會造成真實丟包這時重傳頻率升高是正常的。但如果卡頓嚴重到無法完成大文件傳輸更可能是接收端 UDP 緩沖區(qū)過小發(fā)送端瞬時灌入的窗口幀被內(nèi)核直接丟棄導致每次都是整窗重傳。解決方法是接收端初始化時設(shè)置SO_RCVBUF為 1MB 以上發(fā)送端在重傳循環(huán)里加一個time.sleep(0.001)做輕微限速。另一個實用技巧是在發(fā)送端統(tǒng)計“總發(fā)送幀數(shù) / 文件總幀數(shù)”這個比值稱為重傳開銷系數(shù)系數(shù)越接近 1 說明信道越干凈大于 2 說明鏈路條件很差或參數(shù)沒調(diào)對。把這個指標打到終端比盯著進度條更容易看出系統(tǒng)的健康狀況。6. 三個必測場景驗證 GBN 實現(xiàn)丟包率、校驗損壞與窗口對比驗證 GBN 做沒做對不能只跑一次“順利傳輸”就收工。我通常會準備三個固定場景在發(fā)送端掛一個信道模擬函數(shù)# channel.py模擬不可靠信道的丟包與比特損壞 import random def channel(frame: bytes, loss_rate0.1, corrupt_rate0.03): if random.random() loss_rate: return None # 模擬丟幀 if random.random() corrupt_rate: frame bytearray(frame) pos 9 random.randrange(len(frame) - 9) frame[pos] ^ 0xff # 模擬比特翻轉(zhuǎn) return bytes(frame) return frame場景一是loss_rate0, corrupt_rate0的全干凈信道。這個場景驗證的是基準正確性窗口發(fā)送、ACK 推進、文件落盤三個環(huán)節(jié)沒有邏輯錯誤。文件傳完后 md5 必須一致且重傳次數(shù)應(yīng)該為 0如果此時出現(xiàn)了重傳說明超時閾值設(shè)得太小。場景二是loss_rate0.1, corrupt_rate0.03的常規(guī)不可靠信道。這個場景驗證 GBN 的糾錯能力允許重傳次數(shù)小幅上升但傳輸必須完成且 md5 一致。重點觀察每次丟幀后發(fā)送端恢復的速度以及重復 ACK 是否讓發(fā)送端及時感知鏈路狀況。如果卡住超過 2 秒多半是超時閾值設(shè)得過大或接收端丟棄亂序幀后沒有回重復 ACK。場景三是窗口對比測試。把WINDOW分別設(shè)為 1、4、8、16 各跑一遍同一個文件記錄耗時和重傳次數(shù)。其結(jié)果通常是一條先降后升的曲線窗口 1 接近停等吞吐最低窗口 8 左右最優(yōu)窗口 16 時如果接收緩沖沒調(diào)大吞吐反而會因重傳而下降。把這個結(jié)果放進實驗報告比空談“滑動窗口提升利用率”有說服力得多。我自己的一個習慣是跑正式演示前先保留一份帶丟包模擬的腳本版本課堂上專門用它表演丟幀和自愈最后再切換到干凈信道做完整文件接收。這樣的演示既有說服力又不會在關(guān)鍵時刻因為人為故障而翻車。希望這份 GBN 協(xié)議的落地拆解能幫你把課設(shè)做得更扎實也少走一點那些只有踩過才知道的彎路。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月天激情Av| 第五色婷婷| 丁香五月九九| 少妇被下春药玩弄A片| 天天爽天天草| 777久久精品| 久碰久| 久久曰曰| 激情开心五月天| 九 九九九AV| 婷婷丁香97| 91婷婷丁香五月天免费视频网站| 99热www| 五月天婷婷在线播放| 九六五月天婷婷| 色九月婷婷综合| 亚洲熟妇AV乱码在线观看| 人妻精品久久久久久| AV五月丁香| a级毛片一区二区免费视频| 午夜一区| 高清无码网址| 婷婷天天色| 日韩成人五月天| 日本九九视频| 九九人人看| 99ER热精品视频| 女人被男人吃奶到高潮| 久久色这里只有精品| 中文资源在线a| 91狼友视频在线观看| 色人久久| 99在线精品免费视频| 大香蕉精品视频| 激情五月天com| 热99国产精品| 久久这里这里有精品免费视频| 激情五月狠狠喔| BBWCUCKOLD精品熟妇| 99热偷拍| 天天狠狠夜夜狠狠2023| 国产这里只有精品| 久热最新视频 | 五月天婷婷激情小说电影| 天天色丁香| 婷婷五月天性爱视频| 五月天综合久久| 丁香五月激情婷婷婷婷在线观看| 五月天涩涩| 婷婷六月丁香1| 色欲人妻综合aaaaaaaa网| 国产激情av| 五月天婷婷无码| 久久caop| 欲色人妻| 色情婷| 日本人妻伦在线中文字幕| 99欧美| 久久玖玖综合| 色综合网址| 色婷婷先锋| 91婷婷五月天嫩女| 五月天婷综合| 五月天色丁香| 中文字幕欧美日韩VA免费视频| 99爱无码| 婷婷五月18永久免费视频| 久re热视频| 婷婷色资源| 热久久999| 国产AV一区二区三区日韩| 99精品自拍视频| 久久久91| 开心五月激情网| 第四色五月天| 成人草榴视频| 色婷婷玖玖影院| 丁香五月天日韩无码| 九色综合网| 国产婷婷婷| 无码AV免费精品一区二区三区| 91婷婷色五月| 狠狠综合网| 大香蕉啪啪啪| 五月综合色播播丁香婷婷| 青青草深爱激情网| 色综合综合色| 这里只有精品视频在线看| www.久久五月天.com| 亚洲欧美999| h在线看免费版在线看| 天天色域综合网| 久久成人人妻| 996er热| 97色色网| 男妓跪趴把舌头伸进我的嘴巴| 免费看欧美成人A片无码| 亚洲午夜成人av电影网| 婷婷丁香五月激情密臀av| 久久久.COM| www.97碰碰com| WWW久久久| 五月丁香六月婷婷啪啪综合| 丁香涩涩五月天| 99精品九九| 色综合天天网| 久草五月天| 日本色色视频| 免费精品99| 五月婷婷香蕉| 国产色色在线| AVDV久久| .青娱乐天天操B| 婷香狠狠爱五月| 亚洲六月色| 色九月国产| 婷婷五月天AV| 色在线视频网2025| 无码日本精品XXXXXXXXX | www.久操| 99热最新地址在线| 五月婷婷网站| 久久er99热精品一区二区| 97男人天堂| 国产在线自| 婷婷九色| 999热成人在线综合网| 毛片新网地| 国产毛片精品一区二区色欲黄A片| 婷婷丁香五月在线观看91| 成人中文字幕在线| 亚洲五月色| 99热这里只有精品免费| 91丁香| 91久久婷婷| 色色综合五月| 六月婷婷七月丁香| 久热黄色| 高潮毛片又色又爽免费| 99久热在线精品| 日韩在线婷婷五月天综合| 这里只有精品免费| 一本色道久久综合狠狠躁一二三| 97色色色色色色色| 亚洲婷婷六月天| 色五月婷婷网| 美女xx不卡| 伊人成人宗合网| 丁香花五月天激情| …亚洲黄色在线播放日韩、av中文a…| 操操操av| 91色五月| 女同激情久久av久久| 欧美噜一噜| 五月丁香婷婷视频| 91色性感五月婷婷丁香| 免费在线观看AV网站| 超碰97久久| 五月四色婷婷| 免费看欧美成人A片无码| 色色激情五月| 无码动漫av| 开心五月深爱五月| 4399在线观看免费高清电视剧| 色综合天天综合成人网| 人人操人| 欧美xx激情视频在线观看| 五月婷婷综合网| av在线免费播放| www.色五月.com| 五月丁香久久| 五月天婷五月天综合网在线观| 翔田千里 50岁 无码| 婷婷五月天网址| 成人草榴视频| 开心五月天激情| 国产99久久久国产精品免费看| 色六月婷婷| 久热免费| 夜夜大香蕉婷婷丁香| 亚洲激情.com| 久久99精品久久久| 小视频久久久aaa| 精品人妻伦一二三区久久| 亚洲综合字幕色色| 啊V视频在线观看| 91精品国产99久久久久久天美| 色色色无码| 99热欲| 天天操电影院色狼性av| 亚洲激情网| 噜噜噜噜婷婷五月天| 久久婷婷热| 丁香婷婷六月天| 色无婷婷| 丁香在线视频| 亚洲精品444久久久久久| 夜丁香五月婷婷| 婷婷六久久| 久久成人人妻| 日韩成人电影在线播放| 99热在线观看| 色婷婷五月天综合网| 久久A极片| 日韩一66精品| 欧美高潮9| 婷婷激情社区| 精品九九九久| 久久看婷婷| 婷婷色情网| 激情五月天影院| 国产裸舞福利资源在线视频| 亚洲中文AV网站| 五月色色激情网| WWW·色色色·COM| 99热91| 91婷婷五月天综合视频| 色五月天丁香婷婷色| 色欲午夜无码久久久久久张津瑜| 思思久久99热| 另类少妇人与禽zOZZ0性伦| 性爱网久久| 双性美人被调教到喷水A片| 天天cha成人综合网| 日韩三十六页| 亚洲五月婷婷| 99热精在线九九久久保| 激情综合婷婷久久| 大香蕉综合在线| 毛片新网地| 伊人狠狠色婷婷综合丁香一区| 日本啪啪网| 久久er这里只有精品| 2025神马午夜福利| 9久视频| 五月激情另类| 久久hd| 亚洲AV免费在线| 五月天停停成人网| 这里有精品99| 99久久视频| 9l视频自拍9l九色成人| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 五月丁香久久呀| 亚洲婷婷五月天| 五月色丁香视频精品| 丁香五月天.com| 久久激情综合| 久久久久久人妻久久久久久久久久人妻久久久 | 99九九在线| 丁香九月激情| 思思热久热| 五月婷五月婷伊人伊人五月婷| 五月婷婷久草| www.99热| 精品成人在线观看| 色五月婷婷五月天激情综合| 99高级会所久久| 欧美色97| 我想看国产大学生口爆吞精的视频| 九色七七| 欧美五月婷婷| 婷婷综合色五月天| 六月丁香婷婷色69| 色色色视频免费无码| 丁香玖玖| 五月天堂六月丁香亚州中文字幕久久| 欧美电影在线观看| 色色热| 久久久婷婷五月亚洲97号色| 五月婷亚洲精品| AV天堂淫乩| 日韩性视频| 色色丁香色五月| 在线观看免费人成视频无码| 丁香六月激情综合| 日本色色网站| 婷婷六月激情| AV人人操| 六月丁香六月婷婷欧美| 久久少妇视频| 日日夜夜爽| 五月天婷婷色播在线网| 婷婷五月激情丁香激情| 亚洲 精品 综合 精品| www,99色| 91jiuseshunv| 成人午夜在线视频| 色综合香蕉| 99亚洲精品综合在线| 婷婷九月色| 免费黄色视频网址| 99精品在线| 色私五月婷婷| 日日噜狠狠| 日本99在线| 欧美丁香五月夫妻天| 人人操人人爱丁香五月| 日日夜夜爽| 五月丁香六月花| 国产五月婷| 翔田千里aV中文字幕| 久久婷视频| 九月av在线| 夜夜AVV| 五月刺激丁香月综合| 成人电影在线免费试看| 综合色情网| 欧美色色色色色| 噜噜久| 丁香九月综合| www.狠狠操.con| 五月永久激情| www激情五月天| 婷婷射丁香| 日韩五月丁香| 久久hd| 婷婷五月情| 婷婷五月免费视频| 婷婷刺激综合| 操碰91| 狠狠干狠狠色| 欧美内射AAAAAAXXXXX| 亚洲情综合五月天| 色五月综合97| 婷婷欧美激情| 欧美在线视频99| 六月色色| 婷婷丁香五月天色区| 五月丁香六月婷婷玖玖| 狠狠搞狠狠操| 久久99激情| 99久久婷婷国产综合| 色五月播五月| 91紱請| 天天肏天天舔AV| 日本色色影院| 入口五月婷婷六月香| 色久婷婷网| 久久久久久五月天| 91色在线/日韩| 色欲天天综合网| 中文字幕在线免费看线人| 天天激情站| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 激情久久久久久久久久| 拍真实国产伦偷精品| 精品一区二区三区四区五区六区| WWW.国产| 性爱网六月丁香| 国产精品久久..4399| 国产日批视频| 五月丁香啪啪网| 五月天亭亭俺也| AAA级久久久精品| www,色综合| 激情综合五月激情| 久久久精品人妻录| 丁香色婷婷| 婷婷五月天成人网| 婷婷九月丁香天堂丁香天堂| 丁香五月综合色婷婷| av 一区三区四区| 91精品久久久久久综合五月天| 69久久99精品久久久久婷婷| 综合网亚洲| 日日干天天| 五月丁香另类网| 国产成人+综合亚洲+天堂| www.操逼comm| 丁香桃色网| 丁香五月桃花在线激情综合| 婷香五月网在线| 国产日日夜夜操| 99爱爱网| 五月刺激丁香月综合| 日本久久婷| 久久aaaa片一区二区| 99久久99久久综合| 久草嫩草在线观看| 91热er| 日本啪啪网| 久久44| 夜夜操夜夜爽| 亚洲综合激情五月久久| 色色九九五月天| 婷婷综合激情五月综合| 色色五月天激情| 国产综合婷婷| 丁香六月激情国产| 91人人爱| 欧美又粗又大一区二区在线观看| 成人婷99最新| 91干网站| 国产99视频永久免费| 五月天丁香网| 日韩av高清| 综合色天天| 亚洲成人影视在线观看| av第一二区| 婷婷和五月天| 色五月婷婷久久| 超碰国产在线观看| 激情综合色| 99无码| 91丨九色丨老农村| 五月草视频| 成人综合视频网址| 五月天四色房丁香| 少妇性按摩无码中文A片| 婷久久高清| 色9色| 日韩色色视频| 99re思思| 亚洲妇女熟BBW| 亚洲sesesese| 亚洲这里只有精品| 激情久久四色| 九九色综合| 五月五婷婷网| 亚洲中文字幕在线观看| 久久视频这里都是精品| 成人做爰高潮A片免费视频| 狠狠色婷婷7777久| 五月天色五月| 丁香五月婷婷六月婷| 97人人操人人爽| 丁香婷婷色| www.狠狠操.com| 99国产精品白浆在线观看免费| 丁香色六月| 五日激情综合| 大香蕉五月婷婷| 99熟女视频| 色三级色三级| 丁香五月综合| 黄色99网| 午夜激情四射影院| 99热精品在线| 丁香五月天啪啪| 亚洲综合五月| 婷婷综合在线观看视频| 五月婷婷 自拍| 吉澤明步Av一區二區| www。五月,com| 婷婷五月成人社区| 人妻视频在线| 96精品久久久久久久久| 久草婷婷| 色婷婷婷av | 六月婷婷av| 中文字幕黄色片| site:hcxsz888.com| 色色热| 久久婷婷色丁香| 天堂久热| 日本99在线视频| 五月婷护士| 深爱五月天| 九九中文字幕九| 丁香久久五月婷综合| 欧美VA视频| 26uuu亚洲精品国产| 国产精品岛国片在线观看免费| 色婷婷先锋| 欧美三级大片AA在线看| 五月天婷婷色| 99区视频| 五月婷婷激情综合| 日韩操逼小电影| 开心色色五月天综合| 五月天久久www| 艹天天射| 日产精品久久久久久久蜜臀| 狠狠操狠狠插| 99re在线观看视频| 一区=区操屄高清大全av| 五月婷婷99热| 玖玖资源站蜜臀| 好看的国产精品| 97夫妻超碰| 婷婷欧美综合| 99综合激情久久精品久久| yazhoujiqingav| 丁香婷婷五月色成人网站| 黄网在线播放| 精品动漫 无码av| 热久精品| 色色色9| 成人五月天婷婷| 色色色五月| 久久九色| 国产精品色婷婷AV综合色色| 在线VA视频| 另类亚洲视频| 影音先锋男人av资源站| 五月色综合| 婷婷激情五月色综合| 黄色aaaaa| 五月天怕怕| 日产精品久久久久久久蜜臀| 99日本黄站| 天天做天天摸| 五月天综合区| 人妻射精AV| 色婷婷激情四射视频| 一本大道伊人AV久久综合| 亚洲啪啪视频| 五月婷婷综合潮喷| 天天激情夜夜干| 丁香婷婷网| 成人在线高清| 久草婷婷| 另类综合国产| 婷婷丁香五月激情中文字幕版| 色五月色图| av在线播放网站| 天天影院色| 大香蕉久久久| 亚洲五月天激情| 欧美精品久久久久久视频观看| 九九精品re免费视频| 可以直接看的av| 骚货艹网站视频| 婷婷综合五月激情| 婷婷第六色| 丁香婷婷色| 狠狠 久久| 综合色在线| 欧美大肥婆大肥BBBBB| 99精品自拍视频| 亚洲五月色| 26uuu欧美亚洲日韩| 亚洲av网站| 97色啪| 亚洲AV永久无码影院黑人| 桃色五月天| 九九在线视频| 丁香六月婷婷综合缴| 久久这里有精品视频| 五月综合婷婷开心网| 五月五婷婷网| www91久久| 国产精品美女久久久久AV超清 | 亚洲综合色丁香五月天| 亚洲 在线 性爱| 99久热在线精品| 超碰在线观看9| 青青久久大香蕉| 91精品久久久久久综合五月天| 五月叮香啪| 99re思思久久| www.久久久久| 综合激情五月四射婷婷| 亚洲五月丁香综合网| 99热欧美偷拍| 久久9久| 中文字幕永久在线| 大香蕉婷婷久久| 《诡秘之主》在线观看| 三男玩一女三A片| 乱精品一区字幕二区| 免费看欧美成人A片无码| 五月综合激情婷婷六月色窝| 婷婷伊人五月天| 婷婷丁香日韩五月| 日本eVa一区=区视频| 丁香六月婷婷基地| 五月色欧美| 日撸夜撸日操| 激情五月婷婷在线观看| 五月丁香婷婷在线| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 婷婷五月天激情小说| 大香蕉中文| 色婷婷影视| 99碰碰| 99热97| 99热久久这里只有精品| 99国产在线精品视频| 97超美国视频在线观看| 免费成片在线观看| 午夜大香蕉| 思思视频久久| 噜一噜免费视频| 六月丁香婷婷综合狠狠爱夜夜爱| 夜丁香五月婷婷| 五月婷婷综合在线视频小说| 丁香婷婷色| 热久久成人| 俺去也在线视频| 丁香婷婷激情五月天无毒不卡蜜桃| 97干欧美| 久久人妻熟女一区二区| 日本美女97在线视频| 亚洲人成网站999综合| 六月婷欧美| 欧美黑人大吊| 婷婷综合网在线| 五月丁香久久综合| 五月丁香中文字幕| 五月激情婷婷在线| 五月婷婷六月丁香在线| AV片在线观看| 99色色爰| 婷婷操婷婷干婷婷射| 婷婷五月色情| 九月激情综合| 99久久九九视频| 九九热精品99| 日日夜夜爽爽| 激情五月天综合| 色婷婷成人做爰A片免费看网站| 激情综合丁香| 日本三级第一页| 五月婷婷丁香五月| 99在线精品视频| 久久机只有这里精品| 久久99热精品a片在线观看| 啪啪 综合网| 嫩草极品| 九九精品碰| 二色AV| 无码色色| 精品一二三区久久AAA片| 精品爆操| 五月开心深深爱激情综合 | 色综合五月在线| 精品久热69| 狠狠久久婷五月综合色| 久去色色| 99WWW免费视频| 深爱五月亚洲| 五月婷婷六月激情| 五月天大香蕉| 激情网婷婷五月天| 五月婷婷香蕉| 综合xx网| 婷婷免费视频| 伊人久久大香网| www.com五月天| 人人澡玖玖一| 一起肏在线视频| 日本va欧美va精品发布视频| 色婷婷香蕉| 操操精品| 97色色综合| 伊人久久丁香狠狠婷婷综合香蕉 | 天天搡日日搡aaaaⅩ| 丁香五月婷婷影院| 91人妻人人操| 久热视频这里只有精品68| 色99在线| 欧美性猛交99久久久99| 丁香婷婷视频| 另类图片五月天婷婷| 成人欧美Va| 五月婷婷六月激情| 五月天AV大香蕉| 久久久er热| 26uuu欧美| 丁香五月先锋| 中文字幕AV网址| 女人被躁到高潮嗷嗷叫小| 天天日日人| 99色色网| 久久香蕉婷婷| 99精在线| 黄桃AV无码免费一区二区三区| 色,激情五月天| www色婷婷| 婷婷刺激综合| 97性视频| 九九亚洲无码| 五月婷婷|欧美| 色噜久| 夜夜谢天天干| 久久久久98| 秋霞A V毛片| 婷婷综合精品| 日日操日日撸| sS丁香五月婷婷| wwwss在线观看| 婷婷综合网站| 激情五月综合网| 亚洲丁香五月综合| 婷婷色网| 色色色色色色97| 影音先锋男人av资源站| 欧美五月丁香| 性生活视频98791| 日韩九九| 任你弄在线视频免费| 婷婷五月天亚洲精品| 亚洲乱码日产精品BD| 日韩精品色| 日本99婷婷| 天天爽天天日天天舔| 婷综合六月| 日本WWW九九九| 久久色婷婷| 激情小说五月天| 婷婷舔| 色婷婷激情视频| 99超级碰碰| 日本狠狠色| 午夜青草资源| 久久涩视频| 少妇搡BBBB搡BBB搡毛茸茸 | 五月天婷婷色色| 欧美日朝成人| 日日日,com| 成人无码免费一区二区中文| 五月天播播| 97福利视频| 狠狠做深爱婷婷久久综合一区| 熟女重口味αV| 影音先锋男人女人| 噜一噜在线| 亚洲激情视频在线观看| 久久婷婷九月国产精品| 国产精品爽爽久久久久久| 九九日本视频| 久久婷婷五月草视频| 琪琪狠狠干| 日本高清综合网五月丁香| 超碰在线99| 激情影院69| 99精品自拍| 激情综合色五月丁香六月亚洲| 停停六月 综合| 99精品网| 91丁香婷婷综合久久欧美| 玖玖综合色| 色五月天网| 色欲色香综合网| 婷婷五月天激情五月天深爱五月天| 先锋男人91资源| 久久ww| 狠狠操狠狠插| 深爱激情四射| 殴美97色| 久热9| 99热都是精品| 婷婷色日本| 国产免费一区二区三区三州老师F1F1.CC | 夜夜操夜夜姧| 全高清无码视頻| 密着浓厚中出乚交尾GvG935| 99热这里只有精品55| 婷婷五月天激情丁香| 亚洲欧洲色色| 色婷婷丁香九月| 九色成人AV在线| 色婷婷小说网| 国产无人区大片| 色婷婷狠狠久久综合五月| 伊人久久大香天蕉亚洲特级| av中文字幕免费观看| 国产激情综合| 好激情在线综合网| 婷婷美女精品视频| 色婷婷五月天av在线| 艹天天射| 在线日本www| 国产精品第一国产精品| 色婷婷AV在线| 六月丁香激情网| 日本综合久久| 五月丁香婷婷激情四射迷人| 99热99艹在线观看| 丁香六月天| 欧美熟女99| 婷婷五月天天天| 五月激情婷婷开心| 国产精品久久久丁香五月八戒视频| 五月婷丁香花| 亚洲视频国产一区| 97人妻碰碰碰久久久久-最近国语高清| 亚洲网综合在线| 26uuu欧美| 狠狠狠色激情综合适合| 日本五月天一页| 色五月婷婷久久爱| 五月婷婷天堂| 五月天婷婷伊人| 久久婷婷草| 秋霞网在线免费基地五月婷婷丁香| 日韩少妇内射免费播放| 91精品综合久久久久久五月丁香| www.91婷婷| 天天操天天干天天日| 99热在这里只有精品| www色五月天| 69激情小说| 五月婷婷婷婷婷婷艺术| 五月丁香六月欧美综合| 深夜婷婷五月丁香| 国产99精品免费视频| 欧美噜噜久久久XXX| 亚洲婷婷在线播放十月| 这里只有精品亚洲| 天天激情5月天亚洲| 狠狠色婷婷7777久| 久久久精品99亚洲综合| 九九视频网| 婷婷爱综合| 激情五月网站| 毛片新网地| 婷婷五月在线综合| 五月色无码| 99九九99九九九视频精彩| 成人婷婷| 婷婷五月激情网| 成人操呦av| 五月天婷婷午夜丁香| 婷婷黄色五月天在线视频| 狠狠狠婷婷五月综合| jiujiu无码五区| 99婷婷五月天| 色婷婷综合久色AV五色最新| 欧美操人| 五月婷婷,六月激情| 五月丁香六月婷综合成人综合| 婷婷丁香人妻天久久| 九九婷婷综合| 天天做综合| 天堂婷婷丁香六月网| 激情五月天小说| 久热超碰91| 色综合伊人网| 狠狠色 综合色区| 97操在线资源| 久久激情综合| 丁香六月婷婷综合麻豆| 人人干AV| 思思热这里只有精品| 丁香五月婷婷基地| 搡BBBB搡BBB搡18| 婷婷五月激情黄色| 庭庭久久内射| 久热这里这里有精品| 看国产探花操逼三级片| 男女免费视频999| 婷婷色导航| 婷婷字幕在线| 夜夜撸夜夜骑| 久久九九激情五月天 | 激情五月婷| 呦呦AV| 九九成人视频| 久草热8精品视频在线观看| 婷婷六久久| 九九日本视频| 国产婷婷五月天| 亚洲综合五月天| 91在线观看九区| 婷婷久久综合| 99热99在线| 亚洲 精品 综合 精品| www.av视频xx999.com| 性 色 婷婷| www,天天干| 欧美大肥婆大肥BBBBB| 啪啪操操| 丁香六月激情综合网| 久久婷婷激情| 国产操B| 久久婷婷六月天| 五月婷视屏在线观看| 色婷婷成人做爰A片免费看网站 | 第二色AⅤ| 日日夜夜狠狠操| 香蕉AV777XXX色综合一区| 日本欧特黄色刺激一区影视久精品无码| 蜜臀A∨在线水帘洞| 激情五月色播五月| 无码91中文字幕| 丁香五月天黄色片| av色色国产| 色情综合网| 丁香蜜臀黄色婷婷五月天| 五月天四色房丁香| 久久久激情| 激情综合网激情五月天| 99在线精品免费视频| 久久丁香五月婷婷| 亚洲国产成人在线| 一起草性爱不卡视频| 精品欧美性爱超级爽| 91精品久久久久久77777| 亚洲五月天另类小说图片| 日本不卡高字幕在线2019| 99久久九九| 99热网站| 日韩婷久| 日日鲁鲁夜夜爽爽| 丁香五月激情综合| 美女天天艹人人爽| 亚洲第一成人无码A片| 99精品女人天堂| 激情亚洲婷婷六月| 成人无码精品1区2区3区免费看| 久久九九99.www| 天天噜天天爱| 蜜桃人妻无码AV天堂三区| 五月色婷婷影院| 亚洲成人中心| 婷婷五月开心六月AV| 亚洲色亚洲精品| 香蕉久久国产AV一区二区| 天天爽—爽| 九九性视频| 大香蕉婷婷丁香天堂AV| 婷婷五月六月丁香综合| 亚洲精品无码A片一区二区| 丁香婷婷啪啪啪| 国产亚洲精品AAAAAAA片| 国产色丁香| 久久XX| 99er6免费视频热播| 色情五月天丁香社区| 人妻视频在线| 久久久久人妻| 色噜噜97视频在线观看| www.色婷婷.com| 久久久五月五丁香| 五月丁香婷婷潮喷中文字幕| 99热在线网站| 99亚洲精品| 百度4399有码精品V在线观看| 色婷婷小说网| 六月综合婷婷开心伊人| 日韩精品一品二区三区的使用体验| www.九月婷婷丁香.com| 欧洲色| 狠狠色丁香婷婷五月| 91成人看片| 色五月自偷自拍婷婷婷婷| 97热在线精品| 亚洲综合在线视频| 亚洲色另类| 婷婷五月丁香婷婷| 国产肥白大熟妇BBBB视频| 丁香五月av在线| 超碰69天堂| 九九色色| 久久狼人天堂| 久久久中文| 成人亚洲精品| 99热在线观看| 丁香五月无码| 久久99免费视频网站| 婷婷五月色激情欧美激情| 五月丁香综合影院| 九九在线精点品| wuyuedingxiang99| 91嫩草国产线观看亚洲一区二区| 亚洲无码成人网| 色五月,com| 天天干一干| 五月婷婷色色色| 国产乱人偷精品人妻A片| 五月丁香色播| 丁香婷婷婷五月综合色情| 色色热| 99丁香五月婷| 99热大| 青青草原亚洲天堂| 亚洲欧洲自拍图片专区五月天| 五月丁香色停停啪啪啪| 91久久九久久九久久九久久九久久| 香蕉国产2013| 免费超碰在线观看| 色情五月丁香婷婷网| 俺也去五月婷婷丁| 99免费视频| 久久这里只有精彩| 国产免费av网站| 色五月大| 丁香5月综合啪啪| 成人做爰A片免费看视频| 色五月婷婷小说亚洲中文字幕组| 九九热只有这里精品| 亚洲免费综合一区| 亚洲欧洲国产精品| 五月婷婷天天色| 97电影99热| 大香蕉婷婷五月天| 天天摸天天日天天舔| 任你艹| 色狠狠婷婷| 国产精品久久久久久白浆色欲| 天天肏天天插| 91精品91久久久中77777久久玖玖九九| 久久综合中文字幕| 五月丁香久久久| 99久.| 激情五月婷婷老师| 日本视频99| 996热re视频精品视频| AV在线观看网站| er99免费视频在线| 99九无网码| 久久女人天堂| 国产操碰| 99日热在线视频| 欧美色图天堂网| 九月丁香五月婷婷| 91操操| 久久无意婷婷| 精品一区二区三区免费毛片爱 | 九月婷婷激情| 亚洲色婷婷五月| 思思热久久艹| 超碰97在线观看免费| 天天操夜夜操| 丁香婷婷色五月激情综合| 九九视频精品在线免费| 五月停停色色丁香| 性爱人人网| 日本三级99人妇网站| 婷婷久久亚洲| 色五月综合资源推荐| 26uu| 久久这里只有精品07| 久久婷婷成人| 丁香五月婷婷综合激情啪啪啪| 色婷婷成人做爰A片免费看网站| 人人爱人人草| 欧美婷婷五月丁香| 五月婷六月丁香| 69热在线| 色色色国产| 99碰碰碰| 操逼电影免费看| 丰满人妻妇伦又伦精品国产| 丁香五月另类色婷婷麻豆| 99亚洲精美视频在线观看| 精品色情一区二区三区四区| 五月婷婷久久久| 欧美激情综合五月色丁香| 五月天久久婷婷| 亚洲人成网站999久久久综合| 天天爽天天日人人爱| 色五月大| 99视频综合网| 九九热精品6| 久久女婷| 九九操操| 婷婷成人视频| 俺来也综合网精品一区| 综合久久99| 五月天婷婷狂暴白浆| 成人片久久网站| 色婷婷www| 色综合久久天天综合网| 日本三日本三级少妇三级66| 影音先锋 婷婷| 9色91视频| 六月丁香婷婷色狠狠久久| 91狠狠综合久久久久久| 成人无码髙潮喷水A片| 26uuu| 久久五月综合| 99性爱| 五月天色影院| 久操大香蕉| 99精品无码| 婷婷五月在线视频| 五月丁香婷婷成人网| 香蕉久久av一区二区三区| 亚洲视频在线网站| 年轻的妺妺伦理HD中文| 婷婷香蕉精品| 久久99免费视屏| 久久丁香婷| 久久99看免费| 天天肏夜夜肏| 丁香五月天啪啪| 亚洲精99| 日本nghangse中文字幕| 五月亭亭色| 久久久久久9| 亚洲综合久| 深爱 五月天| 亭亭社区五月天| 丁香五月婷婷欧美成人色图| 色亭亭五月天丁香综合AV - 百度 - 百度 | 综合久久婷婷99| 99久操视频| 在线看av| 婷婷五月AV| 9色视频在线| 欧洲亚洲免费视频区| 99re这里只有精品首页| 六月婷婷色宗合| 日本色爽| 婷婷六月啪啪| 中文成人在线| 国产婷婷五月| 九热免费视频| 激情五月激情综合网一级丸片| 就爱射中文字幕资源网| www.99视频| 综合色久| 欧美亚洲色色色色| 免费在线观看av网站| 大香蕉久久久久| 99久久久国产大片| 国产婷婷五月天| 综合久久9| 亚洲综合五月天| 丁香六月激情国产| www.婷婷五月天,com| 69婷婷丁香午夜| 成人免费高清在线播放| 99精品偷自拍| 色在线免费观看| 99热九九这里只有精品| 米奇影视五月天| 超碰人人操| 亚洲视频一区| 亚洲精品国产A久久久久久| 国内精品免费一区二区2009| 久久精品婷婷| 深爱激情九九五月天 | 老美AA片| 91好好热日本在线| 五月天第四色开心色播| 99热在线只有精品| 丁香五月久久| 大香蕉久久久久久久久| 天天色情站| 婷婷五月情| www.久久| 免费观看2018www黄色操逼网站| 婷婷综合玖玖五月| 丁香婷婷六月婷婷六月婷婷六月婷婷| 九九热国产| www.久久久久| 色综合色色色色色色综合| 狠狠狠狠青草| 五月天婷婷视频| 国产古装妇女野外A片| 丁香狠狠色婷婷| 丁香五月综合在线播放| 天天色99| 亚洲狠狠色丁香婷婷综合久久| 97AV在线视频| 伊人丁香花综合影院| 99热免费在线| 99热资源在线| 日操五月婷| 热99这就是精品视频| 欧美日本高清视频99| 一夜福利不卡| 99在线播放视频| 婷婷五月欧美| 台湾综合丁香五月蜜桃| 97九色视频| 久草视频大香蕉99| 开心五月天私房婷婷| 91成人看片| 丁香五月激情综合久久| 色久播播| 亚洲成人AV在线播放| 99婷婷色| 激情五月图| 婷婷综合网| 啪啪黄页网| 思思久热| 麻豆观看夏晴子| 新99色色色色色色| 97人人操| 久久亚洲天堂| 夜丁香综合| 亚洲精品V天堂中文字幕| 五月天激情黄色小说在线观看| 91九色在线视频| 国产干逼片| 丁香五月天激情小说| 国产国产乱老熟女视频网站97| 伊人网色婷婷五月天| 丁香六月婷婷高清| 激情小说五月天| 日韩色色一区| 天天影视天天爽天天草| 激情婷婷综合网| 六月丁香VA| 玖玖婷婷免费| 久久网思思| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 风流少妇A片一区二区蜜桃| 久热这里只有精品在线观看 | 丁香五月激情宗合网| 五月天色婷婷av| 国产亚洲精品AAAAAAA片 | 五月色丁香婷婷中文字幕| 久久99视频| 国产裸舞福利资源在线视频| 超碰在线成人| 99热精品在线播放| 五月丁香久久| AV在线大香蕉| 99黄色性生活| 九九国产精视频| 激情五月天丁香| 国产婷婷色五月| 九九热AV| 色综合久久天天综合网| 91婷色| 97操操操| 99精品视频网| 天天天久久久| 成人做爰A片免费看视频| 开心激情久久久久久久| 人妻熟女一区二区AV| 综合久久五月| 99re免费视频| 婷婷综合亚洲| 97干综合网| 99色婷婷视频| 婷婷成人综合免费视频| 欧美成人精品A片免费一区99| 婷婷伊人激情婷婷| www。五月,com| 天天色噜| 日韩在线99| 综合网五月| 四色 爱 婷婷 精品 亚洲 五月天| 香蕉婷婷| 伊人干练久| 色婷婷玖玖影院| 久久久99久久| 五月天狠狠网站| 色伊人91在线视频| 思思热精品在线| 99啊精典免费视频| 色婷婷影院| 5月婷婷激情6月| 99啪在线视频| 超碰在线9| 天天爽—爽| 精品视频网| 天天肏天天插| 综合激情sV| 五月婷婷六月丁香在线| 99久久成人| 1024在线观看免费视频| 久久多色| 婷婷色五月天综合网| 五月天婷婷激情在线色图| 综合99视频| 五月婷婷久久激情| 97超碰欧美中文字幕| 婷婷五月激情图片| 六月丁香视频网站| 92久操视频| 天天操天天操天天操天天操天天操| 六月婷婷狠狠| 丁香婷婷五月人体| 五月婷婷激情综合| 人人爽天天爽| 婷婷五月综合在线| 丁香五月婷婷影视先锋|