【计算机网络】网际层协议--ARP&RARP
TCP/IP包含四个层次结构:物理接口层面位于底层,在此之上依次为网络中间、传输中间和应用层面。本文重点介绍的是网际层面的基本协议——ARPA包地址解析协议(ARP)与反向 ARP(RARP)。
地址解析协议ARP:
1. 为什么需要地址解析协议?
一般来说,A主机会将数据发送至B主机。然而,在这种情况下:仅仅凭一个IP地址就完成数据传输吗?实际上,在网络接口层面上,默认情况下位于局域网内的所有主机都是通过MAC地址进行通信连接的。因此我们需要将给定的IP地址转换成对应的MAC地址,并以此为基础建立《字符编码协议》,正是由于此原因,《字符编码协议》便应运而生。
以何种方式基于地址解析协议依据对方主机的IP地址获取其对应的MAC地址?
实际上地址解析协议ARP旨在服务于网络接口层。然而必须在网络安全层面完成地址解析协议。这是因为当数据在数据传输时才需要目标设备提供MAC地址。IP地址仅在网络安全层面及其以上层次可见。
ARP数据报的格式:
**

**
有人认为,在以太网首部中的源地址、目的地址以及ARP响应中的源地址、目的地址是否存在重复?答案是否。若网络层并非基于以太网,则该首部仍需存在。
举例说明ARP地址解析协议:
数据从A号机传输至B号机。其中,A号机的IP地址是ip1,其硬件ID(MAC地址)为m1,B号机的IP地址是ip2,其硬件ID为m2(目前未知)。利用B号机获取其MAC地址。
**ARP请求的数据报格式为:

**
目的主机收到ARP请求之后,就会发出ARP应答,应答的数据报情况是:

此时,这两台主机间即可实现通信。那么问题接着就来了,在后续的通信中(或其他情况下),当A主机或其它主机需要发送数据至B主机时,则必须依赖ARP协议来获取目标B主机的MAC地址。因此,在网络层面上就会建立一个高速缓存机制——用于维护主机IP地址与硬件地址之间的映射关系——使得后续的所有ARP请求只需通过此高速缓存查找目标硬件地址即可完成。然而一个问题值得思考:当B硬件设备更换时(例如其网络适配器损坏后被更换),此时的目标硬件地址会发生变更——因此原先存在于ARP缓存中的相关数据就变得不再有效。这也就意味着:为了确保网络通信的有效性,在每次更换目标设备后都需要及时更新该设备对应的硬件地址记录于ARP缓存中
**
**
可以通过执行arp -a命令来获取关于网络接口的 arp 缓存信息;另外一种途径是使用 ifconfig 命令以显示当前主机的 ip 地址及相关硬件配置信息。
**
**
注意:ARP主要用于处理同一网络内IP地址与硬件编码之间的对应关系问题。当源设备与目标设备不在同一局域网范围内时,则无法完成相关转换(在ARP发起方阶段中,在线的所有响应者仅限于本网络内的相关实体),解决方案:
网络设备:运行于网络层架构中的核心组件,在数据通信中扮演着关键角色。 假设源主机端点与目标主机端点之间只需配置一个路由节点R即可实现通信连接。源主机端点需将路由节点R上的IP地址与对应的硬件接口地址进行绑定配置。 通过向该路由节点发送包含目标主机端点IP信息的数据包(即数据报),路由节点R会将其转化为具体的物理连接接口号,并将其转发给目标宿主设备。**由该路由节点接收并处理的目标宿主设备会根据接收到的具体物理接口号自动建立与源宿主设备之间的通信连接关系。
**
**
使用ARP的几种典型情况:
(1)发端设备为计算机(host),受端设备位于同一局域网内的另一台计算机(host)。当发端设备向其所属局域网内所有受端设备发起ARP查询时(broadcast request),直接确定目标设备的具体物理地址(hardware address)。
(2)发起方是主机,在目标网络中的其他主机为接收方时,在这种情况下,发起的主机通过路由器完成网络转换;
(3)发送端为路由器(R1),接收端位于与该路由器R1直接相连的同一网络中的主机;当R1发起ARP请求分组时,则可完成目标主机的定位过程。
(4)发送方为路由器R1,位于与之无直接连接的网络中的接收方,在此情况下,由R1发起请求,并依次经过前往目标主机的所有路由器以最终确定目标主机的硬件地址。
**
**
该协议(RARP)通过将MAC地址转换为IP地址来实现网络通信。相较于ARP协议而言,该方法在实现上更为简便。通过向已知硬件设备的目标主机发送指定信息,从而可以直接获取目标主机的IP地址。
如果我们将ARP类比于:询问具有特定身份证号码(******)的学生姓名(每位接收信息的同学都会检查其自身的身份证号码是否与所提及的号码一致;不符合条件的信息则会被忽略;符合要求的信息才会被处理),那么RARP就可以理解为询问某位特定学生的身份证号码(直接提交给该学生;学生会主动提供其自身的身份证号码)。因此,在实际操作中实施RARP的方式相对更为简便。
**
**
**
**
