TCP 狀態機 理解TCP重要的環節

2021-06-12 19:24:48 字數 2162 閱讀 1729

原文:

1. 問:tcp使用有限長的字段來記錄流序號。研究協議規範,找出在兩台機器之間允許任意長度流傳輸的方法

答:目前我只知道使用,時間戳選項來解決這個問題,具體的還不太清楚,有待提高

2. 問:tcp有乙個選項允許接收方指明它願意接受的最大報文段長度。在tcp已具有視窗通告機制的情況下,為什麼還要支援這個選項來規定最大報文段長度?

答:第一,最大報文段長度規定了最大報文的長度,避免在物理網路上對tcp資料報進行分組,以提高傳輸效率。

第二,在避免糊塗視窗綜合證時還使用了最大報文段長度做為量度。

3. 問:在什麼樣的時延,頻寬,負載以及分組丟失率情況下,tcp沒有必要重傳大量的資料?

答:時延低且穩定,頻寬高,負載低,分組丟失率低的情況下(我不太明白這題的意思,可能不太對

4. 問:乙個丟失的tcp確認並不一定會導致重傳,試解釋原因。

答:第一種,tcp採用累積確認,如果傳送方確認丟失也不會重傳。

第二種,兩台主機通訊,主機1主動關閉傳送fin,主機2 傳送確認,但是確認丟失。主機2被動關閉傳送fin,ack.主機1確定,並進入timed_wait,這個丟失的確認不用重傳,因為主機2傳送關閉時,包含有主機1傳送的資訊,所以已經可以確定收到。

5. 問:考慮檢驗和的計算。假設報文段中的檢驗和字段並未置零,而檢驗和計算的結果卻是零。你能從中得出什麼結論?

答:結論是這次的檢驗和應該是上一次檢驗和減1

6. 問:如果兩個程式使用tcp來傳送資料,但每次只傳送含乙個字元的報文段,那麼它們的資料最多有多大的網路頻寬利用率?

答:首先是多層封裝,tcp封在ip報裡,ip報封在幀中。

幀:最少要6octet 源位址,6octet 目的位址,2octet幀型別,和4octet的crc,一共是18octet (1octet=8bit)

ip資料報與tcp資料報的報頭最少都是20byte,兩種加起來是40byte,加上18byte+1byte的資料。

1/(40+18+1)=0.016949 約合1.7%

1. 問:tcp使用有限長的字段來記錄流序號。研究協議規範,找出在兩台機器之間允許任意長度流傳輸的方法

答:目前我只知道使用,時間戳選項來解決這個問題,具體的還不太清楚,有待提高

2. 問:tcp有乙個選項允許接收方指明它願意接受的最大報文段長度。在tcp已具有視窗通告機制的情況下,為什麼還要支援這個選項來規定最大報文段長度?

答:第一,最大報文段長度規定了最大報文的長度,避免在物理網路上對tcp資料報進行分組,以提高傳輸效率。

第二,在避免糊塗視窗綜合證時還使用了最大報文段長度做為量度。

3. 問:在什麼樣的時延,頻寬,負載以及分組丟失率情況下,tcp沒有必要重傳大量的資料?

答:時延低且穩定,頻寬高,負載低,分組丟失率低的情況下(我不太明白這題的意思,可能不太對

4. 問:乙個丟失的tcp確認並不一定會導致重傳,試解釋原因。

答:第一種,tcp採用累積確認,如果傳送方確認丟失也不會重傳。

第二種,兩台主機通訊,主機1主動關閉傳送fin,主機2 傳送確認,但是確認丟失。主機2被動關閉傳送fin,ack.主機1確定,並進入timed_wait,這個丟失的確認不用重傳,因為主機2傳送關閉時,包含有主機1傳送的資訊,所以已經可以確定收到。

5. 問:考慮檢驗和的計算。假設報文段中的檢驗和字段並未置零,而檢驗和計算的結果卻是零。你能從中得出什麼結論?

答:結論是這次的檢驗和應該是上一次檢驗和減1

6. 問:如果兩個程式使用tcp來傳送資料,但每次只傳送含乙個字元的報文段,那麼它們的資料最多有多大的網路頻寬利用率?

答:首先是多層封裝,tcp封在ip報裡,ip報封在幀中。

幀:最少要6octet 源位址,6octet 目的位址,2octet幀型別,和4octet的crc,一共是18octet (1octet=8bit)

ip資料報與tcp資料報的報頭最少都是20byte,兩種加起來是40byte,加上18byte+1byte的資料。

1/(40+18+1)=0.016949 約合1.7%

關於TCP的狀態機

另外 客戶端與伺服器端建立tcp ip連線後關閉socket後,伺服器端連線的埠 狀態為time wait 是不是所有執行主動關閉的socket都會進入time wait狀態呢?有沒有什麼情況使主動關閉的socket直接進入closed狀態呢?主動關閉的一方在傳送最後乙個 ack 後 就會進入 ti...

ip conntrack的TCP狀態機

深入理解ip conntrack的都知道,ip conntrack本身對於tcp維護了乙個狀態機,值得注意的是,該狀態機和tcp協議本身的狀態機相似但不相同。其區別如下 tcp狀態機 為tcp的兩端分別維護乙個狀態機,tcp連線的主動發起 被動發起和主動關閉 被動關閉的狀態機轉換是不同的。ip co...

ip conntrack的TCP狀態機

深入理解ip conntrack的都知道,ip conntrack本身對於tcp維護了乙個狀態機,值得注意的是,該狀態機和tcp協議本身的狀態機相似但不相同。其區別如下 tcp狀態機 為tcp的兩端分別維護乙個狀態機,tcp連線的主動發起 被動發起和主動關閉 被動關閉的狀態機轉換是不同的。ip co...