ARP的工作过程(同网段和跨网段时ARP分别都如何工作的,以及二层和三层设备的MAC地址表,ARP表和路由表)

  • 同网段通信:    
  1. 将源IP和目标IP与掩码相与,判断是否在同一个网段(本案例中属于同网段,不需要默认网关的参与)
  2. 主机先查看自己的ARP表,如果有对应的ARP条目,则会利用表中MAC地址,直接对IP数据包进行封装,并将数据包转发给目标主机,若没有查找的相应的ARP表项,那么就会进行以下步骤
  3. 主机A发送ARP Request广播报文,源MAC为自身的MAC,目的MAC为全F的广播MAC。Target IP为目的IP,Target MAC为全0的MAC。
  4. 主机B收到ARP Request 报文,发现Target IP是自己接口的IP,会发送一个ARP Reply 报文,并通过ARP Request报文中的sender IP和sender MAC来更新自己的ARP表项。
  5. 主机A收到ARP Reply 报文发现Target IP是自己的接口IP并且自身ARP缓存表中存在相应的ARP请求信息,并通过ARP Reply报文中的sender IP和sender MAC来更新自己的ARP表,同时将数据包进行二层封装后发送出去。
  • 跨网段通信:(源目IP不变,源目MAC逐跳变, ARP帮助路由打通下一跳); 实验看看如果主机不配网关可否在同网段以及不同网段通信?
  • 主机A先将主机B的IP和自身与一下,发现网段不同,主机A就知道了需要先把包先发到网关,但是这时只有网关的IP地址没有网关mac地址,这时需要通过ARP先查询网关的MAC,主机A会先把数据包放到本地缓存中,然后发送ARP查询报文请求网关的mac地址;
  • 网关所在的路由器收到主机A的ARP Request后就知道了主机A的IP地址MAC地址和接口,会先把这些信息添加在本地的ARP表中(交换机本地有MAC地址表,路由器和PC等三层设备是ARP表,路由器特有的是路由表),然后再返回ARP Reply告知主机A网关的MAC地址;
  • 主机A收到了网关的MAC地址以后就会把缓存中的数据包调出来完成封装然后发给网关;
  • 路由器通过网关收到来自主机A发给主机B的数据包,检查目的IP地址,发现不是给自己的而是给主机B的,决定要进行路由,然后查询路由表,通过查询路由表发现主机B在另外一个网段,需要从另外一个端口发出,此时数据包的源目IP地址是主机A和主机B的,源目MAC地址需要变化, 源MAC会变成网关的,目的MAC需要是主机B的,此时路由器会查询本地ARP表去搜索主机B的IP对应的MAC,如果找到了直接封装并转发,如果找不到就会再次发起ARP Request从跟主机B同网段的端口泛洪转发出去获取主机B的MAC地址,主机B单播返回了ARP Reply以后路由器也会在本地的ARP表中记录主机B的信息,然后完成数据包的封装然后发出。
  • 此外需注意点:
  1. ARP请求以广播发送、以单播回应
  2. 路由器隔离广播。每一个网段都是独立的广播域
  3. 跨越网段通信需要使用网关的mac地址

MAC地址表:是交换机等网络设备记录MAC地址和端口的映射关系,代表了交换机从哪个端口学习到了某个MAC地址,交换机把这个信息记录下来,后续交换机需要转发数据的时候就可以根据报文的目的MAC地址去根据MAC地址表转发数据,

查看命令:sh mac address-table 

mac addr                     port               Type

45b1-f345-78a4         G0/1/0          dynamic

ARP表:ARP表就是路由器等网络设备记录IP地址和MAC地址对应关系的表项(如下图)。当我们需要转发数据的时候除了需要对方的目的IP地址,还需要知道对方的MAC地址,那么正常情况下我们优先会在本地ARP表中查看是否有目的IP对应的MAC地址。

查看命令:路由器上: sh arp, PC上: arp -a

IP Addr                 MAC Addr               port                 Type

192.168.2.2     45b1-f345-78a4         G0/1/0           dynamic

路由表:路由表就是路由器用于指导数据包如何转发的表项,记录了去往目的IP的下一跳去哪里,查看命令: sh ip route

目的 IP              协议             优先级      开销          下一跳                出接口

192.168.2.1      Static              60              0           192.168.1.1           G0/0

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
ARP协议(地址解析协议)是一种用于将IP地址转换为MAC地址的协议,其工作原理如下: 在相同网段上: 1. 当主机A需要与主机B通信,首先会检查本地ARP缓存ARP Cache)中是否已有主机B的MAC地址。 2. 若ARP缓存中不存在主机B的MAC地址,则主机A会向本地网络广播一个ARP请求包(ARP Request),请求该网络上所有主机返回其对应的MAC地址。 3. 当主机B收到ARP请求包,会向主机A回复一个ARP响应包(ARP Reply),包含其MAC地址。 4. 主机A收到ARP响应包后,将主机B的MAC地址存储到本地ARP缓存中,并使用该地址向主机B发送数据包。 在不同网段上: 1. 当主机A需要与主机B通信,首先会检查本地ARP缓存中是否已有主机B的MAC地址。 2. 若ARP缓存中不存在主机B的MAC地址,则主机A会查找其默认网关(Gateway)的MAC地址,通常是路由器的MAC地址。 3. 主机A向路由器发送数据包,并将目标MAC地址设置为路由器的MAC地址。 4. 路由器接收到数据包后,将其转发到目标主机B所在的网络,并向主机B发送ARP请求包,请求其MAC地址。 5. 主机B收到ARP请求包后,向路由器回复一个ARP响应包,包含其MAC地址。 6. 路由器收到ARP响应包后,将其转发给主机A,并将主机B的MAC地址存储到本地ARP缓存中。 7. 主机A收到数据包后,会将主机B的MAC地址存储到本地ARP缓存中,并使用该地址向主机B发送数据包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李拜天84

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值