ARP基础一_休闲

 

 

1. 什么是ARP?

ARP (Address Resolution Protocol) 是个地址解析协议。最白的说法是:在IP-以太网中,当一个上层协议要发包时,有了节点的IP地址,ARP就能提供该节点的MAC地址。

2. 为什么要有ARP?

OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layre interface). IP地址在第三层, MAC地址在第二层。协议在发生数据包时,得先封装第三层 (IP地址),第二层 (MAC地址)的报头, 但协议只知道目的节点的IP地址,不知道其地址,又不能跨第二、三层,所以得用ARP的服务。

3. 什么是ARP cache?

ARP cache 是个用来储存(IP, MAC)地址的缓冲区。当ARP被询问一个已只IP地址节点的MAC地址时,先在ARP cache 查看,若存在,就直接返回MAC地址,若不存在,才发送ARP request向局域网查询。

4. ARP 有什么命令行?

常用的包括:(格式因操作系统、路由器而异,但作用类似)

- 显示ARP cache: show arp; arp -a

- 清除ARP cache: arp -d

5. 路由器有ARP cache吗?

有的。路由器若有接口连接到局域网,就会有ARP cache。 如果路由器的接口都是点对点的接口(serial interface), 就不会有ARP cache.

6. 路由器怎么使用ARP cache

路由器在转发数据包到下一站时,得用下一站的MAC地址来封装链路报头 (Link header),它向ARP查询这个地址。如果ARP cache里没有这个地址,路由器的ARP会发送ARP Request去查询。

7. ARP 和Ping 有什么关系?

Ping是个常用的网络工具,检查远程主机、路由器是否在线。

从源主机到目的主机,一路上ping可能被几个路由器转发,只要有一个ARP cache里没有下一站的MAC地址,路由器就会把ping丢弃 (称为ARP Miss)。由于ARP Miss而掉包,是个常见的掉包原因。