tcp伪报头_TCP和UDP报头的比较
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
一、TCP報(bào)頭
?TCP報(bào)文段的報(bào)頭有10個(gè)必需的字段和1個(gè)可選字段。報(bào)頭至少為20字節(jié)。報(bào)頭后面的數(shù)據(jù)是可選項(xiàng)。
1、源端口號(hào)(16位)
?標(biāo)識(shí)發(fā)送報(bào)文的計(jì)算機(jī)端口或進(jìn)程。一個(gè)TCP報(bào)文段必須包括源端口號(hào),使目的主機(jī)知道應(yīng)該向何處發(fā)送確認(rèn)報(bào)文。
2、目的端口號(hào)(16位)
?標(biāo)識(shí)接收?qǐng)?bào)文的目的主機(jī)的端口或進(jìn)程。
3、序列號(hào)(32位)
?用于標(biāo)識(shí)每個(gè)報(bào)文段,使目的主機(jī)可確認(rèn)已收到指定報(bào)文段中的數(shù)據(jù)。當(dāng)源主機(jī)用于多個(gè)報(bào)文段發(fā)送一個(gè)報(bào)文時(shí),即使這些報(bào)文到達(dá)目的主機(jī)的順序不一樣,序列號(hào)也可以使目的主機(jī)按順序排列它們。
?在建立連接時(shí)發(fā)送的第一個(gè)報(bào)文段中,雙方都提供一個(gè)初始序列號(hào)。TCP標(biāo)準(zhǔn)推薦使用以4ms間隔遞增1的計(jì)數(shù)器值作為這個(gè)初始序列號(hào)的值。使用計(jì)數(shù)器可以防止連接關(guān)閉再重新連接時(shí)出現(xiàn)相同的序列號(hào)。
?對(duì)于那些包含數(shù)據(jù)的報(bào)文段,報(bào)文段中第一個(gè)數(shù)據(jù)字節(jié)的數(shù)量就是初始序列號(hào),其后數(shù)據(jù)字節(jié)按順序編號(hào)。如果源主機(jī)使用同樣的連接發(fā)送另一個(gè)報(bào)文段,那么這個(gè)報(bào)文段的序列號(hào)等于前一個(gè)報(bào)文段的序列號(hào)與前一個(gè)報(bào)文段中數(shù)據(jù)字節(jié)的數(shù)量之和。例如,假設(shè)源主機(jī)發(fā)送3個(gè)報(bào)文段,每個(gè)報(bào)文段有100字節(jié)的數(shù)據(jù),且第一個(gè)報(bào)文段的序列號(hào)是1000,那么第二個(gè)報(bào)文段的序列號(hào)就是1100(1000+100),第三個(gè)報(bào)文段的序列號(hào)就是1200(1100+100)。
?如果序列號(hào)增大至最大值將復(fù)位為0。
4、確認(rèn)號(hào)(32位)
?目的主機(jī)返回確認(rèn)號(hào),使源主機(jī)知道某個(gè)或幾個(gè)報(bào)文段已被接收。如果ACK控制位被設(shè)置為1,則該字段有效。確認(rèn)號(hào)等于順序接收到的最后一個(gè)報(bào)文段的序號(hào)加1,這也是目的主機(jī)希望下次接收的報(bào)文段的序號(hào)值。返回確認(rèn)號(hào)后,計(jì)算機(jī)認(rèn)為已接收到小于該確認(rèn)號(hào)的所有數(shù)據(jù)。
?例如,序列號(hào)等于前一個(gè)報(bào)文段的序列號(hào)與前一個(gè)報(bào)文段中數(shù)據(jù)字節(jié)的數(shù)量之和。例如,假設(shè)源主機(jī)發(fā)送3個(gè)報(bào)文段,每個(gè)報(bào)文段有100字節(jié)的數(shù)據(jù),且第一個(gè)報(bào)文段的序列號(hào)是1000,那么接收到第一個(gè)報(bào)文段后,目的主機(jī)返回含確認(rèn)號(hào)1100的報(bào)頭。接收到第二個(gè)報(bào)文段(其序號(hào)為1100)后,目的主機(jī)返回確認(rèn)號(hào)1200。接收到第三個(gè)報(bào)文段后,目的主機(jī)返回確認(rèn)號(hào)1300。
?目的主機(jī)不一定在每次接收到報(bào)文段后都返回確認(rèn)號(hào)。在上面的例子中,目的主機(jī)可能等到所有3個(gè)報(bào)文段都收到后,再返回一個(gè)含確認(rèn)號(hào)1300的報(bào)文段,表示已接收到全部1200字節(jié)的數(shù)據(jù)。但是如果目的主機(jī)再發(fā)回確認(rèn)號(hào)之前等待時(shí)間過長,源主機(jī)會(huì)認(rèn)為數(shù)據(jù)沒有到達(dá)目的主機(jī),并自動(dòng)重發(fā)。
?上面的例子中,如果目的主機(jī)接收到了報(bào)文段號(hào)為1000的第一個(gè)報(bào)文段以及報(bào)文段號(hào)為1200的最后一個(gè)報(bào)文段,則可返回確認(rèn)號(hào)1100,但是再返回確認(rèn)號(hào)1300之前,應(yīng)該等待報(bào)文段號(hào)為1100的中間報(bào)文段。
5、報(bào)文長度(4位)
?由于TCP報(bào)頭的長度隨TCP選項(xiàng)字段內(nèi)容的不同而變化,因此報(bào)頭中包含一個(gè)指定報(bào)頭字段的字段。該字段以32比特為單位,所以報(bào)頭長度一定是32比特的整數(shù)倍,有時(shí)需要在報(bào)頭末尾補(bǔ)0。如果報(bào)頭沒有TCP選項(xiàng)字段,則報(bào)頭長度值為5,表示報(bào)頭一個(gè)有160比特,即20字節(jié)。
6、保留位(6位)
?全部為0。
7、控制位(6位)
?URG:報(bào)文段緊急。
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的tcp伪报头_TCP和UDP报头的比较的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是梨状窝瘘
- 下一篇: css 定位连线_CSS Positio