通工專業(yè)(卓越)-現(xiàn)代通信網(wǎng)B-第六章-互聯(lián)網(wǎng)-3_第1頁
通工專業(yè)(卓越)-現(xiàn)代通信網(wǎng)B-第六章-互聯(lián)網(wǎng)-3_第2頁
通工專業(yè)(卓越)-現(xiàn)代通信網(wǎng)B-第六章-互聯(lián)網(wǎng)-3_第3頁
通工專業(yè)(卓越)-現(xiàn)代通信網(wǎng)B-第六章-互聯(lián)網(wǎng)-3_第4頁
通工專業(yè)(卓越)-現(xiàn)代通信網(wǎng)B-第六章-互聯(lián)網(wǎng)-3_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第第6章章 互聯(lián)網(wǎng)(互聯(lián)網(wǎng)(internet)2022-5-52第六章第六章 Internet6.1 Internet概述6.2 協(xié)議與互連的原理6.3 IP層6.4 運輸層 6.5 應用層6.6 IPv62022-5-53第十章第十章 Internet的運輸層的運輸層applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetwo

2、rkdata linkphysicalnetworkdata linkphysicallogical end-end transport問題:1)IP層只提供Besteffort的服務,如果用戶需要可靠的服務怎么辦?2) 主機上正在通信的一對進程相互間如何尋址?2022-5-54Internet傳輸層協(xié)議概述傳輸層協(xié)議概述應用層傳輸層網(wǎng)絡層網(wǎng)絡接入層TCPUDP2022-5-55TCP/UDP報文段格式報文段格式0816243116位源端口16位目的端口32位序列號32位確認號URGACKPSHRSTSYNFIN首部長度保留(6位)16位窗口大小16位TCP校驗和16位緊急指針選項數(shù)據(jù)0816

3、243116位源端口16位目的端口16位UDP校驗和數(shù)據(jù)UDP報文段格式報文段格式TCP報文段格式報文段格式16位UDP長度2022-5-561運輸層運輸層的協(xié)議和服務的協(xié)議和服務l兩個運輸層協(xié)議TCP,UDPl運輸層提供基于端口號的復用能力。l運輸層運行于端系統(tǒng)之上,提供不同主機上進程之間的邏輯通信能力。lTCP在兩個進程間提供可靠數(shù)據(jù)傳送服務lTCP段的結構l接收證實和超時重傳l流量控制l連接管理l擁塞控制但TCP不保證時延和帶寬2022-5-57TCP保證可靠服務的機制保證可靠服務的機制l數(shù)據(jù)報丟失:引入接收確認,重傳機制l錯序:在段中引入順序號,使在最終目的地可以進行分段的重裝。lCh

4、ecksum:保證識別傳輸中的差錯l慢的接收者:引入流控機制,使接收者可控制發(fā)送者的速率。l網(wǎng)絡擁塞:控制源端的發(fā)送量,使之不超過網(wǎng)絡的處理能力。l并發(fā)復用:引入端口號來區(qū)分不同的連接2022-5-582 TCP報文段的格式報文段的格式源端口號目的端口號32 bits 應用數(shù)據(jù)(可變長)順序號確認號接收窗口緊急指針校驗和FSRPAU頭部長度保留可選項(變長)20字節(jié)小于40字節(jié)64k字節(jié)順序號順序號:當SYN1,代表初始序號ISN;其它時候SN表示該段中第一個數(shù)據(jù)字節(jié)的序號。確認號確認號:代表TCP接收實體期望接收的下一個字節(jié)的序號。頭部長度頭部長度:以32bit為單位。接收窗口接收窗口:由接

5、收方給出的愿意接受的字節(jié)數(shù)量,起始序號由確認號字段給出。校驗和校驗和:對整個報文段進行校驗。2022-5-59l緊急指針:該字段的值加上報文段的序號后,代表緊急數(shù)據(jù)序列的最后一個字節(jié),它使收方能夠知道共有多少緊急數(shù)據(jù)到來。lURG:置位代表緊急指針字段有意義。lACK: 確認號字段有意義。lPSH:強制交付lRST:重建連接lSYN:序號同步和連接建立。lFIN:本端不再發(fā)送數(shù)據(jù),連接釋放2022-5-5103 TCP的連接管理的連接管理l面向連接:為實現(xiàn)一對進程之間可靠的數(shù)據(jù)通信,TCP采用了面向連接的方式,即在進程間先建立連接,再傳輸數(shù)據(jù)。l連接是實現(xiàn)可靠傳輸機制的基礎l連接的標識:IP地

6、址端口號(運輸層)連接,該連接又被稱為套接字Socket。lTCP連接是主機到主機的連接,即只在直接通信的兩個主機上維持連接狀態(tài)。l套接字是一個全雙工連接 A-B =【(本地IP,本地端口),(遠端IP,遠端端口)】2022-5-511Socket的概念的概念進程進程InternetOS控制程序員控制TCP層層SocketBSocketA2022-5-512基于套接字的多路分解基于套接字的多路分解ClientIP:BP1client IP: AP1P2serverIP: CSP: 9157DP: 80SP: 9157DP: 80P4P3D-IP:CS-IP: AD-IP:CS-IP: BSP:

7、 5775DP: 80D-IP:CS-IP: B2022-5-513TCPFTPTELNETDNSSNMPTFTPSMTPUDP2123255369161520TCP保留端口號保留端口號RIP在在C/S模式下,提模式下,提供特定服務的服務供特定服務的服務器必須公開其服務器必須公開其服務端口號,所有的端口號,所有的Internet標準服標準服務都有自己的保留務都有自己的保留端口號,這些端口端口號,這些端口號被稱為號被稱為well-known port,一般一般1024以內(nèi)的端口以內(nèi)的端口將被將被OS保留。保留。2022-5-514連接的建立過程:三次握手連接的建立過程:三次握手l每一方通知對方自

8、己將要使用的初始SN。l為什么不簡單的用 0?l每一方確認對方的SNlSYN-ACK: 確認 SN + 1l第二個SYN可以和第一個ACK合并SYN: SNxACK: ANx+1SYN: SNyACK: ANy+1ClientServer2022-5-515連接的釋放過程連接的釋放過程l每一方獨立發(fā)起釋放過程l發(fā)送 FIN 消息l“Im not going to send any more data”l另一方可以繼續(xù)發(fā)送數(shù)據(jù)l單向連接l確認必須繼續(xù)l確認 FINl確認最后的 SN + 1釋放過程看成兩個獨立的單工連接來理解ABFIN, SNaACK, AN=a+1ACK,DataACK, AN

9、=B+1FIN,SN=B2022-5-5164 TCP的流量控制的流量控制問題:如何限制發(fā)送者的速率以實現(xiàn)收發(fā)速率匹配?l鏈路層采用固定窗口大小的流量控制。lTCP采用由接收方在ACK中通知發(fā)送方可用窗口大?。ㄐ庞昧浚┝骺貦C制。但主機到主機的往返時延RTT(round-trip time)變化大。l為什么要引入這種復雜性?2022-5-517滑動窗口協(xié)議中的發(fā)送方滑動窗口協(xié)議中的發(fā)送方l順序號:Seq,發(fā)送方必須在分組頭中包含一個順序號。l窗口尺寸:W,允許的連續(xù)發(fā)送未被證實的分組的最大個數(shù)。l證實信號:Ack(i);證實0i1的分組被正確接受,累計證實策略。l定時器:l重傳機制:當發(fā)生丟失時

10、,進行重發(fā)糾錯。1314 15 161718 19 20 21 22 23 24已發(fā)送且證實的已發(fā)送未證實的目前可發(fā)送的TCP窗口WSendBaseNextSeq2022-5-518acknowledgedsent可以發(fā)送的可以發(fā)送的 超出超出window的的Source PortDest. PortSequence NumberAcknowledgmentHL/FlagsWindowD. ChecksumUrgent PointerOptionsSource PortDest. PortSequence NumberAcknowledgmentHL/FlagsWindowD. Checksu

11、mUrgent PointerOptions.Packet SentPacket Received2022-5-519TCP中的信用量流控機制中的信用量流控機制l確認與流控分離的思想:l涉及三個字段:順序號SN,確認號AN,窗口尺寸Wl傳輸?shù)拿總€字節(jié)均分配一個SN。l當發(fā)送方收到一個返回的報文段ANi,Wj,它的含義是:l序號0i-1的字節(jié)都被確認,下一個期望接收的字節(jié)是i.l發(fā)送方新的窗口大小為Wj,合法的窗口內(nèi)的序號為ij-1。2022-5-520信用量機制示例信用量機制示例2022-5-521TCP的窗口大小的窗口大小l確定合理的W值是實現(xiàn)高效率流量控制的關鍵。W的取值顯然與RTT有關,

12、也與接收端可分配的緩沖區(qū)數(shù)量有關。(為簡化分析,先不考慮緩沖區(qū)的限制)l設往返時延RTT,線路速率Rbps,分組長度=L。 則當W (RTTR)/L時,不會造成發(fā)送端因等待確認信號,所引起的線路空閑。 直觀上,W與RTT成正比。但實際上W太大無意義,只會增加緩沖區(qū)的開銷。l但在Internet上,端到端的時延變化很大,如何確定RTT?2022-5-522確定確定RTTl由于Internet的狀態(tài)隨時間在變,固定的RTT值對實際的網(wǎng)絡情況就可能有時顯得太長,有時又太短。因此TCP采用觀察最近的報文段的往返時延的方法來估計RTT,然后設定一個大一些的值。lTCP的RTT估值公式 估計RTT(1)估

13、計RTT 樣本RTT 其中, 在【RFC2988】的參考值 0.125。 含義是,使RTT對短暫的時延變化不敏感。2022-5-523結論:結論:TCP的窗口值的窗口值l在發(fā)送一側(cè),TCP的窗口WminCwin,RcvWin,其中RcvWin由接收方在ACK中給出, 而Cwin由發(fā)送方根據(jù)網(wǎng)絡的狀態(tài)確定。l因此,發(fā)送方的最大吞吐量 minCwin,RcvWin/RTT2022-5-524TCP的丟失重傳機制的丟失重傳機制l由于網(wǎng)絡層不提供反饋信息,為保證可靠傳輸,TCP必須采用超時/重傳機制來處理報文段的丟失問題。l丟失的定義:超時或連續(xù)收到三個冗余的ACK。l問題的關鍵:如何設定超時定時器R

14、TO? 顯然,RTO必須大于RTT,否則會造成不必要的重傳。2022-5-525RTO的估算公式的估算公式l顯然,RTO也不應比RTT的估值大太多,否則當出現(xiàn)丟失時,TCP將不能很快地重傳該報文段。l估值RTO估值RTT4DevRTT(偏差) DevRTT(1) DevRTT |當前RTT估值RTT均值) 推薦值0.25.2022-5-526TCP: 重傳示例Host ASeq=100, 20 bytes dataACK=100timepremature timeoutHost BSeq=92, 8 bytes dataACK=120Seq=92, 8 bytes dataSeq=92 tim

15、eoutACK=120Host ASeq=92, 8 bytes dataACK=100losstimeoutlost ACK scenarioHost BXSeq=92, 8 bytes dataACK=100timeSeq=92 timeoutSendBase= 100SendBase= 120SendBase= 120Sendbase= 1002022-5-527TCP 丟失重傳 2Host ASeq=92, 8 bytes dataACK=100losstimeoutCumulative ACK scenarioHost BXSeq=100, 20 bytes dataACK=120t

16、imeSendBase= 120結論:結論: 實際中,實際中,RTO的值一般的值一般為為1秒左右。秒左右。一旦發(fā)生超時,一旦發(fā)生超時,TCP將將重傳序號最小的未被確認重傳序號最小的未被確認的報文段,并將的報文段,并將RTO值加值加倍。倍。發(fā)送端只為最小的未被發(fā)送端只為最小的未被確認的報文段啟動一個超確認的報文段啟動一個超時定時器,每收到一個時定時器,每收到一個ACK,執(zhí)行一次復位,執(zhí)行一次復位。2022-5-5285 TCP的擁塞控制的擁塞控制概述l原因:流進網(wǎng)絡的數(shù)據(jù)量超過了網(wǎng)絡的處理能力l信源不能知道網(wǎng)絡的實時狀態(tài)。l信源彼此之間互相不知道對方的行為l流量控制的區(qū)別:控制機制相似,但觸發(fā)的

17、原因與目的不同。l擁塞導致的現(xiàn)象:分組丟失,時延加大,網(wǎng)絡吞吐量下降10 Mbps100 Mbps1.5 Mbps2022-5-529擁塞控制技術的分類擁塞控制技術的分類l端到端的擁塞控制:l沒有來自網(wǎng)絡的顯式擁塞反饋指示l端系統(tǒng)只能通過觀測loss, delay等推測擁塞lTCP采用次方案網(wǎng)絡輔助的擁塞控制網(wǎng)絡輔助的擁塞控制:n路由器給端系統(tǒng)提供擁塞指示n單比特擁塞指示位 n指明發(fā)送者應該使用的發(fā)送速率n問題: 導致路由器行為復雜化l根據(jù)網(wǎng)絡層是否為運輸層提供顯式的擁塞狀態(tài)信息來分類2022-5-530TCP擁塞控制要解決擁塞控制要解決 的的3個問題個問題1)如何限制一個已發(fā)生擁塞的連接的發(fā)

18、送速率?2)TCP發(fā)送方如何確定發(fā)生了擁塞?3)當確定發(fā)生了擁塞后,采用什么算法來改變發(fā)送速率?2022-5-531發(fā)送方如何調(diào)整發(fā)送速率?發(fā)送方如何調(diào)整發(fā)送速率?l接收窗口RcvWin的值由接收方確定,然后通知發(fā)送方,它用來防止接收方緩存溢出。但沒有提供網(wǎng)絡的擁塞狀況。l網(wǎng)絡的狀況,由發(fā)送方探測確定,并記為擁塞窗口Cwin。l在任何時候,發(fā)送方實際的窗口大小應為CWin和RcvWin中的最小值,即滿足: LastByteSent-LastByteAcked=minCWin,RcvWin.l為分析方便,我們忽略RcvWin,則得到發(fā)送方的發(fā)送速率RCWin/RTT。l顯然,在發(fā)送方調(diào)整CWin,就可以調(diào)整發(fā)送速率。2022-5-532擁塞的確定與控制算法擁塞的確定與控制算法l在TCP發(fā)送方,如果超時,或連續(xù)受到三個冗余 的ACK,則認為發(fā)生分組丟失事件,從而判定擁塞。lTCP的擁塞控制算法:l加性增,乘性減AIMD(additive-increase and multiplicative-decrease)l慢啟動(slowstart)l超時反應2022-5-533Cwin在不同階段的變化方式在不同階段的變化方式l慢啟動階段:每經(jīng)過1個RTT,Cwin加倍。 即每收到一個Ack,執(zhí)行CwinCwin1。l擁塞避免階段:在沒有發(fā)生丟失事件下

溫馨提示

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

評論

0/150

提交評論