在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

tcp報文段首部的結(jié)構(gòu)分析

汽車電子技術(shù) ? 來源: 物聯(lián)網(wǎng)IoT開發(fā) ? 作者:杰杰mcu ? 2023-02-14 10:32 ? 次閱讀

TCP報文段首部結(jié)構(gòu)

TCP雖然是面向字節(jié)流的,但TCP傳送的數(shù)據(jù)單元卻是報文段。

TCP報文段如APR報文、IP數(shù)據(jù)報一樣,也是由首部數(shù)據(jù)區(qū)域組成,TCP首部內(nèi)容很豐富,各個字段都有特定的含義,一般來說TCP首部只有20個字節(jié),TCP報文段首部的前20個字節(jié)是固定的,后面有4N字節(jié)是根據(jù)需要而增加的選項字段(N是整數(shù))。因此TCP首部的最小長度是20字節(jié)。

LwIP中,TCP首部采用一個名字叫tcp_hdr的結(jié)構(gòu)體進行描述,此處用PACK_STRUCT_BEGIN與PACK_STRUCT_END宏定義禁止編譯器對齊,因為在tcp首部中存在某些字段是以1字節(jié)對齊的。

1PACK_STRUCT_BEGIN
 2struct tcp_hdr {
 3  PACK_STRUCT_FIELD(u16_t src);     /* 源端口 */
 4  PACK_STRUCT_FIELD(u16_t dest);    /* 目的端口 */
 5  PACK_STRUCT_FIELD(u32_t seqno);   /* 序號 */
 6  PACK_STRUCT_FIELD(u32_t ackno);   /* 確認序號 */
 7  PACK_STRUCT_FIELD(u16_t _hdrlen_rsvd_flags);  /* 首部長度+保留位+標志位 */
 8  PACK_STRUCT_FIELD(u16_t wnd);     /* 窗口大小 */
 9  PACK_STRUCT_FIELD(u16_t chksum);  /* 校驗和 */  
10  PACK_STRUCT_FIELD(u16_t urgp);    /* 緊急指針 */
11} PACK_STRUCT_STRUCT;
12PACK_STRUCT_END

圖片

TCP報文段首部(圖片來源《計算機網(wǎng)絡(luò)》-謝希仁)

首部固定部分各字段的意義如下:* 每個TCP報文段都包含源主機目標主機的端口號,各占2個字節(jié),用于尋找發(fā)送端和接收端應(yīng)用線程,這兩個值加上I P首部中的源I P地址和目標I P地址就能確定唯一一個TCP連接。

  • 序號字段占4字節(jié),序號范圍是[0,4294967295],序號增加到4284967295后,下一個序號就又回到0,主要是用來標識從TCP發(fā)送端TCP接收端發(fā)送的數(shù)據(jù)字節(jié)流,它的值表示在這個報文段中的第一個數(shù)據(jù)字節(jié)所處位置嗎,根據(jù)接收到的數(shù)據(jù)區(qū)域長度,就能計算出報文最后一個數(shù)據(jù)所處的序號,因為TCP會對發(fā)送或者接收的數(shù)據(jù)進行編號(按字節(jié)流的形式),那么使用序號對每個字節(jié)進行計數(shù),就能很輕易管理這些數(shù)據(jù)。TCP報文段的初始序列號(ISN)是隨機的,可能是0~4294967295之間的任意值.
  • 既然TCP給每個傳輸?shù)淖止?jié)都了編號,那么確認序號就包含接收端所期望收到的下一個序號,因此,確認序號應(yīng)當是上次已成功收到數(shù)據(jù)的最后一個字節(jié)序號加 1。當然,只有ACK標志為 1時確認序號字段才有效,TCP為應(yīng)用層提供全雙工服務(wù),這意味數(shù)據(jù)能在兩個方向上獨立地進行傳輸,因此確認序號通常會與反向數(shù)據(jù)(即接收端傳輸給發(fā)送端的數(shù)據(jù))封裝在同一個報文中(即捎帶),所以連接的每一端都必須保持每個方向上的傳輸數(shù)據(jù)序號準確性。
  • 首部長度字段占據(jù)4bit空間(或者稱數(shù)據(jù)偏移字段),它指出了TCP報文段首部長度,以字節(jié)為單位,最大能記錄15*4=60字節(jié)的首部長度,因此,TCP報文段首部最大長度為60字節(jié)。在首部長度字段后接下來有6bit空間是保留未用的。
  • TCP報文段首部的標志字段
  • URG:首部中的緊急指針字段標志,如果是1表示緊急指針字段有效。
  • ACK:首部中的確認序號字段標志,如果是1表示確認序號字段有效。
  • PSH:該字段置1表示接收方應(yīng)該盡快將這個報文段交給應(yīng)用層。
  • RST:重新建立TCP連接。
  • SYN:握手,發(fā)起連接。
  • FIN:結(jié)束連接。
  • TCP的流量控制由連接的每一端通過聲明的窗口大小來提供,窗口大小為字節(jié)數(shù),起始于確認序號字段指明的值,這個值是接收端正期望接收的數(shù)據(jù)序號,發(fā)送方根據(jù)窗口大小調(diào)整發(fā)送數(shù)據(jù),以實現(xiàn)流量控制。窗口大小是一個占據(jù)16 bit空間的字段,因而窗口最大為 65535字節(jié),當接收方告訴發(fā)送方一個大小為0的窗口時,將完全阻止發(fā)送方的數(shù)據(jù)發(fā)送。
  • 只有當URG標志置1時緊急指針才有效,緊急指針是一個正的偏移量,和序號字段中的值相加表示緊急數(shù)據(jù)最后一個字節(jié)的序號。簡單來說,本TCP報文段的緊急數(shù)據(jù)在報文段數(shù)據(jù)區(qū)域中,從序號字段開始,偏移緊急指針的值結(jié)束。

抓包分析

使用wireshark抓包工具分析:

圖片

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

    關(guān)注

    8

    文章

    1353

    瀏覽量

    79074
  • 字節(jié)
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    13736
  • apr
    apr
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    6480
收藏 人收藏

    評論

    相關(guān)推薦

    #硬聲創(chuàng)作季 計算機通信與網(wǎng)絡(luò):3.8TCP報文段首部結(jié)構(gòu)

    TCP計算機基礎(chǔ)
    Mr_haohao
    發(fā)布于 :2022年10月31日 04:12:15

    [5.3.1]--5.3TCP報文段首部格式

    計算機網(wǎng)絡(luò)
    jf_75936199
    發(fā)布于 :2023年03月14日 21:36:34

    SYN Flood攻擊的原理是什么?如何實現(xiàn)呢

    隨便設(shè)置,但盡量不要太小。校驗和檢驗的范圍包括首部和數(shù)據(jù)兩部分,在計算校驗和時,要在 TCP 報文段前面加上 12 字節(jié)的偽首部。 偽首部
    發(fā)表于 07-19 14:40

    LWIP TCP報文基礎(chǔ)知識及其LWIP中TCP協(xié)議的實現(xiàn)

    首部只有 20 個字節(jié),具體見上圖。在 LwIP 中,報文段首部采用一個名字叫 tcp_hdr 的結(jié)構(gòu)體進行描述。PACK_STRUCT_
    發(fā)表于 10-18 14:54

    無線鏈路的TCP性能問題及其改善

    介紹了無線鏈路上的TCP性能問題和相關(guān)的工作。提出了一種改進從移動主機到固定網(wǎng)絡(luò)方向TCP性能的方案,在基站處設(shè)置TCP代理來監(jiān)視在無線鏈路上丟失的TCP
    發(fā)表于 02-27 16:08 ?28次下載

    icmp報文和ip報文分析

    . ICMP允許主機或路由報告差錯情況和提供有關(guān)異常情況。ICMP是因特網(wǎng)的標準協(xié)議,但ICMP不是高層協(xié)議,而是IP層的協(xié)議。通常ICMP報文被IP層或更高層協(xié)議(TCP或UDP)使用。一些ICMP報文把差錯
    發(fā)表于 11-03 09:09 ?9978次閱讀
    icmp<b class='flag-5'>報文</b>和ip<b class='flag-5'>報文</b><b class='flag-5'>分析</b>

    tcp報文格式詳解

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

    基于網(wǎng)絡(luò)編碼的TCP協(xié)議傳輸系統(tǒng)

    方對原始TCP報文段編碼,在接收方解碼,并針對網(wǎng)絡(luò)實時丟失率調(diào)整編碼報文段的發(fā)送冗余,以達到向TCP層掩蓋丟失的目的;同時加入處理器共享技術(shù),該技術(shù)旨在用一個合適的初始速率來代替
    的頭像 發(fā)表于 02-20 07:48 ?5032次閱讀
    基于網(wǎng)絡(luò)編碼的<b class='flag-5'>TCP</b>協(xié)議傳輸系統(tǒng)

    tcp數(shù)據(jù)包接口封裝的介紹

    TCP報文格式 TCP協(xié)議有著自己的數(shù)據(jù)包格式,這里把TCP的數(shù)據(jù)包稱為報文段(segment),TCP
    的頭像 發(fā)表于 03-22 09:39 ?3481次閱讀
    <b class='flag-5'>tcp</b>數(shù)據(jù)包接口封裝的介紹

    淺析C++基礎(chǔ)語法之計算機網(wǎng)絡(luò)中傳輸層(TCP&amp;UDP)

    ③可靠交互 ④全雙工通信 ⑤面向字節(jié)流 TCP 如何保證可靠傳輸: ①確認和超時重傳 ②數(shù)據(jù)合理分片和排序 ③流量控制 ④擁塞控制 ⑤數(shù)據(jù)校驗 TCP 報文結(jié)構(gòu)
    的頭像 發(fā)表于 10-26 10:07 ?1424次閱讀
    淺析C++基礎(chǔ)語法之計算機網(wǎng)絡(luò)中傳輸層(<b class='flag-5'>TCP</b>&amp;UDP)

    詳解TCP報文的頭部結(jié)構(gòu)

    和兩個端口號。一個TCP連接通常分為三個階段:連接、數(shù)據(jù)傳輸、退出(關(guān)閉)。通過三次握手建立一個鏈接,通過四次揮手來關(guān)閉一個連接。當一個連接被建立或被終止時,交換的報文段只包含TCP頭部,而沒有數(shù)據(jù)。
    的頭像 發(fā)表于 05-05 15:08 ?6786次閱讀

    如何解釋TCP報文的內(nèi)容

    TCP協(xié)議有著自己的數(shù)據(jù)包格式,這里把TCP的數(shù)據(jù)包稱為報文段(segment),TCP報文段封裝在IP數(shù)據(jù)報中發(fā)送,
    的頭像 發(fā)表于 08-31 09:12 ?2800次閱讀

    TCP是如何實現(xiàn)可靠傳輸 HTTP與HTTPS的區(qū)別

    數(shù)據(jù)偏移(占4字位):數(shù)據(jù)部分的起始位置離報文段起始位置的距離,就是報文首部的長度,單位是4字節(jié),所以4位能表示最大值是十進制的15,就是15 x 4字節(jié) = 60字節(jié),TCP報文首部
    發(fā)表于 11-21 21:38 ?847次閱讀

    TCP和UDP分別是什么 TCP和UDP協(xié)議各有什么特點

    TCP 四次揮手的最后一步,客戶端進入 TIME_WAIT 狀態(tài),需要等待一段時間再進入 CLOSED 狀態(tài)。等待時間通常是兩個最大報文段生命周期,即 2MSL,這是為了確保服務(wù)器端能夠收到客戶端發(fā)送的最后一個 ACK 報文
    的頭像 發(fā)表于 08-09 12:34 ?4426次閱讀

    基于TCP應(yīng)用層協(xié)議

    ; 我們把攜帶RST標識的稱為復(fù)位報文段 SYN: 請求建立連接; 我們把攜帶SYN標識的稱為同步報文段 FIN: 通知對方, 本端要關(guān)閉了, 我們稱攜
    的頭像 發(fā)表于 11-11 11:23 ?949次閱讀
    基于<b class='flag-5'>TCP</b>應(yīng)用層協(xié)議
    主站蜘蛛池模板: 日本加勒比黑人| 色五丁香| 男人的j桶女人的j视频| 色综合一区二区三区| 国产精品福利在线观看免费不卡 | 国产操女| 深爱激情五月网| 成年毛片| 免费在线播放视频| 婷婷色网| 1314亚洲人成网站在线观看| 1024你懂的国产日韩欧美| 亚洲a免费| 成 人色 网 站999| 欧美日韩性大片| 骚黄视频| 色爽爽爽| 伊人三级| 国产精品国产主播在线观看| 波多野结衣一级特黄毛片| 天天看人体| 午夜日批| 免费播放一区二区三区| 久久66haose精品| bt天堂在线最新版在线| 五月婷婷六月丁香综合| ts在线视频| 天天色成人网| 精品啪啪| 手机看片神马午夜片| 日韩免费高清一级毛片在线 | 久久福利精品| 新天堂在线| 午夜精品久久久久久久99| 久久精品国产99国产精品澳门| 精品视频卡1卡2卡3| 视频网站黄色| 欧美123区| 西西人体44rt高清午夜| 欧美一级欧美一级高清| 国产午夜精品久久久久免费视小说 |