ARP 协议

  • ARP 协议(地址解析协议 Address Resolution Protocol)
  • 作用是实现 IP 地址到 MAC 地址的转换
  • 在一个局域网中,一台主机想要给另外一台主机发送 IP 数据报,发送时要求不仅仅提供 IP 地址,还需要提供目的 MAC 地址
  • 当只知道目的 IP ,不知道目的 MAC 时,就需要 ARP 协议来获取目的 MAC 地址
  • 每台主机或路由器在其内存中都有一个 ARP 表(ARP table),这张表记录 IP 地址到 MAC 地址之间的映射关系
  • 假如目标 IP 在 ARP 表中找不到其对应的 MAC 地址,此时发送方会构造一个称为 ARP 分组(ARP packet) 的特殊分组
  • 一个 ARP 分组包括发送和接受的 IP 地址和 MAC 地址,ARP 查询分组和响应分组的格式是相同的
  • 发送者将目的 MAC 置为 FF-FF-FF-FF-FF-FF (MAC 广播地址),适配器在链路层帧中封装这个 ARP 分组,用广播地址作为帧的目的地址,并将该帧传输到子网中
  • 包含该查询的帧可以被子网中所有其他适配器收到,并且每个适配器都会把该帧中的 ARP 分组上传到 ARP 模块, ARP 模块中的每一个都检查自己的 IP 地址是否和 ARP 分组中的目的 IP 地址相匹配,与之匹配的会发送回一个响应 ARP 分组,该分组中包含了自己的 MAC 地址
  • 注意:查询 ARP 报文是在广播帧中发送的,而响应 ARP 报文是在一个标准帧中发送的,因为查询时并不知道目的 MAC 地址,而响应时只需将该帧发送给请求方即可
  • 在 OSI 模型中,ARP 属于链路层,TCP/IP 模型中,ARP 属于网络层

在这里插入图片描述
参考:《计算机网络:自顶向下》

posted @ 2020-08-05 16:05  winechord  阅读(99)  评论(0编辑  收藏  举报