計算機網路 傳輸層

2021-10-01 04:28:50 字數 2234 閱讀 7480

udp (user datagram protocol)使用者資料報協議

udp資料報在網路傳輸中的位置

報文資訊

附wireshark抓包

udp無法保證可靠的交付資料,首部開銷小,udp沒有擁塞控制,傳送到網路中就完了,

tcp(transmission control protocol)傳輸控制協議。

面向連線的協議,提供可靠的傳輸協議,全雙工,面向位元組流的協議

報文頭部長度為20個位元組

序號:表示的這乙個資料報文中資料首位元組需要,0-2^32 -1

確認號:期望收到資料的首位元組序號。

資料偏移:資料偏移首部的距離。

tcp標記:

視窗:指明允許對方傳送的資料量

緊急指標:緊急資料,指定緊急資料在報文中的位置。

可靠傳輸的基本原理

停止等待協議:設定超市時間,每次傳送後等待接受方確認,對於通道的利用率不高。

arq(automatic repeat request)協議(自動重傳請求,超時重傳定時器): 批量傳送與確認。 比如傳送了序號為1、2、3、4、5的訊息,收到接受方接受到5的確認訊息,傳送就認為1、2、3、4、5都已經接受到了。然後將視窗滑倒6、7、8、9、10

tcp可靠性傳輸是基於arq協議,滑動視窗以位元組為單位。

如上圖,收到確認23、24的確認訊息,視窗向後滑動,傳送30、31.如果視窗左邊的資料一直都沒有收到訊息,視窗不會向右滑動,這個時候就需要把視窗中的資料重新傳送資料,

效率比較低,可以選擇重傳,指定需要重傳的位元組即tcp報文中的序號。

流量控制:讓傳送方的傳送速度不要太快。考慮點對點的通訊量的控制。

如果接受方傳送的報文包含視窗大小,但是這個報文丟失了,而上一次傳送的報文設定的視窗大小為0,這樣就會陷入相互等待,傳送方在等待接收方傳送視窗大小的報文,接受方等待傳送方傳送訊息。堅定定時器解決了這種問題,只要接受視窗為0,傳送方啟動堅定定時器,堅定定時器每隔一段時間傳送乙個視窗探測報文。

tcp擁塞控制:考慮的是整個網路,是全域性性的考慮。

慢啟動演算法:由小到打逐漸增加傳送資料量,比如先傳送乙個報文,接受到了這個報文,就傳送1+1=2個報文,然後接收到了2個報文,然後傳送2+2=4個報文,然後傳送4個報文,以此遞加,到達慢啟動閾值就不增加。

擁塞避免演算法:到達慢啟動閾值後,會嘗試每次遞加報文視窗數,直到傳送擁塞。

三次握手

為啥需要三次握手,兩次不行麼?

如果客戶端傳送的第一次請求連線在網路傳輸中需要很長的時間才能到到服務端,在這個時間段內,客戶端發起了第二次請求連線,第二次請求連線被服務端先接受到,服務端發出確認,客戶端接收到,再次傳送確認請求,連線建立,而第一次的請求服務端後收到,傳送給客戶端確認請求,客戶端傳送請求到服務端,此時連線已經建立,無法再次建立。(邏輯有誤,未完待續。。。)

四次揮手

主動關閉端會存在等待計時器,一般為2分鐘,才會釋放對埠的占用。 主要是為了保證傳送方傳送的報文資訊能到達接受方,如果接受方長時間接受不到,則會傳送第三次報文,這端時間內因為有等待定時間的存在,則埠會一直被占用,可以接受到資訊。

部分摘自某課網

計算機網路 傳輸層

為什麼要劃分傳輸層?既然網路層已經能把源主機上發出的資料傳送給目的主機,那麼為什麼還需要加上乙個傳輸層呢?這就需要我們理解主機使用者應用層通訊的主體,位於兩台網路主機中真正的資料通訊主體並不是這兩台主機,而是兩台主機中的各種網路應用程序.同一時間一台主機上可能有多個程序同時執行,這時候就需要為應用程...

計算機網路(傳輸層)

網路層提供了主機之間的邏輯通訊,運輸層為運輸在不同主機上的程序之間提供了邏輯通訊。運輸層協議是在端系統中而不是在路由器中實現的。運輸協議能夠提供的服務常常受制於底層網路層協議的服務模型。底層無法提供時延或頻寬保證,運輸層協議也無法提供。但是即使底層網路協議不可靠,運輸協議也可以提供可靠的資料傳輸服務...

計算機網路 傳輸層

運輸層最重要的兩種協議 tcp協議,udp協議 真正的通訊 兩個主機之間應用程序的通訊 運輸層的重要功能 1 復用 傳送方的不同應用程序使用同乙個運輸層協議傳輸資料 應用層 運輸層 2 分用 接收方的運輸層在剝去報文首部後把資料真正交付到目的應用程序 運輸層 應用層 網路層和運輸層的區別 網路層說明...