地址解析协议ARP报文的处理方法和装置制造方法及图纸

技术编号:11195010 阅读:140 留言:0更新日期:2015-03-26 00:27
本申请提供一种地址解析协议ARP报文的处理方法,其特征在于,包括:判断接收到的ARP报文为去往虚拟机的入包报文还是来自虚拟机的出包报文;当ARP报文为入包报文时,对入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将入包报文转发给虚拟机;以及当ARP报文为出包报文时,并且当出包报文为广播报文且为ARP请求报文、并且出包报文的源IP地址与目的地IP地址不相同时,如果在缓存中的MAC地址自学习处理结果中查找到与出包报文的目的地IP地址对应的MAC地址,则对出包报文进行代回和丢包处理。由此更有效地减少数据中心网络中ARP报文,提高网络整体性能。

【技术实现步骤摘要】
地址解析协议ARP报文的处理方法和装置
本申请涉及计算机通信领域,具体地涉及一种地址解析协议ARP报文的处理方法和装置。
技术介绍
随着云时代的到来,目前存在很多数据中心网络。在数据中心网络中,存在多个物理机节点,各物理机节点之间通过上层交换机来实现通信。每个物理机节点上可以部署多台虚拟机(VM)。这些虚拟机可以经由该物理机节点来与该物理机节点上的其它虚拟机进行通信,也可以经由该物理机节点和上层交换机来与外界网络或其他物理机上的虚拟机进行通信。通常,虚拟机是通过地址解析协议(AddressResolutionProtocol,ARP)来进行寻址和通信的。随着数据中心规模的不断扩大,数据中心网络上会有越来越多的ARP报文。而大量的ARP报文,会使得上层交换机的CPU(CenterProcessingUnit,中央处理器)负担过重,造成交换机其他功能无法正常运行甚至设备瘫痪。因此需要减少数据中心网络中的ARP报文,提高网络的整体性能。为了达到减少数据中心网络中ARP报文的目的,现有技术中主要采用了以下两类方案:第一类:在交换机层面,对ARP报文进行端口限速。该功能使受到攻击的端口暂时关闭,来避免攻击对CPU的冲击。当开启某个端口的ARP报文限速功能后,交换机对每秒内该端口接收的ARP报文数量进行统计,如果每秒收到的ARP报文数量超过设定值,则认为该端口处于超速状态(即受到ARP报文攻击)。此时,交换机将关闭该端口,使其不再接收任何报文,从而避免大量ARP报文攻击交换机。同时,交换机支持配置端口状态自动恢复功能,对于配置了ARP限速功能的端口,在其因超速而被交换机关闭后,经过一段时间可以自动恢复为开启状态。第二类:在物理机层面,对ARP报文进行控制处理。目前大多数采用的是代回和丢包处理方案,其基本原理是:针对作为广播报文的ARP请求(ARPRequest)报文,根据该报文的目的地IP地址,在预置有虚拟机的IP地址-MAC地址对(IP-MAC对)信息的内存中查找与该IP地址所对应的MAC地址;若找到对应的MAC地址,则根据该查找到的MAC地址组装一个ARP应答(ARPReply)报文,并将该ARP应答报文发送给发出ARP请求报文的虚拟机,同时丢弃该ARP请求报文;若未找到对应的MAC地址,则将该ARP请求报文直接放行,即转发给交换机。按照此方案,能在保证网络正常连通的前提下,丢弃大部分的ARP请求广播报文,进而减少数据中心网络中的ARP报文。然而本专利技术人注意到,这两类方案都存在一定的问题。在第一类方案中,若虚拟机发出大量的ARP报文后,虚拟机所在的物理机连接到交换机的端口就会被暂时关闭。由于物理机与物理机上的虚拟机共用交换机端口,因此这种方案存在以下问题:1.对物理机ARP报文而言,缺乏优先性。物理机是数据中心中控制的节点,它的ARP优先级要高于虚拟机的,不应该跟该物理机节点上的虚拟机同等对待。2.对虚拟机的ARP报文而言,缺乏公平性。基于端口的限速,限制的是共用该端口的所有虚拟机的发包总量,这存在着一台虚拟机过量发包,抢占其他虚拟机流量的问题。3.当交换机的端口被短暂关闭时,这会导致物理机不能正常通信,会影响物理机的可用性。这在数据中心中是不被允许的。而在第二类方案中,在物理机层面,对ARP报文进行控制处理,其中是根据IP-MAC对信息来判断是否能够进行代回和丢包处理。这种方案存在以下问题:1.IP-MAC对信息难以实时维护。传统的做法是将数据中心中使用的IP-MAC对信息提前内置到系统中,而实际上,数据中心经常会有更换虚拟机的IP或MAC地址的需求,IP或MAC地址的更新并不能在数据中心的所有物理机上实时更新。2.大量的IP-MAC对信息占用了大量内存,实际上大部分不会用到,浪费了宝贵的内存资源。3.控制处理的ARP报文只有ARP请求报文,因而存在攻击漏洞。例如用户可以通过连续发送免费ARP广播报文和/或ARP应答报文,使网络中的ARP报文数量增大,这些类型的报文也需要进行控制。因此需求一种改进的ARP报文处理方案,来克服上述问题。
技术实现思路
本申请的主要目的在于提供一种ARP报文处理技术,以克服现有技术中的上述问题,从而更有效地减少数据中心网络中ARP报文,提高网络整体性能。根据本申请的一个方面,提供一种地址解析协议ARP报文的处理方法,其特征在于,包括:判断接收到的ARP报文为去往虚拟机的入包报文还是来自虚拟机的出包报文;当ARP报文为入包报文时,对入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将入包报文转发给虚拟机;以及当ARP报文为出包报文时,并且当出包报文为广播报文且为ARP请求报文、并且出包报文的源IP地址与目的地IP地址不相同时,如果在缓存中的MAC地址自学习处理结果中查找到与出包报文的目的地IP地址对应的MAC地址,则对出包报文进行代回和丢包处理。根据本申请的另一方面,提供一种地址解析协议ARP报文的处理装置,其特征在于,包括:判断模块,用于判断接收到的ARP报文为去往虚拟机的入包报文还是来自虚拟机的出包报文;自学习处理和转发模块,用于当ARP报文为入包报文时,对入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将入包报文转发给虚拟机;以及代回和丢包处理模块,用于当ARP报文为出包报文时,并且当出包报文为广播报文且为ARP请求报文、并且出包报文的源IP地址与目的地IP地址不相同时,如果在缓存中的MAC地址自学习处理结果中查找到与出包报文的目的地IP地址对应的MAC地址,则对出包报文进行代回和丢包处理。与现有技术相比,根据本申请的技术方案,能够通过对数据中心网络中的ARP入报文进行自学习,获取到实时的IP地址-MAC地址对信息,并将该信息用于对ARP请求报文(不包括免费ARP报文)的代回和丢包处理中。因此能够更准确有效地对ARP请求报文进行代回和丢包处理,从而更有效地降低数据中心网络中的ARP报文数量,提高网络的整体性能。进一步而言,根据本申请的技术方案,在对ARP出包报文的控制处理中,不仅能够针对ARP请求报文(不包括免费ARP报文)进行控制处理例如代回和丢包处理,而且能够针对诸如免费ARP报文之类的其它类型的广播报文进行控制处理例如通过QoS队列的限速处理。因此能够更全面有效地控制数据中心网络中的ARP报文数量,防止攻击漏洞。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1示出根据本申请一个实施例的ARP报文处理方法的流程图;图2示出根据本申请另一个实施例的ARP报文处理方法的流程图;图3示出根据本申请又一个实施例的ARP报文处理方法的流程图;图4示出根据本申请一个实施例的ARP报文处理装置的框图;以及图5示意性地示出ARP报文的传输格式。具体实施方式本申请的主要思想在于,首先,为了保证物理机ARP报文的最高优先级,仅对虚拟机的ARP报文进行控制处理,而忽略物理机的ARP报文,因此在物理机节点上对来自虚拟机和去往虚拟机的ARP报文实施控制处理,由此确保不影响物理机的可用性。其次,通过对去往虚拟机的本文档来自技高网
...
地址解析协议ARP报文的处理方法和装置

【技术保护点】
一种地址解析协议ARP报文的处理方法,其特征在于,包括:判断接收到的ARP报文为去往虚拟机的入包报文还是来自虚拟机的出包报文;当所述ARP报文为入包报文时,对所述入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将所述入包报文转发给所述虚拟机;以及当所述ARP报文为出包报文时,并且当所述出包报文为广播报文且为ARP请求报文、并且所述出包报文的源IP地址与目的地IP地址不相同时,如果在所述缓存中的MAC地址自学习处理结果中查找到与所述出包报文的目的地IP地址对应的MAC地址,则对所述出包报文进行代回和丢包处理。

【技术特征摘要】
1.一种地址解析协议ARP报文的处理方法,其特征在于,包括:判断接收到的ARP报文为去往虚拟机的入包报文还是来自虚拟机的出包报文;当所述ARP报文为入包报文时,对所述入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将所述入包报文转发给所述虚拟机;以及当所述ARP报文为出包报文时,并且当所述出包报文为广播报文且为ARP请求报文、并且所述出包报文的源IP地址与目的地IP地址不相同时,如果在所述缓存中的MAC地址自学习处理结果中查找到与所述出包报文的目的地IP地址对应的MAC地址,则对所述出包报文进行代回和丢包处理。2.根据权利要求1所述的方法,其特征在于,所述当所述ARP报文为入包报文时对所述入包报文进行MAC地址自学习处理并将MAC地址自学习处理的结果存储到缓存中,并且将所述入包报文转发给所述虚拟机的步骤进一步包括:当所述入包报文为ARP应答报文、或者所述入包报文的源IP地址与目的地IP地址都为本机IP地址且目的地MAC地址为广播地址时,对所述入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将所述入包报文转发给所述虚拟机。3.根据权利要求1或2所述的方法,其特征在于,所述对所述入包报文进行MAC地址自学习处理并将MAC地址自学习处理的结果存储到缓存中的步骤进一步包括:在所述入包报文的源IP地址和源MAC地址之间建立映射关系,并将所述映射关系存储到所述缓存中。4.根据权利要求1或2所述的方法,其特征在于,还包括:当所述出包报文为广播报文,且所述出包报文的源IP地址与目的地IP地址相同时,将所述出包报文放入服务质量队列中,以按照特定速率转发给交换机。5.根据权利要求1或2所述的方法,其特征在于,还包括:当所述出包报文不是广播报文时,将所述出包报文放入服务质量队列中,以按照特定速率转发给交换机。6.根据权利要求1或2所述的方法,其特征在于,还包括:如果所述查找失败,则将所述出包报文放入服务质量队列中,以按照特定速率转发给交换机。7.根据权利要求1或2所述的方法,其特征在于,所述对所述出包报文进行代回和丢包处理的步骤进一步包括:根据所述查找到的MAC地址,生成与所述出包报文相应的ARP应答报文,并且将所述ARP应答报文发送给所述虚拟机且丢弃所述...

【专利技术属性】
技术研发人员:常磊马介悦
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1