ARP协议(地址解析协议)
IP地址和MAC地址
32位IP地址:
接口的网络层地址
用于表示网络层(第3层)分组,支持分组转发
MAC地址(或称LAN地址,物理地址,以太网地址):
- 作用:用于局域网内表示一个帧从那个接口发出,到达那个物理相连的其他接口
48位MAC地址(用于大部分LANs),固化在网卡的ROM中,有事也可以软件设置
e.g.:1A-2F-BB-76-09-AD (16进制表示)
局域网中的每块网卡都有一个唯一的MAC地址
-
MAC地址由IEEE同意管理与分配
-
网卡生产商购买MAC地址空间(前24比特)
-
类比:
MAC地址:身份证号
IP地址:邮政地址
-
MAC地址是“平面”地址:->可“携带”
可以从一个LAN移到另个一个LAN
-
IP地址是层次地址:->不可“携带”
IP地址依赖于节点连接到那个子网
ARP协议:在同一个LAN内
ARP表:LAN中的每个IP结点(主机、路由器)维护一个表
- 存储某些LAn结点的IP、MAC地址映射关系:
<IP地址;MAC地址;TTL>
- TTL(TIme To Live):
经过这个时间以后该映射福安息会被遗弃(典型值为20min)
-
A想要给同一局域网内的B发送数据报
B的MAC地址不在A的ARP表中。
-
A广播ARP查询分组,其中包含B的IP地址
目的MAC地址=FF-FF-FF-FF-FF-FF
LAN中所有结点都会接收ARP查询
-
B接收ARP查询分组,IP地址匹配成功,香A应答B的MAC地址
利用单播帧向A发送应答
-
A在其ARP表中,缓存B的IP-MAC地址对,直至超时
超市后,再次刷新
-
ARP是“即插即用”协议:
结点自主创建ARP表,无需干预。
ARP协议:从一个LAN路由至另一个LAN
-
A构造IP数据报,其中源IP地址是A的IP地址,目的IP地址是B的IP地址
-
A构造链路层帧,其中源MAC地址是A的MAC地址,目的MAC地址是R(左)接口的MAC地址,封装A到B的IP数据报。
-
帧从A发送至R
-
R接收帧,提取IP数据报,传递给上层IP协议
-
R转发IP数据报(源和目的IP地址不变)
-
R创建链路层帧,其中源MAC地址是R(右)接口的MAC地址,目的MAC地址是B的MAC地址,封装A到B的IP数据报。