网络互连技术教程第 6章 地址解析网络互连技术教程
6.1 ARP
6.2 RARP
网络互连技术教程
6.1 ARP
6.1.1 概念与机制前面说到了网络的具有分层的体系结构,在高层的应用软件仅仅使用机器的 IP地址来进行通信 。 但是数据要在物理网上传输使用 IP地址是不行的,因为数据链路层通信使用的是机器的网卡地址即物理地址,要想在两台机器之间传输数据就必须知道对方的物理地址 。 所以当数据由高层协议到达数据链路层时,就需要将 IP地址转化为物理地址 。
网络互连技术教程考虑在同一物理网络上的两台机器 A和 B,给他们分配的 IP地址分别为 IPa和 IPb,而物理地址分别为 Ma和
Mb。若 A需要和 B通信,但是 A只有 B的网络地址 IPb,
通过以上的分析,A就需要将 B的网络地址 IPb转化为 B
的物理地址 Mb。所以就需要一个底层软件 ARP(Address
Resolution Protocol)来进行这种转换工作,它把机器的物理地址隐藏起来,让高层程序只使用网络地址,这样就允许给每台机器任意分配 IP地址。现在假设使用 FTP
来建立连接,IP地址到物理地址的转化如图 6-1所示。
网络互连技术教程
ARP实现的过程是十分简单的,如图 6-2所示,当主机 A要转换 IP地址 IPb时,其实现过程如下:
( 1) 首先它广播一个特殊的分组,要求 IP地址为 IPb的主机用它的物理地址 Mb响应它 。
( 2) 因为使用了以太网的广播机制,所以和主机 A在同一局域网上的所有主机都将收到这个请求 。
( 3) 但只有主机 B识别到请求中的 IP地址和它的 IP地址相同,所以发送一个包含有它自己物理地址应答,而其他主机由于请求中的 IP地址和自己的 IP地址不相同,所以就丢弃这个请求不予响应 。
( 4) 当主机 A收到回答后,就可以使用此物理地址把分组发送给主机 B。
网络互连技术教程这就可以使得使用地址转换协议 ARP允许主机在只知道同一物理网络上一个目的网点的 IP地址的情况下,找到目的主机的物理地址 。
网络互连技术教程图 6-1 由 IP地址查到对应的物理地理网络互连技术教程图 6-2 ARP请求与应答网络互连技术教程通过以上的分析我们可以得到完整的 ARP的实现 。 从功能上说,ARP被分为两部分 。 第一部分是在发出分组时把一个 IP地址映射到一个物理地址上,流程如图 6-3所示,
第二部分回答其他机器的请求,流程如图 6-4所示 。
网络互连技术教程查询它的 ARP 缓存看是否有从该 IP 地址到物理地址的映射给定一个目的网点的 IP 地址广播一个 ARP 请求等待一个 ARP 回答提取该物理地址,把数据放到使用该物理地址的帧中,并把此帧发送出去
N
Y
Y
N
图 6 - 3
结束图 6-3 IP地址映射为物理地址的过程网络互连技术教程检查本地的高速缓存是否已经保存有该发送方的表项从分组提取的物理地址覆盖缓存中原先的物理地址,更新表项
ARP 请求
ARP 分组到达接收方机器要看一下自己是否是请求的目标把这个地址对加入其缓存
Y
N
用本机的物理地址形成以应答,
并把应答直接发给请求方结束
Y
N
Y
图 6 - 4
图 6-4 对 ARP请求的处理过程网络互连技术教程
6.1.2 ARP数据格式当 ARP报文在两台设备之间传送时,它们必须被封装在网络的物理帧中,图 6-5表明了这一情况 。
图 6 - 5
A RP 报文
A RP 报文 帧类型 以太网源地址 以太网目的地址以太网首部以太网的帧图 6-5 ARP报文被封装在以太网的帧中网络互连技术教程不像大多数协议那样,ARP分组中的数据没有一个固定格式的首部 。 为使 ARP适用于多个网络技术,其地址字段的长度依赖于网络的类型 。 但是,为了能理解一个任意的 ARP
报文,首部在开始附近有一个固定的字段说明后继字段中地址的长度 。 图 6-6显示了在以太网 ( 物理地址为 48比特或 6个字节 ) 上当转换 IP地址 ( 4个字节 ) 时所用的 28个字节的 ARP报文格式 。
网络互连技术教程
0 8 16 24 31
硬件地址 协议类型硬件地址长度 (HLEN ) 协议长度 (P LEN) 操作发送方首部(字节 0 - 3 )
发送方首部(字节 4 - 5 ) 发送方 IP 地址(字节 0 - 1 )
发送方 IP 地址(字节 2 - 3 ) 目标首部(字节 0 - 1 )
目标首部(字节 2 - 5 )
目标 IP 地址(字节 0 - 3 )
图 6 - 6
图 6-6 由 IP地址查到对应的物理地址网络互连技术教程
6.1.3 代理 ARP
代理 ARP是一个把网络逻辑地址映射到两个物理地址上的技术 。 这个技术仅仅适用于采用 ARP技术把网络地址绑定到物理地址的网络,如图 6-7所示 。
网络互连技术教程图 6 - 7 代理
AR P
广播:需要 H
2
的物理地址以 AR P 代理服务器自己在网络 1 上的物理地址进行回应
②
(a)
(b)
使用 AR P 代理服务器的物理地址发送数据
③
W o rk sta tio n W o rk sta tio n
W o rk sta tio n W o rk sta tio n W o rk sta tio n W o rk sta tio n
W o rk sta tio n W o rk sta tio n
W o rk sta tio n H2
W o rk sta tio n H2
AR P 代理服务器
AR P 代理服务器网络 1
网络 1
网络 2
网络 2
图 6-7 代理 ARP
网络互连技术教程
6.1.4 命令与示例
6.2 RARP
通常机器的 IP地址是保存在它的硬盘中的,操作系统在启动时从配置文件中读取 IP地址 。 但是一个没有硬盘的机器如何确定它自己的 IP地址? 如 X终端或无盘工作站,则需要其它方法来获得 IP地址 。 反向地址转换协议 (Reverse Address Resolution
Protocol RARP),可以支持无盘主机从服务器得到它的 IP地址 。
RARP是 ARP协议改变过来的 。 而它不仅允许请求本机的 IP地址,
还允许机器请求第三方的 IP地址,并适用于多种物理网络类型 。
网络互连技术教程寻找 IP地址的思想很简单:需要知道自己地址的机器向服务器发送请求,并等待服务器发出响应。 RARP
服务器管理网络的 IP地址,并在收到 IP地址请求时向提出请求的主机分配 IP地址。发出请求的机器和响应的服务器在简短的通信中都使用物理网络地址。请求方开始时并不知道服务器的物理地址,所以它只简单地在本地网络上发出广播请求。被授权提供 RARP服务的机器处理请求并发出回答;这样的机器称为 RARP服务器。
要成功的使用 RARP,网络上必须至少有一个 RARP服务器。
网络互连技术教程像 ARP报文一样,RARP报文是封装在一个网络帧的数据部分从一台机器传送到另一台机器上的。一个携带 RARP请求的以太网帧中含有以太网源网点和目的网点地址以及类型字段。类型字段中的值为 8035H,
用来标识帧的内容是一个 RARP报文。帧的数据部分包含了 RARP报文,RARP报文的格式与 ARP报文格式相同。
图 6-8说明了如何使用 RARP。
网络互连技术教程图 6-8 RARP请求与应答网络互连技术教程
( 1) 发送方广播一个指定它自己既是发送方又是接收方的
RARP请求,并把它自己的物理网络地址放到目标硬件地址字段中 。
( 2) 网上的所有机器都接收该请求 。
( 3) 服务器填写目标协议地址字段,并把报文类型从,请求,改成,回答,,然后直接把回答发回提出请求的机器 。
( 4) 这台机器收到所有 RARP服务器的回答后,只使用第一个回答中的信息,抛弃其他回答 。
请记住,在请求自己 IP地址的机器与提供这一地址的服务器之间,它们所有的通信都只使用物理网络地址 。 此外,协议还允许主机对任意目标主机地址进行询问 。
6.1 ARP
6.2 RARP
网络互连技术教程
6.1 ARP
6.1.1 概念与机制前面说到了网络的具有分层的体系结构,在高层的应用软件仅仅使用机器的 IP地址来进行通信 。 但是数据要在物理网上传输使用 IP地址是不行的,因为数据链路层通信使用的是机器的网卡地址即物理地址,要想在两台机器之间传输数据就必须知道对方的物理地址 。 所以当数据由高层协议到达数据链路层时,就需要将 IP地址转化为物理地址 。
网络互连技术教程考虑在同一物理网络上的两台机器 A和 B,给他们分配的 IP地址分别为 IPa和 IPb,而物理地址分别为 Ma和
Mb。若 A需要和 B通信,但是 A只有 B的网络地址 IPb,
通过以上的分析,A就需要将 B的网络地址 IPb转化为 B
的物理地址 Mb。所以就需要一个底层软件 ARP(Address
Resolution Protocol)来进行这种转换工作,它把机器的物理地址隐藏起来,让高层程序只使用网络地址,这样就允许给每台机器任意分配 IP地址。现在假设使用 FTP
来建立连接,IP地址到物理地址的转化如图 6-1所示。
网络互连技术教程
ARP实现的过程是十分简单的,如图 6-2所示,当主机 A要转换 IP地址 IPb时,其实现过程如下:
( 1) 首先它广播一个特殊的分组,要求 IP地址为 IPb的主机用它的物理地址 Mb响应它 。
( 2) 因为使用了以太网的广播机制,所以和主机 A在同一局域网上的所有主机都将收到这个请求 。
( 3) 但只有主机 B识别到请求中的 IP地址和它的 IP地址相同,所以发送一个包含有它自己物理地址应答,而其他主机由于请求中的 IP地址和自己的 IP地址不相同,所以就丢弃这个请求不予响应 。
( 4) 当主机 A收到回答后,就可以使用此物理地址把分组发送给主机 B。
网络互连技术教程这就可以使得使用地址转换协议 ARP允许主机在只知道同一物理网络上一个目的网点的 IP地址的情况下,找到目的主机的物理地址 。
网络互连技术教程图 6-1 由 IP地址查到对应的物理地理网络互连技术教程图 6-2 ARP请求与应答网络互连技术教程通过以上的分析我们可以得到完整的 ARP的实现 。 从功能上说,ARP被分为两部分 。 第一部分是在发出分组时把一个 IP地址映射到一个物理地址上,流程如图 6-3所示,
第二部分回答其他机器的请求,流程如图 6-4所示 。
网络互连技术教程查询它的 ARP 缓存看是否有从该 IP 地址到物理地址的映射给定一个目的网点的 IP 地址广播一个 ARP 请求等待一个 ARP 回答提取该物理地址,把数据放到使用该物理地址的帧中,并把此帧发送出去
N
Y
Y
N
图 6 - 3
结束图 6-3 IP地址映射为物理地址的过程网络互连技术教程检查本地的高速缓存是否已经保存有该发送方的表项从分组提取的物理地址覆盖缓存中原先的物理地址,更新表项
ARP 请求
ARP 分组到达接收方机器要看一下自己是否是请求的目标把这个地址对加入其缓存
Y
N
用本机的物理地址形成以应答,
并把应答直接发给请求方结束
Y
N
Y
图 6 - 4
图 6-4 对 ARP请求的处理过程网络互连技术教程
6.1.2 ARP数据格式当 ARP报文在两台设备之间传送时,它们必须被封装在网络的物理帧中,图 6-5表明了这一情况 。
图 6 - 5
A RP 报文
A RP 报文 帧类型 以太网源地址 以太网目的地址以太网首部以太网的帧图 6-5 ARP报文被封装在以太网的帧中网络互连技术教程不像大多数协议那样,ARP分组中的数据没有一个固定格式的首部 。 为使 ARP适用于多个网络技术,其地址字段的长度依赖于网络的类型 。 但是,为了能理解一个任意的 ARP
报文,首部在开始附近有一个固定的字段说明后继字段中地址的长度 。 图 6-6显示了在以太网 ( 物理地址为 48比特或 6个字节 ) 上当转换 IP地址 ( 4个字节 ) 时所用的 28个字节的 ARP报文格式 。
网络互连技术教程
0 8 16 24 31
硬件地址 协议类型硬件地址长度 (HLEN ) 协议长度 (P LEN) 操作发送方首部(字节 0 - 3 )
发送方首部(字节 4 - 5 ) 发送方 IP 地址(字节 0 - 1 )
发送方 IP 地址(字节 2 - 3 ) 目标首部(字节 0 - 1 )
目标首部(字节 2 - 5 )
目标 IP 地址(字节 0 - 3 )
图 6 - 6
图 6-6 由 IP地址查到对应的物理地址网络互连技术教程
6.1.3 代理 ARP
代理 ARP是一个把网络逻辑地址映射到两个物理地址上的技术 。 这个技术仅仅适用于采用 ARP技术把网络地址绑定到物理地址的网络,如图 6-7所示 。
网络互连技术教程图 6 - 7 代理
AR P
广播:需要 H
2
的物理地址以 AR P 代理服务器自己在网络 1 上的物理地址进行回应
②
(a)
(b)
使用 AR P 代理服务器的物理地址发送数据
③
W o rk sta tio n W o rk sta tio n
W o rk sta tio n W o rk sta tio n W o rk sta tio n W o rk sta tio n
W o rk sta tio n W o rk sta tio n
W o rk sta tio n H2
W o rk sta tio n H2
AR P 代理服务器
AR P 代理服务器网络 1
网络 1
网络 2
网络 2
图 6-7 代理 ARP
网络互连技术教程
6.1.4 命令与示例
6.2 RARP
通常机器的 IP地址是保存在它的硬盘中的,操作系统在启动时从配置文件中读取 IP地址 。 但是一个没有硬盘的机器如何确定它自己的 IP地址? 如 X终端或无盘工作站,则需要其它方法来获得 IP地址 。 反向地址转换协议 (Reverse Address Resolution
Protocol RARP),可以支持无盘主机从服务器得到它的 IP地址 。
RARP是 ARP协议改变过来的 。 而它不仅允许请求本机的 IP地址,
还允许机器请求第三方的 IP地址,并适用于多种物理网络类型 。
网络互连技术教程寻找 IP地址的思想很简单:需要知道自己地址的机器向服务器发送请求,并等待服务器发出响应。 RARP
服务器管理网络的 IP地址,并在收到 IP地址请求时向提出请求的主机分配 IP地址。发出请求的机器和响应的服务器在简短的通信中都使用物理网络地址。请求方开始时并不知道服务器的物理地址,所以它只简单地在本地网络上发出广播请求。被授权提供 RARP服务的机器处理请求并发出回答;这样的机器称为 RARP服务器。
要成功的使用 RARP,网络上必须至少有一个 RARP服务器。
网络互连技术教程像 ARP报文一样,RARP报文是封装在一个网络帧的数据部分从一台机器传送到另一台机器上的。一个携带 RARP请求的以太网帧中含有以太网源网点和目的网点地址以及类型字段。类型字段中的值为 8035H,
用来标识帧的内容是一个 RARP报文。帧的数据部分包含了 RARP报文,RARP报文的格式与 ARP报文格式相同。
图 6-8说明了如何使用 RARP。
网络互连技术教程图 6-8 RARP请求与应答网络互连技术教程
( 1) 发送方广播一个指定它自己既是发送方又是接收方的
RARP请求,并把它自己的物理网络地址放到目标硬件地址字段中 。
( 2) 网上的所有机器都接收该请求 。
( 3) 服务器填写目标协议地址字段,并把报文类型从,请求,改成,回答,,然后直接把回答发回提出请求的机器 。
( 4) 这台机器收到所有 RARP服务器的回答后,只使用第一个回答中的信息,抛弃其他回答 。
请记住,在请求自己 IP地址的机器与提供这一地址的服务器之间,它们所有的通信都只使用物理网络地址 。 此外,协议还允许主机对任意目标主机地址进行询问 。