网络编程 数据报是什么?TCP、UDP数据报结构
數(shù)據(jù)報(bào)
數(shù)據(jù)報(bào)是通過網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)的基本單元,包含一個(gè)報(bào)頭(header)和數(shù)據(jù)本身,其中報(bào)頭描述了數(shù)據(jù)的目的地以及和其它數(shù)據(jù)之間的關(guān)系。數(shù)據(jù)報(bào)是完備的、獨(dú)立的數(shù)據(jù)實(shí)體,該實(shí)體攜帶要從源計(jì)算機(jī)傳遞到目的計(jì)算機(jī)的信息,該信息不依賴以前在源計(jì)算機(jī)和目的計(jì)算機(jī)以及傳輸網(wǎng)絡(luò)間交換。
參考文章:數(shù)據(jù)報(bào)
TCP數(shù)據(jù)報(bào)結(jié)構(gòu)
32位端口號(hào):
源端口和目的端口各占16位,2的16次方等于65536,看端口的命令:netstat。
32位序號(hào):
也稱為順序號(hào)(Seqence Nmber),簡(jiǎn)寫為SEQ,
32位確認(rèn)序號(hào):
也稱為應(yīng)答號(hào)(Acknowledgment Nmber),簡(jiǎn)寫為ACK。在握手階段,確認(rèn)序號(hào)將發(fā)送方的序號(hào)加1作為回答。
4位首部長(zhǎng)度:
這個(gè)字段占4位,它的單位時(shí)32位(4個(gè)字節(jié))。本例值為7,TCP的頭長(zhǎng)度為28字節(jié),等于正常的長(zhǎng)度2 0字節(jié)加上可選項(xiàng)8個(gè)字節(jié)。,TCP的頭長(zhǎng)度最長(zhǎng)可為60字節(jié)(二進(jìn)制1111換算為十進(jìn)制為15,15*4字節(jié)=60字節(jié))。
6位標(biāo)志字段:
ACK 置1時(shí)表示確認(rèn)號(hào)(為合法,為0的時(shí)候表示數(shù)據(jù)段不包含確認(rèn)信息,確認(rèn)號(hào)被忽略。
RST 置1時(shí)重建連接。如果接收到RST位時(shí)候,通常發(fā)生了某些錯(cuò)誤。
SYN 置1時(shí)用來(lái)發(fā)起一個(gè)連接。
FIN 置1時(shí)表示發(fā)端完成發(fā)送任務(wù)。用來(lái)釋放連接,表明發(fā)送方已經(jīng)沒有數(shù)據(jù)發(fā)送了。
URG 緊急指針,告訴接收TCP模塊緊要指針域指著緊要數(shù)據(jù)。注:一般不使用。
PSH 置1時(shí)請(qǐng)求的數(shù)據(jù)段在接收方得到后就可直接送到應(yīng)用程序,而不必等到緩沖區(qū)滿時(shí)才傳送。注:一般不使用。
16位檢驗(yàn)和:
檢驗(yàn)和覆蓋了整個(gè)的TCP報(bào)文段: TCP首部和TCP數(shù)據(jù)。這是一個(gè)強(qiáng)制性的字段,一定是由發(fā)端計(jì)算和存儲(chǔ),并由收端進(jìn)行驗(yàn)證。
16位緊急指針:
注:一般不使用。
只有當(dāng)U R G標(biāo)志置1時(shí)緊急指針才有效。緊急指針是一個(gè)正的偏移量,和序號(hào)字段中的值相加表示緊急數(shù)據(jù)最后一個(gè)字節(jié)的序號(hào)。
可選與變長(zhǎng)選項(xiàng):
通常為空,可根據(jù)首部長(zhǎng)度推算。用于發(fā)送方與接收方協(xié)商最大報(bào)文段長(zhǎng)度(MSS),或在高速網(wǎng)絡(luò)環(huán)境下作窗口調(diào)節(jié)因子時(shí)使用。首部字段還定義了一個(gè)時(shí)間戳選項(xiàng)。
最常見的可選字段是最長(zhǎng)報(bào)文大小,又稱為MSS (Maximm Segment Size)。每個(gè)連接方通常都在握手的第一步中指明這個(gè)選項(xiàng)。它指明本端所能接收的最大長(zhǎng)度的報(bào)文段。1460是以太網(wǎng)默認(rèn)的大小。
UDP數(shù)據(jù)報(bào)結(jié)構(gòu)
源端口號(hào)和目的端口號(hào)如上和TCP的相同。
UDP長(zhǎng)度:UDP報(bào)文的字節(jié)長(zhǎng)度(包括首部和數(shù)據(jù))。
UDP校驗(yàn)和: 檢驗(yàn)UDP首部和數(shù)據(jù)部分的正確性。
參考文章:TCP、UDP報(bào)文結(jié)構(gòu)與區(qū)別
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的网络编程 数据报是什么?TCP、UDP数据报结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pycharm 波浪线报绿 Typo:
- 下一篇: \x49\x51\x5a\x56\x54