ARP简介 ARP(Address Resolution Protocol)用于将IP地址解析为MAC地址
1. ARP地址解析的必要性 IP地址不能直接用来进行通信,因为网络设备只能识别MAC地址。IP地址只是主机在网络层中的地址,如果要将网络层中传送的数据报交给目的主机,必须知道该主机的MAC地址。因此必须将IP地址解析为MAC地址。
2. ARP地址解析的实现过程 以太网上的两台主机需要通信时,双方必须知道对方的MAC地址。每台主机都要维护IP地址到MAC地址的转换表,称为ARP映射表。ARP映射表中存放着最近用到的一系列与本主机通信的其他主机的IP地址和MAC地址的映射。在主机启动时,ARP映射表为空;当一条动态ARP映射表项在规定时间没有使用时,主机将其从ARP映射表中删除掉,以便节省内存空间和ARP映射表的查找时间。 假设主机A和主机B在同一个网段,主机A的IP地址为IP_A,B的IP地址为IP_B,主机A要向主机B发送信息。主机A首先查看自己的ARP映射表,确定其中是否包含有IP_B对应的ARP映射表项。如果找到了对应的MAC地址,则主机A直接利用ARP映射表中的MAC地址,对IP数据包进行帧封装,并将数据发送给主机B;如果在ARP映射表中找不到对应的MAC地址,则主机A将该数据包放入ARP发送等待队列,然后创建一个ARP request,并以广播方式在以太网上发送。ARP request数据包中包含有主机B的IP地址,以及主机A的IP地址和MAC地址。由于ARP request数据包以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。主机B首先把ARP request数据包中的请求发起者(即主机A)的IP地址和MAC地址存入自己的ARP映射表中。然后主机B组织ARP响应数据包,在数据包中填入主机B的MAC地址,发送给主机A。这个响应不再以广播形式发送,而是直接发送给主机A。主机A收到响应数据包后,提取出主机B的IP地址及其对应的MAC地址,加入到自己的ARP映射表中,并把放在发送等待队列中的发往主机B的所有数据包都发送出去。
注:1.ARP表存在于每台PC上
2.用来匹配交给网络中目的主机的MAC地址。
3.arp表显示的是别的PC的IP相对应的PC的MAC地址关系(不是自己的IP和MAC,但是这个表保存在自己身上)。