第4章 ARP协议分析.pptx
《第4章 ARP协议分析.pptx》由会员分享,可在线阅读,更多相关《第4章 ARP协议分析.pptx(44页珍藏版)》请在文库网上搜索。
1、l网络上任意两台计算机之间的信息传送,最终都是依靠物理地址来实现的。l在网络接口层使用的地址就是物理地址。l本章讨论怎样把物理地址与在TCP/IP互联网络上标识主机的IP地址关联起来,着重介绍ARP(地址解析协议),简单介绍RARP(逆地址解析协议)。0第第4章章 地址解析协议分析地址解析协议分析4.1 4.1 物理地址和网络地址的转换物理地址和网络地址的转换l数据链路如以太网或令牌环网都有自己的寻址机制,即采用物理地址来标识通信接口,对以太网这个地址也叫MAC地址,即IEEE802.3规定的48bit地址格式。l在相邻的两个节点间传送数据帧时,以物理地址来封装数据帧。l在网络层,用网络地址来
2、标示通信节点,用以确定报文的转发路由。对IP网络这个地址即IP地址。1l在将IP分组封装到数据链路帧中的时候,协议栈需要获得IP地址对应的网络接口的硬件地址。lARP为IP地址到对应的硬件地址之间提供动态映射。l动态即指这个过程是由系统协议栈自动完成将某个IP地址解析成对应的MAC地址。l对于那些没有磁盘驱动器的系统,一般是无盘工作站和X终端在引导时需要获得IP地址,即已获得网络接口的硬件地址但没有IP地址的情况,这时便需要RARP来完成地址转换。24.2 ARP4.2 ARP协议工作原理协议工作原理4.2.1 地址解析的例子l下面通过运行一个常见的网络通信命令的例子来分析地址解析时网络协议栈
3、的操作。l假定在局域网中连接有一台名为mytest.mydomain的Linux主机并已经开启Telnet服务,在局域网中另一台主机的终端里敲入下面的命令:$telnet mytest.mydomain34 系统网络协议栈中将进行下面的步骤,这些步骤在图4-1中用对应的序号标注出来了。应用程序Telnet先通过DNS过程获得目标主机的IP地址,然后客户端用得到的IP地址来和远端的主机建立一个TCP连接,即用上述的IP地址来构造出一封包含TCP连接请求的IP数据报。IP数据报需要被传送到位于本地网络上的目的主机或路由器上,为此,发送主机必须先把32bit的IP地址转换成48bit的以太网地址(对
4、以太网)从而构造出链路层的帧(需要链路层目的MAC地址)来发送。54.2 ARP4.2 ARP协议工作原理协议工作原理 从逻辑Internet地址到对应的物理硬件地址需要进行翻译,这就是ARP的功能。如果发送主机不能够在自己的ARP数据库中获得地址映射所需要的数据,则广播一个ARP请求帧给以太网上的每个主机,这个过程称作ARP。如图4-1中的虚线所示。ARP请求帧中包含目的主机的IP地址,其用意是希望该IP地址的拥有者发回其硬件地址。目的主机的ARP层收到这份广播报文后,构造一个包含自己IP地址及对应的硬件地址的ARP应答返回给请求者。64.2 ARP4.2 ARP协议工作原理协议工作原理 发
5、送主机收到ARP应答后,得到数据传送下一站的MAC地址,从而可以构造出链路层帧。这时IP数据报就可以传送了。l要注意的是,ARP请求是广播的,因此ARP请求帧不能穿越路由器,因为路由器对于广播报文是不转发的。l另外点对点链路不需要使用ARP。74.2.2 ARP协议的工作过程l实现ARP功能,将32bit的IP地址映射到48 bit的以太网物理地址可以有不同的方式。常用的方式一种是直接方式,一种是动态绑定方式,也叫动态联编方式。l直接方式是事先在主机中建立一张IP地址到物理地址的映射表,这是一个静态的数据库,需要人工来建立和维护,对大规模的网络不太适合,同时可能更新不及时。但这种静态的地址绑定
6、方式却可以满足一些特殊的要求,比如安全需要。84.2 ARP4.2 ARP协议工作原理协议工作原理lARP协议的工作主要采用动态绑定方式,即通过ARP动态地广播地址转换请求,只在本地维护一个动态的高速缓存来实现地址映射数据的存放。lARP功能实现的具体工作过程可以描述如下:(1)每个主机上都有一个ARP高速缓存,这个高速缓存存放了最近使用的IP地址到硬件地址之间的映射记录。(2)当发送端封装IP分组时,要先在高速缓存中查找相应的地址映射记录。9 (3)如果找不到,则ARP发送一份称作ARP请求的以太网数据帧给以太网上的每个主机,这个过程称作ARP广播。(4)目的主机的ARP层收到这份广播报文后
7、,识别出这是发送端在寻问它的IP地址,于是发送一个包含IP地址及对应的硬件地址的ARP应答给发送方主机。(5)收到ARP应答后,发送方就可以传送IP数据报了。l可以看到,ARP高效运行的关键就是主机中有存放最近一段时间的IP地址到硬件地址之间映射记录的高速缓存。104.2 ARP4.2 ARP协议工作原理协议工作原理l在每台使用ARP的主机中,都保留了一个专用的高速缓存区,存放最新获得的IP地址到物理地址的映射数据。l一旦收到ARP应答,主机就将从应答中得到的对方主机的IP地址和物理地址存入缓存。当要发送报文时,主机首先去缓存中查找相应的数据,如果找不到再利用ARP进行地址广播。l对ARP缓存
8、必须建立一种超时机制,使得缓存中的数据在超时后自动失效,才能保证协议的可靠运行。l如果不设超时会有什么问题呢?11l一般ARP协议使用计时器方法,当计时器超时后则删除地址绑定数据。例如,在地址绑定信息放入ARP缓存时协议需要设置一个计时器,一般典型的超时时间是20分钟,超时后可以把地址信息删除。l如果删除信息后又有分组需要发送到这个地址,则只需遵循通常的过程,广播一个ARP请求即可。124.2 ARP4.2 ARP协议工作原理协议工作原理l为提高效率,ARP高速缓存还做了以下的改进:(1)在ARP请求报文中存有发送方的IP地址与物理地址的绑定,这样如果接收方的高速缓存中没有该地址绑定信息,那么
9、接收方可把收到的ARP请求报文中发送方的地址信息添加到自己的高速缓存中。怎样通过实验来验证这一点?(2)发送方在广播自己的地址绑定时,网上所有主机都可以将该绑定信息存入自己的高速缓存。不过不是所有的网络设备或系统实现都支持这样的情况。13 (3)新机入网时或主机更换网卡时,会主动广播地址绑定信息,以免其他主机对其进行ARP请求,这就是免费ARP(gratuitous ARP)。l可以用arp命令来检查和操作ARP高速缓存的内容(命令用法见实验4-1)。l思考:捕获到单播的ARP请求 RFC1122 Unicast Poll144.2 ARP4.2 ARP协议工作原理协议工作原理154.2.3
10、ARP4.2.3 ARP协议报文格式协议报文格式ARPARP报文直接与数据链路层通信。报文直接与数据链路层通信。封装有封装有ARPARP分组的以太网帧报文格式如图分组的以太网帧报文格式如图4-24-2所示。所示。l以太网报头中若目的地址为全1则是广播地址,在ARP请求报文中会用到。l以太网帧类型对于ARP请求或应答来说,该字段的值为0 x0806。lARP报文包含9个字段,其报文大小根据本地网络媒介上使用的物理地址的大小的变化而变化。当物理媒介是以太网时,在图4-2中标示出的长度为28字节。l报文的前5个字段,用来提供ARP报文的整体功能的描述,后4个字段是ARP有关的具体地址信息。164.2
11、 ARP4.2 ARP协议工作原理协议工作原理l各个字段的含义解释如下:1)硬件类型:2字节,表示被请求的硬件地址的类型。DIX Ethernet的地址类型值为1,IEEE802.X的类型值为6,还可以有其他的类型取值。2)协议类型:2字节,表示要映射的协议地址类型。取值为0 x0800即表示IP地址(这个值与包含IP数据报的以太网数据帧中的类型字段的值相同)。ARP并不只专用于IP,可以让任何高层协议用来寻找与高层协议地址相关的硬件地址。17 3)硬件地址长度:1字节,根据硬件类型确定的硬件地址的字节数。对以太网这个值是6。4)协议地址长度:1字节,高层协议地址的长度,以字节为单位。对于IP
12、协议来说这个地址的值总是4。5)操作:2字节,表示ARP报文类型。这个字段也叫操作码,用于区分报文是ARP请求还是应答,或者是RARP请求或应答。这个字段是必需的,因为ARP请求和ARP应答的帧类型字段值是相同的。操作字段的取值如表4-1所示。184.2 ARP4.2 ARP协议工作原理协议工作原理 6)发送端硬件地址:发送该ARP报文的主机硬件地址。对以太网,这个字段长度总是6个字节,即48bit的MAC地址。7)发送端网络地址:对IP网络,这就是发送该ARP报文的主机IP地址,长度是4字节。19 8)接收端硬件地址:该ARP报文的目的地主机的硬件地址。对以太网这个字段长度也是6个字节。9)
13、接收端网络地址:4字节,ARP报文目的地主机的IP地址。204.2 ARP4.2 ARP协议工作原理协议工作原理l当一个设备发送ARP请求时,先要填充报文中后4个与地址相关的字段中的3个,即发送端硬件地址和IP地址,还提供目标的IP地址,因为目标的硬件地址是不知道的,此时这个字段填充为0。l另外会设置操作类型字段为“1”表明当前的报文是一个ARP请求。l然后在局域网上广播这个请求,使得所有设备都能侦听到。l一旦主机侦听到针对自己的地址请求,则提供自己的硬件地址构造响应报文反馈给请求主机,ARP响应报文中交换请求方和响应方的IP地址和硬件地址信息,把响应报文操作类型字段设置为“2”表明当前报文是
14、一个ARP应答。l该报文会直接传播给远端请求者而不再是广播发送。214.2 ARP4.2 ARP协议工作原理协议工作原理4.3 4.3 特殊的特殊的ARPARP 由于主机工作的特殊时期或网络连接的特定状况,会形成特殊的ARP工作状况,分别是免费ARP和代理ARP。4.3.1免费ARP(gratuitous ARP)l免费ARP是指主机发送ARP请求查找自己的IP地址。l这时候,ARP请求报文中发送端的IP地址和目的端的IP地址是一样的,同时这个ARP请求不希望得到ARP应答。l免费ARP通常发生在系统引导期间进行接口配置的时候。22l主机系统重新引导有可能引发和地址有关的变化,这需要及时地通知
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 ARP协议分析 ARP 协议 分析