数据链路层 ARP!RARP!GARP!Proxy ARP!你了解他们吗?

ARP(Address Resolution Protocol)地址解析协议,工作在OSI模型的数据链路层,在以太网中,网络设备之间互相通信是用MAC地址而不是IP地址。

ARP协议:已知IP地址来请求MAC地址。

RARP协议(Reverse ARP):已知MAC地址来请求IP地址。

GARP协议(Gratuitous ARP):又叫无辜ARP或者免费ARP,作用是用来检测IP地址是否冲突。

Proxy ARP(代理 ARP)协议:当主机没有配置网关的时候,但是又想和其他网段通信,需要其他设备以欺骗的形式请求MAC地址。

下面通过一个小实验,来给大家演示这四种ARP的具体作用(拓扑图如下):

图片


01 GARP


打开PC的抓包,抓取PC本地网卡的包,然后手动给PC配置一个静态的IP地址为192.168.1.1/24(不配置网关),然后看抓包,截图如下:

图片

一问一答,两个ARP的数据包(准确来说是GARP),先解释一下:

第一个说:

我的IP地址是192.168.1.1,我的MAC地址是cc:00:22:d0:00::00,我想知道有谁的IP地址是192.168.1.1吗?并且我是以广播的形式(二层帧头全F的数据仅限制在本网段内)

第二个说:

我的IP地址是192.168.1.1,我的MAC地址是cc:00:22:d0:00::00。

很明显,他在自言自语,自问自答。说明地址没有冲突,如果说这个网段内有其他人给我进行了回复,那就代表IP地址冲突了,OK,这就是GARP的作用(检测地址是否冲突)。

02 ARP


下面给R2也配置一个IP地址:192.168.1.10/24,然后我用PC去pingR2,看抓包截图:

图片

一问一答,两个ARP的数据包(准确来说就是ARP)先解释一下:

第一个说:

我的IP地址是192.168.1.1,我的MAC地址是cc:00:22:d0:00::00,我想知道192.168.1.10对应的MAC地址是多少?

第二个说:

我是192.168.1.10,我的MAC地址是cc:01:22:d0:00:00。

通过这种方式,PC就学习到了同网段内另一个IP地址所对应的MAC地址,以后通信的时候就直接通过MAC地址通信了。

猜你喜欢

转载自blog.csdn.net/qq_34556414/article/details/116116022#comments_22487726