事实上,并不是主机或路由器具有链路层地址,而是它们的适配器(即网络接口)具有链路层地址
①链路层地址有各种不同的称呼:
LAN地址、物理地址、MAC地址
MAC地址长度位6字节,共有26^48个可能的MAC地址
①地址解析协议(Address Resolution Protocol)任务:完成网络层地址和链路层地址之间的转换
ARP只为同一个子网上的主机和路由器接口解析IP地址
(1)每台主机或路由器在其内存中具有一个ARP表,这张表包含IP地址1到MAC地址的映射关系
(2)若表中有该目的节点的表项,那直接发就好;
(3)如果没有,那么首先,发送方构造一个ARP分组的特殊分组。一个ARP分组有几个字段,包括发送和接收IP地址及MAC地址。ARP查询分组的目的是询问子网上所有其他主机和路由器,以确定对应于要解析的IP地址的那个MAC地址
(4)适配器在链路层帧中封装这个ARP分组,用广播地址作为帧的目的地址,并将该帧传输进子网中。就像在班里大声喊请问谁认识xxx而且她的学号是多少?听到的人还会问他的朋友认不认识,得到xxx的学号就返回
(5)更新ARP表,并发送IP数据报
③查询ARP报文是在广播帧中发送的,而响应ARP报文在一个标准帧中发送
④ARP分组封装在链路层帧中,然后它具有包含链路层地址的字段,因而可认为是链路层协议,但它也包含网络层地址,因而可认为是网络层协议。所以ARP可看成是跨越链路层和网络层边界两边的协议
原文:https://www.cnblogs.com/Seraphire-yili/p/13959038.html