《ARP-RARP.ppt》由会员分享,可在线阅读,更多相关《ARP-RARP.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、地址解析协议ARP和反向地址解析协议RARP地址解析协议n在互联网中通过使用IP地址来定位主机的网络接口;n但是,IP地址只是一种逻辑地址,在各物理网络中通信时,真正使用的还是各自的物理地址。因此,需要在这两种地址间进行映射。静态映射和动态映射n静态映射n建立一张IP地址与物理地址相关联的静态映射表。需要时,通过查表即可将IP地址转换为对应的物理地址。n优点:操作简单、实现容易。n缺点:有很大局限性。如当物理地址发生变化,就需要对物理网络中的每一台主机上的映射表进行更新。静态映射和动态映射n动态映射n需要时,再通过协议来获得IP地址与物理地址的映射关系。n使用ARP可以从IP地址映射到物理地址
2、n使用RARP可以从物理地址得到对应的IP地址。nARP和RARP可以使用IP地址到任意物理地址的映射,因此,上述协议可以用于使用了IP协议的任何物理网络中。地址解析协议ARP(Address Resolution Protocol)nARP操作过程1.在ARP Cache中查找从目的IP地址到对应物理地址的映射,若找到,则将该物理地址返回给发送端,否则转下一步;2.ARP模块向网络中广播ARP请求报文,其中包含请求方的IP地址、物理地址,以及需要查询的目标IP地址;3.与被查询IP相符的主机以单播的形式发送一个ARP应答报文给请求方;4.请求方将得到的IP地址与物理地址映射关系存入ARP C
3、ache中。ARP 响应AYXBZ主机 B 向 A 发送ARP 响应分组 主机 A 广播发送ARP 请求分组 ARP 请求ARP 请求ARP 请求ARP 请求209.0.0.5209.0.0.600-00-C0-15-AD-1808-00-2B-00-EE-0A我是 209.0.0.5,硬件地址是 00-00-C0-15-AD-18我想知道主机 209.0.0.6 的硬件地址我是 209.0.0.6硬件地址是 08-00-2B-00-EE-0AAYXBZ209.0.0.5209.0.0.600-00-C0-15-AD-18ARP 高速缓存的作用n为了减少网络上的通信量,主机 A 在发送其 AR
4、P 请求分组时,就将自己的 IP 地址到硬件地址的映射写入 ARP 请求分组。n当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的这一地址映射写入主机 B 自己的 ARP 高速缓存中。这对主机 B 以后向 A 发送数据报时就更方便了。ARP缓存更新机制源主机在发出ARP请求,接收到ARP应答后将目的主机的IP地址与物理地址映射关系存入自己的高速缓冲区。目的主机接收到ARP请求后将源主机的IP地址与物理地址映射关系存入自己的高速缓冲区。ARP请求是广播发送的,网络中的所有主机接收到ARP请求后都可以将源主机的IP 地址与物理地址映射关系存入自己的高速缓冲区。ARP缓存更新的超时机制(
5、windows)新表项加入时定时器开始计时表项添加后2分钟内没有被再次使用:删除表项被再次使用:增加2 分钟的生命周期表项始终在使用:最长生命周期为10 分钟ARP PDU的格式0 7 8 15 16 2324 31硬件类型协议类型硬件长度协议长度操作发送端硬件地址(长度可变)发送端协议地址(长度可变)目标硬件地址(长度可变)目标协议地址(长度可变)ARP PDUn硬件类型(Hardware Type):物理网络的类型(如以太网该字段值为1);n协议类型(Protocol Type):网络层使用的协议类型。(如IPv4协议,该字段为0 x0800);n硬件长度(Hardware Length,
6、HLen):物理地址的长度,单位为字节;n协议长度(Protocol Length,PLen):网络层协议的地址长度,单位为字节;ARP PDUn操作(Operation):定义当前的操作类型n1:ARP请求n2:ARP应答n3:RARP请求n4:RARP应答ARP PDUn发送端硬件地址(Sender Hardware Address):长度可变,用于定义发送端的物理地址;n发送端协议地址(Sender Protocol Address):长度可变,用于定义发送端的协议地址;n目标硬件地址(Target Hardware Address):长度可变,用于定义接收端的物理地址;ARP请求报文中
7、,该字段为全0。n目标协议地址(Sender Protocol Address):长度可变,用于定义接收端的协议地址;以太网/IP的ARP请求PDU0 7 8 15 16 2324 3110 x0800641发送端物理地址(字节03)发送端物理地址(字节45)发送端协议地址(字节01)发送端协议地址(字节23)00目标协议地址(字节03)ARP PDU的封装nARP的分组直接封装到数据链路帧中。n将ARP PDU封装到以太网帧的要点:n以太网帧中的目的端的物理地址应该设置为广播地址:ff-ff-ff-ff-ff-ff,因为请求方不知道目的端的物理地址,因此,需要使用广播地址,以保证目的端一定能
8、收到该请求帧n以太网帧的类型字段应该设置为0 x0806,从而指示出帧中封装的ARP报文(RARP:0 x0835;IP:0 x0800)ARP PDU的封装8字节6字节6字节2字节4字节前同步码和SPD目的地址源地址类型数据CRC由硬件产生不需要用户程序处理由用户程序填写装入ARP请求或应答报文由硬件产生不需要用户程序处理n在以太网上发送ARP PDU的过程:n说明一个封装ARP PDU的数据结构;n构造ARP PDU;n构造以太网帧;n向网络中发送构造好的以太网帧。一个实际的ARP请求报文ff ff ff ff ff ff 00 00 c0 15 ad 18 08 0600 01 08 0
9、0 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe目标主机的物理地址。ff ff ff ff ff ff:广播地址,所有主机都要接收。一个实际的ARP请求报文ff ff ff ff ff ff 00 00 c0 15 ad 18 08 0600 01 08 00 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe发送报文的源主机物理地址。00-00-c0-15-ad-18一个实际的ARP请求报文ff ff ff
10、ff ff ff 00 00 c0 15 ad 18 08 0600 01 08 00 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe以太网帧中封装的是ARP报文。ff ff ff ff ff ff 00 00 c0 15 ad 18 08 0600 01 08 00 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe一个实际的ARP请求报文ARP报文一个实际的ARP请求报文ff ff ff ff ff ff 0
11、0 00 c0 15 ad 18 08 0600 01 08 00 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe硬件类型:以太网。一个实际的ARP请求报文ff ff ff ff ff ff 00 00 c0 15 ad 18 08 0600 01 08 00 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe协议类型:IP协议。一个实际的ARP请求报文ff ff ff ff ff ff 00 00 c0 15
12、ad 18 08 0600 01 08 00 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe硬件地址长度:6字节。一个实际的ARP请求报文ff ff ff ff ff ff 00 00 c0 15 ad 18 08 0600 01 08 00 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe协议地址长度:4字节。一个实际的ARP请求报文ff ff ff ff ff ff 00 00 c0 15 ad 18 08
13、 0600 01 08 00 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe操作类型:1。即:ARP查询。一个实际的ARP请求报文ff ff ff ff ff ff 00 00 c0 15 ad 18 08 0600 01 08 00 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe查询方的硬件地址:00:00:c0:15:ad:18。应该与以太网帧中发送方的硬件地址相同。一个实际的ARP请求报文ff ff f
14、f ff ff ff 00 00 c0 15 ad 18 08 0600 01 08 00 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe查询方的协议地址:d1 00 00 05。即:209.0.0.5一个实际的ARP请求报文ff ff ff ff ff ff 00 00 c0 15 ad 18 08 0600 01 08 00 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe被查询方的物理地址:因为不知道,所
15、以设置为全0.一个实际的ARP请求报文ff ff ff ff ff ff 00 00 c0 15 ad 18 08 0600 01 08 00 06 04 00 01 00 00 c0 15 ad 18 d1 00 00 05 00 00 00 00 00 00d1 00 00 fe被查询方的协议地址:d1 00 00 fe。即想要查询IP地址为:209.0.0.254的主机的硬件地址。相应的ARP应答报文可能为00 00 c0 15 ad 18 00 0f e2 36 82 ef 08 0600 01 08 00 06 04 00 02 00 0f e2 36 82 ef d1 00 00
16、fe 00 00 c0 15 ad 18 d1 00 00 05即:209.0.0.254主机的物理地址是:00:0f:e2:36:82:ef 应当注意的问题nARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。n如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。应当注意的问题n从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。n只要主机或路由器要和本网络上的另一个已知 IP 地址的主
17、机或路由器进行通信,ARP 协议就会自动地将该 IP 地址解析为链路层所需要的硬件地址。Windows环境下检测IP地址是否被占用的原理n在Windows环境中,启动操作系统或者重新为主机配置IP地址后,主机将会发送ARP请求报文来检查分配的IP地址是否已被占用。n以下报文是为主机配置IP地址192.168.100.10时,主机向网络发送的ARP请求报文,以检查该IP地址是否已被占用。一共发送了12次。(操作系统:Windows xp professional sp3)FF FF FF FF FF FF BC 5F F4 0E 57 EF 08 06 00 0108 00 06 04 00 01 BC 5F F4 0E 57 EF C0 A8 64 0A00 00 00 00 00 00 C0 A8 64 0A 反向地址解析协议RARP(Reverse Address Resolution Protocol)nRARP与ARP的工作原理类似,其区别主要有:nRARP是从物理地址映射到IP地址,用于无盘工作站的启动。目前该协议已被DHCP和BOOTP取代。nRARP的PDU与ARP PDU的区别在于操作字段的取值上,ARP取1或2;RARP取3或4;n在以太网帧头的类型字段的取值为0 x8035。作业nP34 一、选择题;nP34 二、填空题;nP35 三、3
限制150内