计算机网络中ARP协议

IP地址与MAC地址

要理解ARP协议的工作原理必须先理解IP地址和MAC地址的区别,MAC地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(IP地址使用软件实现的)如下图:

这里写图片描述

在发送数据时,数据从高层到低层,然后才到通信链路上传输。使用IP地址的IP数据报一旦交给了数据链路层,就被封装成了MAC帧。MAC帧在传送时使用的源地址和目的地址都是硬件地址。连接在通信链路上的设备(主机或路由器)在接收MAC帧时,根据是MAC帧首部的硬件地址。在数据链路层看不到隐藏在MAC帧中的IP地址。只有在剥去MAC帧的首部和尾部后把MAC层的数据交给网络层后,网络层才能在IP数据报的首部中找到源IP地址和目的IP地址。
这里写图片描述

ARP地址解析协议

地址解析协议(Address Resolution Protocol),其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。

基本功能

在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。

这里写图片描述

注意:在点对点链路中不使用ARP,实际上在点对点网络中也不使用MAC地址,因为在此类网络中分别已经获取了对端的IP地址。

ARP工作机制

报文格式

这里写图片描述

以太网传输层

目标以太网地址:目标MAC地址。FF:FF:FF:FF:FF:FF (二进制全1)为广播地址。
源以太网地址:发送方MAC地址。
帧类型:以太类型,ARP为0x0806。

在每台安装有TCP/IP协议的电脑或路由器里都有一个ARP缓存表,表里的IP地址与MAC地址是一对应的,如下表所示。
这里写图片描述

当主机A要向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查找有无主机B的IP地址。如果有,就在ARP高速缓存中查出其对应的硬件地址,再把其硬件地址写入到MAC帧,然后通过局域网把该MAC帧发往此硬件地址。

如果主机高速缓存中没有则运行ARP按照以下步骤查找出主机B的硬件地址。

(1)ARP进程在本局域网上广播发送一个ARP请求分组如下:

这里写图片描述
(2)本局域网上所有的主机上运行的ARP进程都收到此ARP请求分组。

(3)主机B在ARP分组中见到自己的IP地址就向A发送ARP响应分组,并写入自己的硬件地址,相应分组是普通的单播。

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

(5)另外,当发送主机和目的主机不在同一个局域网中时,即便知道目的主机的MAC地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可以通往局域网外的路由器的MAC地址。于是此后发送主机发往目的主机的所有帧,都将发往该路由器,通过它向外发送。这种情况称为委托ARP或ARP代理(ARP Proxy)。

ARP缓存表采用老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ARP(Address Resolution Protocol)是一种计算机网络协议,用于将网络层的IP地址映射到物理层的MAC地址。它的主要功能是在局域网根据IP地址获取对应的MAC地址,以便数据的正常传输。 ARP协议的工作原理如下: 当一个主机发送数据到另一台主机时,首先会检查自己的ARP缓存表,如果已经有目标主机的IP地址和MAC地址的映射关系,则直接将数据封装成数据帧发送给目标主机。 如果ARP缓存表没有目标主机的映射关系,发送主机就会在局域网内广播一个ARP请求报文,包含目标主机的IP地址。所有的主机都会收到这个请求报文,但只有目标主机会响应。目标主机收到这个ARP请求后,会发送一个ARP响应报文给发送主机,包含自己的IP地址和MAC地址。 当发送主机收到目标主机的ARP响应报文后,就会将这个映射关系添加到自己的ARP缓存表,并将数据封装成数据帧发送给目标主机。 如果在一段时间内没有数据传输,ARP缓存表的映射关系会过期,发送主机再次发送数据时会重新进行ARP请求。 ARP协议的重要性在于它提供了网络层和物理层之间的映射关系,使得IP地址能够正常转换为MAC地址,实现数据的准确传输。但同时也存在一些安全隐患,比如ARP欺骗攻击,攻击者可以伪造IP地址和MAC地址的映射关系,导致数据被发送到错误的目标主机。 综上所述,ARP协议计算机网络起着至关重要的作用,通过IP地址和MAC地址的映射关系,实现了网络通信的正常运行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值