第八章 地址解析协议(ARP)

地址映射

静态映射(static mapping):创建一张表,把逻辑地址与物理地址关联起来

动态地址(dynamic mapping):每次只要机器知道另一台机器的逻辑地址,就可以使用协议栈找出相应的物理地址,动态映射的协议:地址解析协议(ARP)和逆地址解析协议(RARP)(被DHCP取代)

ARP协议

**ARP协议:**从逻辑地址到物理地址的映射

分组格式

运行中的容器如何动态映射数据卷 动态映射协议_计算机网络

  • 硬件类型:16位字段,定义运行ARP的网络类型
  • 协议类型:16位字段,定义使用的协议
  • 硬件长度:8位字段,用来定义物理地址的长度
  • 协议长度:8位字段,定义逻辑地址的长度
  • 操 作:16位字段,定义分组的类型。两种类型:ARP请求(1)、ARP回答(2)
  • 发送方硬件地址:可变长度字段,定义发送方的物理地址
  • 发送方协议地址:可变长度字段,定义发送方的逻辑地址
  • 目标硬件地址:可变长度字段,定义目标的物理地址
  • 目标协议地址:可变长度字段,定义目标的逻辑地址

封装

运行中的容器如何动态映射数据卷 动态映射协议_物理地址_02

操作

  • 1、发送方知道目标的IP地址
  • 2、IP请求ARP创建一个ARP请求报文,填入发送方的物理地址、发送方的IP地址以及目标IP地址
  • 3、报文被递交给数据链路层
  • 4、每一个主机或路由器都会瘦到这个帧,因为这个帧包含的是广播目的地址
  • 5、目标机器用ARP回答报文进行回答
  • 6、发送方接收这个回到报文
  • 7、携带有给目标机器数据的IP数据报现在可以封装成帧,并用单播方式发送到终点

注:ARP请求采用广播发送;ARP回答采用单播发送

四种不同的情况

运行中的容器如何动态映射数据卷 动态映射协议_字段_03

ATMARP

运行中的容器如何动态映射数据卷 动态映射协议_ARP_04

  • 硬件类型(HTYPE):16位字段,定义物理网络的类型
  • 协议类型(PTYPE):16位字段 ,定义协议的类型
  • 发送方硬件长度(SHLEN):8位字段,定义了发送方物理地址的长度,以字节为单位
  • 操作(OPER):16位字段,定义分组的类型,类型包括请求、回答、反向请求、反向回答、NACK
  • 发送方协议长度(SPLEN):8位字段,定义发送方协议地址的长度,以字节为单位
  • 目标硬件长度(TLEN):8位字段,定义了接收方物理地址的长度,以字节为单位
  • 目标协议长度(TPLEN):8位字段,定义接收方协议地址的长度,以字节为单位
  • 发送方硬件地址(SHA):定义发送方的物理地址,对于ATM网络,ATM论坛把它定义为20字节
  • 发送方协议地址(SPA):定义了发送方的协议地址
  • 目标硬件地址(THA):定义接收方的物理地址,对于ATM网络,ATM论坛把它定义为20字节
  • 目标协议地址(TPA):定义了接收方的协议地址

ATMARP的操作

两种方式连接ATM网络上的路由器:通过永久虚电路(PVC)或通过交换虚电路(SVC)

PVC连接

永久虚电路连接是有网络提供者在两个端点之间建立。指定了VPI和VCI,且他们的数值被保存在每一个交换机的路由表中。

注:在PVC的情况下,反向请求报文(inverse request message)和反向回答报文(inverse reply message)可以把物理地址和IP地址绑定起来

运行中的容器如何动态映射数据卷 动态映射协议_运行中的容器如何动态映射数据卷_05

SVC连接

路由器每一次想和另一个路由器(或任何主机)建立连接时,都必须建立一条新的虚电路。

建立虚连接的过程需要3个步骤:连接服务器、收到物理地址、建立连接

运行中的容器如何动态映射数据卷 动态映射协议_物理地址_06

逻辑IP子层(LIS)

逻辑IP子层(logical IP subnet,LIS):一个大的局域网可以划分为若干个子网,同样原理,一个ATM网络也可以划分若干个逻辑上的子网,方便ATMARP以及其他一些需要在ATM网络上模拟广播操作的协议

注:LIS允许把ATM网络划分成若干个逻辑子网。要使用ATMARP,各个子网中都需要一个独立的服务器

ARP软件包

ARP软件包由以下五个构件组成:高速缓存表(cache table)、队列、输出模块、输入模块和高速缓存控制模块

运行中的容器如何动态映射数据卷 动态映射协议_运行中的容器如何动态映射数据卷_07