计算机网络(十五)ARP介绍

1.ARP概要

ARP是一种解决地址问题的协议。
以目标IP地址为线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址。
如果目标主机不在同一个链路上时,可以通过ARP查找下一跳路由器的MAC地址。
ARP只适用于IPv4, 不能用于IPv6。IPv6 中可以用ICMPv6替代ARP发送邻居探索消息。

2.ARP工作机制

ARP是借助ARP请求与 ARP响应两种类型的包确定MAC地址的。
ARP工作机制
1.主机A为了获得主机B的MAC地址,起初要通过广播发送一个ARP请求包。这个包中包含了想要了解其MAC地址的主机IP地址。
2.ARP请求包中已经包含了主机B的IP地址172. 20. 1. 2。由千广播的包可以被同一个链路上所有的主机或路由器接收,因此ARP的请求包也就会被这同一个链路上所有的主机和路由器进行解析。
3.如果ARP请求包中的目标IP地址与自己的IP地址一致,那么这个节点就将自己的MAC地址塞人ARP响应包返回给主机A。
注:ARP请求包还有一个作用,那就是将自己的MAC地址告诉给对方。
可以通过ARP从 IP地址获得MAC地址,实现链路内的IP通信。ARP可以动态地进行地址解析
为了造成不必要的网络流量:通常的做法是把获取到的MAC地址缓存一段时间。
1.把第一次通过ARP获取到的MAC地址作为IP对MAC的映射关系记忆到一个ARP缓存表中。
2.下一次再向这个IP地址发送数据报时不需再重新发送 ARP请求,而是直接使用这个缓存表当中的MAC地址进行数据报的发送。
3.每执行一次ARP,其对应的缓存内容都会被清除。不过在清除之前都可以不需要执行ARP就可以获取想要的MAC地址。
一般来说,发送过一次IP数据报的主机,继续发送多次IP数据报的可能性会比较高。在接收主机端缓存MAC地址也是一种提高效率的方法。
MAC地址的缓存是有一定期限的。超过这个期限,缓存的内容将被清除。
这使得MAC地址与IP地址对应关系即使发生了变化,也依然能够将数据包正确地发送给目标地址。
ARP包格式

3.IP地址和MAC地址缺一不可

MAC地址与IP地址的作用不同
仅仅凭一个MAC地址,人们是无法知道这台机器所处的位置的。
而且如果全世界的设备都使用MAC地址相连,那么网桥在习得之前就得向全世界发送包。可想而知那将会造成多大的网络流量。
IP地址和MAC地址两者缺一不可。于是就有将这两个地址相关联的 ARP协议。

4.RARP

RARP是将ARP反过来,从MAC地址定位IP地址的一种协议。
平常我们可以通过个人电脑设置IP地址,也可以通过DHCP自动分配获取 IP地址。
需要架设一台RARP服务器,从而在 这个服务器上注册设备的MAC地址及其IP地址。
RARP

5.代理ARP

通常ARP包会被路由器隔离,但是采用代理ARP的路由器可以将ARP请求转发给邻近的网段。
两个以上网段的节点之间可以像在同一个网段中一样进行通信。
在目前的TCP/IP网络当中,一般情况下用路由器连接多个网络时,会在每个网段上定义各自的子网,从而进行路由控制。
对于那些不支持设定子网掩码的老设备来说,不使用代理ARP,有时就无法更好地使用网络。

猜你喜欢

转载自blog.csdn.net/NEUChords/article/details/91376071