计算机网络协议,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字节的整数倍

==========================================================================

发布了304 篇原创文章 · 获赞 74 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/ITlanyue/article/details/104084137