第讲地址解析协议ARPRARP.ppt
《第讲地址解析协议ARPRARP.ppt》由会员分享,可在线阅读,更多相关《第讲地址解析协议ARPRARP.ppt(45页珍藏版)》请在三一文库上搜索。
1、第3讲 地址解析,为何需要地址解析? 在网络层上,主机和路由器用它们的逻辑地址(IP地址)来标识。 在网络接口层上,主机和路由器用它们的物理地址(MAC地址)来标识。 分组交付时,需要通过物理网络才能到达相应主机和路由器。 由此: 将分组交付到一个主机或路由器需要两级地址:逻辑地址和物理地址。我们需要他们之间的互相映射。 建立逻辑地址与物理地址之间映射的方法通常有两种:静态映射和动态映射,静态映射:主要采用地址映射表来实现逻辑地址与物理地址之间的映射。 由于地址映射表一般由人工方式建立和维护,所以不能适应物理地址和逻辑地址频繁变化的网络和规模庞大的网络。 动态映射:每当一个机器知道两个地址(逻
2、辑地址或物理地址)中的一个时,就可使用协议将另一个地址找出来。 因特网采用了动态映射的方法进行地址映射。,地址解析(Address resolution):为逻辑地址与物理地址之间的映射。 地址解析包括两个方面的内容: 从IP地址到物理地址的映射; 从物理地址到IP地址的映射; TCP/IP用两个协议来实现这两种映射: ARP(地址解析协议):从IP地址到物理地址的映射 RARP(反向地址解析协议):从物理地址到IP地址的映射 ARP和RARP在TCP/IP协议族中的位置:,主要内容,3.1 地址解析协议(ARP) 3.2 反向地址解析协议(RARP) 3.3 地址解析报文 3.4 代理ARP
3、,3.1 地址解析协议(ARP),3.1.1 地址解析原理 地址解析协议ARP:使IP能够获得与某个给定IP地址相关的主机物理地址。 ARP的功能分为两部分: 发送请求获得目的主机的物理地址(广播) 向请求物理地址的主机发送解析结果(单播),ARP工作过程: 问题: 在同一物理网络中,当主机A需要向主机B发送IP数据报时,主机A的IP层要将IP数据报传给数据链路层进行帧封装,封装时要求给出主机B的物理地址 ARP请求帧:包括如下信息: 请求主机的物理地址PA 请求主机的IP地址IA 目的主机的IP地址IB 主机A在本地网络中广播ARP请求帧,请求帧的目的地址为广播地址(全“1”)。 ARP应答
4、帧:直接发回给发送ARP请求的主机A 。ARP应答帧包含以下信息: 应答主机的物理地址PB; 应答主机的IP地址IB ; 请求主机的物理地址PA; 请求主机的IP地址IA,利用从应答帧中得到的目的主机的物理地址PB完成IP数据报的帧封装,并将该帧发送给主机B。 需要注意两点: ARP请求帧在物理网络中是以广播方式发送的,ARP应答帧是以单播方式发送的。 目的主机必须与源主机位于同一物理网络(针对帧)。,3.1.2 ARP高速缓存 ARP工作中存在的问题 如果每次在发送IP数据报前都重复上面的过程,势必会带来较大的开销。 广播ARP请求不仅要耗费带宽,而且使得本地网络中的每台主机都要处理该广播帧
5、,或忽略或给出响应帧。 解决 为使地址解析时的广播尽可能少,每台主机都维护一个名为ARP高速缓存的本地列表。 ARP高速缓存中含有最近使用过的IP地址与物理地址的映射列表。 ARP请求和应答方都把对方的地址映射存储在ARP高速缓存中。,何时使用ARP高速缓存? 当发送IP数据报需要获取目的主机的物理地址时: 首先检查它的ARP高速缓存,如果ARP高速缓存中已经存在对应的映射表项,则目的主机的硬件地址可以从ARP高速缓存中获得,主机可以立即发送IP数据报。 只有当ARP高速缓存中不存在与该目的IP地址对应的映射表项时,才广播ARP请求。 ARP高速缓存的创建 由于ARP高速缓存位于内存中,因此每
6、次计算机或路由器重新启动时,都必须动态地创建地址映射表。 当主机收到一个ARP请求帧或响应帧时,检查它的ARP高速缓存,如果ARP高速缓存中不存在对应的映射表项,则将ARP请求帧或响应帧中的发送方的IP地址和物理地址加入到ARP高速缓存中。,ARP高速缓存中地址映射表项的超时 问题 由于IP地址与物理地址的映射关系可能因网络接口或IP地址的变化而发生变化,对于ARP高速缓存中地址映射表项都存在一个过时的问题。 解决 给ARP高速缓存中的每一个表项设置一个超时值,使得每个地址映射表项都有一个生命期。 不同的TCP/IP实现使用不同的超时值,短的仅有几十秒钟,而长的则长达几个小时。 超时值越短,系
7、统中出现的ARP请求广播就越多。 超时值过长,主机又不能及时地发现地址映射关系的改变,也可能会引起问题。,引入静态ARP表项 一种控制地址映射表项超时值的方法是在ARP高速缓存中创建一个静态表项。 静态表项是永不超时的地址映射表项。 静态表项主要用在一台主机经常向另一台主机发送ARP请求的情况下。 为了提高效率,减少不必要的开销,可以在ARP高速缓存中创建一个静态表项,使该地址映射表项始终存在于ARP高速缓存中,避免向某一主机发送ARP广播。,与静态表项有关的一些问题: 当主机接收到ARP广播,而且该广播所含的地址信息与当前ARP高速缓存中对应的静态表项不一致时,主机将用新收到的物理地址替代原
8、有的物理地址,并为该表项设置超时值,使其不再是静态表项。 使用arp实用程序可以人工删除静态表项。 重新启动主机也会使静态表项丢失。 静态表项的不足之处是不能很好地适应地址映射的变化。,3.1.3 地址解析实例,在主机通信时, 参与通信的源主机与目的主机可能位于同一个子网,也可能位于不同的子网 源主机与目的主机位于同一子网 例子: 假设一台IP地址为196.168.27.20的主机,希望向位于同一子网中IP地址为 196.168.27.22的主机发送IP数据报。 IP地址解析过程如图所示:,(1)检查本地ARP高速缓存 当试图确定同一子网上目的主机的物理地址时,ARP工作过程如下: 首先检查本
9、地的ARP高速缓存,确定它是否含有目的主机的IP地址与物理地址的映射。 如果包含,则取出目的主机的物理地址,利用物理地址将IP数据报封装成帧。 不需要广播ARP请求,因为目的主机的物理地址已经在以前的通信中被存入了本地的ARP高速缓存。 如果ARP高速缓存中不包含相关的地址映射,则进行下一步操作。,(2)向目的主机发送ARP请求 若ARP高速缓存不包含所需的地址映射,主机就会形成一个ARP请求,以物理广播地址在本子网上广播,并等待目的主机的应答。 (3)将请求者的地址信息写入ARP高速缓存 由于ARP请求是子网上的广播,因而该子网上的每台主机都会收到广播,并将自己的IP地址和该ARP请求中的目
10、的主机IP地址进行比较。 如果不匹配,则ARP请求被忽略; 如果ARP请求中的目的主机IP地址与本机的IP地址相匹配,则目的主机就将发送者的IP地址与物理地址写入到本机的ARP高速缓存中。,(4)向请求者发送ARP响应 如果在ARP请求期间产生准确的匹配,则目的主机就向发送主机以单播方式发出一个ARP应答(因为此时应答主机已经知道了请求方的物理地址)。 (5)请求方更新ARP高速缓存 请求主机收到ARP应答后,取出应答中应答者的IP地址与物理地址,将其写入它的ARP高速缓存。 至此,双方都已知道了对方的地址映射,完成了地址解析,下面就可以进行两主机之间的通信了,2. 源主机与目的主机位于不同的
11、子网 目的主机与源主机不在同一子网中时,源主机与目的主机之间有一台或多台路由器,ARP必须为IP数据报通过的每个路由器解析IP地址,如下图所示: 其工作原理如下:,源主机根据源IP地址、目的IP地址以及子网掩码可以判断出本主机与目的主机位于不同的子网; 源主机根据其路由表(或默认网关设置)得到去往目的主机的下一跳路由器路由器1的IP地址; 源主机通过ARP解析得到路由器1端口1A的物理地址; 然后将要传送给目的主机的IP数据报用该物理地址封装成帧后发送给路由器1; 路由器1收到该IP数据报后,根据目的主机的IP地址和自己的路由表确定去往目的主机的下一跳路由器路由器2的IP地址,并通过ARP解析
12、得到路由器2端口2A的物理地址; 然后将要传送给目的主机的IP数据报用该物理地址封装成帧后发送给路由器2; 如此下去,以逐级跳的方式将IP数据报传至路由器n。 路由器n根据目的主机的IP地址解析得到目的主机的物理地址,用该物理地址将IP数据报封装成帧后发送给目的主机。,例子: 假设一台IP地址为172.16.1.9,子网掩码为255.255.255.0的客户机希望向IP地址为 172.16.2.5的主机发送IP数据报。 报文发送过程如下图所示:,响应,报文发送步骤说明: (1)检查本地高速缓存 当一台设备确认目的IP地址不属于本子网时,它会根据本身的路由表找到去往目的网络的路由器的IP地址(图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 地址 解析 协议 ARPRARP
链接地址:https://www.31doc.com/p-2572715.html