1) TCP的封裝格式
TCP是面向連接的可靠協議,TCP為實現可靠的傳輸而提供了一系列的方法和手段。
首先,TCP的數據段采用編號的方式保證數據的正確順序。TCP數據段被封裝在IP數據報中來完成傳輸,而Ip數據包經過的路徑有可能不同,那么IP數據包到達時可能會失去原有的順序,因而到達的TCP數據段也可能會失序。為了解決這個問題,TCP對數據進行了編號。對接收到的數據進行從新排序。
其次,由于到達的IP數據包有可能發生重復,所以TCP的接收端必須有丟棄重復數據的功能。
再次,TCP提供流量控制。計算機
下面對TCP首部的數據格式進行詳細的講解
650) this.width=650;” height=15 ?15?> 0-15這16位成為源端口號:它是TCP數據段發送方進程對應的端口號,這個端口號有發送方進程產生的隨機數,它唯一的標識了發送段的一個進程。
650) this.width=650;”” height=15 ?15?> 16-31這16個是目標端口號,它對應的是接收端的進程,接收端收到數據段后,根據這個端口來確定把數據送給那個應用程序。這樣才能保證數據到達正確的地方。
650) this.width=650;”” height=15 ?15?> 第二行是32位是序列號,它提供了0-232-1范圍內的一個數據
650) this.width=650;”” height=15 ?15?> 第三行的32位的確認號,它提供了0-232-1范圍內的一個數據
650) this.width=650;”” height=15 ?15?> 第四行分成四個部分
第一部分是4位首部長度,用它可以確定首部數據結構的字節長度。
第二部分是6個保留位,這部分用著今后的擴展使用。
第三部分是6個控制位。這6位有很重要的作用,TCP的連接、斷開和傳輸都受到這6個控制位的指揮。
1. URG:緊急指針有效位。它和第五行的緊急指針配合使用。當URG=1時,TCP根據16位緊急指針確定緊急數據的最后一個字節的位置。
2. ACK:確認位。當ACK=1時,確認序列號字段有效。
3. PSH:
4. RST:值位1時通知重新建立TCP的連接。電腦
5. SYN:同步序號位。TCP需要建立連接時將這個位置置1。
6. FIN:斷開位。當TCP完成數據的傳輸需要斷開連接時,提出斷開連接的一方將置1.
第四部分是16位的窗口大小。計算機基礎知識
650) this.width=650;”” height=15 ?15?> 第五行的16位校驗和是用來做差錯控制的。16位緊急指針位和URG配合使用。
650) this.width=650;”” height=15 ?15?> 第六行是可選項。
650) this.width=650;”” height=15 ?15?> 第七行是數據。
”