[转]IP报头详解

 

原文地址:https://blog.51cto.com/lidongfeng/2066272

IPv4报头:

blob.png

报头长度:20-60字节bytes 

白色部分为固定头部部分(20 bytes),绿色option选项部分为可选部分。  

固定头部大小计算: 

4bit + 4bit + 8bit + 16bit +16bit + 3bit + 13bit + 8bit +8bit + 16bit + 32bit(源IP) + 32bit(目IP) = 160bit = 20byte  

所以IP头必须大于等于20byte,最大为60byte意味着Option选项部分取值范围0-40bits

 1、 VER(版本):用于区分不同IP版本。如IPv4、IPv5、IPv6,用4bit表示,IPV4=0100

 2、  HLEN(头部长度):因为头部长度不固定(Option可选部分不固定),所以需要标识该分

组的头部长度多少,用4bit表示,以4byte为单位,取值范围:5-15,即20-40byte(其他字段也是类似的计算方式,因为bit位是不够表示该字段的值) 

3、 Service type(Type of Service服务类型:TOS):用来指定特殊的报文处理方式,又划分为IP precedenc和D/T/R和reserve保留字段,RFC2474的ToS取消了IP precedence字段而使用了DSCP,QoS里有描述,给QoS用来打标签。TOS字段历史:

blob.png

4、 Total Length(总长度):整个IP分组的长度,可用总长度减去头部长度获得实际报文数据的长度,取值范围0-65535byte,链路只允许1500byte,所以一般都需要MTU分片 

5、 Identification(ID:标识符):Fragment ID,通常与标记字段和分片偏移字段一起用于IP报文的分片。

当原始报文大小超过MTU,那么就必须将原始数据进行分片。每个被分片的报文大小不得超过MTU,而这个字段还将在同一原始文件被分片的报文上打上相同的标记,一边接收设备可以识别出属于同一个报文的分片,“类似于进程号”,有时候电信会用他来识别流量是否是同一台主机(因为做了PAT后源ip都是一样的,鸡贼!)

blob.png

6、 Flags(标记):

 第1位没有被使用

 第2位D是不分片位(DF),Do not fragment,顾名思义,不要分片,当DF位设置为1时,表示路由器不能对报文进行分片处理

 第3位M表示还有后继分片(MF),More fragment,多分片,当路由器对报分进行分片时,除了最后一个分片的MF位设置为0外,其他所有分片的MF位均设置1,以便接收者直到收到MF位为0的分片为止

blob.png

7、 Fragmentation offset(分片偏移):标识某个分片在分组中的位置. 

数据为何要分片(MTU):任何一个物理网络都有一个最大的传输单元,物理介质传输的能力是有限制的,不可能一次可传无限的数据帧。 

以太网最大的帧长为1518, IP报文1500byte + 帧头18byte = 1518byte

blob.png

注意:Ethernet以太网跟802.3以太网有所区别,802.3是由IEEE指定的标准,比较复杂用的比较少,网卡一般两种都支持。

IP数据包的MTU值在各种物理线路环境下对应的MTU取值:(注意:不包含帧头和尾)

blob.png

8、 Time to live(TTL:生存时间):也就是跳数的大小,即数据包能传多少跳 

如ping命令里的TTL,根据操作系统的不同TTL默认最大取值也会有所不同, linxu为

TTL=255,win98为TTL=128,win7为TTL=64这都是由应用程序自由决定的。 

注意:TTL并不是一个真正时间值,因为分组的往返所花的时间(包括线路、路由器处理的时间),到底要设置TTL为多少是非常的困难的,所以用跳数来表示,而实际的往返时间计算保存在ICMP所封装的数据里。如下图的time=2ms才是真正的往返时间

blob.png

最后的接收者是不需要检查该包的TTL值是否为0,因为没再转发的必要。 

注意:该显示的TTL值是响应方的TTL值(响应方发送的响应包的TTL值,通过中间减跳后的最终显示在发送者终端上),而不是你自己的TTL值,所以通过ping看TTL值可以简单判断对方是什么操作系统 

9、 Protocol(协议):标识出传输层的地址或协议号,也就是说表示数据要进行什么样的上层服务,应该交给自己上一层的哪个协议(ICMP/IGMP/OSPF都介于网络层和传输层之间,但一般视作网络层,因为都需要用IP报头封装。所以1 代表交给ICMP,6代表交给TCP 

blob.png

10、Header checksum(报头校验和):用于校验检查IP报头是差错。 

    1)只校验头部,数据部分由高层协议校验(TCP头的校验字段包含IP头和数据的校验,IPSec的NAT-T穿越时有讲,链路层的帧校验包含整个帧) 

    2)无需重复校验数据部分 

    3)缩短了路由器转发分组时的处理时间,把工作交给终端主机使用高层的协议校验数据

blob.png

校验和计算方法: 

首先把检验和字段置为0。然后,对首部中每个16 bit(切割成多个16bit组)进行二进制反码求和(整个首部看成是由一串16 bit的字组成),结果存在检验和字段中。当收到一份IP数据报后,同样对首部中每个16 bit进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为全1。如果结果不是全1(即检验和错误),那么IP就丢弃收到的数据报。但是不生成差错报文,由上层去发现丢失的数据报并进行重传。 报头:1011011101111011 = 16bit 反码:0100100010000100 求和:1111111111111111 

11、source ip address:源IP地址,32bit 

12、Destination ip address:目的IP地址,32bit 

13、Option可选字段:Option字段很少使用,用于控制、转发要求、测试等

 

blob.png

转载于:https://www.cnblogs.com/tubujia/p/10900297.html

学习IPSec笔记总结(一)---------IPSec的基础知识 IPSecVPN(Internet Protocl Security):是一组基于网络层的,应用密码学的安全通信协议族。与TCP/IP协议簇一样,IPSec不是指具体的哪个协议,而是一个开放的协议簇。 IPSec协议的设计目标:是在IPV4和IPV6环境中为网络层流量提供灵活的安全服务(综合了密码技术,和协议安全机制) IPSec PVN:是基于IPSec协议簇构建的在IP层实现的数据安全虚... 阅读详情

相关推荐

ipsec mtu 问题

标准以太链路 MTU=1500;IPsec 隧道模式会新增外层 IP 头(20)+ ESP/AH 等开销,再叠加 NAT-T 等可能的 UDP 封装,总开销常达约 100 字节量级。为保证“封装后不超 1500”,实践中普遍将隧道接口 MTU 设为 1400,并将 TCP MSS 钳位到约 1350,这也是 Azure 等环境的推荐配置。

2401_89221445的博客 1036

IP报文头详解

IPv4报头: 报头长度:20-60字节bytes 白色部分为固定头部部分(20bytes),绿色option选项部分为可选部分。 固定头部大小计算: 4bit+4bit+8bit+16bit+16bit+3bit+13bit+8bit+8bit+16bit+32bit(源IP)+32bit(目IP)=160bit=20byte...

pastu_csdn的博客 2702

IP报头

IP协议是TCP/IP协议族中最为核心的协议。所有的TCP、IP、ICMP、IGMP数据都以IP协议数据报格式发送。IP协议提供无连接、不可靠的数据报传送服务。 不可靠:它不保证数据能成功地发送到目的地,IP协议仅提供最好地传输服务。如果发生某种错误,如路由器暂时用完缓冲区,IP协议的处理算法是:丢弃该数据报,然后发送ICMP消息给发送源(告诉发送源为什么丢弃).任何要求的可靠性都需...

qq_41727218的博客 5526

ipsec

ipsec *** 模式 隧道模式和传输模式 隧道模式:三层ip包头如下以此为 新ip包头 ipsec 包头 原始IP包头 数据 其中原始包头和数据是被保护部分,理论和GRE类似。但是此处导致IP包头长度增加。ipsec 32字节,i...

weixin_34270606的博客 667

IPV4报头详解

IPv4详解,首都长度IHL,标识位,标志位

命中注定成为一名网络工程师 6306

如何计算IP报头的checksum

如果你研究过TCP/IP协议,那么你肯定知道IP报头中的checksum字段,或许你还曾经为如何计算这个字段的值所困扰,本文我们将讨论checksum的概念,并详细介绍IP报头中的checksum是如何计算的。

whowin 2682

【IP协议】IP协议报头结构

IP协议的报头结构:4位版本、4位首部长度、8位服务类型、16位总长度、16位标识、3位标志、13位片偏移、8位生存时间、8位协议、16位首部校验和、32源 IP 地址、32位目的 IP 地址

Yeeear的博客 2万+

STM32F407单一定时器输出4路不同频率及占空比的PWM波

STM32F407单一定时器输出4路不同频率及占空比的PWM波

qq_43868701的博客 4916

IP报头结构详解

IP报头结构如下图所示 下面具体分析IP包头中各部分的作用。 版本号(Version):长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),0110(IPv6) IP包头长度(Header Length):长度4比特。这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。该部分占4个bit位,单位为32bit(4个字节),即本区域值= IP头部长度(单...

qq_43706943的博客 1万+

ncl泰勒图(均方根误差、标准差、相关系数)

ncl泰勒图(均方根误差、标准差、相关系数)

weixin_61281699的博客 8003

手把手教你用三菱PLC控制JET伺服原点:从硬件接线到GXWORKS3程序调试

本文详细介绍了如何使用三菱PLC控制JET伺服系统实现原点回归功能,涵盖硬件接线、参数配置到GX Works3程序调试的全流程。通过实战指南,帮助工程师快速掌握伺服控制技术,提升工业自动化项目的实施效率。

weixin_30642561的博客 534

ip报头,tcp报头,udp报头解析

ip报头结构 版本号(Version):标明了IP 协议的版本号,目前的协议版本号为4。下一代IP 协议的版本号为6。 ●报文长度:指 IP 包头部长度,占4 位。 ●8 位的服务类型:包括一个3 位的优先权字段(COS,Class of Service),4 位TOS 字段和1 位未用位。4 位TOS 分别代表最小时延、最大吞吐量、最高可靠性和最小费用。 ●总长度

HoweFan的博客 1万+

ChatGPT Plus完整开通指南:从账号注册到稳定使用全流程

自然语言处理(NLP)技术通过深度学习模型实现对人类语言的理解与生成,其核心原理是基于Transformer架构的大规模预训练。GPT-4作为当前最先进的生成式AI模型,在代码编写、文档分析等场景展现出显著的技术价值。在实际应用中,稳定的网络环境和合规的支付方式是确保AI助手持续服务的关键因素。针对ChatGPT Plus的开通,需要系统性地解决账号验证、虚拟信用卡支付等工程实践问题,才能实现工作流的高效整合。

weixin_34239592的博客 426

TCP报头组成以及IP报头组成

一次网络请求的全过程

weixin_43751710的博客 3761

WOL唤醒配置(以太网、PHY、MAC)

MAC 就是以太网控制器,属于OSI的数字链路层。phy 属于OSI的物理层(Physical layer),所以叫phy。CPU Mac与phy通信通过MII接口,数据的传输通过MDIO数据线。通过配置phy的相关寄存器实现不同的功能。

qq_58264156的博客 8629

AI驱动的CNC闭环加工系统:边缘实时控制与IIoT反馈实践

闭环控制是工业自动化的核心概念,指通过实时反馈调节系统输出以逼近目标值;其技术原理在于构建短于被控对象时间常数的确定性反馈链路,从而保障动态响应精度与稳定性。在智能制造落地中,AI正从离线分析工具演进为嵌入式实时决策单元,其核心价值在于将工艺知识模型化、控制指令轻量化、执行路径边缘化。典型应用场景包括CNC加工过程中的振动自适应调参、刀具磨损在线补偿及多机协同优化。本实践聚焦FANUC 0i-MF平台,基于Modbus TCP硬实时通信与轻量LSTM+CNN融合模型,实现217毫秒级AI推理与PMC寄存器直

weixin_29704001的博客 322

IP报头详解

IPv4的报头结构由多种字段组成,用于实现数据包的路由、分片、优先级处理等功能。它确保数据能够在网络中有效传输并处理异常情况。

weixin_74994990的博客 1224

【AI应用实战-WorkBuddy】WorkBuddy 能帮你做什么(一)

文章摘要: WorkBuddy是一款AI工作助手,专为提升效率而设计,适用于经常处理文档、代码、数据分析等重复性任务的职场人士。它能通过自然语言交互快速完成五大核心场景任务: 周报撰写:输入工作要点,10分钟生成专业周报; 代码调试:解析报错信息,3分钟提供解决方案; Excel分析:自动计算数据趋势并生成图表和结论; 自动化脚本:将重复流程转为脚本,节省98%时间; 文档生成:根据代码自动补充README、API文档和注释。 效果对比:传统手动操作耗时1-3小时的任务,WorkBuddy可将时间缩短至10

342

IP数据报报头详解

在IP网络中传输的单位称为IP数据包,它包括IP报头与更高层协议的相关数据。IP数据包的报头至少为20个字节,其中包括版本号,报头长度,服务类型,数据报总长度,标识,标志,片偏移,生存时间,协议和头部校验和,源,目的IP地址,先项。引入IP报头字段的目的是为网络实体提供互联机制,IP报头不仅带有数量可观的IP数据包信息,如源和目标IP地址,数据包内容等,而且还为网络实体提供了从源到目标之间传送数据

yehenhei的专栏 1万+

Qt c++ llama.cpp 运行 LLaMA-3-8B 中文对话机器人(多模态输入)

助手:

寒寒豆豆软件公司的博客 218

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

TCP/IP 报文格式(IP数据包、TCP报头、UDP报头)

TCP/IP 报文格式(IP数据包、TCP报头、UDP报头) 一、IP包格式 IP数据包,是一种可以变长的分组,由首部与数据负载组成。首部长度为20-60字节(Byte),后40字节是可选的,但长度不固定,前20字节格式为固定。数据负载部分的长度一般可变。 1、 版本 长度为4位,指IP协议的版本.通信双方使用的IP协议版本必须一致。目前广泛使用的 IP协议版本号为 4 (即 IPv4)。IPv...

站在远方看童年的博客 4万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

报头(详解)

报头详解 IPV4报头详解 IPV4报头共有六行,每一行32bit、4字节,报头长度为20-60字节; 前五行为固定头部部分,共20字节; 最后一行为可选部分,取值范围为0-40bits,一般为空

QJueo的博客 8683

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ip头部多少字节_最详细的的IP报头注释

一----IP简介1---IP地址简介:Internet Protocol Address-IP网际协议地址,常读写为IP,有IPV4,IPV6(现在的主流依然是IP v4) 所有的IP地址都由国际组织NIC(Network Information Center)负责统一分配,目前全世界共有三个这样的网络信息中心。2---IP地址的组成: (1)---长度:32bit(也说32位,4字节=4B=3...

weixin_42480540的博客 1万+

【网络】UDP报头、TCP报头、IP报头、MAC头部、ARP头部

UDP报头由八个字节组成,每个字段都是两个字节: 1.源端口号:发送方端口号,需要对方回信的时候选用,不需要对方回信的时候置0 2.目的端口号:接收方端口号,在终点交付报文时需要用到 3.长度:UDP用户数据报的长度,最小值是8(仅有首部) 4.校验和:检测UDP用户数据报在传输中是否有错,有错就丢弃

crr411422的博客 4782
上一篇: [转]quartus自动添加altshift_taps
下一篇: [转]Wireshark 分析ping报文
ddk43521
博客等级 码龄12年 26粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值