CN105141526B - 虚拟网络通信的方法及装置 - Google Patents

虚拟网络通信的方法及装置 Download PDF

Info

Publication number
CN105141526B
CN105141526B CN201510511696.9A CN201510511696A CN105141526B CN 105141526 B CN105141526 B CN 105141526B CN 201510511696 A CN201510511696 A CN 201510511696A CN 105141526 B CN105141526 B CN 105141526B
Authority
CN
China
Prior art keywords
data packet
flow table
interchanger
destination
controller
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.)
Active
Application number
CN201510511696.9A
Other languages
English (en)
Other versions
CN105141526A (zh
Inventor
杨毅
王营
彭涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201510511696.9A priority Critical patent/CN105141526B/zh
Priority to US15/534,395 priority patent/US10680930B2/en
Priority to PCT/CN2015/095637 priority patent/WO2017028391A1/zh
Publication of CN105141526A publication Critical patent/CN105141526A/zh
Application granted granted Critical
Publication of CN105141526B publication Critical patent/CN105141526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了虚拟网络通信链路建立的方法和装置。所述方法的一具体实施方式包括:确定未检测到流表;以及根据数据包信息确定数据包的发送。其具体地包括:根据数据包的目的IP与交换机是否位于同一网络中,将数据包信息发送到控制器或者提供用于将数据包发往网关的流表;根据数据包的目的IP对应的虚拟机是否存在,记录未匹配到流表并发送到控制器的数据包的个数,或者提供用于转发数据包的流表;当所记录的数据包的个数达到预定阈值时,添加一条具有预定的时效的、禁止当前虚拟机发送数据的流表。该实施方式实现了流表的自动修复,保证了虚拟网络的通信链路的SLA,提高了通信链路的容灾能力。

Description

虚拟网络通信的方法及装置
技术领域
本申请涉及通信领域,具体涉及通信链路建立技术领域。
背景技术
OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目,由存储、镜像、网络等组件组成,而Neutron是OpenStack中管理虚拟网络的核心组件。
目前Neutron的实现中,虚拟网络通信链路的建立是通过Neutron的组件之间的相互配合、以及在创建之后就预先配置好来加以实现的。创建请求发送到nova-api后,首先根据资源需求调度到一个计算节点上,然后计算节点上的nova-compute根据所接收的请求创建虚拟机实例和虚拟网络设备。在虚拟网络设备创建之后,Neutron可自动检测到所创建的虚拟网络设备,然后根据该虚拟网络设备的信息配置dhcp和安全组等信息,从而建立虚拟网络链路。
根据目前的Neutron实现方式,在一个创建虚拟机的完成流程中,Neutron Server需要通知各个Agent网络状态的改变。然而,目前的Neutron实现方式严重依赖消息队列、对数据库压力比较大、并且上述通知没有重试机制,因而在消息丢失、网络瞬断等情况下无法自动地修复虚拟网络,从而出现虚拟机无法获取IP或访问外部网络的问题。
因此,为了保证SLA(Service-Level Agreement,服务级别协议),有必要对具有自动修复功能的虚拟网络通信进行进一步研究。
发明内容
为了克服上述现有技术的不足,本发明提供了一种虚拟网络通信的方法及装置。
本申请的一个方面提供一种虚拟网络通信的方法,所述方法包括:确定未检测到流表;以及根据数据包信息确定数据包的发送。
本申请第一方面的一种示例性的实施方式中,数据包信息是数据包的目的IP。
本申请第一方面的一种示例性的实施方式中,当数据包的目的IP与交换机位于同一网络中时,将数据包信息发送到控制器。
本申请第一方面的一种示例性的实施方式中,当数据包的目的IP与交换机不位于同一网络中时,提供用于将数据包发往网关的流表。
本申请第一方面的一种示例性的实施方式中,所述方法包括通过确定数据包的目的IP是否位于交换机的子网络的无类别域间路由中,确定数据包的目的IP与交换机是否位于同一网络中。
本申请第一方面的一种示例性的实施方式中,当确定数据包的目的IP对应的虚拟机不存在时,记录未匹配到流表并发送到控制器的数据包的个数。
本申请第一方面的一种示例性的实施方式中,当确定数据包的目的IP对应的虚拟机存在时,提供用于转发数据包的流表。
本申请第一方面的一种示例性的实施方式中,当所记录的数据包的个数达到预定阈值时,添加一条禁止当前虚拟机发送数据的流表。
本申请第一方面的一种示例性的实施方式中,预定阈值为每秒15次。
本申请第一方面的一种示例性的实施方式中,禁止交换机发送数据的流表具有预定的时效。
本申请的第二方面提供一种用于虚拟网络通信的交换机,所述交换机包括:接收模块,用于判断是否可从交换机的本地流表中检测到所接收的数据包的流表;以及发送模块,用于根据基于数据包信息所生成的流表发送数据包。
本申请第二方面的一种示例性的实施方式中,接收模块还用于当确定未检测到流表时,判断数据包的目的IP与交换机是否位于同一网络。
本申请第二方面的一种示例性的实施方式中,发送模块还用于根据控制器所下发的流表暂停与虚拟机之间的数据转发。
本申请的第三方面提供一种用于虚拟网络的控制器,所述控制器包括:接收模块,用于接收交换机发来的未检测到流表的数据包信息;生成模块,用于根据控制器的转发规则或交换机的判断结果生成对应的流表;以及发送模块,用于将生成模块所生成的流表下发到交换机。
本申请第三方面的一种示例性的实施方式中,控制器还包括判断模块,该判断模块用于判断与数据包的目的IP对应的虚拟机是否存在以及进行阈值判断和超时判断,从而确定转发规则。
本申请第三方面的一种示例性的实施方式中,控制器还包括记录模块,该记录模块用于当判断模块确定数据包的目的IP对应的虚拟机不存在时,记录未检测到流表并发送到控制器的数据包的个数。
本申请第三方面的一种示例性的实施方式中,生成模块还用于当判断模块确定所记录的未匹配到流表并发送到控制器的数据包的个数超过阈值时,生成禁止虚拟机转发数据的流表。
本申请第三方面的一种示例性的实施方式中,生成模块生成的禁止虚拟机转发数据的流表具有预定的时效。
与现有技术相比,本发明的有益效果在于:可以大大降低对消息队列的依赖,优化流表的结构,更重要的是可以自动修复流表,降低虚拟网络通信链路的修复时间,保证虚拟网络的通信链路的SLA,提高通信链路的容灾能力。此外,本发明可应用于各种基于OpenFlow实现虚拟机网络转发的虚拟网络实现中。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明实施例中提供的一种通信系统的示意性架构图;
图2为建立虚拟网络通信链路的方法的示意性流程图;
图3为在未匹配到流表的情况中虚拟网络通信方法的实施例的流程图;
图4示出了本发明在发送数据时发送端的流表匹配失败的实施例中的报文转发情况;
图5示出了本发明在接收数据时发送端的流表匹配失败的实施例中的报文转发情况;
图6为本发明实施例中所提供的交换机的逻辑结构图;以及
图7为本发明实施例中所提供的控制器的逻辑结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
图1为本发明实施例中提供的一种通信系统的示意性架构图,但是应理解的是,本发明实施例并不局限于图1所示的架构。
在本实施例中,用于软件定义网络(Software Defined Network,SDN)的通信系统100包括:控制器102,例如控制服务器(Controller);交换机104、106,例如OpenFlow交换机;以及虚拟机(Virtual Machine,VM)108、110、112和114。控制器102可以通过流表116与交换机104、106进行通信,从而构成用于管理路由的控制层118。交换机104与虚拟机108、110进行通信,同时交换机106与虚拟机112、114进行通信,从而构成用于转发数据包120的转发层122。此外,交换机104和交换机106之间可以转发数据。
虽然本实施例给出特定数量的交换机和虚拟机,但是应理解的是,控制器可以与一个或一个以上的其他数量的交换机进行通信,同理,交换机可以与一个或一个以上的其他数量的虚拟机进行通信。
本发明上述实施例中所提供的通信系统通过利用交换机和控制器共同转发报文,实现了数据转发和路由控制的分离。
参考图2,其示出了建立虚拟网络通信链路的方法的示意性流程200。该处理方法主要用于通过其所构成转发规则管理SDN中的数据转发,从而提供有效的虚拟网络通信链路。
由图2可见,示意性流程200包括以下步骤:步骤202,将数据包发送到交换机,在本实施例中,数据包由与交换机相连接的至少一个虚拟机进行发送;步骤204,交换机进行流表匹配,在本实施例中,交换机将从虚拟机所接收的数据包的流表与其自身所设置的流表项进行匹配;步骤206,根据匹配结果进行转发,或根据匹配结果和数据包信息进一步解析;步骤208,转发数据包或根据流表执行相应动作,在本实施例中,相应的动作包括转发数据包和禁止虚拟机发送数据。
具体地,如果步骤204中流表匹配成功,则在步骤206中交换机转发所接收的数据包;如果步骤204中流表匹配未成功,即未检测到要匹配的流表,则在步骤206中交换机根据数据包信息进行判断,从而将数据包信息发送到控制器并根据控制器进一步解析后所下发的流表转发数据包,或者确定该数据包为发往网关的数据包并且根据控制器的流表将数据包发送到网关。
在一些可选实施方式中,控制器进一步解析所根据的数据包信息优选为数据包的目的IP。
图3为在未匹配到流表的情况中虚拟网络通信方法的实施例的流程图。下面参考图3,对虚拟网络通信链路建立的处理方法进行描述。结合本实施例,该方法的流程300具体包括以下步骤:
步骤302:交换机匹配流表失败。
步骤304:交换机判断所接收的数据包的目的IP与交换机是否位于同一网络。
在一些可选实施方式中,交换机通过检查数据包的目的IP是否位于交换机的子网络(Subnet)的无类别域间路由(CIDR)中,来确定数据包的目的IP与交换机是否位于同一网络中。
如果步骤304中确定所接收的数据包的目的IP与交换机不位于同一网络,则认为所接收的数据包是发往网关的数据包。这种数据包的流表匹配失败说明了发送到网关的流表存在缺失,在这种情况下,控制器需要将用于发往网关的流表下发到交换机中,即执行步骤306,然后由交换机根据控制器所下发的流表将数据包发送到网关,即执行步骤308。
如果步骤304中确定所接收的数据包的目的IP与交换机位于同一网络,则认为流表匹配失败是由于同网段的流表缺失而造成。在这种情况下,将该数据包信息发送到控制器,即执行步骤310,并且由控制器通过进一步解析提供相应的流表,进而由交换机执行诸如转发数据包和丢弃数据包的动作。
步骤312:控制器接收到流表匹配失败的数据包信息之后,判断该数据包的目的IP对应的虚拟机是否存在。
如果步骤312中确定数据包的目的IP所对应的虚拟机存在,则控制器下发用于转发数据包的流表到交换机,交换机继续转发数据包,即执行步骤314和步骤316。
如果步骤312中确定数据包的目的IP所对应的虚拟机不存在,则控制器记录未匹配到流表并发送到控制器进行进一步解析的数据包的个数,即执行步骤318。
步骤320:控制器进一步判断所记录的未匹配到流表并发送到控制器进行解析(即未命中流表)的数据包的个数是否超过阈值。
如果步骤320中每秒钟所记录的未命中流表的数据包的个数未超过阈值,则继续转发该数据包,即执行步骤314和步骤316。
如果步骤320中每秒钟所记录的未命中流表的数据包的个数超过阈值,则认为是恶意网络攻击,因而添加一条具有预定的时效的、禁止当前虚拟机发送数据的流表,即执行步骤322,从而对虚拟机进行封禁。
在一些可选实施方式中,上述阈值优选为每秒15次。
步骤324:判断禁止转发数据包的流表是否超时。如果未超时则禁止当前虚拟机发送数据;如果超时则禁止转发数据包的流表失效,即解禁,虚拟机重新发送数据包。但是,如果虚拟机重新发送的数据包依然存在上述攻击行为,则将再次封禁一段时间。
从图3和上述描述中可看出,本实施例相比于图2所示的实施例而言,在实现数据转发的同时,进一步提供了对流表匹配失败的情况进行处理的方法,从而提供了具有自动修复功能的虚拟网络通信链路的建立方法。
下面参考图4和图5,结合两种流表匹配失败情况的具体实施例对图3所示的方法进行描述。
图4示出了本发明在发送数据时发送端的流表匹配失败的实施例中的报文转发情况。图中,虚拟机402、404与交换机406、408通过互发送数据包410进行通信,交换机406、408内设置有流表412、414,控制器416可通过添加流表418与交换机406、408进行通信。
图4中的报文转发流程400具体包括以下步骤:发送端的虚拟机402将数据包410发送到交换机406;交换机406将所接收的数据包410的流表与其内部设置的流表412进行匹配;当交换机406确定所接收的数据包410需要控制器416进行解析时,例如当确定未命中流表420、并且数据包410的目的IP与交换机406位于同一网络时,交换机406将所接收的数据包信息发送到控制器416;当控制器416通过解析确定可转发数据包410时,例如当数据包410的目的IP对应的虚拟机404不存在时,或者例如当数据包410的目的IP对应的虚拟机404存在、并且每秒钟所记录的未命中流表420的数据包个数未超过阈值时,控制器416执行添加流表到交换机406的动作418,从而执行继续转发数据包410的动作422;接收端的交换机408通过所设置的流表414将接收到的数据包410发送到接收端的虚拟机404,从而完成报文转发。
虚拟机不仅在发送数据时可能存在流表匹配失败的情况,其在接收数据包时也同样可能存在匹配不到流表的情况。由于接收方向的流表是根据本地的信息生成,理论上来说不会出现丢失,并且即使存在消息丢失或者请求服务器失败,也会自动进行重试。所以这种情况下,流表匹配失败是因为发送端的流表将数据包转发到了错误的地方,因此需要修复的是发送端的流表。
据此,参考图5,其示出了本发明在接收数据时发送端的流表匹配失败的实施例中的报文转发情况。图5中的装置及其连接关系与图4类似,在此不赘述。
在图5所示的报文转发流程500包括以下步骤:从发送端的虚拟机502发出的数据包504经过发送端的交换机506发送到接收端的交换机508;交换机508将所接收的数据包504的流表与本地流表510进行匹配,并且在确定未命中流表512之后将数据包信息发送到控制器514;控制器514根据数据包504的来源信息,下发用于禁止转发516数据包504的流表到交换机508,因而交换机508不转发数据包504到接收端的虚拟机518,与此同时,控制器514添加流表520到发送端的交换机506,从而修复发送端的流表522。
结合图4和图5所示的具体实施例,其进一步体现了图3所示的虚拟网络通信链路建立的处理方法在流表匹配败时的自动修复功能,该自动修复功能可提高通信链路的容灾能力。
作为另一方面,本申请还提供了一种应用于SDN虚拟网络通信的交换机。
图6示出了本发明实施例中所提供的交换机的逻辑结构图。该交换机600包括:接收模块602,用于判断是否可从交换机600的本地流表中检测到所接收的数据包的流表;以及发送模块604,用于根据基于数据包信息所生成的流表发送数据包。
具体地,接收模块602接收由虚拟机发送来的数据包,然后将所接收的数据包的流表与交换机600本地的流表进行匹配,从而判定数据包是否可命中流表,即是否检测到流表。发送模块604在接收模块602确定数据包的流表匹配成功时,转发该数据包。
在一些可选实施方式中,接收模块602还用于当其确定未检测到数据包的流表时,判断该据包的目的IP与交换机是否位于同一网络。如果接收模块602确定数据包的流表匹配失败、且确定数据包的目的IP与交换机600位于同一网络,则发送模块604将该数据包的信息发送到控制器;如果接收模块602确定数据包的流表匹配失败、且确定数据包的目的IP与交换机600不位于同一网络,则发送模块604根据控制器所下发的流表将数据包转发到网关。
在一些可选实施方式中,发送模块604还用于根据控制器所下发的流表暂停与虚拟机之间的数据转发。具体地,当控制器通过进一步解析下发具有预定时效的、禁止交换机转发数据的流表到交换机600时,发送模块604暂停与虚拟机之间的数据转发并在预定的时效后解除,从而使得虚拟机在预定的时间段内无法转发数据。
作为又一方面,本申请还提供了一种应用于SDN虚拟网络通信的控制器。
图7示出了本发明实施例中所提供的控制器的逻辑结构图。该控制器700包括:接收模块702,用于接收交换机发来的未检测到流表的数据包信息;生成模块704,用于根据控制器的转发规则或交换机的判断结果生成相应的流表;以及发送模块706,用于将生成模块所生成的流表下发到交换机。
在一些可选实施方式中,控制器700还包括判断模块708,用于判断与数据包的目的IP对应的虚拟机是否存在以及进行阈值判断和超时判断,从而根据判定结果确定数据包的转发规则。
在一些可选实施方式中,控制器700还包括记录模块710,用于当判断模块708确定数据包的目的IP对应的虚拟机不存在时,记录流表匹配失败并发送到控制器的数据包的个数。
在一些可选实施方式中,生成模块704还用于当判断模块708确定所记录的每秒钟未命中流表的个数超过阈值时,添加一条具有时效的、用于禁止虚拟机转发数据的流表。参考上文,该阈值可优选为每秒15次。
在一些可选实施方式中,生成模块704所生成的禁止虚拟机转发数据的流表具有预定的时效。当禁止动作超过该预定时效时,允许虚拟机重新发送数据包。
应注意的是,本专利文件中所描述的“检测到流表”、“流表匹配成功”、“命中流表”或类似表述所表达的意思相同;“未检测到流表”、“流表匹配失败”、“未命中流表”或类似表述所表达的意思相同;“禁止动作失效”、“解禁”或类似表述所表达的意思相同;“不转发”、“禁止转发”或类似表述所表达的意思相同。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (14)

1.一种虚拟网络通信的方法,包括:
确定未检测到流表;以及
根据数据包信息确定数据包的发送,所述数据包信息是所述数据包的目的IP;
当所述数据包的目的IP与交换机位于同一网络中时,将所述数据包信息发送到控制器。
2.如权利要求1所述的方法,其中,当所述数据包的目的IP与交换机不位于同一网络中时,提供用于将所述数据包发往网关的流表。
3.如权利要求1或2所述的方法,包括通过确定所述数据包的目的IP是否位于所述交换机的子网络的无类别域间路由中,确定所述数据包的目的IP与所述交换机是否位于同一网络中。
4.如权利要求1所述的方法,其中,当确定所述数据包的目的IP对应的虚拟机不存在时,记录未匹配到流表并发送到所述控制器的数据包的个数。
5.如权利要求1所述的方法,其中,当确定所述数据包的目的IP对应的虚拟机存在时,提供用于转发所述数据包的流表。
6.如权利要求4所述的方法,其中,当所记录的所述数据包的个数达到预定阈值时,添加一条禁止所述虚拟机发送数据的流表。
7.如权利要求6所述的方法,其中,所述预定阈值为每秒15次。
8.如权利要求6所述的方法,其中,禁止所述交换机发送数据的流表具有预定的时效。
9.一种用于虚拟网络通信的交换机,包括:
接收模块,用于判断是否可从所述交换机的本地流表中检测到所接收的数据包的流表;以及
发送模块,用于根据基于数据包信息所生成的流表发送数据包,所述数据包信息是所述数据包的目的IP;
其中,所述接收模块还用于当确定未检测到流表时,判断所述数据包的目的IP与所述交换机是否位于同一网络。
10.如权利要求9所述的交换机,其中,所述发送模块还用于根据控制器所下发的流表暂停与虚拟机之间的数据转发。
11.一种用于虚拟网络的控制器,包括:
接收模块,用于接收交换机发来的未检测到流表的数据包信息,所述数据包信息是所述数据包的目的IP;
生成模块,用于根据所述控制器的转发规则或所述交换机的判断结果生成对应的流表,其中,所述判断结果为是否可以从本地流表中检测到所接收到的数据包的流表;以及
发送模块,用于将所述生成模块所生成的流表下发到所述交换机;
判断模块,用于判断与数据包的目的IP对应的虚拟机是否存在以及进行阈值判断和超时判断,从而确定所述转发规则。
12.如权利要求11所述的控制器,还包括记录模块,用于当所述判断模块确定所述数据包的目的IP对应的虚拟机不存在时,记录未检测到流表并发送到所述控制器的数据包的个数。
13.如权利要求11所述的控制器,其中,所述生成模块还用于当所述判断模块确定所记录的未匹配到流表并发送到所述控制器的数据包的个数超过阈值时,生成禁止虚拟机转发数据的流表。
14.如权利要求13所述的控制器,其中,所述生成模块生成的禁止虚拟机转发数据的流表具有预定的时效。
CN201510511696.9A 2015-08-19 2015-08-19 虚拟网络通信的方法及装置 Active CN105141526B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510511696.9A CN105141526B (zh) 2015-08-19 2015-08-19 虚拟网络通信的方法及装置
US15/534,395 US10680930B2 (en) 2015-08-19 2015-11-26 Method and apparatus for communication in virtual network
PCT/CN2015/095637 WO2017028391A1 (zh) 2015-08-19 2015-11-26 虚拟网络通信的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510511696.9A CN105141526B (zh) 2015-08-19 2015-08-19 虚拟网络通信的方法及装置

Publications (2)

Publication Number Publication Date
CN105141526A CN105141526A (zh) 2015-12-09
CN105141526B true CN105141526B (zh) 2019-01-15

Family

ID=54726739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510511696.9A Active CN105141526B (zh) 2015-08-19 2015-08-19 虚拟网络通信的方法及装置

Country Status (3)

Country Link
US (1) US10680930B2 (zh)
CN (1) CN105141526B (zh)
WO (1) WO2017028391A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141526B (zh) 2015-08-19 2019-01-15 北京百度网讯科技有限公司 虚拟网络通信的方法及装置
US10536379B2 (en) * 2017-09-28 2020-01-14 Argela Yazilim Ve Bilisim Teknolojileri San Ve Tic. A.S. System and method for control traffic reduction between SDN controller and switch
KR102423755B1 (ko) * 2017-12-14 2022-07-21 삼성전자주식회사 패킷 전송을 제어하는 서버 및 방법
CN110572327A (zh) * 2019-07-31 2019-12-13 苏州浪潮智能科技有限公司 一种实现neutron网络跨网段数据转发方法及流量可控的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212183B1 (en) * 1997-08-22 2001-04-03 Cisco Technology, Inc. Multiple parallel packet routing lookup
CN102685006A (zh) * 2012-05-03 2012-09-19 中兴通讯股份有限公司 一种转发数据报文的方法及装置
CN104283785A (zh) * 2014-10-29 2015-01-14 杭州华三通信技术有限公司 一种快速处理流表的方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987778B2 (en) * 2001-05-22 2006-01-17 Qualcomm Incorporated Enhanced channel interleaving for optimized data throughput
US20120099591A1 (en) * 2010-10-26 2012-04-26 Dell Products, Lp System and Method for Scalable Flow Aware Network Architecture for Openflow Based Network Virtualization
CN102325079B (zh) * 2011-06-27 2014-02-26 杭州华三通信技术有限公司 报文传输方法和出口路由器
US8923296B2 (en) * 2012-02-23 2014-12-30 Big Switch Networks, Inc. System and methods for managing network packet forwarding with a controller
JP5965335B2 (ja) * 2013-02-19 2016-08-03 日本電信電話株式会社 通信システム、及び経路制御方法
JP6105319B2 (ja) 2013-02-20 2017-03-29 株式会社Nttドコモ ネットワーク監視装置、ネットワーク監視プログラム及びネットワーク監視方法
CN104022960B (zh) * 2013-02-28 2017-05-31 新华三技术有限公司 基于OpenFlow协议实现PVLAN的方法和装置
US9762502B1 (en) * 2014-05-12 2017-09-12 Google Inc. Method and system for validating rate-limiter determination made by untrusted software
CN105141526B (zh) * 2015-08-19 2019-01-15 北京百度网讯科技有限公司 虚拟网络通信的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212183B1 (en) * 1997-08-22 2001-04-03 Cisco Technology, Inc. Multiple parallel packet routing lookup
CN102685006A (zh) * 2012-05-03 2012-09-19 中兴通讯股份有限公司 一种转发数据报文的方法及装置
CN104283785A (zh) * 2014-10-29 2015-01-14 杭州华三通信技术有限公司 一种快速处理流表的方法和装置

Also Published As

Publication number Publication date
CN105141526A (zh) 2015-12-09
US10680930B2 (en) 2020-06-09
US20180262418A1 (en) 2018-09-13
WO2017028391A1 (zh) 2017-02-23

Similar Documents

Publication Publication Date Title
US20230006929A1 (en) Method and system of application-aware routing with crowdsourcing
CN107810627B (zh) 用于建立媒体会话的方法和装置
CN105681075B (zh) 基于混合云平台的网络管理系统
CN102291455B (zh) 分布式集群处理系统及其报文处理方法
CN112235123A (zh) 业务功能注册机制和能力索引编制
US9800551B2 (en) AVC Bi-directional correlation using an overlay fabric header
EP2159956B1 (en) A method, system and device for configuring the operations, administrator and maintenance property
CN107819742B (zh) 一种动态部署网络安全服务的系统架构及其方法
CN105141526B (zh) 虚拟网络通信的方法及装置
US10050859B2 (en) Apparatus for processing network packet using service function chaining and method for controlling the same
EP2005313A2 (en) Facilitating application synchronization with a reservation protocol at a sender without application receiver participation
CN103067291A (zh) 一种上下行链路关联的方法和装置
CN102833339B (zh) Cdn与网络融合的业务控制方法及业务控制设备
US11770325B2 (en) Automatically selecting an optimized communication channel for communications with a deflect in an overlay network
US20140192644A1 (en) Techniques for privileged network routing
CN101605093A (zh) 利用IP Option实现信息透传的方法
CN101917414B (zh) Bgp分类网关设备及利用该设备实现网关功能的方法
US20120300776A1 (en) Method for creating virtual link, communication network element, and ethernet network system
WO2021083375A1 (zh) 检测链路状态的方法及装置
CN110690990B (zh) 一种服务器升级的方法及装置、电子设备、存储介质
CN108353027A (zh) 一种用于检测端口故障的软件定义网络系统
US11812378B2 (en) User management device, BNG, and BNG user internet access method and system
CN105763448A (zh) 一种报文传输方法和装置
KR20200072941A (ko) 실시간 오류 감지를 통한 vrrp 기반의 네트워크 장애 대응 방법 및 장치
CN102164079B (zh) 基于网络测量的可信任视频应用申请方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant