- 16位标识。唯一地标识主机发送的每一份数据报,通常每发送一份报文它的值就加1。注意,一个数据报分片后的各个分组中,标识字段是同样的,即表示同一个IP数据报。
- 3位标志。指导重组的一些标记。比如:
-
- 一个bit作为“很多其它的片”位,表示接下来还有很多其它兴许分组。
- 一个bit作为“不分片”位,表示不正确数据报进行分片。
- 13位片偏移。该片偏移原始数据报開始处的位置。
UDP用户数据报协议和IP分组
转载UDP总体的封装格式例如以下:
以下是8字节UDP首部:
当IP层依据协议字段把UDP报文向上传送到UDP模块后,UDP模块再依据port号将数据发送到对应的进程中,以此实现进程到进程间的通信。
16位UDP长度代表UDP首部和UDP数据的总字节数。长度最小能够为8,即数据段不包括实际内容。
下面是抓包结果:
不同于TCP,UDP协议的接收方在接收数据后不会返回不论什么确认信号,发送方仅仅管发,至于有没有成功到达,一概无论。而且在開始发送之前也不会进行不论什么通信。
当UDP报文的长度大于MTU时,IP层就须要进行分片了。下面介绍IP层分片。
物理网络层一般要限制每次发送数据帧的最大长度,这个最大长度称为最大传输单元(MTU)。IP层在发送一个IP数据报之前须要询问下一跳接口的MTU大小,假设待发送的IP数据报大小大于MTU,则须要进行分片。所以,分片既能够发生在原始发送端主机上,也能够发生在中间路由器上。但数据报的重组仅仅在终于目的端进行。无论是分片还是重载,都是在IP层进行的,对上层来说这些操作是透明的。
IP首部中的下列字段为数据的分片和重组提供了信息:
IP数据报分片后成为一个个的分组,这些分组都拥有各自的IP首部,路由选择时也是相互独立的。它们到达目的端时有可能会发生失序,但利用各自的IP首部中的信息,全然可以又一次恢复成原始的IP数据报。这里须要注意,不论什么运输层首部仅仅出如今第一片数据中。
比如要发送1473字节的用户数据,那么总的IP数据报长度 = 20字节IP首部 + 8字节UDP首部 + 1473字节用户数据 = 1501字节,超过了以太网规定的1500字节的MTU,所以须要进行分片,例如以下图所看到的:
注意上图,分组1中包括了UDP首部信息,而兴许分组并不包括UDP首部。
參考:
《TCP/IP具体解释》第11章。
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:我是怎样成长为系统架构师的
下一篇:使用Java高速实现进度条
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
传输层 用户数据报协议(UDP)
UDP协议的特点用户数据报协议(UDP)只在IP的
udp 首部 数据 端口号 -
无连接的用户数据报协议UDP
传送数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认。不可靠,无连接,时延小,适用于
无连接的用户数据报协议UDP 数据 首部 无连接 -
TCP/IP卷一:54---UDP之(用户数据报协议(UDP)简介、UDP数据报格式、UDP校验和)
一、用户数据报协议(UDP)简介UDP是一种保留消息边界的简单的面向数据报的传输层协议UD
UDP数据报格式 UDP头部 UDP校验和 数据 -
【计算机网络】运输层:用户数据报协议UDP
UDP
udp 计算机网络 网络 UDP IP -
【STM32F429】第14章 UDP用户数据报协议基础知识
最新教程下载:
数据 应用程序 端口号 -
【STM32H7】第14章 UDP用户数据报协议基础知识数据 应用程序 端口号
-
5、用户数据报发送 基于UDP 协议的网络程序
5、用户数据报发送我们前面已经学习网络f,
网络 struct buffer server socket