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

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

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

TCP字段介紹 TCP 數(shù)據(jù)包的大小

ss ? 來源:博客園、阮一峰的網(wǎng)絡(luò)日 ? 作者:博客園、阮一峰的 ? 2021-08-31 16:08 ? 次閱讀

傳輸控制協(xié)議英文全稱為Transmission Control Protocol,縮寫為TCP,是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793定義。為了在不可靠的互聯(lián)網(wǎng)絡(luò)上提供可靠的端到端字節(jié)流而專門設(shè)計的一個傳輸協(xié)議。

TCP字段介紹

端口和目的端口

各占2個字節(jié),這兩個值加上IP首部中的源端IP地址和目的端IP地址唯一確定一個TCP連接。

序號(seq)

占4個字節(jié),是本報文段所發(fā)送的數(shù)據(jù)項目組第一個字節(jié)的序號。

確認(rèn)序號(ack)

占4字節(jié),是期望收到對方下次發(fā)送的數(shù)據(jù)的第一個字節(jié)的序號。

數(shù)據(jù)偏移

占4比特,表示數(shù)據(jù)開始的地方離TCP段的起始處有多遠(yuǎn)。

保留

6比特,供以后應(yīng)用,現(xiàn)在置為0。

6個標(biāo)志位比特

① URG② ACK③ PSH④ RST⑤ SYN⑥ FIN

窗口

TCP通過滑動窗口的概念來進(jìn)行流量控制。

檢驗和

檢驗和覆蓋了整個TCP報文段:TCP首部和數(shù)據(jù)。

緊急指針

只有當(dāng)URG標(biāo)志置1時緊急指針才有效。

TCP 數(shù)據(jù)包的大小

以太網(wǎng)數(shù)據(jù)包(packet)的大小是固定的,最初是1518字節(jié),后來增加到1522字節(jié)。其中, 1500 字節(jié)是負(fù)載(payload),22字節(jié)是頭信息(head)。

IP 數(shù)據(jù)包在以太網(wǎng)數(shù)據(jù)包的負(fù)載里面,它也有自己的頭信息,最少需要20字節(jié),所以 IP 數(shù)據(jù)包的負(fù)載最多為1480字節(jié)。

一條1500字節(jié)的信息需要兩個 TCP 數(shù)據(jù)包。HTTP/2 協(xié)議的一大改進(jìn), 就是壓縮 HTTP 協(xié)議的頭信息,使得一個 HTTP 請求可以放在一個 TCP 數(shù)據(jù)包里面,而不是分成多個,這樣就提高了速度。

整合自:博客園、阮一峰的網(wǎng)絡(luò)日志、百度百科

編輯:jq

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

    關(guān)注

    40

    文章

    5319

    瀏覽量

    170488
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6760

    瀏覽量

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

    關(guān)注

    8

    文章

    1337

    瀏覽量

    78865
收藏 人收藏

    評論

    相關(guān)推薦

    華納云:服務(wù)器平均響應(yīng)時間和數(shù)據(jù)包大小之間的影響

    服務(wù)器的平均響應(yīng)時間與數(shù)據(jù)包大小有一定的關(guān)系,但這只是影響響應(yīng)時間的眾多因素之一。具體來說,數(shù)據(jù)包大小對服務(wù)器響應(yīng)時間的影響可以從以下幾個方面來理解: 1.
    的頭像 發(fā)表于 10-10 14:01 ?106次閱讀

    EtherCAT轉(zhuǎn)Modbus TCP協(xié)議網(wǎng)關(guān)(JM-ECT-TCP

    JM-ECT-TCP網(wǎng)關(guān)實現(xiàn)EtherCAT網(wǎng)絡(luò)與Modbus TCP網(wǎng)絡(luò)之間的數(shù)據(jù)通訊,即將Modbus TCP設(shè)備轉(zhuǎn)換為EtherCAT設(shè)備。
    的頭像 發(fā)表于 09-07 17:05 ?253次閱讀
    EtherCAT轉(zhuǎn)Modbus <b class='flag-5'>TCP</b>協(xié)議網(wǎng)關(guān)(JM-ECT-<b class='flag-5'>TCP</b>)

    深度解析TCP與UDP協(xié)議

    了多種技術(shù)手段,包括序列號標(biāo)記每個數(shù)據(jù)包、確認(rèn)機(jī)制以確認(rèn)數(shù)據(jù)包的接收、重傳機(jī)制應(yīng)對數(shù)據(jù)包丟失,以及窗口控制以優(yōu)化數(shù)據(jù)傳輸效率。這
    的頭像 發(fā)表于 09-02 14:53 ?258次閱讀
    深度解析<b class='flag-5'>TCP</b>與UDP協(xié)議

    請問如何使用AT CIPSEND或AT CIPSENDBUF發(fā)送多個數(shù)據(jù)包?

    我可以使用 AT CIPSEND 發(fā)送單個數(shù)據(jù)包。但是我必須發(fā)送一系列二進(jìn)制數(shù)據(jù)包。如何使用AT CISEND或AT CIPSENDBUF發(fā)送多個數(shù)據(jù)包,什么是正確的算法? 到目前為止,我嘗試
    發(fā)表于 07-15 07:37

    TCP傳輸大量數(shù)據(jù)時丟失數(shù)據(jù)的原因?

    當(dāng)TCP用于傳輸大量數(shù)據(jù)時,要找到數(shù)據(jù)丟失的地方,當(dāng)TCP傳輸大量數(shù)據(jù)時,數(shù)據(jù)包丟失,
    發(fā)表于 07-12 15:03

    lwip tcp的原因?

    使用lwip協(xié)議棧,作為客戶端應(yīng)答2幀數(shù)據(jù)時,會有粘問題,在tcp write 后調(diào)用tcp output沒有效果,設(shè)置 #define TF_NODELAY((u8_t)0x40U
    發(fā)表于 05-10 06:51

    UDP與TCP的主要區(qū)別 UDP能否像TCP一樣實現(xiàn)可靠傳輸?

    UDP與TCP的主要區(qū)別 UDP能否像TCP一樣實現(xiàn)可靠傳輸?TCP如何實現(xiàn)可靠性傳輸? UDP和TCP是兩種常用的傳輸層協(xié)議,它們之間的主要區(qū)別在于可靠性和效率方面。UDP是一種無連
    的頭像 發(fā)表于 01-22 16:10 ?676次閱讀

    tcp/ip協(xié)議包含哪幾層?tcp和udp有什么區(qū)別?

    網(wǎng)絡(luò)之間的接口,負(fù)責(zé)將數(shù)據(jù)包封裝成適合在物理網(wǎng)絡(luò)上傳輸?shù)母袷剑缫蕴W(wǎng)幀。 2. 網(wǎng)絡(luò)層:該層負(fù)責(zé)進(jìn)行邏輯尋址,即為數(shù)據(jù)包添加源和目的的邏輯地址,實現(xiàn)數(shù)據(jù)包根據(jù)邏輯地址在網(wǎng)絡(luò)中的路由傳輸。常用的網(wǎng)絡(luò)層協(xié)議有IP協(xié)議。 3. 傳輸
    的頭像 發(fā)表于 11-29 17:40 ?989次閱讀

    關(guān)于TCP協(xié)議總結(jié)的硬核干貨

    本文給出TCP報文格式的詳細(xì)說明,介紹網(wǎng)絡(luò)數(shù)據(jù)包傳遞中如何進(jìn)行地址解析、建立TCP連接的三次握手過程以及斷開TCP連接的四次揮手過程。
    發(fā)表于 11-17 09:26 ?433次閱讀
    關(guān)于<b class='flag-5'>TCP</b>協(xié)議總結(jié)的硬核干貨

    TCP與UDP的基本區(qū)別

    TCP與UDP基本區(qū)別 基于連接與無連接 TCP要求系統(tǒng)資源較多,UDP較少; UDP程序結(jié)構(gòu)較簡單 流模式(TCP)與數(shù)據(jù)報模式(UDP); TC
    的頭像 發(fā)表于 11-13 15:27 ?4469次閱讀
    <b class='flag-5'>TCP</b>與UDP的基本區(qū)別

    TCP 協(xié)議的運(yùn)作機(jī)制

    因為 TCP 協(xié)議提供了可靠性 。 簡單來說,可靠性就是讓數(shù)據(jù)無損送達(dá)。但若是考慮到成本,就會變得非常復(fù)雜——因為還需要盡可能地提升吞吐量、降低延遲、減少丟率。 TCP 協(xié)議具有很強(qiáng)
    的頭像 發(fā)表于 11-13 11:34 ?513次閱讀
    <b class='flag-5'>TCP</b> 協(xié)議的運(yùn)作機(jī)制

    如何解決tcp通信中的粘問題

    ,其實現(xiàn)實際是由系統(tǒng)內(nèi)核提供一片連續(xù)緩存(流緩沖)來實現(xiàn)應(yīng)用層程序與網(wǎng)卡接口之間的中轉(zhuǎn)功能。多個數(shù)據(jù)包被連續(xù)存儲于連續(xù)的緩存中,在對數(shù)據(jù)包進(jìn)行讀取時由于無法確定發(fā)生方的發(fā)送邊界,而采用某一估測值大小來進(jìn)行
    的頭像 發(fā)表于 11-11 11:40 ?1624次閱讀
    如何解決<b class='flag-5'>tcp</b>通信中的粘<b class='flag-5'>包</b>問題

    Linux場景下數(shù)據(jù)包是如何在協(xié)議層傳輸?shù)?/a>

    所有互聯(lián)網(wǎng)服務(wù),均依賴于TCP/IP協(xié)議棧。懂得數(shù)據(jù)是如何在協(xié)議棧傳輸?shù)模瑢椭闾嵘ヂ?lián)網(wǎng)程序的性能和解決TCP相關(guān)問題的能力。 我們講述在Linux場景下數(shù)據(jù)包是如何在協(xié)議層傳輸
    的頭像 發(fā)表于 11-11 11:33 ?1026次閱讀
    Linux場景下<b class='flag-5'>數(shù)據(jù)包</b>是如何在協(xié)議層傳輸?shù)? />    </a>
</div>                            <div   id=

    tcp究竟會帶來多大的性能問題

    一個項目對接第三方接口數(shù)據(jù)。對方是TCP接口,發(fā)送數(shù)據(jù)頻率很高。平均2毫秒發(fā)送三四千個字節(jié)。由于TCP協(xié)議的粘
    的頭像 發(fā)表于 11-08 16:16 ?1111次閱讀
    <b class='flag-5'>tcp</b>丟<b class='flag-5'>包</b>究竟會帶來多大的性能問題

    TCP協(xié)議詳細(xì)解析

    TCPTCP/IP協(xié)議族中一個最核心的協(xié)議,它向下使用網(wǎng)絡(luò)層IP協(xié)議,向上為應(yīng)用層HTTP、FTP、SMTP、POP3、SSH、Telnet等協(xié)議提供支持。本文給出TCP報文格式的詳細(xì)說明,
    的頭像 發(fā)表于 11-03 09:14 ?4117次閱讀
    <b class='flag-5'>TCP</b>協(xié)議詳細(xì)解析