《第四课协议精选文档.ppt》由会员分享,可在线阅读,更多相关《第四课协议精选文档.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四课协议本讲稿第一页,共四十一页提纲引言引言ARPARP高速缓存高速缓存代理代理ARP免费免费ARPRARPARP病毒及防护病毒及防护本章小结本章小结本讲稿第二页,共四十一页引言o在链路层上,主机和路由器用它们的物理地址来标志,即48bit物理地址。物理地址是本地地址,在本地范围内是唯一的,但是在全局上不一定,它通常用硬件实现。o在网络层上,主机和路由器用逻辑地址来标志,逻辑地址在互联网全局上是唯一的。在TCP/IP协议族中称为IP地址,长度是32位(IPv4)。本讲稿第三页,共四十一页引言o因此需要能够将逻辑地址和相应的物理地址之间进行映射。完成这样的映射可使用静态映射和动态映射。o静态映
2、射:创建一个表,存储逻辑地址和物理地址的关联关系。然后将网络上的每个主机都存储这个表。缺点是映射表必须周期的更新,增加了网络的开销。本讲稿第四页,共四十一页引言o动态映射:地址解析协议ARP和逆地址解析协议RARPARP48bit MAC地址地址32bit IP地址地址RARP本讲稿第五页,共四十一页ARP-地址解析协议oARP(AddressResolutionProtocol)地址解析协议,负责完成逻辑地址向物理地址的动态映射,将32位逻辑地址(IP地址)转化为48位物理地址(MAC地址)。oRFC826:AnEthernetAddressResolutionProtocol-or-Con
3、vertingNetworkProtocolAddressesto48.bitEthernetAddressforTransmissiononEthernetHardware(1982)本讲稿第六页,共四十一页ARP-地址解析协议 ICMP IGMP RARPARPIP ARP和RARP在TCP/IP协议族中的位置 网络层 本讲稿第七页,共四十一页ARP-地址解析协议oARP通过一个查找表(ARP缓存)来执行这种转换。当在ARP缓存中没有找到地址时,则向网络发送一个广播请求。网络上的所有主机和路由器都接收和处理这个ARP请求,但是只有是广播请求IP地址的主机或路由器,发回一个ARP应答分组,应
4、答中包含它的IP地址和物理地址,并保存在请求主机的ARP缓存中。其它主机或路由器都丢弃此分组。本讲稿第八页,共四十一页ARP-地址解析协议oARP的操作示意图本讲稿第九页,共四十一页ARP-地址解析协议问题:问题:ARP应答报文采用什么方式发送?应答报文采用什么方式发送?1.广播广播 2.单播单播 3.多播多播本讲稿第十页,共四十一页ARP-地址解析协议o可以使用ARP服务的4种不同情况LAN目标目标IP地址:地址:在在IP数据报中的目的地址数据报中的目的地址 情况情况1:主机有分组要发送给:主机有分组要发送给在同一个网络上的另一个主机在同一个网络上的另一个主机 主机主机 发送端发送端 主机主
5、机 接收端接收端 LAN目标目标IP地址:地址:IP数据报中的目的地址数据报中的目的地址 情况情况4:路由器收到要发送给:路由器收到要发送给同一个网络上的主机的分组同一个网络上的主机的分组 路由器路由器 发送端发送端 主机主机 接收端接收端 LAN/WAN目标目标IP地址:地址:在路由表中找到的适当在路由表中找到的适当的路由器的路由器IP地址地址 情况情况3:路由器收到要发送给另一个网络:路由器收到要发送给另一个网络上的主机的分组。这个分组必须先交付给上的主机的分组。这个分组必须先交付给适当的路由器适当的路由器 路由器路由器 发送端发送端 路由器路由器 接收端接收端 LAN目标目标IP地址:地
6、址:某路由器的某路由器的IP地址地址 情况情况2:主机要把分组发送给在另一个网:主机要把分组发送给在另一个网络上的另一个主机,这个分组必须先交付络上的另一个主机,这个分组必须先交付给默认路由器给默认路由器 主机主机 发送端发送端 路由器路由器 接收端接收端 本讲稿第十一页,共四十一页1.应用程序应用程序FTP客户端把客户端把主主机名机名转换成转换成32 bit的的IP地址地址。这个转换过程使用这个转换过程使用DNS。ARP-地址解析协议例子:当输入命令时,执行如下:4.若目的主机在本地网若目的主机在本地网络上,则络上,则IP数据报直数据报直接送到目的主机。若接送到目的主机。若目的主机在远程网络
7、目的主机在远程网络上,则发到本地路由上,则发到本地路由器,再转发器,再转发IP数据报。数据报。2.FTP客户请求客户请求TCP用得到的用得到的IP地址建立连接地址建立连接3.TCP发送一个连接请求分组发送一个连接请求分组到远端主机,即用上述到远端主机,即用上述IP地址地址发送发送IP数据报数据报 5.设下层是以太网,则发送端设下层是以太网,则发送端把把32 bitIP地址变换成地址变换成48 bit以以太网地址,即太网地址,即ARP功能功能7.目的主机收到广播报文后,目的主机收到广播报文后,知道是发送端在询问它的知道是发送端在询问它的IP地址,地址,发送发送ARP应答应答,包含他自己的,包含他
8、自己的IP地址及硬件地址。地址及硬件地址。6.ARP广播广播请求的以太网数据帧,请求的以太网数据帧,如图中虚线所示如图中虚线所示。ARP请求帧中包请求帧中包含目的主机含目的主机IP地址,含义是地址,含义是“谁是谁是这个这个IP地址的拥有者,请告诉我你地址的拥有者,请告诉我你的硬件地址。的硬件地址。”8.收到收到ARP应答后,使应答后,使ARP进行进行请求请求应答应答交换的交换的IP数据报现在就可以传送了。数据报现在就可以传送了。9.发送发送IP数据报到目数据报到目的主机的主机本讲稿第十二页,共四十一页ARP-分组格式ARP分组格式1.硬件类型:16bit,定义网络类型。以太网是类型1,取值0
9、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位地址。源和目的
10、协议地址对应IPv4协议是32位地址。本讲稿第十四页,共四十一页ARP-分组格式问题:对于问题:对于问题:对于问题:对于ARPARP请求报请求报请求报请求报文,目的硬件地址填充文,目的硬件地址填充文,目的硬件地址填充文,目的硬件地址填充什么值?什么值?什么值?什么值?l对于一个对于一个 ARP ARP 请求请求来说,除来说,除目的硬件地址外目的硬件地址外的所有其他字段都有填充值的所有其他字段都有填充值。当系统收到一份。当系统收到一份目的为本机的目的为本机的ARP ARP 请求报文后,它就把硬请求报文后,它就把硬件地址填进去,然后用两个发送端地址分件地址填进去,然后用两个发送端地址分别替换两个目
11、的地址,并把操作字段置为别替换两个目的地址,并把操作字段置为2 2,最后把它发送回去。,最后把它发送回去。思考:各字段的填充值是什么?思考:各字段的填充值是什么?本讲稿第十五页,共四十一页ARP-封装封装oARP/RARP分组直接封装在链路帧中本讲稿第十六页,共四十一页ARP-封装封装o例如:IP地址为130.23.43.20主机,分组发送给130.23.43.25的主机,右图列出了封装在以太网帧中的ARP请求和应答分组。o这里有一些重复信息:在以太网帧报头中和ARP请求报文中都有发送端硬件地址本讲稿第十七页,共四十一页 ARP高速缓存高速缓存o问题:发送端往往有多个IP数据报发送到同一个目的
12、端。如果对发送到同一个主机或路由器的每一个数据报都使用ARP,势必会带来较大的开销。广播ARP请求不仅要耗费带宽,而且使得本地网络中的每台主机都要处理该广播帧,或忽略或给出响应帧。本讲稿第十八页,共四十一页 ARP高速缓存高速缓存o可以使用ARP高速缓存表解决这个问题。o每个主机或路由器上都有一个ARP高速缓存表。这个高速缓存表存放最近Internet地址到硬件地址之间的映射记录。高速缓存表中每一项的生存时间有限,起始时间从被创建时开始算起。本讲稿第十九页,共四十一页 ARP高速缓存高速缓存UDPTCPIPICMPIGMPARP BBCCAAARPCache214651.ARP cache i
13、s checked2.ARP request is sent3.ARP entry is added4.ARP reply is sent5.ARP entry is added6.IP packet is sentARPCache3Ethernet本讲稿第二十页,共四十一页 ARP高速缓存高速缓存u 按照缺省设置,按照缺省设置,ARPARP高速缓存中的项目是动态的,每当发送一个指定地点高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,的数据报且高速缓存中不存在当前项目时,ARPARP便会便会自动添加自动添加该项目该项目u ARP ARP高速缓存中地址映射表项
14、的超时高速缓存中地址映射表项的超时u问题:问题:由于由于IPIP地址与物理地址的地址与物理地址的映射关系映射关系可能因网络接口或可能因网络接口或IPIP地地址的变化而址的变化而发生变化发生变化,对于,对于ARPARP高速缓存中地址映射表项都存在一个高速缓存中地址映射表项都存在一个过时过时的问题。一旦高速缓存的项目被输入,它们就已经开始走的问题。一旦高速缓存的项目被输入,它们就已经开始走向失效状态。向失效状态。u解决:解决:给给ARPARP高速缓存中的每一个表项设置一个超时值,使得每高速缓存中的每一个表项设置一个超时值,使得每个地址映射表项都有一个生命期。个地址映射表项都有一个生命期。u 例如,
15、在例如,在Windows NTWindows NT网络中,如果输入项目后不进一步使用,物理网络中,如果输入项目后不进一步使用,物理/IP/IP地址对就会在地址对就会在2 2至至1010分钟内失效。因此,如果分钟内失效。因此,如果ARPARP高速缓存中项目高速缓存中项目很少或根本没有时,是正常的。很少或根本没有时,是正常的。本讲稿第二十一页,共四十一页 ARP高速缓存高速缓存u 静态静态ARPARP表项表项 一种控制地址映射表项超时值的方法是在一种控制地址映射表项超时值的方法是在ARP ARP 高速缓存中创建一个高速缓存中创建一个静静态表项态表项。静态表项是永不超时的地址映射表项。静态表项主要用
16、在一台。静态表项是永不超时的地址映射表项。静态表项主要用在一台主机经常向另一台主机发送主机经常向另一台主机发送ARPARP请求的情况下,为了提高效率,减少不必请求的情况下,为了提高效率,减少不必要的开销。要的开销。静态表项也有可能发生变化静态表项也有可能发生变化:u使用使用arparp实用程序可以人工删除静态表项。实用程序可以人工删除静态表项。u重新启动主机也会使静态表项丢失。重新启动主机也会使静态表项丢失。问题:静态表项是固定不变的吗问题:静态表项是固定不变的吗?本讲稿第二十二页,共四十一页ARP高速缓存高速缓存u 可以通过可以通过arparp命令查看、添加和删除命令查看、添加和删除高速缓存
17、中的内容。高速缓存中的内容。u ARP ARP命令命令arparp命令可以显示、添加和删除命令可以显示、添加和删除arparp内容。在内容。在windowswindows和和unixunix系统中都系统中都有这个命令。有这个命令。arp-a inet_addr arp-a inet_addr 显示地址映射表项,显示地址映射表项,为可选项。为可选项。arp-g inet_addr arp-g inet_addr 功能与功能与arp-a inet_addrarp-a inet_addr相同。相同。arp-d inet_addr arp-d inet_addr 删除由删除由inet_addrinet
18、_addr所指定的表项。所指定的表项。arp-s inet_addr phys_addr arp-s inet_addr phys_addr 增加由增加由inet_addrinet_addr和和phys_addr phys_addr 指定的静态表项。指定的静态表项。arp /?arp /?显示帮助显示帮助说明:说明:1、使用、使用ARP命令查看高速缓存内容前最好先命令查看高速缓存内容前最好先ping 此台主机或路由器。此台主机或路由器。2、为了能抓到、为了能抓到ARP协议包,最好在命令行中运行协议包,最好在命令行中运行arp d 清除清除arp缓存。缓存。本讲稿第二十三页,共四十一页ARP高速
19、缓存高速缓存解析实例解析实例本讲稿第二十四页,共四十一页ARP高速缓存高速缓存解析实例解析实例问题:源主机与目的主机位于不同的子网?问题:源主机与目的主机位于不同的子网?数据包在从源到目的地的传输是通过数据包在从源到目的地的传输是通过逐跳逐跳的方式完成的。在转发过程中数据包的的方式完成的。在转发过程中数据包的IP地址是不发生变化的地址是不发生变化的,而,而物理地址在每一跳都会发生变化物理地址在每一跳都会发生变化。远程通信逐段地址解析远程通信逐段地址解析本讲稿第二十五页,共四十一页ARP高速缓存高速缓存解析实例解析实例假设一台假设一台IP地址为地址为172.16.1.9,子网掩码为,子网掩码为2
20、55.255.255.0的客户机希望向的客户机希望向IP地址为地址为 172.16.2.5的主机发送的主机发送IP数据报。数据报。当主机当主机A要向主机要向主机B传输数据报时,传输数据报时,TCP/IP软件会利用子网掩码确定主机软件会利用子网掩码确定主机B位位于于远程子网远程子网上。上。本讲稿第二十六页,共四十一页ARP高速缓存高速缓存解析实例解析实例假设一台假设一台IP地址为地址为172.16.1.9,子网掩码为,子网掩码为255.255.255.0的客户机希望向的客户机希望向IP地址为地址为 172.16.2.5的主机发送的主机发送IP数据报。数据报。本讲稿第二十七页,共四十一页ARP高速
21、缓存高速缓存解析实例解析实例假设一台假设一台IP地址为地址为172.16.1.9,子网掩码为,子网掩码为255.255.255.0的客户机希望向的客户机希望向IP地址为地址为 172.16.2.5的主机发送的主机发送IP数据报。数据报。本讲稿第二十八页,共四十一页代理ARPo如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求,此过程称作代理ARP(ProxyARP)。这样对发起ARP请求的发送端是透明的,使它误以为路由器就是目的主机,而事实上目的主机是在路由器的“另一边”。路由器的功能相当于目的主机的代理,把分组从其他主机转发给它。描述见RFC1
22、027(802.1x认证便是利用了代理ARP)o代理ARP的优点:子网的变化对主机是透明的。o代理ARP的缺点:增加了某一网段上ARP流量,需要更大的ARP表来处理IP地址到MAC地址的映射,安全问题,比如ARP欺骗。本讲稿第二十九页,共四十一页代理ARPo代理ARP可用来产生划分子网的效应。代理ARP可以代表一组主机的ARP。思考:代理ARP和远程通信路由ARP有何不同?本讲稿第三十页,共四十一页免费ARPo免费ARP(gratuitousARP)是指主机发送ARP查找自己的IP地址。通常,它发生在系统引导期间进行接口配置或更改IP地址的时候。o免费ARP报文的特点:报文中携带的源IP和目的
23、IP地址都是本机地址报文源MAC地址是本机MAC地址。目的MAC地址为全0。本讲稿第三十一页,共四十一页免费ARPo免费ARP可以有两个方面的作用:1.查找相同IP地址:一个主机可以通过它来确定另一个主机是否设置了相同的IP地址。免费ARP的报文发出去如果收到回应,则证明自己目前使用的IP地址与某机器相同。在所有网络设备(包括计算机网卡)up的时候,都会发送这样的免费ARP广播,以宣告并确认有没有冲突。2.更新ARP缓存:如果发送免费ARP的主机正好改变了硬件地址(很可能是主机关机了,并换了一块接口卡,然后重新启动),那么这个分组就可以使其他主机高速缓存中旧的硬件地址进行相应的更新。本讲稿第三
24、十二页,共四十一页RARPo当一个机器只知道它的物理地址时,RARP可用来获得它的逻辑地址。详细描述参见RFC903。o网络上的每个系统都具有唯一的硬件地址,它是由网络接口生产厂家配置的。一些网络主机,如无盘工作站,在它们被引导时不知道自己的IP地址。系统的RARP实现过程是从网络接口卡上读取唯一的硬件地址,然后发送一份RARP请求(一帧在网络上广播的数据),请求某个主机响应该无盘系统的IP地址(在RARP应答中)。本讲稿第三十三页,共四十一页RARPoRARP的分组格式与ARP完全一样,仅仅是操作字段是3(RARP请求)或者4(RARP应答)。o问题:RARP请求报文中,发送方硬件地址、发送
25、方IP地址、目的硬件地址、目的IP地址各字段都填充什么?本讲稿第三十四页,共四十一页RARPo虽然RARP在概念上很简单,但是一个RARP服务器的设计与系统相关,而且比较复杂。oRARP服务器的复杂性在于,服务器一般要为多个主机(网络上所有的无盘系统)提供硬件地址到IP地址的映射。该映射包含在一个磁盘文件中,由于内核一般不读取和分析磁盘文件,因此RARP服务器的功能就由用户进程来提供,而不是作为内核TCP/IP实现的一部分。RARP请求是作为一个特殊类型的以太网数据帧来传送的(帧类型字段值为0 x8035)。这说明RARP服务器必须能够发送和接收这种类型的以太网数据帧。o目前,此协议逐渐被BO
26、OTP和DHCP协议取代。本讲稿第三十五页,共四十一页ARP病毒及防护介绍o现象“ARP欺骗”系列病毒自06年出现以来,一直难以根除。一旦感染此病毒,就会在局域网内发起攻击,导致其他用户不能上网,危害严重。电脑中毒后会向同网段内所有计算机发ARP欺骗包,导致网络内其它电脑因网关物理地址被更改而无法正常上网,被欺骗电脑的典型症状是刚开机能上网,几分钟之后断网,过一会又能上网,或者重启一遍电脑就可以上网,一会又不好了,如此不断重复,影响正常使用。本讲稿第三十六页,共四十一页ARP病毒及防护介绍o病毒原理当某台电脑感染了ARP欺骗病毒/木马程序后,会不定期发送伪造的ARP响应报文和广播报文。受感染电
27、脑发出的这种报文会欺骗所在网段其他电脑。o一方面对其他电脑称自己的mac就是网关的mac,导致其他电脑发送的信息不能直接到达网关。o另一方面对实际网关称其他电脑的mac都是自己的mac,这样网关无法更新它的ARP表,无法正确的转发数据帧到实际用户电脑。本讲稿第三十七页,共四十一页ARP病毒及防护介绍o病毒自查手段对于Windows操作系统,在运行了一些网络应用后通过AltCtrlDel键进入Windows任务管理器,在进程页面中查看是否有1.exe、2.exe、3.exe、10.exe中的任意一个或几个,如果有那么这台计算机基本已经中毒了。此外如果进程页面中有svhost32这个进程,那么同样
28、也有大于95的可能性已经中毒了。应立即断网,认真清除本机病毒。本讲稿第三十八页,共四十一页ARP病毒及防护介绍o静态绑定:最常用的方法就是做IP和MAC静态绑定,在网内把主机和网关都做IP和MAC绑定。“arp-sIPMAC地址”。所以把ARP全部设置为静态可以解决对内网PC的欺骗,同时在网关也要进行IP和MAC的静态绑定,这样双向绑定才比较保险。o使用ARP防护软件:常见的有ArpFix,AntiArp,360安全卫士等软件。oArpFix软件下载:ftp:/166.111.8.243/tools/ArpFix.raroAntiArp软件下载:http:/ by Sunry本讲稿第四十页,共四十一页实验2内容:内容:用分析软件捕获用分析软件捕获ARP协议,进行分析。协议,进行分析。捕获免费捕获免费arp协议,进行分析。协议,进行分析。练习练习arp命令的使用。命令的使用。本讲稿第四十一页,共四十一页