IP UDP包头详解

您所在的位置:网站首页 TCP包头详解 IP UDP包头详解

IP UDP包头详解

2024-07-12 11:56| 来源: 网络整理| 查看: 265

各字段功能:

**1、版本号(Version):**长度 4 bit 。标识目前采用的 IP 协议的版本号。一般的值为 0100(IPv4),0110(IPv6)

版本号 版本 保留 1~3 未分配 4 Internet 协议版本 4(IPv4) 5 ST 数据报(Datagram) 6 简单 Internet 协议(SIP) 6 IPv6 7 TP / IX 8 P Internet 协议(PIP) 9 使用更大地址的 TCP 和 UDP(TUBA) 10~14 未分配 15 保留

**2、IP 报头长度(Header Length):**长度 4 bit 。这个字段的作用是为了描述 IP 报头的长度,因为在 IP 报头中有变长的可选部分。该部分占 4 个 bit,长度单位为 4 个字节,即本区域值 = IP 头部长度(单位为字节)/ 长度单位(4 个字节)。因此,一个 IP 报头的长度最长为 “ 1111 ”,即 15 x 4 个字节 = 60 个字节。IP 报头最小长度为 20 字节。

Header Length Header Length 所代表的实际的 IP 报头长度 0101 20 字节 0110 24 字节 0111 28 字节 … … 1101 52 字节 1110 56 字节 1111 60 字节

**3、服务类型(Type of Service):**长度 8 bit 。8 位按位被如下定义:PPP DTRC0

**TOS只表示用户的请求,不具有强制性,实际应用中很少用,路由器通常忽略TOS字段。** PPP:(Precedence)前 3 位,定义包的优先级,取值越大数据越重要。优先级主要用于QoS,表示从0(普通级别)到7(网络控制分组)的优先级。 - 000 普通(Routine) - 001 优先的(Priority) - 010 立即的发送(Immediate) - 011 闪电式的(Flash) - 100 比闪电还闪电式的(Flash Override) - 101 CRI / TIC / ECP(找不到这个词的翻译) - 110 网间控制(Internetwork Control) - 111 网络控制(Network Control) DTRCO:后 5 位 - D (Delay更低的时延)时延:0:普通,1:延迟尽量小 - T (Throughput 更高的吞吐量)吞吐量:0:普通,1:流量尽量大 - R(Reliability更高的可靠性) 可靠性:0:普通,1:可靠性尽量大 - C (Cost 更低费用的路由)传输成本:0:普通,1:成本尽量小 - 0 最后一位被保留,恒定为 0

**4、IP 包总长度(Total Length):**长度 16 bit 。以字节为单位计算的 IP 包的长度(包括头部和数据),所以 IP 包最大长度 65 535 字节。所以,数据包有效载荷的大小 = IP 包总长度(Total Length)- IP 报头长度(Header Length)。

**5、标识符(Identifier):**长度 16 bit 。该字段和 Flags 和 Fragment Offest 字段联合使用,对较大的上层数据包进行分段(fragment)操作。路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分哪个包属于被拆分开的包的一部分。

**6、标记(Flags):**长度 3 bit 。

该字段第一位不使用。 第二位是 DF(Don’t Fragment)位,DF 位设为 1 时表明路由器不能对该上层数据包分段。如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。 第三位是 MF(More Fragments)位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的 IP 包的报头中将 MF 位设为 1 。

**7、片偏移(Fragment Offset):**长度 13 bit,以 8 个八位组为单位。表示该 IP 包在该组分片包中位置,接收端靠此来组装还原 IP 包。

**8、生存时间(TTL):**长度 8 bit,设计之初是以秒(s)为单位的,但实际以跳数为单位,建议的缺省值为 64 。当 IP 包进行传送时,先会对该字段赋予某个特定的值。当 IP 包经过每一个沿途的路由器的时候,每个沿途的路由器会将 IP 包的 TTL 值减少 1 。如果 TTL 减少为 0,则该 IP 包会被丢弃。这个字段可以防止由于路由环路而导致 IP 包在网络中不停被转发。

**9、协议(Protocol):**长度 8 bit 。标识了上层所使用的协议。以下是比较常用的协议号:1 ICMP;2 IGMP;6 TCP;17 UDP;88 IGRP;89 OSPF 。

**10、头部校验(Header Checksum):**长度 16 bit 。用来做 IP 头部的正确性检测,但不包含数据部分。 因为每个路由器要改变 TTL 的值,所以路由器会为每个通过的数据包重新计算这个值。

**11、起源和目标地址(Source and Destination Addresses):**这两个地址都是 32 bit 。标识了这个 IP 包的起源和目标地址。要注意除非使用 NAT,否则整个传输的过程中,这两个地址不会改变。

**12、可选项(Options):**这是一个可变长的字段。该字段属于可选项,主要用于测试,由起源设备根据需要改写。可选项目包含以下内容:

**松散源路由(Loose source routing):**给出一连串路由器接口的 IP 地址。IP 包必须沿着这些 IP 地址传送,但是允许在相继的两个 IP 地址之间跳过多个路由器。 **严格源路由(Strict source routing):**给出一连串路由器接口的 IP 地址。IP 包必须沿着这些 IP 地址传送,如果下一跳不在 IP 地址表中则表示发生错误。 **路由记录(Record route):**当 IP 包离开每个路由器的时候记录路由器的出站接口的 IP 地址。 **时间戳(Timestamps):**当 IP 包离开每个路由器的时候记录时间。 **填充(Padding):**因为 IP 报头长度(Header Length)部分的单位为 32 bit,所以 IP 报头的长度必须为 32 bit 的整数倍。因此,在可选项后面,IP 协议会填充若干个 0,以达到 32 bit 的整数倍。 字段 长度 含义 版本 4比特 IP协议的版本号,分为IPv4和IPv6协议。 首部长度 4比特 IPv4的首部长度。 区分服务 8比特 用来获得更好的服务。只有在使用区分服务时,这个字段才起作用。 总长度 16比特 指首部和数据之和的长度。 标识 16比特 IPv4软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。 标志 3比特 目前只有两位有意义。最低位为1表示后面“还有分片”的数据报,为0表示这已经是最后一个数据片;中间一位为1表示“不能分片”,为0才允许分片。 片位移 13比特 指出较长的分组在分片后,该片在原分组中的相对位置。 生存时间TTL(Time To Live) 8比特 表示数据报在网络中的寿命,功能是“跳数限制”。 协议 8比特 指出此数据报携带的数据是使用何种协议。 首部检验和 16比特 数据报每经过一个设备,设备都要重新计算一下首部检验和,若首部未发生变化,则此结果必为0,于是就保留这个数据报。这个字段只检验数据报的首部,但不包括数据部分。 源地址 32比特 报文发送方的IPv4地址。 目的地址 32比特 报文接收方的IPv4地址。 选项字段 0~40字节(长度可变) 用来支持排错、测量以及安全等措施。在必要的时候插入值为0的填充字节。 数据部分 可变 用来填充报文。 UDP



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3