路由器怎么处理ARP广播包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了路由器怎么处理ARP广播包相关的知识,希望对你有一定的参考价值。

像这样的拓扑:PC0-SW-ROUTER-PC1PC0要和PC1通信,刚开始PC0不知道PC1的MAC,因此SW发送ARP广播包,这个广播包也会发送到路由器--问题来了,路由器会怎样处理这个广播包,ARP广播包的格式是怎样的(目标MAC?目标IP?)。我大概知道最终pc0的arp表里面会有这样一个条目:pc1的IP<-->pc0的网关的MAC(路由器左边的接口)。请大家详细说下这个过程,谢谢啦

以PC0------SW---------ROUTER---------PC1这个网络结构为例:

1.PC0开始Ping PC1,因为是跨网段的通信,所以要先发ARP包请求网关的MAC地址,要拿到网关的MAC地址才能正确封装数据。这时ARP包里源ip地址为PC0的IP地址,源MAC地址为PC0的MAC地址,目标IP地址网关的地址,目标MAC地址为全F(也就是二层的广播地址)

2.当Sw收到PC0的ARP包,先学习,将PC1的MAC地址记录下来并和对应的接口绑定,形成CAM表,因为SW没有学习到关于PC0 的网关的任何表项,所以将此ARP包进行泛洪,包的内容并没有修改。

3.当ARP包到达了路由器,路由器先记录PC0的IP地址和对应的MAC地址,然后会响应这个ARP包,并作出回应,回应的这个ARP,源IP为路由器接口IP,源MAC为路由器接口MAC,目标IP为PC0的IP,目标MAC为PC0 的MAC。这个ARP回应发回给SW,Sw学习这个MAC地址,并记录到CAM表,然后转发给PC0。

4.这时 PC0已经有了网关的MAC地址,Ping包就可以正常发送 ,Ping包格式源IP是PC0的IP,源MAC为PC0的MAC,目标IP为PC1的IP,目标MAC为PC0的网关的MAC。

5.当PC0的Ping包到达路由器,路由器这时就要查看自己的路由表,发现有连接有PC1的这个网段,但是路由器没有PC1的MAC地址,无法将此包进行封装转发,封装失败,就将这个包丢弃。

6.路由器这时就从连接PC1网段的这个接口发送ARP包,源IP地址,连接PC1的接口IP地址,源MAC地址,连接PC1的接口MAC地址,目标IP地址,PC1的ip地址,目标MAC地址全F。

7.当PC1收到这个路由器发送的ARP包,进行相应,将自己的MAC地址返回给路由器。

8.路由器这个时候就获取了PC1的IP地址和对应的MAC地址。
参考技术A PC0发送广播给SW,这个时候SW记录PC0的MAC和接口,SW查看MAC表,没有找到对应的条目,继续转发广播包,到达路由器上,发现了与目的IP同网段的IP,这个时候广播转换成单播,丢给PC1~~应该是这样的吧 查看原帖>> 参考技术B PC0------SW---------ROUTER---------PC1假设是第一次通信,有路由器存在,跨网段的通信哦。1.PC0开始Ping PC1,因为是跨网段的通信,所以要先发ARP包请求网关的MAC地址,要拿到网关的MAC地址才能正确封装数据。这时ARP包(注意这里是ARP包,不是你的Ping包)里源ip地址为PC0的IP地址,源MAC地址为PC0的MAC地址,目标IP地址网关的地址,目标MAC地址为全F(也就是二层的广播地址)2.当Sw收到PC0的ARP包,先学习,将PC1的MAC地址记录下来并和对应的接口绑定,形成CAM表,因为SW没有学习到关于PC0 的网关的任何表项,所以将此ARP包进行泛洪,包的内容并没有修改。3.当ARP包到达了路由器,路由器先记录PC0的IP地址和对应的MAC地址,然后会响应这个ARP包,并作出回应,回应的这个ARP,源IP为路由器接口IP,源MAC为路由器接口MAC,目标IP为PC0的IP,目标MAC为PC0 的MAC。。这个ARP回应发回给SW,Sw学习这个MAC地址,并记录到CAM表,然后转发给PC0。4.这时 PC0已经有了网关的MAC地址,Ping包就可以正常发送 ,Ping包格式源IP是PC0的IP,源MAC为PC0的MAC,目标IP为PC1的IP,目标MAC为PC0的网关的MAC。5.当PC0的Ping包到达路由器,路由器这时就要查看自己的路由表,发现有连接有PC1的这个网段,但是路由器没有PC1的MAC地址,无法将此包进行封装转发,封装失败,就将这个包丢弃6.路由器这时就从连接PC1网段的这个接口发送ARP包,源IP地址,连接PC1的接口IP地址,源MAC地址,连接PC1的接口MAC地址,目标IP地址,PC1的ip地址,目标MAC地址全F。7.当PC1收到这个路由器发送的ARP包,进行相应,将自己的MAC地址返回给路由器。8.路由器这个时候就获取了PC1的IP地址和对应的MAC地址。当完成了以上的过程,交换机和路由器各个接口连接设备的MAC地址就全部知道了。当第二个Ping包过来的时候就可以正常的转发了。对于交换机的工作原理一定要弄清楚。对于交换机来说,它只能看到2层的东西,它并不能查看到IP地址,只有路由器可以查看IP头部。 查看原帖>>本回答被提问者采纳

以上是关于路由器怎么处理ARP广播包的主要内容,如果未能解决你的问题,请参考以下文章

ARP

ARP跨网段广播

在本机用wireshark在公司局域网内抓包,出现大量ARP数据包如图,能帮我找到是哪台机器中毒了吗

路由交换常见问答

路由能否做到ARP欺骗防御,抑制广播风暴,内网病毒防御?

ARP协议与路由