地址解析协议ARP

我们知道,网络层使用的是IP地址,但实际网络的链路上传播数据帧时,最终还是必须使用该网络的硬件地址。但二者之间存在差异,并无简单的映射关系,如何实现二者之间的转换呢?

地址解析协议ARP


1.ARP作用: 考点

将IP地址转换为对应的物理地址(MAC地址)

2.ARP转换原理:

每一台主机都设有一个ARP高速缓存,里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(原因:新增或超时删除)。


问:

1.为什么主机ARP高速缓存中的映射表会经常动态更新?

在网络上可能会经常有新的主机加入进来,或撤走一些主机,而主机的加入和撤走都会导致相关MAC地址和IP地址的增加和减少,故映射表的经常更新可以使表的内容为最新状态。

2.主机如何知道这些地址,形成ARP映射表呢?  

当主机A要向本局域网上的主机B发送IP数据报时,就在其ARP高速缓存中查看有无主机B的IP地址

1若有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发往此硬件地址。

2若无,主机A自动运行ARP,然后按照以下步骤找出主机B的硬件地址。

a.ARP进程在本局域网上广播发送一个ARP请求分组

ARP请求分组=主机A的IP和MAC地址(作为源地址) +  主机B的IP地址(作为目的IP) + FFFF-FFFF-FFFF(作为目的MAC地址。 因为是广播方式,所有目的地址应该是所有主机对象)

b. 收到ARP请求分组的主机将分组里的目的IP地址与自身的IP地址对比

b1. 一致收下,向主机A发送ARP响应分组(该分组写入了自身的物理地址),除此以外,主机B还根据主机A发过来的ARP请求分组将主机B的信息(主机B的物理地址和IP地址)写入自己的ARP高速缓存。

(写入的原因:B向A发送数据时,就不用再次广播了,从而可以减少网络上的通信量)

b2.不一致不予理睬

c. 主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到硬件地址的映射。


地址解析协议ARP


注:

1.ARP对保存在高速缓存中的每一个映射地址项目都设置生存时间,超时,则删除。

为什么要设置生存时间?


2.ARP解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。

那么所要找的主机和源主机不在同一个局域网上,怎么办?

  • 交给路由器来解析!重复以上步骤即可。要知道路由器连接多个不同的网络。


为什么不直接使用MAC地址,还要引入IP地址?

现实生活中,使用的硬件地址是不同的,导致网络之间是异构网络,要想互相通信就必须进行非常复杂的硬件地址转换工作。

但IP编址可以使世界上的所有主机的通信就像连接在同一个网络上那样简单方便。

就好比普通话和方言的关系。出门在外,使用统一标准的普通话,方便来自四面八方的人理解;在自己家乡里,一般使用方言,用的带劲!

3.如何显示自己电脑的ARP表呢?

在命令提示符里输入 arp -a

地址解析协议ARP



END

原文始发于微信公众号(计算机408):地址解析协议ARP

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/261225.html

(0)
码上实战的头像码上实战

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!