IP报头结构详解

news/2025/1/11 13:58:41/

IP报头结构如下图所示

在这里插入图片描述

下面具体分析IP包头中各部分的作用。

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

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

服务类型(Type of Service):长度8比特。8位 按位被如下定义 PPP D T R C 0
PPP:定义包的优先级
000 普通 (Routine)
001 优先的 (Priority)
010 立即的发送 (Immediate)
011 闪电式的 (Flash)
100 比闪电还闪电式的 (Flash Override)
101 CRI/TIC/ECP (不知道虾米意思)
110 网间控制 (Internetwork Control)
111 网络控制 (Network Control)

D 时延: 0:普通 1:尽量小
T 吞吐量: 0:普通 1:尽量大
R 可靠性: 0:普通 1:尽量大
M 传输成本: 0:普通 1:尽量小
0 最后一位被保留,恒定为0

IP包总长(Total Length):长度16比特。 以字节为单位计算的IP包的长度 (包括头部和数据),所以IP包最大长度65535字节。

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

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

片偏移(Fragment Offset):长度13比特。表示该IP包在该组分片包中位置,接收端靠此来组装还原IP包。

生存时间(TTL):长度8比特。当IP包进行传送时,先会对该字段赋予某个特定的值。当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。这个字段可以防止由于路由环路而导致IP包在网络中不停被转发。

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

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

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

至此,IP包头基本的20字节已介绍完毕,此后部分属于可选项,不是必须的部分。

可选项(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)部分的单位为32bit,所以IP包头的长度必须为32bit的整数倍。因此,在可选项后面,IP协议会填充若干个0,以达到32bit的整数倍。


http://www.ppmy.cn/news/297367.html

相关文章

IP地址和路由

IP地址和路由 IPv4地址 IP地址 IP地址是逻辑上的地址,可人为分配,具有可管理性 IP地址可唯一标识 IP 网络中的每台设备 每台主机(计算机、网络设备、外围设备)必须具有唯一的地址 IP地址由两部分组成 ①网络ID    标识网络 …

IP地址编址

文章目录 IP地址编制方式分类编址IP地址的分类: 划分子网无分类编址子网掩码 广播 IP地址的定义: ​ IP地址(IPv4地址)由32位正整数来表示。TCP/IP通信要求这样的IP地址分配给每一个参与通信的主机。IP地址在计算机内部以二进制方…

IP地址规划

IP地址规划 IP地址分类A类地址B类地址C类地址D类地址E类地址 私有IP地址特殊IP地址IP子网划分子网划分举例参考 IP地址分类 A类地址 A类地址第1字节为网络地址(最高位固定是0),另外3个字节为主机地址。 A类地址范围:1.0.0.0 - 12…

Nmap端口扫描指南之Idle Scan

TCP Idle Scan (-sI) 1998年,安全研究员Antirez(曾参与编辑nmap中有关hping2工具的相关文章)在Bugtraq邮件列表中发布了一篇关于新的端口扫描技术的文章。Idle Scan,也就慢慢的为众人所了解,它允许进行完全盲目的端口扫…

Floating IP

Neutron将关联DNAT功能的建模放在模型Floating IP中,我们摘取其中与DANT密切相关的字段,如下表: 表中字段所体现组网形式,如下图: Floating IP从模型的角度,只与Router关联(关联字段是router_id…

固定ip地址

在把皕杰报表部署到LINUX上时,我们有的时候需要自动获取ip来实现连接,但平时我们为了方便,可以把我们的ip改为固定的ip,这样访问的时候也会方便许多。 设置里面打开WLAN——>网络和共享中心——>更改适配器设置——>右键…

(四)tcp/ip之UDP协议

UDP协议在IP协议上增加了复用、分用和差错检测功能。UDP的特点: A)是无连接的。相比于TCP协议,UDP协议在传送数据前不需要建立连接,当然也就没有释放连接。 B)是尽最大努力交付的。也就是说UDP协议无法保证数据能够准确的交付到目的主机。也不…

用于一型糖尿病血糖调节的无模型iPID控制器

1、内容简介 略 482-可以交流、咨询、答疑 2、内容说明 摘要—目的设计使大量虚拟1型糖尿病(T1D)患者的空腹和餐后血糖能自动调节。 方法:采用无模型智能PID(iPID)注入胰岛素。iPID的可行性已在具有和不具有测量噪…