5.8.2 TCP报文段首部格式

这篇具有很好参考价值的文章主要介绍了5.8.2 TCP报文段首部格式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

5.8.2 TCP报文段首部格式

TCP报文段首部格式在很大程度上体现了TCP协议的功能

一、数据封装过程

如图

5.8.2 TCP报文段首部格式,网络技术与应用,tcp/ip,网络,网络协议

应用层报文传送到传输层之后,加上TCP报文段的首部构成了TCP数据传送单位,我们称之为TCP报文段。在发送时TCP报文段是作为IP数据报的数据部分,加上IP数据报的首部之后成为IP数据报,在IP数据报首部中协议字段值如果赋值为6就表示该IP数据报携带的数据是TCP的数据(5.2.3 IP数据报(一)IP数据报的格式)。

在接收时,IP数据报将其IP首部去除后交付给传输层,从而得到TCP报文段,再去掉TCP报文段首部根据相应的端口交付给应用层的应用进程。

二、TCP报文格式

TCP报文段由TCP首部TCP数据两部分,TCP首部的前二十个字节是固定的,其后面是根据需要所增加的选项,如图所示。

5.8.2 TCP报文段首部格式,网络技术与应用,tcp/ip,网络,网络协议

  1. 前两个字段是源端口和目的端口,各占16个比特位,各两个字节,我们知道端口是传输层与应用层的服务接口。这其中五元组信息包括<源IP地址、源端口、目的IP地址、目的端口、传输协议>TCP可以唯一的标识一个TCP连接。

  2. 第二个字段是序号站32个比特位4字节,我们知道TCP是无结构的,面向字节流的,因此TCP传送的报文可以看为连续的字节流,TCP报文段中数据部分的每一个字节都进行编号,这个字段指明的是本报文段中所发送的数据部分的第一个字节的序号。

  3. 第三个字段是与第二个字段配对使用的,确认号,占32比特位4字节,这个字段指出的是期望收到的下一个报文段中首部的序号的值,这里需要注意的是确认号字段具有累积的效果。即如果确认号为M,就表明序号M-1为止的所有数据都已经正确的收到了。

  4. 第四个字段是数据偏移占4个比特位,它指出了TCP报文段中的首部长度,是以4字节为单位的。这个字段与我们学习的IP数据报首部的首部长度字段的含义是非常类似的。(5.2.3 IP数据报(一)IP数据报的格式),如果TCP报文段首部只有固定部分的话,这个值应该是5。

  5. 第五个字段是保留部分占6个比特位。

  6. 第六个字段是标志位,标志位是用于区分不同类型的TCP报文,每一个标志位只占用一个比特,一共六个标志位,相应的该位非零即一,当该标志位是1的时候,标识相应的标志位是有效的。

    1. 第一个标志位是URG,也就是urgent(紧急的),这个标志位表明本报文段中包含紧急数据,所以如果报文段中包含紧急数据时URG标志位为1,当然这个标志位上的取值还应该与首部后的紧急指针字段是联合在一起使用的。对于紧急指针的值如果有效的话,它表示的是在紧急数据之后的TCP的第一个字节的偏移值,所以这里我们就得出紧急数据的总长度

    2. 第二个标志位是ACK,也就是Acknowledgement即是确认字符,这个标志位表明确认号字段有效,这里需要注意的是ACK如果置1的话,它并不消耗掉序号,ACK如果为零的话表示数据段不包含确认信息,此时表示第三个字段的确认号字段无效,当ACK标志位置1时,此时说明TCP需要查看首部中确认号字段是有效的

    3. 第三个标志位PSH,即PUSH,它表明TCP应该尽快的将此报文段交付给应用程序,当PSH置1的时候,表明本数据段在接收方得到之后就应该直接送给应用程序,不必要等到缓存满了之后再进行发送。

    4. 第四个标志位**RST,即Reset,**它表明TCP连接出现严重错误,必须释放连接,然后再重新建立连接。

    5. 第五个标志位SYN,即同步序列编号(SynchronizeSequenceNumbers),它是在连接建立时用来同步序号。这里需要注意的是SYN是需要消耗掉一个序号的,如果这个标志位置1的话是需要消耗掉序号的。

      这里如果SYN=1,而ACK=0,在TCP里就表示它是一个连接请求。

      如果SYN=1且ACK=1,就表明是同意建立连接的标志。

    6. 第六个标志位FIN,它是用来释放一个连接,这里需要注意的是FIN置位时也是需要消耗掉一个序号的,所以当FIN=1表示发送端已经完成了发送任务,用来释放连接,表明发送方已经没有数据发送了。

  7. 第七个字段是窗口,这个字段表明当前允许发送方发送的数据量,它是以一个字节为单位的。在TCP中使用的是大小可变的滑动窗口机制进行流量控制,这里需要注意的是窗口指的是发送本报文段算起接收方目前允许发送方所发送的数据量(字节量),是接收方对发送方的流量控制,以保证接收方来得及接收数据。

  8. 第八个字段是校验和,校验和字段用来检查的范围包括TCP首部、TCP的数据,TCP的伪首部。这与UDP差错控制是一样的(5.7.2 UDP协议格式(一)——UDP差错控制)。当然这其中TCP的伪首部和UDP的伪首部不一样的地方在于TCP的伪首部协议字段值是6,其他都完全一样。

  9. 第九个字段是紧急指针,前面我们强调,只有在URG=1的情况下紧急指针位才有效,它表明的是本报文段中紧急数据的字节数。

  10. 最后额字段是选项字段,长度在0到40个字节之间是可变的,当然我们注意的是必须填充为4字节的整数倍,最常用的选项字段是在TCP中的最大报文段长度MSS,MSS最大报文段长度是TCP报文段中数据字段的最大长度。所以我们得出MSS的值=TCP报文段长度-TCP首部长度。文章来源地址https://www.toymoban.com/news/detail-516901.html

到了这里,关于5.8.2 TCP报文段首部格式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络协议】TCP报文格式

    1.源端口和目的端口 源端口字段占16比特,用来写入源端口号。源端口号用来标识发送该TCP报文段的应用进程。 目的端口字段占16比特,用来写入目的端口号。目的端口号用来标识接收该TCP报文段的应用进程。 2.序号 当序号增加到最后一个时,下一个序号又回到0。序号字段的

    2024年02月07日
    浏览(109)
  • 【网络技术】TCP详解

    TCP是Transmission Control Protocol的缩写,即传输控制协议。 TCP是一种面向连接的、可靠的、基于字节流的传输协议,是互联网通信协议TCP/IP中的一个重要组成部分。 三次握手的过程可以用以下图示表示: TCP协议使用三次握手(Three-way handshake)来建立连接,三次握手的过程如下:

    2024年02月12日
    浏览(34)
  • 2.4 - 网络协议 - TCP协议工作原理,报文格式,抓包实战,UDP报文,UDP检错原理

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 TCP

    2024年02月05日
    浏览(50)
  • 数据帧、IP数据包、TCP、UDP报文格式详解----网络通信原理

    物理层是TCP/IP模型的最底层,物理层定义其设备的 物理特性、电气特性 等,比如 网络接口卡、中继器、集线器、网线、无线电 。 物理层作用确保设备之间连接正常,包括建立、维护和断开物理连接等,物理层传输数据是通过电信号中的高低电压和低电压,也就是0101010的比

    2024年02月02日
    浏览(141)
  • 神经网络的主要应用领域,神经网络技术及其应用

    神经网络原理及应用 1. 什么是神经网络? 神经网络是一种模拟动物神经网络行为特征,进行分布式并行信息处理的算法。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。 人类的神经网络 2. 神经网络基础知识 构成:大

    2024年02月09日
    浏览(51)
  • 爬虫应用|基于网络爬虫技术的网络新闻分析

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路  关注作者有好处 文末获取源码   语言环境:Java: 

    2024年02月09日
    浏览(43)
  • 【数据交换格式】网络socket编程温度采集智能存储与上报项目技术------JSON、TLV

    作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 作者主页:一个平凡而乐于分享的小比特的个人主页 文章收录专栏:网络socket编程之温度采集智能存储与上报项目,本

    2024年04月16日
    浏览(34)
  • 全光网络技术、标准、应用现状及展望

    摘要 :5G、数据中心等新基建的部署和产业整体数字化转型进一步加速了光纤通信网络的发展和应用。阐述了基于波长通路交叉的全光网络关键技术进展、标准化现状和现网部署应用情况,并对全光网络未来发展进行了展望。 :全光网;关键技术;标准化;部署应用

    2024年02月04日
    浏览(37)
  • 【网络应用开发】实验1--Servlet技术及应用

    目录 Servlet技术及应用预习报告 一、实验目的 二、实验原理 三、实验预习内容 1. Web页面中都可以使用哪些方式来发送HTTP请求? 2. GET与POST两种请求方式有什么区别?分别适用于什么情况? 3.HTTP响应内容的类型都有哪些?如何设置HTTP响应内容的类型? 4.什么是ServletContext对象

    2024年02月03日
    浏览(43)
  • 网络应用技术师技能考试试题

    ♥️ 作者:小刘在C站 ♥️ 个人主页:

    2024年02月15日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包