IP数据报首部解析
一、IP数据报首部的格式,普通20字节。
- 4位版本号:当前4--IPv4。
- 4首部长度:首部长度
- 8位服务类型TOS: 3bits(优先权)+ 4bits(类型--最小延迟+最大吞吐量+最高可靠性+最小费用)+ 1bits(未用,置0)。大多数实现都不支持TOS设置。
二、不同应用建议的TOS值如下:
-
16位总长度:总长度-首部长度=》IP数据报数据起始位置及长度。16bits=2byte,最大数据报长度65535。当数据分片时,此字段变化。
-
16位标识字段:唯一的标识每一份主机发送的数据报,每发送一份,值就会加1。
-
8位生存时间(TTL):设置了数据包可以经过的最多路由数。数据包的生存时间,初始值由源主机设置(通常32或64),没经过一个处理的路由器减1,当值为0时丢弃,并发送ICMP报文回主机。
-
8位协议:表明数据属于哪一层,1--ICMP,2--IGMP,6--TCP,17--UDP等。
-
16为首部检验和:根据IP首部计算的检验和码。检验和置0,然后每16bits进行二进制反码求和。结果存于检验和中。接收方同样进行二进制反码求和。结果为1则正确。
-
32位源IP地址。
-
32位目的IP地址。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· 在 Windows 10 上实现免密码 SSH 登录
· C#中如何使用异步编程
· SQL Server 内存占用高分析及解决办法(超详细)
· ffmpeg简易播放器(1)--了解视频格式
· 20250116 支付宝出现重大事故 有感