第3章(B)地址解析_第1页
第3章(B)地址解析_第2页
第3章(B)地址解析_第3页
第3章(B)地址解析_第4页
第3章(B)地址解析_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章(B) 地址解析互联网地址能够互联网地址能够将不同的物理地址统一将不同的物理地址统一起来,起来,采用的技术是在各种物理网络技术上覆盖一层采用的技术是在各种物理网络技术上覆盖一层软件软件(IP(IP协议协议+ARP+ARP协议协议+RARP+RARP协议协议) ),将物理地,将物理地址隐藏起来。址隐藏起来。在物理网络上传输时使用的仍是物理地址在物理网络上传输时使用的仍是物理地址。因特网因特网在在网络层使用网络层使用IPIP地址的同时,在物理网地址的同时,在物理网络中仍使用物理地址络中仍使用物理地址。网络中就同时存在两套地址,而且在这网络中就同时存在两套地址,而且在这两套地两套地址之间必须建

2、立映射关系址之间必须建立映射关系。 IPIP地址又称为地址又称为逻辑地址逻辑地址,逻辑地址由软件进,逻辑地址由软件进行处理。建立逻辑地址与行处理。建立逻辑地址与物理地址物理地址之间之间映射映射的方法通常有两种的方法通常有两种:静态映射静态映射主要采用地址映射表格来实现逻辑主要采用地址映射表格来实现逻辑地址与物理地址之间的映射。由于地址映射地址与物理地址之间的映射。由于地址映射表一般由表一般由人工方式建立和维护人工方式建立和维护,所以,所以不能适不能适应应物理地址和逻辑地址频繁变化的网络和规物理地址和逻辑地址频繁变化的网络和规模庞大的网络。模庞大的网络。动态映射动态映射是在需要获得地址映射关系时

3、是在需要获得地址映射关系时利用利用网络通信协议网络通信协议直接从其他主机上获得映射信直接从其他主机上获得映射信息。息。因特网采用了动态映射的方法进行地址因特网采用了动态映射的方法进行地址映射映射。 逻辑地址与物理地址之间的映射称为地址解逻辑地址与物理地址之间的映射称为地址解析析(Address resolution)。地址解析包括。地址解析包括两两个方面个方面的内容:的内容:从从IP地址到物理地址的映射地址到物理地址的映射从物理地址到从物理地址到IP地址的映射地址的映射TCP/IP用用两个协议两个协议来实现这两种映射,一个是来实现这两种映射,一个是地址解析协议地址解析协议ARP,另一个是,另一

4、个是反向地址解析反向地址解析协议协议RARP。ARP用于从用于从IP地址到物理地址的映射地址到物理地址的映射RARP用于从物理地址到用于从物理地址到IP地址的映射地址的映射第3章 地址解析3.1 地址解析协议地址解析协议(ARP) 3.2 反向地址解析协议反向地址解析协议(RARP) 3.3 地址解析报文地址解析报文 3.3 代理代理ARP 3.1 地址解析协议地址解析协议(ARP)3.1.1 地址解析原理地址解析原理n地址解析协议地址解析协议ARP使使IP能够获得与某个给定能够获得与某个给定IP地址相关的主机物理地址。地址相关的主机物理地址。ARP的功能分为的功能分为两部分两部分:n发送数据

5、包请求获得目的主机的物理地址发送数据包请求获得目的主机的物理地址n向请求物理地址的主机发送解析结果。向请求物理地址的主机发送解析结果。 n当主机当主机A需要向同一物理网络中的主机需要向同一物理网络中的主机B发送发送IP数据报时,主机数据报时,主机A的的IP层要将层要将IP数据报传给数据报传给数据链路层进行帧封装数据链路层进行帧封装,封装时要求给出目的,封装时要求给出目的主机的物理地址。主机的物理地址。ARP请求帧将包括如下请求帧将包括如下信息信息: 请求主机的物理地址请求主机的物理地址PA 请求主机的请求主机的IP地址地址IA 目的主机的目的主机的IP地址地址IB 主机主机A在本地网络中广播在

6、本地网络中广播ARP请求帧,请求请求帧,请求帧的目的地址为广播地址(全帧的目的地址为广播地址(全“1”)。)。ARP应答帧应答帧直接发回直接发回给发送给发送ARP请求的主机请求的主机A 。ARP应答帧包含以下应答帧包含以下信息信息:应答主机的物理地址应答主机的物理地址PB;应答主机的应答主机的IP地址地址IB ;请求主机的物理地址请求主机的物理地址PA;请求主机的请求主机的IP地址地址IA 图图 4-2 ARP 请请求求以以广广播播方方式式发发送送 IP 地地址址:196.168.27.20 物物理理地地址址:0 x45EF695A263B 主主机机 A ARP 请请求求 196.168.27

7、.19 主主机机 B IP 地地址址:196.168.27.22 物物理理地地址址:0 x45EF695A1716 IP 地地址址:196.168.27.21 物物理理地地址址:0 x45EF695A2712 IP 地地址址:196.168.27.1 物物理理地地址址:0 xC0E1623418A1 196.168.27.22 对对应应的的 物物理理地地址址是是什什么么? 图图 4-3 ARP 应应答答以以单单播播方方式式发发送送 IP 地地址址:196.168.27.20 物物理理地地址址:0 x45EF695A263B 主主机机 A ARP 应应答答 196.168.27.19 主主机机

8、B IP 地地址址:196.168.27.22 物物理理地地址址:0 x45EF695A1716 IP 地地址址:196.168.27.21 物物理理地地址址:0 x45EF695A2712 IP 地地址址:196.168.27.1 物物理理地地址址:0 xC0E1623418A1 196.168.27.22 对对应应的的物物理理 地地址址是是 0 x45EF695A1716 利用从应答帧中得到的目的主机的物理地址利用从应答帧中得到的目的主机的物理地址PB完成完成IP数据报的帧封装,并将该帧发送给主数据报的帧封装,并将该帧发送给主B。这里需要。这里需要注意注意两点两点: ARP请求帧在物理网络

9、中是以请求帧在物理网络中是以广播方式广播方式发送的,发送的,ARP应答帧是以应答帧是以单播方式单播方式发送的。发送的。 目的主机必须与源主机位于同一物理网络目的主机必须与源主机位于同一物理网络。 3.1.2 ARP缓存缓存n问题问题:如果每次在发送:如果每次在发送IP数据报前都重复上数据报前都重复上面的过程,势必会带来较大的开销。广播面的过程,势必会带来较大的开销。广播ARP请求不仅要耗费请求不仅要耗费带宽带宽,而且使得本地网,而且使得本地网络中的每台主机都要络中的每台主机都要处理处理该广播帧,或忽略该广播帧,或忽略或给出响应帧。或给出响应帧。n解决解决:为了使地址解析时的广播尽可能少,:为了

10、使地址解析时的广播尽可能少,每台主机都维护一个名为每台主机都维护一个名为ARP高速缓存高速缓存的本的本地列表。地列表。ARP高速缓存中含有高速缓存中含有最近使用过的最近使用过的IP地址与物理地址的映射列表地址与物理地址的映射列表。ARP请求和请求和应答方都把对方的地址映射存储在应答方都把对方的地址映射存储在ARP高速高速缓存中。缓存中。n使用使用:当发送:当发送IP数据报需要获取目的主机的数据报需要获取目的主机的物理地址时,首先物理地址时,首先检查检查它的它的ARP高速缓存,高速缓存,如果如果ARP高速缓存中已经高速缓存中已经存在存在对应的映射表对应的映射表项,则目的主机的硬件地址可以从项,则

11、目的主机的硬件地址可以从ARP高速高速缓存中获得,主机可以立即发送缓存中获得,主机可以立即发送IP数据报。数据报。只有当只有当ARP高速缓存中高速缓存中不存在不存在与该目的与该目的IP地地址对应的映射表项时,才广播址对应的映射表项时,才广播ARP请求。请求。n创建创建:由于:由于ARP高速缓存位于内存中,因此高速缓存位于内存中,因此每次计算机或路由器重新启动时,都必须每次计算机或路由器重新启动时,都必须动动态地创建地址映射表态地创建地址映射表。当主机收到一个。当主机收到一个ARP请求帧或响应帧时,检查它的请求帧或响应帧时,检查它的ARP高速缓存,高速缓存,如果如果ARP高速缓存中高速缓存中不存

12、在不存在对应的映射表项,对应的映射表项,则将则将ARP请求帧或响应帧中的发送方的请求帧或响应帧中的发送方的IP地地址和物理地址址和物理地址加入加入到到ARP高速缓存中。高速缓存中。 1ARP高速缓存中地址映射表项的超时高速缓存中地址映射表项的超时问题问题:由于:由于IP地址与物理地址的地址与物理地址的映射关系映射关系可可能因网络接口或能因网络接口或IP地址的变化而地址的变化而发生变化发生变化,对于对于ARP高速缓存中地址映射表项都存在一高速缓存中地址映射表项都存在一个个过时过时的问题。的问题。解决解决:给:给ARP高速缓存中的每一个表项设置高速缓存中的每一个表项设置一个超时值,使得每个地址映射

13、表项都有一一个超时值,使得每个地址映射表项都有一个生命期。个生命期。不同的不同的TCP/IP实现实现使用不同的超时值,短的使用不同的超时值,短的仅有几十秒钟,而长的则长达几个小时。超仅有几十秒钟,而长的则长达几个小时。超时值越时值越短短,系统中出现的,系统中出现的ARP请求广播就越请求广播就越多。但若超时值过多。但若超时值过长长,主机又不能及时地发,主机又不能及时地发现地址映射关系的改变,也可能会引起问题。现地址映射关系的改变,也可能会引起问题。2. 静态静态ARP表项表项n一种控制地址映射表项超时值的方法是在一种控制地址映射表项超时值的方法是在ARP高速缓存中创建一个高速缓存中创建一个静态表

14、项静态表项。静态表。静态表项是永不超时的地址映射表项。静态表项主项是永不超时的地址映射表项。静态表项主要用在一台主机经常向另一台主机发送要用在一台主机经常向另一台主机发送ARP请求的情况下。为了提高效率,减少不必要请求的情况下。为了提高效率,减少不必要的开销,可以在的开销,可以在ARP高速缓存中创建一个静高速缓存中创建一个静态表项,使该地址映射表项始终存在于态表项,使该地址映射表项始终存在于ARP高速缓存中,高速缓存中,避免向某一主机发送避免向某一主机发送ARP广播。广播。n静态表项也有可能发生变化静态表项也有可能发生变化:n当主机接收到当主机接收到ARP广播,而且该广播所含广播,而且该广播所

15、含的地址信息与当前的地址信息与当前ARP高速缓存中对应的高速缓存中对应的静态表项不一致时,主机将用新收到的物静态表项不一致时,主机将用新收到的物理地址替代原有的物理地址,并为该表项理地址替代原有的物理地址,并为该表项设置超时值,使其不再是静态表项。设置超时值,使其不再是静态表项。n使用使用arp实用程序可以人工删除静态表项。实用程序可以人工删除静态表项。n重新启动主机也会使静态表项丢失。重新启动主机也会使静态表项丢失。n静态表项的静态表项的不足之处不足之处是不能很好地适应地址是不能很好地适应地址映射的变化。映射的变化。3.1.3 ARP实用程序实用程序n通过通过arp实用程序,可以实用程序,可

16、以对对ARP高速缓存进行查看和高速缓存进行查看和管理管理。ARP命令可以命令可以显示显示或或删除删除ARP高速缓存中的高速缓存中的IP地址与物理地址的映射表项,而且还可以地址与物理地址的映射表项,而且还可以添加添加静态表静态表项。项。narp命令的格式如下:命令的格式如下: arp -a inet_addr 显示地址映射表项,显示地址映射表项, 为可选项。为可选项。 arp -g inet_addr 功能与功能与arp -a inet_addr相同。相同。 arp -d inet_addr 删除由删除由inet_addr所指定的表项。所指定的表项。 arp -s inet_addr phys_

17、addr 增加由增加由inet_addr和和phys_addr指定指定的静态表项。的静态表项。 inet_addr为点分十进制格式的为点分十进制格式的IP地址,地址,phys_addr为十六进制形为十六进制形式的物理地址,物理地址的字节之间用短横线分割,例如,式的物理地址,物理地址的字节之间用短横线分割,例如,0C-26-1B-23-35-67 。 3.1.3 地址解析实例地址解析实例n参与通信的源主机与目的主机可能位于参与通信的源主机与目的主机可能位于同一个子网,也可能位于不同的子网。同一个子网,也可能位于不同的子网。1. 源主机与目的主机源主机与目的主机位于同一子网位于同一子网 假设一台假

18、设一台IP地址为地址为196.168.27.20的主机,的主机,希望向位于同一子网中希望向位于同一子网中IP地址为地址为 196.168.27.22的主机发送的主机发送IP数据报。数据报。进行进行IP地址解析的过程如图地址解析的过程如图3-3和和3-5所示,所示,其具体步骤如下其具体步骤如下: 图图4-4 位位于于同同一一子子网网的的主主机机进进行行通通信信时时的的ARP请请求求过过程程 IP地地址址:196.168.27.20 物物理理地地址址: 0 x45EF695A263B 主主机机A 发发送送ARP请请求求 主主机机B IP地地址址:196.168.27.22 物物理理地地址址:0 x

19、45EF695A1716 IP地地址址 物物理理地地址址 IP地地址址 物物理理地地址址 196.168.27.20 0 x45EF695A263B 主主机机A的的ARP高高速速缓缓存存 主主机机B的的ARP高高速速缓缓存存 查查询询ARP高高速速缓缓存存 写写ARP高高速速缓缓存存 图图4-5 位位 于于 同同 一一 子子 网网 的的主主 机机 进进 行行 通通 信信 时时 的的ARP应应答答 处处 理理 IP地地址址 :196.168.27.20 物物 理理 地地 址址 : 0 x45E F695A263B 主主 机机A 发发 送送ARP应应答答 主主 机机B IP地地址址 :196.16

20、8.27.22 物物 理理 地地 址址 :0 x45E F695A1716 IP地地址址 物物 理理 地地址址 196.168.27.22 0 x45E F695A1716 IP地地址址 物物 理理 地地址址 196.168.27.20 0 x45E F695A263B 主主 机机A的的ARP高高速速 缓缓 存存 主主 机机B的的ARP高高速速 缓缓 存存 更更 新新ARP高高 速速 缓缓 存存 (1)检查本地检查本地ARP高速缓存高速缓存n当试图确定同一子网上目的主机的物理地址当试图确定同一子网上目的主机的物理地址时,时,ARP首先首先检查检查本地的本地的ARP高速缓存,确高速缓存,确定它是

21、否含有目的主机的定它是否含有目的主机的IP地址与物理地址地址与物理地址的映射。如果的映射。如果包含包含,则取出目的主机的物理,则取出目的主机的物理地址,利用物理地址将地址,利用物理地址将IP数据报封装成帧。数据报封装成帧。此时不需要广播此时不需要广播ARP请求,因为目的主机的请求,因为目的主机的物理地址已经在以前的通信中被存入了本地物理地址已经在以前的通信中被存入了本地的的ARP高速缓存。如果高速缓存。如果ARP高速缓存中高速缓存中不包不包含含相关的地址映射,则进行下一步操作。相关的地址映射,则进行下一步操作。(2)向目的主机)向目的主机发送发送ARP请求请求n若若ARP高速缓存不包含所需的地

22、址映射,主高速缓存不包含所需的地址映射,主机就会形成一个机就会形成一个ARP请求请求,以物理广播地址,以物理广播地址在本子网上在本子网上广播广播,并等待目的主机的应答。,并等待目的主机的应答。(3)将请求者的地址信息)将请求者的地址信息写入写入ARP高速缓存高速缓存n由于由于ARP请求是子网上的广播,因而该子网请求是子网上的广播,因而该子网上的每台主机都会收到广播,并将自己的上的每台主机都会收到广播,并将自己的IP地地址和该址和该ARP请求中的目的主机请求中的目的主机IP地址进行地址进行比比较较。如果。如果不匹配不匹配,则,则ARP请求被忽略;如果请求被忽略;如果ARP请求中的目的主机请求中的

23、目的主机IP地址与本机的地址与本机的IP地址地址相相匹配匹配,则目的主机就将发送者的,则目的主机就将发送者的IP地址与物地址与物理地址写入到本机的理地址写入到本机的ARP高速缓存中。高速缓存中。 (4)向请求者)向请求者发送发送ARP响应响应n如果在如果在ARP请求期间产生准确的匹配,则目请求期间产生准确的匹配,则目的主机就向发送主机以单播方式发出一个的主机就向发送主机以单播方式发出一个ARP应答应答(因为此时应答主机已经知道了请(因为此时应答主机已经知道了请求方的物理地址)。求方的物理地址)。 (5)请求方)请求方更新更新ARP高速缓存高速缓存n请求主机收到请求主机收到ARP应答后,取出应答

24、中应答应答后,取出应答中应答者的者的IP地址与物理地址,将其写入它的地址与物理地址,将其写入它的ARP高速缓存。至此,双方都已知道了对方的地高速缓存。至此,双方都已知道了对方的地址映射,完成了地址解析,下面就可以进行址映射,完成了地址解析,下面就可以进行两主机之间的通信了两主机之间的通信了2. 源主机与目的主机位于不同的子网源主机与目的主机位于不同的子网n目的主机与源主机不在同一子网中时,源主目的主机与源主机不在同一子网中时,源主机与目的主机之间有一台或多台路由器,机与目的主机之间有一台或多台路由器,ARP必须为必须为IP数据报通过的每个路由器解析数据报通过的每个路由器解析IP地址。地址。源主

25、机根据源源主机根据源IP地址、目的地址、目的IP地址以及子网地址以及子网掩码可以掩码可以判断判断出本主机与目的主机位于不同出本主机与目的主机位于不同的子网,源主机的子网,源主机根据其路由表根据其路由表(或默认网关(或默认网关设置)得到去往目的主机的下一跳路由器设置)得到去往目的主机的下一跳路由器路由器路由器1的的IP地址,源主机通过地址,源主机通过ARP解析解析得得到路由器到路由器1端口端口1A的物理地址,然后将要传送的物理地址,然后将要传送给目的主机的给目的主机的IP数据报用该物理地址封装成数据报用该物理地址封装成帧后发送给路由器帧后发送给路由器1。 图图 4-6 位于不同子网的主机进行通信

26、时的地址解析和数据传输处理位于不同子网的主机进行通信时的地址解析和数据传输处理 源主机源主机 目的主机目的主机 路由器路由器 1 网络网络 端口端口 1A 路由器路由器 2 网络网络 端口端口 2A 路由器路由器 n 网络网络 端口端口 nA ARP 解析解析 IP 数据报传输数据报传输 ARP 解析解析 ARP 解析解析 IP 数据报传输数据报传输 IP 数据报传输数据报传输 路由器路由器1收到该收到该IP数据报后,根据目的主机的数据报后,根据目的主机的IP地址和自己的地址和自己的路由表路由表确定去往目的主机的确定去往目的主机的下一跳下一跳路由器路由器路由器路由器2的的IP地址,并通过地址,

27、并通过ARP解析解析得到路由器得到路由器2端口端口2A的物理地址,然后将要传送的物理地址,然后将要传送给目的主机的给目的主机的IP数据报用该物理地址封装数据报用该物理地址封装成帧成帧后后发送发送给路由器给路由器2。如此下去,以如此下去,以逐级跳逐级跳的方式将的方式将IP数据报传至路由数据报传至路由器器n。路由器。路由器n根据目的主机的根据目的主机的IP地址解析得到目地址解析得到目的主机的物理地址,用该物理地址将的主机的物理地址,用该物理地址将IP数据报封数据报封装成帧后发送给目的主机。装成帧后发送给目的主机。假设一台假设一台IP地址为地址为172.16.1.9,子网掩码为,子网掩码为255.2

28、55.255.0的客户机希望向的客户机希望向IP地址为地址为 172.16.2.5的的主机发送主机发送IP数据报。数据报。当主机当主机A要向主机要向主机B传输数据报时,传输数据报时,TCP/IP软件会利软件会利用子网掩码确定主机用子网掩码确定主机B位于位于远程子网远程子网上。上。(1)检查本地高速缓存)检查本地高速缓存当一台设备确认目的当一台设备确认目的IP地址不属于本子网时,它会根地址不属于本子网时,它会根据本身的路由表找到去往目的网络的据本身的路由表找到去往目的网络的路由器的路由器的IP地址地址(图中为(图中为172.16.1.1)。然后根据此)。然后根据此IP地址确定路由地址确定路由器该

29、端口的硬件地址,器该端口的硬件地址,ARP首先首先检查检查本地的本地的ARP高速高速缓存,确定它是否含有路由器对应端口的缓存,确定它是否含有路由器对应端口的IP地址与物地址与物理地址的映射。如果包含,则理地址的映射。如果包含,则ARP取出路由器端口的取出路由器端口的硬件地址,并以此物理地址为目的地址完成数据帧的硬件地址,并以此物理地址为目的地址完成数据帧的封装和传输。封装和传输。 图图 4-7 位位于于不不同同子子网网的的主主机机进进行行通通信信时时先先完完成成对对路路由由器器的的地地址址解解析析和和数数据据传传输输 IP 地地址址:172.16.1.9 物物理理地地址址:0 x02608C5

30、A263B 主主机机 A 发发送送 ARP 请请求求 主主机机 B IP 地地址址:172.16.2.5 物物理理地地址址:0 x02608C401716 IP 地地址址 物物理理地地址址 172.16.1.9 0 x02608C5A263B 主主机机 A 的的 ARP 高高速速缓缓存存 路路由由器器的的 ARP 高高速速缓缓存存 查查询询 ARP 高高速速缓缓存存 写写 ARP 高高速速缓缓存存 IP 地地址址 物物理理地地址址 主主机机 B的的 ARP 高高速速缓缓存存 IP 地地址址 物物理理地地址址 IP 地地址址:172.16.1.1 物物理理地地址址:0 x00000C302411

31、 IP 地地址址:172.16.2.1 物物理理地地址址:0 x00000C302412 (2)向下一跳路由器发送)向下一跳路由器发送ARP请求请求如果在如果在ARP高速缓存中没有发现路由器高速缓存中没有发现路由器IP地址地址的映射,则主机的映射,则主机A必须向该路由器必须向该路由器发送发送ARP请求请求广播,并等待答复。该广播,并等待答复。该ARP请求包含发送者的请求包含发送者的IP地址和硬件地址,以及路由器的地址和硬件地址,以及路由器的IP地址。地址。(3)缓存缓存ARP请求请求由于由于ARP请求是子网上的广播,因而网络上的每请求是子网上的广播,因而网络上的每台设备都能接收到该数据包,并将

32、自己的台设备都能接收到该数据包,并将自己的IP地址地址和该和该ARP请求中所指定的请求中所指定的IP地址相比较。若不匹地址相比较。若不匹配,则忽略;若相匹配,则刷新本地配,则忽略;若相匹配,则刷新本地ARP高速缓高速缓存。当路由器有多个网络接口时,每个接口都维存。当路由器有多个网络接口时,每个接口都维护各自的高速缓存。护各自的高速缓存。(4)路由器将)路由器将ARP应答传给源主机应答传给源主机路由器向源主机发出一个路由器向源主机发出一个ARP应答,应答给出了应答,应答给出了路由器与主机路由器与主机A所在网络的接口的所在网络的接口的IP地址解析。地址解析。(5)源主机)源主机刷新自己的刷新自己的

33、ARP高速缓存高速缓存 源主机刷新自己的源主机刷新自己的ARP高速缓存,使其包含从高速缓存,使其包含从ARP应答中得到的路由器的应答中得到的路由器的IP地址地址-物理地址映射。物理地址映射。 图图 4-8 位位于于不不同同子子网网的的主主机机进进行行通通信信时时路路由由器器参参与与地地址址解解析析 IP 地地址址:172.16.1.9 物物理理地地址址:0 x02608C5A263B 主主机机 A 发发送送 ARP 响响应应 主主机机 B IP 地地址址:172.16.2.5 物物理理地地址址:0 x02608C401716 IP 地地址址 物物理理地地址址 172.16.1.9 0 x026

34、08C5A263B 主主机机 A 的的 ARP 高高速速缓缓存存 路路由由器器的的 ARP 高高速速缓缓存存 写写 ARP 高高速速缓缓存存 IP 地地址址 物物理理地地址址 172.16.2.1 0 x00000C302412 主主机机 B的的 ARP 高高速速缓缓存存 写写 ARP 高高速速缓缓存存 IP 地地址址 物物理理地地址址 172.16.1.1 0 x00000C302411 IP 地地址址:172.16.1.1 物物理理地地址址:0 x00000C302411 IP 地地址址:172.16.2.1 物物理理地地址址:0 x00000C302412 发发送送数数据据帧帧 查查询询

35、 ARP 高高速速缓缓存存 发发送送 ARP 请请求求 (6)源主机向路由器)源主机向路由器发送数据发送数据完成路由器地址的解析后,将数据传给路由器。完成路由器地址的解析后,将数据传给路由器。(7)路由器进行转发前查询)路由器进行转发前查询ARP高速缓存高速缓存数据被传送到路由器后,路由器根据数据被传送到路由器后,路由器根据IP数据报中目的主数据报中目的主机的机的IP地址和地址和路由表路由表确定数据是否已到达最后一跳路由确定数据是否已到达最后一跳路由器。若不是,则继续向下一跳路由器转发;否则,可以器。若不是,则继续向下一跳路由器转发;否则,可以直接发往目的主机。直接发往目的主机。(8)向目的主

36、机发送)向目的主机发送ARP请求请求如果在路由器的如果在路由器的ARP高速缓存中没有找到目的主机高速缓存中没有找到目的主机的地址映射,则路由器就必须向通往目的网络的接的地址映射,则路由器就必须向通往目的网络的接口广播一个口广播一个ARP请求,并等待答复。请求,并等待答复。(9)刷新)刷新ARP高速缓存高速缓存目的子网上的所有主机均能接收到目的子网上的所有主机均能接收到ARP广播,并将广播,并将自己的自己的IP地址与地址与ARP请求中所指定的请求中所指定的IP地址进行比地址进行比较。如果不相匹配,则抛弃该较。如果不相匹配,则抛弃该ARP请求;如果匹配,请求;如果匹配,则目的主机刷新它的则目的主机

37、刷新它的ARP高速缓存表目。高速缓存表目。(10)目的主机将)目的主机将ARP应答发送回路由器应答发送回路由器 目的主机向路由器发回一个目的主机向路由器发回一个ARP应答。应答中包含应答。应答中包含对目的主机地址的解析结果。对目的主机地址的解析结果。(11)路由器刷新高速缓存)路由器刷新高速缓存路由器收到应答后,刷新自己的高速缓存,使其包路由器收到应答后,刷新自己的高速缓存,使其包含目的主机的地址映射。含目的主机的地址映射。(12)路由器向目的主机转发数据)路由器向目的主机转发数据完成目的主机地址的解析后,源主机根据目的完成目的主机地址的解析后,源主机根据目的主机的物理地址进行物理数据帧的封装

38、,然主机的物理地址进行物理数据帧的封装,然后将数据传给目的主机。后将数据传给目的主机。至此,源主机和目的主机完成了一次单向通信。至此,源主机和目的主机完成了一次单向通信。第一次通信时要完成第一次通信时要完成ARP高速缓存的写入,高速缓存的写入,后面的通信就变得容易得多了。后面的通信就变得容易得多了。引入引入ARP高高速缓存的好处速缓存的好处在于:一次解析,多次使用。在于:一次解析,多次使用。这里需要这里需要注意注意的是:数据包在从源到目的地的的是:数据包在从源到目的地的传输是通过传输是通过逐级跳的逐级跳的方式完成的。在转发过方式完成的。在转发过程中数据包的程中数据包的IP地址是不发生变化的地址

39、是不发生变化的,而,而物物理地址在每一跳都会发生变化理地址在每一跳都会发生变化。远程通信时。远程通信时的逐段地址解析正是为了满足这一要求。的逐段地址解析正是为了满足这一要求。 图图 4-9 位位于于不不同同子子网网的的主主机机进进行行通通信信时时路路由由器器转转发发数数据据 IP地地址址:172.16.1.9 物物理理地地址址:0 x02608C5A263B 主主机机 A 主主机机 B IP地地址址:172.16.2.5 物物理理地地址址:0 x02608C401716 IP地地址址 物物理理地地址址 172.16.1.9 0 x02608C5A263B 172.16.2.5 0 x02608

40、C401716 主主机机 A的的 ARP高高速速缓缓存存 路路由由器器的的 ARP高高速速缓缓存存 IP地地址址 物物理理地地址址 172.16.2.1 0 x00000C302412 主主机机 B的的 ARP高高速速缓缓存存 IP地地址址 物物理理地地址址 172.16.1.1 0 x00000C302411 IP地地址址:172.16.1.1 物物理理地地址址:0 x00000C302411 IP地地址址:172.16.2.1 物物理理地地址址:0 x00000C302412 刷刷新新 ARP高高速速缓缓存存 发发送送数数据据帧帧 发发送送 ARP请请求求 返回返回3.1.5 ARP协议漏

41、洞n漏洞的根源就是ARP协议是无连接的 没有ARP的请求也可以ARP回复.最致命的就是操作系统收到这个请求后就会更新ARP缓存。 ARP请求也可以伪造。 ARP主机的缓存中毒!nArp floodn arp 泛洪,只要是瞬间发送大量的arp数据包给switch,填满switch的mac table,导致无法switch工作异常,n 提示:这时switch就会象hub一样工作Arp floodARP的单向欺骗ARP的中间人攻击3.2 反向地址解析协议反向地址解析协议(RARP)n反向地址解析协议反向地址解析协议RARP可以实现从物理地可以实现从物理地址到址到IP地址的转换。反向地址解析协议被无地

42、址的转换。反向地址解析协议被无盘计算机用来获取其盘计算机用来获取其IP地址。由于无盘计算地址。由于无盘计算机没有外部存储器来记录其机没有外部存储器来记录其IP地址,一旦关地址,一旦关机,就会丢掉它的机,就会丢掉它的IP地址。地址。n无盘计算机为了在开机时获得它的无盘计算机为了在开机时获得它的IP地址,地址,必须有一个必须有一个唯一的且容易读取的标识符唯一的且容易读取的标识符,根,根据这一标识,无盘计算机可以从据这一标识,无盘计算机可以从RARP服务服务器器上获得其上获得其IP地址。地址。n物理地址物理地址可以直接从硬件(可以直接从硬件(NIC)中读取,而)中读取,而且物理地址在一个物理网络中是

43、唯一的。因且物理地址在一个物理网络中是唯一的。因此,物理地址是解析协议地址的最佳标识符。此,物理地址是解析协议地址的最佳标识符。n在进行反向地址解析前,无盘计算机只知道在进行反向地址解析前,无盘计算机只知道自己的物理地址,另外还具有一个位于自己的物理地址,另外还具有一个位于ROM中的基本输入中的基本输入/输出系统。通过这个基本输入输出系统。通过这个基本输入/输出系统无盘计算机可以在网络上传送数据。输出系统无盘计算机可以在网络上传送数据。n由于无盘计算机不知道自己的由于无盘计算机不知道自己的IP地址,同时也地址,同时也不知道不知道RARP服务器的服务器的IP地址和物理地址,因地址和物理地址,因此

44、,无盘计算机只能此,无盘计算机只能以广播方式发出以广播方式发出RARP请请求求。反向地址解析过程如图。反向地址解析过程如图3-10所示。所示。n之所以之所以RARP服务器能够给出无盘计算机的地服务器能够给出无盘计算机的地址映射,是因为址映射,是因为RARP服务器上存有管理人员服务器上存有管理人员配置好的配置好的物理地址物理地址-IP地址映射表地址映射表。 图图 4-10 RARP 请请求求与与应应答答过过程程 物物理理地地址址:0 x45EF695A263B RARP 地地址址映映射射表表 物物理理地地址址 IP 地地址址 0 x45EF695A263B 196.168.27.20 RARP

45、请请求求 RARP 应应答答 RARP 服服务务器器 (1)无盘计算机以广播方式发出携带本机物理地址的)无盘计算机以广播方式发出携带本机物理地址的RARP请求。注意这里的广播是帧的广播,即目的请求。注意这里的广播是帧的广播,即目的MAC地址为全地址为全“1”。(2)网上所有的计算机均收到该请求,但只有提供)网上所有的计算机均收到该请求,但只有提供RARP服务的服务的RARP服务器处理请求并根据请求者的服务器处理请求并根据请求者的物理地址物理地址查物理地址查物理地址-IP地址映射表地址映射表,然后形成应答。,然后形成应答。应答以单播方式发送。应答以单播方式发送。n为了保证系统的为了保证系统的可靠

46、性可靠性,可以在网络上设置,可以在网络上设置若干台若干台RARP服务器,此时,请求者会收到多服务器,此时,请求者会收到多个个RARP服务器的应答,而请求者只认可最先服务器的应答,而请求者只认可最先到达的一个应答。到达的一个应答。n为了防止多个为了防止多个RARP服务器同时给出应答造成服务器同时给出应答造成冲突冲突,可以将,可以将RARP服务器分服务器分为为主主RARP服务服务器和备份器和备份RARP服务器服务器,主,主RARP服务器只有服务器只有一个而备份一个而备份RARP服务器可以有多个。正常情服务器可以有多个。正常情况下由主况下由主RARP服务器给出应答,只有当主服务器给出应答,只有当主R

47、ARP服务器不能给出应答时,备份服务器不能给出应答时,备份RARP服服务器才介入解析工作。务器才介入解析工作。n设备不仅可以对自己的地址进行反向解析,设备不仅可以对自己的地址进行反向解析,而且而且可以对其他机器的地址进行反向解析可以对其他机器的地址进行反向解析。地址解析协议地址解析协议ARP和反向地址解析协议和反向地址解析协议RARP的的不同之处不同之处:nARP假定每个主机都知道自己的物理地址和假定每个主机都知道自己的物理地址和IP地址的映射,地址解析的目的是求取另一地址的映射,地址解析的目的是求取另一个设备的物理地址,而个设备的物理地址,而RARP则主要是由本则主要是由本机的物理地址求取本

48、机的机的物理地址求取本机的IP地址。地址。nRARP需要有需要有RARP服务器帮助完成解析,服务器帮助完成解析,而而ARP不需要专门的服务器。不需要专门的服务器。返回返回 3.3 地址解析报文地址解析报文 3.3.1 地址解析报文格式地址解析报文格式nARP和和RARP都是通过一对请求和应答报文来完成解都是通过一对请求和应答报文来完成解析的。析的。TCP/IP协议为了保证一致性和处理上的方便,协议为了保证一致性和处理上的方便,将将ARP和和RARP的请求和应答报文设计成的请求和应答报文设计成相同的格式相同的格式,通过通过操作字段操作字段来加以区别。这一设计思想在来加以区别。这一设计思想在TCP

49、/IP协议的设计中被反复使用。协议的设计中被反复使用。 硬硬件件类类型型 协协议议类类型型 硬硬件件地地址址长长度度 协协议议地地址址长长度度 操操作作类类型型 发发送送方方硬硬件件地地址址(如如以以太太网网地地址址) 发发送送方方协协议议地地址址(如如 IP 地地址址) 目目的的协协议议地地址址(如如 IP 地地址址) 目目的的硬硬件件地地址址(如如以以太太网网地地址址) 图图 4-11 ARP/RARP 报报文文格格式式 0 8 16 313.3.2 地址解析报文处理地址解析报文处理n在在ARP请求请求报文中,发送方在报文中,发送方在发送方硬件地址字段发送方硬件地址字段填入本机的物理地址,

50、在填入本机的物理地址,在发送方协议地址字段发送方协议地址字段填入填入本机的协议地址(对于本机的协议地址(对于TCP/IP协议就是协议就是IP地址),地址),在在目的协议地址字段目的协议地址字段填入准备解析的目标机的填入准备解析的目标机的IP地地址,址,目的硬件地址目的硬件地址不填(为不填(为0),在),在操作类型字段填操作类型字段填入入“1”表示是表示是ARP请求。请求。ARP请求以请求以广播方式广播方式在物在物理网络中发送。理网络中发送。n在在ARP应答应答报文中,目标机将收到的报文中,目标机将收到的ARP请求报文请求报文中的发送方硬件地址和发送方协议地址放入中的发送方硬件地址和发送方协议地

51、址放入目的硬目的硬件地址件地址和和目的协议地址目的协议地址,将自己的硬件地址和协议,将自己的硬件地址和协议地址(地址(IP地址)填入地址)填入发送方硬件地址发送方硬件地址和和发送方协议发送方协议地址地址,在,在操作类型字段填入操作类型字段填入“2”表示是表示是ARP应答。应答。ARP应答以应答以单播方式单播方式在物理网络中发送。在物理网络中发送。n在在RARP请求请求报文中,本机一般既是发送方又是目标报文中,本机一般既是发送方又是目标机(需要获得其机(需要获得其IP地址),因此,在发送方硬件地址地址),因此,在发送方硬件地址字段和目的硬件地址字段都填本机的物理地址。操作字段和目的硬件地址字段都

52、填本机的物理地址。操作类型字段填入类型字段填入“3”表示是表示是RARP请求。请求。RARP请求以请求以广播方式在物理网络中发送。广播方式在物理网络中发送。nRARP应答应答报文由报文由RARP服务器给出,因此,服务器给出,因此,RARP服务器是发送方。在服务器是发送方。在RARP应答报文中,应答报文中,发送方硬件发送方硬件地址和发送方协议地址字段填的是给出应答的地址和发送方协议地址字段填的是给出应答的RARP服务器的物理地址和服务器的物理地址和IP地址,地址,而而目的硬件地址和目的目的硬件地址和目的协议地址字段填的是被解析对象的协议地址字段填的是被解析对象的IP地址和物理地址地址和物理地址,

53、操作类型字段填入操作类型字段填入“3”表示是表示是RARP应答。应答。RARP应应答以单播方式在物理网络中发送。答以单播方式在物理网络中发送。3.3.3 地址解析报文封装地址解析报文封装nARP/RARP报文是作为一般数据直接封装在报文是作为一般数据直接封装在物理帧中进行传输的,物理帧中进行传输的,ARP/RARP报文封装报文封装在以太网物理帧中的格式如图所示。在以太网物理帧中的格式如图所示。 帧帧类类型型 ARP/RARP 报报文文 PAD 字字节节 2 28 18 图图 4-14 ARP/RARP 报报文文封封装装在在以以太太网网帧帧中中格格式式 CRC 4 硬硬件件 类类型型 目目的的地地址址 源源地地址址 6 6 协协议议 类类型型 硬硬件件地地 址址长长度度 协协议议地地 址址长长度度 操操作作 类类型型 发发送送者者 以以太太网网地地址址 目目标标 以以太太网网地地址址 发发送送者者 IP 地地址址 目目标标 IP 地地址址 2 2 2 1 1 6 6 4 4 ARP:0 x0806 RARP:0 x8035 1:ARP 请请求求 2:ARP 应应答答 3:RARP 请请求求 4:RARP 应应答答

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论