计算机网络(4.6)网络层-地址解析协议ARP

通信时使用了两个地址: IP 地址(网络层地址)。MAC 地址(数据链路层地址)。

地址解析协议ARP 的作用

已经知道了一个机器(主机或路由器)的IP地址, 如何找出其相应的硬件地址?地址解析协议ARP 就是用来解决这样的问题的。

ARP 作用: 从网络层使用 的 IP 地址,解 析出在数据链 路层使用的硬 件地址。

不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。

每一个主机都设有一个ARP高速缓存(ARP cache), 里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表。

          

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

如有,就可查出其对应的硬件地址,再将此硬件地址写 入MAC 帧,然后通过局域网将该MAC帧发往此硬件地址。

如没有,ARP 进程在本局域网上广播发送一个ARP请求分组。收到ARP响应分组后,将得到的IP地址到硬件地址的映射写入ARP高速缓存。

ARP请求分组:包含发送方硬件地址 / 发送方IP 地址/ 目标方硬件地址(未知时填0) / 目标方IP地址。 以广播方式发送。

本地广播ARP请求(路由器不转发ARP请求)。

ARP响应分组:包含发送方硬件地址 / 发送方IP地 址/ 目标方硬件地址/ 目标方IP 地址。以普通单播方式发送。

ARP分组封装在物理网络的数据帧中传输。

ARP 高速缓存的作用 

存放最近获得的IP 地址到MAC 地址的绑定,以减少ARP广播的数量。

为了减少网络上的通信量,主机A 在发送其ARP请求分组时,就将自己的IP地址到硬件地址的映射写入ARP请求分组。

当主机B收到A的ARP请求分组时,就将主机A的这一地址映射写入主机B自己的ARP高速缓存中。这对主机B以后向A发送数据报时就更方便了。

生存时间——保证对ARP高速缓存信息的及时更新。

应当注意的问题

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

如果所要找的主机和源主机不在同一个局域网上, 那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。

从IP 地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。

只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的硬件地址。

以下是我电脑现在的列表:

使用ARP 的四种典型情况

发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用ARP找到目的主机的硬件地址。

发送方是主机,要把IP数据报发送到另一个网络上的一个主机。这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。

发送方是路由器,要把IP 数据报转发到本网络上的一 个主机。这时用ARP找到目的主机的硬件地址。

发送方是路由器,要把IP 数据报转发到另一个网络上的一个主机。这时用ARP找到本网络上另一个路由器的硬件地址。剩下的工作由这个路由器来完成。

为什么不直接使用硬件地址进行通信? 

由于全世界存在着各式各样的网络,它们使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作,因此几乎是不可能的事。

IP 编址把这个复杂问题解决了。连接到互联网的主机只需各自拥有一个唯一的IP地址,它们之间的通信就像连接在同一个网络上那样简单方便,因为上述的调用ARP的复杂过程都是由计算机软件自动进行的,对用户来说是看不见这种调用过程的。

因此,在虚拟的IP网络上用IP地址进行通信给广大的计算机用户带来了很大的方便。

反向地址解析协议RARP 

反向地址解析协议(RARP,Reverse Address Resolution Protocol),用于实现物理地址到IP地址的转换。除了网上的无盘工作站,通常很少使用。

RARP负责从网卡上物理地址到IP地址的转换。网络上的无盘工作站在网卡有自己的物理地址,但不知道自己的IP地址。为了从物理地址找出IP地址,在网络上至少要设置一个RARP服务器网络管理员必须事先把网卡上的物理地址的相应的IP地址加入到RARP数据库中。

无盘工作站是经过广播一个RARP请求包给网络上的所有主机来寻找自己的IP地址,而由网络上的RARP服务器给予响应。

ARP攻击 

 ARP协议:按照IETF的规定,PC机在发出ARP响应时,不需要一定要先收到ARP请求报文;局域网任何一台计算机都可以向网上发出自己就是IP_A和 MAC_A的对应者,这就为攻击者带来了漏洞。

        

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值