ARP协议
前言 网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由 网络层 来提供,但是仅有IP地址是不够的,IP数据报文必须 封装成帧 才能通过数据链路进行发送。数据帧必须要包含 目的MAC地址 ,因此发送端还必须获取到目的MAC地址。通过目的IP地址而获取目的MAC地址的过程是由 ARP(Address Resolution Protocol)协议 来实现的。 ARP数据包格式 这里需要强调的是 hardware type一般是指以太网 注意:ARP报文不能穿越路由器,不能被转发到其他广播域。 ARP工作过程 以下图为例,主机A需要访问主机C。 1.主机A发送一个数据包给主机C之前,首先要获取主机C的MAC地址。 但此时我们用arp -a查看arp表。发现没有数据,于是我们的第一个包就需要 发一个广播包请求 主机C mac地址 2.主级A发送一个 请求包 ,请求包一般都是广播的数据帧,所以目的mac地址为全F,源ip地址,源mac地址也都包含的ARP数据包里。 3.主级C收到广播包之后,将包中在这里源头ip、源mac地址记录到arp表中,并回复一个 单播 包给主级A,该包源ip源mac都是是主级C的。 ARP代理 位于不同网络的网络设备在 不配置网关 的情况下,能够通过ARP代理实现相互通信。需要了解的是,这样目的ip地址所对应的mac地址是