验 2 地址解析协议(ARP)
实验目的】
1.掌握 ARP 协议的报文格式
2.掌握 ARP 协议的工作原理
3.理解 ARP 高速缓存的作用
4.掌握 ARP 请求和应答的实现方法
5.掌握 ARP 缓存表的维护过程
学时分配】
2 学时
实验环境】
该实验采用网络结构二
实验原理】
一、物理地址与逻辑地址
1.物理地址
物理地址是节点的地址,由它所在的局域网或者广域网定义。物理地址包含在数 据链路层的帧中。物理地址是最低一级的地址
地址的长度和格式是可变的, 取决于具体的网络。 以太网使用写在网络接口卡 (NIC)上的 6 字节的标识作为物理地址
理地址可以是单播地址 (一个接收者) 、多播地址 (一组接收者) 或者广播地址 (由 中的所有主机接收) 。有些网络不支持多播或者广播地址, 当需要把帧发送给一组主 机或者所有主机时,多播地址或者广播地址就需要用单播地址来摹拟。
2.逻辑地址
在互网的环境中仅使用物理地址是不合适的,因为不同网络可以使用不同的地址
因此, 需要一种通用的编址系统, 用来惟一地标识每一台主机, 而不管底层使用 什么样的物理网络。
地址就是为此目的而设计的。 目前 Internet 上的逻辑地址是 32 位地址, 通常 称为 IP 址,可以用来标识连接在 Internet 上的每一台主机。在 Internet 上没有两 主机具有同样的 IP 地址。
逻辑地址可以是单播地址、 多播地址和广播地址。 其中广播地址有一些局限性。 实验三中将详细介绍这三种类型的地址
、 ARP 协议简介
Internet 由各种各样的物理网络通过使用诸如路由器之类的设备连接在一起组 成的。 主机发送一个数据包到另一台主机时可能要经过多种不同的物理网络。 主机和 由器是在网络层通过逻辑地址来识别的,这个地址是在全世界范围内是惟一的。然而, 数据是通过物理网络传递的。在物理网络中,主机和路由器通过其物理地址来识别的, 其范围限于本地网络中。 物理地址和逻辑地址是两种不同的标识符。 这就意味着将一


数据包传递到一个主机或者路由器需要进行两级寻址: 逻辑地址和物理地址。 需要能将 个逻辑地映射到相应的物理地址。
ARP 协议(地址解析协议)是“Address Resolution Protocol”的缩写。所 “地址析”就是主机在发送帧前将目的逻辑地址转换成目的物理地址的过程。在使用 TCP/IP 协议的以太网中, ARP 协议完成将 IP 地址映射到 MAC 地址的过程。
三、 ARP 报文格式
图为 ARP 数据报的报文格式:
2-1  ARP 报文格式
ARP 报文格式具有如下的一些字段:
  硬件类型: 这是 16 位字段, 用来定义运行 ARP 的网络的类型。 每一个局域 网基于其类型被指派给一个整数。例如,以太网的硬件类型是 1。ARP 可用在任何网络 上。
  协议类型:这是 16 位字段。用来定义协议的类型。例如,对 IPv4 协议, 个字段的值是 0x0800。ARP 可用于任何高层协议。
  硬件地址长度: 这是一个 8 位字段, 用来定义以字节为单位的物理地址长 例如,以太网物理地址为 6 字节,所对应的硬件地址长度值为 6。
  协议地址长度: 标识用于该数据包的逻辑地址的长度, 用十进制标识, 单 为一个字节,例如, IPv4 为 4 个字节,所对应的协议地址长度值为 4。
  操作码:这是 16 位字段,用来定义数据包的类型。已定义了两种类型: 1 时表示 ARP 请求,为 2 时表示 ARP 应答。
  发送端硬件地址: 这是可变长度字段, 用来定义发送端的物理地址。 对于 以太网这个字段是 6 字节长。
  发送端逻辑地址: 这是可变长度字段, 用来定义发送端的逻辑地址。 对于

逻辑地址为 IP 地址的网络,该字段长度为 4 字节。
●  目的端硬件地址:这是可变长度字段,用来定义目标的物理地址。对于A RP 求, 字段是全 0,因为发送端不知道目标的物理地址 (该字段长度为可变, 如以太 件地址为 6 个字节)。
  目的端逻辑地址: 这是可变长度字段, 用来定义目标的逻辑地址 (该字段 为可变,如 IPv4 协议的逻辑地址为 4 个字节)。
四、 ARP 封装
ARP 据报直接封装在数据链路帧中。 例如, 在下图中, ARP 数据包封装在以太网 帧中。类型字段值为 0x0806 指出了此帧所携带的数据是 ARP 数据包。
图 2-2  ARP 数据包的封装
. ARP 的运行过程
据包传输过程可分为如下步骤:
1.  发送端知道目的端的 IP 地址。
2. IP 要求 ARP 创建一个 ARP 请求报文, 其中包含了发送方的物理地址、 发送方的 IP 地址和目的端的 IP 地址。目的端的物理地址用 0 填充。
3.  将报文传递到数据链路层, 并在该层中用发送方的物理地址作为源地址, 用物 理广播地址作为目的地址,将其封装在一个帧中。
4. 因为该帧中包含了一个广播目的地址, 所以同一链路中的每一个主机或者路由器都 收到这个帧。 所有接收到该帧的主机都将其传递到 ARP 层进行处理。 除了目的端主机 外的所有主机都丢弃该报文。
5. 目的端主机用一个包含其物理地址的 ARP 应答报文做出响应,并对该报文进行 播。
6.  发送方接收到这个应答报文,这样它就知道了目标主机的物理地址

ARP 址解析过程如下图所示。
六、 ARP 高速缓存
真正的协议实现中, 并非每次发送 IP 报文前都需要发送 ARP 请求报文来 tcp ip协议在哪获取目的 MAC 地址。在大多数的系统中都存在着一个 ARP 缓存表。 记录着一段时间内曾经 获取过的 MAC 地址和 IP 地址的映射关系,如下图所示:
2-4  ARP 高速缓存
发送 IP 数据报前先对 ARP 缓存表进行查,查看目的 MAC 地址是否存在于缓存表 中,果存在,则不需要发送 ARP 请求报文而直接使用此地址进行 IP 数据包的发送。 果不存在, 则发送 ARP 请求报文, 在收到 ARP 应答报文之后, 使用应答报文中的目的 MAC 址发送 IP 数据包,并将目的 MAC 地址存于 ARP 缓存表中供以后使用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。