码迷,mamicode.com
首页 > 其他好文 > 详细

ARP、ICMP(报文交互过程)

时间:2020-03-10 23:35:51      阅读:1011      评论:0      收藏:0      [点我收藏+]

标签:转发   --   The   并且   自己   直连   arp协议   请求报文   mac地址   

观察ARP协议 和 ICMP协议

技术图片

ARP请求(request)报文 :主机请求网关的mac地址 下图是PC的Etherne 0/0/1 接口下抓的包
ps:最开始的时候主机会查看自己的arp缓存表 表里没有的时候 发送arp请求 这里注意:主机发送的ARP请求包里面的 发送者mac 是全0
技术图片

然后路由器收到之后会转发广播 这里注意:主机发送的ARP请求包里面的 发送者mac 是全F

技术图片

ARP应答(reply)报文:网关将自己的mac地址回复给主机 下图是PC的Etherne 0/0/1 接口下抓的包
技术图片

ICMP请求(request)报文 :主机请求网关的mac地址 下图是PC的Etherne 0/0/1 接口下抓的包

技术图片

ICMP请求(request)报文 :主机请求网关的mac地址 下图是PC的Etherne 0/0/1 接口下抓的包
技术图片

获得总结:
1、如果主机的源ip和目的ip不是同一个网段,又没有配置网关的情况下,主机不会发送arp请求报文(不会直接去发送请求目的ip的mac地址)
2、如果主机的源ip和目的ip是同一个网段,那么主机直接请求目的ip的mac地址
3、如果主机的源ip和目的ip不是同一个网段,配置了网关的情况下,主机会发送arp请求报文,去请求网关的mac地址

在192.168.0.1------192.168.3.1 通信的这个过程中
首先由PC2 发送arp请求 获取到192.168.0.2的mac (网关mac)
然后PC2封装ICMP 向AR1发送icmp请求包
PC2--------AR1 源mac:pc2主机的mac 目的mac:AR1 g0/0/1口的mac (网关mac)源ip:本身0.2 目的ip:3.1
AR1收到目的mac是自己的去掉链路层 看到目的ip:192.168.3.1 直连 下一条是192.168.1.2
AR1发送arp请求 获取192.168.1.2的mac地址
AR1--------AR2 源mac:AR1 g0/0/0口的mac 目的mac:AR2 g0/0/0的mac (是AR1查路由表之后,发出arp后获得的)0.2 目的ip:3.1
AR2--------AR1
AR2收到目的mac是自己的去掉链路层,目的ip 3.1 对应接口是loopback (在华为模拟器的mac地址表中没有192.168.3.1所对应的mac地址,但是eve思科的设备中有192.168.3.1和192.168.1.2的mac是相同的 out:专门整理一个关于loopback的)
AR1--------PC2
后面两个就是两个广播域之间查mac表 然后解封和重新封装的过程

ps:mac地址的作用只限制在一个广播域内
mac地址表的形成:会将arp报文中的源mac地址 和接收到此报文的接口做映射 形成mac条目 存入到自己的mac地址表中

前面废话太多可以忽略

仅供参考
技术图片

1、PC2 发送 arp请求获取网关mac(reques/reply) icmp封装后发送给AR1(reques)
2、AR2收到去掉二层,查看到目的ip不是自己的,查看路由表,发现有去往目的网段的路由,于是arp请求到下一跳ip对应的mac地址(reques/reply) icmp封装后发送给AR2(reques)
3、AR2收到去掉二层,查看到目的ip是自己本身的一个loopback口的ip,并且是ping包,于是进行回应icmp,并且有对应的mac条目,封装后发送给AR1(reply)
4、AR1收到去掉二层,查看到目的ip不是自己的,查看路由表,发现有去往目的网段的路由,并且有对应的mac条目,直接封装好发送给PC2

OK 结束
下面两个过程,可以简单看一下mac地址的变化

1、PC2----------AR1 下图是PC的Etherne 0/0/1 接口下抓的包

技术图片

技术图片

2、 AR1----------AR2 下图是AR1 的G 0/0/0 接口下抓的包

技术图片

技术图片

AR1的路由表 以及它的mac地址表
技术图片

技术图片

AR2的路由表 以及它的mac地址表

技术图片

技术图片

ARP、ICMP(报文交互过程)

标签:转发   --   The   并且   自己   直连   arp协议   请求报文   mac地址   

原文地址:https://blog.51cto.com/14437350/2476952

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!