实验目的:

1、通过Wireshark抓取IP分组。

2、通过Wireshark分析IP分组并理解其工作原理。

实验拓扑:

实验原理:

1、IP简介:IP<Internet Protocol,互联网协议>,是TCP/IP协议栈中非常重要的协议,IP协议提供了面向无连接的不可靠传输的通信服务,除此之外,其提供的IP地址是目前互联网使用最广泛的寻址机制。

注:【IP协议】IP协议是在RFC文档791进行标准并发布的。IP协议为网络中的通信设备提供地址信息,提供尽力而为的传输服务。

【面向无连接】通信双方在传输数据之前没有建立任何连接会话。

【不可靠传输】通信双方采用尽力而为传输数据,数据丢弃没法进行重传。

实验步骤:

1、通过GNS3搭建实验拓扑,初始化两台设备,开启接口并配置IP地址,如下:

R1(config)#int f0/0

R1(config-if)#no shutdown

R1(config-if)#ip address 12.1.1.1 255.255.255.0


R2(config)#int f0/0

R2(config-if)#no shutdown

R2(config-if)#ip add 12.1.1.2 255.255.255.0

2、在GNS3上开启wireshark抓包,在R1和R2之间抓取IP数据包,并开始进行实时流量监控<步骤同上一个实验>此时wireshark对话框出现,如下:

3、在R1上Ping R2的地址,如下:

R1#ping 12.1.1.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 12.1.1.2, timeout is 2 seconds:

.!!!!

Success rate is 80 percent (4/5), round-trip min/avg/max =

32/38/44 ms

4、由于ICMP协议包基于IP协议,我们可以通过抓取ICMP分组,来获得IP头部信息,如下:

点击IP头部,得到如下分组视图=>

以下表格详细解读了IP头部的内容:

字段

解释

Version

版本号,标识IP协议的版本,目前V4版本地址已经枯竭,V6慢慢成为主流

Header length

头部长度,默认为20字节,最大为60字节

Differentiated Services Field

服务区分符,用于为不同的IP数据包定义不同的服务质量,一般应用在QoS技术中

Total Length

总长度,标识IP头部加上上层数据的数据包大小,IP包总长度最大为65535个字节

Identification

标识符,用来实现IP分片的重组

Flags

标志符,用来确认是否还有IP分片或是否能执行分片

Fragment offset

分片偏移量,用于标识IP分片的位置,实现IP分片的重组

Time to live

生存时间,标识IP数据包还能生存多久,根据操作系统不同,TTL默认值不同,每经过一个三层设备如路由器的处理,则TTL减去1,当TTL=0时,则此数据包被丢弃

Protocol

协议号,标识IP协议上层应用。当上层协议为ICMP时,协议号为1,TCP协议号为6,UDP的协议号为17

Header checksum

头部校验,用于检验IP数据包是否完整或被修改

Source

源IP地址,标识发送者IP地址,占用32bit

Destination

目的IP地址,标识接收者IP地址,占用32bit

 注:【QoS】Quality of Service,服务质量,用于实现流量控制的技术。

【IP分片】当上层数据太大的时候,便需要对数据包进行分片,分片的时候会对不同的分片打上相同的标识符和偏移量;接收方根据标识符和偏移量对IP分片进行重组。

5、通过wireshark除了可以看到具体的分组内容,还可以看到分组所占用的长度,如下:

(1)先将wireshark的分组长度选项【Packet Bytes】打开,如下:

此时可以看到wireshark的视图下面多了一个分组长度框,如下:

(2)点击不同的分组字段,便可以看到不同的分组长度,如下:

可以看到,IP地址占用的长度为32bit。此实验完成。