### 1、ARP概要 - Address Resolution Protocol - 根据IP地址寻找MAC地址 - 底层数据链路层通信需要知道对方的MAC地址 - 以目标IP地址为线索,用来定位下一个应该接受数据分包的网络设备的MAC地址 - 如果目标主机不在同一个链路上,可以通过ARP查找下一跳路由器的MAC地址 - ARP协议只适用于IPv4,IPv6网络需要使用ICMPv6协议 ### 2、一个链路内ARP工作机制 - 主机A 172.20.1.1,主机B 172.20.1.2 - 两个主机互相不知道MAC地址 - 主机A向主机B发送数据 - 主机A先发送一个ARP广播,包含目的主机的IP地址,广播包可以被同一个链路上的所有主机接受 - 主机B查看目的地址和自己的IP一致,返回包含自己MAC地址的ARP响应给主机A - 主机A和主机B分别缓存对方的MAC地址 ![image-20230709162452866](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709162452866.png) ### 3、不通链路ARP - IP层的源IP和目的IP不会变 - 数据链路层的源MAC地址和目的MAC地址经过一跳后就会变化 ![image-20230709163129978](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709163129978.png) ### 3、ARP包格式 ![image-20230709162900405](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709162900405.png) ### 3、RARP - Reverse Address Resolution Protocol - ARP反向解析,从MAC地址定位IP地址 ![image-20230709163531478](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709163531478.png)