計算機網路 傳輸層

2021-10-24 07:30:50 字數 1845 閱讀 9457

網路層只把分組傳送到目的主機,但是真正通訊的並不是主機而是主機中的程序。傳輸層提供了程序間的邏輯通訊,傳輸層向高層使用者遮蔽了下面網路層的核心細節,使應用程式看起來像是在兩個傳輸層實 體之間有一條端到端的邏輯通訊通道。

首部字段只有 8 個位元組,包括源埠、目的埠、長度、檢驗和。12 位元組的偽首部是為了計算檢驗和臨時新增的。

tcp 使用超時重傳來實現可靠傳輸:如果乙個已經傳送的報文段在超時時間內沒有收到確認,那麼就重 傳這個報文段。

視窗是快取的一部分,用來暫時存放位元組流。傳送方和接收方各有乙個視窗,接收方通過 tcp 報文段中 的視窗字段告訴傳送方自己的視窗大小,傳送方根據這個值和其它資訊設定自己的視窗大小。

流量控制是為了控制傳送方傳送速率,保證接收方來得及接收。

接收方傳送的確認報文中的視窗字段可以用來控制傳送方視窗大小,從而影響傳送方的傳送速率。將窗 口欄位設定為 0,則傳送方不能傳送資料。

如果網路出現擁塞,分組將會丟失,此時傳送方會繼續重傳,從而導致網路擁塞程度更高。因此當出現擁塞時,應當控制傳送方的速率。這一點和流量控制很像,但是出發點不同。流量控制是為了讓接收方能來得及接收,而擁塞控制是為了降低整個網路的擁塞程度

tcp 主要通過四個演算法來進行擁塞控制:慢開始擁塞避免快重傳快恢復

傳送方需要維護乙個叫做擁塞視窗(cwnd)的狀態變數,注意擁塞視窗與傳送方視窗的區別:擁塞視窗只是乙個狀態變數,實際決定傳送方能傳送多少資料的是傳送方視窗。

傳送的最初執行慢開始,令cwnd = 1,傳送方只能傳送 1 個報文段;當收到確認後,將 cwnd加倍, 因此之後傳送方能夠傳送的報文段數量為:2、4、8 …

注意到慢開始每個輪次都將 cwnd 加倍,這樣會讓 cwnd 增長速度非常快,從而使得傳送方傳送的速度 增長速度過快,網路擁塞的可能性也就更高。設定乙個慢開始門限ssthresh,當cwnd >= ssthresh時,進入擁塞避免,每個輪次只將 cwnd 加 1。

如果出現了超時,則令ssthresh = cwnd / 2,然後重新執行慢開始。

在傳送方,如果收到三個重複確認,那麼可以知道下乙個報文段丟失,此時執行快重傳,立即重傳下一 個報文段。例如收到三個 m2,則 m3 丟失,立即重傳 m3。

在這種情況下,只是丟失個別報文段,而不是網路擁塞。因此執行快恢復,令ssthresh = cwnd / 2cwnd = ssthresh,注意到此時直接進入擁塞避免。

計算機網路 傳輸層

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

計算機網路(傳輸層)

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

計算機網路 傳輸層

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