计算机网络总结:第三章 运输层
生活随笔
收集整理的這篇文章主要介紹了
计算机网络总结:第三章 运输层
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
第三章 運輸層
3.1 概述和運輸層服務
- 提供在不同主機上運行的app進程之間的邏輯通信
- 傳輸協(xié)議在終端系統(tǒng)中運行
–發(fā)送方:將應用消息分成報文段,傳遞給網絡層
–rcv 方:將片段重新組合成消息,傳遞到app層 - 應用程序可使用多種傳輸協(xié)議
–Internet:TCP和UDP
3.1.1 運輸層和網絡層的關系
- 網絡層:主機之間的邏輯通信
- 傳輸層:進程之間的邏輯通信(依賴,增強,網絡層服務)
3.1.2 因特網運輸層概述
- 可靠,有序交付(TCP):擁堵控制、流量控制、連接設置
- 不可靠,無序交付(UDP):“best-effort”IP的簡潔擴展
- 服務不詳(available):延遲保證、帶寬保證
3.2 多路復用和多路分解
- 多路分解的定義:將運輸層報文段中的數(shù)據交付到正確的套接字的工作
- 多路復用的定義:在源主機從不同套接字中收集數(shù)據塊,并為每個數(shù)據塊封裝上首部信息從而生成報文段,然后將報文段傳遞到網絡層
- 多路分解如何工作?
–主機接收IP數(shù)據報
A)每個數(shù)據報都有源IP地址,目的IP地址
B)每個數(shù)據報攜帶1個傳輸層段
C)每個段都有源,目標端口號
–主機使用IP地址和端口號將段定向到適當?shù)奶捉幼?br /> - 無連接的多路復用和多路分解
- 面向連接的多路復用和多路分解
3.3 無連接運輸:UDP
- 優(yōu)點
–關于何時、發(fā)送什么數(shù)據的應用層控制更為精細
–無需連接建立
–無連接狀態(tài)
–分組首部開銷小 - 用途:流媒體,SNMP,RIP,DNS
3.3.1 UDP報文結構
3.3.2 UDP檢驗和
3.4 可靠數(shù)據傳輸原理
3.4.1 構造可靠數(shù)據傳輸協(xié)議
- 經完全可靠信道的可靠數(shù)據傳輸:rdt 1.0
- 經具有比特差錯信道的可靠數(shù)據傳輸:rdt 2.0
–使用肯定確認與否定確認的可靠數(shù)據傳輸協(xié)議稱為自動重傳請求(ARQ),需要以下三種協(xié)議功能來處理比特差錯的情況:差錯檢測(error detection)、接收方反饋(receiver feedback)、重傳(re-transmission)
–缺陷:如果一個ACK或NAK分組受損,發(fā)送方無法知道接收方是否正確接受了上一塊發(fā)送的數(shù)據
–rdt 2.1:使用了從接收方到發(fā)送方的肯定確認和否定確認
–rdt 2.2:接收方必須包括由一個ACK報文所確認的分組序號,發(fā)送方必須檢查接收到的ACK報文中被缺的分組序號 - 經具有比特差錯的丟包信道的可靠數(shù)據傳輸:rdt 3.0
–特點:定時重傳
–被稱為比特交換協(xié)議(因為分組號在0和1之間交替)
3.4.2 流水線可靠數(shù)據傳輸協(xié)議
- 解決流水線的差錯恢復的方法:回退N步(GBN),選擇重傳(SR)
3.4.3 回退N步
- 特點:允許發(fā)送方發(fā)送多個分組而不需等待確認,但它也受限于在流水線中未確認的分組數(shù)不能超過某個最大允許數(shù)N。當分組丟失時,會丟棄當前分組之后的分組
- 優(yōu)點:接受緩存簡單,不需要緩存任何失序分組;避免了停等協(xié)議中所提到的信道利用率問題
- 缺點:單個分組的差錯會引起大量分組重傳
3.4.4 選擇重傳
- 特點:通過讓發(fā)送方僅重傳那些它懷疑在接收方出錯的分組而避免了不必要的重傳
- 注:窗口長度必須小于或等于序號空間大小的一半
3.5 面向連接的傳輸:TCP
3.5.1 TCP連接
- 基本概念
–點到點(point-to-point):在單個發(fā)送方與單個接收方之間的連接
–全雙工服務(full-duplex service):不同主機上的AB進程之間存在TCP連接,則應用層的數(shù)據可從A流向B,反之亦然
–三次握手:客戶發(fā)送一段特殊的TCP報文段,服務器以另一個特殊的TCP報文段來響應,最后客戶再用第三個特殊報文段作為響應(前兩個報文段不包含應用層數(shù)據,第三個可包含)
–最大報文段長度(Maximum Segment Size):TCP可從緩存中取出并放入報文段中的數(shù)據量受限于MSS
–TCP連接的組成包括:一臺主機上的緩存、變量和與進程連接的套接字,以及另一臺主機的這三樣東西
3.5.2 TCP報文段結構
–序號(sequence number):報文段首字節(jié)的字節(jié)流編號
–確認號(acknowledgement number):期望從對方主機收到的下一字節(jié)的序號
3.5.3 往返時間的估計與超時
- 基本概念
–TCP采用超時/重傳機制來處理報文段的丟失 - 估計往返時間
–SampleRTT:大多數(shù)的TCP實現(xiàn)僅僅在某一時刻為一個已發(fā)送但尚未確認的報文段做一次RTT采樣,得到一個SampleRTT
–EstimatedRTT:TCP維持一個EstimatedRTT,一旦獲得一個新SampleRTT時,則根據下式來更新EstimatedRTT:
EstimatedRTT = (1-a)* EstimatedRTT + a * SampleRTT(其中a通常取值為0.125)
–RTT偏差DevRTT,用于估算SampleRTT一般會偏離EstimatedRTT的程度:
DevRTT = (1-B)DevRTT + B|SampleRTT - EstimatedRTT|(其中B通常取值為0.25) - 設置和管理重傳超時間隔
–RTO = EstimatedRTT + 4 * DevRTT(推薦的初始TimeoutInterval)
3.5.4 可靠數(shù)據傳輸
- 超時間隔加倍:TCP重傳具有最小序號的還未被確認的報文段,每次重傳是都會將下一次的超時間隔設為先前值的兩倍
- 快速重傳:一旦收到3個冗余ACK,TCP就執(zhí)行快速重傳,即在該報文段的定時器過期之前重傳丟失的報文段
3.5.5 流量控制
3.5.6 TCP連接管理
- 三次握手和四次揮手(見鏈接,解釋的很清楚)
3.6 擁塞(Congestion)控制原理
- 什么是擁塞控制
–防止發(fā)送方發(fā)的太快,使得網絡來不及處理,從而導致網絡擁塞 - 擁塞原因與代價
–情況1:兩個發(fā)送方和一臺具有無窮大緩存的路由器
–情況2:兩個發(fā)送方和一臺具有有限緩存的路由器
–情況3:四個發(fā)送方和具有有限緩存的多臺路由器及多跳路徑 - 擁塞控制的方法
–端到端擁塞控制:沒有來自網絡的明確反饋;從終端系統(tǒng)觀察到的損失,延遲推斷出擁塞;TCP采取的方法
–網絡輔助的擁塞控制:路由器向終端系統(tǒng)提供反饋(一位表示擁塞【SNA,DECnet,TCP / IP ECN,ATM】;明確的擁塞通知)
3.7 TCP擁塞控制
- 采取的方法:端到端的擁塞控制,讓每個發(fā)送方根據所感知到的網絡擁塞程度來限制其能向連接發(fā)送流量的速率
- TCP擁塞控制算法
–慢啟動
- 何時停止指數(shù)增長?
A)存在一個由超時指示的丟包時間,TCP發(fā)送方將cwnd設置為1并重新開始慢啟動過程,同時將ssthresh(慢啟動閾值)設置為cwnd/2
B)當cwdn的值等于ssthresh時,結束慢啟動并且TCP轉移到擁塞避免模式
C)如果檢測到三個冗余ACK,這時TCP執(zhí)行一種快速重傳并進入快速回復狀態(tài)
–擁塞避免:每個RTT只將cwnd的值增加一個MSS - 何時停止線性增長?
A)存在一個由超時指示的丟包時間,TCP發(fā)送方將cwnd設置為1并重新開始慢啟動過程,同時將ssthresh(慢啟動閾值)設置為cwnd/2
B)如果檢測到三個冗余ACK,網絡繼續(xù)從發(fā)送方向接收方交付文段
–快速恢復:對于引起TCP進入快速恢復狀態(tài)的缺失報文段,對收到的每個冗余的ACK,cwnd的值增加一個MSS。最終,當對丟失報文段的一個ACK到達時,TCP在降低cwnd后進入擁塞避免狀態(tài);如果出現(xiàn)丟包,反應和慢啟動一樣
總結
以上是生活随笔為你收集整理的计算机网络总结:第三章 运输层的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络总结:第二章 应用层
- 下一篇: 计算机网络总结:第四章 网络层