0.本章思維導圖:
1.運輸層協議概述
1.1行程間的通信
概述:
? 運輸層向它上面的應用層提供通信服務運輸層屬于面向通信部分的最高層,同時也是用戶功能中的最底層;只有位于網路邊緣部分的主機的協議堆疊才有運輸層,而網路核心部分中的路由器在轉發時只用到下三層的功能
? 通信:
? 真正進行通信的物體是在主機中的行程,是一臺主機中的行程和另一臺主機中的行程在交換資料,嚴格來講,兩臺主機進行通信就是兩臺主機中的應用行程互相通信
? 運輸層的作用:

? 網路層與運輸層的區別:網路層為主機之間提供邏輯通信,運輸層為應用行程之間提供端到端的邏輯通信
? 基于埠的復用和分用功能:
? 復用:在發送方不同的應用行程都可以使用同一個運輸層協議傳送資料
? 分用:接收方的運輸層在剝去報文的首部后能把這些資料正確交付目的應用行程
? 屏蔽作用:運輸層向高層屏蔽了網路核心的細節,使應用行程看見的就好像在兩個運輸層物體之間有一條端到端的邏輯通信信道
*兩種不同的運輸協議:
當運輸層采用TCP協議時,盡管下面的網路是不可靠的,但這種邏輯通信信道就相當于一條全雙工的可靠信道
當運輸層采用無連接的UDP協議時,這種邏輯信道仍是一條不可靠信道
1.2運輸層的兩個主要協議
? 兩個主要協議:
? (1)用戶資料報協議(UDP)
? (2)傳輸控制協議(TCP)
? 兩種協議在協議堆疊中的位置:

? UDP:
? 在傳送資料之前不需要先建立連接,遠地主機收到UDP報文后,不需要給出確認,UDP不提供可靠交付,但某些情況卻是最有效的作業方式
? TCP:
? 提供面向連接的服務,在傳送資料前先建立連接,資料傳送結束后要釋放連接;TCP不提供廣播或多播服務;TCP提供可靠的、面向連接的運輸服務,因此增加了很多開銷
? UDP與IP資料報的區別:
? IP資料報要經過互聯網中許多路由器的存盤轉發
? UDP用戶資料報是在運輸層的端到端抽線的邏輯信道中傳送的
? TCP報文是在運輸層抽象的端到端邏輯信道中傳送,這種信道是可靠的全雙工信道

*1.3運輸層的埠
目的:把特定主機上運行的行程作為互聯網上通信的終點不可行,因為行程的創建和撤銷是動態的,因此使用協議埠號作為識別的終點,而不需要知道具體行程
協議埠號(埠):雖然通信的終點是應用行程,但只要把報文交到目的主機的某個目的埠,剩下的作業就由TCP或UDP來完成
兩種埠區別:
硬體埠:不同硬體設備進行互動的介面
軟體埠:應用層的各種協議行程與運輸物體進行層間互動的一種地址,此處的埠都是指軟體埠
埠的表示:用16位的埠號來標志一個埠;埠號只具有本地意義,只標志本計算機應用層中各行程和運輸層互動時的層間介面
*埠號的分類:
? 服務器埠號:
? 熟知埠號:0~1023,這些埠號被指派給TCP/IP最重要的以下應用程式,讓所有用戶都知道
? 
? 登記埠號:1024~49151,為沒有熟知埠號的應用程式使用
? 客戶端埠號:49152~65535,僅在客戶行程運行時才動態選擇,因此又叫短暫埠號
2.用戶資料報協議UDP
2.1.UDP概述:
UDP的主要特點:
? (1)UDP是無連接的:發生資料之前無需建立連接,減少了開銷和發送資料之前的時延
? (2)UDP使用盡最大可能交付:不保證可靠交付,因此主機不需要維持復雜的連接狀態表
? (3)UDP是面向報文的:UDP對應用層交下來的報文不做處理,直接加上首部后就轉發,若報文過長,IP層會進行分片,可能使IP層效率降低

? (4)UDP沒有擁塞控制:因此網路出現擁塞不會使源主機發送速率降低,對實時應用很重要
? (5)UDP支持一對一、一對多、多對一和多對多的互動通信
? (6)UDP的首部開銷小:只有8位元組,比TCP的20位元組首部短
*2.2.UDP的首部格式:

-
偽首部:只在計算校驗和時使用,不參與資料傳輸
源埠:源埠號;在需要對方回信時選用;不需要時用全0
目的埠:目的埠號;在終點交付報文時必須使用
長度:UDP用戶資料報的長度,最小值是8(僅有首部)
校驗和:檢測UDP用戶資料報在傳輸程序中是否有錯,有就丟棄

? 計算UDP校驗和:與IP首部檢驗相似,但UDP的檢驗和把首部和資料部分一起都檢驗
?
3.傳輸控制協議TCP概述
*3.1.TCP的主要特點:
(1)TCP是面向鏈接的運輸層協議:在使用TCP協議之前,必須先建立連接
(2)每一條TCP鏈接只能有兩個端點,每一條TCP連接只能是點對點的
(3)TCP提供可靠交付的服務:保證資料無差錯、不丟失、不重復、按序到達
(4)TCP提供全雙工通信:允許通信雙方任何時候都能發送資料
(5)面向位元組流:流指的是流入到行程或從行程流出的位元組序列;TCP把應用程式交下來的資料僅看作一串無結構的位元組流
? 
TCP連接是一條虛連接(邏輯連接),并不是真正的物理連接
3.2.TCP的連接:
*套接字:套接字=(IP地址:埠號) IP地址拼接上埠號,例如(192.168.1.1:80)
每一條TCP連接唯一被通信兩個端點(兩個套接字)所確定:
? TCP連接::={socket1,socket2} = {(IP1:port1),(IP2:port2)}
TCP連接的端點不是行程,而是套接字
同一個IP地址可以由多個不同的TCP連接,而同一個埠也能出現在多個不同TCP連接中
4.可靠傳輸的作業原理:
? 理想傳輸條件:
? 傳輸信道不產生差錯
? 不管發送方以多快的速度發送資料,接收方總是來得及處理收到的資料
4.1.停止等待協議:
? 停止等待:每發送完一個分組就停止發送,等待對方確認,在收到確認后再發送下一個分組
? (1)無差錯情況:
? 
? (2)出現差錯:
? 
? A只要超過一段時間每收到確認,就默認發送的分組丟失而重傳之前的分組,就是超時重傳
? 注意:
? (1)A發送完一個分組后,必須暫時保留已發送分組的副本,只有在收到相應確認后才洗掉
? (2)分組和確認都需要編號,才能明確哪個分組收到確認,哪個沒收到
? (3)超時計時器的重傳時間應比資料在分組傳輸的平均往返時間更長一些
? (3)確認丟失和確認遲到:
? 確認丟失:
? 
? 確認遲到:
? 
?
3.2.連續ARQ協議:
? 發送方維持發送視窗,位于發送視窗內的分組都可以連續發送出去,而不需要等待對方確認,這樣信道利用率就提高了
? 作業原理:
? 
? ARQ規定,發送方每收到一個確認,就把發送視窗滑動一個分組位置,接收方采用累積確認方式,在收到幾個分組后,對按序到達的最后一個分組發送確認
? 優點:容易實作,確認丟失也不必重傳
? 缺點:不能向發送方反映出接收方已經正確收到的所有分組資訊
5.TCP報文段的首部格式
? 首部格式:
? 
? (1)源埠和目的埠:各占2位元組,分別是源埠號和目的埠號
? (2)序號:占4位元組,TCP中傳輸的資料流中的每一位元組都有一個編號,序號欄位的值是本報文段所發送的資料的第一個位元組的序號
? (3)確認號:占4位元組,是期望收到對方下一個報文段的第一個資料位元組的序號
? 確認號=N,則表明到序號N-1為止所有資料都正確收到
? (4)資料偏移:占4位,指出TCP報文段的資料起始處距離TCP報文段的起始處有多遠
? (5)保留:占6位,保留為今后使用
? (6)緊急URG:當URG=1時,表明緊急指標欄位有效,告訴系統此報文中有緊急資料,應盡快傳送,而不采用原來的按排隊順序來傳送
? (7)確認ACK:當ACK=1時確認號欄位有效,TCP規定,在連接建立后所有資料報文段都把ACK置為1
? (8)推送PSH:當收到PSH=1的報文時,就盡快交付接收應用行程,而不再等到整個快取都填滿后再向上交付
? (9)復位RST:當RST=1時,表明TCP連接中出現嚴重差錯,必須釋放連接,然后重新建立連接
? (10)同步SYN:在連接建立時用來同步序號;當SYN=1而ACK=0時,表明這是一個連接請求報文,對方若同一建立連接,則應在回應報文中使SYN=1,ACK=1
? (11)終止FIN:用來釋放一個連接,當FIN=1時,表示此報文段的發送方已經發送完畢,并要求釋放連接
? (12)視窗:占2位元組,指的是發送本段報文段的一方的接收視窗,視窗值作為接收方讓對方設定其發送視窗的依據;視窗欄位明確指出了現在允許對方發送的資料量,視窗值經常動態變化
? (13)校驗和:占2位元組,檢驗和欄位檢驗的范圍包括首部和資料兩部分
? (14)緊急指標:占2位元組,在URG=1時才有意義,指出本報文段中的緊急資料的位元組數
? (15)選項:長度可變,最長40位元組
? 最大報文段長度(MSS):
? 是每一個TCP報文段中的資料欄位的最大長度,并不是整個TCP報文段的最大長度,是TCP報文段長度-TCP首部長度
*6.TCP可靠傳輸的實作
6.1.以位元組為單位的滑動視窗:
? 根據B給出的視窗值,A構造自己的發送視窗
? 
? 發送視窗表示:在沒有收到B的確認時,A可以連續把視窗內的資料都發送出去
? 發送視窗中的序號表示允許發送的序號,視窗越大,發送方就可以在收到對方確認前連續發送更多的資料,因此可能獲得更高的傳輸效率
? 收到新的確認后發送視窗前沿向前移動,沒有收到新的確認或收到新的確認但對方通知的視窗縮小了,會使發送視窗前沿不動
? TCP的快取和視窗的關系:
? 
? 發送快取存放:
? 發送應用程式發送給發送方TCP準備發送的資料
? TCP已發送出但尚未收到確認的資料
? 接收方快取存放:
? 按序到達的、但尚未被接受應用程式讀取的資料
? 未按序到達的資料
6.2.超時重傳時間的選擇:
? 加權平均往返時間RTTs:
? 新的RTTs=(1-a)(舊的RTTs)+a(新的RTT樣本)
? 超時重傳時間RTO:
? RTO=RTTs+4*RTTd
? RTT的偏差的加權平均值RTTd:
? 新的RTTd=(1-b)(舊的RTTd)+b|RTTs-新的RTT樣本| 其中b=0.25
? Karn演算法:
? 在計算加權平均RTTs時,只要報文段重傳了,就不采用其往返時間樣本,這樣得出的加權平均RTTs和RTO就較準確
6.3.選擇確認SACK:
? 選擇確認的作業原理:
? 接收方在接受對方發送過來的資料位元組流的序號不連續,結構就形成了一些不連續的位元組塊,如果這些位元組的序號都在接受視窗內,接收方就先收下這些資料,但要把這些資訊告訴發送方,使發送方不再重復發送這些已收到的資料
? 
? 左邊界為閉,右邊界為開;左邊界指向位元組塊第一個位元組序號,右邊界指向位元組塊最后一個序號+1
7.TCP的流量控制
*7.1.利用滑動視窗實作流量控制:
流量控制:讓發送方發送速率不要太快,讓接收方來得及接收
滑動視窗的單位:位元組
滑動視窗流量控制流程:
? 開始時rwnd=400,每個報文段長100位元組
? 
持續計時器:解決盲等死鎖,只要TCP連接的一方收到對方的零視窗通知,就啟動持續計時器,若計時器到期,就發送一個零視窗探測報文段,而對方就在確認這個報文段時給出了現在的視窗值,若視窗值仍是零,那么收到報文的一方就重新設定持續計時器,若不是零,那么死鎖就被打破
7.2.TCP的傳輸效率:
Nagle演算法:
? 若發送應用行程要把發送的資料逐個位元組地送到TCP發送快取,則發送方就把第一個資料位元組先發送出去,把后面到達的資料位元組都快取起來,當發送方收到對第一個資料字符的確認后,再把發送快取中的所有資料組裝成一個報文發送出去,同時繼續對后到達的資料進行快取,只有在收到對前一個報文段的確認后才繼續發送下一個報文段
糊涂視窗綜合征:接收快取每次只能釋放出1位元組空間,然后把視窗設為1,向發送方發送確認,發送方又發來1位元組資料,接收方發回確認,仍將視窗設為1位元組,這樣會使網路效率降低
? 解決方法:讓接收方等待一段時間,使得接收快取有足夠空間容納一個最大的報文段,或等接收快取中有一半空閑空間,此時再發送確認報文
8.TCP的擁塞控制
8.1.擁塞控制的一般原理:
? 擁塞:某段時間,若對網路中某資源的需求超過了該資源所能提供的可用部分,網路的性能就要變壞,這種現象稱為擁塞
? 出現擁塞的原因:對資源的需求>可用資源
? 增加資源解決擁塞:不能,擁塞由多種因素引起,不能單純通過增加資源解決
? 擁塞的惡化:如果路由器沒有足夠快取空間,就會丟棄一些新到的分組,當分組被丟棄時,發送方就會重傳,甚至多次重傳,這樣會導致更多分組流入網路和被網路中的路由器丟棄
? 擁塞控制與流量控制的區別:
? 擁塞控制就是防止過多的資料注入到網路,這樣可以使網路中的路由器或鏈路不致過載,擁塞控制的前提是網路能夠承受現有的網路負荷,擁塞控制是一個全域性程序
? 流量控制是指對點對點通信量的控制,是端到端的問題,流量控制就是抑制發送端發送資料的速率,以便使接收端來得及接收
? 擁塞控制的一般原理:
? 開環控制:就是在設計網路時事先將有關發生擁塞的因素考慮周到,力求網路在作業時不發生擁塞
? 倍訓控制:基于反饋回路概念;檢測網路系統以便檢測到擁塞在何時、何處發生;把擁塞發生的資訊傳送到可采取行動的地方;調整網路系統的運行以解決出現的問題
? 檢測網路擁塞的指標:
? 由于缺少快取空間而被丟棄的分組的百分數
? 平均佇列長度
? 超時重傳分組數
? 平均分組時延
? 分組時延的便準差
*8.2.TCP的擁塞控制方法
擁塞控制演算法:
? 慢開始
? 擁塞避免
? 快重傳
? 快恢復
慢開始和擁塞避免:
? 擁塞視窗:大小取決于網路的擁塞程度,并且動態的變化,發送方讓自己的發送視窗等于擁塞視窗
? 判斷擁塞的依據:出現了超時
? 發送方控制擁塞視窗的原則:
? 只要沒有出現擁塞,擁塞視窗就可以再增大一些,以便把更多分組發送出去,提高網路利用率;只要發生擁塞,就把擁塞視窗減小一些,以減少注入到網路種的分組數,以緩解網路出現的擁塞
? 擁塞的判斷:重傳定時器超時、收到三個相同的ACK
? 慢開始演算法:
? 演算法思路:由小到大逐漸增大擁塞視窗數值
? 初始擁塞視窗:初始擁塞視窗設定為1至2個發送方的最大報文段的數值
? 擁塞視窗的控制:在每收到一個對新報文段的確認后,可以把擁塞視窗增加多一個SMSS(發送方最大報文段)的數值,即擁塞視窗cwnd每次的增加量 = min(N,SMSS),N是原先未被確認、現在被剛收到的確認報文確認的位元組數
? 演算法流程:
? 
? 每經過一個傳輸輪次,擁塞視窗cwnd就加倍
? 傳輸輪次:一個傳輸輪次所經歷的時間就是往返時間RTT;即發送n個報文段并受到n個報文段確認總共經歷的時間
? 傳輸輪次更加強調:把擁塞視窗所允許發送的報文段都連續發送出去,并收到對已發送的最后一個位元組的確認
? 慢開始:不是指cwnd的增長速度慢,而是在TCP開始發送報文段時先把cwnd設定為1,然后再逐步增大cwnd
? 慢開始門限:防止擁塞視窗增長過大引起網路擁塞
? 用法: 當cwnd<ssthresh時,使用慢開始演算法
? 當cwnd>ssthresh時,停止使用慢開始而改用擁塞避免演算法
? 當cwnd=ssthresh時,既可用慢開始,也可用擁塞避免
? 擁塞避免演算法:
? 演算法思路:讓擁塞視窗緩慢的增大,每經過一個RTT就把發送方的擁塞視窗+1,而不是像慢開始加倍增長
? 擁塞避免特點:加法增大,擁塞視窗按線性規律緩慢增長,比慢開始的擁塞視窗增長速率慢得多
? 擁塞避免不能完全避免擁塞,只是控制擁塞視窗按線性規律增長,使網路不易出現擁塞
? 快重傳演算法
? 特點:可以讓發送方盡早知道發生了個別報文段的丟失
? 演算法思路:要求接收方不等待自己發送資料時才進行捎帶確認,而是要立即發送確認,即使收到了失序的報文段也要立即發出對已收到的報文段的重復確認
? 演算法啟動:發送方只要一連收到3個重復確認,就立即進行重傳(即快重傳)
? 演算法流程:
? 
? 快恢復演算法
? 發送方只是丟失個別報文,不啟動慢開始而用快恢復演算法,發送方調整門限值ssthresh=cwnd/2,同時設定擁塞視窗cwnd=ssthresh,并開始執行擁塞避免演算法
? 擁塞控制流程圖:
? 
? 發送方視窗的上限值:發送方的發送視窗一定不能超過對方給出的接收方視窗值rwnd;上限值應取接收方視窗和擁塞視窗這兩個變數中較小的一個,即發送方視窗的上限值= min(rwnd,cwnd)
? 主動佇列管理AQM
? 略
9.TCP的運輸連接管理
? 運輸連接的三個階段:連接建立、資料傳送、連接釋放
? 客戶-服務器方式:TCP連接建立采用客戶服務器方式,主動發起連接建立的應用叫客戶,而被動等待連接建立的應用行程叫服務器
9.1.TCP的連接建立:
? 三報文握手:
? 
? 流程:
? 最初兩端TCP行程都處于關閉狀態,開始時B的TCP服務器行程先創建傳輸控制塊TCB,準備接受客戶行程的連接請求,然后進入收聽狀態;
? A的TCP客戶行程也先創建TCB,然后打算建立TCP連接時,向B發送連接請求報文,這是首部中同步位SYN=1,同時選擇一個初始序號seq=x,TCP規定,SYN報文段不能攜帶資料,但要消耗一個序號,這時TCP客戶行程進入同步已發送狀態;
? B收到連接請求報文后,若同意建立連接,則向A發送確認,在確認報文中將SYN位和ACK位都置1,確認號時ACK=x+1,同時也為自己選擇一個初始序號seq=y,這個報文段也不能攜帶資料,但同樣消耗一個序號,這時TCP服務器行程進入同步收到狀態
? TCP客戶行程收到B的確認后,還要向B給出確認,確認報文的ACK置1,確認號ack=y+1,而自己的序號seq=x+1,TCP規定,ACK報文段可以攜帶資料,但如果不攜帶資料則不消耗序號,這種情況,下一個資料報文段序號仍是seq=x+1,這時TCP連接已經建立,A進入已建立連接狀態
? B收到A的確認后,也進入已建立連接狀態
? 9.2.TCP連接的釋放:
? 四報文握手:

? 流程:
? 起始時A和B都處于已建立連接狀態
? A的應用行程先向其TCP發出連接釋放報文段,并停止再發送資料,主動關閉TCP連接,A把連接釋放報文段首部的終止控制位FIN置1,序號seq=u,它等于前面已傳送過的資料的最后一個位元組的序號+1,這時A進入終止等待狀態,FIN報文段即使不攜帶資料,也消耗一個序號
? B收到連接釋放報文后發出確認,確認號是ack=u+1,而這個報文自己的序號是v,等于B前面已傳送過的資料的最后一個位元組的序號+1,然后B進入關閉等待狀態,TCP服務器行程通知高層應用行程,因而從A到B這個方向的連接就釋放了,這時的TCP連接處于半關閉狀態,即A已經沒有資料要發送了,但B若發送資料,A仍要接受
? A收到來自B的確認后,進入終止等待2狀態,等待B發送的連接釋放報文段
? 若B已經沒有要向A發送的資料,應用行程就通知TCP釋放連接,此時B發出的連接釋放報文段FIN=1,假定現在B的序號為w,B還必須重復上次已發送過的確認號ack=u+1,此時B進入最后確認狀態,等待A的確認
? A在收到B的鏈接釋放報文后,必須對此發出確認,在確認報文段中把ACK置1,確認號ack=w+1,而自己的序號時seq=u+1,然后進入時間等待狀態,此時TCP連接還沒有釋放,必須經過時間等待計時器設定的時間2MSL后,A才進入關閉狀態,
? A等待2MSL時間的原因:
? 保證A發送的最后一個ACK報文段能夠到達B
? 防止已失效的連接請求報文段出現在本連接中
? TCP的有限狀態機
? 略
習題
9.埠的作用是什么?為什么埠劃分為三種?
解:埠是對行程進行的一種標識,使不同作業系統的應用行程能互相通信
? 數值埠:0~1023,標記常規的服務行程;
*考:服務對應的埠是對的,常規的熟知埠號對應服務
10.偽首部的作用
解:計算運輸層資料報校驗和
*考:udp在計算校驗和的時候,除了……還要偽首部
*13一個UDP用戶資料的資料欄位為8192位元組,在資料鏈路層使用以太網來傳送,應當劃分為幾個IP資料片?說明每一個IP資料報段長度和片偏移欄位的值
解:6個;資料欄位長度:前5個是1480位元組,最后一個是800位元組,片偏移欄位的值是:0,1480/8=185,2960/8=370,4440/8=555,5920/8=740,7400/8=925
|8|8192| ->UDP資料報
20| 8200 | ->IP資料報
20| 1480 | ->MAC幀 8200/1480=5......800 所以分成6片
決議:8192的資料+8位元組UDP首部=8200;在MAC幀中,資料部分最大長度1500位元組,而UDP還要封裝進IP資料報中,IP資料報首部最小20位元組,所以一次能傳輸最多的資料即1500-20=1480;8200/1480=5......800,因此分成6片,前5片資料欄位長1480位元組,最后一片長800位元組;片偏移欄位分別為0、185、370、555、740、925
*22.主機A向主機B發送一個很長的檔案,其長度為L位元組,假定TCP使用的MSS有1460位元組
(1)在TCP的序號不重復使用的條件下,L的最大值是多少?
(2)假定使用上面計算出檔案長度,而運輸層、網路層和資料鏈路層使用的首部開銷共66位元組,鏈路的資料流位10mb/s,求這個檔案所需的最短發送時間
解:
(1)L_max=2^32=4GB 因為序號欄位32位,最大就是2^32
(2)滿載分片數:Q={L_max/MSS}=2941758 發送的總報文數
? 總位元組數:N=Q(MSS+66)+{(L_max-QMSS)+66}=4489122708+682=4489123390
? 發送所需時間:N8/(1010^6)=3591.3秒
23.主機A向主機B發送了兩個TCP報文段,其序號分別為70和100,求:
(1)第一個報文段攜帶了多少個位元組的資料
(2)主機B收到第一個報文段后發回的確認號應該是多少?
(3)如果主機B收到第二個報文段后發回的確認號是180,試問A發送的第二個報文段中的資料有多少位元組?
(4)如果A發送的第一個報文段丟失了,但第二個報文段到達了B,B在第二個報文段到達后向A發送確認,問這個確認號是多少?
解:
(1)第一個報文段的資料序號是70到99,共30位元組資料
(2)確認號應為100
(3)80位元組;180-100=80
(4)70
*37.在TCP的擁塞控制中,什么是慢開始、擁塞避免、快重傳和快恢復演算法?這里每一種演算法起什么作用?乘法減小和加法增大各用在什么情況?
解:
慢開始:開始時將擁塞視窗設為一個很小的值,如一個最大報文段MSS,在每收到一個對新的報文段的確認后,將擁塞視窗增加最多一個MSS的值,這樣逐步增大發送端的擁塞視窗
擁塞避免:當擁塞視窗大于擁塞門限時,停止使用慢開始而改用擁塞避免演算法,每次使擁塞視窗每經過一個RTT就增加一個MSS的大小
快重傳:發送端收到連續三個重復ACK即判定有分組丟失,不等待超時而直接重傳報文
快恢復:當發送端收到連三個重復ACK時,就重新設定慢開始門限,同時將擁塞視窗設定為慢開始門限,然后執行擁塞避免
?
乘法減小:不論在慢開始階段還是擁塞避免階段,只要出現一次超時,就把慢開始門限設定為當前擁塞視窗值*0.5,當頻繁出現擁塞時,慢開始門限值就下降得很慢,以大大減少注入到網路中的分組數
加法增大:執行擁塞避免后,在收到對所有報文段的確認后,就把擁塞視窗增大一個MSS大小,使擁塞視窗緩慢增大,防止網路過早出現擁塞
41.用TCP傳送512位元組的資料,設視窗為100位元組,而TCP報文段每次也傳送100位元組資料,再設發送方和接收方的起始序號分別選為100和200,畫出類似圖5-28的作業示意圖,從連接建立階段到連接釋放都畫上
解:
————————————————
著作權宣告:本文為CSDN博主「Ogmx」的原創文章,遵循CC 4.0 BY-SA著作權協議,轉載請附上原文出處鏈接及本宣告,
原文鏈接:https://blog.csdn.net/weixin_43093481/article/details/86684098
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/285730.html
標籤:其他
上一篇:第四章網路層
下一篇:第六章應用層
