TCP和UDP的报文格式

news/2024/10/21 9:34:37

TCP和UDP的报文格式

 

  概要

  了解TCP和UDP的报文格式对于网络通信、系统设计、故障排查和安全性等多个方面都非常重要。

  一、TCP 报文格式(Transmission Control Protocol)

  TCP是面向连接、可靠的传输协议,其报文格式较复杂。TCP报文的格式如下:

    上图简化如下:

|  源端口(16位)  |  目的端口(16位)  |
|   序号(32位)   |
| 确认序号(32位) |
|  数据偏移(4位) | 保留(6位) | 标志位(6位) | 窗口大小(16位) |
| 校验和(16位)   |  紧急指针(16位)  |
|   选项(可选)   |
|   数据(可选)   |

   主要字段解释:

   1)源端口和目的端口:分别表示发送方和接收方的端口号,用于区分应用。

   2)序号:标识发送的数据字节流中的某个字节,用来保证数据按序接收。

   3)确认序号:接收方期望下次收到的数据序号,表示已成功接收到的数据。

   4)数据偏移:指出TCP头部的长度。

   5)标志位:有6个常用标志,用于控制和管理TCP连接的状态和数据传输过程。

  • 同步位SYN:SYN=1时,用于同步序列号,表示建立连接的请求。
  • 确认位ACK:ACK=1时,表示确认接收到数据包,确认报文中的序列号。
  • 终止位FIN:FIN=1时,用于关闭TCP连接,表示发送方不再发送数据。
  • 复位RST:RST=1时,用于强制重置连接,立即终止连接。
  • 推送位PSH:PSH=1时,提示接收方应该尽快将数据提交给应用层,而不要等到缓冲区填满后才传输。
  • 紧急位URG:URG=1时,提示优先处理紧急数据。与URG标志配合使用的还有一个紧急指针(Urgent Pointer),它指出紧急数据在数据段中的位置。

   这些标志位协同工作,确保TCP连接的建立、维护和关闭,以及可靠的数据传输和控制。

   6)窗口大小:用于流量控制,表示接收方能够接收的数据量。

   7)校验和:用于检验传输过程中是否发生数据错误。

   8)紧急指针:指向紧急数据的位置。

   9)选项:可选字段,常用于窗口缩放等高级功能。

   10)数据:实际传输的数据部分。

  二、UDP 报文格式(User Datagram Protocol)

  UDP是无连接、不可靠的传输协议,其报文格式相对简单。UDP报文的格式如下:

    上图简化如下:

|  源端口(16位)  |  目的端口(16位)  |
|   长度(16位)   |   校验和(16位)   |
|   数据(可选)   |

   主要字段解释:

   1)源端口和目的端口:分别表示发送方和接收方的端口号。

   2)长度:表示UDP头部和数据的总长度(最小值为8字节)。

   3)校验和:用于检验UDP头部和数据是否在传输过程中出现错误(可选字段)。

   4)数据:实际传输的数据部分。

   其中,UDP校验如下图:

    三、TCP报文和UDP报文的区别

   主要区别:

   TCP:面向连接,可靠传输,具有序号、确认机制等复杂功能,适用于需要可靠传输的场景(如文件传输、网页浏览等)。

   UDP:无连接,不可靠传输,报文格式简单,适用于对时效性要求高且容忍部分数据丢失的场景(如视频流、语音传输等)。

 

   

   参考链接:https://www.cnblogs.com/Chary/p/15954166.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74052.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

008数据绑定

v-bind 单向数据绑定 v-model 双向数据绑定

极速、便捷!一个接入 AI 的匿名在线即时聊天室!

AQChat —— 一个已接入 AI 的极速、便捷的匿名在线即时 AI 聊天室。基于 Netty 以及 protobuf 协议实现高性能,对标游戏后端开发。大家好,我是 Java陈序员。 之前给大家推荐过一款基于 livekit 和 Next.js 的匿名聊天室。 今天,再给大家介绍一个便捷开源的匿名在线聊天室,…

MoH:融合混合专家机制的高效多头注意力模型及其在视觉语言任务中的应用

在深度学习领域,多头注意力机制一直是Transformer模型的核心组成部分,在自然语言处理和计算机视觉任务中取得了巨大成功。然而,研究表明并非所有的注意力头都具有同等重要性,许多注意力头可以在不影响模型精度的情况下被剪枝。基于这一洞察,这篇论文提出了一种名为混合头注意力…

10.14-10.20 总结

1234567890联考题解:https://www.cnblogs.com/british-union/p/liankao.html 如果忽略挂分,这周打的还可以。但是问题是挂了不少分导致实际得分远不如期望得分。 做题: 做了几道 Project Euler,有一道没想出来:588,638,457,307。 P10353:群论题 AGC012F 尝试枚举一下前…

C10-08-宽字节注入-mysql注入之getshell-sqlmap

一 宽字节注入 利用宽字节注入实现“库名-表名”的注入过程。 靶场环境:容器镜像:area39/pikachu 宽字节概念1、如果一个字符的大小是一个字节的,称为窄字节; 2、如果一个字符的大小是两个及以上字节的,称为宽字节; 像GB2312、GBK、GB18030、BIG5、Shift_JIS等编码都是常…

集成电路企业怎样进行红区绿区的跨网文件交换?

在集成电路企业中,红区与绿区的划分通常基于信息的安全性和敏感性。红区一般就是密级比较高的网络区域,绿区就是密级低一些的。划分不同安全区域后,不同区域之间需要进行跨网文件交换,才能实现业务数据的流转。红区: 涉及高度敏感的信息,如设计数据、知识产权、商业秘密等…

某存储项目RAID卡出现踢盘动作

描述:某项目分布式存储设备,OSD频繁掉线, 通过查看RAID串口日志发现slot3槽位之前出现过大量命令超时,且在10月17日1:47时出现过Removed动作查看盘在位情况,发现slot3已经掉线了解决方法: 更换slot3槽位的硬盘作者:杨灏 出处:http://www.cnblogs.com/HByang/

500强企业是如何进行数据安全建设的?看这篇就够了

500强企业对于数据安全的保护尤其重视,所以在数据安全建设方面通常采取多层次的策略,具体包括以下几个方面:风险评估与管理:定期进行全面的风险评估,识别数据安全风险,制定相应的管理策略。 安全政策与标准:制定并实施严格的数据安全政策和标准,确保所有员工和合作伙伴…