电子科技大学TCP/IP实验一——IP分组和ARP协议

目录

一.实验目的

二.预备知识

三.实验原理

四.实验内容

五.实验步骤

六、实验数据及结果分析

七、实验结论

八、总结及心得体会

九、对本实验过程及方法、手段的改进建议


一.实验目的

1、掌握 IP 子网划分技术、IP 地址分配原则,以及特殊 IP 地址的特征和作用

2、理解掌握直接交付与间接交付 IP 分组过程中的路由选择、ARP 解析和以太网封

装技术

3、分析子网划分对 IP 分组交付的影响

二.预备知识

1、IP 地址、MAC 地址、子网和掩码的概念

2、掩码运算:确定 IP 网络(或子网)及其范围

3、以太网原理和帧结构

三.实验原理

IP 子网中使用一个 32 比特的掩码来标识一个 IP 地址的网络/子网部分和主机部分。将 IP 地址和掩码进行“位与”运算后可以得到该 IP 地址所在 IP 子网的子网地址,结合 掩码中 0 比特个数可以确定该 IP 子网的 IP 地址空间范围。根据 IP 地址所在 IP 子网的子网地址及其掩码,可以判断这些 IP 地址是否属于同一个 IP 子网。IP 地址空间中定义了一些特殊地址:

l 网络/子网地址:标识一个 IP 网络或子网。

l 直接广播地址:表示该分组应由特定网络上的所有主机接收和处理。

l 受限广播地址:表示该分组应由源所在网络或子网上的所有主机接收和处理。

l 本网络上本主机地址:表示主机自己。

l 环回地址:用来测试机器的协议软件。

IP 分组被交付到最终目的地有两种不同的交付方式:直接交付和间接交付。交付时 首先通过路由选择技术确定交付方式:如果 IP 分组的目的与交付者在同一个 IP 网络上,就直接交付该分组至目的站点;如果 IP 分组的目的与交付者不在同一个 IP 网络上,就间接交付该分组至下一个路由器(即下一跳站点)。在以太网上,IP 分组是封装在以太帧中发送的,因此发送时除了要有接收站的 IP地址(IP 分组中的目的IP地址)外,还需要接收站的 MAC 地址(以太网帧中的目MAC 地址)。ARP 协议(RFC 826)实现了 IP 地址(逻辑地址)到 MAC 地址(物理地址)的动态映射,并将所获得的映射存放在 ARP 高速缓存表中。不同的交付方法将导致不同的 ARP 解析操作,获取不同的目的物理地址。直接交付时,交付者直接将 IP 分组交付给该分组的目的站点,因此交付者使用 ARP 协议找出 IP分组中目的 IP 地址对应的物理地址。间接交付时,交付者需要将 IP 分组交付给下一跳站点,而不是该 IP 分组的目的端,因此交付者使用 ARP 协议找出下一跳站点 IP 地址对应的物理地址。

IP 网络是一个逻辑网络,一个物理网络可以被逻辑划分成若干个 IP 网络。两个 IP网络之间的通信必须经由路由器中继,未经路由器互连的两个 IP 网络即使在同一物理网中也不能通信。主机的默认网关地址就是连接该主机所在 IP 网络的路由器接口的 IP 地址。

四.实验内容

五.实验步骤

实验步骤详见TCP//IP实验指导书。由于步骤过长,就在此不在赘述。

六、实验数据及结果分析

1.记录实验当中的PC1、PC2和PC3的网络连接。

PC1

PC2

PC3

步骤1

步骤3

IP地址

169.254.95.187

192.168.11.3

192.168.11.2

192.168.22.3

子网掩码

255.255.0.0

255.255.255.0

255.255.255.0

255.255.255.0

默认网关

-----

192.168.11.254

192.168.11.254

192.168.22.254

【分析】PC1 在步骤1和步骤3中是否与 PC2、PC3 在一个 IP 子网?为什么?

PC1在步骤1中与PC2、PC3不在一个子网内,二者的网络地址不一样

PC1在步骤3中与PC2处于同一子网,但与PC3不是处于同一子网,根据IP和子网掩码就可以判断。

2.记录实验中PC1的ping通信结果

步骤

目的主机

PING回应的消息

能否通信

1

PC2:192.168.11.2

Destination host unreachable

3

PC2:192.168.11.2

Reply from 192.168.11.2: bytes=32 time<1ms TTL=128

PC3:192.168.22.3

Destination host unreachable

4

0.0.0.0

Destination specified is invalid

255.255.255.255

Ping request could not find host 255.255.255.255.Please check the name and try again

192.168.11.0

Destination specified is invalid

192.168.11.255

Request timed out

127.0.0.0

Destination specified is invalid

127.0.0.1

Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

127.0.0.10

Reply from 127.0.0.10: bytes=32 time<1ms TTL=128

127.255.255.255

Request timed out

9

PC2:192.168.11.2

Reply from 192.168.11.2: bytes=32 time<1ms TTL=128

10

R2 F0/0:192.168.22.254

Reply from 192.168.22.254: bytes=32 time=77ms TTL=128

11

PC3:192.168.22.3

Reply from 192.168.22.3: bytes=32 time=90ms TTL=128

12

子网A:192.168.11.10

Request timed out

13

子网B:192.168.22.20

Request timed out

【分析】PC1 在什么情况下能与 PC2、PC3 通信?

当能够成功发送接收报文的时候就可以通信,就是可以ping成功

PC1与PC2、PC3在同一网络内或者有路由器连接后,能够ping通就可以通信。

3、记录实验中 PC1、PC2、PC3、R1 和 R2 的 ARP 缓存表项:

步骤 6:使用“show arp”命令查看 R1 和 R2 当前的 ARP 缓存表

IP地址

MAC地址

Interface

R1

192.168.11.254

cc00.20ec.0000

FastEthernet0/0

R2

192.168.22.254

cc01.20ec.0000

FastEthernet0/0

步骤 8:使用“arp –a”命令查看清空操作后 PC1~PC3 的 ARP 缓存表

IP地址

MAC地址

Interface

PC1

PC2

PC3

步骤 9:PC1 ping 192.168.11.2 后,R1、R2 和 PC1~PC3 的 ARP 缓存表

IP地址

MAC地址

Interface

R1

192.168.11.254

cc00.20ec.0000

FastEthernet0/0

R2

192.168.22.254

cc01.20ec.0000

FastEthernet0/0

PC1

192.168.11.2

00-0c-29-53-16-f6

192.168.11.3—0x2

PC2

192.168.11.3

00-0c-29-bb-d4-f3

192.168.11.2—0x2

PC3

步骤 10:PC1 ping 192.168.22.254 后,R1、R2 和 PC1~PC3 的 ARP 缓存表

IP地址

MAC地址

Interface

R1

192.168.11.3

192.168.11.254

000c.29bb.d4f3

cc00.20ec.0000

FastEthernet0/0

FastEthernet0/0

R2

192.168.22.254

cc01.20ec.0000

FastEthernet0/0

PC1

192.168.11.254

cc-00-20-ec-00-00

192.168.11.3—0x2

PC2

PC3

步骤 11:PC1 ping 192.168.22.3 后,R1、R2 和 PC1~PC3 的 ARP 缓存表

IP地址

MAC地址

Interface

R1

192.168.11.3

192.168.11.254

000c.29bb.d4f3

cc00.20ec.0000

FastEthernet0/0

FastEthernet0/0

R2

192.168.22.3

192.168.22.254

000c.294a.8f03

cc01.20ec.0000

FastEthernet0/0

FastEthernet0/0

PC1

192.168.11.254

cc-00-20-ec-00-00

192.168.11.3—0x2

PC2

PC3

192.168.22.254

cc-01-20-ec-00-00

192.168.22.3---0x20002

步骤 12:PC1 ping 192.168.11.10 后,PC1 的 ARP 缓存表

IP地址

MAC地址

Interface

PC1

步骤 13:PC1 ping 192.168.22.20 后,PC1 的 ARP 缓存表

IP地址

MAC地址

Interface

PC1

192.168.11.254

cc-00-20-ec-00-00

192.168.11.3—0x2

【分析】

1)每台 PC 的 ARP 缓存表中能否有其它 IP 子网中 PC 的地址映射?为什么?

不能,ARP地址广播请求只发生在此子网内(即此物理网络内),如果需要跨网,直接交付给路由器

2)在实验中 PC2 的 ARP 缓存表中能否会有其默认网关 192.168.11.254 的地址映射?为什么?

不能,在此次实验当中PC2没有向其他主机发送报文(别的子网内的主机或者网关),因此没有请求过网关的MAC地址。此外,PC1发送报文时,需要ARP广播请求默认网关MAC地址时,MAC地址ARP应答是单播,PC2不会接收。

3)如果步骤 11 中出现了某条 ARP 表项消失的情况,原因可能是什么?

ARP的cache缓存生存时间有限,等到设定时间,会自动消失。

4.记录步骤 9、步骤 10、步骤 11、步骤 12、步骤 13 中捕获的分组信息:

步骤9 :PC1 ping 192.168.11.2(PC2)

子网A

ARP请求

以太帧头

源地址

00-0c-29-bb-d4-f3

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

00-0c-29-bb-d4-f3

目标MAC

00-00-00-00-00-00

发方IP

192.168.11.3

目标IP

192.168.11.2

ARP应答

以太帧头

源地址

00-0c-29-53-16-f6

目的MAC

00-0c-29-bb-d4-f3

ARP分组

发方MAC

00-0c-29-53-16-f6

目标MAC

00-0c-29-bb-d4-f3

发方IP

192.168.11.2

目标IP

192.168.11.3

ICMP回送请求

以太帧头

源MAC

00-0c-29-bb-d4-f3

目的MAC

00-0c-29-53-16-f6

IP分组头

源IP

192.168.11.3

目的IP

192.168.11.2

ICMP回送应答

以太帧头

源MAC

00-0c-29-53-16-f6

目的MAC

00-0c-29-bb-d4-f3

IP分组头

源IP

192.168.11.2

目的IP

192.168.11.3

子网B

ARP请求

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ARP应答

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ICMP回送请求

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

ICMP回送应答

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

子网C

ICMP回送请求

PPP帧头

地址

IP分组头

源IP

目的IP

ICMP会送应答

PPP帧头

地址

IP分组头

源IP

目的IP

步骤10 :PC1 ping 192.168.22.254(R2的F0/0)

子网A

ARP请求

以太帧头

源地址

00-0c-29-bb-d4-f3

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

00-0c-29-bb-d4-f3

目标MAC

00-00-00-00-00-00

发方IP

192.168.11.3

目标IP

192.168.11.254

ARP应答

以太帧头

源地址

cc-00-20-ec-00-00

目的MAC

00-0c-29-bb-d4-f3

ARP分组

发方MAC

cc-00-20-ec-00-00

目标MAC

00-0c-29-bb-d4-f3

发方IP

192.168.11.254

目标IP

192.168.11.3

ICMP回送请求

以太帧头

源MAC

00-0c-29-bb-d4-f3

目的MAC

cc-00-20-ec-00-00

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.254

ICMP回送应答

以太帧头

源MAC

cc-00-20-ec-00-00

目的MAC

00-0c-29-bb-d4-f3

IP分组头

源IP

192.168.22.254

目的IP

192.168.11.3

子网B

ARP请求

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ARP应答

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ICMP回送请求

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

ICMP回送应答

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

子网C

ICMP回送请求

PPP帧头

地址

0xff

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.254

ICMP会送应答

PPP帧头

地址

0xff

IP分组头

源IP

192.168.22.254

目的IP

192.168.11.3

步骤11 :PC1 ping 192.168.22.3(PC3)

子网A

ARP请求

以太帧头

源地址

00-0c-29-bb-d4-f3

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

00-0c-29-bb-d4-f3

目标MAC

00-00-00-00-00-00

发方IP

192.168.11.3

目标IP

192.168.11.254

ARP应答

以太帧头

源地址

cc-00-20-ec-00-00

目的MAC

00-0c-29-bb-d4-f3

ARP分组

发方MAC

cc-00-20-ec-00-00

目标MAC

00-0c-29-bb-d4-f3

发方IP

192.168.11.254

目标IP

192.168.11.3

ICMP回送请求

以太帧头

源MAC

00-0c-29-bb-d4-f3

目的MAC

cc-00-20-ec-00-00

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.3

ICMP回送应答

以太帧头

源MAC

cc-00-20-ec-00-00

目的MAC

00-0c-29-bb-d4-f3

IP分组头

源IP

192.168.22.3

目的IP

192.168.11.3

子网B

ARP请求

以太帧头

源地址

cc-01-20-ec-00-00

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

cc-01-20-ec-00-00

目标MAC

00-00-00-00-00-00

发方IP

192.168.22.254

目标IP

192.168.22.3

ARP应答

以太帧头

源地址

00-0c-29-4a-8f-03

目的MAC

cc-01-20-ec-00-00

ARP分组

发方MAC

00-0c-29-4a-8f-03

目标MAC

cc-01-20-ec-00-00

发方IP

192.168.22.3

目标IP

192.168.22.254

ICMP回送请求

以太帧头

源MAC

cc-01-20-ec-00-00

目的MAC

00-0c-29-4a-8f-03

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.3

ICMP回送应答

以太帧头

源MAC

00-0c-29-4a-8f-03

目的MAC

cc-01-20-ec-00-00

IP分组头

源IP

192.168.22.3

目的IP

192.168.11.3

子网C

ICMP回送请求

PPP帧头

地址

0xff

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.3

ICMP会送应答

PPP帧头

地址

0xff

IP分组头

源IP

192.168.22.3

目的IP

192.168.11.3

步骤12 :PC1 ping 192.168.11.10(子网A内不存的主机)

子网A

ARP请求

以太帧头

源地址

00-0c-29-bb-d4-f3

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

00-0c-29-bb-d4-f3

目标MAC

00-00-00-00-00-00

发方IP

192.168.11.3

目标IP

192.168.11.10

ARP应答

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ICMP回送请求

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

ICMP回送应答

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

子网B

ARP请求

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ARP应答

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ICMP回送请求

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

ICMP回送应答

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

子网C

ICMP回送请求

PPP帧头

地址

IP分组头

源IP

目的IP

ICMP会送应答

PPP帧头

地址

IP分组头

源IP

目的IP

步骤13 :PC1 ping 192.168.22.20(子网B内不存在的主机)

子网A

ARP请求

以太帧头

源地址

00-0c-29-bb-d4-f3

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

00-0c-29-bb-d4-f3

目标MAC

00-00-00-00-00-00

发方IP

192.168.11.3

目标IP

192.168.11.254

ARP应答

以太帧头

源地址

cc-00-20-ec-00-00

目的MAC

00-0c-29-bb-d4-f3

ARP分组

发方MAC

cc-00-20-ec-00-00

目标MAC

00-0c-29-bb-d4-f3

发方IP

192.168.11.254

目标IP

192.168.11.3

ICMP回送请求

以太帧头

源MAC

00-0c-29-bb-d4-f3

目的MAC

cc-00-20-ec-00-00

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.20

ICMP回送应答

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

子网B

ARP请求

以太帧头

源地址

cc-01-20-ec-00-00

目的MAC

ff-ff-ff-ff-ff-ff

ARP分组

发方MAC

cc-01-20-ec-00-00

目标MAC

00-00-00-00-00-00

发方IP

192.168.22.254

目标IP

192.168.22.20

ARP应答

以太帧头

源地址

目的MAC

ARP分组

发方MAC

目标MAC

发方IP

目标IP

ICMP回送请求

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

ICMP回送应答

以太帧头

源MAC

目的MAC

IP分组头

源IP

目的IP

子网C

ICMP回送请求

PPP帧头

地址

0xff

IP分组头

源IP

192.168.11.3

目的IP

192.168.22.20

ICMP会送应答

PPP帧头

地址

IP分组头

源IP

目的IP

注意:以上PC1要经过路由器R1通信时,子网A内的通信如果实验时间足够短在cache地址映射表项响应目的IP存活时间之内的话,PC1就不需要进行ARP请求和应答了。由于本实验者实验时间较长,所以每一次PC1都会进行ARP请求网关地址。

【分析】

1)5 个步骤中是否在子网 A、B 和 C 中都有 ARP 分组?为什么?

否,本子网内的主机ping本子网内的其他主机,不会在其他子网内产生ARP报文。

2)5 个步骤中 PC1 是否每次都发出了封装着 ICMP 报文的 IP 分组?为什么?

否,在发送ARP请求报文后,没有收到ARP应答中下一跳的MAC地址的情况下,不会发出ICMP报文。

3)5 个步骤中 PC1 是否每次都收到了封装着 ICMP 报文的 IP 分组?为什么?

否,ICMP请求报文没有到达目的主机情况下PC1不会收到封装着 ICMP 报文的 IP 分组。

4)如果 PC1、PC2 和路由器 R1 之间采用以太网交换机连接,那么在步骤 9 中R1 能否捕获到 PC1 ping PC2 时产生的 ARP 请求分组、ARP 响应分组以ICMP 回送请求报文和 ICMP 回送应答报文?为什么?

ARP请求分组是可以的,ARP请求分组是广播,可以从交换机除入口端口外的其余端口发送出去,会到达路由器R1。

ARP响应、ICMP回送请求和ICMP回送应答不可以。因为这三个报文都是单播分组,由于以太网交换机的存在,路由器R1不会收到。

5)步骤 10 中路由器 R1 和 R2 在转发源为 PC1、目的为 PC3 的 IP 分组时,分别采用的是直接交付还是间接交付?为什么?

R1为间接交付,目的IP所在的网络不是R1的直连网络。

R2为直接交付,目的IP所在的网络是R2的直连网络。

七、实验结论

1、根据步骤 2 和 4,总结本实验中所有特殊 IP 地址的地址结构特征,以及它们在

通信中的使用情况。

This host on this network

地址结构特征:Netid和Hostid全为0。

通信中的使用情况:网络中0.0.0.0的IP地址表示整个网络,即网络中的所有主机。它的作用是帮助路由器发送路由表中无法查询的包。如果设置了全零网络的路由,路由表中无法查询的包都将送到全零网络的路由中去。

网络地址

地址结构特征:Hostid全为0

通信中的使用情况:表示此网络的地址,通常用做路由表项中的目的地址网络

直接广播地址

地址结构特征:Hostid全为1

通信中的使用情况:将一个分组发给特定网络中的所有主机,进行广播时使用。某些情况下,可以跨子网(不过要设定路由器)。

受限广播地址

地址结构特征:netid和hostid全为1。

通信中的使用情况:受限广播地址通常在配置主机的启动信息时使用,通常用于此主机不知道自己IP 的情况下的请求IP。 

环回地址

地址结构特征:127.x.x.x,其中最后一个x不能为0或者255,因为这样会构成特殊的地址

通信中的使用情况:作为本地环回地址,可以用于主机进程之间通信。

2、总结主机发送 IP 分组时的直接交付和间接交付操作过程,以及过程中 ARP 协议

和 ARP 缓存表的具体操作步骤。

直接交付和间接交付的操作流程图如下:

直接交付和间接交付的操作过程伪代码:

读取一条路由表项

if 分组目的IP&子网掩码==目的网络

if 路由表下一跳为NULL

直接交付(寻找分组IP对应的MAC地址:ARP)

else

if 路由表项存在

寻找下一条对应的IP,在寻找IP对应的MAC地址

else

直接丢弃分组

end

ARP协议的具体操作步骤:

ARP协议的工作的具体步骤:

文字描述为:

1.主机A查看自己的ARP缓存,查看是否存在下一跳IP对应的MAC地址,如果存在就直接进行交付

2.如果主机A 的ARP缓存表不存在下一跳IP 的地址映射,就进行ARP广播请求。

主机A收到ARP应答之后,会更新ARP缓存表,然后进行交付

ARP缓存表的具体操作步骤:

  1. 收到ARP应答之后,更新ARP缓存表项
  2. 每个表项到了生存周期会自动清除
  3. 收到同一IP 的映射,会更新为新的收到的映射。

3、总结当源和目的主机间跨越多个 IP 网络时,它们的 IP 分组在交付过程中源和目的 IP 地址的变化情况,以及封装该分组的数据帧的源和目的 MAC 地址的变化情况。

源和目的IP不变。

MAC地址会发生变化,具体变化是:每一跳进行时,MAC源地址是sender的MAC地址,MAC的目的地址是receiver的MAC地址。

八、总结及心得体会

1.在此次实验当中,学习了如何在虚拟机中配置IP和默认网关等,以及熟练了对VM下虚拟机的使用。

2.在实验当中,对于处于同一子网下Ping不同的问题,发现虚拟机的防火墙没有关闭,查阅相关资料加深了对于防火墙的作用的理解。

3.在实验过程中,要认真仔细,不要把步骤操作顺序搞反了。

九、对本实验过程及方法、手段的改进建议

1.建议可以增加一下对报文的分析,采用别的软件,不借助wireshark直接对报文进行分析,根据课上学习的相关协议报文的格式,对捕获的数据进行分析。

猜你喜欢

转载自blog.csdn.net/weixin_53284122/article/details/129220550