计算机网络协议,IPV4数据报分析
一、IP数据报结构分析
1.整体结构
一个IP数据报由首部和数据两部分组成。
首部的前一部分固定长20字节,这是所有IP数据报必须具有的;在首部的固定部分后面是一些可选字段,其长度是可变的。
IP数据报的整体格式如下:
![]()
其中首部又可拆分为以下格式:

2.逐项分析
==========================================================================
版本 ===> 4位;代表IP的版本,分为IPV4和IPV6
==========================================================================
首部长度 ===> 4位;单位为 4byte,即 32bit
若首部长度为 0101=5,则代表首部的固定长度为4 x 5 = 20(字节),即160(bit)
==========================================================================
区分服务 ===> 8位;旧版叫服务类型,一般不使用,只有在使用区分服务时才被使用
==========================================================================
总长度 ===> 16位;单位为 1byte,即 8bit
因此最大长度为 2^16 - 1 = 65535(byte)
==========================================================================
标识 ===> 16位;IP计数器。
每产生一个数据报就加1。但并不是序号。因为IP是无连接服务,只是在数据报超过MTU时必须分片。这样相同序号的分片就会重装成原来的数据
==========================================================================
标志 ===> 3位;
数据长度占3位,但目前仅2位有意义
MF = 1 代表后面还有分片
MF = 0 代表后面没有分片
DF = 1 代表不能分片
DF = 0 代表允许分片
==========================================================================
片偏移 ===> 13位;单位为 8 byte 即 64 bit
用来指出该分片在原数据报中的相对位置
==========================================================================
生存时间 ===> 8位;简称TTL。
最初TTL以秒为单位,即每经过一个路由器用了多少秒,TTL就减几,若不足1秒就减1;
后来TTL以跳数为单位。数据报每经过一个路由器TTL值就减1
==========================================================================
协议 ===> 8位;
用来指出该IP数据报携带何种协议数据报。目的IP主机通过该字段确定将该数据提交给哪个协议层处理
常见协议及其字段值如下:
| 数值 |
值描述 |
| 0 | 保留字段,用于IPv6(跳跃点到跳跃点选项) |
| 1 | Internet控制消息 (ICMP) |
| 2 | Internet组管理 (IGMP) |
| 3 | 网关到网关 (GGP) |
| 4 | 1P中的IP(封装) |
| 5 | 流 |
| 6 | 传输控制 (TCP) |
| 7 | CBT |
| 8 | 外部网关协议 (EGP) |
| 9 | 任何私有内部网关(Cisco在它的IGRP实现中使用) (IGP) |
| 10 | BBNRCC监视 |
| 11 | 网络语音协议 |
| 12 | PUP |
| 13 | ARGUS |
| 14 | EMCON |
| 15 | 网络诊断工具 |
| 16 | 混乱(Chaos) |
| 17 | 用户数据报文 (UDP) |
| 18 | 复用 |
| 19 | DCN测量子系统 |
| 20 | 主机监视 |
| 21 | 包无线测量 |
| 22 | XEROXNSIDP |
| 23 | Trunk-1 |
| 24 | Trunk-2 |
| 25 | leaf-1 |
| 26 | 1eaf-2 |
| 27 | 可靠的数据协议 |
| 28 | Internet可靠交易 |
| 29 | 1SO传输协议第四类 (TP4) |
| 30 | 大块数据传输协议 |
| 31 | MFE网络服务协议 |
| 32 | MERIT节点之间协议 |
| 33 | 序列交换协议 |
| 34 | 第三方连接协议 |
| 35 | 域之间策略路由协议 |
| 36 | XTP |
| 37 | 数据报文传递协议 |
| 38 | IDPR控制消息传输协议 |
| 39 | TP+ +传输协议 |
| 40 | IL传输协议 |
| 41 | 1Pv6 |
| 42 | 资源命令路由协议 |
| 43 | 1Pv6的路由报头 |
| 44 | 1Pv6的片报头 |
| 45 | 域之间路由协议 |
| 46 | 保留协议 |
| 47 | 通用路由封装 |
| 48 | 可移动主机路由协议 |
| 49 | BNA |
| 50 | 1Pv6封装安全有效负载 |
| 51 | 1Pv6验证报头 |
| 52 | 集成的网络层安全TUBA |
| 53 | 带加密的IP |
| 54 | NBMA地址解析协议 |
| 55 | IP可移动性 |
| 56 | 使用Kryptonet钥匙管理的传输层安全协议 |
| 57 | SKIP |
| 58 | 1Pv6的ICMP |
| 59 | 1Pv6的无下一个报头 |
| 60 | IPv6的信宿选项 |
| 61 | 任何主机内部协议 |
| 62 | CFTP |
| 63 | 任何本地网络 |
| 64 | SATNET和BackroomEXPAK |
| 65 | Kryptolan |
| 66 | MIT远程虚拟磁盘协议 |
| 67 | Internet Pluribus包核心 |
| 68 | 任何分布式文件系统 |
| 69 | SATNET监视 |
| 70 | VISA协议 |
| 71 | Internet包核心工具 |
| 72 | 计算机协议Network Executive |
| 73 | 计算机协议Heart Beat |
| 74 | Wang Span网络 |
| 75 | 包视频协议 |
| 76 | Backroom SATNET监视 |
| 77 | SUN ND PROTOCOL—临时 |
| 78 | WIDEBAND监视 |
| 79 | WIDEBAND EXPAK |
| 80 | ISO Internet协议 |
| 81 | VMTP |
| 82 | SECURE—VMTP(安全的VMTP) |
| 83 | VINES |
| 84 | TTP |
| 85 | NSFNET—IGP |
| 86 | 不同网关协议 |
| 87 | TCF |
| 88 | EIGRP |
| 89 | OSPF IGP |
| 90 | Sprite RPC协议 |
| 9] | Locus地址解析协议 |
| 92 | 多播传输协议 |
| 93 | AX.25帧 |
| 94 | IP内部的IP封装协议 |
| 95 | 可移动网络互连控制协议 |
| 96 | 旗语通讯安全协议 |
| 97 | IP中的以太封装 |
| 98 | 封装报头 |
| 99 | 任何私有加密方案 |
| 100 | GMTP |
| 101 | Ipsilon流量管理协议 |
| 102 | PNNI over IP |
| 103 | 协议独立多播 |
| 104 | ARIS |
| 105 | SCPS |
| 106 | QNX |
| 107 | 活动网络 |
| 108 | IP有效负载压缩协议 |
| 109 | Sitara网络协议 |
| 110 | Compaq对等协议 |
| 111 | IP中的IPX |
| 112 | 虚拟路由器冗余协议 |
| 113 | PGM可靠传输协议 |
| 114 | 任何0跳跃协议 |
| 115 | 第二层隧道协议 |
| 116 | D-II数据交换(DDX) |
| 117 | 交互式代理传输协议 |
| 118 | 日程计划传输协议 |
| 119 | SpectraLink无线协议 |
| 120 | UTI |
| 121 | 简单消息协议 |
| 122 | SM |
| 123 | 性能透明性协议 |
| 124 | ISIS over IPv4 |
| 125 | FIRE |
| 126 | Combat无线传输协议 |
| 127 | Combat无线用户数据报文 |
| 128 | SSCOPMCE |
| 129 | IPLT |
| 130 | 安全包防护 |
| 131 | IP中的私有IP封装 |
| 132 | 流控制传输协议 |
| 133~254 | 未分配 |
| 255 | 保留 |
==========================================================================
首部校验和 ===> 16位;
这个字段只检验数据报的首部,但不检验数据部分。数据报每经过一个路由器,路由器都要重新计算一下首部校验和
==========================================================================
源地址 ===> 数据报发送方
==========================================================================
目的地址 ===> 数据报接收方
==========================================================================
首部的可变部分 ===> 该字段长度可变(1字节到40字节)
可以用来排错、测量、以及安全等措施。中间不需要分隔符,最后用0填充字段,使其成为4字节的整数倍
==========================================================================

浙公网安备 33010602011771号