CN104468855A - 地址解析协议arp报文的处理方法和装置 - Google Patents
地址解析协议arp报文的处理方法和装置 Download PDFInfo
- Publication number
- CN104468855A CN104468855A CN201310449790.7A CN201310449790A CN104468855A CN 104468855 A CN104468855 A CN 104468855A CN 201310449790 A CN201310449790 A CN 201310449790A CN 104468855 A CN104468855 A CN 104468855A
- Authority
- CN
- China
- Prior art keywords
- packet voice
- packet
- address
- message
- arp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
Abstract
本申请提供一种地址解析协议ARP报文的处理方法,其特征在于,包括:判断接收到的ARP报文为去往虚拟机的入包报文还是来自虚拟机的出包报文;当ARP报文为入包报文时,对入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将入包报文转发给虚拟机;以及当ARP报文为出包报文时,并且当出包报文为广播报文且为ARP请求报文、并且出包报文的源IP地址与目的地IP地址不相同时,如果在缓存中的MAC地址自学习处理结果中查找到与出包报文的目的地IP地址对应的MAC地址,则对出包报文进行代回和丢包处理。由此更有效地减少数据中心网络中ARP报文,提高网络整体性能。
Description
技术领域
本申请涉及计算机通信领域,具体地涉及一种地址解析协议ARP报文的处理方法和装置。
背景技术
随着云时代的到来,目前存在很多数据中心网络。在数据中心网络中,存在多个物理机节点,各物理机节点之间通过上层交换机来实现通信。每个物理机节点上可以部署多台虚拟机(VM)。这些虚拟机可以经由该物理机节点来与该物理机节点上的其它虚拟机进行通信,也可以经由该物理机节点和上层交换机来与外界网络或其他物理机上的虚拟机进行通信。
通常,虚拟机是通过地址解析协议(Address Resolution Protocol,ARP)来进行寻址和通信的。随着数据中心规模的不断扩大,数据中心网络上会有越来越多的ARP报文。而大量的ARP报文,会使得上层交换机的CPU(CenterProcessing Unit,中央处理器)负担过重,造成交换机其他功能无法正常运行甚至设备瘫痪。因此需要减少数据中心网络中的ARP报文,提高网络的整体性能。
为了达到减少数据中心网络中ARP报文的目的,现有技术中主要采用了以下两类方案:
第一类:在交换机层面,对ARP报文进行端口限速。该功能使受到攻击的端口暂时关闭,来避免攻击对CPU的冲击。当开启某个端口的ARP报文限速功能后,交换机对每秒内该端口接收的ARP报文数量进行统计,如果每秒收到的ARP报文数量超过设定值,则认为该端口处于超速状态(即受到ARP报文攻击)。此时,交换机将关闭该端口,使其不再接收任何报文,从而避免大量ARP报文攻击交换机。同时,交换机支持配置端口状态自动恢复功能,对于配置了ARP限速功能的端口,在其因超速而被交换机关闭后,经过一段时间可以自动恢复为开启状态。
第二类:在物理机层面,对ARP报文进行控制处理。目前大多数采用的是代回和丢包处理方案,其基本原理是:针对作为广播报文的ARP请求(ARP Request)报文,根据该报文的目的地IP地址,在预置有虚拟机的IP地址-MAC地址对(IP-MAC对)信息的内存中查找与该IP地址所对应的MAC地址;若找到对应的MAC地址,则根据该查找到的MAC地址组装一个ARP应答(ARP Reply)报文,并将该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报文(入包报文)进行自学习,实时获取到IP地址与MAC地址的映射关系,并根据该映射关系,实施对来自虚拟机的ARP报文(出包报文)的代回和丢包处理(这里仅针对广播报文中的非免费ARP请求报文进行该处理)。由此可以更准确有效地对ARP报文进行出包控制,减少网络中的ARP报文数量,同时减轻对上层交换机的压力,提高网络整体性能。
再者,当无法对ARP出包报文进行代回和丢包处理,而需要将ARP出包报文转发给交换机时,对该出包报文进行QoS队列限速处理,以控制ARP报文的出包速度。由此减少大量ARP报文对上层交换机的冲击概率,并且相对地控制网络中的ARP报文数量,提高网络整体性能。
为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本申请作进一步地详细说明。
参考图1,图1示出根据本申请一个实施例的ARP报文处理方法的流程图。该方法包括步骤S110-步骤S130,这些步骤可以在作为数据中心网络节点的物理机上实现。
在步骤S110处,判断接收到的ARP报文为去往虚拟机的入包报文还是来自虚拟机的出包报文。
具体而言,物理机可以接收该物理机上的虚拟机或其它物理机上的虚拟机向该物理机上的其它虚拟机发送来的ARP报文(即入包报文),也可以接收从该物理机上的虚拟机发往该物理机上的其它虚拟机或者其它物理机上的虚拟机的ARP报文(即出包报文)。
ARP报文,即根据地址解析协议(ARP,Address Resolution Protocol)传输的报文。ARP报文的种类可以包括ARP请求报文、ARP应答报文、免费ARP报文等。图5示意性地示出了ARP报文的传输格式。如图5所示,ARP报文中的操作字段可以指示该报文为请求报文还是应答报文。免费ARP报文是指源IP地址和目的地IP地址都为虚拟机本机IP地址且目的地MAC地址为广播地址FF:FF:FF:FF:FF:FF的ARP报文。
根据本申请的实施例,在物理机节点上,从出入虚拟机的两个方向上抓取ARP报文,以用于进行控制处理。具体而言,针对去往虚拟机的ARP报文,即入包报文,进行MAC地址自学习处理。而针对来自虚拟机的ARP报文,即出包报文,进行代回和丢包处理。因此,首先需要判断接收到的ARP报文是入包报文还是出包报文,由此来判断执行哪种处理操作。
当在步骤S110处判定接收到的ARP报文为入包报文时,进入步骤S120。在步骤S120处,对该入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将入包报文转发给相应的虚拟机。
具体而言,根据本申请的实施例,可以在入包报文的源IP地址和源MAC地址之间建立映射关系,即形成IP地址-MAC地址对,并将该映射关系即IP地址-MAC地址对存储到缓存中,以备后续对出包报文的控制处理中使用。
根据本申请的实施例,当ARP报文为入包报文时,在对其进行MAC地址自学习处理之后,可以根据该入包报文的目的地MAC地址,将该入包报文转发给相应的虚拟机。
当在步骤S110处判定接收到的ARP报文为出包报文时,进入步骤S130。在步骤S130处,当出包报文为广播报文且为ARP请求报文、并且出包报文的源IP地址与目的地IP地址不相同时,如果在缓存中的MAC地址自学习处理结果中查找到与出包报文的目的地IP地址对应的MAC地址,则对出包报文进行代回和丢包处理。
具体而言,根据本申请的实施例,当出包报文的目的地MAC地址为广播地址(即FF:FF:FF:FF:FF:FF)、出包报文中的操作字段指示为请求报文且出包报文的源IP地址与目的地IP地址不相同时,就在缓存中的MAC地址自学习处理结果中查找是否存在与出包报文的目的地IP地址对应的MAC地址。如果查找到MAC地址,则根据查找到的MAC地址,生成与出包报文相应的ARP应答报文,并且将ARP应答报文发送给发出该出包报文的虚拟机且丢弃该出包报文。如果在缓存中查找不到MAC地址,则不对出包报文进行代回和丢包处理,而是放入服务质量队列中。这一点稍后将结合图3进行详细描述。
这里需要说明的是,上述代回和丢包处理的过程与现有技术中的过程类似。不同之处在于,本申请的代回和丢包处理利用的是从数据中心网络中自学习到的IP地址-MAC地址映射关系。该映射关系是实时获取的,其反映的IP地址-MAC地址对更加全面和准确。
至此描述了根据本申请一个实施例的ARP报文处理方法。在本实施例的ARP报文处理方法中,可以对去往虚拟机的ARP报文进行MAC地址自学习处理,并且可以根据MAC地址自学习处理的结果,对来自虚拟机的ARP广播报文(仅非免费的ARP请求报文)进行代回和丢包处理。因而,相比现有技术而言,可以更准确有效地控制ARP报文的出包数量,减少对上层交换机的压力,提高网络整体性能。
在上述实施例中,MAC地址自学习处理是针对所有去往虚拟机的ARP报文(入包报文)进行的。然而,本发明人注意到,实际上可以挑选一部分入包报文进行学习。具体而言,本发明人注意到,如果有ARP应答报文进入虚拟机,则说明虚拟机针对该报文的源IP地址发出了寻址请求,从而表明有与该IP地址进行通信的需求,因此需要学习该IP地址对应的MAC地址。另外,如果有免费ARP报文进入虚拟机,则说明该报文的源IP地址的虚拟机旨在于在网络中宣告它的MAC地址,因此为了维护物理机本地缓存中正确的IP-MAC地址对,需要学习该IP地址对应的MAC地址。对于其它的ARP报文则无需学习,因为虚拟机并没有与该ARP报文的源IP地址通信的需求,另外也防止对IP-MAC地址对缓存的频繁读写,以免影响代回和丢包处理的性能。
图2示出根据本申请另一个实施例的ARP报文处理方法的流程图。该实施例正是描述了对部分入包报文进行MAC地址自学习处理的情况。
如图2所示,在步骤S210处,判断接收到的ARP报文为去往虚拟机的入包报文还是来自虚拟机的出包报文。该步骤S210的处理与步骤S110的处理类似,这里不再赘述。
当在步骤S210处判定接收到的ARP报文为去往虚拟机的入包报文时,进入步骤S220。在步骤S220处,判断入包报文是否为ARP应答报文或者免费ARP报文。免费ARP报文的源IP地址与目的地IP地址都为本机IP地址且目的地MAC地址为广播地址。
具体而言,如图5所示,ARP报文中的操作字段可以指示该报文为请求报文还是应答报文。因此,在步骤S210处,可以通过判断入包报文中的操作字段是否指示应答报文,来判断该入包报文是否为ARP应答报文;并且可以通过判断入包报文的源IP地址和目的地IP地址是否都为本机IP地址且目的地MAC地址是否为广播地址,来判断该入包报文是否为免费ARP报文。
如果在步骤S220处判定入包报文为ARP应答报文或免费ARP报文,则进入步骤S230。在步骤S230处,对该入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将入包报文转发给相应的虚拟机。也就是,根据本实施例,可以只针对ARP应答报文和免费ARP报文进行自学习,将学习到的源IP地址和源MAC地址的映射关系作为IP地址-MAC地址对存储到缓存中,以备在出包控制中使用。
根据本申请的实施例,在对作为ARP应答报文或免费ARP报文的入包报文进行MAC地址自学习处理之后,物理机可以根据入包报文的目的地MAC地址将入包报文转发到相应的虚拟机。该步骤S230的处理与前面的步骤S120的处理类似,这里不再赘述。
接下来,如果在步骤S220处判定入包报文不是ARP应答报文且不是免费ARP报文,则进入步骤S240,即不对该报文进行处理,而是直接将该报文转发给相应的虚拟机。
当在步骤S210处判定接收到的ARP报文为来自虚拟机的出包报文时,进入步骤S250。在步骤S250处,当出包报文为广播报文且为ARP请求报文、并且出包报文的源IP地址与目的地IP地址不相同时,如果在缓存中的MAC地址自学习处理结果中查找到与出包报文的目的地IP地址对应的MAC地址,则对出包报文进行代回和丢包处理。该步骤S250的处理与前面的步骤S130的处理类似,这里不再赘述。
至此描述了根据本申请另一个实施例的ARP报文处理方法。在本实施例的ARP报文处理方法中,仅对去往虚拟机的部分ARP报文进行MAC地址自学习处理,并且可以根据MAC地址自学习处理的结果,对来自虚拟机的ARP广播报文(仅非免费的ARP请求报文)进行代回和丢包处理。相比前一实施例而言,可以更高效地执行MAC地址自学习处理,并且可以防止由于频繁读写缓存中的IP地址-MAC地址对而对代回处理的性能造成影响,从而进一步提高网络整体性能。
图3示出根据本申请又一个实施例的ARP报文处理方法的流程图,其中更详细地示出了根据本申请思想的ARP报文处理方法的处理过程。本实施例主要用于描述对ARP出包报文的控制处理。
如图3所示,本实施例的方法包括步骤S310-S390。其中步骤S310-S340与前面的步骤S210-S240类似,这里不再赘述。以下主要描述在步骤S310中判定接收到的ARP报文为来自虚拟机的出包报文后,如何对出包报文进行控制处理的过程。
当在步骤S310中判定接收到的ARP报文为来自虚拟机的出包报文时,进入步骤S350。在步骤S350处,判断该出包报文是否为广播报文。
具体而言,物理机可以通过判断出包报文的目的地MAC地址是否为广播地址FF:FF:FF:FF:FF:FF,来判断该出包报文是否为广播报文。
当在步骤S350处判定该出包报文不是广播报文时,进入步骤S390,将该出包报文放入服务质量(QoS)队列中,以按照特定速率将其转发给交换机。
具体而言,物理机可以将需要转发出去的出包报文放入QoS队列中,由此控制出包报文出物理机的速度,也就控制了出包报文进入数据中心网络中的交换机的速度,相对地减少了对交换机的压力。
当在步骤S350处判定该出包报文是广播报文时,进入步骤S360。在步骤S360处,判断该出包报文是否为ARP请求报文且该出包报文的源IP地址和目的地IP地址不相同(即,不是免费ARP报文)。
具体而言,物理机可以通过判断该出包报文中的操作字段是否指示为请求报文,来判断该出包报文是否为ARP请求报文。然后再通过判断该出包报文的源IP地址是否与目的地IP地址不相同,来判定该出包报文是否为除免费ARP报文以外的ARP请求报文。
更具体而言,当出包报文中的操作字段指示为请求报文时,则判定该出包报文为ARP请求报文。如果该出包报文的源IP地址与目的地IP地址又不相同时,则可以判定该出包报文不是免费ARP报文,即免费ARP报文以外的ARP请求报文。
当在步骤S360处判定出包报文不是ARP请求报文或者判定出包报文为免费ARP报文时,也进入步骤S390。在步骤S390处,将该出包报文放入服务质量(QoS)队列中,以按照特定速率将其转发给交换机。
当在步骤S360处判定出包报文为ARP请求报文且不是免费ARP报文时,进入步骤S370。在步骤S370处,判断出包报文的目的地IP地址是否存在于缓存中。
具体而言,物理机可以在根据步骤S320-S330得到的、存储于缓存的MAC地址自学习处理结果中,查找是否存在与该出包报文的目的地IP地址对应的MAC地址。
如果在步骤S370处判定在缓存中存在与该出包报文的目的地IP地址对应的MAC地址,则进入步骤S380。在步骤S380处,可以对该出包报文执行代回和丢包处理。
具体而言,如果在缓存中查找到与出包报文的目的地IP地址对应的MAC地址,由此可以确定与该出包报文的目的地IP地址对应的目的地MAC地址。根据该MAC地址,可以生成与所述出包报文相应的ARP应答报文,并且将所述ARP应答报文发送给发出该出包报文的虚拟机。这就相当于代替该出包报文的目的地IP地址指向的虚拟机向发出该出包报文的虚拟机回复一个ARP应答报文,即代回处理。然后可以将出包报文丢弃,而无需再将该出包报文转发出去,即丢包处理。
如果在步骤S370处判定在缓存中不存在与该出包报文的目的地IP地址对应的MAC地址,则也进入步骤S390。在步骤S390处,将该出包报文放入服务质量(QoS)队列中,以按照特定速率将其转发给交换机。
至此描述了根据本申请又一个实施例的ARP报文处理方法。在本实施例的方法中,当无法对ARP出包报文进行代回和丢包处理,而需要将ARP出包报文转发给交换机时,对该出包报文进行QoS队列限速处理,以控制ARP报文的出包速度。由此减少了大量ARP报文对上层交换机的冲击概率,并且相对地控制了网络中的ARP报文数量,提高了网络整体性能。
以上描述了根据本申请各种实施例的ARP报文处理方法,相应地,本申请的实施例还提供相应的ARP报文处理装置。图4示出根据本申请一个实施例的ARP报文处理装置400的框图。
如图4所示,装置400可以包括判断模块410、自学习处理和转发模块420以及代回和丢包处理模块430。
具体而言,判断模块410可以用于判断接收到的ARP报文为去往虚拟机的入包报文还是来自虚拟机的出包报文。自学习处理和转发模块420可以用于当ARP报文为入包报文时,对入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将入包报文转发给相应的虚拟机。代回和丢包处理模块430可以用于当ARP报文为出包报文时,并且当出包报文为广播报文且为ARP请求报文、并且出包报文的源IP地址与目的地IP地址不相同时,如果在缓存中的MAC地址自学习处理结果中查找到与出包报文的目的地IP地址对应的MAC地址,则对出包报文进行代回和丢包处理。
根据本申请的实施例,自学习处理和转发模块420可以进一步用于:当入包报文为ARP应答报文或者免费ARP报文时,对入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将入包报文转发给相应的虚拟机。
根据本申请的实施例,自学习处理和转发模块420可以进一步包括:映射和存储子模块(图中未示出),用于在入包报文的源IP地址和源MAC地址之间建立映射关系,并将映射关系存储到缓存中。
根据本申请的实施例,装置400还可以包括:第一服务质量队列模块(图中未示出),用于当出包报文为广播报文,且出包报文的源IP地址与目的地IP地址相同时,将出包报文放入服务质量队列中,以按照特定速率转发给交换机。
根据本申请的实施例,装置400还可以包括:第二服务质量队列模块(图中未示出),用于当出包报文不是广播报文时,将出包报文放入服务质量队列中,以按照特定速率转发给交换机。
根据本申请的实施例,装置400还可以包括:第三服务质量队列模块(图中未示出),用于如果所述查找失败,则将出包报文放入服务质量队列中,以按照特定速率转发给交换机。
根据本申请的实施例,代回和丢包处理模块430可以进一步包括:生成和丢弃子模块(图中未示出),用于根据查找到的MAC地址,生成与出包报文相应的ARP应答报文,并且将ARP应答报文发送给虚拟机且丢弃出包报文。
以上描述的ARP报文处理装置与之前描述的ARP报文处理方法的处理是对应的,因此,关于其具体细节,可以参见之前描述的ARP报文处理方法,这里不再赘述。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域内的技术人员应明白,本申请的实施例可提供为方法、设备、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
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应答报文发送给所述虚拟机且丢弃所述出包报文。
8.一种地址解析协议ARP报文的处理装置,其特征在于,包括:
判断模块,用于判断接收到的ARP报文为去往虚拟机的入包报文还是来自虚拟机的出包报文;
自学习处理和转发模块,用于当所述ARP报文为入包报文时,对所述入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将所述入包报文转发给所述虚拟机;以及
代回和丢包处理模块,用于当所述ARP报文为出包报文时,并且当所述出包报文为广播报文且为ARP请求报文、并且所述出包报文的源IP地址与目的地IP地址不相同时,如果在所述缓存中的MAC地址自学习处理结果中查找到与所述出包报文的目的地IP地址对应的MAC地址,则对所述出包报文进行代回和丢包处理。
9.根据权利要求8所述的装置,其特征在于,所述自学习处理和转发模块进一步用于:
当所述入包报文为ARP应答报文、或者所述入包报文的源IP地址与目的地IP地址都为本机IP地址且目的地MAC地址为广播地址时,对所述入包报文进行MAC地址自学习处理,并将MAC地址自学习处理的结果存储到缓存中,并且将所述入包报文转发给所述虚拟机。
10.根据权利要求8或9所述的装置,其特征在于,所述自学习处理和转发模块进一步包括:
映射和存储子模块,用于在所述入包报文的源IP地址和源MAC地址之间建立映射关系,并将所述映射关系存储到所述缓存中。
11.根据权利要求8或9所述的装置,其特征在于,还包括:
第一服务质量队列模块,用于当所述出包报文为广播报文,且所述出包报文的源IP地址与目的地IP地址相同时,将所述出包报文放入服务质量队列中,以按照特定速率转发给交换机。
12.根据权利要求8或9所述的装置,其特征在于,还包括:
第二服务质量队列模块,用于当所述出包报文不是广播报文时,将所述出包报文放入服务质量队列中,以按照特定速率转发给交换机。
13.根据权利要求8或9所述的装置,其特征在于,还包括:
第三服务质量队列模块,用于如果所述查找失败,则将所述出包报文放入服务质量队列中,以按照特定速率转发给交换机。
14.根据权利要求8或9所述的装置,其特征在于,所述代回和丢包处理模块进一步包括:
生成和丢弃子模块,用于根据所述查找到的MAC地址,生成与所述出包报文相应的ARP应答报文,并且将所述ARP应答报文发送给所述虚拟机且丢弃所述出包报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310449790.7A CN104468855B (zh) | 2013-09-25 | 2013-09-25 | 地址解析协议arp报文的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310449790.7A CN104468855B (zh) | 2013-09-25 | 2013-09-25 | 地址解析协议arp报文的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104468855A true CN104468855A (zh) | 2015-03-25 |
CN104468855B CN104468855B (zh) | 2018-04-03 |
Family
ID=52914203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310449790.7A Active CN104468855B (zh) | 2013-09-25 | 2013-09-25 | 地址解析协议arp报文的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104468855B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107690004A (zh) * | 2016-08-04 | 2018-02-13 | 中兴通讯股份有限公司 | 地址解析协议报文的处理方法及装置 |
WO2018161827A1 (zh) * | 2017-03-07 | 2018-09-13 | 中兴通讯股份有限公司 | 一种地址自学习的方法、装置及交换机 |
CN111541721A (zh) * | 2020-05-21 | 2020-08-14 | 四川英得赛克科技有限公司 | 应用于工业控制环境的攻击监测方法、系统 |
CN114125078A (zh) * | 2021-09-02 | 2022-03-01 | 杭州迪普信息技术有限公司 | 一种mac地址学习的方法及装置 |
CN114629820A (zh) * | 2022-03-25 | 2022-06-14 | 阿里巴巴(中国)有限公司 | 网络连通性检测方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1829190A (zh) * | 2005-03-01 | 2006-09-06 | 杭州华为三康技术有限公司 | 一种分布式arp实现方法 |
CN101075933A (zh) * | 2007-06-29 | 2007-11-21 | 华为技术有限公司 | 学习mac地址的方法及网元设备 |
CN101577722A (zh) * | 2009-06-03 | 2009-11-11 | 中兴通讯股份有限公司 | 实现强制mac转发功能的方法和装置 |
CN102307140A (zh) * | 2011-08-17 | 2012-01-04 | 杭州华三通信技术有限公司 | 一种基于端口聚合的报文处理方法及其装置 |
WO2013044821A1 (en) * | 2011-09-29 | 2013-04-04 | Hangzhou H3C Technologies Co., Ltd. | Learning a mac address |
-
2013
- 2013-09-25 CN CN201310449790.7A patent/CN104468855B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1829190A (zh) * | 2005-03-01 | 2006-09-06 | 杭州华为三康技术有限公司 | 一种分布式arp实现方法 |
CN101075933A (zh) * | 2007-06-29 | 2007-11-21 | 华为技术有限公司 | 学习mac地址的方法及网元设备 |
CN101577722A (zh) * | 2009-06-03 | 2009-11-11 | 中兴通讯股份有限公司 | 实现强制mac转发功能的方法和装置 |
CN102307140A (zh) * | 2011-08-17 | 2012-01-04 | 杭州华三通信技术有限公司 | 一种基于端口聚合的报文处理方法及其装置 |
WO2013044821A1 (en) * | 2011-09-29 | 2013-04-04 | Hangzhou H3C Technologies Co., Ltd. | Learning a mac address |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107690004A (zh) * | 2016-08-04 | 2018-02-13 | 中兴通讯股份有限公司 | 地址解析协议报文的处理方法及装置 |
WO2018161827A1 (zh) * | 2017-03-07 | 2018-09-13 | 中兴通讯股份有限公司 | 一种地址自学习的方法、装置及交换机 |
CN111541721A (zh) * | 2020-05-21 | 2020-08-14 | 四川英得赛克科技有限公司 | 应用于工业控制环境的攻击监测方法、系统 |
CN111541721B (zh) * | 2020-05-21 | 2022-05-27 | 四川英得赛克科技有限公司 | 应用于工业控制环境的攻击监测方法、系统 |
CN114125078A (zh) * | 2021-09-02 | 2022-03-01 | 杭州迪普信息技术有限公司 | 一种mac地址学习的方法及装置 |
CN114629820A (zh) * | 2022-03-25 | 2022-06-14 | 阿里巴巴(中国)有限公司 | 网络连通性检测方法、装置、设备及介质 |
CN114629820B (zh) * | 2022-03-25 | 2023-09-12 | 阿里巴巴(中国)有限公司 | 网络连通性检测方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104468855B (zh) | 2018-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11240155B2 (en) | Technologies for network device load balancers for accelerated functions as a service | |
CN108259347B (zh) | 一种报文传输方法和装置 | |
US10129181B2 (en) | Controlling the reactive caching of wildcard rules for packet processing, such as flow processing in software-defined networks | |
US10461958B2 (en) | Packet transmission method and apparatus | |
CN107251486B (zh) | 一种扩展联动的方法、装置及系统 | |
CN104468855A (zh) | 地址解析协议arp报文的处理方法和装置 | |
CN110808857B (zh) | 实现Kubernetes集群的网络互通方法、装置、设备以及存储介质 | |
CN107066340B (zh) | 一种基于linux的无中断线速收包、发包方法及设备 | |
US20190114212A1 (en) | Disposition of a workload based on a thermal response of a device | |
CN111026324B (zh) | 转发表项的更新方法及装置 | |
US11632288B2 (en) | Determining the impact of network events on network applications | |
CN107547400B (zh) | 一种虚拟机迁移方法和装置 | |
CN106878106B (zh) | 一种可达性检测方法及装置 | |
CN101599910B (zh) | 报文发送的方法及设备 | |
US20240152474A1 (en) | On-chip integrated circuit, data processing device, and data processing method | |
CN104601645A (zh) | 一种数据包处理方法及装置 | |
KR101952187B1 (ko) | 서비스 노드 능력 처리 방법, 장치, 서비스 분류기 및 서비스 제어기 | |
CN108810935B (zh) | 一种流量转发方法及装置 | |
CN111147385A (zh) | 一种软件定义数据中心网络数据平面转发方法及系统 | |
CN109768909A (zh) | 报文转发方法和装置 | |
CN110636005B (zh) | 知识中心网络的知识路由方法及装置 | |
CN111404705B (zh) | 一种sdn的优化方法、装置及计算机可读存储介质 | |
RU2675050C1 (ru) | Способ и устройство выбора адреса управления доступом к среде mac | |
CN107547241B (zh) | 一种te隧道的故障检测方法和装置 | |
CN114567679B (zh) | 数据传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |