协议分析第4章ARP协议.ppt





《协议分析第4章ARP协议.ppt》由会员分享,可在线阅读,更多相关《协议分析第4章ARP协议.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机网络计算机网络协议分析与测试协议分析与测试 第四章 ARP协议 地址解析地址解析 互联网地址能够互联网地址能够将不同的物理地址统一将不同的物理地址统一起来,采用起来,采用的技术是在各种物理网络技术上覆盖一层软件的技术是在各种物理网络技术上覆盖一层软件(IP协协议议+ARP协议协议+RARP协议协议),将物理地址隐藏起来。,将物理地址隐藏起来。因特网技术并没有改变底层的物理网络,最终数据因特网技术并没有改变底层的物理网络,最终数据还是在物理网络上传输,而还是在物理网络上传输,而在物理网络上传输时使用在物理网络上传输时使用的仍是物理地址的仍是物理地址。网络层使用网络层使用IP地址,物理网络仍
2、使用物理地址地址,物理网络仍使用物理地址。同时存在的两套地址同时存在的两套地址之间必须建立映射关系之间必须建立映射关系。IP地地址址又又称称为为逻逻辑辑地地址址,逻逻辑辑地地址址由由软软件件进进行行处处理理。建建立立逻辑地址与逻辑地址与物理地址物理地址之间之间映射的方法通常有两种映射的方法通常有两种:-静静态态映映射射主主要要采采用用地地址址映映射射表表格格来来实实现现逻逻辑辑地地址址与与物物理理地地址址之之间间的的映映射射。由由于于地地址址映映射射表表一一般般由由人人工工方方式式建建立立和和维维护护,所所以以不不能能适适应应物物理理地地址址和和逻逻辑辑地地址址频频繁繁变变化化的的网网络络和和
3、规规模模庞庞大的网络。大的网络。网卡变化、主机移动后需及时更新地址映射表。网卡变化、主机移动后需及时更新地址映射表。-动态映射动态映射是在需要获得地址映射关系时是在需要获得地址映射关系时利用网络通信协议利用网络通信协议直直接从其他主机上获得映射信息。接从其他主机上获得映射信息。因特网采用了动态映射的方因特网采用了动态映射的方法进行地址映射。法进行地址映射。逻逻辑辑地地址址与与物物理理地地址址之之间间的的映映射射称称为为地地址址解解析析(Address resolution)。地地址址解解析析包包括括两两个个方方面面的的内容:内容:-从从IP地址到物理地址的映射地址到物理地址的映射-从物理地址到
4、从物理地址到IP地址的映射地址的映射 TCP/IP用用两两个个协协议议来来实实现现这这两两种种映映射射,一一个个是是地地址址解解析析协协议议ARP,另另一一个个是是反反向向地地址址解解析析协协议议RARP。-ARP用于从用于从IP地址到物理地址的映射地址到物理地址的映射-RARP用于从物理地址到用于从物理地址到IP地址的映射地址的映射-ARP用于从用于从IP地址到物理地址的映射地址到物理地址的映射-RARP用于从物理地址到用于从物理地址到IP地址的映射地址的映射IPARP、RARP网络接口层网络接口层IP地址地址物理地址物理地址IP数据报数据报帧帧ARPRARP用协议实现动态地址映射4.1 地
5、址解析协议地址解析协议(ARP)4.2 反向地址解析协议反向地址解析协议(RARP)4.3 地址解析报文地址解析报文 4.4 代理代理ARP 本章主要内容第一节 地址解析协议地址解析协议(ARP)4.1 地址解析协议地址解析协议(ARP)4.1.1 地址解析原理地址解析原理地址解析协议地址解析协议ARP使使IP能够能够获得获得与某个给定与某个给定IP地址相关的主机物理地址地址相关的主机物理地址。ARP的功能分为的功能分为两部分两部分:发送数据包发送数据包请求获得目的主机的物理地址请求获得目的主机的物理地址向向请求物理地址的请求物理地址的主机发送解析结果主机发送解析结果。当主机当主机A需要向同一
6、物理网络中的主机需要向同一物理网络中的主机B发送发送IP数据报时,主数据报时,主机机A的的IP层要将层要将IP数据报传给数据报传给数据链路层进行帧封装数据链路层进行帧封装,封装,封装时时要求给出目的主机的物理地址要求给出目的主机的物理地址。ARP解析步骤A的IP层发送数据报给B时产生的事件:nIP调用ARP,请求IP地址IB的物理地址PBnARP创建一个请求帧,请求IB对应的PBnA在本地网络中广播ARP请求帧n该网络中所有主机都收到ARP请求帧,并将自己的IP地址与IB进行比较,不匹配则忽略n如果主机发现IB与自己IP相同,产生应答帧nARP应答帧直接发回给AnA利用从应答帧中获得的PB完成
7、IP数据报封装,然后发给BARP请求帧将包括如下信息请求帧将包括如下信息:请求主机的物理地址请求主机的物理地址PA请求主机的请求主机的IP地址地址IA目的主机的目的主机的IP地址地址IB 主机主机A在本地网络中广播的在本地网络中广播的ARP请求帧目的地址为广播地址(全请求帧目的地址为广播地址(全“1”)。ARP应答帧应答帧直接发回直接发回给发送给发送ARP请求的主机请求的主机A。ARP应答帧包含以下应答帧包含以下信息信息:应答主机的物理地址应答主机的物理地址PB;应答主机的应答主机的IP地址地址IB;请求主机的物理地址请求主机的物理地址PA;请求主机的请求主机的IP地址地址IA A利用从应答帧
8、中得到的目的主机的物理地址利用从应答帧中得到的目的主机的物理地址PB完成完成IP数据数据报的帧封装,并将该帧发送给主机报的帧封装,并将该帧发送给主机B。注意两点注意两点:1.ARP请求帧在物理网络中是以请求帧在物理网络中是以广播方式广播方式发送的,发送的,ARP应答应答帧是以帧是以单播方式单播方式发发 送的。送的。2.目的主机必须与源主机位于同一物理网络目的主机必须与源主机位于同一物理网络。问题问题:如果每次在发送:如果每次在发送IP数据报前都重复上面的过数据报前都重复上面的过程,势必会带来较大的程,势必会带来较大的开销开销。广播。广播ARP请求不仅要请求不仅要耗费耗费带宽带宽,而且使得本地网
9、络中的每台主机都要,而且使得本地网络中的每台主机都要处处理理该广播帧,或忽略或给出响应帧。该广播帧,或忽略或给出响应帧。解决解决:为了使地址解析时的广播尽可能少,每台主:为了使地址解析时的广播尽可能少,每台主机都维护一个名为机都维护一个名为ARP高速缓存高速缓存的本地列表。的本地列表。ARP高速缓存中含有高速缓存中含有最近使用过的最近使用过的IP地址与物理地址的地址与物理地址的映射列表映射列表。ARP请求和应答方都把对方的地址映射请求和应答方都把对方的地址映射存储在存储在ARP高速缓存中。高速缓存中。4.1.2 ARP缓存缓存使用使用:当发送:当发送IP数据报需要获取目的主机的物理地址时,首数
10、据报需要获取目的主机的物理地址时,首先检查先检查它的它的ARP高速缓存,如果高速缓存,如果ARP高速缓存中高速缓存中已经存在已经存在对对应的映射表项,则目的主机的硬件地址可以从应的映射表项,则目的主机的硬件地址可以从ARP高速缓存高速缓存中获得,主机可以立即发送中获得,主机可以立即发送IP数据报。只有当数据报。只有当ARP高速缓存高速缓存中中不存在不存在与该目的与该目的IP地址地址对应的映射表项对应的映射表项时,时,才广播才广播ARP请请求求。创建创建:由于:由于ARP高速缓存位于内存中,因此每次计算机或路高速缓存位于内存中,因此每次计算机或路由器重新启动时,都必须由器重新启动时,都必须动态地
11、创建地址映射表动态地创建地址映射表。当主机收当主机收到一个到一个ARP请求帧或响应帧时请求帧或响应帧时,检查它的,检查它的ARP高速缓存,如高速缓存,如果果ARP高速缓存中高速缓存中不存在对应的不存在对应的映射表项,则将映射表项,则将ARP请求帧请求帧或响应帧中的发送方的或响应帧中的发送方的IP地址和物理地址地址和物理地址加入加入到到ARP高速缓高速缓存中。存中。4.1.2 ARP缓存1ARP高速缓存中地址映射表项的超时高速缓存中地址映射表项的超时问题问题:由于:由于IP地址与物理地址的地址与物理地址的映射关系映射关系可能因网络接口或可能因网络接口或IP地址的变化而地址的变化而发生变化发生变化
12、,对于,对于ARP高速缓存中地址映射表高速缓存中地址映射表项都存在一个项都存在一个过时过时的问题。的问题。解决解决:给:给ARP高速缓存中的每一个表项设置一个超时值,使高速缓存中的每一个表项设置一个超时值,使得每个地址映射表项都有一个生命期。得每个地址映射表项都有一个生命期。不同的不同的TCP/IP实现实现使使用不同的超时值,短的仅有几十秒钟,而长的则长达几个小用不同的超时值,短的仅有几十秒钟,而长的则长达几个小时。时。超时值越短超时值越短,系统中出现的,系统中出现的ARP请求广播就越多请求广播就越多。但若。但若超时值过长超时值过长,主机又,主机又不能及时地发现不能及时地发现地址映射关系的地址
13、映射关系的改变改变,也可能会引起问题。也可能会引起问题。Windows 2min不用则超时,不用则超时,2min内使用则延长到内使用则延长到10min 映射表超时前,映射表超时前,ARP高速缓存已满,且有新的表项要加入,则删除最高速缓存已满,且有新的表项要加入,则删除最旧的表项。旧的表项。regedit:MachineSysCurrentControlSetservicestcpipparameters:ArpCacheLife 可以修改。可以修改。1.ARP高速缓存中地址映射表项的超时2.静态静态ARP表项表项另另一种控制地址映射表项超时值的方法是在一种控制地址映射表项超时值的方法是在ARP
14、高高速缓存中速缓存中创建一个静态表项创建一个静态表项。静态表项是静态表项是永不超时的永不超时的地址映射表项。静态表项主要地址映射表项。静态表项主要用在一台主机经常向另一台主机发送用在一台主机经常向另一台主机发送ARP请求的情请求的情况下。况下。为了提高效率,减少不必要的开销,可以在为了提高效率,减少不必要的开销,可以在ARP高高速缓存中创建一个静态表项,速缓存中创建一个静态表项,使该地址映射表项始使该地址映射表项始终存在于终存在于ARP高速缓存中高速缓存中,避免向某一主机发送避免向某一主机发送ARP广播。广播。静态表项也有可能发生变化静态表项也有可能发生变化:当主机接收到当主机接收到ARP广播
15、,而且该广播所含的地址信息与当广播,而且该广播所含的地址信息与当前前ARP高速缓存中对应的静态表项高速缓存中对应的静态表项不一致不一致时,主机将时,主机将用新用新收到的物理地址替代原有的物理地址收到的物理地址替代原有的物理地址,并为该表项设置超,并为该表项设置超时值,使其不再是静态表项。时值,使其不再是静态表项。使用使用arp实用程序可以实用程序可以人工删除静态表人工删除静态表项。项。重新启动主机也会使静态表项丢失。重新启动主机也会使静态表项丢失。静态表项的静态表项的不足之处不足之处是不能很好地适应地址映射的是不能很好地适应地址映射的变化。变化。4.1.3 ARP实用程序实用程序通过通过arp
16、实用程序,可以实用程序,可以对对ARP高速缓存进行查看和管理高速缓存进行查看和管理。ARP命令可以命令可以显示显示或或删除删除ARP高速缓存中的高速缓存中的IP地址与物理地地址与物理地址的映射表项,而且还可以址的映射表项,而且还可以添加添加静态表项。静态表项。arp命令的格式如下:命令的格式如下:arp-a inet_addr 显示地址映射表项,显示地址映射表项,为可选项。为可选项。arp-g inet_addr 功能与功能与arp-a inet_addr相同。相同。arp-d inet_addr 删除由删除由inet_addr所指定的表项。所指定的表项。arp-s inet_addr phy
17、s_addr 增加由增加由inet_addr和和phys_addr指定的静态表项。指定的静态表项。inet_addr为为点分十进制格式点分十进制格式的的IP地址,地址,phys_addr为十六进为十六进制形式的物理地址,物理地址的字节之间用短横线分割,例如,制形式的物理地址,物理地址的字节之间用短横线分割,例如,0C-26-1B-23-45-67。C:Documents and Settingscyarp-aInterface:192.168.2.101-0 x2 Internet Address Physical Address Type 192.168.2.1 00-1d-0f-85-fd
18、-6c dynamic 192.168.2.100 8c-a9-82-09-b4-84 dynamicC:Documents and Settingscyarp-gInterface:192.168.2.101-0 x2 Internet Address Physical Address Type 192.168.2.1 00-1d-0f-85-fd-6c dynamic 192.168.2.100 8c-a9-82-09-b4-84 dynamicInterface:192.168.2.102-0 x10004 Internet Address Physical Address Type 1
19、92.168.2.100 8c-a9-82-09-b4-84 dynamic ArpARP地址转换协议,用来确定对应地址转换协议,用来确定对应IP地址的网卡物理地址地址的网卡物理地址(MAC),查看本地计算机或另一台计算机),查看本地计算机或另一台计算机ARP高速缓存中高速缓存中的当前内容,并可以将的当前内容,并可以将IP地址和地址和MAC地址绑定,以防止攻击。地址绑定,以防止攻击。主要用法:主要用法:1、ARP a查看所有缓存中的条目查看所有缓存中的条目2、ARP s静态增加静态增加ARP表项,动表项,动态的可以通过态的可以通过ping实现实现3、ARP a IP只显示相关的条目只显示相关的
20、条目4、ARP d IP删除条目删除条目 4.1.4 地址解析实例地址解析实例实例解析实例解析1:参与通信的源主机与目的主机参与通信的源主机与目的主机位于同一个子网位于同一个子网实例解析实例解析2:参与通信的源主机与目的主机参与通信的源主机与目的主机位于不同的子网位于不同的子网1.源主机与目的主机位于同一子网源主机与目的主机位于同一子网196.168.27.20主机,向主机,向196.168.27.22主机发送主机发送IP数据报,进数据报,进行行IP地址解析的过程,具体步骤地址解析的过程,具体步骤:检查本地检查本地ARP高速缓存高速缓存向目的主机发送向目的主机发送ARP请求请求将请求方的地址信
21、息写入将请求方的地址信息写入ARP高速缓存高速缓存向请求方发送向请求方发送ARP应答应答请求方更新请求方更新ARP高速缓存高速缓存1.源主机与目的主机位于同一子网源主机与目的主机位于同一子网196.168.27.20主机,向主机,向196.168.27.22主机发送主机发送IP数据报,进数据报,进行行IP地址解析的过程,具体步骤地址解析的过程,具体步骤:检查本地检查本地ARP高速缓存高速缓存向目的主机发送向目的主机发送ARP请求请求将请求方的地址信息写入将请求方的地址信息写入ARP高速缓存高速缓存向请求方发送向请求方发送ARP应答应答请求方更新请求方更新ARP高速缓存高速缓存(1)检查本地检查
22、本地ARP高速缓存高速缓存确定确定同一子网目的主机的物理地址时,同一子网目的主机的物理地址时,ARP首先检查本地的首先检查本地的ARP高高速缓存速缓存,确定它是否含有目的主机的,确定它是否含有目的主机的IP地址与物理地址的映射。地址与物理地址的映射。如包含如包含,则取出则取出目的主机的物理地址,利用物理地址将目的主机的物理地址,利用物理地址将IP数据报数据报封装成帧。封装成帧。此时不需要广播此时不需要广播ARP请求,因为目的主机的物理地址请求,因为目的主机的物理地址已经在已经在以前的通信中被存入以前的通信中被存入了本地的了本地的ARP高速缓存。如果高速缓存。如果ARP高高速缓存中速缓存中不包含
23、不包含相关的地址映射,则进行相关的地址映射,则进行下一步操作下一步操作。(2)向目的主机发送)向目的主机发送ARP请求请求:若若ARP高速缓存不包含所需的地高速缓存不包含所需的地址映射,主机就会形成一个址映射,主机就会形成一个ARP请求请求,以物理广播地址在本子网,以物理广播地址在本子网上上广播广播,并等待目的主机的应答。,并等待目的主机的应答。(3)将请求者的地址信息写入)将请求者的地址信息写入ARP高速缓存高速缓存:由于由于ARP请求是子请求是子网上的广播,因而该子网上的每台主机都会收到广播,并将自己网上的广播,因而该子网上的每台主机都会收到广播,并将自己IP址和址和ARP请求中的目的请求
24、中的目的IP比较比较。如。如不匹配不匹配,则请求被忽略;,则请求被忽略;如果相如果相匹配匹配,则目的主机就,则目的主机就将发送者的将发送者的IP地址与物理地址地址与物理地址写入到写入到本机的本机的ARP高速缓存中。高速缓存中。(4)向请求者)向请求者发送发送ARP响应响应 如果在如果在ARP请求期间产生准确的匹配请求期间产生准确的匹配,则目的主机就向发送主机以,则目的主机就向发送主机以单播方式发出一个单播方式发出一个ARP应答应答(因为此时应答主机已经知道了请求方(因为此时应答主机已经知道了请求方的物理地址)。的物理地址)。(5)请求方)请求方更新更新ARP高速缓存高速缓存 请求主机收到请求主
25、机收到ARP应答后,取出应答中应答者的应答后,取出应答中应答者的IP地址与物理地址,地址与物理地址,将其写入它的将其写入它的ARP高速缓存。至此,双方都已知道了对方的地址映高速缓存。至此,双方都已知道了对方的地址映射,完成了地址解析,下面就可以进行两主机之间的通信了。射,完成了地址解析,下面就可以进行两主机之间的通信了。2.源主机与目的主机位于不同的子网源主机与目的主机位于不同的子网目的主机与源主机不在同一子网中时,源主机与目的主机之间目的主机与源主机不在同一子网中时,源主机与目的主机之间有一台或多台路由器,有一台或多台路由器,ARP必须为必须为IP数据报通过的每个路由器数据报通过的每个路由器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 协议 分析 ARP

限制150内