ARP详解

2.4 ARP

如图2-10所示,当网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。如何知道一台主机的IP地址与物理地址的对应关系,就需要用到地址解析协议,即ARP(Address Resolution Protocol)协议。

图2-10 ARP协议背景意义

在文章最后加作者VX:可以免费领取以下资料

2.4.1ARP工作过程

通过ARP协议,网络设备可以建立目标IP地址和MAC地址之间的映射。网络设备通过网络层获取到目的IP地址之后,还要判断目的MAC地址是否已知。比如,当你和张三处于同一个班级,但你并不知道张三是谁;此时你站起来大喊一声:”我是李四,谁是张三?”于是张三回答:”我是张三。”这一过程后张三、李四互相知道对方的位置和姓名。

我们回到ARP的世界,如图2-11所示,其实当一台主机需要访问一个与自己在同一个网络的IP地址但不知道目的主机的物理地址时,它就会发送一个ARP请求报文。由于我们并不清楚目的MAC是什么,所以该报文的目的MAC用广播地址FF-FF-FF-FF-FF-FF来填充。

图2-11 ARP工作过程

当接收者收到该数据帧之后,会转交给自身的ARP程序进行比对,如果发现目的数据帧中目的IP地址正是自身的,就会对发送者做出回应,如不是则会保持沉默;回应报文中会将自身的物理地址,IP地址分别填充至源MAC位置和源IP地址位置。经过这一过程接收者和发送者互相明确了各自物理地址和IP地址的映射关系。

2.4.2 代理ARP

     主机A与主机B通信时,目的IP地址与本机的IP地址位于不同网络,但是由于主机A未配置网关,所以它将会以广播形式发送ARP Request报文,请求主机B的MAC地址。我们都知道路由器是隔离广播域的,因此该广播报文无法被路由器转发,所以主机B无法收到主机A的ARP请求报文,当然也就无法应答。这种情况下就需要代理ARP,其工作过程如图2-12所示。

图2-12代理ARP工作过程

     在路由器上启用代理ARP功能后,路由器收到这样的请求,会查找路由表,如果存在主机B的路由表项,路由器将会使用自己的G0/0/0接口的MAC地址,回应主机A发送的ARP Request请求。主机A收到代理ARP路由器发送的ARP Reply后,将以路由器的G0/0/0接口MAC地址作为目的MAC地址进行数据转发。

2.4.3免费ARP

     主机被分配了IP地址或者IP地址进行变更后,为了防止该IP地址与网络中其他主机IP地址冲突,主机会通过发送ARP Request报文来进行地址冲突检测。主机A将ARP Request广播报文中的目的IP地址字段设置为自己的IP地址,且该网络中所有主机包括网关都会接收到此报文。当目的IP地址已经被某一个主机或网关使用时,该主机或网关就会回应ARP Reply报文。通过这种方式,主机A就能探测到IP地址冲突了。

 在文章最后加作者VX:可以免费领取以下资料

2.3.4R-ARP

如果说ARP协议是设备通过自己知道的IP地址来获得自己不知道的物理地址;那R-ARP(Reverse Address Resolution Protocol, 反向地址解析协议)恰好与之相反,R-ARP发出要反向解析的物理地址并希望返回其对应的IP地址。

     R-ARP工作过程如下:

  • 每台设备都会有独立的硬件地址,从网卡上读取MAC地址,然后在网络上发送一个R-ARP请求的广播数据包,请求R-ARP服务器回复该MAC地址映射的IP地址。
  • R-ARP服务器收到了RARP请求数据包,为其分配IP地址,并将R-ARP回应发送给源主机。
  • 源主机收到R-ARP回应后,就使用得到的IP地址进行数据通信。
  1. R-ARP服务器

R-ARP规定只有R-ARP服务器能产生应答。并且R-ARP的请求是在硬件层上的广播这因此这不能通过路由转发,因此在每个网络都要实现一个R-ARP服务器。许多网络也会指定多个R-ARP服务器,这样做既是为了平衡负载也是为了作为出现问题时的备份。

  1. R-ARP报文格式

     类似于ARP的报文格式主要差别在于帧类型代码为0x8035(ARP为0x0806)。

2.5练习题

  1. UDP是面向无连接的,必须依靠什么协议来保障传输的可靠性?

A、传输控制协议       B、应用层协议        C、网络层协议        D、网际协议

  1. 华为路由器中tracert诊断工具被用来跟踪数据的转发路径。(  )

A、对   B、错

  1. 网络管理员使用ping来测试网络连通性用哪些协议?

A、UDP            B、TCP            C、ARP             D、ICMP

  1. ARP协议能够根据目的IP地址解析目标设备mac地址从而实现mac地址与IP地址的映射。

A、对    B、错

5.由于TCP协议在建立连接和关闭连接时都采用三次握手机制,所以TCP支持可靠传输。

A、正确     B、错误

本文出自作者的《HCIA Datacom学习指南》
https://item.jd.com/14032255.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值