計算機網路運輸層和WeChall題解

2021-09-22 16:46:35 字數 2800 閱讀 2429

1、tcp 最主要的特點

tcp 是面向連線的運輸層協議。

每一條tcp 連線只能有兩個端點,每一條tcp 連線只能是點對點的(一對一)。

tcp 提供可靠交付的服務。

tcp 提供全雙工通訊。

面向位元組流。

2、tcp 連線是一條虛連線而不是一條真正的物理連線。

tcp 連線::=

= 4、同乙個ip位址可以有多個不同的tcp連線,而同乙個埠號也可以出現在多個不同的tcp連線中。

1、理想傳輸條件的兩個特點:傳輸通道不產生差錯,無論傳送發以多快的速度傳送,接送方總來的及接受資料。在這種條件下不需要採取何種措施就可以實現可靠傳輸。

3、為了在出現差錯時能夠繼續通訊:在傳送完乙個分組後,必須暫時保留已傳送的分組的副本;分組和確認分組都必須進行編號;超時重傳,超時計時器的重傳時間應當比資料在分組傳輸的平均往返時間更長一些。

4、確認丟失和確認遲到

5、使用確認和重傳機制,我們就可以在不可靠的傳輸網路上實現可靠的通訊。

6、可靠傳輸協議又稱為自動重傳請求arq

7、通道利用率: td:分組傳送時間;rtt:分組往返時間;ta:傳送確認分組所需的時間

8、停止等待協議的優點是簡單,但缺點是通道利用率太低。

9、提高通道利用率的措施:採用流水線傳輸:傳送方可連續傳送多個分組,不必每發完乙個分組就停頓下來等待對方的確認

10、連續arq 協議:tcp 連線的每一端都必須設有兩個視窗——乙個傳送視窗和乙個接收視窗。傳送視窗內的資料可以連續傳送出去,不需要等待對方的確認,接收方採用累積確認,對按序到達的最後乙個分組確認,表示:到這個分組為止的所有分組都已正確收到了。

傳送方每接收到乙個確認,就把傳送視窗向前滑動乙個分組單位。

1、源埠和目的埠字段——各佔2 位元組。埠是運輸層與應用層的服務介面。運輸層的復用和分用功能都要通過埠才能實現。

2、序號字段——佔4 位元組。tcp 連線中傳送的資料流中的每乙個位元組都編上乙個序號。序號欄位的值則指的是本報文段所傳送的資料的第乙個位元組的序號。

3、確認號字段——佔4 位元組,是期望收到對方的下乙個報文段的資料的第乙個位元組的序號。

4、資料偏移(即首部長度)——佔4 位,它指出tcp 報文段的資料起始處距離tcp 報文段的起始處有多遠,以四個位元組為單位,其實就是首部長度,最大60位元組。

5、確認ack —— 只有當ack 1 時確認號字段才有效。

6、復位rst (reset) —— 當rst 1 時,表明tcp 連線**現嚴重差錯(如由於主機崩潰或其他原因),必須釋放連線,然後再重新建立運輸連線。

7、同步syn —— 同步syn = 1 表示這是乙個連線請求或連線接受報文

8、終止fin (finis) —— 用來釋放乙個連線。fin 1 表明此報文段的傳送端的資料已傳送完畢,並要求釋放運輸連線。

9、視窗字段—— 佔2 位元組,用來讓對方設定傳送視窗的依據,單位為位元組。

10、檢驗和—— 佔2 位元組。檢驗和字段檢驗的範圍包括首部和資料這兩部分。檢驗規則和udp檢驗和一樣。

11、緊急指標字段—— 佔16 位,指出在本報文段中緊急資料共有多少個位元組

12、mss是tcp 報文段中的資料字段的最大長度

13、選項字段—— 長度可變。包括:

視窗擴**項——佔3 位元組,

時間戳選項——佔10 位元組,其中最主要的字段時間戳值字段(4 位元組)和時間戳回送回答字段(4 位元組)。用來計算往返時間,處理tcp序號超過2的32次方的情況,防止序號繞回,時間戳可以做個標記

選擇確認選項

14、填充字段,填0,這是為了使整個首部長度是4 位元組的整數倍。

六、tcp 可靠傳輸的實現

1、tcp的滑動視窗以位元組為單位

2、視窗越大,傳送方就可以在收到確認之前傳送更多的資料,傳輸效率高,但是接收方必須來的及接收。

3、 視窗的分類:傳送視窗,可用視窗,未確認視窗

4、 a 的傳送視窗並不總是和b 的接收視窗一樣大(因為有一定的時間滯後)。

5、tcp 要求接收方必須有累積確認的功能,這樣可以減小傳輸開銷。

6、快取和視窗的關係:快取一般大於視窗

7、傳送快取與接收快取的作用

傳送快取用來暫時存放:

傳送應用程式傳送給傳送方tcp 準備傳送的資料;

tcp 已傳送出但尚未收到確認的資料。

接收快取用來暫時存放:

按序到達的、但尚未被接收應用程式讀取的資料;

不按序到達的資料。

8、超時重傳時間的選擇: rto rtts + 4 rttd

平均往返時間

新的rtts (1 ) (舊的rtts) (新的rtt 樣本)

0 1推薦=0.125

rtt 的偏差的加權平均值

新的rttd = (1 ) (舊的rttd) + rtts新的rtt 樣本

推薦=0.25

9、如何判定乙個確認報文段是對原來的報文段1 的確認,還是對重傳的報文段2 的確認?

採用karn演算法:在計算平均往返時間rtt 時,只要報文段重傳了,就不採用其往返時間樣本。

修正的karn演算法:報文段每重傳一次,就把rto 增大一些:

10、選擇確認sack是解決:接收方收到了和前面的位元組流不連續的兩個位元組塊,怎樣讓傳送方只傳送沒有到達的資料段

11、使用sack時要將tcp首部中的sack位置1,然後再選項字段填入未接受到的斷塊的邊界值,每個邊界值佔4個位元組,確定乙個斷塊要用兩個邊界值,所以選項欄位最多只能指明4個位元組塊的資訊。另外還要乙個選項指明是sack選項,乙個指明sack占用的位元組數

第一道題比較簡單

然後,第二道題,是一道隱寫的題,之前做過這一型別的題,

計算機網路 運輸層

問題 一 運輸層為相互通訊的的應用程序提供邏輯通訊 問題二 埠和套接字的意義 問題三 理解udp和tcp協議 問題四 在不可靠的網路上實現可靠傳輸的工作原理 問題五 tcp的滑動視窗 流量控制 擁塞控制和連線管理 1 埠 應用層所有的應用程序都可以通過運輸層傳送到ip層,這就是復用 運輸層從ip層收...

計算機網路 運輸層

運輸層協議作用於端系統,為執行在不同主機上的程序提供了邏輯通訊,將主機間的交付擴充套件到程序間交付。該層的分組稱為segment 報文段 多路復用 主機把不同套接字 每生成乙個套接字同時分配乙個埠號 收集的資料封裝後生成報文段,傳送給網路層 多路分解 將運輸層報文段的不同資料 通過套接字的埠號 交付...

計算機網路 運輸層

運輸層協議為執行在不同主機上的應用程序之間提供了邏輯通訊 logic communication 功能。運輸層協議是在端系統中而不是在路由器中實現的 在傳送端,運輸層將從傳送應用程式程序接收到的報文轉換成運輸層分組 運輸層報文段,segment 實現的方法 可能 是將應用報文劃分為較小的塊,並為每塊...