您的位置:首页 > 理论基础 > 计算机网络

计算机网络学习--ARP(1)

2013-06-30 14:42 323 查看
地址解析协议ARP和逆地址解析协议RARP?

这两个协议是用来解决什么问题的呢?简单的说,ARP协议完成的是从IP地址到物理地址的映射,而RARP协议完成的是从物理地址到IP地址的映射。

需要说明的是,我们现在使用的动态主机配置协议DHCP协议已经包含了RARP协议的功能。

需要注意的是:ARP协议解决的是同一个局域网上的主机和路由器的IP地址和硬件地址的映射问题。

 

每一个主机都设有一个ARP高速缓存,在这个缓存中存放着本局域网中各个主机和路由器的IP地址到物理地址的映射表。

初始时,每台主机的ARP高速缓存都是空的,那么每台主机又是如何获得高速缓存映射表中的映射关系的呢?

首先主机A向本局域网中广播一个数据报,在数据报中包含有主机A的IP地址和物理地址,还包含想要通信的目的主机B的IP地址。局域网内的主机和路由器在接收到这个IP数据报以后跟自己的IP地址进行比较,地址不相符的主机不做反应,而地址相符的主机则采用单播的方式向源主机A发送一个数据报,数据报中包含目的主机B的IP地址和物理地址,同时主机B将收到的数据报中的主机A的IP地址和物理地址作为项目添加到主机B的ARP高速缓存中,主机A在收到目的主机B的回复后将目的主机B的IP地址和物理地址作为项目添加到自己的ARP高速缓存中。这样下次再有主机A和B的通信时,都只需要根据ARP高速缓存中的映射关系直接找到IP地址所对应的物理地址添加到MAC帧头中。

ARP高速缓存中的每个项目都有一个生存时间,超过生存时间的映射表项将会被清除。

如果你想看看你自己的主机上ARP高速缓存有哪些映射表,可以在dos环境下使用arp -a指令获得。



 

在网络链路上传输的帧最终是按照物理地址找到目的主机的,为什么我们不直接使用物理地址进行通信,而是用抽象的IP地址并通过ARP来找到相应的物理地址呢?

全世界存在各种各样的网络,他们使用不同的硬件地址,要使这些异构网络能够相互通信,必须进行非常复杂的硬件地址转换工作,而这些工作交给用户或者用户主机,很明显几乎是不能完成的。然而同一的IP地址把这个问题解决了,连接到因特网上的主机只需拥有一个唯一的IP地址就可以在网络中进行通信,调用ARP的过程完全由计算机自行完成,对用户来说是不可见的。在虚拟的IP网络上使用IP地址进行通讯给用户带来了很大的方便。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: