IP报文分析(IPV4)
来源:互联网 发布:数据交换共享 编辑:程序博客网 时间:2024/06/06 21:40
IPV4数据包的整体结构如下图1:
图1
IP报文结构如下图2:
图2
报文详细介绍如下:
1. 4位版本号,对ipv4来说,版本号为4。
2. 4位首部长度,首部长度单位是32位,即4字节,首部长度标识IP头部有多少个4字节,所以IP头部长度的范围是0-15*4字节。
3. 8位的区分服务,包括一个三位的优先权字段(现在已经被忽略),4位的服务类型(TOS)字段和一个保留字段(必须置0)。4位TOS字段分别表示:最小时延,最大吞吐量,最高可靠性和最小费用。其中最多只有一个能置一,应用程序应该根据实际需要来设置它。
4. 16位的IP数据报总长度,以字节为单位,因此IP数据报的最大长度为65535字节。
5. 16位的标识位,唯一的标识主机发送的每一个数据报。
6. 3位标志位:三位标志位的第一位保留;第二位表示禁止分片(DF),如果这一位为一,那么这个IP数据报不会被分片。此时如果IP数据报长度超过MTU限制,IP模块将丢弃该报文并返回一个ICMP差错报文。第三位表示更多分片(MF),除了数据报的最后一个分片外,其他分片都要把它置一。
7. 13位片偏移:是分片相对原始IP数据报开始处的偏移。
8. 8位生存时间:是数据报到达目的地之前允许经过的路由器跳数。
9. 8位协议:用来区分上层协议。
10. 16位头部校验和:用来检验IP数据报头部在传输过程中是否损坏。
11. 32位源端IP地址和目的端IP地址用来标识数据报的发送端和接收端,他们是不变的。
12. 最后一个字段是可选字段,里面包含了记录路由、时间戳、松散源路由选择和严格源路由选择。
阅读全文
0 0
- IP报文分析(IPV4)
- 正则表达式IP(IPV4)
- 【Linux4.1.12源码分析】二层报文发送之报文GSO分段(IP层)
- IPv4报文格式
- libpcap报文解析: ipv4、ipv6(待优化)
- 在PIM(IPv4)协议报文默认的CPCAR值
- IP报文的截取与分析
- TCP/IP详解--ICMP报文分析
- IP报文格式和实例分析
- 抓包分析IP报文结构
- linux IPv4报文处理浅析
- Linux IPv4报文处理浅析
- 【Linux4.1.12源码分析】协议栈报文接收之IP层处理分析(ip_local_deliver)
- 【Linux4.1.12源码分析】协议栈报文接收之IP层处理分析(ip_forward)
- [CCNA笔记_1]IP地址(IPV4)
- IP报文
- ip报文
- 什么是IP/IPv4/IPv6
- 2-1 计算摄氏温度
- java中三种常见内存溢出错误的处理方法
- 171128之项目问题整理
- Python机器学习库sklearn KFold交叉验证分组情况样本
- python3和python2的区别
- IP报文分析(IPV4)
- leetcode 315. Count of Smaller Numbers After Self
- mongoDB3.4(一)单个节点centos下 yum安装
- C++学习笔记--函数对象
- 徐登沿的第十四个程序(利用静态变量计算n的阶乘)
- Java线程
- 第十三周【项目2
- 数据库存储过程和函数
- 在 JavaScript 中为什么 typeof null 的结果是 object?为什么呢?