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

    文章

    5069

    浏览量

    166190
  • 数据
    +关注

    关注

    8

    文章

    6511

    浏览量

    87573
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1268

    浏览量

    78270
收藏 人收藏

    评论

    相关推荐

    STM32H750如何提高数据包大小

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

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

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

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

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

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

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

    关于TCP协议总结的硬核干货

    本文给出TCP报文格式的详细说明,介绍网络数据包传递中如何进行地址解析、建立TCP连接的三次握手过程以及断开TCP连接的四次挥手过程。
    发表于 11-17 09:26 224次阅读
    关于<b class='flag-5'>TCP</b>协议总结的硬核干货

    TCP与UDP的基本区别

    TCP与UDP基本区别 基于连接与无连接 TCP要求系统资源较多,UDP较少; UDP程序结构较简单 流模式(TCP)与数据报模式(UDP); TC
    的头像 发表于 11-13 15:27 540次阅读
    <b class='flag-5'>TCP</b>与UDP的基本区别

    TCP 协议的运作机制

    因为 TCP 协议提供了可靠性 。 简单来说,可靠性就是让数据无损送达。但若是考虑到成本,就会变得非常复杂——因为还需要尽可能地提升吞吐量、降低延迟、减少丢包率。 TCP 协议具有很强的实用性,而可靠性又是
    的头像 发表于 11-13 11:34 282次阅读
    <b class='flag-5'>TCP</b> 协议的运作机制

    TCP协议详细解析

    TCPTCP/IP协议族中一个最核心的协议,它向下使用网络层IP协议,向上为应用层HTTP、FTP、SMTP、POP3、SSH、Telnet等协议提供支持。本文给出TCP报文格式的详细说明,
    的头像 发表于 11-03 09:14 1522次阅读
    <b class='flag-5'>TCP</b>协议详细解析

    TCP头部格式是什么

    在学习 TCP 连接之前,还要学习一下 TCP 头部格式。因为 TCP 连接建立,需要用 TCP 包来交换和管理数据,下面看一下
    的头像 发表于 10-08 16:45 828次阅读
    <b class='flag-5'>TCP</b>头部格式是什么

    开放式用户通讯TCP,ISO- on- TCP,UDP介绍

    TSEND“ & „TRCV “ 发送和接收数据(TCP 和ISO - on- TCP)
    的头像 发表于 09-08 09:55 1136次阅读
    开放式用户通讯<b class='flag-5'>TCP</b>,ISO- on- <b class='flag-5'>TCP</b>,UDP<b class='flag-5'>介绍</b>

    UDP能否像TCP一样实现可靠传输?

    UDP(UserDatagramProtocol)是一种无连接的协议,基于数据报的传输方式。在网络通信中,它通常用于快速传输数据包,但却无法保证数据包的可靠传输。与UDP刚好相反,TCP
    的头像 发表于 06-08 14:50 619次阅读
    UDP能否像<b class='flag-5'>TCP</b>一样实现可靠传输?

    ESP8266何时进入传入TCP连接数据包而不接收实际数据

    大家好!对于一个项目,我正在寻找一种方法来查看何时进入传入 TCP 连接数据包而不接收实际数据。我正在尝试从报警面板接收数据,并且在从面板连接后,我需要发送第一个
    发表于 05-23 08:24

    如何“直接”从ESP8266发送和接收tcp/ip数据包“?

    数据包。我需要能够编写一个接口,以便我可以 在我的 CPU 中调用一个函数,例如打开与另一台主机的 TCP/IP 连接 并开始通信。我不想在不知道的情况下简单地接收/发送 ASCII 它来自哪里等。 我
    发表于 05-15 07:05

    LS1046如何使用iperf3工具测试TCP数据包传输?

    LS1046: 我尝试使用iperf3工具测试TCP数据包传输。 找到一些速度为 10Mb/s 的重传。数据包大小为 60 字节。(网络链接为 100Mbps) ethtool no
    发表于 05-10 08:07

    什么是TCP连接的三次握手

    为了提供可靠的传送,TCP在发送新的数据之前,以特定的顺序将数据包的序号,并需要这些包传送给目标机之后的确认消息。TCP总是用来发送大批量的数据
    发表于 05-04 15:30 1046次阅读