這個頭部結構非常的重要,建議大家記住.可以畫出來並且可以說出來每個部分的作用是什麼,主要是要會解釋tcp怎麼保證通訊的可靠機制的。
其中,32位序號是指通訊過程中,某個傳輸方向上的位元組流的每個位元組的編號。
32位確認號:用作另外一方傳送來的tcp報文段的響應。其值就是收到的tcp報文段的序號值加1。
4位頭部長度:標識該tcp頭部有多少個32bit字(4位元組)。4位最大能表示15,所以tcp頭部最長是60位元組。
urg:表示緊急指標是否有效
ack: 確認號是否有效。
psh:提示接收端應用程式應該立即從tcp接受緩衝區讀走資料,為之後的接受的資料騰出位置。
rst:表示要求對方重寫建立連線。復位報文端。
syn:表示建立乙個連線。同步報文段。
fin:表示通知對方本端要關閉連線了。結束報文端
16位視窗大小:是tcp流量控制的乙個手段。它告訴對方本段的tcp接受緩衝區的情況,控制對方的傳送的速度。
16位校驗和:由傳送端填充,接收端對tcp報文端執行crc演算法以校驗tcp報文段在傳輸過程是否損壞。(資料和頭部全部校驗的。)
16位緊急指標:傳送端向接受端傳送緊急資料使用的。
這個狀態客戶端連線要等待一段長為2msl的時間,才能完全關閉。msl是tcp報文段在網路中最大生存時間。
作用:1,可靠地終止tcp連線。
2,保證讓遲來的tcp報文段有足夠的時間被識別並丟棄。
1,訪問不存在的埠。
2,異常終止連線。
3,處理半開啟連線。
有些傳輸層協議具有帶外資料的概念,用於迅速通告對方本端傳送的重要事件。因此帶外資料比普通的資料有更高的優先順序。它
應該先被傳送,而不論傳送緩衝區是否有排隊等待的普通的資料。
udp沒有實現帶外資料傳輸,tcp也沒有真正的帶外資料。
tcp利用其緊急指標標記和緊急指標倆個字段,給應用程式提供了一種緊急方式。tcp緊急資料稱為帶外資料。
tcp服務必須能夠重傳超時時間內未收到確認的tcp報文段。為此,tcp模組為每個tcp報文段都維護乙個重傳定時器,該定時器在tcp報文段第一次被傳送時啟動。如果超時時間內未收到接收方的應答,tcp模組將重傳tcp報文段並重置定時器。
提高網路利用率,降低丟包率,保證網路資源對每條資料流的公平性。這就是所謂的擁塞控制。
慢啟動;
擁塞避免;
快速重傳;
快速恢復;
TCP IP學習筆記5 tcp頭部報文詳解
tcp ip協議是當前網路時代的基礎,所有的網路產品,或者是開發語言 開發框架都是基於tcp ip協議的,所以說,學好tcp ip對個人以後從事網際網路行業會有巨大的幫助。但是這是乙個基礎理論課程,就像作業系統這門課一樣,學完之後可能不會對你產生太大的影響,不會讓你立馬擁有能夠投入工作中的技能。但正...
TCP報文結構和長短連線
一 報文結構介紹 在開始講tcp連線過程時,還是先看看tcp報文的格式如圖1所示。ip資料報此時由ip頭部 tcp頭部 tcp資料組成。不帶選項的tcp頭部是20位元組長,而帶選項的,tcp頭部最長可達60位元組。常見的選項包括最大的大小 mss 時間戳 傳輸控制時使用 視窗縮放 流量控制時使用 選...
TCP報文中的sackOK含義和作用
一般tcp的ack過程 在tcp的互動過程中,除了第乙個syn請求報文的ack標誌未置1外,其他的報文的ack標誌都是置1的。當客戶端與伺服器在互動的過程中,某些資料報被丟棄時,其ack確認和後續資料互動的過程如下圖所示 在上圖所示的互動過程中,我們可以清楚的發現,在互動中由於某些未知的不可控的原因...