0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TCP字段介绍 TCP 数据包的大小

ss 来源:博客园、阮一峰的网络日 作者:博客园、阮一峰的 2021-08-31 16:08 次阅读

传输控制协议英文全称为Transmission Control Protocol,缩写为TCP,是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。

TCP字段介绍

端口和目的端口

各占2个字节,这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接。

序号(seq)

占4个字节,是本报文段所发送的数据项目组第一个字节的序号。

确认序号(ack)

占4字节,是期望收到对方下次发送的数据的第一个字节的序号。

数据偏移

占4比特,表示数据开始的地方离TCP段的起始处有多远。

保留

6比特,供以后应用,现在置为0。

6个标志位比特

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

窗口

TCP通过滑动窗口的概念来进行流量控制。

检验和

检验和覆盖了整个TCP报文段:TCP首部和数据。

紧急指针

只有当URG标志置1时紧急指针才有效。

TCP 数据包的大小

以太网数据包(packet)的大小是固定的,最初是1518字节,后来增加到1522字节。其中, 1500 字节是负载(payload),22字节是头信息(head)。

IP 数据包在以太网数据包的负载里面,它也有自己的头信息,最少需要20字节,所以 IP 数据包的负载最多为1480字节。

一条1500字节的信息需要两个 TCP 数据包。HTTP/2 协议的一大改进, 就是压缩 HTTP 协议的头信息,使得一个 HTTP 请求可以放在一个 TCP 数据包里面,而不是分成多个,这样就提高了速度。

整合自:博客园、阮一峰的网络日志、百度百科

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    40

    文章

    5361

    浏览量

    170966
  • 数据
    +关注

    关注

    8

    文章

    6854

    浏览量

    88777
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1348

    浏览量

    78971
收藏 人收藏

    评论

    相关推荐

    华纳云:服务器平均响应时间和数据包大小之间的影响

    服务器的平均响应时间与数据包大小有一定的关系,但这只是影响响应时间的众多因素之一。具体来说,数据包大小对服务器响应时间的影响可以从以下几个方面来理解: 1.
    的头像 发表于 10-10 14:01 171次阅读

    EtherCAT转Modbus TCP协议网关(JM-ECT-TCP

    JM-ECT-TCP网关实现EtherCAT网络与Modbus TCP网络之间的数据通讯,即将Modbus TCP设备转换为EtherCAT设备。
    的头像 发表于 09-07 17:05 297次阅读
    EtherCAT转Modbus <b class='flag-5'>TCP</b>协议网关(JM-ECT-<b class='flag-5'>TCP</b>)

    深入了解 Windows 系统 TCP/IP 参数配置

    概述 TCP/IP是一组用于实现计算机网络互联的通信协议。它包括了多个层次的协议,如网络接口层、网际层、传输层和应用层。其中,IP协议负责在网络中寻址和路由数据包TCP协议则提供可靠的数据
    的头像 发表于 09-04 17:24 305次阅读

    深度解析TCP与UDP协议

    了多种技术手段,包括序列号标记每个数据包、确认机制以确认数据包的接收、重传机制应对数据包丢失,以及窗口控制以优化数据传输效率。这
    的头像 发表于 09-02 14:53 321次阅读
    深度解析<b class='flag-5'>TCP</b>与UDP协议

    请问如何使用AT CIPSEND或AT CIPSENDBUF发送多个数据包

    我可以使用 AT CIPSEND 发送单个数据包。但是我必须发送一系列二进制数据包。如何使用AT CISEND或AT CIPSENDBUF发送多个数据包,什么是正确的算法? 到目前为止,我尝试
    发表于 07-15 07:37

    TCP传输大量数据时丢失数据的原因?

    TCP用于传输大量数据时,要找到数据丢失的地方,当TCP传输大量数据时,数据包丢失,
    发表于 07-12 15:03

    ESP32-C3在SPI-AT模式下进行数据透传,最后一个数据包数据偶尔会出现错误,为什么?

    目前采用SPI-AT的方式在两个硬件板之间进行数据的无线传输,一个作为AP开启TCP服务器,一个作为STA连接到对应的服务器,传输的数据量为3000000字节,在测试的过程中偶尔会出现数据
    发表于 06-26 06:07

    lwip tcp的原因?

    使用lwip协议栈,作为客户端应答2帧数据时,会有粘问题,在tcp write 后调用tcp output没有效果,设置 #define TF_NODELAY((u8_t)0x40U
    发表于 05-10 06:51

    mqtt协议和tcp协议区别

    Control Protocol/Internet Protocol),传输控制协议/互联网协议,它是网络通讯的基础框架。好比是一条贯穿信息世界的高速公路,保证了数据包能在复杂多变的路由上准确无误地送达目的地。它严谨而周到,每个发送的数据包都会被确认接收,一旦出现丢失或
    的头像 发表于 04-30 14:02 950次阅读

    STM32H750如何提高数据包大小

    我使用STM32H750官方的VCP例程,FS模式。 程序默认CDC_DATA_FS_MAX_PACKET_SIZE是64位,我试着修改最大只能到256,如果再大会导致接收不到数据。芯片资料MPSIZ设置范围可以到2047。 我想提高数据包
    发表于 03-07 06:12

    udp是什么意思 简述TCP与UDP的区别和联系

    UDP则没有这个要求,可以直接发送数据包,无需建立和维护连接。 由于UDP是无连接的,这使得它的传输具有更低的延迟和更高的
    的头像 发表于 02-02 16:33 1210次阅读

    UDP与TCP的主要区别 UDP能否像TCP一样实现可靠传输?

    UDP与TCP的主要区别 UDP能否像TCP一样实现可靠传输?TCP如何实现可靠性传输? UDP和TCP是两种常用的传输层协议,它们之间的主要区别在于可靠性和效率方面。UDP是一种无连
    的头像 发表于 01-22 16:10 744次阅读

    tcp/ip协议包含哪几层 tcp和udp的区别

    的传输和接收。 网络层: 网络层主要负责数据包的传输和路由选择。它使用IP(Internet Protocol)地址来标识主机和路由器,并决定数据的最佳路径到达目的地。 传输层: 传输层负责在网络之间建立端到端的连接,并提供可靠的数据
    的头像 发表于 01-22 10:12 1386次阅读

    tcp/ip协议包含哪几层?tcp和udp有什么区别?

    网络之间的接口,负责将数据包封装成适合在物理网络上传输的格式,如以太网帧。 2. 网络层:该层负责进行逻辑寻址,即为数据包添加源和目的的逻辑地址,实现数据包根据逻辑地址在网络中的路由传输。常用的网络层协议有IP协议。 3. 传输
    的头像 发表于 11-29 17:40 1052次阅读

    UDP分片和丢TCP效果对比

    UDP(用户数据报协议)和TCP(传输控制协议)在很多方面都有显著的区别。总体来说,TCP更适合需要可靠传输的应用,例如网页浏览、电子邮件等,而UDP则更适合对速度有高要求,但对数据
    的头像 发表于 11-23 13:55 600次阅读