收藏 分销(赏)

ARP协议详解.ppt

上传人:胜**** 文档编号:742289 上传时间:2024-02-29 格式:PPT 页数:30 大小:1.02MB
下载 相关 举报
ARP协议详解.ppt_第1页
第1页 / 共30页
ARP协议详解.ppt_第2页
第2页 / 共30页
ARP协议详解.ppt_第3页
第3页 / 共30页
ARP协议详解.ppt_第4页
第4页 / 共30页
ARP协议详解.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、ARP、RARP协议基础知识引言引言什么是什么是ARPARP工作原理工作原理ARP高速缓存高速缓存ARP实用命令实用命令ARP高速缓存高速缓存-解析实例解析实例什么是什么是RARP,及其分组格式、工,及其分组格式、工作原理作原理引言在链路层上,主机和路由器用它们的物理地址来标志,即48 bit物理地址。物理地址是本地地址,在本地范围内是唯一的,但是在全局上不一定,它通常用硬件实现。在网络层上,主机和路由器用逻辑地址来标志,逻辑地址在互联网全局上是唯一的。在TCP/IP协议族中称为IP地址,长度是32位(IPv4)。引言在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要

2、知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。因此需要能够将逻辑地址和相应的物理地址之间进行映射。完成这样的映射可使用静态映射和动态映射。引言静态映射:创建一个表,存储逻辑地址和物理地址的关联关系。然后将网络上的每个主机都存储这个表。缺点是映射表必须周期的更新,增加了网络的开销动态映射:地址解析协议ARP和逆地址解析协议RARPARP48bit MAC地址地址32bit IP地址地址RARP什么是ARPARP,Address Resolu

3、tion Protocol即地址解析协议,实现通过IP地址得知其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。Arp只有两种封包:arp request和arp replyARP-工作原理每台主机或路由器都有一个ARP缓存表,

4、用来保存IP地址与MAC地址的对应关系。以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;ARP-工作原理如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播arp request,请求包中包含了A主机的ip地址和mac地址。网络上其他主机并不响应ARP询问,直接丢弃,只有主机B接收到这个帧时,才以单播方式向主机A做出回应arp reply,并带上自己的ip和mac地址,而B主机收到A的请求包时

5、也会将A主机的IP与MAC对应关系保存在自己的缓存区ARP-工作原理A收到B的回应包后便可得知B的MAC地址,将其存入ARP缓存。此后A再向B发送数据时,就可以直接从缓存表中查找B的地址了,然后直接把数据发送给B。由于B在接收A的请求时也保存了A的地址信息,因此B要向A发送数据也可以直接从缓存表中查找。ARP缓存表设置了生存时间TTL,在一段时间内(一般15到20分钟,跟操作系统有关)如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。ARP工作原理ARP的操作示意图ARP-分组格式ARP 分组格式1.硬件类型:16bit,定义网络类型。以太网是类型 1,取

6、值0 x0001。2.协议类型:16bit,定义协议类型。对应IPv4协议,值为 0 x0800。3.硬件长度:8bit,定义以字节为单位的物理(硬件)地址长度,即n的值。以太网是6。4.协议长度:8bit,定义以字节为单位的逻辑(协议)地址长度,即m的值。IPv4的值为4。5.操作码:16bit,定义分组的类型。ARP请求为0 x0001,ARP应答为0 x0002。RARP请求为0 x0003,RARP应答为0 x0004。ARP-分组格式6.发送方硬件地址、发送方协议地址、目的硬件地址和目的协议地址:它们是可变长度字段。源和目的硬件地址对应以太网都是48位地址。源和目的协议地址对应IPv

7、4协议是32位地址。ARP-分组格式问题:对于问题:对于问题:对于问题:对于ARPARP请请请请求报文,目的硬件地求报文,目的硬件地求报文,目的硬件地求报文,目的硬件地址填充什么值?址填充什么值?址填充什么值?址填充什么值?l对于一个对于一个 ARP 请求请求来说,除来说,除目的硬件地目的硬件地址外的所有其他字段都有填充值址外的所有其他字段都有填充值。当系。当系统收到一份目的为本机的统收到一份目的为本机的ARP 请求报文请求报文后,它就把硬件地址填进去,然后用两后,它就把硬件地址填进去,然后用两个发送端地址分别替换两个目的地址,个发送端地址分别替换两个目的地址,并把操作字段置为并把操作字段置为

8、2,最后把它发送回去。,最后把它发送回去。思考:各字段的填充值是什么?思考:各字段的填充值是什么?ARP-封装封装ARP/RARP分组直接封装在链路帧中 ARP高速缓存高速缓存问题:发送端往往有多个IP数据报发送到同一个目的端。如果对发送到同一个主机或路由器的每一个数据报都使用ARP,势必会带来较大的开销。广播ARP请求不仅要耗费带宽,而且使得本地网络中的每台主机都要处理该广播帧,或忽略或给出响应帧。ARP高速缓存高速缓存可以使用ARP高速缓存表解决这个问题。每个主机或路由器上都有一个 ARP 高速缓存表。这个高速缓存表存放最近 Internet 地址到硬件地址之间的映射记录。高速缓存表中每一

9、项的生存时间有限,起始时间从被创建时开始算起。ARP高速缓存高速缓存UDPTCPIPICMPIGMPARP BBCCAAARPCache214651.ARP cache is checked2.ARP request is sent3.ARP entry is added4.ARP reply is sent5.ARP entry is added6.IP packet is sentARPCache3Ethernet ARP高速缓存高速缓存u 按照缺省设置,按照缺省设置,ARPARP高速缓存中的项目是动态的,每当发送一个指定地高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中

10、不存在当前项目时,点的数据报且高速缓存中不存在当前项目时,ARPARP便会便会自动添加自动添加该项目该项目u ARPARP高速缓存中地址映射表项的超时高速缓存中地址映射表项的超时u问题:问题:由于由于IPIP地址与物理地址的地址与物理地址的映射关系映射关系可能因网络接口或可能因网络接口或IPIP地址地址的变化而的变化而发生变化发生变化,对于,对于ARPARP高速缓存中地址映射表项都存在一个高速缓存中地址映射表项都存在一个过过时时的问题。一旦高速缓存的项目被输入,它们就已经开始走向失效的问题。一旦高速缓存的项目被输入,它们就已经开始走向失效状态。状态。u解决:解决:给给ARPARP高速缓存中的每

11、一个表项设置一个超时值,使得每个高速缓存中的每一个表项设置一个超时值,使得每个地址映射表项都有一个生命期。地址映射表项都有一个生命期。u 例如,在例如,在Windows NTWindows NT网络中,如果输入项目后不进一步使用,物理网络中,如果输入项目后不进一步使用,物理/IP/IP地址对就会在地址对就会在2 2至至1010分钟内失效。因此,如果分钟内失效。因此,如果ARPARP高速缓存中项目高速缓存中项目很少或根本没有时,是正常的。很少或根本没有时,是正常的。ARP高速缓存高速缓存u 静态静态ARPARP表项表项 一种控制地址映射表项超时值的方法是在一种控制地址映射表项超时值的方法是在AR

12、P ARP 高速缓存中创建高速缓存中创建一个一个静态表项静态表项。静态表项是永不超时的地址映射表项。静态表。静态表项是永不超时的地址映射表项。静态表项主要用在一台主机经常向另一台主机发送项主要用在一台主机经常向另一台主机发送ARPARP请求的情况下,请求的情况下,为了提高效率,减少不必要的开销。为了提高效率,减少不必要的开销。静态表项也有可能发生变化静态表项也有可能发生变化:u使用使用arparp实用程序可以人工删除静态表项。实用程序可以人工删除静态表项。u重新启动主机也会使静态表项丢失。重新启动主机也会使静态表项丢失。u动态表项与静态表项冲突时,以动态表项为准动态表项与静态表项冲突时,以动态

13、表项为准问题:静态表项是固定不变的吗问题:静态表项是固定不变的吗?ARP实用命令实用命令u 可以通过可以通过arparp命令查看、添加和删除命令查看、添加和删除高速缓存中的内容。高速缓存中的内容。u ARPARP命令命令arparp命令可以显示、添加和删除命令可以显示、添加和删除arparp内容。在内容。在windowswindows和和unixunix系统中都系统中都有这个命令。有这个命令。arp-a inet_addr arp-a inet_addr 显示地址映射表项,显示地址映射表项,为可选项。为可选项。arp-g inet_addr arp-g inet_addr 功能与功能与arp-

14、a inet_addrarp-a inet_addr相同。相同。arp-d inet_addr arp-d inet_addr 删除由删除由inet_addrinet_addr所指定的表项。所指定的表项。arp-d *arp-d *删除所有表项删除所有表项 arp-s inet_addr phys_addr arp-s inet_addr phys_addr 增加由增加由inet_addrinet_addr和和phys_addr phys_addr 指定的静态表项。指定的静态表项。arp /?arp /?显示帮助显示帮助说明:说明:1、使用、使用ARP命令查看高速缓存内容前最好先命令查看高速缓

15、存内容前最好先ping 此台主机或路由器。此台主机或路由器。2、为了能抓到、为了能抓到ARP协议包,最好在命令行中运行协议包,最好在命令行中运行arp d 清除清除arp缓存。缓存。Arp-aArp a inet_addrArp d inet_addr/*Arp s inet_addr phy_addrARP高速缓存高速缓存解析实例(解析实例(同一网络同一网络)ARP高速缓存高速缓存解析实例(解析实例(不同网络不同网络)假设一台假设一台IP地址为地址为172.16.1.9,子网掩码为,子网掩码为255.255.255.0的客户机希望向的客户机希望向IP地址为地址为 172.16.2.5的主机发

16、送的主机发送IP数据报。数据报。当主机当主机A要向主机要向主机B传输数据报时,传输数据报时,TCP/IP软件会利用子网掩码确定主机软件会利用子网掩码确定主机B位于位于远程子网远程子网上。上。ARP高速缓存高速缓存解析实例(解析实例(不同网络不同网络)假设一台假设一台IP地址为地址为172.16.1.9,子网掩码为,子网掩码为255.255.255.0的客户机希望向的客户机希望向IP地址为地址为 172.16.2.5的主机发送的主机发送IP数据报。数据报。ARP高速缓存高速缓存解析实例(解析实例(不同网络不同网络)假设一台假设一台IP地址为地址为172.16.1.9,子网掩码为,子网掩码为255

17、.255.255.0的客户机希望向的客户机希望向IP地址为地址为 172.16.2.5的主机发送的主机发送IP数据报。数据报。什么是什么是RARPRARP:Reverse Address Resolution Protocol反向地址转换协议就是将局域网中某个主机的物理地址转换为IP地址,比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。RARP协议广泛用于获取无盘工作站的IP地址。RARP分组格式分组格式RARP的分组格式与ARP完全一样,仅仅是操作字段是3(RARP 请求)或者4(RARP应答)。RARP工作原理工作原理给主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;如果不存在,RARP服务器对此不做任何的响应;源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 应用文书 > 合同范本

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服