計(jì)算機(jī)網(wǎng)絡(luò) 自上而下-中文 第3章_第1頁
計(jì)算機(jī)網(wǎng)絡(luò) 自上而下-中文 第3章_第2頁
計(jì)算機(jī)網(wǎng)絡(luò) 自上而下-中文 第3章_第3頁
計(jì)算機(jī)網(wǎng)絡(luò) 自上而下-中文 第3章_第4頁
計(jì)算機(jī)網(wǎng)絡(luò) 自上而下-中文 第3章_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、P&EEP&EE Chapter22-1第3章 運(yùn)輸層Transport Layer P&EEP&EE Chapter22-2第3章:運(yùn)輸層我們的目的: r理解運(yùn)輸層服務(wù)依據(jù)的原理:m復(fù)用/分解m可靠數(shù)據(jù)傳輸m流量控制m擁塞控制r學(xué)習(xí)因特網(wǎng)中的運(yùn)輸層協(xié)議:mUDP: 無連接傳輸mTCP: 面向連接傳輸mTCP 擁塞控制P&EEP&EE Chapter22-3第3章 要點(diǎn)r3.1 運(yùn)輸層服務(wù)r3.2 復(fù)用與分解r3.3 無連接傳輸: UDPr3.4 可靠數(shù)據(jù)傳輸?shù)脑瓌tmrdt1mrdt2mrdt3m流水線協(xié)議r3.5 面向連接的傳輸: TCPm報(bào)文

2、段結(jié)構(gòu)m可靠數(shù)據(jù)傳輸m流量控制m連接管理r3.6 擁塞控制的原則r3.7 TCP擁塞控制m機(jī)制mTCP吞吐量mTCP公平性m時(shí)延模型P&EEP&EE Chapter22-4運(yùn)輸服務(wù)和協(xié)議r在運(yùn)行不同主機(jī)上應(yīng)用進(jìn)程之間提供邏輯通信r運(yùn)輸協(xié)議運(yùn)行在端系統(tǒng)中m發(fā)送方:將應(yīng)用報(bào)文劃分為段,傳向網(wǎng)絡(luò)層m接收方:將段重新裝配為報(bào)文,傳向應(yīng)用層r應(yīng)用可供使用的運(yùn)輸協(xié)議不止一個(gè)m因特網(wǎng):TCP和UDP應(yīng)用層運(yùn)輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層應(yīng)用層運(yùn)輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層邏輯端到端傳輸P&

3、amp;EEP&EE Chapter22-5運(yùn)輸層 vs. 網(wǎng)絡(luò)層r網(wǎng)絡(luò)層: 主機(jī)間的邏輯通信r運(yùn)輸層: 進(jìn)程間的邏輯通信m依賴、強(qiáng)化網(wǎng)絡(luò)層服務(wù)家庭類比:12個(gè)孩子向12個(gè)孩子發(fā)信r進(jìn)程 = 孩子r應(yīng)用報(bào)文= 信封中的信r主機(jī) = 家庭r運(yùn)輸協(xié)議 = Ann和Billr網(wǎng)絡(luò)層協(xié)議= 郵政服務(wù)P&EEP&EE Chapter22-6因特網(wǎng)運(yùn)輸層協(xié)議r可靠的、按序的交付 (TCP)m擁塞控制m流量控制m連接建立r不可靠、不按序交付: UDPm“盡力而為”IP的不提供不必要服務(wù)的擴(kuò)展r不可用的服務(wù): m時(shí)延保證m帶寬保證應(yīng)用層運(yùn)輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層

4、應(yīng)用層運(yùn)輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層邏輯端到端傳輸P&EEP&EE Chapter22-7第3章 要點(diǎn)r3.1 運(yùn)輸層服務(wù)r3.2 復(fù)用與分解r3.3 無連接傳輸: UDPr3.4 可靠數(shù)據(jù)傳輸?shù)脑瓌tmrdt1mrdt2mrdt3m流水線協(xié)議r3.5 面向連接的傳輸: TCPm報(bào)文段結(jié)構(gòu)m可靠數(shù)據(jù)傳輸m流量控制m連接管理r3.6 擁塞控制的原則r3.7 TCP擁塞控制m機(jī)制mTCP吞吐量mTCP公平性m時(shí)延模型P&EEP&EE Chapter22-8Internet 層的復(fù)用與

5、分解P&EEP&EE Chapter22-9復(fù)用/分解應(yīng)用層運(yùn)輸層網(wǎng)絡(luò)層鏈路層物理層P1應(yīng)用層運(yùn)輸層網(wǎng)絡(luò)層鏈路層物理層應(yīng)用層運(yùn)輸層network鏈路層物理層P2P3P4P1主機(jī)1主機(jī)2主機(jī)3= 進(jìn)程= 套接字將接收到的段交付給正確的套接字在接收主機(jī)分解:從多個(gè)套接字收集數(shù)據(jù),用首部封裝數(shù)據(jù)(以后用于分解 )在發(fā)送主機(jī)復(fù)用:P&EEP&EE Chapter22-10分解工作過程r主機(jī)接收IP數(shù)據(jù)報(bào)m每個(gè)數(shù)據(jù)報(bào)有源無連接, 目的地?zé)o連接m每個(gè)數(shù)據(jù)報(bào)承載1個(gè)運(yùn)輸層段m每個(gè)段具有源、目的端口號 (回想: 對特定應(yīng)用程序的周知端口號)r主機(jī)使用IP地址 &端口號將

6、段定向到適當(dāng)?shù)奶捉幼衷炊丝?#目的端口 #32 bits應(yīng)用數(shù)據(jù)(報(bào)文)其他首部字段TCP/UDP 段格式P&EEP&EE Chapter22-11無連接分解r生成具有端口號的套接字:DatagramSocket mySocket1 = new DatagramSocket(99111);DatagramSocket mySocket2 = new DatagramSocket(99222);rUDP套接字由二元組標(biāo)識 :r當(dāng)主機(jī)接收UDP段時(shí):m在段中檢查目的地端口號m將UDP段定向到具有該端口號的套接字r具有不同源IP地址和/或源端口號的IP數(shù)據(jù)報(bào) 定向到相同的套接字P&a

7、mp;EEP&EE Chapter22-12無連接分解(續(xù))DatagramSocket serverSocket = new DatagramSocket(6428);客戶機(jī)IP:BP2客戶機(jī) IP: AP1P1P3服務(wù)器IP: CSP: 6428DP: 9157SP: 9157DP: 6428SP: 6428DP: 5775SP: 5775DP: 6428SP提供了“返回地址”P&EEP&EE Chapter22-13面向連接分解rTCP套接字由四元組標(biāo)識: m源IP地址m源端口號m目的IP地址m目的端口號r接收主機(jī)使用這四個(gè)值來將段定向到適當(dāng)?shù)奶捉幼謗服務(wù)器主機(jī)可

8、能支持許多并行的TCP套接字:m每個(gè)套接字由其自己的四元組標(biāo)識rWeb服務(wù)器對每個(gè)連接的客戶機(jī)具有不同的套接字m非持久HTTP將為每個(gè)請求具有不同的套接字P&EEP&EE Chapter22-14面向連接分解 (續(xù))客戶機(jī)IP:BP1客戶機(jī) IP: AP1P2P4服務(wù)器IP: CSP: 9157DP: 80SP: 9157DP: 80P5P6P3D-IP:CS-IP: AD-IP:CS-IP: BSP: 5775DP: 80D-IP:CS-IP: BP&EEP&EE Chapter22-15面向連接分解: 多線程Web服務(wù)器客戶機(jī)IP:BP1客戶機(jī) IP: AP

9、1P2服務(wù)器IP: CSP: 9157DP: 80SP: 9157DP: 80P4P3D-IP:CS-IP: AD-IP:CS-IP: BSP: 5775DP: 80D-IP:CS-IP: BP&EEP&EE Chapter22-16第3章 要點(diǎn)r3.1 運(yùn)輸層服務(wù)r3.2 復(fù)用與分解r3.3 無連接傳輸: UDPr3.4 可靠數(shù)據(jù)傳輸?shù)脑瓌tmrdt1mrdt2mrdt3m流水線協(xié)議r3.5 面向連接的傳輸: TCPm報(bào)文段結(jié)構(gòu)m可靠數(shù)據(jù)傳輸m流量控制m連接管理r3.6 擁塞控制的原則r3.7 TCP擁塞控制m機(jī)制mTCP吞吐量mTCP公平性m時(shí)延模型P&EEP&

10、;EE Chapter22-17UDP: 用戶數(shù)據(jù)報(bào)協(xié)議 RFC 768r“沒有不必要的,” “基本要素” 互聯(lián)網(wǎng)傳輸協(xié)議r“盡力而為”服務(wù),UDP段可能:m丟包m對應(yīng)用程序交付失序r無連接:m在UDP發(fā)送方和接收方之間無握手m每個(gè)UDP段的處理獨(dú)立于其他段為何要有 UDP協(xié)議?r無連接創(chuàng)建(它將增加時(shí)延)r簡單:在發(fā)送方、接收方無連接狀態(tài)r段首部小r無擁塞控制: UDP能夠盡可能快地傳輸P&EEP&EE Chapter22-18UDP: 其他r常用于流式多媒體應(yīng)用m丟包容忍m速率敏感r其他UDP應(yīng)用mDNSmSNMPr經(jīng)UDP的可靠傳輸 : 在應(yīng)用層增加可靠性m應(yīng)用程序特定的

11、差錯(cuò)恢復(fù)!源端口#目的端口#32 bits應(yīng)用數(shù)據(jù)(報(bào)文)UDP 段格式長度檢查和UDP段的長度,包括首部,以字節(jié)計(jì)P&EEP&EE Chapter22-19UDP檢查和發(fā)送方:r將段內(nèi)容處理為16比特整數(shù)序列r檢查和: 段內(nèi)容的加法(反碼和)r發(fā)送方將檢查和放入U(xiǎn)DP檢查和字段接收方:r計(jì)算接收的段的檢查和r核對計(jì)算的檢查和是否等于檢查和字段的值:mNO 檢測到差錯(cuò)mYES 無差錯(cuò)檢測到。雖然如此,還可能有差錯(cuò)嗎?詳情見后目的: 在傳輸?shù)亩沃袡z測“差錯(cuò)” (如比特翻轉(zhuǎn))P&EEP&EE Chapter22-20互聯(lián)網(wǎng)檢查和例子r注意m當(dāng)數(shù)字作加法時(shí),最高位進(jìn)比

12、特位的進(jìn)位需要加到結(jié)果中r例子: 兩個(gè)16-bit整數(shù)相加1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 01 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 11 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 11 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 01 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1回卷 和檢查和P&EEP&EE Chapter22-21第3章 要點(diǎn)r3.1 運(yùn)輸層服務(wù)r3.2 復(fù)用與分解r3.3 無連接傳輸: UDPr3.4 可靠數(shù)據(jù)傳輸?shù)脑瓌tmrdt1mrdt2mrdt3

13、m流水線協(xié)議r3.5 面向連接的傳輸: TCPm報(bào)文段結(jié)構(gòu)m可靠數(shù)據(jù)傳輸m流量控制m連接管理r3.6 擁塞控制的原則r3.7 TCP擁塞控制m機(jī)制mTCP吞吐量mTCP公平性m時(shí)延模型P&EEP&EE Chapter22-22可靠數(shù)據(jù)傳輸?shù)脑瓌tr在應(yīng)用層、運(yùn)輸層、數(shù)據(jù)鏈路層的重要性m重要的網(wǎng)絡(luò)主題中的最重要的10個(gè)之一!r不可靠信道的特點(diǎn)決定了可靠數(shù)據(jù)傳輸 協(xié)議 (rdt) 的復(fù)雜性P&EEP&EE Chapter22-23可靠數(shù)據(jù)傳輸: 基本概念發(fā)送側(cè)接收側(cè)rdt_send(): called from above, (e.g., by app.). Pass

14、ed data to deliver to receiver upper layerudt_send(): called by rdt,to transfer packet over unreliable channel to receiverrdt_rcv(): called when packet arrives on rcv-side of channeldeliver_data(): called by rdt to deliver data to upperP&EEP&EE Chapter22-24可靠數(shù)據(jù)傳輸: 基本概念我們將:r增強(qiáng)研發(fā)發(fā)送方,可靠數(shù)據(jù)傳輸協(xié)議 (

15、rdt) 的接收方側(cè)m僅考慮單向數(shù)據(jù)傳輸m但控制信息將在兩個(gè)方向流動(dòng)!r使用有限狀態(tài)機(jī) (FSM)來定義發(fā)送方和接收方狀態(tài)1狀態(tài)2引起狀態(tài)變遷的事件狀態(tài)變遷所采取的行動(dòng)狀態(tài): 當(dāng)位于這個(gè)“狀態(tài)時(shí)”,下個(gè)狀態(tài)惟一地由下個(gè)事件決定事件動(dòng)作P&EEP&EE Chapter22-25第3章 要點(diǎn)r3.1 運(yùn)輸層服務(wù)r3.2 復(fù)用與分解r3.3 無連接傳輸: UDPr3.4 可靠數(shù)據(jù)傳輸?shù)脑瓌tmrdt1mrdt2mrdt3m流水線協(xié)議r3.5 面向連接的傳輸: TCPm報(bào)文段結(jié)構(gòu)m可靠數(shù)據(jù)傳輸m流量控制m連接管理r3.6 擁塞控制的原則r3.7 TCP擁塞控制m機(jī)制mTCP吞吐量mTCP

16、公平性m時(shí)延模型P&EEP&EE Chapter22-26Rdt1.0: 經(jīng)可靠信道的可靠傳輸r底層信道非??煽縨無比特差錯(cuò)m無分組丟失r裝發(fā)送方、接收方的單獨(dú)FSM:m發(fā)送方將數(shù)據(jù)發(fā)向底層信道m(xù)接收方從底層信道讀取數(shù)據(jù)Wait for call from abovepacket = make_pkt(data)udt_send(packet)rdt_send(data)extract (packet,data)deliver_data(data)Wait for call from belowrdt_rcv(packet)發(fā)送方接收方P&EEP&EE Chap

17、ter22-27第3章 要點(diǎn)r3.1 運(yùn)輸層服務(wù)r3.2 復(fù)用與分解r3.3 無連接傳輸: UDPr3.4 可靠數(shù)據(jù)傳輸?shù)脑瓌tmrdt1mrdt2mrdt3m流水線協(xié)議r3.5 面向連接的傳輸: TCPm報(bào)文段結(jié)構(gòu)m可靠數(shù)據(jù)傳輸m流量控制m連接管理r3.6 擁塞控制的原則r3.7 TCP擁塞控制m機(jī)制mTCP吞吐量mTCP公平性m時(shí)延模型P&EEP&EE Chapter22-28Rdt2.0: 具有比特差錯(cuò)的信道runderlying channel may flip bits in packetmchecksum to detect bit errorsrthe questi

18、on: how to recover from errors:macknowledgements (ACKs): receiver explicitly tells sender that pkt received OKmnegative acknowledgements (NAKs): receiver explicitly tells sender that pkt had errorsmsender retransmits pkt on receipt of NAKrnew mechanisms in rdt2.0 (beyond rdt1.0):merror detectionmrec

19、eiver feedback: control msgs (ACK,NAK) rcvr-senderP&EEP&EE Chapter22-29rdt2.0: FSM規(guī)格參數(shù) 等待來自上面的調(diào)用snkpkt = make_pkt(data, checksum)udt_send(sndpkt)extract(rcvpkt,data)deliver_data(data)udt_send(ACK)rdt_rcv(rcvpkt) & notcorrupt(rcvpkt)rdt_rcv(rcvpkt) & isACK(rcvpkt)udt_send(sndpkt)rdt_r

20、cv(rcvpkt) & isNAK(rcvpkt)udt_send(NAK)rdt_rcv(rcvpkt) & corrupt(rcvpkt) 等待ACK 或NAK 等待來自下面的調(diào)用發(fā)送方接收方rdt_send(data)LP&EEP&EE Chapter22-30rdt2.0: 無差錯(cuò)時(shí)的操作 等待來自上面的調(diào)用snkpkt = make_pkt(data, checksum)udt_send(sndpkt)extract(rcvpkt,data)deliver_data(data)udt_send(ACK)rdt_rcv(rcvpkt) & no

21、tcorrupt(rcvpkt)rdt_rcv(rcvpkt) & isACK(rcvpkt)udt_send(sndpkt)rdt_rcv(rcvpkt) & isNAK(rcvpkt)udt_send(NAK)rdt_rcv(rcvpkt) & corrupt(rcvpkt) 等待 ACK 或NAK 等待來自下面的調(diào)用rdt_send(data)LP&EEP&EE Chapter22-31rdt2.0: 有差錯(cuò)時(shí)的情況 等待來自上面的調(diào)用snkpkt = make_pkt(data, checksum)udt_send(sndpkt)extract(

22、rcvpkt,data)deliver_data(data)udt_send(ACK)rdt_rcv(rcvpkt) & notcorrupt(rcvpkt)rdt_rcv(rcvpkt) & isACK(rcvpkt)udt_send(sndpkt)rdt_rcv(rcvpkt) & isNAK(rcvpkt)udt_send(NAK)rdt_rcv(rcvpkt) & corrupt(rcvpkt)等待ACK 或NAK 等待來自下面的調(diào)用rdt_send(data)LP&EEP&EE Chapter22-32rdt2.0有重大的缺陷!如果AC

23、K/NAK受損,將會(huì)出現(xiàn)何種情況?r發(fā)送方不知道在接收方會(huì)發(fā)生什么情況!r不能只是重傳:可能導(dǎo)致冗余處理冗余: r發(fā)送方對每個(gè)分組增加序列號r如果ACK/NAK受損,發(fā)送方重傳當(dāng)前的分組r接收方丟棄(不再向上交付)冗余分組發(fā)送方發(fā)送一個(gè)分組,然后等待接收方響應(yīng)停止等待P&EEP&EE Chapter22-33rdt2.1: 發(fā)送方, 處理受損的ACK/NAK等待來自上面的調(diào)用0sndpkt = make_pkt(0, data, checksum)udt_send(sndpkt)rdt_send(data)等待 ACK 或 NAK 0udt_send(sndpkt)rdt_rc

24、v(rcvpkt) & ( corrupt(rcvpkt) |isNAK(rcvpkt) )sndpkt = make_pkt(1, data, checksum)udt_send(sndpkt)rdt_send(data)rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & isACK(rcvpkt) udt_send(sndpkt)rdt_rcv(rcvpkt) & ( corrupt(rcvpkt) |isNAK(rcvpkt) )rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & isAC

25、K(rcvpkt) 等待來自上面的調(diào)用1等待 ACK 或NAK 1LLP&EEP&EE Chapter22-34rdt2.1: 接收方,處理受損的ACK/NAK等待來自下面的調(diào)用0sndpkt = make_pkt(NAK, chksum)udt_send(sndpkt)rdt_rcv(rcvpkt) & not corrupt(rcvpkt) & has_seq0(rcvpkt)rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & has_seq1(rcvpkt) extract(rcvpkt,data)deliver_

26、data(data)sndpkt = make_pkt(ACK, chksum)udt_send(sndpkt)等待來自上面的調(diào)用1rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & has_seq0(rcvpkt) extract(rcvpkt,data)deliver_data(data)sndpkt = make_pkt(ACK, chksum)udt_send(sndpkt)rdt_rcv(rcvpkt) & (corrupt(rcvpkt)sndpkt = make_pkt(ACK, chksum)udt_send(sndpkt)rd

27、t_rcv(rcvpkt) & not corrupt(rcvpkt) & has_seq1(rcvpkt)rdt_rcv(rcvpkt) & (corrupt(rcvpkt)sndpkt = make_pkt(ACK, chksum)udt_send(sndpkt)sndpkt = make_pkt(NAK, chksum)udt_send(sndpkt)P&EEP&EE Chapter22-35rdt2.1: 討論發(fā)送方:r序號seq # 加入分組中r兩個(gè)序號seq. #s (0,1) 將夠用. ( 為什么?)r必須檢查是否收到的ACK/NAK受損

28、r狀態(tài)增加一倍m狀態(tài)必須“記住”是否“當(dāng)前的”分組具有0或1序號接收方:r必須檢查是否接收到的分組是冗余的m狀態(tài)指示是否0或1是所期待的分組序號seq #r注意: 接收方不能知道是否它的最后的ACK/NAK在發(fā)送方已經(jīng)接收OK P&EEP&EE Chapter22-36rdt2.2: 一種無NAK的協(xié)議r與rdt2.1一樣的功能,僅使用ACKr代替NAK,接收方對最后正確接收的分組發(fā)送ACKm接收方必須明確地包括被確認(rèn)分組的序號r在發(fā)送方冗余的ACK導(dǎo)致如同NAK相同的動(dòng)作:重傳當(dāng)前分組P&EEP&EE Chapter22-37rdt2.2: 發(fā)送方, 接收方片

29、段等待來自上面的調(diào)用0sndpkt = make_pkt(0, data, checksum)udt_send(sndpkt)rdt_send(data)udt_send(sndpkt)rdt_rcv(rcvpkt) & ( corrupt(rcvpkt) | isACK(rcvpkt,1) )rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & isACK(rcvpkt,0) 等待ACK0發(fā)送方FSM片段等待來自下面的調(diào)用0rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & has_seq1(rcvpk

30、t) extract(rcvpkt,data)deliver_data(data)sndpkt = make_pkt(ACK1, chksum)udt_send(sndpkt)rdt_rcv(rcvpkt) & (corrupt(rcvpkt) | has_seq1(rcvpkt)udt_send(sndpkt)接收方FSM片段LP&EEP&EE Chapter22-38第3章 要點(diǎn)r3.1 運(yùn)輸層服務(wù)r3.2 復(fù)用與分解r3.3 無連接傳輸: UDPr3.4 可靠數(shù)據(jù)傳輸?shù)脑瓌tmrdt1mrdt2mrdt3m流水線協(xié)議r3.5 面向連接的傳輸: TCPm報(bào)文段結(jié)構(gòu)m可

31、靠數(shù)據(jù)傳輸m流量控制m連接管理r3.6 擁塞控制的原則r3.7 TCP擁塞控制m機(jī)制mTCP吞吐量mTCP公平性m時(shí)延模型P&EEP&EE Chapter22-39rdt3.0: 具有差錯(cuò)和丟包的信道新假設(shè): 下面的信道也能丟失分組(數(shù)據(jù)或ACK)m檢查和、序號、重傳將是有幫助的,但不充分方法: 發(fā)送方等待ACK一段“合理的”時(shí)間r如在這段時(shí)間沒有收到ACK則重傳r如果分組(或ACK)只是延遲(沒有丟失):m重傳將是冗余的,但序號的使用已經(jīng)處理了該情況m接收方必須定義被確認(rèn)的分組序號r需要倒計(jì)時(shí)定時(shí)器P&EEP&EE Chapter22-40rdt3.0發(fā)送方s

32、ndpkt = make_pkt(0, data, checksum)udt_send(sndpkt)start_timerrdt_send(data)等待 ACK0rdt_rcv(rcvpkt) & ( corrupt(rcvpkt) |isACK(rcvpkt,1) )等待來自上面的調(diào)用1sndpkt = make_pkt(1, data, checksum)udt_send(sndpkt)start_timerrdt_send(data)rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & isACK(rcvpkt,0) rdt_rcv(r

33、cvpkt) & ( corrupt(rcvpkt) |isACK(rcvpkt,0) )rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & isACK(rcvpkt,1) stop_timerstop_timerudt_send(sndpkt)start_timertimeoutudt_send(sndpkt)start_timertimeoutrdt_rcv(rcvpkt) 等待來自上面的調(diào)用0等待 ACK1Lrdt_rcv(rcvpkt)LLLP&EEP&EE Chapter22-41rdt3.0 運(yùn)行情況無丟包時(shí)的運(yùn)行

34、分組丟失發(fā)送方發(fā)送方接收方接收方P&EEP&EE Chapter22-42rdt3.0運(yùn)行情況ACK丟失 過早超時(shí) 發(fā)送方發(fā)送方接收方接收方P&EEP&EE Chapter22-43rdt3.0的性能rrdt3.0能夠工作,但性能不太好r例子: 1 Gbps鏈路, 15 ms端到端傳播時(shí)延, 1KB分組:Ttransmit=8kb/pkt10*9 b/sec= 8 microsecmU sender: 利用率 發(fā)送方用于發(fā)送時(shí)間的比率m每30 msec 1KB 分組 - 經(jīng)1 Gbps 鏈路有33kB/sec 吞吐量m網(wǎng)絡(luò)協(xié)議限制了物理資源的使用! U send

35、er = .008 30.008 = 0.00027 L / R RTT + L / R = L (packet length in bits)R (transmission rate, bps)=P&EEP&EE Chapter22-44rdt3.0: 停等協(xié)議的運(yùn)行傳輸分組的第一個(gè)比特, t = 0發(fā)送方接收方RTT 傳輸分組的最后一個(gè)比特, t = L / R分組第一個(gè)比特到達(dá)傳輸最后一個(gè)比特到達(dá),發(fā)送ACKACK 到達(dá),發(fā)送下一個(gè)分組, t = RTT + L / R U sender = .008 30.008 = 0.00027 L / R RTT + L / R

36、= P&EEP&EE Chapter22-45第3章 要點(diǎn)r3.1 運(yùn)輸層服務(wù)r3.2 復(fù)用與分解r3.3 無連接傳輸: UDPr3.4 可靠數(shù)據(jù)傳輸?shù)脑瓌tmrdt1mrdt2mrdt3m流水線協(xié)議r3.5 面向連接的傳輸: TCPm報(bào)文段結(jié)構(gòu)m可靠數(shù)據(jù)傳輸m流量控制m連接管理r3.6 擁塞控制的原則r3.7 TCP擁塞控制m機(jī)制mTCP吞吐量mTCP公平性m時(shí)延模型P&EEP&EE Chapter22-46流水線協(xié)議流水線: 發(fā)送方允許發(fā)送多個(gè)、“傳輸中的”,還沒有應(yīng)答的報(bào)文段m序號的范圍必須增加m發(fā)送方和/或接收方設(shè)有緩沖r流水線協(xié)議的兩種形式: 回退回退N

37、幀法(幀法(go-Back-N), 選擇性重傳(選擇性重傳(S-R), P&EEP&EE Chapter22-47流水線協(xié)議: 增加利用率傳輸?shù)谝粋€(gè)分組比特傳輸?shù)谝粋€(gè)分組比特, t = 0發(fā)送者接收者RTT 傳輸最后一個(gè)比特傳輸最后一個(gè)比特, t = L / R第一個(gè)分組比特到達(dá)第一個(gè)分組比特到達(dá)分組最后一個(gè)比特到達(dá)分組最后一個(gè)比特到達(dá),發(fā)送發(fā)送 ACKACK 到達(dá)到達(dá), 發(fā)送下一個(gè)分組發(fā)送下一個(gè)分組, t = RTT + L / R第二個(gè)分組最后比特到達(dá)第二個(gè)分組最后比特到達(dá),發(fā)送發(fā)送ACK第三個(gè)分組最后比特到達(dá)第三個(gè)分組最后比特到達(dá),發(fā)送發(fā)送ACK U sender = .

38、024 30.008 = 0.0008 microseconds 3 * L / R RTT + L / R = 利用率增加利用率增加3倍倍!P&EEP&EE Chapter22-48Go-Back-N發(fā)送方發(fā)送方:r在分組首部需要K比特序號,2k=Nr“窗口”最大為N, 允許N個(gè)連續(xù)的沒有應(yīng)答分組rACK(n): 確認(rèn)所有的(包括序號n)的分組 - “累計(jì)ACK”m可能收到重復(fù)的ACKs (見接收方)r對每個(gè)傳輸中的分組的用同一個(gè)計(jì)時(shí)器rtimeout(n):若超時(shí),重傳窗口中的分組n及所有更高序號的分組P&EEP&EE Chapter22-49GBN: 發(fā)送

39、方擴(kuò)展的 FSM等待等待start_timerudt_send(sndpktbase)udt_send(sndpktbase+1)udt_send(sndpktnextseqnum-1)超時(shí)rdt_send(data) if (nextseqnum 沒有接收緩沖區(qū)!m重新確認(rèn)具有按序的分組Waitudt_send(sndpkt)defaultrdt_rcv(rcvpkt) & notcurrupt(rcvpkt) & hasseqnum(rcvpkt,expectedseqnum) extract(rcvpkt,data)deliver_data(data)sndpkt = m

40、ake_pkt(expectedseqnum,ACK,chksum)udt_send(sndpkt)expectedseqnum+expectedseqnum=1sndpkt = make_pkt(expectedseqnum,ACK,chksum)L等等待待P&EEP&EE Chapter22-51GBN 操作發(fā)送方接收方P&EEP&EE Chapter22-52選擇性重傳(Selective Repeat)GBN改善了信道效率,但仍然有不必要重傳問題r接收方分別確認(rèn)所有正確接收的報(bào)文段m需要緩存分組, 以便最后按序交付給給上層r發(fā)送方只需要重傳沒有收到ACK

41、的分組m發(fā)送方定時(shí)器對每個(gè)沒有確認(rèn)的分組計(jì)時(shí)r發(fā)送窗口mN個(gè)連續(xù)的序號m也需要限制已發(fā)送但尚未應(yīng)答分組的序號P&EEP&EE Chapter22-53選擇性重傳: 發(fā)送方, 接收方窗口a. 發(fā)送方看到的序號b. 接收方看到的序號已經(jīng)確認(rèn)可用,還未發(fā)送發(fā)送,還未確認(rèn)不可用可接受(窗口內(nèi)) 失序(已緩存)但未被確認(rèn) 可接受(窗口內(nèi))期待,還未收到 不可用 窗口長度N窗口長度NP&EEP&EE Chapter22-54選擇性重傳上層傳來數(shù)據(jù)上層傳來數(shù)據(jù) :r如果窗口中下一個(gè)序號可用, 發(fā)送報(bào)文段timeout(n):r重傳分組n, 重啟其計(jì)時(shí)器ACK(n) 在在sen

42、dbase,sendbase+N:r標(biāo)記分組 n 已經(jīng)收到r如果n 是最小未收到應(yīng)答的分組,向前滑動(dòng)窗口base指針到下一個(gè)未確認(rèn)序號發(fā)送方分組分組n在在 rcvbase, rcvbase+N-1r發(fā)送 ACK(n)r失序: 緩存r按序: 交付 (也交付所有緩存的按序分組),向前滑動(dòng)窗口到下一個(gè)未收到報(bào)文段的序號分組分組n在在rcvbase-N,rcvbase-1rACK(n)其他其他: r忽略 接收方P&EEP&EE Chapter22-55選擇重傳的操作P&EEP&EE Chapter22-56選擇重傳: 困難的問題例子:r序號: 0, 1, 2, 3r窗口

43、長度 = 3r接收方:在(a)和(b)兩種情況下接收方?jīng)]有發(fā)現(xiàn)差別!r在 (a)中不正確地將新的冗余的當(dāng)為新的,而在(b)中不正確地將新的當(dāng)作冗余的問題: 序號長度與窗口長度有什么關(guān)系?回答:窗口長度小于等于序號空間的一半P&EEP&EE Chapter22-57可靠數(shù)據(jù)傳輸機(jī)制及用途總結(jié)機(jī)制用途和說明檢驗(yàn)和用于檢測在一個(gè)傳輸分組中的比特錯(cuò)誤。定時(shí)器用于檢測超時(shí)/重傳一個(gè)分組,可能因?yàn)樵摲纸M(或其ACK)在信道中丟失了。由于當(dāng)一個(gè)分組被時(shí)延但未丟失(過早超時(shí)),或當(dāng)一個(gè)分組已被接收方收到但從接收方到發(fā)送方的ACK丟失時(shí),可能產(chǎn)生超時(shí)事件,所以接收方可能會(huì)收到一個(gè)分組的多個(gè)冗余拷

44、貝。序號用于為從發(fā)送方流向接收方的數(shù)據(jù)分組按順序編號。所接收分組的序號間的空隙可使該接收方檢測出丟失的分組。具有相同序號的分組可使接收方檢測出一個(gè)分組的冗余拷貝。確認(rèn)接收方用于告訴發(fā)送方一個(gè)分組或一組分組已被正確地接收到了。確認(rèn)報(bào)文通常攜帶著被確認(rèn)的分組或多個(gè)分組的序號。確認(rèn)可以是逐個(gè)的或累積的,這取決于協(xié)議。否定確認(rèn)接收方用于告訴發(fā)送方某個(gè)分組未被正確地接收。否定確認(rèn)報(bào)文通常攜帶著未被正確接收的分組的序號。窗口、流水線發(fā)送方也許被限制僅發(fā)送那些序號落在一個(gè)指定范圍內(nèi)的分組。通過允許一次發(fā)送多個(gè)分組但未被確認(rèn),發(fā)送方的利用率可在停等操作模式的基礎(chǔ)上得到增加。我們很快將會(huì)看到,窗口長度可根據(jù)接收

45、方接收和緩存報(bào)文的能力或網(wǎng)絡(luò)中的擁塞程度,或兩者情況來進(jìn)行設(shè)置。P&EEP&EE Chapter22-58第3章 要點(diǎn)r3.5 面向連接的傳輸: TCPm報(bào)文段結(jié)構(gòu)m可靠數(shù)據(jù)傳輸m流量控制m連接管理r3.6 擁塞控制的原則r3.7 TCP擁塞控制m機(jī)制mTCP吞吐量mTCP公平性m時(shí)延模型r3.1 運(yùn)輸層服務(wù)r3.2 復(fù)用與分解r3.3 無連接傳輸: UDPr3.4 可靠數(shù)據(jù)傳輸?shù)脑瓌tmrdt1mrdt2mrdt3m流水線協(xié)議P&EEP&EE Chapter22-59TCP概述 RFCs: 793, 1122, 1323, 2018, 2581r全雙工數(shù)據(jù)全雙工

46、數(shù)據(jù):m同一連接上的雙向數(shù)據(jù)流mMSS: 最大報(bào)文段長度mMTU:最大傳輸單元r面向連接面向連接: m在進(jìn)行數(shù)據(jù)交換前,初始化發(fā)送方與接收方狀態(tài),進(jìn)行握手(交換控制信息),r流量控制流量控制:m發(fā)送方不能淹沒接收方r擁塞控制擁塞控制:m抑止發(fā)送方速率來防止過分占用網(wǎng)絡(luò)資源r點(diǎn)到點(diǎn)點(diǎn)到點(diǎn):m一個(gè)發(fā)送方, 一個(gè)接收方m連接狀態(tài)與端系統(tǒng)有關(guān),不為路由器所知 r可靠、有序的字節(jié)流可靠、有序的字節(jié)流:m沒有 “報(bào)文邊界”r流水線流水線:mTCP擁塞和流量控制設(shè)置滑動(dòng)窗口協(xié)議r發(fā)送和接收緩沖區(qū)發(fā)送和接收緩沖區(qū)socketdoorTCPsend bufferTCPreceive buffersocketdo

47、orsegmentapplicationwrites dataapplicationreads dataP&EEP&EE Chapter22-60TCP 報(bào)文段結(jié)構(gòu)源端口 #目的端口 #32 bits應(yīng)用層數(shù)據(jù) (變長)序號確認(rèn)號接收窗口緊急數(shù)據(jù)指針檢查和FSRPAU首部長度未用選項(xiàng) (變長)URG: 緊急數(shù)據(jù) (一般不用)ACK: ACK 序號有效PSH: 立即提交數(shù)據(jù)(一般不用)RST, SYN, FIN:連接建立(建立和拆連)接收方允許的字節(jié)數(shù)對數(shù)據(jù)字節(jié)計(jì)數(shù)(并非對報(bào)文段計(jì)數(shù)!)因特網(wǎng)檢查和(同 UDP一樣)P&EEP&EE Chapter22-61TCP

48、序號和確認(rèn)號序號序號:m報(bào)文段中第1個(gè)數(shù)據(jù)字節(jié)在字節(jié)流中的位置編號確認(rèn)號確認(rèn)號:m期望從對方收到下一個(gè)字節(jié)的序號m累計(jì)應(yīng)答問題:接收方如何處理失序報(bào)文段?回答:TCP規(guī)范沒有說明, 由實(shí)現(xiàn)者自行選擇實(shí)現(xiàn): 拋棄/緩存 主機(jī)主機(jī) A主機(jī)主機(jī) BSeq=42, ACK=79, data = CSeq=79, ACK=43, data = CSeq=43, ACK=80用戶鍵入C主機(jī)對接收到的C回顯給出確認(rèn)主機(jī)對收到的C給出確認(rèn), 回顯 C時(shí)間時(shí)間簡單的telnet情況捎帶確認(rèn)捎帶確認(rèn)P&EEP&EE Chapter22-62TCP往返時(shí)延(RTT)的估計(jì)與超時(shí)問題: 如何設(shè)置TCP

49、 超時(shí)值?r應(yīng)大于RTTm但RTT是變化的r太短: 過早超時(shí)m不必要的重傳r太長: 對報(bào)文段的丟失響應(yīng)太慢問題: 如何估計(jì)RTT?rSampleRTT: 從發(fā)送報(bào)文段到接收到ACK的測量時(shí)間m忽略重傳rSampleRTT會(huì)變化,希望估計(jì)的RTT“較平滑”m平均最近的測量值,并不僅僅是當(dāng)前SampleRTTP&EEP&EE Chapter22-63EstimatedRTT = (1- )*EstimatedRTT + *SampleRTTr指數(shù)加權(quán)移動(dòng)平均(Exponential weighted moving average)r過去的樣本指數(shù)級衰減來產(chǎn)生影響r典型值: = 0.

50、125TCP往返時(shí)延估計(jì)與超時(shí) (續(xù))P&EEP&EE Chapter22-64RTT估計(jì)的例子P&EEP&EE Chapter22-65TCP往返時(shí)延估計(jì)與超時(shí) (續(xù))設(shè)置超時(shí)間隔設(shè)置超時(shí)間隔rEstimtedRTT 加 “安全余量”mEstimatedRTT大變化- 更大的安全余量r首先估算EstimatedRTT與SampleRTT之間差值有多大 : TimeoutInterval = EstimatedRTT + 4*DevRTTDevRTT = (1- )*DevRTT + *|SampleRTT-EstimatedRTT|(典型地, = 0.25)

51、然后估算超時(shí)值然后估算超時(shí)值:P&EEP&EE Chapter22-66第3章 要點(diǎn)r3.5 面向連接的傳輸: TCPm報(bào)文段結(jié)構(gòu)m可靠數(shù)據(jù)傳輸m流量控制m連接管理r3.6 擁塞控制的原則r3.7 TCP擁塞控制m機(jī)制mTCP吞吐量mTCP公平性m時(shí)延模型r3.1 運(yùn)輸層服務(wù)r3.2 復(fù)用與分解r3.3 無連接傳輸: UDPr3.4 可靠數(shù)據(jù)傳輸?shù)脑瓌tmrdt1mrdt2mrdt3m流水線協(xié)議P&EEP&EE Chapter22-67TCP 可靠數(shù)據(jù)傳輸rTCP在IP不可靠服務(wù)的基礎(chǔ)上創(chuàng)建可靠數(shù)據(jù)傳輸服務(wù)r流水線發(fā)送報(bào)文段r累計(jì)確認(rèn)rTCP使用單個(gè)重傳計(jì)時(shí)器r重

52、傳被下列事件觸發(fā):m超時(shí)事件m重復(fù)ACKr先考慮簡化的TCP發(fā)送方:m 忽略重復(fù)ACKm 忽略流量控制,擁塞控制P&EEP&EE Chapter22-68TCP 發(fā)送方事件1.從應(yīng)用層接收數(shù)據(jù):r根據(jù)序號創(chuàng)建報(bào)文段r序號是報(bào)文段中第一個(gè)數(shù)據(jù)字節(jié)的數(shù)據(jù)流編號r如果未啟動(dòng),啟動(dòng)計(jì)時(shí)器 (考慮計(jì)時(shí)器用于最早的沒有確認(rèn)的報(bào)文段)r超時(shí)間隔: TimeOutInterval= EstimatedRTT + 4*DevRTT2.超時(shí):r重傳導(dǎo)致超時(shí)的報(bào)文段r重新啟動(dòng)計(jì)時(shí)器3.收到確認(rèn):r如果確認(rèn)了先前未被確認(rèn)的報(bào)文段 r更新被確認(rèn)的報(bào)文段序號r如果還有未被確認(rèn)的報(bào)文段,重新啟動(dòng)計(jì)時(shí)器P&a

53、mp;EEP&EE Chapter22-69TCP 發(fā)送方(簡化的) NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) switch(event) event: data received from application above create TCP segment with sequence number NextSeqNum if (timer currently not running) start timer pass segment to IP NextSeqNum = NextSeqN

54、um + length(data) event: timer timeout retransmit not-yet-acknowledged segment with smallest sequence number y start timer event: ACK received, with ACK field value of y if (y SendBase) /* 累計(jì)確認(rèn)到Y(jié) */ SendBase = y if (there are currently not-yet-acknowledged segments) start timer /* end of loop foreve

55、r */ 注釋: SendBase-1: 上次累計(jì)的已確認(rèn)字節(jié)例如: SendBase-1 = 71;y= 73, 因此接收方期待73+ ;y SendBase, 因此新數(shù)據(jù)被確認(rèn)P&EEP&EE Chapter22-70TCP: 重傳的情況主機(jī) ASeq=100, 20 bytes dataACK=100時(shí)間過早超時(shí)的情況主機(jī) BSeq=92, 8 bytes dataACK=120Seq=92, 8 bytes dataSeq=92 超時(shí)ACK=120主機(jī) ASeq=92, 8 bytes dataACK=100loss超時(shí)丟失確認(rèn)的情況主機(jī) BXSeq=92, 8 byt

56、es dataACK=100時(shí)間Seq=92 超時(shí)SendBase= 100SendBase= 120SendBase= 120Sendbase= 100P&EEP&EE Chapter22-71TCP 重傳情況(續(xù))主機(jī) ASeq=92, 8 bytes dataACK=100丟包超時(shí)累計(jì)確認(rèn)情況主機(jī) BXSeq=100, 20 bytes dataACK=120時(shí)間SendBase= 120P&EEP&EE Chapter22-72TCP ACK 產(chǎn)生 RFC 1122, RFC 2581接收方事件接收方事件所期望序號的報(bào)文段按序到達(dá)。所有在期望序號及以前的

57、數(shù)據(jù)都已經(jīng)被確認(rèn) 有期望序號的報(bào)文段按序到達(dá)。另一個(gè)按序報(bào)文段等待發(fā)送ACK 比期望序號大的失序報(bào)文段到達(dá),檢測出數(shù)據(jù)流中的間隔。 部分或者完全填充已接收到數(shù)據(jù)間隔的報(bào)文段到達(dá)TCP 接收方行為接收方行為延遲的ACK。對另一個(gè)按序報(bào)文段的到達(dá)最多等待500 ms。如果下一個(gè)按序報(bào)文段在這個(gè)時(shí)間間隔內(nèi)沒有到達(dá),則發(fā)送一個(gè)ACK 立即發(fā)送單個(gè)累積ACK,以確認(rèn)兩個(gè)按序報(bào)文段 立即發(fā)送冗余ACK,指明下一個(gè)期待字節(jié)的序號(也就是間隔的低端字節(jié)序號) 倘若該報(bào)文段起始于間隔的低端,則立即發(fā)送ACK P&EEP&EE Chapter22-73快速重傳r超時(shí)間隔常常相對較長:m重傳丟失報(bào)文

58、段以前有長時(shí)延r通過冗余ACK,檢測丟失的報(bào)文段m發(fā)送方經(jīng)常一個(gè)接一個(gè)的發(fā)送報(bào)文段m如果報(bào)文段丟失,將會(huì)收到很多重復(fù)ACKr如果對相同數(shù)據(jù),發(fā)送方收到3個(gè)ACK, 假定被確認(rèn)的報(bào)文段以后的報(bào)文段丟失了:m快速重傳: 在定時(shí)器超時(shí)之前重傳P&EEP&EE Chapter22-74 事件: 收到ACK, ACK 域的值為 y if (y SendBase) SendBase = y if (當(dāng)前還有沒有確認(rèn)的報(bào)文段) 啟動(dòng)定時(shí)器 else 值為 y的重復(fù)確認(rèn)的次數(shù)加1 if (值為 y的重復(fù)確認(rèn)的計(jì)數(shù)= 3) 重傳序號位y的報(bào)文段 快速重傳算法:對已經(jīng)確認(rèn)的報(bào)文段收到一個(gè)重復(fù)ACK

59、快速重傳P&EEP&EE Chapter22-75第3章 要點(diǎn)r3.5 面向連接的傳輸: TCPm報(bào)文段結(jié)構(gòu)m可靠數(shù)據(jù)傳輸m流量控制m連接管理r3.6 擁塞控制的原則r3.7 TCP擁塞控制m機(jī)制mTCP吞吐量mTCP公平性m時(shí)延模型r3.1 運(yùn)輸層服務(wù)r3.2 復(fù)用與分解r3.3 無連接傳輸: UDPr3.4 可靠數(shù)據(jù)傳輸?shù)脑瓌tmrdt1mrdt2mrdt3m流水線協(xié)議P&EEP&EE Chapter22-76TCP 流量控制rTCP連接的接收方有1個(gè)接收緩沖區(qū):r匹配速度服務(wù): 發(fā)送速率需要匹配接收方應(yīng)用程序的提取速率r應(yīng)用進(jìn)程可能從接收緩沖區(qū)讀數(shù)據(jù)緩慢發(fā)送

60、方不能發(fā)送太多、太快的數(shù)據(jù)讓接收方緩沖區(qū)溢出流量控制流量控制P&EEP&EE Chapter22-77TCP流控: 工作原理(假設(shè) TCP 接收方丟棄失序的報(bào)文段)r緩沖區(qū)的剩余空間= RcvWindow= RcvBuffer-LastByteRcvd - LastByteReadr接收方在報(bào)文段接收窗口字段中通告其接收緩沖區(qū)的剩余空間r發(fā)送方要限制未確認(rèn)的數(shù)據(jù)不超過RcvWindowLastByteSent-LastByteAcked linlout擁塞的擁塞的“代價(jià)代價(jià)”: r比額定的“吞吐量”做更多的工作 (重傳)r不必要重傳: 鏈路承載分組的多個(gè)拷貝P&EEP&

61、amp;EE Chapter22-89擁塞的原因與開銷: 情況3 r四個(gè)發(fā)送者r多跳路徑r超時(shí)/重傳lin問題: 隨著 和 的增加將發(fā)生什么情況 ?lin有限的共享式輸出鏈路緩存 主機(jī) Alin 原始數(shù)據(jù)主機(jī) Bloutlin : 原始數(shù)據(jù), 重傳數(shù)據(jù)P&EEP&EE Chapter22-90擁塞的原因與開銷: 情況3 (續(xù)) 另一個(gè)擁塞的“開銷”: r當(dāng)分組丟失時(shí), 任何用于傳輸該分組的上游傳輸能力都被浪費(fèi)!Host AHost BloutP&EEP&EE Chapter22-91擁塞控制方法端到端的擁塞控制:r不能從網(wǎng)絡(luò)得到明確的反饋r從端系統(tǒng)根據(jù)觀察到的時(shí)

62、延和丟失現(xiàn)象推斷出擁塞r這是TCP所采用的方法網(wǎng)絡(luò)輔助的擁塞控制:r路由器為端系統(tǒng)提供反饋m一個(gè)bit指示一條鏈路出現(xiàn)擁塞(SNA,DECnet,TCP/IP ECN, ATM)m指示發(fā)送方按照一定速率發(fā)送控制擁塞的兩類方法控制擁塞的兩類方法:P&EEP&EE Chapter22-92案例研究: ATM ABR 擁塞控制ABR: 可用比特率:r“彈性服務(wù)” r如果發(fā)送方的路徑 “欠載”: m發(fā)送方應(yīng)該使用可用的帶寬r如果發(fā)送方的路徑擁塞: m發(fā)送方被抑制到最小的保證速率RM (資源管理) 信元:r發(fā)送方發(fā)送RM 信元, 散布在數(shù)據(jù)信元中r由交換機(jī)設(shè)置 RM 信元中的特定比特(“網(wǎng)絡(luò)輔助”) mNI bit: 速率無增長 (輕度擁塞)mCI bit: 擁塞指示r接收方向發(fā)送方返回RM 信元P&EEP&EE Chapter22-93rRM信元中的兩字節(jié) ER (明確速率)字段m擁塞的交換機(jī)會(huì)降低RM信元中的ER 值為m發(fā)送方以路徑上所有交換機(jī)的最小支持速率發(fā)送r數(shù)據(jù)信元中的EFCI bit : 被擁塞的交換機(jī)設(shè)置為1 m如果比RM信元先到達(dá)的數(shù)據(jù)信元的EFCI位為1,接收方將在返回的RM信元的CI位

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論