主頁 >  其他 > 第五章傳輸層

第五章傳輸層

2021-06-09 17:09:11 其他

0.本章思維導圖:

img

1.運輸層協議概述

1.1行程間的通信

概述

? 運輸層向它上面的應用層提供通信服務運輸層屬于面向通信部分的最高層,同時也是用戶功能中的最底層;只有位于網路邊緣部分的主機的協議堆疊才有運輸層,而網路核心部分中的路由器在轉發時只用到下三層的功能

? 通信

? 真正進行通信的物體是在主機中的行程,是一臺主機中的行程和另一臺主機中的行程在交換資料,嚴格來講,兩臺主機進行通信就是兩臺主機中的應用行程互相通信

? 運輸層的作用:
img

? 網路層與運輸層的區別:網路層為主機之間提供邏輯通信,運輸層為應用行程之間提供端到端的邏輯通信

? 基于埠的復用和分用功能

? 復用:在發送方不同的應用行程都可以使用同一個運輸層協議傳送資料

? 分用:接收方的運輸層在剝去報文的首部后能把這些資料正確交付目的應用行程

? 屏蔽作用:運輸層向高層屏蔽了網路核心的細節,使應用行程看見的就好像在兩個運輸層物體之間有一條端到端的邏輯通信信道

*兩種不同的運輸協議

當運輸層采用TCP協議時,盡管下面的網路是不可靠的,但這種邏輯通信信道就相當于一條全雙工的可靠信道

當運輸層采用無連接的UDP協議時,這種邏輯信道仍是一條不可靠信道

1.2運輸層的兩個主要協議

? 兩個主要協議

? (1)用戶資料報協議(UDP)

? (2)傳輸控制協議(TCP)

? 兩種協議在協議堆疊中的位置
img

? UDP

? 在傳送資料之前不需要先建立連接,遠地主機收到UDP報文后,不需要給出確認,UDP不提供可靠交付,但某些情況卻是最有效的作業方式

? TCP

? 提供面向連接的服務,在傳送資料前先建立連接,資料傳送結束后要釋放連接;TCP不提供廣播或多播服務;TCP提供可靠的、面向連接的運輸服務,因此增加了很多開銷

? UDP與IP資料報的區別

? IP資料報要經過互聯網中許多路由器的存盤轉發

? UDP用戶資料報是在運輸層的端到端抽線的邏輯信道中傳送的

? TCP報文是在運輸層抽象的端到端邏輯信道中傳送,這種信道是可靠的全雙工信道
img

*1.3運輸層的埠

目的:把特定主機上運行的行程作為互聯網上通信的終點不可行,因為行程的創建和撤銷是動態的,因此使用協議埠號作為識別的終點,而不需要知道具體行程

協議埠號(埠):雖然通信的終點是應用行程,但只要把報文交到目的主機的某個目的埠,剩下的作業就由TCP或UDP來完成

兩種埠區別

硬體埠:不同硬體設備進行互動的介面

軟體埠:應用層的各種協議行程與運輸物體進行層間互動的一種地址,此處的埠都是指軟體埠

埠的表示:用16位的埠號來標志一個埠;埠號只具有本地意義,只標志本計算機應用層中各行程和運輸層互動時的層間介面

*埠號的分類

? 服務器埠號:
? 熟知埠號:0~1023,這些埠號被指派給TCP/IP最重要的以下應用程式,讓所有用戶都知道

? img

? 登記埠號:1024~49151,為沒有熟知埠號的應用程式使用

? 客戶端埠號:49152~65535,僅在客戶行程運行時才動態選擇,因此又叫短暫埠號

2.用戶資料報協議UDP

2.1.UDP概述:

UDP的主要特點

? (1)UDP是無連接的:發生資料之前無需建立連接,減少了開銷和發送資料之前的時延

? (2)UDP使用盡最大可能交付:不保證可靠交付,因此主機不需要維持復雜的連接狀態表

? (3)UDP是面向報文的:UDP對應用層交下來的報文不做處理,直接加上首部后就轉發,若報文過長,IP層會進行分片,可能使IP層效率降低
img

? (4)UDP沒有擁塞控制:因此網路出現擁塞不會使源主機發送速率降低,對實時應用很重要

? (5)UDP支持一對一、一對多、多對一和多對多的互動通信

? (6)UDP的首部開銷小:只有8位元組,比TCP的20位元組首部短

*2.2.UDP的首部格式:

img

  • 偽首部:只在計算校驗和時使用,不參與資料傳輸

    源埠:源埠號;在需要對方回信時選用;不需要時用全0

    目的埠:目的埠號;在終點交付報文時必須使用

    長度:UDP用戶資料報的長度,最小值是8(僅有首部)

    校驗和:檢測UDP用戶資料報在傳輸程序中是否有錯,有就丟棄

img

? 計算UDP校驗和:與IP首部檢驗相似,但UDP的檢驗和把首部和資料部分一起都檢驗

?

3.傳輸控制協議TCP概述

*3.1.TCP的主要特點:

(1)TCP是面向鏈接的運輸層協議:在使用TCP協議之前,必須先建立連接

(2)每一條TCP鏈接只能有兩個端點,每一條TCP連接只能是點對點的

(3)TCP提供可靠交付的服務:保證資料無差錯、不丟失、不重復、按序到達

(4)TCP提供全雙工通信:允許通信雙方任何時候都能發送資料

(5)面向位元組流:流指的是流入到行程或從行程流出的位元組序列;TCP把應用程式交下來的資料僅看作一串無結構的位元組流

? img

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)無差錯情況:

? img

? (2)出現差錯:

? img

? A只要超過一段時間每收到確認,就默認發送的分組丟失而重傳之前的分組,就是超時重傳

? 注意:

? (1)A發送完一個分組后,必須暫時保留已發送分組的副本,只有在收到相應確認后才洗掉

? (2)分組和確認都需要編號,才能明確哪個分組收到確認,哪個沒收到

? (3)超時計時器的重傳時間應比資料在分組傳輸的平均往返時間更長一些

? (3)確認丟失和確認遲到:

? 確認丟失:

? img

? 確認遲到:

? img

?

3.2.連續ARQ協議:

? 發送方維持發送視窗,位于發送視窗內的分組都可以連續發送出去,而不需要等待對方確認,這樣信道利用率就提高了

? 作業原理:

? img

? ARQ規定,發送方每收到一個確認,就把發送視窗滑動一個分組位置,接收方采用累積確認方式,在收到幾個分組后,對按序到達的最后一個分組發送確認

? 優點:容易實作,確認丟失也不必重傳

? 缺點:不能向發送方反映出接收方已經正確收到的所有分組資訊

5.TCP報文段的首部格式

? 首部格式:

? img

? (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構造自己的發送視窗

? img

? 發送視窗表示:在沒有收到B的確認時,A可以連續把視窗內的資料都發送出去

? 發送視窗中的序號表示允許發送的序號,視窗越大,發送方就可以在收到對方確認前連續發送更多的資料,因此可能獲得更高的傳輸效率

? 收到新的確認后發送視窗前沿向前移動,沒有收到新的確認或收到新的確認但對方通知的視窗縮小了,會使發送視窗前沿不動

? TCP的快取和視窗的關系:

? img

? 發送快取存放:

? 發送應用程式發送給發送方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:

? 選擇確認的作業原理

? 接收方在接受對方發送過來的資料位元組流的序號不連續,結構就形成了一些不連續的位元組塊,如果這些位元組的序號都在接受視窗內,接收方就先收下這些資料,但要把這些資訊告訴發送方,使發送方不再重復發送這些已收到的資料

? img

? 左邊界為閉,右邊界為開;左邊界指向位元組塊第一個位元組序號,右邊界指向位元組塊最后一個序號+1

7.TCP的流量控制

*7.1.利用滑動視窗實作流量控制:

流量控制:讓發送方發送速率不要太快,讓接收方來得及接收

滑動視窗的單位:位元組

滑動視窗流量控制流程:

? 開始時rwnd=400,每個報文段長100位元組

? img

持續計時器:解決盲等死鎖,只要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是原先未被確認、現在被剛收到的確認報文確認的位元組數

? 演算法流程:

? img

? 每經過一個傳輸輪次,擁塞視窗cwnd就加倍

? 傳輸輪次:一個傳輸輪次所經歷的時間就是往返時間RTT;即發送n個報文段并受到n個報文段確認總共經歷的時間

? 傳輸輪次更加強調:把擁塞視窗所允許發送的報文段都連續發送出去,并收到對已發送的最后一個位元組的確認

? 慢開始:不是指cwnd的增長速度慢,而是在TCP開始發送報文段時先把cwnd設定為1,然后再逐步增大cwnd

? 慢開始門限:防止擁塞視窗增長過大引起網路擁塞

? 用法: 當cwnd<ssthresh時,使用慢開始演算法

? 當cwnd>ssthresh時,停止使用慢開始而改用擁塞避免演算法

? 當cwnd=ssthresh時,既可用慢開始,也可用擁塞避免

? 擁塞避免演算法

? 演算法思路:讓擁塞視窗緩慢的增大,每經過一個RTT就把發送方的擁塞視窗+1,而不是像慢開始加倍增長

? 擁塞避免特點:加法增大,擁塞視窗按線性規律緩慢增長,比慢開始的擁塞視窗增長速率慢得多

? 擁塞避免不能完全避免擁塞,只是控制擁塞視窗按線性規律增長,使網路不易出現擁塞

? 快重傳演算法

? 特點:可以讓發送方盡早知道發生了個別報文段的丟失

? 演算法思路:要求接收方不等待自己發送資料時才進行捎帶確認,而是要立即發送確認,即使收到了失序的報文段也要立即發出對已收到的報文段的重復確認

? 演算法啟動:發送方只要一連收到3個重復確認,就立即進行重傳(即快重傳)

? 演算法流程:

? img

? 快恢復演算法

? 發送方只是丟失個別報文,不啟動慢開始而用快恢復演算法,發送方調整門限值ssthresh=cwnd/2,同時設定擁塞視窗cwnd=ssthresh,并開始執行擁塞避免演算法

? 擁塞控制流程圖:

? img

? 發送方視窗的上限值:發送方的發送視窗一定不能超過對方給出的接收方視窗值rwnd;上限值應取接收方視窗和擁塞視窗這兩個變數中較小的一個,即發送方視窗的上限值= min(rwnd,cwnd)

? 主動佇列管理AQM

? 略

9.TCP的運輸連接管理

? 運輸連接的三個階段:連接建立、資料傳送、連接釋放

? 客戶-服務器方式:TCP連接建立采用客戶服務器方式,主動發起連接建立的應用叫客戶,而被動等待連接建立的應用行程叫服務器

9.1.TCP的連接建立:

? 三報文握手

? img

? 流程:

? 最初兩端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連接的釋放:

? 四報文握手

img

? 流程:

? 起始時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的作業示意圖,從連接建立階段到連接釋放都畫上

解:img

————————————————
著作權宣告:本文為CSDN博主「Ogmx」的原創文章,遵循CC 4.0 BY-SA著作權協議,轉載請附上原文出處鏈接及本宣告,
原文鏈接:https://blog.csdn.net/weixin_43093481/article/details/86684098

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/285730.html

標籤:其他

上一篇:第四章網路層

下一篇:第六章應用層

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more