CN105072037A - Dynamic flow generating method for distributed SDN controllers - Google Patents

Dynamic flow generating method for distributed SDN controllers Download PDF

Info

Publication number
CN105072037A
CN105072037A CN201510437065.7A CN201510437065A CN105072037A CN 105072037 A CN105072037 A CN 105072037A CN 201510437065 A CN201510437065 A CN 201510437065A CN 105072037 A CN105072037 A CN 105072037A
Authority
CN
China
Prior art keywords
network
controller
flow table
domain
flow
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.)
Pending
Application number
CN201510437065.7A
Other languages
Chinese (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201510437065.7A priority Critical patent/CN105072037A/en
Publication of CN105072037A publication Critical patent/CN105072037A/en
Pending legal-status Critical Current

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/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/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供的一种面向分布式SDN控制器的动态流表生成方法,可以有效地减少控制器产生的流表数量,提高管理网络带宽,减少对交换机存储资源的消耗,从而提高网络整体性能。本发明的方法是,将一个控制器管理的网络区域看作一个网络自治域,当所述控制器收到的流请求是发往域内的数据包时,则采用最短路径类算法生成流表;若所述控制器收到的流请求是由域内向域外发送数据包时,则所述控制器首先获取所述分布式控制器所管理的所有网络的全局拓扑视图,生成全局流表,将全局流表中属于本域内的流表下发到本域交换机中,将不属于本域内的流表发送到其所属的控制器,由所属控制器完成下发功能。

The method for generating a dynamic flow table oriented to a distributed SDN controller provided by the present invention can effectively reduce the number of flow tables generated by the controller, increase the bandwidth of the management network, reduce the consumption of switch storage resources, and thereby improve the overall performance of the network. The method of the present invention is to regard a network area managed by a controller as a network autonomous domain, and when the flow request received by the controller is a data packet sent to the domain, a shortest path algorithm is used to generate a flow table; If the flow request received by the controller is to send data packets from within the domain to outside the domain, the controller first obtains the global topology views of all networks managed by the distributed controller, generates a global flow table, and In the flow table, the flow table belonging to the local domain is delivered to the switch in the local domain, and the flow table not belonging to the local domain is sent to the controller to which it belongs, and the distribution function is completed by the corresponding controller.

Description

面向分布式SDN控制器的动态流表生成方法A dynamic flow table generation method for distributed SDN controllers

技术领域technical field

本发明涉及一种面向分布式SDN控制器的动态流表生成方法,属于计算机技术领域。The invention relates to a method for generating a dynamic flow table oriented to a distributed SDN controller, belonging to the technical field of computers.

背景技术Background technique

在传统的因特网中,控制中心和转发中心集中在单一网络设备中,导致现有的网络控制平面变得日益复杂,同时,新的管理技术要应用到网络中需要对现有网络设备逐一进行配置,大大增加了成本,严重缺乏灵活性和扩展性。因此提出了将控制平面和转发平面进行解耦的概念,只要两端都按照定义好的规范进行连接,它们就能独立的往前发展,不再受另一方的约束,这正是SDN技术的基础,其早期的研究工作包括4D架构、RCP、SANE和Ethane等。控制平面和转发平面之间需要按照统一的规范进行连接,这种规范就是通信协议。2008年,美国斯坦福大学CleanSlate组织提出了OpenFlow协议,该协议目前由ONF(开放网络基金会)发展,是控制平面与转发平面间的主流协议,目前已发布OpenFlow1.4版本。在学术界,目前关于SDN的学术研究十分活跃,初步统计在SIGCOMM、NSDI、OSDI、CoNEXT等计算机网络的国际顶级学术会议上,已经有20余篇关于SDN的学术论文,这些研究主要集中在控制器的设计、新型数据平面的设计、编程语言和接口、测试和调试、应用(包括数据中心的应用、校园网的应用、网络安全的应用等)。In the traditional Internet, the control center and forwarding center are concentrated in a single network device, which makes the existing network control plane increasingly complex. At the same time, the application of new management technologies to the network requires the configuration of existing network devices one by one. , greatly increased the cost, and seriously lacked flexibility and scalability. Therefore, the concept of decoupling the control plane and the forwarding plane is proposed. As long as both ends are connected according to the defined specifications, they can develop independently without being restricted by the other party. This is exactly the essence of SDN technology. Foundation, its early research work includes 4D architecture, RCP, SANE and Ethane, etc. The control plane and the forwarding plane need to be connected according to a unified specification, which is a communication protocol. In 2008, the CleanSlate organization of Stanford University in the United States proposed the OpenFlow protocol, which is currently developed by the ONF (Open Network Foundation) and is the mainstream protocol between the control plane and the forwarding plane. Currently, OpenFlow1.4 has been released. In academia, the current academic research on SDN is very active. According to preliminary statistics, there have been more than 20 academic papers on SDN in top international academic conferences on computer networks such as SIGCOMM, NSDI, OSDI, and CoNEXT. Device design, new data plane design, programming language and interface, testing and debugging, applications (including data center applications, campus network applications, network security applications, etc.).

SDN在技术上面临着许多还未解决的问题,其中最值得关注的集中式SDN控制器遇到性能瓶颈,由于网络规模的不确定性,集中式的控制器已不能满足变化迅速的网络需求,如集中式控制器NOX可以支持每秒30K个请求,一个1500台服务器集群每秒产生100K个请求,而一个100台交换机的数据中心每秒可能产生10000K个请求。现在运营商骨干网的规模1000到2000设备,10000台主机的数据中心网络规模大概为300台设备。因此,集中式控制器完全无法满足当前网络需求。所以随着网络规模的增大和业务需求的增加,需要研究控制平面的可扩展性解决方案,即分布式多控制器解决方案。SDN is facing many unresolved technical problems, among which the most noteworthy centralized SDN controller encounters performance bottlenecks. Due to the uncertainty of network scale, the centralized controller can no longer meet the rapidly changing network requirements. For example, the centralized controller NOX can support 30K requests per second, a 1500 server cluster generates 100K requests per second, and a data center with 100 switches may generate 10000K requests per second. At present, the scale of the backbone network of the operator is 1000 to 2000 devices, and the scale of the data center network with 10000 hosts is about 300 devices. Therefore, centralized controllers are completely unable to meet current network needs. Therefore, with the increase of network scale and business requirements, it is necessary to study the scalability solution of the control plane, that is, the distributed multi-controller solution.

随着网络规模的扩大和SDN上层应用的增多,网络中会产生大量的流表项,大大降低网络性能。目前,数据中心中的流表项数量已经超过100000条流表,googleWAN有接近143000条;斯坦福大学主干网有757000条;Internet2有100000条。这种量级的流表项会使得资源有限的交换机增加很多负载,使其转发性能下降。而在现有的分布式控制器中,都采用最短路径类算法生成流表,未对分布式控制器管理的网络进行分析,使得在生成流表和存储流表时都会对网络和转发设备产生较大负载,降低整个网络性能。With the expansion of network scale and the increase of SDN upper-layer applications, a large number of flow entries will be generated in the network, which greatly reduces network performance. At present, the number of flow entries in the data center has exceeded 100,000, googleWAN has nearly 143,000; the backbone network of Stanford University has 757,000; Internet2 has 100,000. Flow entries of this magnitude will add a lot of load to switches with limited resources, degrading their forwarding performance. However, in the existing distributed controllers, the shortest path algorithm is used to generate the flow table, and the network managed by the distributed controller is not analyzed, so that the network and the forwarding device will be generated when the flow table is generated and stored. Larger loads degrade overall network performance.

发明内容Contents of the invention

1、目的:1. Purpose:

本发明的主要目的是提供一种面向分布式SDN控制器的动态流表生成方法,可以有效地减少分布式控制器中生成流表项的数量,降低转发平面存储流表压力,有效地降低发送流表时所占网络带宽,从而降低控制器所管理交换机的查询时延,提高转发能力,使得整个网络有更高的性能。The main purpose of the present invention is to provide a dynamic flow table generation method for distributed SDN controllers, which can effectively reduce the number of flow table entries generated in the distributed controller, reduce the pressure on the forwarding plane storage flow table, and effectively reduce the transmission The network bandwidth occupied by the flow table reduces the query delay of the switch managed by the controller, improves the forwarding capability, and makes the entire network have higher performance.

2、技术方案:2. Technical solution:

为了实现上述方法,本发明的技术方案是这样的:In order to realize above-mentioned method, technical scheme of the present invention is such:

本发明方案在生成流表时,通过分布式SDN控制器获取全局拓扑图,将一个控制器实例管理范围内的区域看作一个自治域,对于域内的路由规则,按照普通方法生成流表;对于域外的路由规则,域与域之间仅仅生成一条流表项,数据包在域与域间都按照带标签的流表进行转发。When generating the flow table, the solution of the present invention obtains the global topology map through the distributed SDN controller, regards the area within the management scope of a controller instance as an autonomous domain, and generates the flow table according to the ordinary method for the routing rules in the domain; for For routing rules outside the domain, only one flow entry is generated between domains, and data packets are forwarded between domains according to the labeled flow table.

一种面向分布式SDN控制器的动态流表生成方法,其特征在于,将一个控制器管理的网络区域看作一个网络自治域,当所述控制器收到的流请求是在域内发送数据包时,则采用最短路径类算法生成流表;若所述控制器收到的流请求是由域内向域外发送数据包时,则所述控制器首先获取所述分布式控制器所管理的所有网络的全局拓扑视图,生成全局流表,将全局流表中属于本域内的流表下发到本域交换机中,将不属于本域内的流表发送到其所属的控制器,由所属控制器完成下发功能。A method for generating a dynamic flow table oriented to a distributed SDN controller, characterized in that the network area managed by a controller is regarded as a network autonomous domain, and when the flow request received by the controller is to send data packets in the domain , then use the shortest path algorithm to generate the flow table; if the flow request received by the controller is to send data packets from within the domain to outside the domain, the controller first obtains all the networks managed by the distributed controller The global topology view, generate a global flow table, send the flow table in the global flow table that belongs to the local domain to the switch in the local domain, and send the flow table that does not belong to the local domain to the controller to which it belongs, and the controller completes it Send function.

在生成全局流表时,根据交换机所属的位置不同而产生不同的流表规则,生成的流表如下:When generating the global flow table, different flow table rules are generated according to the location of the switch. The generated flow table is as follows:

●域内网络中非出口交换机:对发送到域外的数据包加上tag标签;Non-exit switches in the intra-domain network: add tag labels to data packets sent outside the domain;

●域内网络中的出口交换机:将带tag标签的数据包转发到中间网络;The egress switch in the intra-domain network: forwards the tagged data packet to the intermediate network;

●中间网络中的交换机:将带tag标签的数据包转发到域外网路;●Switches in the intermediate network: forward the data packets with the tag to the external network;

●域外网络中的入口交换机:将带tag标签的数据包中的tag信息去掉;The ingress switch in the extra-domain network: remove the tag information in the tagged data packet;

●域外网络中的非入口交换机:根据数据包的目的信息转发数据包。● Non-ingress switches in the extra-domain network: forward data packets according to the destination information of the data packets.

关于本发明的几个说明:Several explanations about the present invention:

(1)SDN:软件定义网络(Software-definednetworking),一种网络虚拟化(Networkvirtualization)技术,是由Emulex提出。利用OpenFlow协议,把路由器的控制平面(controlplane)从数据平面(dataplane)中分离出来,以软件方式实现。这个架构可以让网络管理员,在不更动硬件设备的前提下,以中央控制方式,用程序重新规划网络,为控制网络流量提供了新的方法,也提供了核心网络及应用创新的良好平台。(1) SDN: Software-defined networking (Software-defined networking), a network virtualization (Network virtualization) technology, was proposed by Emulex. Using the OpenFlow protocol, the control plane (controlplane) of the router is separated from the data plane (dataplane), and implemented in software. This architecture allows network administrators to re-plan the network with a central control method without changing the hardware device. It provides a new method for controlling network traffic and provides a good platform for core network and application innovation. .

(2)SDN控制器:SDN这种新型的网络架构将网络分为数据平面和控制平面,数据平面主要负责数据的转发,而控制平面则负责制订相应的转发策略来指导数据平面。作为SDN网络架构的一个部分,控制平面有时也被称作“网络操作系统(NetworkOperatingSystem,NOS)。(2) SDN controller: SDN is a new type of network architecture that divides the network into a data plane and a control plane. The data plane is mainly responsible for data forwarding, while the control plane is responsible for formulating corresponding forwarding strategies to guide the data plane. As a part of the SDN network architecture, the control plane is sometimes called "Network Operating System (NOS).

(3)流表:英文单词对应Flow,SDN网络架构中控制器通过向交换机发送流表信息来对交换机进行管理,交换机利用流表可以生成转发表,网络数据包再根据转发表对数据包进行操作。(3) Flow table: the English word corresponds to Flow. In the SDN network architecture, the controller manages the switch by sending flow table information to the switch. The switch can use the flow table to generate a forwarding table. operate.

(4)自治域:在本发明中,将一个控制器管理的网络范围看作一个自治域,每个自治域中包含一个控制器,一定数量的交换机,交换机后面接入主机。(4) Autonomous domain: In the present invention, the network range managed by a controller is regarded as an autonomous domain, and each autonomous domain includes a controller, a certain number of switches, and hosts connected behind the switches.

3、优点及功效:3. Advantages and effects:

本发明公开的面向分布式SDN控制器的动态流表生成方法,具有以下主要优点:The distributed SDN controller-oriented dynamic flow table generation method disclosed by the present invention has the following main advantages:

(1)采用面向分布式SDN控制器的动态流表生成方法,可以充分利用分布式SDN控制器的场景,有效较少整个网络中的流表项数据,可以根据全局拓扑对生成的流表进行优化,达到使用最少的流表达到网络性能最高的目的。分布式SDN控制器场景中,多个控制器所管理的网络之间存在大量的数据包通信,因此,可以将每个网络看作一个对象,整个网络即可简化为多个对象将的通信,这样可将原有网络中多样的路由信息转化为两个对象将的通信。这样就可以大大简化原有的路由信息,从而在生成流表时,可以使用少量的流表达到原有管理网络的目的。(1) The dynamic flow table generation method for distributed SDN controllers can make full use of the scenarios of distributed SDN controllers, effectively reduce the flow table item data in the entire network, and generate flow tables according to the global topology. Optimization to achieve the highest network performance with the least flow table. In the distributed SDN controller scenario, there is a large amount of data packet communication between the networks managed by multiple controllers. Therefore, each network can be regarded as an object, and the entire network can be simplified as the communication of multiple objects. In this way, various routing information in the original network can be transformed into communication between two objects. In this way, the original routing information can be greatly simplified, so that when generating the flow table, a small number of flow tables can be used to achieve the original purpose of managing the network.

(2)降低管理网络占用带宽。在原有的流表生成方案中,管理网络中需要下发数量庞大的流表项,如数据中心网络中可以达到几十万级,这样会大量占用管理网络的带宽,使得网络时延增加,降低网络的性能。而使用本方案生成流表后,可以大量减少管理网络中的流表项,使得在下发流表时,可以有效降低发送流表所占用的网络带宽,有效提高整体网络的带宽利用率,提高网络整体性能。(2) Reduce the bandwidth occupied by the management network. In the original flow table generation scheme, the management network needs to issue a large number of flow table entries, such as hundreds of thousands of flow table entries in the data center network, which will occupy a large amount of management network bandwidth, increase the network delay, and reduce the network performance. After the flow table is generated using this solution, the flow table items in the management network can be greatly reduced, so that when the flow table is issued, the network bandwidth occupied by the flow table can be effectively reduced, the bandwidth utilization rate of the overall network can be effectively improved, and the network can be improved. overall performance.

(3)减少对交换机存储资源的消耗。对于交换机来说,一般交换机的存储资源是比较有限的,当控制器生成的流表项过多时,使得每个交换机中会存储大量的流表,浪费了交换机的存储资源,数据包再转发时也会增加查询条目的时间,降低转发性能;下发的流表减少后,可以减少流表对交换机存储资源的消耗,同时也能提高数据包在查询转发表时的时间消耗,显著提高转发效率,使得网络性能得以提高。(3) Reduce the consumption of switch storage resources. For switches, the storage resources of general switches are relatively limited. When the controller generates too many flow entries, each switch will store a large number of flow tables, wasting the storage resources of the switch. It will also increase the time for querying entries and reduce forwarding performance; after the number of delivered flow tables is reduced, the consumption of flow tables on switch storage resources can be reduced, and at the same time, the time consumption of data packets when querying forwarding tables can be increased, and forwarding efficiency can be significantly improved , so that the network performance can be improved.

附图说明Description of drawings

图1为单个自治域的结构图;Figure 1 is a structural diagram of a single autonomous domain;

图2为面向分布式SDN控制器的动态流表生成结构图Figure 2 is a structure diagram of dynamic flow table generation for distributed SDN controllers

图3为流表生成的流程图;Fig. 3 is the flowchart of flow table generation;

具体实施方式Detailed ways

为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图以及具体实例对本发明再做进一步详细的说明。In order to make the object, technical solution and advantages of the present invention more clearly, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific examples.

本发明是面向分布式SDN控制器的动态流表生成方法,图1中展示出了一个自治域的结构,其中包括一个控制器,若干交换机,以及连接在交换机上的众多主机。控制器通过发送流表对交换机进行管理,从而达到管理和调度网络的目的。本发明提出的技术在生成尽量少的流表时,达到管理网络的目的,从而提高网络整体性能。The present invention is a dynamic flow table generation method for distributed SDN controllers. Figure 1 shows the structure of an autonomous domain, which includes a controller, several switches, and many hosts connected to the switches. The controller manages the switches by sending flow tables, so as to achieve the purpose of managing and scheduling the network. The technology proposed by the invention achieves the purpose of managing the network when generating as few flow tables as possible, thereby improving the overall performance of the network.

下面先以分布式SDN控制器的整体结构图,对该技术方案进行说明。结构图如图2所示。图中对由分布式控制器管理的网络进行了适当简化,只以3个自治域为例,解释本方案的具体过程。如图2所示,网络1为源网络,由控制器1管理;网络2为目的网络,由控制器3管理;而中间网络为数据包送达目的网络需要经过的网络,由控制器2进行管理。The technical solution will be described below with the overall structure diagram of the distributed SDN controller. The structural diagram is shown in Figure 2. In the figure, the network managed by the distributed controller is appropriately simplified, and only three autonomous domains are taken as examples to explain the specific process of this solution. As shown in Figure 2, network 1 is the source network, which is managed by controller 1; network 2 is the destination network, which is managed by controller 3; and the intermediate network is the network through which data packets need to be delivered to the destination network, and is controlled by controller 2. manage.

一种面向分布式SDN控制器的动态流表生成方法是,将一个控制器管理的网络区域看作一个网络自治域,当所述控制器收到的流请求是在域内发送数据包时,则采用最短路径类算法生成流表;若所述控制器收到的流请求是由域内向域外发送数据包时,则所述控制器首先获取由所述分布式控制器管理的所有网络的全局拓扑视图,生成全局流表,将全局流表中属于本域内的流表下发到本域交换机中,将不属于本域内的流表发送到其所属的控制器,由所属控制器完成下发功能。A method for generating a dynamic flow table oriented to a distributed SDN controller is to regard a network area managed by a controller as a network autonomous domain, and when the flow request received by the controller is to send data packets within the domain, then Use the shortest path algorithm to generate the flow table; if the flow request received by the controller is to send data packets from within the domain to outside the domain, the controller first obtains the global topology of all networks managed by the distributed controller view, generate a global flow table, send the flow table in the global flow table that belongs to the local domain to the switch in the local domain, and send the flow table that does not belong to the local domain to the controller to which it belongs, and the distribution function is completed by the subordinate controller .

在生成全局流表时,根据交换机所属的位置不同而产生不同的流表规则,生成的流表如下:When generating the global flow table, different flow table rules are generated according to the location of the switch. The generated flow table is as follows:

●域内网络中非出口交换机:对发送到域外的数据包加上tag标签;Non-exit switches in the intra-domain network: add tag labels to data packets sent outside the domain;

●域内网络中的出口交换机:将带tag标签的数据包转发到中间网络;The egress switch in the intra-domain network: forwards the tagged data packet to the intermediate network;

●中间网络中的交换机:将带tag标签的数据包转发到域外网路;●Switches in the intermediate network: forward the data packets with the tag to the external network;

●域外网络中的入口交换机:将带tag标签的数据包中的tag信息去掉;The ingress switch in the extra-domain network: remove the tag information in the tagged data packet;

●域外网络中的非入口交换机:根据数据包的目的信息转发数据包。● Non-ingress switches in the extra-domain network: forward data packets according to the destination information of the data packets.

如图2所示,当控制器1收到来自其域内的流请求时,控制器1根据全局拓扑生成流表,并将自己的流表下发,而属于其他域的流表则发送到其他控制器,由其他控制器进行流表下发。对于控制器1所管理的自治域,当交换机匹配到由网络1发送到网络2的数据包时,交换机会根据流表规则给数据包加上一个tag标签,该标签是全局唯一的,由控制器生成;当数据包通过网络1的出口交换机将包投递到中间网络时,中间网络的交换机中有对应tag的流表,交换机根据匹配到的tag信息将数据包转发到目标网络;目标网络的入口交换机在匹配到带该tag的数据包时,去掉数据包中包含的tag标签,然后按照正常的流表将数据包发送到目的主机。从图中可以看出,在中间网络中,仅仅使用一条流表就完成了整个网络1到网络2的数据包转发,而在现有的机制中每个交换机都需要几十条甚至上百条流表项才能完成该任务。As shown in Figure 2, when controller 1 receives a flow request from its domain, controller 1 generates a flow table according to the global topology, and sends its own flow table, while the flow table belonging to other domains is sent to other domains. The controller sends the flow table by other controllers. For the autonomous domain managed by controller 1, when the switch matches a data packet sent from network 1 to network 2, the switch will add a tag to the data packet according to the rules of the flow table. This tag is globally unique and determined by the controller. generated by the router; when the data packet is delivered to the intermediate network through the egress switch of network 1, the switch of the intermediate network has a flow table corresponding to the tag, and the switch forwards the data packet to the target network according to the matched tag information; the target network When the ingress switch matches a data packet with the tag, it removes the tag contained in the data packet, and then sends the data packet to the destination host according to the normal flow table. It can be seen from the figure that in the intermediate network, only one flow table is used to complete the data packet forwarding from the entire network 1 to the network 2, while in the existing mechanism, each switch needs dozens or even hundreds of flow tables. flow entries to complete this task.

本发明充分利用分布式SDN控制器的特点,计算流表的控制器能够获取到分布式控制器所管理的网络的全局拓扑视图,在生成流表时,将一个网络自治域看作一个对象,生成的流表以自治域为基本单元。对于所有从网络1发送到网络2的数据包,在自治域1中加上标签;在中间网络中根据一条流表(流表以交换机为单位,每个交换机上一条流表)进行转发;在自治域2中去掉标签。从而有效减少中间网络中的流表数量。The present invention makes full use of the characteristics of the distributed SDN controller. The controller that calculates the flow table can obtain the global topology view of the network managed by the distributed controller. When generating the flow table, a network autonomous domain is regarded as an object. The generated flow table takes the autonomous domain as the basic unit. For all data packets sent from network 1 to network 2, add a label in autonomous domain 1; forward according to a flow table in the intermediate network (the flow table is in the unit of a switch, and each switch has a flow table); Remove the label in autonomous domain 2. Thereby effectively reducing the number of flow tables in the intermediate network.

在分布式SDN控制器管理的网络中,每个控制器收集自己所管理网络的拓扑视图,因此,整个分布式SDN控制器就将收集到所有网络的全局拓扑视图。计算流表时,控制器根据该拓扑视图,使用上文的算法计算所有节点的流表,完成后,如果是本自治域的流表则自己下发;如果是其他自治域的流表,则发送流表到其他控制器,由其他控制器完成下发功能。In a network managed by a distributed SDN controller, each controller collects a topology view of the network it manages. Therefore, the entire distributed SDN controller will collect a global topology view of all networks. When calculating the flow table, the controller uses the above algorithm to calculate the flow table of all nodes according to the topology view. After completion, if it is the flow table of this autonomous domain, it will issue it by itself; if it is the flow table of other autonomous domains, then Send the flow table to other controllers, and other controllers complete the delivery function.

下面是以一个具体的面向分布式SDN控制器的动态流表生成流程图来说明本技术方案,如图3所示:The following is a specific flowchart for generating a dynamic flow table for distributed SDN controllers to illustrate this technical solution, as shown in Figure 3:

步骤S01:网络1中的主机向控制器1发送flowrequest,询问如何才能将数据包发送到网络2,跳转到步骤S02。Step S01: The host in network 1 sends a flowrequest to controller 1, asking how to send the data packet to network 2, and jumps to step S02.

步骤S02:控制器1判断流请求的目的网络是否为网络2;如果是,则跳转到步骤S06,否则跳转到步骤S03.Step S02: Controller 1 judges whether the destination network of the stream request is Network 2; if yes, jump to step S06, otherwise jump to step S03.

步骤S03:判断流请求的目的网络是否为本网络;如果是,则跳转到步骤04,否则跳转到S05。Step S03: Determine whether the destination network of the stream request is the current network; if yes, go to step 04, otherwise go to S05.

步骤S04:按照正常流程,采用最短路径类算法生成流表,至此操作完成。Step S04: According to the normal process, use the shortest path algorithm to generate the flow table, and the operation is completed.

步骤S05:流请求的目的网络为其他网络(指分布式控制器所管理的网络中,除开控制器1、2、3管理的网络),通过其他网络的流程生成流表,至此操作完成。Step S05: The destination network of the flow request is another network (referring to the network managed by the distributed controller, except the network managed by controllers 1, 2, and 3), and the flow table is generated through the process of other networks, and the operation is completed.

步骤S06:控制器1向Zookeeper请求全局拓扑数据,并得到每个控制器的管控信息,可以知道每个交换机是被哪个控制器管理,跳转到步骤S07。Step S06: Controller 1 requests the global topology data from Zookeeper, and obtains the management and control information of each controller, so as to know which controller each switch is managed by, and skips to step S07.

步骤S07:控制器1利用获取到的全局拓扑信息,计算数据包由网络1发送到网络2所要经过的路径,并生成全局流表,生成的流表规则下文详解,跳转到步骤S08。Step S07: Controller 1 uses the obtained global topology information to calculate the path through which data packets are sent from network 1 to network 2, and generates a global flow table. The rules of the generated flow table are explained in detail below, and skip to step S08.

步骤S08:控制器1将全局流表中属于本自治域的流表下发到交换机,跳转到步骤S09。Step S08: The controller 1 sends the flow tables belonging to the autonomous domain in the global flow table to the switch, and jumps to step S09.

步骤S09:控制器1将不属于本自治域的流表,发送到其所属的控制器,跳转到步骤S10。Step S09: Controller 1 sends the flow table not belonging to the autonomous domain to the controller to which it belongs, and then jumps to step S10.

步骤S10:其他控制器再收到由控制器1发送过来的流表后,将流表下发到其所管理的交换机,跳转到步骤S11。Step S10: After the other controllers receive the flow table sent by controller 1, they send the flow table to the switches they manage, and then jump to step S11.

步骤S11:所有交换机在收到控制器发送过来的流表后,将流表安装到本交换机中,跳转到步骤S12。Step S11: After receiving the flow table sent by the controller, all the switches install the flow table into the switch, and jump to step S12.

步骤S12:交换机根据流表规则对数据包进行转发,至此操作完成。Step S12: The switch forwards the data packet according to the rules of the flow table, and the operation is completed so far.

在生成流表时,会根据交换机所属的位置不同而产生不同的流表规则,生成的流表如下:When generating the flow table, different flow table rules will be generated according to the location of the switch. The generated flow table is as follows:

●网络1中非出口交换机:对发送到网络2的数据包加上tag标签。●Non-exit switch in network 1: add tag to the data packets sent to network 2.

●网络1中的出口交换机:将带tag标签的数据包转发到中间网络。●Exit switch in network 1: forward the tagged data packet to the intermediate network.

●中间网络中的交换机:将带tag标签的数据包转发到网络2。●Switches in the intermediate network: forward the tagged data packets to network 2.

●网络2中的入口交换机:将带tag标签的数据包中的tag信息去掉。●Ingress switch in network 2: remove the tag information in the tagged data packet.

●网络2中的非入口交换机:根据数据包的目的信息转发数据包。● Non-ingress switches in network 2: forward data packets according to the destination information of the data packets.

由上述可以看出本发明的主要思想是,针对分布式SDN控制器的场景,提出一种动态流表生成技术,以减少整个网络中生成流表项的数量,同时,也减少数量庞大的流表项对交换机存储资源和网络带宽的消耗,提高网络的整体性能。It can be seen from the above that the main idea of the present invention is to propose a dynamic flow table generation technology for the scenario of a distributed SDN controller, so as to reduce the number of generated flow entries in the entire network, and at the same time, reduce a large number of flow table entries. Table entries consume switch storage resources and network bandwidth, improving the overall performance of the network.

本发明在软件上,对操作系统没有要求,因为使用Java运行环境,该套软件可以运行在任何支持Java的环境中,包括Linux系统、Windows系统、MacOS等,建议Java版本为1.8.0。对于网络中的交换机,需要支持Openflow协议,版本为1.3。In terms of software, the present invention has no requirements on the operating system, because the Java operating environment is used, and this set of software can run in any environment that supports Java, including Linux systems, Windows systems, MacOS, etc. The recommended Java version is 1.8.0. For the switch in the network, it needs to support the Openflow protocol, the version is 1.3.

最后所应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。Finally, it should be noted that the above embodiments are only used to illustrate and not limit the technical solutions of the present invention, although the present invention has been described in detail with reference to the above embodiments, those of ordinary skill in the art should understand that: the present invention can still be modified Or an equivalent replacement, any modification or partial replacement without departing from the spirit and scope of the present invention shall fall within the scope of the claims of the present invention.

Claims (2)

1.一种面向分布式SDN控制器的动态流表生成方法,其特征在于:1. A dynamic flow table generation method for a distributed SDN controller, characterized in that: 将一个控制器管理的网络区域看作一个网络自治域,当所述控制器收到的流请求是在域内发送数据包时,则采用最短路径类算法生成流表;若所述控制器收到的流请求是由域内向域外发送数据包时,则所述控制器首先获取所述分布式控制器所管理的所有网络的全局拓扑视图,生成全局流表,将全局流表中属于本域内的流表下发到本域交换机中,将不属于本域内的流表发送到其所属的控制器,由所属控制器完成下发功能。The network area managed by a controller is regarded as a network autonomous domain. When the flow request received by the controller is to send data packets in the domain, the shortest path algorithm is used to generate a flow table; if the controller receives When the flow request is sent from the domain to the outside of the domain, the controller first obtains the global topology view of all networks managed by the distributed controller, generates a global flow table, and lists the data packets belonging to the domain in the global flow table The flow table is sent to the switch in the local domain, and the flow table that does not belong to the local domain is sent to the controller to which it belongs, and the distribution function is completed by the controller to which it belongs. 2.根据权利要求1所述的面向分布式SDN控制器的动态流表生成方法,其特征在于:在生成全局流表时,根据交换机所属的位置不同而产生不同的流表规则,生成的流表如下:2. the method for generating a dynamic flow table facing a distributed SDN controller according to claim 1, characterized in that: when generating a global flow table, different flow table rules are produced according to the position where the switch belongs, and the generated flow The table is as follows: ●域内网络中非出口交换机:对发送到域外的数据包加上tag标签;Non-exit switches in the intra-domain network: add tag labels to data packets sent outside the domain; ●域内网络中的出口交换机:将带tag标签的数据包转发到中间网络;The egress switch in the intra-domain network: forwards the tagged data packet to the intermediate network; ●中间网络中的交换机:将带tag标签的数据包转发到域外网路;●Switches in the intermediate network: forward the data packets with the tag to the external network; ●域外网络中的入口交换机:将带tag标签的数据包中的tag信息去掉;The ingress switch in the extra-domain network: remove the tag information in the tagged data packet; ●域外网络中的非入口交换机:根据数据包的目的信息转发数据包。● Non-ingress switches in the extra-domain network: forward data packets according to the destination information of the data packets.
CN201510437065.7A 2015-07-23 2015-07-23 Dynamic flow generating method for distributed SDN controllers Pending CN105072037A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510437065.7A CN105072037A (en) 2015-07-23 2015-07-23 Dynamic flow generating method for distributed SDN controllers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510437065.7A CN105072037A (en) 2015-07-23 2015-07-23 Dynamic flow generating method for distributed SDN controllers

Publications (1)

Publication Number Publication Date
CN105072037A true CN105072037A (en) 2015-11-18

Family

ID=54501323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510437065.7A Pending CN105072037A (en) 2015-07-23 2015-07-23 Dynamic flow generating method for distributed SDN controllers

Country Status (1)

Country Link
CN (1) CN105072037A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357099A (en) * 2015-12-18 2016-02-24 南京优速网络科技有限公司 Implementation method of VPN (virtual private network) on basis of SDN (software defined network)
CN105704205A (en) * 2015-12-29 2016-06-22 浪潮(北京)电子信息产业有限公司 Communication frame system and method for multiple controllers
CN106815012A (en) * 2016-12-14 2017-06-09 深圳中顺易金融服务有限公司 Decentralized configuration Explore of Unified Management Ideas and system based on Zookeeper
CN110417562A (en) * 2018-04-26 2019-11-05 华为技术有限公司 Method, controller and apparatus for installing rules
CN109905251B (en) * 2017-12-07 2020-12-18 北京金山云网络技术有限公司 Network management method, apparatus, electronic device and storage medium
CN112491724A (en) * 2020-12-09 2021-03-12 福建农林大学 Management system and method of IPv4 and IPv6 based on SDN

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110299414A1 (en) * 2010-06-08 2011-12-08 Brocade Communications Systems, Inc. Preserving quality of service across trill networks
CN103812778A (en) * 2014-02-21 2014-05-21 华为技术有限公司 Stream table entry generating method and device
CN103841189A (en) * 2014-02-28 2014-06-04 上海斐讯数据通信技术有限公司 Method for data communication between control cloud computing center servers
CN104363173A (en) * 2014-10-31 2015-02-18 武汉烽火网络有限责任公司 Forwarding router information generation method, controller and software-defined networking system
CN104702512A (en) * 2013-12-06 2015-06-10 智梵网络科技有限公司 Hierarchical control in software-defined network (sdn)

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110299414A1 (en) * 2010-06-08 2011-12-08 Brocade Communications Systems, Inc. Preserving quality of service across trill networks
CN104702512A (en) * 2013-12-06 2015-06-10 智梵网络科技有限公司 Hierarchical control in software-defined network (sdn)
CN103812778A (en) * 2014-02-21 2014-05-21 华为技术有限公司 Stream table entry generating method and device
CN103841189A (en) * 2014-02-28 2014-06-04 上海斐讯数据通信技术有限公司 Method for data communication between control cloud computing center servers
CN104363173A (en) * 2014-10-31 2015-02-18 武汉烽火网络有限责任公司 Forwarding router information generation method, controller and software-defined networking system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357099A (en) * 2015-12-18 2016-02-24 南京优速网络科技有限公司 Implementation method of VPN (virtual private network) on basis of SDN (software defined network)
CN105704205A (en) * 2015-12-29 2016-06-22 浪潮(北京)电子信息产业有限公司 Communication frame system and method for multiple controllers
CN106815012A (en) * 2016-12-14 2017-06-09 深圳中顺易金融服务有限公司 Decentralized configuration Explore of Unified Management Ideas and system based on Zookeeper
CN109905251B (en) * 2017-12-07 2020-12-18 北京金山云网络技术有限公司 Network management method, apparatus, electronic device and storage medium
CN110417562A (en) * 2018-04-26 2019-11-05 华为技术有限公司 Method, controller and apparatus for installing rules
CN110417562B (en) * 2018-04-26 2021-01-29 华为技术有限公司 Method, controller and apparatus for installing rules
CN112491724A (en) * 2020-12-09 2021-03-12 福建农林大学 Management system and method of IPv4 and IPv6 based on SDN
CN112491724B (en) * 2020-12-09 2022-12-09 福建农林大学 SDN-based IPv4 and IPv6 management system and method

Similar Documents

Publication Publication Date Title
US10924436B2 (en) Method and system for managing workloads in a cluster
US8879396B2 (en) System and method for using dynamic allocation of virtual lanes to alleviate congestion in a fat-tree topology
CN105072037A (en) Dynamic flow generating method for distributed SDN controllers
Zhang et al. SDN-based load balancing strategy for server cluster
JP5190084B2 (en) Virtual machine migration method and system
EP2920932B1 (en) Apparatus for a high performance and highly available multi-controllers in a single sdn/openflow network
CN103795805A (en) Distributed server load balancing method based on SDN
CN104823405A (en) IP multicast service leave process for MPLS-based virtual private cloud networking
CN106411972A (en) Real-time data distribution system and method based on Openflow protocol
US12093577B2 (en) Master data placement in distributed storage systems
CN106899503B (en) A kind of route selection method and network manager of data center network
Lin et al. ASIC: An architecture for scalable intra-domain control in OpenFlow
WO2021120633A1 (en) Load balancing method and related device
CN116886496A (en) DPU-based data processing method, device, equipment and readable storage medium
US20200358702A1 (en) Distributed load balancer health management using data center network manager
US10644957B1 (en) Centralized controller-based dynamic network bandwidth allocation and management
JPWO2013146808A1 (en) Computer system and communication path changing method
CN109995875A (en) Virtualization data distributes elastomeric network system
US20140047260A1 (en) Network management system, network management computer and network management method
CN112655185B (en) Apparatus, method and storage medium for service allocation in a software defined network
JP6288633B2 (en) Network control method
Fan et al. Distributed and dynamic multicast scheduling in fat-tree data center networks
CN102340412A (en) Exchange design of cloud computing network
CN113783738A (en) SDN northbound interface implementation method with high expandability
Liu et al. An adaptive failure recovery mechanism based on asymmetric routing for data center networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20151118