Arp地址解析协议
Arp | 地址解析协议 mac和ip之间相互解析 |
|
Rarp | 逆地址解析 ip和mac之间相互解析 |
|
| B = byte |
|
报文格式 | 目的MAC-源MAC-类型-硬件类型-协议类型-硬件长度-协议长度-op字段 6B 6B 2B 2B 2B 1B 1B | -发送方MAC-发送方ip-接受方MAC-接受方ip 6B 4B 6B 4B |
| 前三段:Ethernet II头部, 硬件类型:对于以太网,为1, 硬件长度:对于arp请求或应答,为6, 协议长度:对于arp请求或应答,为4, op字段:1 Arp请求,2 Arp应答,3 Rarp请求,4 Rarp应答。 | 以太网帧头: |
无故Arp | 主机有机会使用自己ip作为目标ip,发送Arp请求,用于检查ip地址冲突。 |
|
重新学习 | reset arp interface |
|
简单工作流程
工作流程 | 主机A --发送数据--> 主机B |
|
1. 主机A检查自己的Arp缓存 | 有没有主机B的缓存: |
|
2. 主机A在同网段发送一个Arp请求广播 | 携带自己源ip、mac,目的ip(主机B),目的mac(为0) 由于是广播,同网段的所有主机都会接受,只和目的ip相同的主机才会处理。 |
|
3. 主机B接受比较 | 自己ip和Arp请求中目的ip是否一致? 一致:将主机A的mac、ip地址存放进Arp表,在以单播发送Arp响应给主机B,包含自己mac地址, 不一致:丢弃。 |
|
4. 主机A收到Arp响应 | 将主机B的mac加入到Arp表中,同时发送数据给B。 |
|