子网划分的两个网段有包含关系时,两个网段之间访问数据流量的走向

目录

拓扑搭建与问题

相关配置

查看各个设备的ARP缓存表

PC1访问PC2与抓包情况

再次查看各个设备的ARP缓存表

用tracert 命令追踪路径

知识点补充


拓扑搭建与问题

如下面拓扑图1-1所示,PC1的IP为192.168.30.130/24,PC2的IP为192.168.30.3/27,两台PC机的网关都在路由器AR1上,网关为192.168.30.230/24。PC1能不能ping通PC2 ?抓包分析。

图1-1

相关配置

PC1:IP地址为192.168.30.130/24,GW:192.168.30.230。

PC2:IP地址为192.168.30.3/27,   GW:192.168.30.230。

交换机LSW1:

[Huawei]system-view
[Huawei]sys LSW1
[LSW1]

路由器AR1:

<Huawei>system-view  
[Huawei]sysname AR1 
[AR1]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]ip address 192.168.30.230 24

查看各个设备的ARP缓存表

先查设备的ARP缓存表 ?与后面再次查看有对比。

PC1要访问PC2,数据要发送出去,必须要知道PC2的IP地址,但仅有IP地址是不行的,因为数据报文必须封装成帧才能通过数据链路层进行发送,而数据帧必须要包含目的MAC地址,所以PC1还要获取到PC2的MAC地址才行。MAC地址通过ARP协议来获取。

[AR1]display arp
IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE        INTERFACE   VPN-INSTANCE 
                                          VLAN/CEVLAN PVC                      
------------------------------------------------------------------------------
192.168.30.230  00e0-fcb6-457c            I -         GE0/0/1
------------------------------------------------------------------------------
Total:1         Dynamic:0       Static:0     Interface:1    
[AR1]

 [LSW1]display arp
IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE INTERFACE      VPN-INSTANCE      
                                          VLAN 
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Total:0         Dynamic:0       Static:0     Interface:0    
[LSW1]

两台PC机用arp -a命令查看ARP缓存表都是空。

PC>arp -a

Internet Address    Physical Address    Type

PC>

设备的ARP缓存表都是空的,因为还没有数据流。

PC1访问PC2与抓包情况

PC1使用ping 192.168.30.3命令访问PC2时,事先准备在交换机LSW1的接口Ethernet 0/0/1、Ethernet 0/0/2跟路由器AR1接口gigabitethernet 0/0/1上抓包查看。

1、PC1访问PC2,如图1-2所示。

图1-2

 2、查看交换机LSW1的Ethernet 0/0/1抓包情况,如图1-3所示。

图1-3

 3、查看交换机LSW1的Ethernet 0/0/2抓包情况,如图1-4所示。

 图1-4

4、查看网关路由器AR1的gigabitethernet  0/0/1抓包情况,如图1-5所示。

图1-5 

抓包分析:图1-3、图1-4与图1-5中的数字与下面分析点对应。

1、PC1访问PC2时,先根据自己的子网掩码长度知道目的(PC2)IP地址与自己是同一个网段。当PC1要将数据包发送到目的PC2时,会检查自己的ARP缓存表中是否存在PC2的IP地址对应的MAC地址,PC1检查到自身ARP缓存表是空的(前面有查看arp缓存表的操作),不存在PC2的MAC地址。所以PC1会发送ARP request来获取目的MAC地址。由于PC1不知道PC2的MAC地址,所以目的MAC地址为广播地址FF-FF-FF-FF-FF-FF。该ARP request报文会通过交换机LSW1广播出去,在该网络上主机PC2跟网关路由器AR1都会收到该报文,查看交换机的Ethernet0/0/2跟AR1接口1抓包情况,都会看到该报文,网关AR1会阻止该报文发送到其它网络上

2、网关AR1接收到PC1的ARP request报文,检查到该报文的目的地址与自己的IP地址不一样,会忽略该报文。

3、PC2接收到PC1的ARP request报文之后,检查到该报文的目的地址是与自己的IP地址一样的,则PC2先将该报文中的源MAC地址和源IP地址记录到自己的ARP缓存表中,然后回复一个ARP Reply报文,因为已经知道PC1的MAC地址了,所以该报文是单播发送的。

4、PC1收到PC2的ARP Reply报文后,检查到该ARP报文中的目的MAC地址与自己的MAC地址一样,将该源MAC地址和源IP地址记录到自己的ARP缓存表中。再次重新封装数据帧通过二层直接向PC2发送ICMP  request 报文。

5、PC2收到PC1的ICMP request 报文,根据自己的子网掩码长度知道源(PC1)IP地址与自己不在同一个网段。会在自己的ARP缓存表中查找自己网关的MAC地址,发现没有网关的MAC地址,就会发送ARP request报文广播出去,在交换机Ethernet0/0/1跟网关AR1的接口1上都会收到该报文。

6、PC1接收到PC2的ARP request报文后,检查到该报文的目的地址与自己的IP地址不一样,忽略该报文。

7、网关AR1接收到PC2的ARP request报文后,检查到该报文的目的地址与自己的IP地址一样的,会先将该报文中的源MAC地址和源IP地址记录到自己的ARP缓存表中,然后回复一个ARP Reply报文。

8、PC1没有收到ICMP reply 应答包,会继续发送ICMP request 请求包,所以一开始会丢包。

9、PC2接收到网关AR1回复的ARP Reply应答包后,检查到该ARP报文中的目的IP地址与自己的IP地址一样,将该源MAC地址和源IP地址记录到自己的ARP缓存表中。这时PC2再次接收到PC1的ICMP request 请求包,PC2重新封装数据帧,源MAC地址为网关的MAC地址(要通过网关才能与PC2通信),回复发送ICMP reply到达网关。

10、网关AR1接收到PC2回复PC1的ICMP reply报文时(TTL为128),读取目的IP地址的网络部分,然后在路由表上查看,发现该报文目的IP地址是直连网段,查找自己的ARP缓存表,发现没有该ICMP reply报文中的目的IP地址(PC1)相对应的MAC地址,网关AR1发送ARP request报文 ,该报文通过交换机广播在整个网络中。

11、PC1接收到来自网关AR1的ARP request报文,检查到该报文的目的地址是与自己的IP地址一样的,单播一个ARP Reply应答包给网关AR1。

12、PC2接收到来自网关AR1的ARP request报文,检查到该报文的目的地址与自己的IP地址不一样,会忽略该报文。

13、网关AR1接收到PC1的ARP reply应答包后,检查到该报文的目的地址是与自己的IP地址一样的,首先将该报文中的源MAC地址和源IP地址记录到自己的ARP缓存表中。

14、PC1收不到ICMP reply 报文,会再次向PC2发送ICMP request报文,PC1认为自己与PC2是同网段的,直接通过二层转发给PC2,而PC2觉得自己与PC1不在同一个网段,所以会先找网关。PC2通过网关AR1回复PC1的ICMP request报文,封装数据帧时,目的MAC地址是网关的MAC地址,而不是PC1的MAC地址,源MAC地址是PC2的。

15、网关AR1接收到PC2去往PC1的ICMP replay报文数据流量(TTL值为128),网关会将源MAC地址由PC2的MAC地址换成网关AR1的MAC地址,目的MAC地址是PC1,重新封装数据帧,然后发送给PC1(TTL值为127)。PC2之后回复PC1的报文都会先发送给网关AR1,由网关AR1做三层转发。

再次查看各个设备的ARP缓存表

<AR1>display arp
IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE        INTERFACE   VPN-INSTANCE 
                                          VLAN/CEVLAN PVC                      
------------------------------------------------------------------------------
192.168.30.230  00e0-fcb6-457c            I -         GE0/0/1
192.168.30.3    5489-9822-20ca  1         D-0         GE0/0/1
192.168.30.130  5489-982c-091c  1         D-0         GE0/0/1
------------------------------------------------------------------------------
Total:3         Dynamic:2       Static:0     Interface:1    
<AR1>

交换机的ARP缓存表是空,为什么?

因为交换机LSW1在该实验中只是做透明转发,自己没有做ARP解析,只是转发其它设备的ARP,所以它的ARP缓存表是空的。

PC1>arp -a

Internet Address    Physical Address    Type
192.168.30.3        54-89-98-22-20-CA   dynamic

PC1>

PC2>arp -a

Internet Address    Physical Address    Type
192.168.30.130      54-89-98-2C-09-1C   dynamic
192.168.30.230      00-E0-FC-B6-45-7C   dynamic

PC2>

用tracert 命令追踪路径

PC1>tracert 192.168.30.3

traceroute to 192.168.30.3, 8 hops max
(ICMP), press Ctrl+C to stop
 1  192.168.30.3   63 ms  78 ms  63 ms

PC1>

PC2>tracert 192.168.30.130

traceroute to 192.168.30.130, 8 hops max
(ICMP), press Ctrl+C to stop
 1  192.168.30.230   62 ms  47 ms  47 ms
 2  192.168.30.130   78 ms  94 ms  94 ms

PC2>

PC1去往PC2是直接通过二层转发的,而流量回来是要经过网关AR1三层转发的。

知识点补充

Ethernet II 以太帧格式

DMACSMACTypeDataFcs

Type:类型,表示上层协议,0✖0800:IP协议;0✖0806:ARP协议。

上课做的笔记,有误请指教,勿喷。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值