arp协议与rarp协议
- 回顾数据链路层,数据的转发步骤
ARP(Address Resolution Protocol)地址解析协议
- ARP的作用是把网络层 IP32 位地址转化为 48位 的MAC地址
ARP 缓存表
- ARP缓存表示ARP协议和RARP协议运行的关键
- ARP缓存表缓存了IP地址到硬件地址之间的映射关系。我们在网络层进行数据转发的时候其实是需要经过数据链路层以及物理层来进行数据传输的,因此在网络层进行数据报转发的时候,它首先需要通过ARP协议把IP地址转化为MAC地址,然后告诉数据链路层,然后数据链路层才会进行数据的传输。需要注意的是ARP缓存表中的记录并不是永久有效的,有一定的期限
- ARP缓存表中的记录并不是永久有效的,有一定的期限。(因为IP地址是动态的)
查看ARP缓存表
arp -a
查看所有IP与mac地址的映射jartin@macbookpro1 elastic_notes % arp -a jartin.local (169.254.206.23) at (incomplete) on en4 [ethernet] ? (172.24.192.1) at e8:78:ee:7b:6e:66 on en0 ifscope [ethernet] ? (172.24.192.85) at 14:7d:da:cc:a0:db on en0 ifscope permanent [ethernet] ? (224.0.0.251) at 1:0:5e:0:0:fb on en0 ifscope permanent [ethernet] ? (239.255.255.250) at 1:0:5e:7f:ff:fa on en0 ifscope permanent [ethernet] ? (239.255.255.250) at 1:0:5e:7f:ff:fa on en4 ifscope permanent [ethernet]
ARP协议的报文信息
RARP(Reverse Address Resolution Protocol)逆地址解析协议
Quote
顾名思义,RARP做的就是ARP相反的工作。将MAC48位地址转化为IP32位地址。(现如今用的少了)
RARP协议的报文信息
总结
- (R)ARP协议是TCP/IP协议栈里面基础的协议:主要是协调完成网络层及数据链路层配合的工作
- ARP和RARP的操作对程序员是透明的:再整个网络开发中不需要对该协议做开发,以上只是对该协议的了解。
- 理解(R)ARP协议有助于理解网络分层的细节