0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

11種協(xié)議報文格式介紹

馬哥Linux運(yùn)維 ? 來源:博客園 ? 2024-01-17 10:19 ? 次閱讀

01、TCP

afc86c72-b44f-11ee-8b88-92fbcf53809c.jpg

1、源端口號和目的端口號:

用16bit表示所以端口號范圍為0~65535,用來標(biāo)識源主機(jī)和目的主機(jī)上的進(jìn)程,用于運(yùn)輸層的多路復(fù)用和多路分解。

2、序號:

用于TCP重發(fā)時區(qū)分是第一次發(fā)送還是重發(fā)的TCP段,還可以在一次連接的范圍防止重放攻擊,不重數(shù)可以在很久時間防止重放攻擊。

3、重放攻擊:

攻擊者拿到加密片段重新發(fā)給服務(wù)器,比如我們加密了密碼,但攻擊者仍然可以在不破解我們密碼情況下,可以拿我們加密的密碼直接去登錄我們賬號,所以可以在加密的時候把我們的密碼和一個不重數(shù)拼在一起再加密,所以我們的密碼加密版本,每次都會不同。

4、確認(rèn)號:

和序號對應(yīng),指示發(fā)送確認(rèn)號的一方下一次想接收的數(shù)據(jù)的序號,即接收方發(fā)送的確認(rèn)號,表示接收方希望發(fā)送方下次發(fā)送數(shù)據(jù)的序號為確認(rèn)號。

5、首部長度:

4比特,最多可以表示16個單位,每個單位是32比特即4個字節(jié),所以最多可以表示64字節(jié),所以TCP首部最長為64字節(jié),一般如果沒有選項字段只有20字節(jié)。

6、標(biāo)志字段:

每個占1bit,SYN用于建立TCP連接,F(xiàn)IN用于終止連接,ACK用于確認(rèn)收到,RST用于重置連接(相當(dāng)于異常終止連接),PSH用于指示接收方盡快把數(shù)據(jù)交給上層,URG用于表示TCP報文段中有緊急數(shù)據(jù),CWR和ECE用于明確擁塞通告。

7、明確擁塞通告:

當(dāng)路由器發(fā)現(xiàn)網(wǎng)絡(luò)擁塞后設(shè)置IP數(shù)據(jù)報的ECN比特,接收方收到這個ECN比特的信息后,將TCP報文段上面的ECE比特置為1,然后發(fā)回給發(fā)送方,發(fā)送方收到ECE信息后,以減半擁塞窗口作為回應(yīng),并在下一次發(fā)送TCP報文段時把報文段上的CWR比特置為1,以告訴接收方擁塞窗口已減半。

8、接收窗口:

用于流量控制,是表示接收方接收緩沖還能容納多少數(shù)據(jù),發(fā)送方發(fā)送時會以接收窗口和擁塞窗口之中最小的為滑動窗口來流水線式發(fā)送數(shù)據(jù)。

9、因特網(wǎng)校驗和:

16位,即兩個字節(jié),用于檢測TCP頭和數(shù)據(jù)有無錯誤,將報文段以16比特為一個單位,全部相加,溢出的會在結(jié)果后面加一,最后得到一個16比特的數(shù),此時因特網(wǎng)校驗和加上這一個16比特的數(shù)后使得16比特全變?yōu)?,如果不是1那么就傳輸出錯。

10、緊急數(shù)據(jù)指針:

緊急數(shù)據(jù)的最后一個字節(jié)由16比特的緊急數(shù)據(jù)指針字段指出。

02、UDP

afdb2006-b44f-11ee-8b88-92fbcf53809c.jpg

1、源端口號和目的端口號:

用16bit表示所以端口號范圍為0~65535,用來標(biāo)識源主機(jī)和目的主機(jī)上的進(jìn)程,用于運(yùn)輸層的多路復(fù)用和多路分解。

2、長度:

UDP是一次性發(fā)送上層的數(shù)據(jù),不會像TCP一樣將上層的報文進(jìn)行分段處理,16bit最多可以表示65535個字節(jié),是首部加數(shù)據(jù)的長度,首部長度固定8字節(jié)。

3、因特網(wǎng)校驗和:

16位,即兩個字節(jié),用于檢測UDP頭和數(shù)據(jù)有無錯誤,將報文段以16比特為一個單位,全部相加,溢出的會在結(jié)果后面加一,最后得到一個16比特的數(shù),此時因特網(wǎng)校驗和加上這一個16比特的數(shù)后使得16比特全變?yōu)?,如果不是1那么就傳輸出錯。

03、IP

afebd270-b44f-11ee-8b88-92fbcf53809c.jpg

1、版本:

4比特,最多表示16,用來標(biāo)識是IPv4,還是IPv6。

2、首部長度:

4比特,最多可以表示16個單位,每個單位是32比特即4個字節(jié),所以最多可以表示64字節(jié),所以IP首部最長為64字節(jié),一般如果沒有選項字段只有20字節(jié)。

3、服務(wù)類型:

用于區(qū)分不同類型的數(shù)據(jù)報,如實時數(shù)據(jù)報(IP電話)和非實時流量(HTTP),IP電話要求低時延、高吞吐量、可靠性可以差點(diǎn),但HTTP可以有時延,但是可靠性要求很好。

4、數(shù)據(jù)報(包)長度:

16bit,理論上最多65535字節(jié),但實際上很少超過1500字節(jié),因為鏈路層的幀的負(fù)載一般最多1500字節(jié)(加上幀頭最多1518字節(jié),就是下面的以太網(wǎng)幀),IP數(shù)據(jù)包太長得分片。

5、標(biāo)識、標(biāo)志、片偏移:

用于分片,標(biāo)識號相當(dāng)于TCP的序號,把包分片后給每個分片加一個標(biāo)識,相鄰的分片標(biāo)識數(shù)差1,標(biāo)志是為了指示接收方接收完成了,通常最后一個分片的標(biāo)志比特設(shè)為0,其他的為1,片偏移相當(dāng)于偏移量,用于指示該分片是在整個數(shù)據(jù)報的哪個位置,便于目的主機(jī)接收后重新組裝。

6、壽命:

8bit,最多255,IP數(shù)據(jù)報每經(jīng)過一個路由器該字段減一,如果減為0,該數(shù)據(jù)報被丟棄。

7、協(xié)議:

用于表示IP數(shù)據(jù)報要交給哪個上層運(yùn)輸層協(xié)議,值為6是TCP,值為17是UDP。

8、首部檢驗和:

計算方式和上面一樣,但是運(yùn)輸層首部檢驗和檢驗頭和數(shù)據(jù),IP只檢驗IP頭,這樣是為了提高轉(zhuǎn)發(fā)效率。

9、源和目的IP地址:

用于標(biāo)識源主機(jī)和目的主機(jī),而運(yùn)輸層的端口用于標(biāo)識主機(jī)上面的進(jìn)程。

04、IPV6

b004780c-b44f-11ee-8b88-92fbcf53809c.jpg

1、版本:

4比特,最多表示16,用來標(biāo)識是IPv4,還是IPv6

2、流量類型:

用于區(qū)分不同類型的數(shù)據(jù)報,如實時數(shù)據(jù)報(IP電話)和非實時流量(HTTP),IP電話要求低時延、高吞吐量、可靠性可以差點(diǎn),但HTTP可以有時延,但是可靠性要求很好。

3、流標(biāo)簽:

用于區(qū)分不同的流,和流量類型作用類似。

4、有效載荷長度:

16bit,最大65535字節(jié),IPv6不會分片,表示是數(shù)據(jù)長度不包括IPv6頭部,因為IPv6頭部固定是40字節(jié)。

5、下一個首部:

相當(dāng)于IPv4的選項字段,把選項放在下一個首部里面,而且可以表示上層協(xié)議的首部在什么位置,相當(dāng)于指示了上層協(xié)議,可以理解為把選項和IPv4的協(xié)議字段融合起來。

6、跳限制:和壽命一樣,8bit,最多255跳。

7、源和目的IP地址:IPv6地址為128位。

05、IPSec

b013afa2-b44f-11ee-8b88-92fbcf53809c.jpg

ESP(Encapsulation Security Payload): 封裝安全性載荷
SPI(Security Parameter Index): 安全參數(shù)索引

IPsec是為了加密IP數(shù)據(jù)報,加密步驟如下:

1、在初始IPv4數(shù)據(jù)報(包括首部和數(shù)據(jù))后面附加一個ESP尾部;

2、使用算法和SA(Security Association) 安全關(guān)聯(lián)規(guī)定的密鑰加密第一步結(jié)果;

3、在加密后的數(shù)據(jù)附加ESP首部;

4、使用算法和SA規(guī)定的密鑰為上述所有生成一個MAC(Message Authentication Code)報文鑒別碼即ESP MAC;

5、將該MAC放在尾部;

6、重新生成一個IPv4首部,這個新IP首部的地址是安全通道兩端的地址,先經(jīng)過安全通道傳輸,后面解密后再把里面初始IP數(shù)據(jù)報拿出來傳輸。

06、以太網(wǎng)幀結(jié)構(gòu)

b01f57a8-b44f-11ee-8b88-92fbcf53809c.jpg

1、前同步碼:

前7個字節(jié)的值都是10101010,最后一個字節(jié)的值是10101011,前7個字節(jié)用于喚醒接收適配器,將接收方時鐘和發(fā)送方時鐘同步,為什么會不同步呢,因為適配器會以10Mbps、100Mbps、10Gbps傳輸速率,所以時鐘不同,第8個字節(jié)最后兩個11告訴適配器重要的內(nèi)容要來了。

2、目的地址和源地址:

即MAC(Media Access Control)地址,占6個字節(jié),如AA-AA-AA-AA-AA

3、類型:

相當(dāng)于IP數(shù)據(jù)報頭里面的協(xié)議,指示上層協(xié)議(網(wǎng)絡(luò)層),網(wǎng)絡(luò)層不只有IP協(xié)議。

4、CRC :

循環(huán)冗余檢驗,比檢驗和更加強(qiáng)的檢測,即數(shù)據(jù)比特一直和一個特定二進(jìn)制序列異或,最后剩下的二進(jìn)制串就是CRC,雖然可以檢測錯誤,并把錯誤幀丟棄,但是沒有重發(fā)機(jī)制,無法提供可靠性服務(wù)。

07、802.1Q以太網(wǎng)幀結(jié)構(gòu)

b034a37e-b44f-11ee-8b88-92fbcf53809c.jpg

大部分和上面一樣,802.1Q是一種擴(kuò)展以太網(wǎng)格式,用于跨越VLAN干線的幀,新加入了一個VLAN標(biāo)簽,VLAN標(biāo)簽由2字節(jié)的標(biāo)簽協(xié)議標(biāo)識符,一個2字節(jié)的標(biāo)簽控制信息字段和一個3比特優(yōu)先權(quán)字段。

08、802.11無線鏈路幀

b046533a-b44f-11ee-8b88-92fbcf53809c.jpg

1、幀控制:

類型和子類型用于區(qū)分關(guān)聯(lián)、RTS、CTS、ACK和數(shù)據(jù)幀,從(form)和到(to)AP字段用于定義不同地址字段的含義(這些含義隨著自組織模式或者基礎(chǔ)設(shè)施模式而改變,而且在使用基礎(chǔ)設(shè)施模式時,也隨著是無線站點(diǎn)還是AP在發(fā)送幀而變化),WEP字段指示了是否使用加密。

2、持續(xù)期:

802.11無線網(wǎng)絡(luò)中可以預(yù)約信道,用于表示預(yù)約時長,在數(shù)據(jù)幀和RTS即CTS幀都存儲,RTS(Request to Send)請求發(fā)送幀,CTS(Clear to Send)允許發(fā)送幀。

3、RTS和CTS處理隱藏終端:

當(dāng)站點(diǎn)監(jiān)聽到信道空閑,等待DIFS(Distributed Inter-Frame Space)分布式幀間間隔后發(fā)送RTS,在發(fā)送RTS后接收方等待SIFS(Short Inter-Frame Spacing)短幀間間隔后發(fā)送CTS,然后發(fā)送方收到該CTS,等待SIFS后發(fā)送數(shù)據(jù),最后接收完數(shù)據(jù)后接收方等待SIFS后發(fā)送ACK。

4、地址字段:

每個地址都是一個MAC地址,地址2是傳輸該幀站點(diǎn)的MAC地址,地址1是要接收該幀的無線站點(diǎn)的MAC地址,地址3是路由器接口MAC地址,地址4是AP(Access Point)接入點(diǎn)自組織模式中互相轉(zhuǎn)發(fā)時使用的地址。

5、有效載荷:包含有效數(shù)據(jù),最大為2312字節(jié),通常小于1500字節(jié)

6、CRC:循環(huán)冗余校驗

09、SSL記錄

b0500b00-b44f-11ee-8b88-92fbcf53809c.jpg

前三個字段不加密。

1、類型:指出該字段是握手報文還是包含應(yīng)用數(shù)據(jù)的報文,也可以用于關(guān)閉SSL連接。

2、版本:版本字段是自解釋的。

3、長度:長度字段用來從到達(dá)的TCP自己流提取SSL記錄,SSL記錄是在TCP的上層的。

10、RTP實時傳輸協(xié)議

b05bee0c-b44f-11ee-8b88-92fbcf53809c.jpg

1、有效載荷類型:

7比特,對于音頻流有效載荷類型字段用于指示音頻編碼類型如(PCM、適應(yīng)性增量調(diào)制、線性預(yù)測編碼),通過改變類型可以提高語音質(zhì)量和減少RTP流比特率(相當(dāng)于降低質(zhì)量)。

2、序號:16比特,用于檢測丟包和恢復(fù)分組序列,每發(fā)送一個RTP分組則該序號加1。

3、時間戳:反映RTP數(shù)據(jù)分組中的第一個字節(jié)采樣時刻。

4、同步源標(biāo)識符:表示RTP流的源,表示發(fā)送方的IP地址,而是新的流開始時源隨機(jī)分片的一個數(shù)。

11、OpenFlow流表

b06d9418-b44f-11ee-8b88-92fbcf53809c.jpg

計算機(jī)網(wǎng)絡(luò)各層協(xié)議和操作抽象成匹配加動作轉(zhuǎn)發(fā)表,即匹配某些字段,進(jìn)行某些操作,如網(wǎng)絡(luò)層路由器路由表,匹配IP轉(zhuǎn)發(fā)數(shù)據(jù)報,都可以抽象為流表。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 計算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7508

    瀏覽量

    88078
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1362

    瀏覽量

    79111
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    326

    瀏覽量

    33969
  • 報文
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    4050

原文標(biāo)題:網(wǎng)工們,這11種協(xié)議報文格式一定要爛熟于心!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    百問MQTT協(xié)議分析 - MQTT簡述及協(xié)議報文格式組成

    城市、遠(yuǎn)程醫(yī)療、遠(yuǎn)程教育 g)電力、石油與能源等行業(yè)市場 16.2 mqtt協(xié)議報文格式組成 16.2.1 mqtt控制報文結(jié)構(gòu) MQTT 協(xié)議通過交換預(yù)定義的 MQTT 控制
    發(fā)表于 12-13 09:29

    tcp報文格式詳解

    TCP(Transmission ControProtocol)傳輸控制協(xié)議是一面向連接的、可靠的、基于字節(jié)流的傳輸層協(xié)議。TCP報文是TCP層傳輸?shù)臄?shù)據(jù)單元,也稱為
    發(fā)表于 12-08 11:11 ?3.3w次閱讀
    tcp<b class='flag-5'>報文格式</b>詳解

    modbusrtu報文格式詳細(xì)介紹

    大多數(shù)Modbus設(shè)備通信通過串口EIA-485物理層進(jìn)行。 對于串行連接,存在兩個變種,它們在數(shù)值數(shù)據(jù)表示不同和協(xié)議細(xì)節(jié)上略有不同。Modbus RTU是一緊湊的,采用二進(jìn)制表示數(shù)據(jù)的方式
    發(fā)表于 02-07 15:28 ?7.3w次閱讀
    modbusrtu<b class='flag-5'>報文格式</b>詳細(xì)<b class='flag-5'>介紹</b>

    路由協(xié)議及其工作原理的詳細(xì)PPT教程課件免費(fèi)下載

      本章將介紹目前常見的幾種動態(tài)路由協(xié)議(包括RIP、OSPF、IS-IS和BGP)的一些基礎(chǔ)知識,所采用的路由算法工作原理,主要路由消息及報文格式。其中最重要的是使用這些路由協(xié)議的基
    發(fā)表于 05-27 08:00 ?17次下載
    路由<b class='flag-5'>協(xié)議</b>及其工作原理的詳細(xì)PPT教程課件免費(fèi)下載

    基于粗糙集聚類的報文格式推斷方法

    報文聚類是報文格式推斷的基礎(chǔ),現(xiàn)有的報文聚類方法大多以報文的全局相似性為聚類的標(biāo)準(zhǔn),這類聚類方法的準(zhǔn)確率往往不高,進(jìn)而影響后續(xù)報文格式提取的
    發(fā)表于 04-25 11:45 ?3次下載
    一<b class='flag-5'>種</b>基于粗糙集聚類的<b class='flag-5'>報文格式</b>推斷方法

    網(wǎng)絡(luò)協(xié)議棧:MQTT的報文格式解析

    在上一篇文章,直接在本地搭建了服務(wù)器和客戶端,簡單的實踐了MQTT的用法。而這一篇來解析MQTT的報文格式。MQTT的報文字段很精簡。但是解析起來還是有些復(fù)雜的。 解析報文最好的工具是采用
    的頭像 發(fā)表于 05-13 14:06 ?5508次閱讀
    網(wǎng)絡(luò)<b class='flag-5'>協(xié)議</b>棧:MQTT的<b class='flag-5'>報文格式</b>解析

    TCP協(xié)議網(wǎng)絡(luò)安全攻擊

    本篇主要介紹TCP協(xié)議的概念、主要功能、主要特點(diǎn)、報文格式以及相應(yīng)的工作方式
    的頭像 發(fā)表于 04-07 11:40 ?900次閱讀
    TCP<b class='flag-5'>協(xié)議</b>網(wǎng)絡(luò)安全攻擊

    UDP協(xié)議報文格式

    UDP用來支持那些需要在計算機(jī)之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。包括網(wǎng)絡(luò)視頻會議系統(tǒng)在內(nèi)的眾多的客戶/服務(wù)器模式的網(wǎng)絡(luò)應(yīng)用都需要使用UDP協(xié)議
    發(fā)表于 05-06 15:26 ?3537次閱讀
    UDP<b class='flag-5'>協(xié)議</b>的<b class='flag-5'>報文格式</b>

    HTTP協(xié)議報文格式

    請求行以方法字段開始,后面分別是URL字段和HTTP協(xié)議版本字段,并以CRLF結(jié)尾。SP是分隔符。除了在最后的CRLF序列中CF和LF是必需的之外,其他都可以不要。有關(guān)通用信息頭,請求頭和實體頭方面的具體內(nèi)容可以參照相關(guān)文件。
    發(fā)表于 05-06 15:56 ?3987次閱讀

    虹科干貨 | 讀不懂CANopen報文?看完這篇文章你就知道了!

    //CANopen是位于CAN總線之上的應(yīng)用層協(xié)議。CAN報文由7個不同的位域組成,CANopen主要是規(guī)定了其中的仲裁域和數(shù)據(jù)域的使用情況。01CANopen報文格式CANopen的報文格式
    的頭像 發(fā)表于 08-10 09:21 ?3440次閱讀
    虹科干貨 | 讀不懂CANopen<b class='flag-5'>報文</b>?看完這篇文章你就知道了!

    Path延時測量相關(guān)報文格式介紹

    Pdelay_Req報文格式定義 如下圖15所示為IEEE802.1AS定義的報文格式定義: 圖15 Pdelay_Req報文格式定義 上圖中header與SYNCMessage頭信息定義
    的頭像 發(fā)表于 07-24 10:45 ?1107次閱讀
    Path延時測量相關(guān)<b class='flag-5'>報文格式</b><b class='flag-5'>介紹</b>

    IPv4報文格式各字段的含義

    Version版本 4Bit :ip報文中,用來表示該協(xié)議采用的是那一個版本的ip,相同版本的ip才能進(jìn)行通信。一般此處的值為4,表示ipv4。
    的頭像 發(fā)表于 12-13 09:43 ?3355次閱讀
    IPv4<b class='flag-5'>報文格式</b>各字段的含義

    modbus報文解析,modbus報文格式詳解

    Modbus協(xié)議是一通信協(xié)議,用于在工業(yè)自動化系統(tǒng)中連接電子設(shè)備,用于在工業(yè)自動化和控制系統(tǒng)中進(jìn)行數(shù)據(jù)交換。。Modbus協(xié)議通過串行通信線路(例如RS-485)或以太網(wǎng)進(jìn)行通信。M
    的頭像 發(fā)表于 01-09 16:45 ?5708次閱讀

    CAN的報文格式和發(fā)送總流程

    在標(biāo)準(zhǔn)格式中,報文的起始位稱為幀起始(SOF),然后是由11位標(biāo)識符和遠(yuǎn)程發(fā)送請求位(RTR)組成的仲裁場。RTR位標(biāo)明是數(shù)據(jù)幀還是請求幀,在請求幀中沒有數(shù)據(jù)字節(jié)。
    發(fā)表于 04-11 10:07 ?9570次閱讀
    CAN的<b class='flag-5'>報文格式</b>和發(fā)送總流程

    modbus報文解析,modbus報文格式詳解

    Modbus協(xié)議是一通信協(xié)議,用于在工業(yè)自動化系統(tǒng)中連接電子設(shè)備,用于在工業(yè)自動化和控制系統(tǒng)中進(jìn)行數(shù)據(jù)交換。。Modbus協(xié)議通過串行通信線路(例如RS-485)或以太網(wǎng)進(jìn)行通信。M
    的頭像 發(fā)表于 04-16 15:16 ?2549次閱讀