IP协议实验

发布时间 2024-01-03 11:27:40作者: 奶茶加盐

一、转发IP分组的过程

实验模型:

image-20231106083615291

从PC1到PC2的过程中,那些会发生改变?

1.IP数据不会发生改变。(TTL除外)

2.数据链路层的帧会发生变化。源、目的MAC地址会变,数据帧的格式也可能会改变。

1.产生数据

仿真模式下,PC1 ping PC2

image-20231106084142933

PC1发出的原始数据:
image-20231106085601741

PC1发出的数据与PC2收到的数据对比:

IP层的数据没有发生变化,除了TTL(经过两个路由器,所以减2)。

数据链路层的数据发生了变化,源MAC和目的MAC都变了。

image-20231106091237353

2.PC1到R1

但在PC1到R1的过程中,源MAC始终为PC1,目的MAC始终为R1的f1/0接口(也就是PC1的网关)。

image-20231106093113559

当数据帧经过路由器后,源和目的MAC地址将会发生改变,但IP层的数据仍然不会变。

3.R2到PC2

R2到PC2时,路由器对MAC帧重新封装,MAC帧中的目的MAC为PC2的MAC地址(PC2的地址可从ARP缓存中查到),源MAC为封装点的MAC(也就是R2的f1/0接口)。

同样的,数据帧在局域网中传输时也源和目的MAC也不会发生改变。(如果划分了VLAN,帧的格式可能会发生改变)

目的MAC始终为PC2,源MAC始终为R2的f1/0接口。

image-20231106095401201

二、路由表的建立(RIP、OSPF)

实验模型:

image-20231106185900452

1、查看路由器的路由表

在全局模式下,使用show ip route命令查看路由表

image-20231106185831929

路由表中各项的含义:以R1为例

image-20231106190924276

从路由表中可以看出,R1连接有两个直连网络,192.168.1.0/24和192.168.3.0/24,分别对应接口f1/0和se2/0。

R1要到达192.168.2/24这个网络,则需要通过下一跳(192.168.3.2也就是R2的se2/0接口)才能到达。

2、阻塞R1的se2/0接口,查看路由表的变化

进入se2/0接口,使用shutdown命令关闭该端口。

image-20231106230713576

关闭端口后查看路由表:

image-20231106231352901

image-20231106231432757

使用no shutdown命令打开接口:

image-20231106231651571

重新打开端口后的路由表:

image-20231106232435953

image-20231106232441151

3、关闭接口后,在仿真模式下打开端口,查看路由表建立的过程

打开接口后,路由器产生了RIPv2的数据,如下图。

其中IP数据包中的目的IP为224.0.0.9,这是一个组播地址,由网络中开启RIP的路由器组成。

image-20231107200605083

查看R1产生的数据:

se2/0接口打开后,该端口上发送应该RIP请求报文,要求其他路由器发送完整路由表。

image-20231107203543422

R1上产生的应答:

image-20231107204352715

image-20231107204335279

R2产生的三个数据也与R1类似。

查看路由表的建立过程

观察RIP数据包发送过程中R1路由表的变化情况:

image-20231107211347569

R2的路由表建立过程与R1类似:

image-20231107211703940

观察RIP路由表的变化

步骤:

1、仿真模式下,关闭R2的f1/0接口。

2、端口关闭后,R2会产生一个RIP报文,告知f1/0接口连接的网络不可达。

3、R1收到RIP报文后,进行跟新自己的路由表,将那个网络标记为不可达。

4、观察R2路由表跟新前后路由表的变化。

OSPF协议

问题:

1、OSPF类型4(更新)为什么不传给主机方向?

答:洪泛法,只和相邻的路由器更新。

步骤:

1、查看R1的路由表。然后关闭R2的fa0/0接口,查看R1路由表变化。

2、重新打开fa/0接口,查看R1路由表的变化。

端口关闭或打开时,R2都会立即发送应该OSPF包(洪泛法),以告知全网路由状态发生了变化。