WO2017016106A1 - 一种基于SDN的支持QoS的通信隧道建立方法及*** - Google Patents
一种基于SDN的支持QoS的通信隧道建立方法及*** Download PDFInfo
- Publication number
- WO2017016106A1 WO2017016106A1 PCT/CN2015/095160 CN2015095160W WO2017016106A1 WO 2017016106 A1 WO2017016106 A1 WO 2017016106A1 CN 2015095160 W CN2015095160 W CN 2015095160W WO 2017016106 A1 WO2017016106 A1 WO 2017016106A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sdn
- tunnel
- flow
- queue
- flow table
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013507 mapping Methods 0.000 claims abstract description 68
- HRULVFRXEOZUMJ-UHFFFAOYSA-K potassium;disodium;2-(4-chloro-2-methylphenoxy)propanoate;methyl-dioxido-oxo-$l^{5}-arsane Chemical compound [Na+].[Na+].[K+].C[As]([O-])([O-])=O.[O-]C(=O)C(C)OC1=CC=C(Cl)C=C1C HRULVFRXEOZUMJ-UHFFFAOYSA-K 0.000 claims abstract 5
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Definitions
- the present invention relates to the field of communications technologies, and in particular to the technical field, and in particular, to a SDN-based communication tunnel establishing method and system for supporting QoS.
- the GRE provides a mechanism for encapsulating a protocol packet in another protocol packet so that the packet can be transmitted in a heterogeneous network.
- the GRE mechanism is simple, and the packet cannot be correctly arrived at the destination, and the QoS feature is not provided.
- the traditional GRE encapsulates the datagrams of some network layer protocols, so that these encapsulated datagrams can be transmitted in another network layer protocol. To transmit a message in the GRE tunnel, it must be encapsulated and Decapsulate two processes.
- the traditional GRE feature is simple in mechanism, and has a small CPU load on devices at both ends of the tunnel, and does not provide a QoS function.
- the establishment of a GRE tunnel is complicated.
- the route that needs to be forwarded by the tunnel must exist on both the source router and the destination router.
- a tunnel can be configured with a static route or a dynamic route.
- the packets that need to be encapsulated by GRE can be forwarded correctly.
- the establishment of a traditional GRE tunnel is distributed.
- the route of the tunnel is configured on the forwarding device.
- the packets encapsulated in the GRE can be forwarded correctly. Therefore, the convergence is slow.
- the traditional GRE feature is simple in mechanism, and has a small CPU load on devices at both ends of the tunnel, and does not provide a QoS function.
- an object of the present invention is to provide an SDN-based QoS-enabled communication tunnel establishment method and system for solving the problem that the establishment of a communication tunnel in the prior art cannot provide end-to-end QoS services. problem.
- the present invention provides an SDN-based QoS-enabled communication tunnel establishment method, which is applied to a communication network including an SDN switch and an SDN controller, and the SDN-based communication tunnel supporting QoS
- the method includes: the SDN switch reports the specified MAC address and the SDN flow of the unmatched flow table to the SDN controller; the SDN controller, according to the MAC address, the flow signature of the SDN stream and the link layer discovery protocol Obtaining a forwarding path of the SDN stream; the SDN controller generates a tunnel ID mapping table indicating a mapping relationship between the quintuple information and a tunnel ID according to the forwarding path of the SDN stream and the quintuple information of the SDN stream.
- a queue ID mapping table indicating a mapping relationship between the tunnel ID and the outbound port and the egress port, and generating a corresponding flow table, wherein the tunnel ID indicates a priority queue; and the SDN controller sends the SDN switch to the SDN switch Deriving the flow table, so that the SDN flow is forwarded according to the flow table; and the SDN switch obtains an outbound queue and an egress port according to the tunnel ID.
- the SDN-based QoS-enabled communication tunnel establishment method further includes: extending, in the OF flow table, five elements of the SDN flow for querying the tunnel ID mapping table and the queue ID mapping table. The field of the group information and the field of the tunnel ID.
- the quintuple information of the SDN stream includes: a destination MAC address, a destination IP address, a source MAC address, a source IP address, and a DSCP value.
- the tunnel ID includes a priority for the priority corresponding to the SDN stream.
- the DSCP value and the ID number dynamically assigned according to the quintuple information of the SDN stream.
- the SDN switch obtains the outbound and outbound ports according to the tunnel ID, where the SDN switch determines whether the format of the received SDN stream is a tunnel packet, and if so, according to The tunnel ID matches the flow table to obtain the outbound queue and the egress port. If not, the flow table is matched according to the quintuple information, and the tunnel ID is obtained to obtain the outbound queue and the egress port.
- the present invention further provides an SDN-based communication tunnel establishment system supporting QoS, which is applied to a communication network including an SDN switch and an SDN controller, and the SDN-based QoS-enabled communication tunnel establishment system includes
- the SDN switch includes: a reporting module, configured to report the SDN flow of the specified MAC address and the unmatched flow table to the SDN controller; and the SDN controller is connected to the SDN switch, including: a forwarding path acquiring module, and the The reporting module is connected to obtain the forwarding path of the SDN stream according to the MAC address, the flow signature of the SDN stream, and the link layer discovery protocol.
- the tunnel information generating module is connected to the forwarding path acquiring module.
- a tunnel ID mapping table indicating the mapping relationship between the quintuple information and the tunnel ID according to the forwarding path of the SDN flow and the quintuple information of the SDN flow, and indicating a mapping relationship between the tunnel ID and the outbound queue and the egress port a queue ID mapping table, and a corresponding flow table is generated, wherein the priority queue is specified in the tunnel ID; the flow table is sent by the module, and the tunnel information generating module is And the method is configured to send the flow table to the SDN switch, so that the SDN flow is forwarded according to the flow table.
- the SDN-based QoS-enabled communication tunnel establishment system further includes an OF flow table expansion module, configured to expand, in the OF flow table, a query for the tunnel ID mapping table and the queue ID mapping table.
- an OF flow table expansion module configured to expand, in the OF flow table, a query for the tunnel ID mapping table and the queue ID mapping table.
- the quintuple information of the SDN stream includes: a destination MAC address, a destination IP address, a source MAC address, a source IP address, and a DSCP value.
- the tunnel ID includes a DSCP value for distinguishing the priority corresponding to the SDN stream and an ID number dynamically allocated according to the quintuple information of the SDN stream.
- the SDN switch further includes: an information acquiring module connected to the flow table sending module, configured to obtain an outbound queue and an egress port according to the tunnel ID; and the flow table
- the determining module is connected to the information obtaining module, and is configured to determine whether the format of the received SDN stream is a tunnel packet. If yes, the information acquiring module matches the flow table according to the tunnel ID, and obtains the outbound queue and the outbound The port, if not, the information obtaining module matches the flow table according to the quintuple information, and adds the tunnel ID to obtain the outbound queue and the outbound port.
- an SDN-based QoS-enabled communication tunnel establishment method and system of the present invention has the following beneficial effects:
- the invention is based on the SDN architecture.
- the establishment of the communication tunnel is completed by the SDN controller, and the communication tunnel is established according to the DSCP field of the IP header of the SDN flow, and the priority queue is specified, and the end-to-end QoS service can be provided.
- the invention has strong versatility and practicability.
- FIG. 1 is a schematic flowchart diagram of an SDN-based QoS-enabled communication tunnel establishment method according to the present invention.
- FIG. 2 is a schematic diagram showing control of an SDN-based QoS-enabled communication tunnel establishment method according to the present invention.
- FIG. 3 is a schematic diagram showing an implementation of an SDN-based QoS-enabled communication tunnel establishment method according to the present invention.
- FIG. 4 is a schematic diagram showing the processing flow of an SDN controller in an SDN-based QoS-enabled communication tunnel establishment method according to the present invention.
- FIG. 5 is a schematic diagram showing the processing flow of an SDN switch in an SDN-based QoS-enabled communication tunnel establishment method according to the present invention.
- FIG. 6 is a schematic diagram showing the construction of a simulation environment in an SDN-based QoS-enabled communication tunnel establishment method according to the present invention.
- FIG. 7 is a schematic structural diagram of an SDN-based communication tunnel establishment system supporting QoS according to the present invention.
- FIG. 8 is a schematic diagram showing a preferred structure of an SDN-based QoS-enabled communication tunnel establishment system according to the present invention.
- the principle and implementation manner of an SDN-based QoS-enabled communication tunnel establishment method and system according to the present invention will be described in detail below, so that those skilled in the art can understand the SDN-based QoS support of the present invention without creative work. Communication tunnel establishment method and system.
- the SDN-based QoS-enabled communication tunnel establishment method and system of the present embodiment is based on SDN-supported QoS tunnel technology, and the SDN controller establishes a tunnel according to the forwarding path of the SDN flow, and selects according to the DSCP field of the IP header of the SDN flow.
- a suitable end-to-end QoS queue for data forwarding Since the establishment of the tunnel is controlled by the controller, it is completed by means of a downstream table. So efficient and simple.
- the SDN network supporting QoS function can identify the type of data packets generated by the application, and specializes in special data packets. Special treatment. In order to provide priority, the SDN switch must have 64 queues per port, which provides a finer priority selection.
- SDN Software Defined Network
- OpenFlow separates the control plane of the network device from the data plane. In order to achieve flexible control of network traffic, the network becomes more intelligent as a pipeline.
- QoS Quality of Service
- QoS Quality of Service
- DSCP Differentiated Services Code Point
- the IETF released the Diff-Serv (Differentiated Service) QoS classification standard in December 1998. It distinguishes the priority by the encoded value in the service class TOS identification byte of each packet IP header, using the used 6 bits and the unused 2 bits.
- this embodiment provides an SDN-based QoS-enabled communication tunnel establishment method, which is applied to a communication network including an SDN switch and an SDN controller, and the SDN-based QoS-enabled communication
- the tunnel establishment method includes the following steps.
- step S11 the SDN switch reports the specified MAC address and the SDN flow of the unmatched flow table to the SDN controller.
- Step S12 The SDN controller acquires a forwarding path of the SDN stream according to the MAC address, the stream feature code of the SDN stream, and the link layer discovery protocol.
- the SDN controller In step S13, the SDN controller generates a tunnel ID mapping table indicating the mapping relationship between the quintuple information and the tunnel ID according to the forwarding path of the SDN stream and the quintuple information of the SDN stream, and indicates that the tunnel ID is A queue ID mapping table for mapping the outbound and outbound ports, and generating a corresponding flow table, wherein the priority queue is indicated in the tunnel ID.
- Step S14 The SDN controller sends the flow table to the SDN switch, so that the SDN flow is forwarded according to the flow table.
- step S11 to step S14 will be described in detail below.
- the SDN-based QoS-enabled communication tunnel establishment method in this embodiment is based on the SDN architecture, and the establishment of the tunnel is completed by the SDN controller, and the convergence is fast.
- the SDN-based QoS-enabled communication tunnel establishment method of the present embodiment establishes a tunnel according to the DSCP field of the IP header of the SDN flow, and specifies a priority queue, which can provide end-to-end QoS service.
- source A sends data and establishes a private tunnel with a priority of 63, that is, the packet DSCP is 63, and a private tunnel is established.
- the priority is 1, that is, the packet DSCP is 1, the destination B receives data, and the S0 to S4 are SDN switches.
- the SDN controller controls data forwarding.
- the OF flow table instruction set needs to be extended to match the flow quintuple information (destination MAC address, destination IP address, source MAC address, source IP address, DSCP value). ), the border switch is labeled with different tunnel heads and forwarded from specific tunnels and QoS queues.
- the definition of the private 32-bit tunnel ID implicitly indicates the priority queue; the private tunnel ID mapping table indicates the mapping of the quintuple information to the tunnel ID.
- the private queue ID mapping table indicates the mapping relationship between the tunnel ID and the outgoing queue and the outgoing port.
- the border switch puts the tunnel header according to the private tunnel ID mapping table, and then queries the private queue ID mapping table to obtain the outbound queue and the outbound port for forwarding.
- the internal switch only needs to query the private queue ID mapping table to obtain the outbound and outgoing ports for forwarding.
- step S11 the SDN switch reports the specified MAC address and the SDN flow of the unmatched flow table to the SDN controller. Specifically, in this embodiment, the SDN switch switch adds or aging a MAC address information to the SDN controller, and the SDN switch sends the SDN stream of the unmatched flow table to the SDN controller.
- step S12 the SDN controller acquires a forwarding path of the SDN stream according to the MAC address, a stream feature code of the SDN stream, and a link layer discovery protocol, that is, an SDN controller.
- a link layer discovery protocol that is, an SDN controller.
- the LLDP Link Layer Discovery Protocol
- LLDP Link Layer Discovery Protocol
- TLV Type/Length/Value, Type/Length/Value
- MIB Management Information Base
- the SDN controller In step S13, the SDN controller generates a tunnel ID mapping table indicating the mapping relationship between the quintuple information and the tunnel ID according to the forwarding path of the SDN stream and the quintuple information of the SDN stream, and indicates that the tunnel ID is A queue ID mapping table for mapping the outbound and outbound ports, and generating a corresponding flow table, wherein the priority queue is indicated in the tunnel ID.
- the SDN controller generates a tunnel ID mapping table and a queue ID mapping table according to the forwarding path and the five-element groupable information of the flow.
- step S14 the SDN controller sends the flow table to the SDN switch, so that the SDN flow is forwarded according to the flow table. That is, the SDN controller sends a flow table according to the calculation result. SDN traffic is forwarded according to the flow table.
- the SDN-based QoS-enabled communication tunnel establishment method further includes: expanding a quintuple of the SDN stream for querying the tunnel ID mapping table and the queue ID mapping table in the OF flow table. The field of the message and the field of the tunnel ID.
- the OF stream table instruction set is extended. This instruction is used to query the tunnel ID mapping table and the queue ID mapping table. SDN controllers and switches need to support the extended OF stream table instruction set.
- the extended OF flow table definition is shown in Table 1.
- the quintuple information of the SDN stream includes: a destination MAC address, a destination IP address, a source MAC address, a source IP address, and a DSCP value.
- the tunnel ID includes a DSCP value for distinguishing the priority corresponding to the SDN stream and an ID number dynamically allocated according to the quintuple information of the SDN stream.
- the ID of the high 24 bits is dynamically allocated according to the quintuple information of the stream (destination MAC address, destination IP address, source MAC address, source IP address, DSCP value).
- the logic of the SDN controller is more complicated.
- the processing flow of the entire SDN control is shown in Figure 4.
- the SDN controller needs to calculate a flow forwarding path according to the MAC address information, the LLDP information, and the flow signature, and then the SDN controller obtains the quintuple information from the SDN stream.
- the SDN controller queries the tunnel ID mapping table according to the quintuple information. If it matches, the tunnel ID is obtained, and the queue ID mapping table is continuously queried to obtain the outbound queue and the outbound port.
- the tunnel ID is generated according to the quintuple information, and the tunnel ID mapping table is written, and then the queue ID mapping table is generated according to the forwarding path and the tunnel ID, and finally the flow table needs to be sent to the SDN switch.
- the SDN-based QoS-enabled communication tunnel establishment method further includes: the SDN switch obtaining an outbound queue and an egress port according to the tunnel ID, specifically: the SDN switch determines the received SDN. Whether the format of the flow is a tunnel packet. If yes, the flow table is matched according to the tunnel ID to obtain the outbound queue and the egress port. If not, the flow table is matched according to the quintuple information, and the tunnel ID is obtained to obtain the outbound queue and the egress port.
- the processing flow of the SDN switch is as shown in FIG. 5, and the SDN switch receives the SDN flow, and first needs to match the flow table. If there is no match, the SDN stream is submitted to the SDN controller for processing. If it matches, you need to determine the format of the SDN stream. If it is a tunnel packet, you need to match the flow table according to the tunnel ID to obtain the outbound port and the outbound queue. If it is not a tunnel packet, you need to match the flow table according to the quintuple information of the packet, and type the tunnel header to obtain the outbound port and the outbound queue.
- the format of the tunnel header is shown in Table 3:
- test steps of the present invention are as follows:
- Traffic generator A generates traffic A (DSCP is 1) and traffic receiver B receives traffic B (DSCP is 63), and S0 to S4 are SDN switches; when network congestion occurs, traffic A cannot forward, and traffic B can be forwarded normally.
- the present invention further provides an SDN-based communication tunnel establishment system supporting QoS, which is applied to a communication network including an SDN switch and an SDN controller, as shown in FIG. 7, the SDN-based support QoS
- the communication tunnel establishment system 1 includes an SDN switch 11 and an SDN controller 12, and the SDN switch 11 is divided into a border SDN switch and an internal SDN switch.
- the control planes of the border SDN switch and the internal SDN switch are both moved up to the SDN controller 12, and the border SDN switch and the internal SDN switch only retain the data plane and become the forwarding node.
- the SDN switch 11 includes a reporting module 111, an information acquiring module 112, and a determining module 113.
- the SDN controller 12 includes a forwarding path obtaining module 121, a tunnel information generating module 122, and a flow table sending module 123.
- the SDN-based QoS-enabled communication tunnel establishment system 1 of the present embodiment is based on the SDN architecture, and the establishment of the tunnel is completed by the SDN controller 12, and the convergence is fast.
- the SDN-based QoS-enabled communication tunnel establishment method of the present embodiment establishes a tunnel according to the DSCP field of the IP header of the SDN flow, and specifies a priority queue, which can provide end-to-end QoS service.
- source A sends data and establishes a private tunnel with a priority of 63, that is, the packet DSCP is 63, and a private tunnel is established.
- the priority is 1, that is, the packet DSCP is 1, the destination B receives data, and the S0 to S4 are SDN switches.
- the SDN controller 12 controls data forwarding.
- the reporting module 111 is configured to report the specified MAC address and the SDN flow of the unmatched flow table to the SDN controller 12. That is, the SDN switch 11 reports the specified MAC address and the SDN stream of the unmatched flow table to the SDN controller 12. Specifically, in this embodiment, the SDN switch 11 adds or ages a MAC address information to the SDN controller 12, and the SDN switch 11 sends the SDN stream of the unmatched flow table to the SDN controller 12.
- the forwarding path obtaining module 121 is connected to the reporting module 111, and is configured to acquire, according to the MAC address, a flow signature of the SDN stream and a link layer discovery protocol to obtain a forwarding path of the SDN stream. That is, the SDN controller 12 calculates the stream forwarding path based on the MAC address information, the LLDP (Link Layer Discovery Protocol) information, and the stream signature.
- LLDP Link Layer Discovery Protocol
- the tunnel information generating module 122 is connected to the forwarding path obtaining module 121, and configured to generate a tunnel ID indicating a mapping relationship between the quintuple information and the tunnel ID according to the forwarding path of the SDN stream and the quintuple information of the SDN stream.
- the mapping table and the queue ID mapping table indicating the mapping relationship between the tunnel ID and the outbound port and the outbound port, and generate a corresponding flow table, wherein the priority queue is indicated in the tunnel ID.
- the definition of the private 32-bit tunnel ID implicitly indicates the priority queue; the private tunnel ID mapping table indicates the mapping of the quintuple information to the tunnel ID.
- the private queue ID mapping table indicates the mapping relationship between the tunnel ID and the outgoing queue and the outgoing port.
- the border switch puts the tunnel header according to the private tunnel ID mapping table, and then queries the private queue ID mapping table to obtain the outbound queue and the outbound port for forwarding.
- the internal switch only needs to query the private queue ID mapping table to obtain the outbound and outgoing ports for forwarding.
- the flow table sending module 123 is connected to the tunnel information generating module 122, and is configured to send the flow table to the SDN switch 11, so that the SDN stream is forwarded according to the flow table.
- the SDN-based QoS-enabled communication tunnel establishment system 1 further includes an OF flow table expansion module 13 for extending a five-element of the SDN flow for querying the tunnel ID mapping table and the queue ID mapping table in the OF flow table.
- the extended OF flow table definition is as shown in Table 1 above.
- the quintuple information of the SDN stream includes: a destination MAC address, a destination IP address, a source MAC address, a source IP address, and a DSCP value.
- the tunnel ID includes a DSCP value for differentiating the priority corresponding to the SDN stream and a five-element according to the SDN stream.
- the ID of the high 24 bits is dynamically allocated according to the quintuple information of the stream (destination MAC address, destination IP address, source MAC address, source IP address, DSCP value).
- the information obtaining module 112 is connected to the flow table sending module 123, and is configured to obtain an outbound queue and an egress port according to the tunnel ID.
- the determining module 113 is connected to the flow table sending module 123 and the information acquiring module 112. And determining, by the information obtaining module 112, the outbound queue and the egress port according to the tunnel ID matching the flow table, and if not, the information acquiring module 112 is configured to determine whether the format of the received SDN flow is a tunnel packet. According to the quintuple information matching flow table, the tunnel ID is added to obtain the outbound queue and the outgoing port.
- the logic of the SDN controller 12 is relatively complicated, and the processing flow of the entire SDN control is as shown in FIG. 4.
- the SDN controller 12 needs to calculate a flow forwarding path according to the MAC address information, the LLDP information and the flow signature, and then the SDN controller 12 obtains the quintuple information from the SDN stream.
- the SDN controller 12 queries the tunnel ID mapping table according to the quintuple information. If it matches, the tunnel ID is obtained, and the queue ID mapping table is continuously queried to obtain the outbound queue and the outbound port.
- the tunnel ID is generated according to the quintuple information, and the tunnel ID mapping table is written, and then the queue ID mapping table is generated according to the forwarding path and the tunnel ID, and finally the flow table needs to be sent to the SDN switch 11.
- the processing flow of the SDN switch 11 is as shown in FIG. 5.
- the SDN switch 11 receives the SDN flow, and first needs to match the flow table. If there is no match, the SDN stream is submitted to the SDN controller 12 for processing. If it matches, you need to determine the format of the SDN stream. If it is a tunnel packet, you need to match the flow table according to the tunnel ID to obtain the outbound port and the outbound queue. If it is not a tunnel packet, you need to match the flow table according to the quintuple information of the packet, and type the tunnel header to obtain the outbound port and the outbound queue. In this embodiment, when the original packet passes through the border switch, the tunnel header needs to be added. The internal switch uses the tunnel ID matching flow table for forwarding. When the border switch is removed, the tunnel header needs to be stripped. The entire packet format is as shown in Table 2 above. The format of the tunnel header is shown in Table 3 above.
- test steps of the present invention are as follows:
- Traffic generator A generates traffic A (DSCP is 1) and traffic receiver B receives traffic B (DSCP is 63), and S0 to S4 are SDN switches; when network congestion occurs, traffic A cannot forward, and traffic B can be forwarded normally.
- the present invention is based on an SDN architecture.
- the establishment of a communication tunnel is performed by the SDN controller in a unified manner, and a communication tunnel is established according to the DSCP field of the IP header of the SDN flow, indicating a priority queue, which can provide end-to-end QoS service.
- the invention has strong versatility and practicability. Therefore, the present invention effectively overcomes various shortcomings in the prior art and has high industrial utilization value.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于SDN的支持QoS的通信隧道建立方法及***,应用于包含SDN交换机和SDN控制器的通信网路中,所述方法包括:SDN交换机将指定的MAC地址和未匹配流表的SDN流上报至SDN控制器;SDN控制器获取SDN流的转发路径;SDN控制器根据SDN流的转发路径和SDN流的五元组信息生成隧道ID映射表和队列ID映射表,并生成对应的流表,隧道ID中指明了优先级队列;SDN控制器向SDN交换机下发流表;SDN交换机获得出队列和出端口。本发明基于SDN架构,通信隧道的建立是由SDN控制器统一完成,并根据SDN流的IP头的DSCP字段,建立通信隧道,指明优先级队列,提供端到端的QoS服务。
Description
本发明涉及通信技术领域,特别是涉及技术领域,具体为一种基于SDN的支持QoS的通信隧道建立方法及***。
GRE提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网络中传输。但是GRE机制简单,不能保证报文正确到达目的地,不提供QoS特性。传统的GRE是对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议中传输,一个报文要想在GRE Tunnel中传输,必须要经过加封装与解封装两个过程。
传统GRE特点是机制简单,对隧道两端设备的CPU负担小,不提供Qos功能。GRE隧道建立比较复杂,需要在源端路由器和目的端路由器上,都必须存在经过Tunnel转发的路由。隧道路由可以配置静态路由或配置动态路由,这样,需要进行GRE封装的报文才能正确转发。
传统的GRE隧道的建立是分布式的,需要在转发设备上配置Tunnel的路由,进行GRE封装的报文才能正确转发,因此收敛较慢。传统GRE特点是机制简单,对隧道两端设备的CPU负担小,不提供Qos功能。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于SDN的支持QoS的通信隧道建立方法及***,用于解决现有技术中通信隧道的建立无法提供端到端的QoS服务的问题。
为实现上述目的及其他相关目的,本发明提供一种基于SDN的支持QoS的通信隧道建立方法,应用于包含SDN交换机和SDN控制器的通信网路中,所述基于SDN的支持QoS的通信隧道建立方法包括:SDN交换机将指定的MAC地址和未匹配流表的SDN流上报至SDN控制器;所述SDN控制器根据所述MAC地址,所述SDN流的流特征码以及链路层发现协议获取所述SDN流的转发路径;所述SDN控制器根据所述SDN流的转发路径和SDN流的五元组信息生成表明所述五元组信息到隧道ID的映射关系的隧道ID映射表和表明隧道ID到出队列和出端口的映射关系的队列ID映射表,并生成对应的流表,其中所述隧道ID中指明了优先级队列;所述SDN控制器向所述SDN交换机下发所述流表,使得所述SDN流根据所述流表进行转发;所述SDN交换机根据所述隧道ID,获得出队列和出端口。
作为本发明的一种优选方案,所述基于SDN的支持QoS的通信隧道建立方法还包括:在OF流表中扩展用于查询隧道ID映射表和队列ID映射表的所述SDN流的五元组信息的字段和所述隧道ID的字段。
作为本发明的一种优选方案,所述SDN流的五元组信息包括:目的MAC地址、目的IP地址、源MAC地址、源IP地址以及DSCP值。
作为本发明的一种优选方案,所述隧道ID包括用于区分优先级对应所述SDN流的
DSCP值和根据SDN流的五元组信息进行动态分配的ID号。
作为本发明的一种优选方案,所述SDN交换机根据所述隧道ID,获得出队列和出端口具体为:所述SDN交换机判断接收到的SDN流的格式是否是隧道报文,若是,则根据隧道ID匹配流表,获得出队列和出端口,若否,则根据五元组信息匹配流表,打上隧道ID,获得出队列和出端口。
为实现上述目的,本发明还提供一种基于SDN的支持QoS的通信隧道建立***,应用于包含SDN交换机和SDN控制器的通信网路中,所述基于SDN的支持QoS的通信隧道建立***包括:SDN交换机,包括:上报模块,用于将指定的MAC地址和未匹配流表的SDN流上报至SDN控制器;SDN控制器,与所述SDN交换机相连,包括:转发路径获取模块,与所述上报模块相连,用于根据所述MAC地址,所述SDN流的流特征码以及链路层发现协议获取所述SDN流的转发路径;隧道信息生成模块,与所述转发路径获取模块相连,用于根据所述SDN流的转发路径和SDN流的五元组信息生成表明所述五元组信息到隧道ID的映射关系的隧道ID映射表和表明隧道ID到出队列和出端口的映射关系的队列ID映射表,并生成对应的流表,其中所述隧道ID中指明了优先级队列;流表下发模块,与所述隧道信息生成模块相连,用于向所述SDN交换机下发所述流表,使得所述SDN流根据所述流表进行转发。
作为本发明的一种优选方案,所述基于SDN的支持QoS的通信隧道建立***还包括OF流表扩展模块,用于在OF流表中扩展用于查询隧道ID映射表和队列ID映射表的所述SDN流的五元组信息的字段和所述隧道ID的字段。
作为本发明的一种优选方案,所述SDN流的五元组信息包括:目的MAC地址、目的IP地址、源MAC地址、源IP地址以及DSCP值。
作为本发明的一种优选方案,所述隧道ID包括用于区分优先级对应所述SDN流的DSCP值和根据SDN流的五元组信息进行动态分配的ID号。
作为本发明的一种优选方案,所述SDN交换机还包括:与所述流表下发模块相连的信息获取模块,用于根据所述隧道ID,获得出队列和出端口;与所述流表下发模块和所述信息获取模块相连的判断模块,用于判断接收到的SDN流的格式是否是隧道报文,若是,则所述信息获取模块根据隧道ID匹配流表,获得出队列和出端口,若否,则所述信息获取模块根据五元组信息匹配流表,打上隧道ID,获得出队列和出端口。
如上所述,本发明的一种基于SDN的支持QoS的通信隧道建立方法及***,具有以下有益效果:
本发明是基于SDN架构,通信隧道的建立是由SDN控制器统一计算完成,并根据SDN流的IP头的DSCP字段,建立通信隧道,指明优先级队列,可以提供端到端的QoS服务。本发明具有较强的通用性和实用性。
图1显示为本发明的基于SDN的支持QoS的通信隧道建立方法的流程示意图。
图2显示为本发明的基于SDN的支持QoS的通信隧道建立方法的控制示意图。
图3显示为本发明的基于SDN的支持QoS的通信隧道建立方法的实施示意图。
图4显示为本发明的基于SDN的支持QoS的通信隧道建立方法中SDN控制器的处理流程示意图。
图5显示为本发明的基于SDN的支持QoS的通信隧道建立方法中SDN交换机的处理流程示意图。
图6显示为本发明的基于SDN的支持QoS的通信隧道建立方法中模拟环境构建示意图。
图7显示为本发明的基于SDN的支持QoS的通信隧道建立***的结构示意图。
图8显示为本发明的基于SDN的支持QoS的通信隧道建立***的一种优选结构示意图。
元件标号说明
1 基于SDN的支持QoS的通信隧道建立***
11 SDN交换机
111 上报模块
112 信息获取模块
113 判断模块
12 SDN控制器
121 转发路径获取模块
122 隧道信息生成模块
123 流表下发模块
13 OF流表扩展模块
S11~S14 步骤
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
本发明的目的在于提供一种基于SDN的支持QoS的通信隧道建立方法及***,用于解决现有技术中通信隧道的建立无法提供端到端的QoS服务的问题。以下将详细阐述本发明的一种基于SDN的支持QoS的通信隧道建立方法及***的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的一种基于SDN的支持QoS的通信隧道建立方法及***。
本实施例的基于SDN的支持QoS的通信隧道建立方法及***是基于SDN的支持QoS隧道技术,由SDN控制器根据SDN流的转发路径建立隧道,并根据SDN流的IP头部的DSCP字段选择合适的端到端QoS队列进行数据转发。由于隧道的建立由控制器进行控制,并通过下流表的方式完成。因此高效而简单。
支持QoS功能的SDN网络能够识别应用产生数据包的种类,对特殊数据包进行特
殊的处理。为了提供优先级,SDN交换机每个端口必须都要有64个队列,可以提供更为精细的优先级选择。
其中,SDN(Software Defined Network)是指软件定义网络,是Emulex网络一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。
QoS(Quality of Service)为服务质量,指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。在正常情况下,如果网络只用于特定的无时间限制的应用***,并不需要QoS,比如Web应用,或E-mail设置等。但是对关键应用和多媒体应用就十分必要。当网络过载或拥塞时,QoS能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。
DSCP(Differentiated Services Code Point)是指差分服务代码点,IETF于1998年12月发布了Diff-Serv(Differentiated Service)的QoS分类标准。它在每个数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特,通过编码值来区分优先级。
具体地,如图1所示,本实施例提供一种基于SDN的支持QoS的通信隧道建立方法,应用于包含SDN交换机和SDN控制器的通信网路中,所述基于SDN的支持QoS的通信隧道建立方法包括以下步骤。
步骤S11,SDN交换机将指定的MAC地址和未匹配流表的SDN流上报至SDN控制器。
步骤S12,所述SDN控制器根据所述MAC地址,所述SDN流的流特征码以及链路层发现协议获取所述SDN流的转发路径。
在步骤S13中,所述SDN控制器根据所述SDN流的转发路径和SDN流的五元组信息生成表明所述五元组信息到隧道ID的映射关系的隧道ID映射表和表明隧道ID到出队列和出端口的映射关系的队列ID映射表,并生成对应的流表,其中所述隧道ID中指明了优先级队列。
步骤S14,所述SDN控制器向所述SDN交换机下发所述流表,使得所述SDN流根据所述流表进行转发。
如图2和图3所示,以下对步骤S11至步骤S14进行详细说明。
本实施例的基于SDN的支持QoS的通信隧道建立方法是基于SDN架构的,隧道的建立是由SDN控制器统一计算完成,收敛快速。如图2所示,本实施例的基于SDN的支持QoS的通信隧道建立方法根据SDN流的IP头的DSCP字段,建立隧道,并指明优先级队列,可以提供端到端的QoS服务。图2中,源A发送数据,建立私有隧道,优先级63,即报文DSCP为63,建立私有隧道,优先级1,即报文DSCP为1,目的B接收数据,S0~S4为SDN交换机,SDN控制器控制数据转发。
在本实施例的基于SDN的支持QoS的通信隧道建立方法中,需要扩充OF流表指令集,匹配流五元组信息(目的MAC地址,目的IP地址,源MAC地址,源IP地址,DSCP值),在边界交换机打上不同的隧道头,从特定的隧道和QoS队列进行转发。
在本实施例的基于SDN的支持QoS的通信隧道建立方法中,假定边界交换机和内部交换机的控制面都上移到SDN控制器,边界交换机和内部交换机只保留数据面,蜕变成转发节点。
私有的32bits的隧道ID的定义隐式地指明了优先级队列;私有的隧道ID映射表指明了五元组信息到隧道ID的映射关系。私有的队列ID映射表指明了隧道ID到出队列和出端口的映射关系。边界交换机根据私有的隧道ID映射表,打上隧道头,然后查询私有的队列ID映射表,获得出队列和出端口进行转发。内部交换机只需查询私有的队列ID映射表,获得出队列和出端口进行转发。
在步骤S11中,SDN交换机将指定的MAC地址和未匹配流表的SDN流上报至SDN控制器。具体地,在本实施例中,SDN交换机交换机增加或老化一条MAC地址信息,需立即上报给SDN控制器,此外,SDN交换机把未匹配流表的SDN流送往SDN控制器。
然后接着步骤S12,在步骤S12中,所述SDN控制器根据所述MAC地址,所述SDN流的流特征码以及链路层发现协议获取所述SDN流的转发路径,也就是,SDN控制器根据MAC地址信息,LLDP(链路层发现协议)信息,流特征码,计算流转发路径。
其中,LLDP(Link Layer Discovery Protocol,链路层发现协议)提供了一种标准的链路层发现方式,可以将本端设备的的主要能力、管理地址、设备标识、接口标识等信息组织成不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDPDU(Link Layer Discovery Protocol Data Unit,链路层发现协议数据单元)中发布给与自己直连的邻居,邻居收到这些信息后将其以标准MIB(Management Information Base,管理信息库)的形式保存起来,以供网络管理***查询及判断链路的通信状况。链路层发现协议(LLDP)是一个厂商无关的二层协议,它允许网络设备在本地子网中通告自己的设备标识和性能。
在步骤S13中,所述SDN控制器根据所述SDN流的转发路径和SDN流的五元组信息生成表明所述五元组信息到隧道ID的映射关系的隧道ID映射表和表明隧道ID到出队列和出端口的映射关系的队列ID映射表,并生成对应的流表,其中所述隧道ID中指明了优先级队列。SDN控制器根据转发路径,流的五元可组信息,生成隧道ID映射表和队列ID映射表。
在步骤S14中,所述SDN控制器向所述SDN交换机下发所述流表,使得所述SDN流根据所述流表进行转发。即SDN控制器根据计算结果,下发流表。SDN流量根据流表进行转发。
此外,在本实施例中,所述基于SDN的支持QoS的通信隧道建立方法还包括:在OF流表中扩展用于查询隧道ID映射表和队列ID映射表的所述SDN流的五元组信息的字段和所述隧道ID的字段。
扩充OF流表指令集,此指令用于查询隧道ID映射表和队列ID映射表。SDN控制器和交换机需要支持扩充OF流表指令集。扩展OF流表定义如表1所示。
在本实施例中,所述SDN流的五元组信息包括:目的MAC地址、目的IP地址、源MAC地址、源IP地址以及DSCP值。
所述隧道ID包括用于区分优先级对应所述SDN流的DSCP值和根据SDN流的五元组信息进行动态分配的ID号。具体地,私有的32bits的隧道ID包含两部分。一部分是队列id,对应流的DSCP值(0-63,0优先级最低,63优先级最高),同时也表明硬件队列,即:队列id=DSCP值=硬件队列。高24bits的ID根据流的五元组信息(目的MAC地址,目的IP地址,源MAC地址,源IP地址,DSCP值)进行动态分配。
SDN控制器逻辑比较复杂,整个SDN控制的处理流程如图4所示。首先SDN控制器需要根据MAC地址信息,LLDP信息和流特征码计算流转发路径,然后SDN控制器从SDN流中,获取五元组信息。SDN控制器根据五元组信息查询隧道ID映射表,如果匹配,获得隧道ID,继续查询队列ID映射表,获得出队列和出端口。如果不匹配,根据五元组信息,生成隧道ID,并写入隧道ID映射表,然后根据转发路径和隧道ID生成队列ID映射表,最后需要向SDN交换机下发流表。
在本实施例中,所述基于SDN的支持QoS的通信隧道建立方法还包括:所述SDN交换机根据所述隧道ID,获得出队列和出端口,具体为:所述SDN交换机判断接收到的SDN流的格式是否是隧道报文,若是,则根据隧道ID匹配流表,获得出队列和出端口,若否,则根据五元组信息匹配流表,打上隧道ID,获得出队列和出端口。
具体地,SDN交换机的处理流程如图5所示,SDN交换机接收SDN流,首先需要匹配流表。如果不匹配,把SDN流提交给SDN控制器处理。如果匹配,需要判断SDN流的格式,如果是隧道报文,需要根据隧道ID匹配流表,获得出端口和出队列。如果不是隧道报文,需要根据报文的五元组信息匹配流表,打上隧道头,获得出端口和出队列。
在本实施例中,当原始报文经过入边界交换机的时候,需要打上隧道头,在内部交换机用隧道ID匹配流表进行转发。在出边界交换机的时候,需要剥离隧道头,整个报文格式如表2所示:
隧道头的格式如表3所示:
本发明测试步骤如下:
搭建如图6所示的测试环境;流量产生器A生成流量A(DSCP为1)和流量接收器B接收流量B(DSCP为63),S0~S4为SDN交换机;网络拥塞发生的时候,流量A无法转发,流量B可以正常转发。
为实现上述目的,本发明还提供一种基于SDN的支持QoS的通信隧道建立***,应用于包含SDN交换机和SDN控制器的通信网路中,如图7所示,所述基于SDN的支持QoS
的通信隧道建立***1包括:SDN交换机11和SDN控制器12,SDN交换机11分为边界SDN交换机和内部SDN交换机。在本实施例中,假定边界SDN交换机和内部SDN交换机的控制面都上移到SDN控制器12,边界SDN交换机和内部SDN交换机只保留数据面,蜕变成转发节点。
如图8所示,所述SDN交换机11包括:上报模块111,信息获取模块112和判断模块113。所述SDN控制器12包括转发路径获取模块121、隧道信息生成模块122和流表下发模块123。
本实施例的基于SDN的支持QoS的通信隧道建立***1是基于SDN架构的,隧道的建立是由SDN控制器12统一计算完成,收敛快速。如图2所示,本实施例的基于SDN的支持QoS的通信隧道建立方法根据SDN流的IP头的DSCP字段,建立隧道,并指明优先级队列,可以提供端到端的QoS服务。图2中,源A发送数据,建立私有隧道,优先级63,即报文DSCP为63,建立私有隧道,优先级1,即报文DSCP为1,目的B接收数据,S0~S4为SDN交换机11,SDN控制器12控制数据转发。
上报模块111用于将指定的MAC地址和未匹配流表的SDN流上报至SDN控制器12。也就是SDN交换机11将指定的MAC地址和未匹配流表的SDN流上报至SDN控制器12。具体地,在本实施例中,SDN交换机11增加或老化一条MAC地址信息,需立即上报给SDN控制器12,此外,SDN交换机11把未匹配流表的SDN流送往SDN控制器12。
转发路径获取模块121与所述上报模块111相连,用于根据所述MAC地址,所述SDN流的流特征码以及链路层发现协议获取所述SDN流的转发路径。也就是,SDN控制器12根据MAC地址信息,LLDP(链路层发现协议)信息,流特征码,计算流转发路径。
隧道信息生成模块122与所述转发路径获取模块121相连,用于根据所述SDN流的转发路径和SDN流的五元组信息生成表明所述五元组信息到隧道ID的映射关系的隧道ID映射表和表明隧道ID到出队列和出端口的映射关系的队列ID映射表,并生成对应的流表,其中所述隧道ID中指明了优先级队列。
私有的32bits的隧道ID的定义隐式地指明了优先级队列;私有的隧道ID映射表指明了五元组信息到隧道ID的映射关系。私有的队列ID映射表指明了隧道ID到出队列和出端口的映射关系。边界交换机根据私有的隧道ID映射表,打上隧道头,然后查询私有的队列ID映射表,获得出队列和出端口进行转发。内部交换机只需查询私有的队列ID映射表,获得出队列和出端口进行转发。
流表下发模块123与所述隧道信息生成模块122相连,用于向所述SDN交换机11下发所述流表,使得所述SDN流根据所述流表进行转发。
所述基于SDN的支持QoS的通信隧道建立***1还包括OF流表扩展模块13,用于在OF流表中扩展用于查询隧道ID映射表和队列ID映射表的所述SDN流的五元组信息的字段和所述隧道ID的字段。扩展OF流表定义如前面的表1所示。
所述SDN流的五元组信息包括:目的MAC地址、目的IP地址、源MAC地址、源IP地址以及DSCP值。
所述隧道ID包括用于区分优先级对应所述SDN流的DSCP值和根据SDN流的五元
组信息进行动态分配的ID号。具体地,私有的32bits的隧道ID包含两部分。一部分是队列id,对应流的DSCP值(0-63,0优先级最低,63优先级最高),同时也表明硬件队列,即:队列id=DSCP值=硬件队列。高24bits的ID根据流的五元组信息(目的MAC地址,目的IP地址,源MAC地址,源IP地址,DSCP值)进行动态分配。
信息获取模块112与所述流表下发模块123相连,用于根据所述隧道ID,获得出队列和出端口;判断模块113与所述流表下发模块123和所述信息获取模块112相连,用于判断接收到的SDN流的格式是否是隧道报文,若是,则所述信息获取模块112根据隧道ID匹配流表,获得出队列和出端口,若否,则所述信息获取模块112根据五元组信息匹配流表,打上隧道ID,获得出队列和出端口。
SDN控制器12逻辑比较复杂,整个SDN控制的处理流程如图4所示。首先SDN控制器12需要根据MAC地址信息,LLDP信息和流特征码计算流转发路径,然后SDN控制器12从SDN流中,获取五元组信息。SDN控制器12根据五元组信息查询隧道ID映射表,如果匹配,获得隧道ID,继续查询队列ID映射表,获得出队列和出端口。如果不匹配,根据五元组信息,生成隧道ID,并写入隧道ID映射表,然后根据转发路径和隧道ID生成队列ID映射表,最后需要向SDN交换机11下发流表。
具体地,SDN交换机11的处理流程如图5所示,SDN交换机11接收SDN流,首先需要匹配流表。如果不匹配,把SDN流提交给SDN控制器12处理。如果匹配,需要判断SDN流的格式,如果是隧道报文,需要根据隧道ID匹配流表,获得出端口和出队列。如果不是隧道报文,需要根据报文的五元组信息匹配流表,打上隧道头,获得出端口和出队列在本实施例中,当原始报文经过入边界交换机的时候,需要打上隧道头,在内部交换机用隧道ID匹配流表进行转发。在出边界交换机的时候,需要剥离隧道头,整个报文格式如前面的表2所示,隧道头的格式如前面的表3所示。
本发明测试步骤如下:
搭建如图6所示的测试环境;流量产生器A生成流量A(DSCP为1)和流量接收器B接收流量B(DSCP为63),S0~S4为SDN交换机;网络拥塞发生的时候,流量A无法转发,流量B可以正常转发。
综上所述,本发明是基于SDN架构,通信隧道的建立是由SDN控制器统一计算完成,并根据SDN流的IP头的DSCP字段,建立通信隧道,指明优先级队列,可以提供端到端的QoS服务。本发明具有较强的通用性和实用性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
- 一种基于SDN的支持QoS的通信隧道建立方法,应用于包含SDN交换机和SDN控制器的通信网路中,其特征在于:所述基于SDN的支持QoS的通信隧道建立方法包括:SDN交换机将指定的MAC地址和未匹配流表的SDN流上报至SDN控制器;所述SDN控制器根据所述MAC地址,所述SDN流的流特征码以及链路层发现协议获取所述SDN流的转发路径;所述SDN控制器根据所述SDN流的转发路径和SDN流的五元组信息生成表明所述五元组信息到隧道ID的映射关系的隧道ID映射表和表明隧道ID到出队列和出端口的映射关系的队列ID映射表,并生成对应的流表,其中所述隧道ID中指明了优先级队列;所述SDN控制器向所述SDN交换机下发所述流表,使得所述SDN流根据所述流表进行转发。
- 根据权利要求1所述的基于SDN的支持QoS的通信隧道建立方法,其特征在于:所述基于SDN的支持QoS的通信隧道建立方法还包括:在OF流表中扩展用于查询隧道ID映射表和队列ID映射表的所述SDN流的五元组信息的字段和所述隧道ID的字段。
- 根据权利要求1或2所述的基于SDN的支持QoS的通信隧道建立方法,其特征在于:所述SDN流的五元组信息包括:目的MAC地址、目的IP地址、源MAC地址、源IP地址以及DSCP值。
- 根据权利要求1或2所述的基于SDN的支持QoS的通信隧道建立方法,其特征在于:所述隧道ID包括用于区分优先级对应所述SDN流的DSCP值和根据SDN流的五元组信息进行动态分配的ID号。
- 根据权利要求1所述的基于SDN的支持QoS的通信隧道建立方法,其特征在于:所述基于SDN的支持QoS的通信隧道建立方法还包括:所述SDN交换机根据所述隧道ID,获得出队列和出端口,具体为:所述SDN交换机判断接收到的SDN流的格式是否是隧道报文,若是,则根据隧道ID匹配流表,获得出队列和出端口,若否,则根据五元组信息匹配流表,打上隧道ID,获得出队列和出端口。
- 一种基于SDN的支持QoS的通信隧道建立***,应用于包含SDN交换机和SDN控制器的通信网路中,其特征在于:所述基于SDN的支持QoS的通信隧道建立***包括:SDN交换机,包括:上报模块,用于将指定的MAC地址和未匹配流表的SDN流上报至SDN控制器;SDN控制器,与所述SDN交换机相连,包括:转发路径获取模块,与所述上报模块相连,用于根据所述MAC地址,所述SDN流的流特征码以及链路层发现协议获取所述SDN流的转发路径;隧道信息生成模块,与所述转发路径获取模块相连,用于根据所述SDN流的转发路径和SDN流的五元组信息生成表明所述五元组信息到隧道ID的映射关系的隧道ID映射表和表明隧道ID到出队列和出端口的映射关系的队列ID映射表,并生成对应的流表,其中所述隧道ID中指明了优先级队列;流表下发模块,与所述隧道信息生成模块相连,用于向所述SDN交换机下发所述流表, 使得所述SDN流根据所述流表进行转发。
- 根据权利要求6所述的基于SDN的支持QoS的通信隧道建立***,其特征在于:所述基于SDN的支持QoS的通信隧道建立***还包括OF流表扩展模块,用于在OF流表中扩展用于查询隧道ID映射表和队列ID映射表的所述SDN流的五元组信息的字段和所述隧道ID的字段。
- 根据权利要求6或7所述的基于SDN的支持QoS的通信隧道建立***,其特征在于:所述SDN流的五元组信息包括:目的MAC地址、目的IP地址、源MAC地址、源IP地址以及DSCP值。
- 根据权利要求6或7所述的基于SDN的支持QoS的通信隧道建立***,其特征在于:所述隧道ID包括用于区分优先级对应所述SDN流的DSCP值和根据SDN流的五元组信息进行动态分配的ID号。
- 根据权利要求6所述的基于SDN的支持QoS的通信隧道建立***,其特征在于:所述SDN交换机还包括:与所述流表下发模块相连的信息获取模块,用于根据所述隧道ID,获得出队列和出端口;与所述流表下发模块和所述信息获取模块相连的判断模块,用于判断接收到的SDN流的格式是否是隧道报文,若是,则所述信息获取模块根据隧道ID匹配流表,获得出队列和出端口,若否,则所述信息获取模块根据五元组信息匹配流表,打上隧道ID,获得出队列和出端口。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/579,940 US20180227225A1 (en) | 2015-07-28 | 2016-04-05 | Sdn-based qos-supported communication tunnel establishment method and system |
EP15899458.2A EP3301859A4 (en) | 2015-07-28 | 2016-04-05 | Sdn-based qos-supported communications tunnel establishment method and system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510451942.6A CN104954226A (zh) | 2015-07-28 | 2015-07-28 | 一种基于SDN的支持QoS的通信隧道建立方法及*** |
CN2015104519426 | 2015-07-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017016106A1 true WO2017016106A1 (zh) | 2017-02-02 |
Family
ID=54168598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2015/095160 WO2017016106A1 (zh) | 2015-07-28 | 2016-04-05 | 一种基于SDN的支持QoS的通信隧道建立方法及*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180227225A1 (zh) |
EP (1) | EP3301859A4 (zh) |
CN (1) | CN104954226A (zh) |
WO (1) | WO2017016106A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109756359A (zh) * | 2017-11-06 | 2019-05-14 | 财团法人工业技术研究院 | 自动初始化网络装置的方法及远程服务器及网络*** |
CN111600793A (zh) * | 2020-03-31 | 2020-08-28 | 新华三信息安全技术有限公司 | 一种报文转发方法和装置 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954226A (zh) * | 2015-07-28 | 2015-09-30 | 上海斐讯数据通信技术有限公司 | 一种基于SDN的支持QoS的通信隧道建立方法及*** |
CN105376158B (zh) * | 2015-10-12 | 2018-04-27 | 上海斐讯数据通信技术有限公司 | 基于mpls报文中exp值的sdn流转方法及其装置 |
WO2017066966A1 (en) * | 2015-10-22 | 2017-04-27 | Oracle International Corporation | System and method for providing mssq notifications in transactional processing environment |
CN105450447B (zh) * | 2015-11-17 | 2018-05-18 | 上海斐讯数据通信技术有限公司 | 一种网络***及网络运行方法 |
CN105656751A (zh) * | 2016-02-16 | 2016-06-08 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的二层隧道建立方法和*** |
CN105791113B (zh) * | 2016-02-25 | 2019-11-29 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的多链路时延均衡方法和*** |
CN105681102A (zh) * | 2016-03-01 | 2016-06-15 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的行为策略方法和*** |
CN107968751B (zh) * | 2016-10-20 | 2021-01-19 | 中兴通讯股份有限公司 | 一种信息处理方法及装置 |
CN106789640A (zh) * | 2016-11-10 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的优先级分类方法、装置和*** |
CN106789179B (zh) * | 2016-11-30 | 2019-07-09 | 中国人民解放军国防科学技术大学 | 一种基于sdn架构的资源分配方法 |
TWI643478B (zh) * | 2016-12-15 | 2018-12-01 | 新加坡商雲網科技新加坡有限公司 | Sdn控制器及網路服務動態部署系統及方法 |
CN108471629B (zh) * | 2017-02-23 | 2021-04-20 | 华为技术有限公司 | 传输网络中业务服务质量的控制方法、设备及*** |
CN107181663A (zh) * | 2017-06-28 | 2017-09-19 | 联想(北京)有限公司 | 一种报文处理方法、相关设备及计算机可读存储介质 |
US10541928B2 (en) * | 2018-01-18 | 2020-01-21 | Vmware, Inc. | Policy aware framework for application input output management |
CN109831393B (zh) * | 2019-03-10 | 2022-01-11 | 西安电子科技大学 | 面向网络虚拟化的多粒度QoS控制方法 |
CN110380900B (zh) * | 2019-07-12 | 2022-03-08 | 中国电信集团工会上海市委员会 | 一种基于sdn的网络配置*** |
CN110493146B (zh) * | 2019-08-12 | 2023-11-07 | 广东电网有限责任公司 | 一种边缘智能网络感知平台及控制方法 |
CN112436990B (zh) * | 2020-10-12 | 2022-06-07 | 网络通信与安全紫金山实验室 | 一种数据转发方法、设备以及计算机可读存储介质 |
CN112311697B (zh) * | 2020-10-26 | 2022-05-24 | 新华三大数据技术有限公司 | 一种路径配置方法及装置 |
CN112737965B (zh) * | 2020-12-31 | 2022-12-23 | 网络通信与安全紫金山实验室 | 解决并发访问网元受限问题的方法、***及计算机可读存储介质 |
CN115225333B (zh) * | 2022-06-23 | 2023-05-12 | 中国电子科技集团公司第三十研究所 | 一种基于软件定义的tsn加密方法及*** |
CN115174403B (zh) * | 2022-07-02 | 2024-03-12 | 华北电力大学 | 低碳园区多模态通信网络资源调度与路由管理方法及装置 |
CN115842793A (zh) * | 2022-11-16 | 2023-03-24 | 深圳市丰润达科技有限公司 | 三层交换机的路由转发方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724713A (zh) * | 2011-03-30 | 2012-10-10 | 华为技术有限公司 | 数据包传输方法和相关装置 |
CN104702479A (zh) * | 2015-03-10 | 2015-06-10 | 杭州华三通信技术有限公司 | Sdn网络中建立隧道的方法和装置 |
CN104954226A (zh) * | 2015-07-28 | 2015-09-30 | 上海斐讯数据通信技术有限公司 | 一种基于SDN的支持QoS的通信隧道建立方法及*** |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7050396B1 (en) * | 2000-11-30 | 2006-05-23 | Cisco Technology, Inc. | Method and apparatus for automatically establishing bi-directional differentiated services treatment of flows in a network |
US7047536B1 (en) * | 2000-12-29 | 2006-05-16 | Nortel Networks Ltd | Method and apparatus for classifying remote procedure call transport traffic |
US8339959B1 (en) * | 2008-05-20 | 2012-12-25 | Juniper Networks, Inc. | Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane |
US8761187B2 (en) * | 2011-06-14 | 2014-06-24 | Futurewei Technologies, Inc. | System and method for an in-server virtual switch |
AU2012296330B2 (en) * | 2011-08-17 | 2016-03-17 | Nicira, Inc. | Hierarchical controller clusters for interconnecting different logical domains |
US9167501B2 (en) * | 2011-08-29 | 2015-10-20 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3G packet core in a cloud computer with openflow data and control planes |
JPWO2014123194A1 (ja) * | 2013-02-07 | 2017-02-02 | 日本電気株式会社 | 通信システム、制御装置、通信制御方法およびプログラム |
US9917781B2 (en) * | 2014-06-05 | 2018-03-13 | KEMP Technologies Inc. | Methods for intelligent data traffic steering |
US9680588B2 (en) * | 2014-06-11 | 2017-06-13 | Ciena Corporation | OTN switching systems and methods using an SDN controller and match/action rules |
CN104301251B (zh) * | 2014-09-22 | 2018-04-27 | 新华三技术有限公司 | 一种QoS处理方法、***及设备 |
CN104243270B (zh) * | 2014-09-25 | 2017-11-24 | 新华三技术有限公司 | 一种建立隧道的方法和装置 |
CN104283785B (zh) * | 2014-10-29 | 2018-11-27 | 新华三技术有限公司 | 一种快速处理流表的方法和装置 |
CN104468384B (zh) * | 2014-12-22 | 2018-01-30 | 武汉绿色网络信息服务有限责任公司 | 一种实现多业务优先级的***及方法 |
CN104486246B (zh) * | 2014-12-23 | 2018-05-01 | 上海斐讯数据通信技术有限公司 | 一种基于SDN架构的VXLAN的QoS机制实现方法 |
-
2015
- 2015-07-28 CN CN201510451942.6A patent/CN104954226A/zh active Pending
-
2016
- 2016-04-05 US US15/579,940 patent/US20180227225A1/en not_active Abandoned
- 2016-04-05 WO PCT/CN2015/095160 patent/WO2017016106A1/zh active Application Filing
- 2016-04-05 EP EP15899458.2A patent/EP3301859A4/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724713A (zh) * | 2011-03-30 | 2012-10-10 | 华为技术有限公司 | 数据包传输方法和相关装置 |
CN104702479A (zh) * | 2015-03-10 | 2015-06-10 | 杭州华三通信技术有限公司 | Sdn网络中建立隧道的方法和装置 |
CN104954226A (zh) * | 2015-07-28 | 2015-09-30 | 上海斐讯数据通信技术有限公司 | 一种基于SDN的支持QoS的通信隧道建立方法及*** |
Non-Patent Citations (1)
Title |
---|
See also references of EP3301859A4 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109756359A (zh) * | 2017-11-06 | 2019-05-14 | 财团法人工业技术研究院 | 自动初始化网络装置的方法及远程服务器及网络*** |
CN109756359B (zh) * | 2017-11-06 | 2021-08-10 | 财团法人工业技术研究院 | 自动初始化网络装置的方法及远程服务器及网络*** |
CN111600793A (zh) * | 2020-03-31 | 2020-08-28 | 新华三信息安全技术有限公司 | 一种报文转发方法和装置 |
CN111600793B (zh) * | 2020-03-31 | 2022-07-12 | 新华三信息安全技术有限公司 | 一种报文转发方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3301859A4 (en) | 2018-05-23 |
EP3301859A1 (en) | 2018-04-04 |
CN104954226A (zh) | 2015-09-30 |
US20180227225A1 (en) | 2018-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017016106A1 (zh) | 一种基于SDN的支持QoS的通信隧道建立方法及*** | |
US9167501B2 (en) | Implementing a 3G packet core in a cloud computer with openflow data and control planes | |
US10097372B2 (en) | Method for resource optimized network virtualization overlay transport in virtualized data center environments | |
US9497661B2 (en) | Implementing EPC in a cloud computer with openflow data plane | |
US9197568B2 (en) | Method for providing quality of service in software-defined networking based network and apparatus using the same | |
EP2831733B1 (en) | Implementing epc in a cloud computer with openflow data plane | |
EP3140964B1 (en) | Implementing a 3g packet core in a cloud computer with openflow data and control planes | |
US7903553B2 (en) | Method, apparatus, edge router and system for providing QoS guarantee | |
CN104283756B (zh) | 一种实现分布式多租户虚拟网络的方法和装置 | |
WO2021043181A1 (zh) | 一种数据传输方法及装置 | |
WO2019184752A1 (zh) | 网络设备的管理方法、装置及*** | |
EP2713567A1 (en) | Maintaining load balancing after service application with a netwok device | |
US9762493B2 (en) | Link aggregation (LAG) information exchange protocol | |
WO2018153221A1 (zh) | 传输网络中业务服务质量的控制方法、设备及*** | |
WO2015109821A1 (zh) | 一种管理业务链的方法、***及装置 | |
US20170155582A1 (en) | Method and Apparatus for Processing Modified Packet | |
CN107454000B (zh) | 网络数据传输装置及方法 | |
KR20140052847A (ko) | 소프트웨어 정의 네트워킹 기반 네트워크에서 서비스 품질 제공 방법 및 그 장치 | |
WO2016177058A1 (zh) | 数据流调度方法及装置 | |
WO2012142753A1 (zh) | Ip承载网性能监控的方法及设备 | |
WO2015135284A1 (zh) | 数据流转发的控制方法及***、计算机存储介质 | |
Kao et al. | An effective routing mechanism for link congestion avoidance in software-defined networking | |
WO2015024523A1 (zh) | 确定ip承载网故障的方法和*** | |
Jain | OpenFlow, software defined networking (SDN) and network function virtualization (NFV) | |
WO2019119836A1 (zh) | 报文处理的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15899458 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15579940 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2015899458 Country of ref document: EP |