ARP协议详解.ppt
《ARP协议详解.ppt》由会员分享,可在线阅读,更多相关《ARP协议详解.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、引言o 在链路层上,主机和路由器用它们的物理地址来标志,即48 bit物理地址。物理地址是本地地址,在本地范围内是唯一的,但是在全局上不一定,它通常用硬件实现。o 在网络层上,主机和路由器用逻辑地址来标志,逻辑地址在互联网全局上是唯一的。在TCP/IP协议族中称为IP地址,长度是32位(IPv4)。引言o 在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。因此需要能够
2、将逻辑地址和相应的物理地址之间进行映射。完成这样的映射可使用静态映射和动态映射。引言o 静态映射:创建一个表,存储逻辑地址和物理地址的关联关系。然后将网络上的每个主机都存储这个表。缺点是映射表必须周期的更新,增加了网络的开销o 动态映射:地址解析协议ARP和逆地址解析协议RARPARP48bit MAC地址地址32bit IP地址地址RARP什么是ARPo ARP,Address Resolution Protocol即地址解析协议,实现通过IP地址得知其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理
3、网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。o Arp只有两种封包:arp request和arp replyARP-工作原理o 每台主机或路由器都有一个ARP缓存表,用来保存IP地址与MAC地址的对应关系。o 以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如
4、果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;ARP-工作原理o 如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播arp request,请求包中包含了A主机的ip地址和mac地址。o 网络上其他主机并不响应ARP询问,直接丢弃,只有主机B接收到这个帧时,才以单播方式向主机A做出回应arp reply,并带上自己的ip和mac地址,而B主机收到A的请求包时也会将A主机的IP与MAC对应关系保存在自己的缓存区ARP-工作原理o A收到B的回应包后便可得知B的MAC地址,将其存入ARP缓存。此后A再向B发送数据时,就可以直接从缓存表中查找B
5、的地址了,然后直接把数据发送给B。o 由于B在接收A的请求时也保存了A的地址信息,因此B要向A发送数据也可以直接从缓存表中查找。o ARP缓存表设置了生存时间TTL,在一段时间内(一般15到20分钟,跟操作系统有关)如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。 ARP工作原理o ARP的操作示意图ARP-分组格式ARP 分组格式o 硬件类型:16bit,定义网络类型。以太网是类型 1,取值0 x0001。o 协议类型: 16bit,定义协议类型。对应IPv4协议,值为 0 x0800。o 硬件长度:8bit,定义以字节为单位的物理(硬件)地址长度,即
6、n的值。以太网是6。o 协议长度:8bit,定义以字节为单位的逻辑(协议)地址长度,即m的值。IPv4的值为4。1. 操作码:16bit,定义分组的类型。ARP请求为0 x0001, ARP应答为0 x0002。 RARP请求为0 x0003, RARP应答为0 x0004。 ARP-分组格式o发送方硬件地址、发送方协议地址、目的硬件地址和目的协议地址:它们是可变长度字段。源和目的硬件地址对应以太网都是48位地址。源和目的协议地址对应IPv4协议是32位地址。ARP-分组格式l对于一个对于一个 ARP 请求请求来说,除来说,除目的硬件目的硬件地址外的所有其他字段都有填充值地址外的所有其他字段都
7、有填充值。当。当系统收到一份目的为本机的系统收到一份目的为本机的ARP 请求报请求报文后,它就把硬件地址填进去,然后用文后,它就把硬件地址填进去,然后用两个发送端地址分别替换两个目的地址,两个发送端地址分别替换两个目的地址,并把操作字段置为并把操作字段置为2,最后把它发送回去。,最后把它发送回去。思考:各字段的填充值是什么?思考:各字段的填充值是什么? ARP-封装封装o ARP/RARP分组直接封装在链路帧中 帧类型帧类型 ARP/RARP 报文报文 PAD 字节字节 2 28 18 ARP/RARP 报文封装在以太网帧中格式报文封装在以太网帧中格式 CRC 4 硬件硬件 类型类型 目的地址
8、目的地址 源地址源地址 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 应答应答 0 x0800 0 x06 0 x04 0 x0001 ARP高速缓存高速缓存o问题:发送端往往有多个IP数据报发送到同一个目的端。如果对发送到同一个主机或路由器的每一
9、个数据报都使用ARP,势必会带来较大的开销。广播ARP请求不仅要耗费带宽,而且使得本地网络中的每台主机都要处理该广播帧,或忽略或给出响应帧。 。 ARP高速缓存高速缓存o可以使用ARP高速缓存表解决这个问题。o每个主机或路由器上都有一个 ARP 高速缓存表。这个高速缓存表存放最近 Internet 地址到硬件地址之间的映射记录。高速缓存表中每一项的生存时间有限,起始时间从被创建时开始算起。 ARP高速缓存高速缓存UDPTCPIPICMPIGMPARP BCAARPCache214651. ARP cache is checked2. ARP request is sent3. ARP entr
10、y is added4. ARP reply is sent5. ARP entry is added6. IP packet is sentARPCache3Ethernet ARP高速缓存高速缓存u 按照缺省设置,按照缺省设置,ARPARP高速缓存中的项目是动态的,每当发送一个指定地高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,点的数据报且高速缓存中不存在当前项目时,ARPARP便会便会自动添加自动添加该项目该项目u ARPARP高速缓存中地址映射表项的超时高速缓存中地址映射表项的超时u问题:问题:由于由于IPIP地址与物理地址的地址与物理地址的映射关
11、系映射关系可能因网络接口或可能因网络接口或IPIP地地址的变化而址的变化而发生变化发生变化,对于,对于ARPARP高速缓存中地址映射表项都存在一个高速缓存中地址映射表项都存在一个过时过时的问题。一旦高速缓存的项目被输入,它们就已经开始走向失的问题。一旦高速缓存的项目被输入,它们就已经开始走向失效状态。效状态。u解决:解决:给给ARPARP高速缓存中的每一个表项设置一个超时值,使得每个高速缓存中的每一个表项设置一个超时值,使得每个地址映射表项都有一个生命期。地址映射表项都有一个生命期。u 例如,在例如,在Windows NTWindows NT网络中,如果输入项目后不进一步使用,物理网络中,如果
12、输入项目后不进一步使用,物理/IP/IP地址对就会在地址对就会在2 2至至1010分钟内失效。因此,如果分钟内失效。因此,如果ARPARP高速缓存中项目高速缓存中项目很少或根本没有时,是正常的。很少或根本没有时,是正常的。 ARP高速缓存高速缓存u 静态静态ARPARP表项表项 一种控制地址映射表项超时值的方法是在一种控制地址映射表项超时值的方法是在ARP ARP 高速缓存中创建高速缓存中创建一个一个静态表项静态表项。静态表项是永不超时的地址映射表项。静态表。静态表项是永不超时的地址映射表项。静态表项主要用在一台主机经常向另一台主机发送项主要用在一台主机经常向另一台主机发送ARPARP请求的情
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARP 协议 详解
限制150内