学习笔记:网络协议之ARP协议

2020-12-16  本文已影响0人  大力papa

本文仅供学习交流使用,侵权必删。
不作商业用途,转载请注明出处

ARP(Address Resolution Protocol),地址解析协议。是通过IP地址获取MAC地址的一个协议。源主机将包含了目标IP地址的ARP请求通过广播的方式发送给局域网中所有主机,让目标IP主机以一个带有MAC地址的ARP应答给源主机,以保证源主机能确定目标主机的MAC地址。
为了避免ARP请求造成频繁地网络通信。每台主机都会在本地维护一张ARP缓存MAC地址。

ARP同网段工作流程

  1. 首先源主机A在本地的ARP缓存中查看是否有目标主机B的MAC地址。
  2. 如果没有找到目标主机B的MAC地址,那么将ARP请求广播到本地网络的所有主机上。本地网络的的主机接收到请求后会校验是否跟自己的IP地址匹配,如果不匹配就丢弃ARP请求。
  3. 如果目标主机B确定ARP请求中的IP地址跟自己的IP地址匹配,那么先将源主机A的IP地址和MAC地址缓存到本地ARP缓存中。然后目标主机B将包含自己MAC地址的ARP应答发送回源主机A
  4. 源主机A接收到ARP应答后,会先更新ARP缓存。然后再继续跟目标主机B发起IP通信。

ARP跨网段工作流程

上面的ARP工作流程只是在同一个网段的工作流程。跨网段的情况下,源主机会将数据包发送到网关,再通过网关转发出去,大概流程如下:

  1. 源主机A发送数据到目标主机B,目标主机B跟源主机A不在同一网段。源主机A会先通过ARP请求获取网关的MAC地址。
  2. 收到网关MAC地址后,源主机A封装的数据包,数据包中的源IP地址和源MAC地址是A的地址。目标IP就是目标主机B的IP地址,MAC地址是网关的地址。然后将数据包发送给网关
  3. 网关收到数据包后,MAC地址匹配到,然后再匹配IP地址。因为IP地址不是自己的。然后网关会查询路由表,找到相应网段对应的接口。然后查询没有目标主机B的MAC地址,然后网关发送ARP请求获取目标主机B的MAC地址。
  4. 获取到目标主机B的MAC地址后,网关将源主机A发送的数据包的源MAC地址改成自己的地址,目标MAC地址改成目标主机B的MAC地址,IP地址的信息保持不变。然后将包发送给目标主机B。
  5. 目标主机B收到数据包后拆开数据包,匹配到MAC地址和IP地址后处理数据包中的数据

总结

  1. ARP请求是以广播方式发出
  2. ARP应答以单播方式回应
  3. ARP只能请求到同一个网段中的MAC地址,ARP的数据包不能穿透网关。由此可得,ARP缓存表中只会缓存同一个网段里面的MAC地址

持续更新...

上一篇 下一篇

猜你喜欢

热点阅读