CN108667728B - Software defined network routing method based on flow table entry multiplexing mechanism - Google Patents

Software defined network routing method based on flow table entry multiplexing mechanism Download PDF

Info

Publication number
CN108667728B
CN108667728B CN201810399263.2A CN201810399263A CN108667728B CN 108667728 B CN108667728 B CN 108667728B CN 201810399263 A CN201810399263 A CN 201810399263A CN 108667728 B CN108667728 B CN 108667728B
Authority
CN
China
Prior art keywords
current
path
latest
current optimization
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810399263.2A
Other languages
Chinese (zh)
Other versions
CN108667728A (en
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201810399263.2A priority Critical patent/CN108667728B/en
Publication of CN108667728A publication Critical patent/CN108667728A/en
Application granted granted Critical
Publication of CN108667728B publication Critical patent/CN108667728B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Abstract

The invention discloses a software defined network routing method based on a flow table item multiplexing mechanism, which comprises the following steps: s1, starting a processing thread; s2, selecting a working path; s3, selecting a next target working path; s4, calculating a current optimization target and a next optimization target; s5, generating an exponential distribution timer and starting countdown; s6, judging whether reset information is received; s7, updating the latest feasible solution and the latest current optimization target; s8: judging whether the countdown is finished or not; s9, recording the current optimization target and the duration of the current optimization target; s10, obtaining the latest feasible solution and the latest current optimization target, broadcasting reset information and resetting a timer; and S11, judging whether all the current optimization targets are stably converged to the latest current optimization target. The invention solves the problems of insufficient flow aggregation capability, easy link congestion and low service quality caused by long-distance flow in the prior art.

Description

Software defined network routing method based on flow table entry multiplexing mechanism
Technical Field
The invention belongs to the technical field of software defined networks, and particularly relates to a software defined network routing method based on a flow table item multiplexing mechanism
Background
With the high-speed development of the internet, the scale of a traditional network is continuously enlarged, the problems of the internet in the aspects of service quality assurance, safety, high-efficiency management and control capability and the like are increasingly prominent, and a Software-defined network (SDN) is used as a novel network architecture for configuring flow table entries in a switch to forward flow, has the characteristics of flexible structure, centralized configuration and rapid network service deployment, and can well solve the problems. The control layer of the SDN is separated from the forwarding layer, the implementation of the forwarding layer depends on flow table entries uniformly configured for the control layer, and the flow table entries are stored in a Ternary Content Addressable Memory (TCAM) in the SDN switch, and the TCAM supports high-speed parallel search in a wildcard mode. However, although TCAM performs well in packet processing, it is expensive and power intensive in hardware. For this reason, how to minimize the number of flow entries while processing flows in the network becomes a very valuable issue.
The current methods for reducing Flow table entry are office and Flow Aggregation (FA):
the office presets a default path for all streams from the same source. The flow is then deflected from the default path to its destination according to the deflection policy.
In the FA, all flows arriving at the same destination are routed over the existing path to aggregate the flow entry.
The prior art has the following problems:
(1) the drawback of office is that the traffic is concentrated on the default path, the link is easily congested, and the deflection on the default path easily causes traffic to be far away, resulting in degradation of quality of service QoS, and thus causing serious network delay and congestion. In addition, only flows that traverse the default path can actually be aggregated, also limiting the aggregation capability of the flows.
(1) In the FA, because the FA is a tree-based route, nodes and links that do not belong to the tree are not available, which also causes links to be easily congested and traffic may be far away so that quality of service QoS is degraded, thereby causing network delay and congestion to be severe.
In summary, the prior art has the problems of insufficient flow aggregation capability, easy link congestion and low service quality caused by traffic wandering.
Disclosure of Invention
Aiming at the defects in the prior art, the invention provides a software defined network routing method based on a flow table item multiplexing mechanism, which has the advantages of flow table item quantity reduction, high survivability, smooth link and high service quality, and solves the problems of insufficient flow aggregation capability, easy link congestion and low service quality caused by far flow in the prior art.
In order to achieve the purpose of the invention, the invention adopts the technical scheme that:
a software defined network routing method based on a flow table entry multiplexing mechanism comprises the following steps:
s1: starting a corresponding processing thread aiming at each service flow in the software defined network, and selecting an alternative path for the service flow in the software defined network;
s2: according to a flow table item multiplexing mechanism, each thread randomly selects an available path from the alternative paths to serve as a current working path of the corresponding service flow; then, calculating a current optimization target according to a feasible solution consisting of the current working path;
s3: randomly selecting an available and unoccupied path from the alternative paths as a next target working path;
s4: calculating a next optimization target according to a next target solution consisting of a next target working path;
s5: generating an exponentially distributed timer and starting to count down;
s6: judging whether reset information is received, if so, turning to the step S7, otherwise, turning to the step S8;
s7: updating the latest feasible solution and the latest current optimization target according to the broadcasted reset information, keeping the next target working path unchanged, and entering the step S4;
s8: judging whether the countdown is finished, if so, turning to the step S9, otherwise, turning to the step S6;
s9: recording the current optimization target and the duration thereof, and entering step S11;
s10: assigning the next target working path to the current working path to obtain the latest current working path, combining to obtain the latest feasible solution, assigning the next optimization target to the current optimization target to obtain the latest current optimization target, broadcasting reset information and resetting a timer, and entering step S3;
s11: and combining all the current optimization targets obtained in the step S9, judging whether all the current optimization targets are stably converged to the latest current optimization target by a mapping analysis method according to the duration, if so, taking the latest feasible solution corresponding to the latest current optimization target as an optimal routing scheme, and ending routing, otherwise, entering a step S10.
Further, in step S2, the flow table entry multiplexing mechanism uses multiple traffic flows passing through the same path as an aggregated traffic flow, and uses the coding of the virtual local area network as a forwarding label.
Further, in step S2, each thread randomly selects another available path from the alternative paths as the current backup path of the corresponding traffic flow.
Further, in step S3, another available and unoccupied path is randomly selected as the next backup path.
Further, in step S4, the current optimization target is the total number of flow entries in the current network corresponding to the currently feasible solution, and the next optimization target is the total number of flow entries in the next network corresponding to the next target solution.
Further, in step S5, the calculation formula of the average value of the timer is:
Tf=(1/|AP|)exp(τ-(1/2)β(ucf-ucf'))
in the formula, TfIs the average value of the timer; AP is the path length; u. ofcfIs the current optimization objective; u. ofcf' is the next optimization objective,. tau.is the overflow prevention constant, and β is a trade-off factor.
Further, in step S10, the reset information includes the latest feasible solution and the latest current optimization goal.
The beneficial effect of this scheme does:
the method can further reduce the total number of flow table entries and has better network performance, a plurality of service flows passing through the same path are aggregated into one by using the VLAN ID as a tag, the number of the flow table entries is reduced, the service flows can be aggregated at any time and can be decoupled at any time, the flow aggregation capability is improved, the practicability and the survivability of the software defined network are further improved, the multiplexing mechanism of the flow table entries in the method is applied to the protection path of the software defined network, and the number of spare flow table entries can be reduced; the method effectively expands the range of service flow aggregation, greatly compresses the number of required working and standby flow table items, thereby reducing the number of required memories in the software defined network switch, keeping the smooth of links in the software defined network, avoiding traffic from being far away and improving the service quality of the software defined network.
Drawings
FIG. 1 is a flow chart of a software defined network routing method based on a flow table entry multiplexing mechanism;
FIG. 2 is a schematic diagram of an embodiment of a flow entry multiplexing mechanism;
fig. 3 is a schematic diagram of an embodiment of software-defined network routing based on a flow table entry multiplexing mechanism.
Detailed Description
The following description of the embodiments of the present invention is provided to facilitate the understanding of the present invention by those skilled in the art, but it should be understood that the present invention is not limited to the scope of the embodiments, and it will be apparent to those skilled in the art that various changes may be made without departing from the spirit and scope of the invention as defined and defined in the appended claims, and all matters produced by the invention using the inventive concept are protected.
In the embodiment of the present invention, a software-defined network routing method based on a flow table entry multiplexing mechanism, as shown in fig. 1, includes the following steps:
s1: starting a corresponding processing thread aiming at each service flow in the software defined network, and selecting a plurality of alternative paths for the flow in the software defined network;
s2: according to a flow table item multiplexing mechanism, a plurality of service flows passing through the same path are used as an aggregated service flow, and the code of a virtual local area network is used as a forwarding label; randomly selecting an available path from the alternative paths by each thread to serve as a current working path of the corresponding service flow, and calculating a current optimization target according to a feasible solution consisting of the current working path; each thread randomly selects another available path from the alternative paths as a current backup path of the corresponding service flow;
s3: randomly selecting an available and unoccupied path from the alternative paths as a next target working path; randomly selecting another available and unoccupied path as a next backup path;
s4: calculating a current optimization target according to a feasible solution formed by the current working path selected by each service flow, and calculating a next optimization target according to a next target solution formed by a next target working path; the current optimization target is the total number of flow table items in the current network corresponding to the current feasible solution, and the next optimization target is the total number of flow table items corresponding to the next target solution formed by the next target working paths of all the service flows after only the working path of the service flow corresponding to the thread is changed into the next target path;
s5: generating an exponentially distributed timer and starting to count down;
the average value of the timer is calculated by the formula:
Tf=(1/|AP|)exp(τ-(1/2)β(ucf-ucf'))
in the formula, TfIs the average value of the timer; AP is the path length; u. ofcfIs the current optimization objective; u. ofcf' is next optimization objective, [ tau ] is overflow prevention constant, [ β ] is a trade-off factor;
s6: judging whether reset information is received, if so, turning to the step S7, otherwise, turning to the step S8;
s7: updating the latest feasible solution and the latest current optimization target according to the broadcasted reset information, keeping the next target working path unchanged, and entering the step S4;
s8: judging whether the countdown is finished, if so, turning to the step S9, otherwise, turning to the step S6;
s9: recording the current optimization target and the duration thereof, and entering step S11;
s10: assigning the next target working path to the current working path to obtain the latest current working path, combining to obtain the latest feasible solution, assigning the next optimization target to the current optimization target to obtain the latest current optimization target, broadcasting reset information and resetting a timer, wherein the reset information comprises the latest feasible solution and the latest current optimization target, and entering step S3;
s11: and combining all the current optimization targets obtained in the step S9, judging whether all the current optimization targets are stably converged to the current optimization targets through a mapping analysis method according to the duration, if so, taking the latest feasible solution corresponding to the latest current optimization target as an optimal routing scheme, and ending routing, otherwise, entering a step S10.
In the embodiment of the present invention, as shown in fig. 2, there are 3 service flows in the network: h1-h4, h2-h6 and h3-h 5. Path A-B-C-D is defined as the Multiplex Segment (MS). Since the three traffic streams all pass through the multiplex section, they can be aggregated into one traffic stream on the multiplex section. In a standard matching field of the SDN, an encoded VLAN ID of one of the virtual local area networks is selected as a tag of the aggregated traffic flow (the VLAN ID value is set to 2), and the priority of this traffic flow entry is set to Low. Commercial-type software defined network SDN switches, such as Pica 8 switches, always support the operation of setting VLAN IDs for traffic flows. In fact, any VLAN ID value may be used as a tag for the aggregate traffic flow as long as this VLAN ID value is not used in the network. Since the central controller can keep track of the information of all traffic flows in the network, it is easy to find a suitable VLAN ID value. The priority of the aggregated service flow table entry is lower than that of a normal service flow table entry (the matching domain is source destination address matching), so that the service flows can be aggregated or deaggregated flexibly on the multiplexing section. As can be seen from fig. 2, the service flow entry multiplexing method significantly reduces the number of service flow entries.
The protection mechanism of the software defined network SDN can guarantee the survivability of traffic flow to link failure. Backup service flow table entries are always configured in advance in the network in the protection mechanism of the SDN. Therefore, after the link failure occurs, the switch will automatically divert the affected traffic to the backup path without recalculating the restoration path through the controller and issuing the corresponding traffic entry to the switch. However, with this method, a large amount of space for backup traffic flow entries needs to be reserved in the network, which may exceed the resource limit of the TCAM memory.
As shown in fig. 3, the method for multiplexing the service flow table entry is extended to SDN protection. Assume that there is a multiplexed segment a-B-C-D (VLAN ID value 2) in the network. The backup paths for traffic flows h3-h7 are aggregated at switch B and de-aggregated at switch D. By using the method of multiplexing the service flow table entry, backup service flow table entries are not needed to be installed on the switch B and the switch C.
The method can further reduce the total number of flow table entries and has better network performance, a plurality of service flows passing through the same path are aggregated into one by using the coded VLAN ID of the virtual local area network as a tag, the number of the flow table entries is reduced, the service flows can be aggregated at any time and can be decoupled at any time, the practicability and the survivability of the software defined network are improved, and the number of standby flow table entries can be reduced in a protection path of the software defined network; the method effectively expands the range of service flow aggregation, greatly compresses the number of required working and standby flow table items, thereby reducing the number of required memories in the software defined network switch, and can keep the smooth of links in the software defined network, thereby improving the service quality of the software defined network; the problems of insufficient flow aggregation capability, easy link congestion and low service quality caused by far flow existing in the prior art are solved.

Claims (6)

1. A software defined network routing method based on a flow table entry multiplexing mechanism is characterized by comprising the following steps:
s1: starting a corresponding processing thread aiming at each service flow in the software defined network, and selecting an alternative path for the service flow in the software defined network;
s2: according to a flow table item multiplexing mechanism, each thread randomly selects an available path from the alternative paths to serve as a current working path of the corresponding service flow; then, calculating a current optimization target according to a feasible solution consisting of the current working path;
s3: randomly selecting an available and unoccupied path from the alternative paths as a next target working path;
s4: calculating a next optimization target according to a next target solution consisting of a next target working path;
s5: generating an exponentially distributed timer and starting to count down;
s6: judging whether reset information is received, if so, turning to the step S7, otherwise, turning to the step S8;
s7: updating the latest feasible solution and the latest current optimization target according to the broadcasted reset information, keeping the next target working path unchanged, and entering the step S4;
s8: judging whether the countdown is finished, if so, turning to the step S9, otherwise, turning to the step S6;
s9: recording the current optimization target and the duration thereof, and entering step S11;
s10: assigning the next target working path to the current working path to obtain the latest current working path, combining to obtain the latest feasible solution, assigning the next optimization target to the current optimization target to obtain the latest current optimization target, broadcasting reset information and resetting a timer, and entering step S3;
s11: combining all the current optimization targets obtained in the step S9, judging whether all the current optimization targets are stably converged to the latest current optimization target or not through a mapping analysis method according to the duration, if so, taking the latest feasible solution corresponding to the latest current optimization target as an optimal routing scheme, and finishing routing, otherwise, entering a step S10;
in step S2, the flow table entry multiplexing mechanism uses multiple service flows passing through the same path as an aggregated service flow, and uses the code of the virtual local area network as a forwarding label.
2. The method as claimed in claim 1, wherein in step S2, each thread randomly selects another available path from the alternative paths as the current backup path of the corresponding traffic flow.
3. The method as claimed in claim 1, wherein in step S3, another available and unoccupied path is randomly selected as the next backup path.
4. The method as claimed in claim 1, wherein in step S4, the current optimization goal is a total number of flow entries in the current network corresponding to the current feasible solution, and the next optimization goal is a total number of next flow entries corresponding to the next target solution.
5. The method for software-defined network routing based on flow entry multiplexing mechanism as claimed in claim 1, wherein in step S5, the calculation formula of the average value of the timer is:
Tf=(1/|AP|)exp(τ-(1/2)β(ucf-ucf'))
in the formula, TfIs the average value of the timer; AP is the path length; u. ofcfIs the current optimization objective; u. ofcf'For the next optimization objective,. tau.is the overflow prevention constant, and β is a trade-off factor.
6. The method as claimed in claim 1, wherein in step S10, the reset information includes the latest feasible solution and the latest current optimization goal.
CN201810399263.2A 2018-04-28 2018-04-28 Software defined network routing method based on flow table entry multiplexing mechanism Active CN108667728B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810399263.2A CN108667728B (en) 2018-04-28 2018-04-28 Software defined network routing method based on flow table entry multiplexing mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810399263.2A CN108667728B (en) 2018-04-28 2018-04-28 Software defined network routing method based on flow table entry multiplexing mechanism

Publications (2)

Publication Number Publication Date
CN108667728A CN108667728A (en) 2018-10-16
CN108667728B true CN108667728B (en) 2020-09-22

Family

ID=63780363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810399263.2A Active CN108667728B (en) 2018-04-28 2018-04-28 Software defined network routing method based on flow table entry multiplexing mechanism

Country Status (1)

Country Link
CN (1) CN108667728B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112448862B (en) * 2019-09-05 2022-08-30 中国移动通信有限公司研究院 Traffic processing method, device and equipment and computer readable storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103368851A (en) * 2013-07-22 2013-10-23 武汉烽火网络有限责任公司 Openflow flow table storage and optimization method based on resource reuse
CN106656809A (en) * 2015-11-03 2017-05-10 中国电信股份有限公司 Flow table aggregation method, controller, network element and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9419874B2 (en) * 2014-03-27 2016-08-16 Nicira, Inc. Packet tracing in a software-defined networking environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103368851A (en) * 2013-07-22 2013-10-23 武汉烽火网络有限责任公司 Openflow flow table storage and optimization method based on resource reuse
CN106656809A (en) * 2015-11-03 2017-05-10 中国电信股份有限公司 Flow table aggregation method, controller, network element and system

Also Published As

Publication number Publication date
CN108667728A (en) 2018-10-16

Similar Documents

Publication Publication Date Title
US7443856B2 (en) Managing processing utilization in a network node
US7343423B2 (en) Enhanced switchover for MPLS fast reroute
US7826369B2 (en) Subsets of the forward information base (FIB) distributed among line cards in a switching device
CN101447929B (en) Traffic routing method, router and communication system
US20030137978A1 (en) Method and apparatus for composing virtual links in a label switched network
US8040901B1 (en) Packet queueing within ring networks
US8699484B2 (en) Methods and apparatus to route packets in a network
US9800499B2 (en) Ethernet switch and method for routing Ethernet data packets
CN111385206A (en) Message forwarding method, network system, related equipment and computer storage medium
US9025601B2 (en) Forwarding ASIC general egress multicast filter method
JP2001197118A (en) Device and method for repeating datagram
KR20060048725A (en) Method and apparatus providing rapid end-to end failover in a packet switched communications network
US7496096B1 (en) Method and system for defining hardware routing paths for networks having IP and MPLS paths
US9407496B2 (en) Method and apparatus for path switching
US20230033298A1 (en) Routing method, routing device and computer-readable storage medium
US10924384B2 (en) Traffic engineering for border gateway protocol
WO2003010923A2 (en) Apparatus and method for establishing tunnel routes to protect paths established in a data network
CN108667728B (en) Software defined network routing method based on flow table entry multiplexing mechanism
US20180227207A1 (en) Soft constrained shortest-path tunneling
US7647425B2 (en) Efficient intra-domain routing in packet-switched networks
CN113259234B (en) Path protection method, node device, controller and storage medium
EP2640016B1 (en) Tunnel multiplexing method for linear protection group and tail-node of tunnel
CN114024969A (en) Load balancing method, device and system
FI124398B (en) Method and apparatus for determining implementation of a search table for a network element of software-defined network
CN114401222A (en) Data forwarding method and device based on policy routing and storage medium

Legal Events

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