CN108768848B - Segmented routing method and device - Google Patents

Segmented routing method and device Download PDF

Info

Publication number
CN108768848B
CN108768848B CN201811027995.5A CN201811027995A CN108768848B CN 108768848 B CN108768848 B CN 108768848B CN 201811027995 A CN201811027995 A CN 201811027995A CN 108768848 B CN108768848 B CN 108768848B
Authority
CN
China
Prior art keywords
path
forwarding
port
switch
segment
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
CN201811027995.5A
Other languages
Chinese (zh)
Other versions
CN108768848A (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201811027995.5A priority Critical patent/CN108768848B/en
Publication of CN108768848A publication Critical patent/CN108768848A/en
Application granted granted Critical
Publication of CN108768848B publication Critical patent/CN108768848B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Abstract

The embodiment of the invention provides a segmented routing method and a device, wherein the method divides a first port sequence into a plurality of forwarding sub-segment paths and a second port sequence, and generates a flow table item exchanged by each forwarding sub-segment path by using the second port sequence; sending each flow table entry to a head switch of each forwarding sub-segment path in a one-to-one correspondence manner; and replacing the network address field of the packet head in the stream with a second port sequence of the forwarding sub-path according to the stream table entry of each head switch, forwarding according to the sequence of each forwarding sub-path, and recovering the network address field of the packet head when the stream packet reaches the terminal of the first port sequence. The embodiment of the invention is compatible with a typical forwarding mode, and the interaction times of the controller and the switch can be reduced by applying the embodiment of the invention, so that the processing capacity of the controller is reduced.

Description

Segmented routing method and device
Technical Field
The present invention relates to the field of computer network technologies, and in particular, to a segment routing method and apparatus.
Background
With the rapid development of computer network technology, policy-based flow routing and flexible packet (packet) forwarding control methods have attracted extensive attention. But fine-grained and flexible flow forwarding causes the switch to have to maintain a large amount of flow table information, which causes the administrator to have to develop application techniques to reduce the network state information that the switch needs to maintain.
Based on the above situation, various flow convergence technologies, such as tunnel, are currently developed and applied in the core network. Although the existing tunnel method reduces the number of flow state maintenance in the core network, the tunnel makes flows with different service requirements have to be aggregated to the same tunnel, thereby making the network service quality become coarse-grained control.
Disclosure of Invention
The embodiment of the invention aims to provide a segmented routing method and a segmented routing device, which can realize low-cost fine-grained control on network service quality. The specific technical scheme is as follows:
a segmented routing method is applied to a controller, and comprises the following steps:
generating a forwarding path of the flow by using a preset routing strategy according to the flow path service request sent by the inlet switch, and generating a forwarding port sequence of the path switch as a first port sequence; the flow path service request is a request for selecting a path for a flow;
dividing the first port sequence into a plurality of forwarding sub-segment paths, and generating a forwarding port sequence corresponding to each forwarding sub-segment path as a second port sequence, wherein a last switch of one forwarding sub-segment path is also a first switch of a next forwarding sub-segment path in the adjacent forwarding sub-segment path;
generating a flow table item exchanged by each forwarding sub-section path by using a second port sequence corresponding to each forwarding sub-section path and the number of switches contained in each forwarding sub-section path;
sending response information to the entrance switch, and issuing each flow table entry to the head switch of each forwarding sub-segment path in a one-to-one correspondence manner; and forwarding the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch, recovering a packet header network address field in the stream at a path outlet switch, wherein the response information is information fed back after the path selection of the stream is completed.
Further, the generating a forwarding path of the flow by using the preset routing policy includes:
and determining the shortest forwarding path of the flow as the forwarding path of the flow based on the network topology and the port mapping according to the service quality protocol and the shortest path principle.
Further, the generating a forwarding port sequence of the path switch according to the generated forwarding path includes:
and sequencing the port number of each switch outlet according to the position of the switch in the forwarding path according to the sequence of the switch to be forwarded in the forwarding path to generate a forwarding port sequence and a sequence identifier of the path switch.
Further, the dividing the first port sequence into a plurality of forwarding sub-segment paths includes:
and segmenting the forwarding path according to a fault fast recovery principle and a path maximum length limit to obtain a forwarding sub-segment path, wherein the path maximum length limit is the sum of a second port sequence corresponding to the forwarding sub-segment path and a sequence identifier which cannot exceed the sum of packet header network address fields in the stream.
Further, the dividing the first port sequence into a plurality of forwarding sub-segment paths includes:
setting the current switch as an end-starting switch according to the sequence of the switches in the target packet forwarding path aiming at the flow, and accumulating the number of the outlet port of the current switch to the length of the current section of the port path to be used as the length of a new current section of the port path; the length of the segment port path is the accumulation of port numbers of the switch outlet to be forwarded by the target packet; the target packet is any IPV4 packet or IPV6 packet in the stream;
judging whether the length of the current segment of the port path is smaller than a first threshold value, if so, taking the next switch as the current switch, accumulating the exit port number of the current switch to the length of the current segment of the port path, and continuously executing the step of judging whether the length of the current segment of the port path is smaller than the first threshold value;
if the length of the current segment port path is larger than or equal to a first threshold value, judging whether the length of the current path is smaller than the length of a forwarding path to be divided;
if the number of the switches is less than the preset value, taking the next switch as the current switch, returning to execute the step of setting the current switch as the end-start switch according to the sequence of the switches in the target packet forwarding path;
if so, the path segment ends.
Further, the forwarding the flow according to the sequence of each forwarding sub-segment path according to the flow table entry of each segment connection switch includes:
for the stream, when the target limit of the target packet is 1, searching a stream table entry corresponding to the next forwarding sub-segment path; wherein the target limit is 1 added to the sum of port lengths of switches in a path for characterizing packets to pass through forwarding subsegments;
respectively updating the target limit, the source address and the destination address of the target packet according to the flow table item corresponding to the next forwarding sub-section path, and forwarding the target packet out according to a port specified by the flow table item corresponding to the current forwarding sub-section path;
when the target limit of the target packet is not 1, determining a port number used for representing an outlet of a switch in the current second forwarding port sequence to which the target packet is to be forwarded according to a following first expression;
the first expression is: s + TTL-1-k;
wherein, S is a pointer of a source address contained in the target packet; k is the port number length of the current switch port in the forwarding sub-segment path, and TTL is the target limit;
updating the target limit according to a second expression;
the second expression is TTL-k; TTL is target limit, k is the length of the port number of the current switch outlet in the forwarding sub-segment path;
and forwarding the target packet to a switch corresponding to the determined port number.
A segment routing apparatus applied to a controller, the apparatus comprising:
a forwarding path generation module, configured to generate a forwarding path of the flow by using a preset routing policy according to the flow path service request sent by the ingress switch; the flow path service request is a request for selecting a path for a flow;
a port sequence generating module, configured to generate a forwarding port sequence of the path switch as a first port sequence;
a forwarding sub-segment path generating module, configured to divide the first port sequence into multiple forwarding sub-segment paths, and generate a forwarding port sequence corresponding to each forwarding sub-segment path as a second port sequence, where a last switch of one forwarding sub-segment path is also a first switch of a next forwarding sub-segment path in an adjacent forwarding sub-segment path;
a flow table item generating module, configured to generate a flow table item exchanged by each forwarding sub-segment path by using a second port sequence corresponding to each forwarding sub-segment path and the number of switches included in each forwarding sub-segment path;
the issuing module is used for sending response information to the inlet switch and issuing each flow table entry to the head switch of each forwarding sub-segment path in a one-to-one correspondence manner;
and the flow forwarding module is used for forwarding the flow according to the sequence of each forwarding sub-segment path according to the flow table entry of each head switch, recovering a packet header network address field in the flow at a path outlet switch, and the response information is information fed back after the path selection of the flow is completed.
Further, the forwarding path generating module includes:
and the shortest forwarding path determining module is used for determining the shortest forwarding path of the flow as the forwarding path of the flow based on the network topology and the mapping of the switch port according to the service quality protocol and the shortest path principle.
Further, the first port sequence generation module comprises:
and the forwarding path obtaining submodule is used for sequencing the port number of each switch outlet according to the position of the switch in the forwarding path according to the sequence of the switch to be forwarded in the forwarding path, and generating a forwarding port sequence and a sequence identifier of the path switch.
Further, the forwarding sub-segment path generating module includes:
and the segmenting submodule is used for segmenting the forwarding path according to a fault quick recovery principle and the maximum path length limitation to obtain a forwarding sub-segment path.
In yet another aspect of the present invention, there is also provided a computer-readable storage medium having stored therein instructions, which when run on a computer, cause the computer to perform any of the segment routing methods described above.
In yet another aspect of the present invention, the present invention further provides a computer program product including an application program interface, which when run on a network controller, enables other computer applications to perform any one of the segment routing methods described above.
The method and the device for the segmented routing provided by the embodiment of the invention can divide the first port sequence into a plurality of forwarding sub-segment paths and a second port sequence, and generate a flow table item exchanged by each forwarding sub-segment path by using the second port sequence; sending response information to the entrance switch, and issuing each flow table entry to the head switch of each forwarding sub-segment path in a one-to-one correspondence manner; and forwarding the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch, compared with the prior art, the method provided by the embodiment of the invention forwards the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch, so that the fine-grained control of the network service quality can be realized. Of course, it is not necessary for any product or method of practicing the invention to achieve all of the above-described advantages at the same time.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below.
Fig. 1 is a flowchart of a segmented routing method according to an embodiment of the present invention;
fig. 2 is a flowchart of a method for dividing a forwarding sub-segment path according to an embodiment of the present invention;
FIG. 3 is a flow chart of a stream forwarding method according to an embodiment of the present invention;
fig. 4 is a flowchart of a segment routing apparatus according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of an application system according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1, fig. 1 is a flowchart of a segmented routing method provided in an embodiment of the present invention, which is applied to a controller, and specifically includes:
s110, generating a forwarding path of the flow by using a preset routing strategy according to the flow path service request sent by the entrance switch, and generating a forwarding port sequence of the path switch as a first port sequence; the flow path service request is a request for selecting a path for a flow.
Where the ingress switch may be understood as the first switch that a new flow enters. A stream is composed of a series of packets; a packet is a formatted unit of data, typically containing control information and payload data. The control information may include: source and destination IP addresses, error detection codes like checksums, sequencing information, etc. Control information is typically found at the head and tail of the packet with payload data in between.
In addition, the value of TTL (Time To Live, maximum limit) flag in the header information of the packet is 80H.
The routing policy is a technology for selecting a path to be passed by a network flow by using a network state and a network topology, and is mainly used for controlling a forwarding path of the flow.
In this step, the flow path service request includes header information of each packet in the flow, and the controller generates a forwarding path of the flow by using a preset routing policy according to the header information of each packet.
For example, if the source address of the first packet in a flow is a and the destination address is B, how to forward the first packet from a to B specifically includes: and generating a forwarding path of the first packet according to the routing strategy, wherein the forwarding port sequence of the forwarding path is the port number of the outlet of each switch, and is 1-2-12-13-6-8-10-3-6-7-78-56-34-23 in sequence, and each packet in the flow is forwarded according to each switch corresponding to the forwarding port sequence.
In one implementation, generating a forwarding path for a flow using a preset routing policy includes:
and determining the shortest forwarding path of the flow as the forwarding path of the flow based on the network topology and the port mapping according to the service quality protocol and the shortest path principle.
A qos agreement may be understood as a flat agreement between a service provider and a client to ensure that quantifiable network performance achieves a defined quality.
The shortest path rule may be understood as a rule that a path from a source address to a destination address is shortest.
Therefore, the implementation mode determines the shortest forwarding path of the flow based on the network topology structure according to the service quality protocol and the shortest path principle, so that the network delay of flow forwarding can be reduced, and the waste of network resources can be reduced.
In an implementation manner, the generating a forwarding port sequence of a path switch according to the generated forwarding path includes:
and sequencing the port number of each switch outlet according to the position of the switch in the forwarding path according to the sequence of the switch to be forwarded in the forwarding path to generate a forwarding port sequence and a sequence identifier of the path switch.
For example, according to the sequence of the switches in the forwarding path, the egress port numbers of the switches are sequentially 1, 2, 12, 13, 6, 8, 10, 3, 6, 7, 78, 56, 34, and 23, and the forwarding port sequence of the generated path switch is 1-2-12-13-6-8-10-3-6-7-78-56-34-23 by using 1, 2, 12, 13, 6, 8, 10, 3, 6, 7, 78, 56, 34, and 23.
Therefore, the port number of each switch outlet is sequenced according to the positions of the switches in the forwarding path, the forwarding port sequence and the sequence identification of the path switch are generated, and the forwarding of the flow can be quickly and accurately realized.
And S120, dividing the first port sequence into a plurality of forwarding sub-segment paths, and generating a forwarding port sequence corresponding to each forwarding sub-segment path as a second port sequence, wherein a head switch of one forwarding sub-segment path is also a tail switch of a last forwarding sub-segment path in the adjacent forwarding sub-segment path.
It should be noted that, the port code lengths of the switches in each forwarding sub-segment path are different (each switch performs independent equal length coding according to its own port number), and the pointer in the packet is subtracted from the port length through a port, so that when the pointer reaches the end switch in the forwarding sub-segment path, the value is 1.
In addition, the maintenance of the flow table entry of the forwarding sub-segment path comprises the replacement of the segment path mark and the segment path of each head switch, the flow is forwarded according to the sequence of each forwarding sub-segment path according to the segment port path, and the identification of the packet in the flow is recovered after all the segments are forwarded.
For example, based on the above example, the first port sequence 1-2-12-13-6-8-10-3-6-7-78-56-34-23 is divided into 3 second port sequences, in order: 1-2-12-13, 13-6-8-10, 10-3-6-7; 7-78-56-24-23, it can be seen that 13 is the exit port number of the last switch in 1-2-12-13 corresponding to the forwarding sub-segment path, and is also the exit port number of the first switch in 13-6-8-10 corresponding to the forwarding sub-segment path adjacent to the forwarding sub-segment path corresponding to 1-2-12-13, and similarly, 10 is the exit port number of the last switch in 13-6-8-10 corresponding to the forwarding sub-segment path, and is also the exit port number of the first switch in 10-3-6-7 corresponding to the forwarding sub-segment path; and 7 is a last switch in 10-3-6-7 corresponding to the forwarding sub-segment path and is also a first switch in 7-78-56-24-23 corresponding to the forwarding sub-segment path.
In one implementation, the dividing the first port sequence into a plurality of forwarding sub-segment paths includes:
and segmenting the forwarding path according to a fault fast recovery principle and a path maximum length limit to obtain a forwarding sub-segment path, wherein the path maximum length limit is the sum of the length of a second port sequence corresponding to the forwarding sub-segment path and a sequence identifier and the length of a network address field which cannot exceed a packet header in a stream.
The failure quick recovery principle can be understood as failure recovery in which the replaceable capacity real-time network state of the sub-segment falling path does not reach the optimal state.
It can also be said that each forwarding sub-segment path is generated according to the shortest path principle based on the network state information (network topology, link capacity, switch state), the source address and the destination address of the application flow.
Therefore, the implementation mode segments the forwarding path according to the fault quick recovery principle and the maximum path length limitation, and can improve the stream forwarding efficiency.
In another implementation, as shown in fig. 2, the dividing the first port sequence into a plurality of forwarding sub-segment paths includes the following steps S121 to S122:
s121, setting the current switch as an end-start switch according to the sequence of switches in a target packet forwarding path aiming at the flow, and accumulating the number of the exit port of the current switch to the length of the current section of port path to be used as the length of a new current section of port path; the length of the segment port path is the accumulation of port numbers of the switch outlet to be forwarded by the target packet; the target packet is any IPV4 packet or IPV6 packet in the stream;
s122, judging whether the length of the current segment of port path is smaller than a first threshold value, and executing S123 if the length of the current segment of port path is smaller than the first threshold value; if the length of the current segment port path is greater than or equal to the first threshold, performing S124;
s123, taking the next switch as the current switch, accumulating the number of the exit port of the current switch to the length of the current section of port path, and returning to execute S122;
s124, judging whether the length of the current section port path is smaller than the length of the forwarding sub-section path to be divided; if less than, execution proceeds to S125, and if equal, the path segmentation ends.
S125, taking the next switch as the current switch, and returning to execute the S121;
the above-mentioned for each flow is understood to be performed according to steps S121 to S125 for each packet in the flow.
The first threshold value can be understood as a limit value of the segment port path length, the length of the limit value corresponds to the length of the network address segment in the IP packet, 64 bits for IPv4 flow and 256 bits for IPv 6.
The port path length can be understood as the sum of the required number of bits stored in each port in the path, and the path length refers to the number of switches included in the path.
The port numbers of the switch outlets are all binary.
Note that the initial value of the length of the current segment port path is 0.
The return to execution of S122 in S123 may be understood as execution of S122 to S123; the return execution of S125 to S121 can be understood as execution of S121 to S125.
For example, based on the above example, if the destination packet is IPV4, the forwarding port sequence of the destination packet to be forwarded to the forwarding path is 1-2-12-13-6-8-10-3-6-7-78-56-34-23, and according to the sequence of the destination packet being forwarded to the switches in the forwarding path, the egress port number 1 of the first switch is accumulated to the length of the current segment of port path, the length of the current segment of port path is 1, determine whether 1 is smaller than 64 bits, if smaller than, according to the sequence of the destination packet being forwarded to the switches in the forwarding path, the egress port number 10(2) of the second switch is accumulated to the length of the current segment of port path, and obtain 110, and then 110 is the length of the new current segment of port path, and it can be known that 110 is also smaller than 64 bits; the egress port number 1100(12) of the second switch is accumulated to the length of the current segment of port path, that is, on the basis of 110, the port number of the current switch egress is continuously accumulated to obtain 1101100, and 1101100 is taken as the length of the new current segment of port path, so that 1101100 is also known to be smaller than 64 bits long; accumulating the exit port number 1101(13) of the second switch to the length of the current segment port path, accumulating the port number of the exit of the current switch on the basis of 1101100 to obtain 11011001101, using 11011001101 as the length of a new current segment port path, sequentially reasoning until the length of the current port path is greater than or equal to 64-bit length, judging whether the length of the current segment port path is less than the length of a forwarding sub-segment path to be divided, if so, continuing to accumulate the length of the current segment port path until the length of the current port path is equal to the length of the forwarding sub-segment path to be divided, obtaining a forwarding sub-segment path, using the exit port number of the next switch as the length of the current port path according to the sequence of the switches to be forwarded by the target packet, obtaining other forwarding sub-segment paths according to the method of the forwarding sub-segment path mentioned above, thereby enabling segmentation of the forwarding path.
Therefore, the implementation mode can rapidly and efficiently realize the division of the forwarding path to be forwarded of the target packet.
And S130, generating a flow table entry exchanged by each forwarding sub-segment path by using the second port sequence corresponding to each forwarding sub-segment path and the number of switches included in each forwarding sub-segment path.
It can be known from this step that one forwarding sub-segment path corresponds to one flow entry, and the flow entry includes the second port sequence of the forwarding sub-segment path and the number of switches of the forwarding sub-segment path.
The action field of the flow entry may be a port sequence replacing a next sub-path, where the next sub-path may be understood as a port sequence of a next sub-path of 1-2-3-4, for example, 1-2-3-4, and a port sequence of a next sub-path of 1-2-3-4 is 2-3-4, and a port sequence of a next sub-path of 2-3-4 is 3-4, and a port sequence of a next sub-path of 3-4 is 4.
S140, sending a response message to the ingress switch, and issuing each of the flow entries to the head switch of each of the forwarding sub-segment paths in a one-to-one correspondence.
In this step, the flow table item corresponding to one forwarding sub-segment path corresponds to one forwarding sub-segment path, and each flow table item is correspondingly issued to the head switch of each forwarding sub-segment path.
For example, based on the above example, the controller sends a flow entry corresponding to the first forwarding sub-segment path to the first packet, where the flow entry includes the second port sequence 1-2-12-13 and the number of switches is 4; sending a flow table entry corresponding to the second forwarding sub-segment path to the first packet, wherein the flow table entry comprises a second port sequence 13-6-8-10 and the number of switches is 4; sending a flow table entry corresponding to the third forwarding sub-segment path to the first packet, wherein the flow table entry comprises a second port sequence 10-3-6-7 and the number of switches is 4; and sending a flow entry corresponding to the fourth forwarding sub-section path to the first packet, wherein the flow entry comprises a second port sequence 7-78-56-24-23 and the number of switches is 4.
S150, according to the flow table entry of each head switch, the flow is forwarded according to the sequence of each forwarding sub-section path, the network address field of the packet header in the flow is recovered at the exit switch of the path, and the response information is the information fed back after the path selection of the flow is completed.
In this step, after receiving the response message, the ingress switch determines that the flow selection path is completed, and then controls forwarding according to the sequence of each forwarding sub-segment path according to the flow table entry received by the head switch in each forwarding sub-segment path.
Where, as is known from the above, a flow comprises a series of packets, packet forwarding is understood to be the process of relaying a packet from one communication link to another by a node in the network.
In addition, the egress switch of the path refers to an egress switch of the forwarding path or an end switch of the last forwarding sub-segment path.
In one implementation, as shown in fig. 3, the forwarding the flow according to the flow entry of each segment-connected switch in the order of each forwarding sub-segment path includes the following steps S151 to S156:
s151, determining whether the target limit of the target packet is 1 for the stream, and if the target limit of the target packet is 1, executing S152; when the target limit of the target package is not 1, executing S154; wherein the target packet is any PV4 packet or ID IPV6 packet in the flow, and the target limit is the sum of the port lengths of the switches in the path for characterizing the packets to pass through the forwarding sub-section plus 1;
s152, searching a flow table item corresponding to the next forwarding sub-segment path;
s153, respectively updating the target limit, the source address and the destination address of the target packet according to the flow table item corresponding to the next forwarding sub-section path, and forwarding the target packet out according to the port specified by the flow table item corresponding to the current forwarding sub-section path;
s154, determining a port number used for representing an outlet of the switch in the current second forwarding port sequence to which the target packet is to be forwarded according to the following first expression;
the first expression is: s + TTL-1-k;
wherein, S is a pointer of a source address contained in the target packet; k is the length of the current switch port in the forwarding sub-segment path, and TTL is the target limit;
s155, updating the hop count limit according to a second expression;
the second expression is TTL-k;
and S156, forwarding the target packet to the switch corresponding to the determined port number.
The above-mentioned flow-specific processing is understood to be performed according to steps S151 to S156 for each packet in the flow.
For the sake of clarity, the foregoing implementation may be further described as follows:
for each packet in the stream, determining whether the target packet is an IPV4 packet or an IPV6 packet;
if the target packet is an IPV6 packet, when the Hop Limit (Hop Limit) of the target packet is 1, searching a flow table item corresponding to the next forwarding sub-segment path;
according to the flow table entry corresponding to the next forwarding sub-segment path, respectively updating the hop limit, the source address and the destination address of the IPV6 packet;
and transferring the target packet out according to a port specified by a flow table entry corresponding to the current forwarding sub-segment path;
when the hop count limit of the target packet is not 1, determining a port number used for representing an outlet of a switch in a current second forwarding port sequence to which the target packet is to be forwarded according to a following first expression;
the first expression is S + TTL-1-k;
wherein, S is a pointer of a source address contained in the target packet; k is the length of the current switch port in the forwarding sub-segment path, and TTL is the target limit;
updating the hop count limit according to a second expression;
the second expression is TTL-k;
forwarding the target packet to a switch corresponding to the determined port number;
if the target packet is an IPV4 packet, when the maximum hop count (TTL, Time to live) forwarded by the IPV4 packet in the forwarding sub-segment path is 1, searching for a flow entry corresponding to the next forwarding sub-segment path;
searching a flow table item corresponding to the next forwarding sub-segment path;
respectively updating the maximum hop count, the source address and the destination address of the IPV4 packet according to the flow table entry corresponding to the next forwarding sub-segment path; and transferring the target packet out according to a port specified by a flow table entry corresponding to the current forwarding sub-segment path;
when the maximum hop count is not 1, determining a port number used for representing an outlet of a switch in the target packet to be forwarded to a current second forwarding port sequence according to a following first expression;
the first expression is: s + TTL-1-k;
updating the maximum hop count according to a second expression;
the second expression is: TTL is TTL-k;
and forwarding the target packet to a switch corresponding to the determined port number.
For example, based on the above example, after the ingress switch receives the completion of the flow selection path, and the first packet of the flow reaches the head switch of the first forwarding sub-segment path, the flow table entry of the head switch is obtained, and it is determined whether the first packet is IPV4 or IPV6, if the first packet is IPV4, the information in the flow table entry is 1-2-12-13, and the number of switches is 4; the first packet enters a second switch after being transferred out from the port number 1 of the first switch of the first forwarding sub-segment path, at the moment, the information in the flow table entry is 2-12-13, and the number of the switches is 3; the port number 2 of the outlet flowing through the second exchanger is transferred out and then transferred into a third exchanger, at the moment, the information of the flow table entry is 12-13, and the number of the exchangers is 2; and the port number 12 of the outlet flowing through the third switch is transferred out and then transferred to the fourth switch, at this time, the information of the flow table entry is 13, the number of the switches is 1, and the forwarding of the flow on the path of the first forwarding subsection is completed. Because the last switch of the first forwarding sub-segment path is the first switch of the second forwarding sub-segment path, the flow can easily find the second forwarding sub-segment path after the first forwarding sub-segment path is completed, the first packet of the flow is forwarded to the first switch of the second forwarding sub-segment path, at this time, the flow table item information is 13-6-8-10, the number of switches is 4, and so on, the first packet is forwarded to the second forwarding sub-segment path, the third forwarding sub-segment path and the fourth forwarding sub-segment path in sequence, and then is forwarded to the destination address from the outlet port number 23 of the switch of the fourth forwarding sub-segment path, and the forwarding of the first packet in the flow is completed, if the flow comprises three packets, the second packet and the third packet are sequentially forwarded according to the forwarding step of the first packet after the first packet is completed.
Therefore, the implementation mode can rapidly and accurately complete the forwarding of each packet in the flow, and compared with the traditional technology, the controller does not need to process the forwarding of the packet among all the switches in each forwarding sub-section path, so that the interaction times of the controller and the switches can be reduced, the processing capacity of the controller is further reduced, and the fine-grained control of the network service quality can be realized.
Therefore, in the method provided by the embodiment of the present invention, the first port sequence is divided into a plurality of forwarding sub-segment paths and a second port sequence, and a flow entry exchanged by each forwarding sub-segment path is generated by using the second port sequence; sending each flow table entry to a head switch of each forwarding sub-segment path in a one-to-one correspondence manner; and forwarding the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch, compared with the prior art, the method provided by the embodiment of the invention forwards the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch, so that the fine-grained control of the network service quality can be realized.
There is no need to control each forwarding path to issue a flow entry,
corresponding to the segment routing method, the embodiment of the invention also provides a segment routing device.
Referring to fig. 4, an embodiment of the present invention provides a schematic structural diagram of a segment routing device, which specifically includes:
a forwarding path generating module 401, configured to generate a forwarding path of a flow by using a preset routing policy according to a flow path service request sent by an ingress switch; the flow path service request is a request for selecting a path for a flow;
a port sequence generating module 402, configured to generate a forwarding port sequence of the path switch as a first port sequence; the flow path service request is a request for selecting a path for a flow;
a forwarding sub-segment path generating module 403, configured to divide the first port sequence into multiple forwarding sub-segment paths, and generate a forwarding port sequence corresponding to each forwarding sub-segment path as a second port sequence, where a last switch of one forwarding sub-segment path is also a first switch of a next forwarding sub-segment path in an adjacent forwarding sub-segment path;
a flow entry generating module 404, configured to generate a flow entry exchanged by each forwarding sub-segment path by using a second port sequence corresponding to each forwarding sub-segment path and the number of switches included in each forwarding sub-segment path;
an issuing module 405, configured to send a response message to the ingress switch, and issue each of the flow table entries to a head switch of each of the forwarding sub-segment paths in a one-to-one correspondence manner;
a stream forwarding module 406, configured to forward the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch, and recover the packet header network address field in the stream at the path exit switch, where the response information is information fed back after the path selection of the stream is completed.
In one implementation, the forwarding path generating module 401 may include:
and the shortest forwarding path determining module is used for determining the shortest forwarding path of the flow as the forwarding path of the flow based on the network topology and the mapping of the switch port according to the service quality protocol and the shortest path principle.
In one implementation, the port sequence generation module 402 may include:
and the forwarding path obtaining submodule is used for sequencing the port number of each switch outlet according to the position of the switch in the forwarding path according to the sequence of the switch to be forwarded in the forwarding path, and generating a forwarding port sequence and a sequence identifier of the path switch.
In one implementation, the forwarding sub-segment path generating module 403 may include:
and the segmenting submodule is used for segmenting the forwarding path according to a fault quick recovery principle and the maximum path length limitation to obtain a forwarding sub-segment path, wherein the maximum path length limitation is the sum of a second port sequence corresponding to the forwarding sub-segment path and the sequence identifier which cannot exceed the sum of the packet header network address fields in the stream.
In one implementation, the forwarding sub-segment path generating module 403 may further include:
the first accumulation submodule is used for setting the current switch as an end-starting switch according to the sequence of switches in a target packet forwarding path aiming at the flow, and accumulating the number of the outlet port of the current switch to the length of the current section of port path to be used as the length of a new current section of port path; the length of the segment port path is the accumulation of port numbers of the switch outlet to be forwarded by the target packet; the target packet is any IPV4 packet or IPV6 packet in the stream;
the first judging submodule is used for judging whether the length of the current segment of the port path is smaller than a first threshold value or not, and if the length of the current segment of the port path is not the first threshold value, the second accumulating submodule is triggered; if the length of the current segment port path is larger than or equal to the first threshold, triggering a second judgment sub-module;
the second accumulation submodule is used for accumulating the number of the outlet port of the current switch to the length of the current section of port path by taking the next switch as the current switch, and triggering the first judgment submodule;
the second judging submodule is used for judging whether the length of the current path is smaller than that of the forwarding path to be divided; if the current switch is smaller than the preset switch threshold, taking the next switch as the current switch, and triggering the accumulation submodule; if so, the path segment ends.
In one implementation, the flow forwarding module 406 may include:
the flow table item searching submodule is used for searching a flow table item corresponding to the next forwarding sub-segment path when the target limit of a target packet is 1 aiming at the flow; wherein the target limit is 1 added to the sum of port lengths of switches in a path for characterizing packets to pass through forwarding subsegments;
the first updating submodule is used for respectively updating the target limit, the source address and the destination address of the target packet according to the flow table item corresponding to the next forwarding sub-section path, and forwarding the target packet out according to the port specified by the flow table item corresponding to the current forwarding sub-section path;
the port number determining submodule is used for determining a port number used for representing an outlet of a switch in the target packet to be forwarded to the current second forwarding port sequence according to the following first expression;
the first expression is: s + TTL-1-k;
wherein, S is a pointer of a source address contained in the target packet; k is the port number length of the current switch port in the forwarding sub-segment path, and TTL is the target limit;
a second updating submodule for updating the target limit according to a second expression;
the second expression is: TTL is TTL-k;
and the target packet forwarding submodule is used for forwarding the target packet to the switch corresponding to the determined port number.
It can be seen that, in the apparatus provided in the embodiment of the present invention, the first port sequence is divided into a plurality of forwarding sub-segment paths and a second port sequence, and a flow entry exchanged by each forwarding sub-segment path is generated by using the second port sequence; sending each flow table entry to a head switch of each forwarding sub-segment path in a one-to-one correspondence manner; and forwarding the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch, compared with the prior art, the method provided by the embodiment of the invention forwards the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch, so that the fine-grained control of the network service quality can be realized.
An embodiment of the present invention further provides an Application system, as shown in fig. 5, including a controller 501, a RESTful interface 502, a segment routing service module 503, and an Application Program Interface (API) 504, where a user may use a function provided by the segment routing service module 503 through the RESTful interface 502 and the Application program interface.
A controller 501, configured to obtain a network status and implement specific control;
the segment routing service module 503 is specifically configured to:
generating a forwarding path of the flow by using a preset routing strategy according to the flow path service request sent by the inlet switch, and generating a forwarding port sequence of the path switch as a first port sequence; the flow path service request is a request for selecting a path for a flow;
dividing the first port sequence into a plurality of forwarding sub-segment paths, and generating a forwarding port sequence corresponding to each forwarding sub-segment path as a second port sequence, wherein a last switch of one forwarding sub-segment path is also a first switch of a next forwarding sub-segment path in the adjacent forwarding sub-segment path;
generating a flow table item exchanged by each forwarding sub-section path by using a second port sequence corresponding to each forwarding sub-section path and the number of switches contained in each forwarding sub-section path;
sending response information to the entrance switch, and issuing each flow table entry to the head switch of each forwarding sub-segment path in a one-to-one correspondence manner; and forwarding the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch, recovering a packet header network address field in the stream at a path outlet switch, wherein the response information is information fed back after the path selection of the stream is completed.
The application program interface 504 is used for the user to embed the segment routing service module 503 function in its own application.
The RESTful interface 502 is used for realizing the calling and testing of the function of the segment routing service module 503.
RESTful is a software architecture style, a design style, and not a standard, but provides a set of design principles and constraints. The method is mainly used for the interactive software of the client and the server. Software designed based on the style can be simpler, more hierarchical and easier to realize mechanisms such as cache and the like.
Therefore, when the application program system provided by this embodiment is executed, in the embodiment of the present invention, the first port sequence is divided into a plurality of forwarding sub-segment paths and a second port sequence, and a flow entry exchanged by each forwarding sub-segment path is generated by using the second port sequence; sending each flow table entry to a head switch of each forwarding sub-segment path in a one-to-one correspondence manner; and forwarding the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch, compared with the prior art, the method provided by the embodiment of the invention forwards the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch, so that the fine-grained control of the network service quality can be realized.
The implementation of the related content segment routing method is the same as the management of the segment routing provided in the foregoing method embodiment, and is not described here again.
In yet another aspect of the present invention, the present invention further provides a computer program product including an application program interface, which when run on a network controller, enables other computer applications to perform any one of the segment routing methods described above.
In yet another embodiment of the present invention, a computer-readable storage medium is further provided, which has instructions stored therein, which when run on a computer, cause the computer to perform the segment routing method described in any of the above embodiments.
In yet another embodiment, there is also provided a computer program product containing instructions which, when run on a computer, cause the computer to perform the segment routing method of any of the above embodiments.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the apparatus, storage medium, or computer program product embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference may be made to some descriptions of the method embodiments for relevant points.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims (4)

1. A segment routing method applied to a controller, the method comprising:
generating a forwarding path of the flow by using a preset routing strategy according to the flow path service request sent by the inlet switch, and generating a forwarding port sequence of the path switch as a first port sequence; the flow path service request is a request for selecting a path for a flow;
dividing the first port sequence into a plurality of forwarding sub-segment paths, and generating a forwarding port sequence corresponding to each forwarding sub-segment path as a second port sequence, wherein a last switch of one forwarding sub-segment path is also a first switch of a next forwarding sub-segment path in the adjacent forwarding sub-segment path;
generating a flow table item exchanged by each forwarding sub-section path by using a second port sequence corresponding to each forwarding sub-section path and the number of switches contained in each forwarding sub-section path;
sending response information to the entrance switch, and issuing each flow table entry to the head switch of each forwarding sub-segment path in a one-to-one correspondence manner; forwarding the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch, recovering a packet header network address field in the stream at a path outlet switch, wherein the response information is information fed back after the path selection of the stream is completed;
determining the shortest forwarding path of the flow as the forwarding path of the flow based on the network topology and the port mapping according to the service quality protocol and the shortest path principle;
the generating a forwarding port sequence of the path switch according to the generated forwarding path includes:
according to the sequence of the switches to be forwarded in the forwarding path, sequencing the port number of each switch outlet according to the position of the switch in the forwarding path, and generating a forwarding port sequence and a sequence identifier of the path switch;
the dividing the first port sequence into a plurality of forwarding sub-segment paths includes:
setting the current switch as an end-starting switch according to the sequence of the switches in the target packet forwarding path aiming at the flow, and accumulating the number of the outlet port of the current switch to the length of the current section of the port path to be used as the length of a new current section of the port path; the length of the segment port path is the accumulation of port numbers of the switch outlet to be forwarded by the target packet; the target packet is any IPV4 packet or IPV6 packet in the stream;
judging whether the length of the current segment of the port path is smaller than a first threshold value, if so, taking the next switch as the current switch, accumulating the exit port number of the current switch to the length of the current segment of the port path, and continuously executing the step of judging whether the length of the current segment of the port path is smaller than the first threshold value;
if the length of the current segment port path is larger than or equal to a first threshold value, judging whether the length of the current path is smaller than the length of a forwarding path to be divided;
if the number of the switches is less than the preset value, taking the next switch as the current switch, returning to execute the step of setting the current switch as the end-start switch according to the sequence of the switches in the target packet forwarding path;
if yes, ending the path segmentation;
the forwarding the stream according to the sequence of each forwarding sub-segment path according to the stream table entry of each head switch includes:
for the stream, when the target limit of the target packet is 1, searching a stream table entry corresponding to the next forwarding sub-segment path; wherein the target limit is 1 added to the sum of port lengths of switches in a path for characterizing packets to pass through forwarding subsegments;
respectively updating the target limit, the source address and the destination address of the target packet according to the flow table item corresponding to the next forwarding sub-section path, and forwarding the target packet out according to a port specified by the flow table item corresponding to the current forwarding sub-section path;
when the target limit of the target packet is not 1, determining a port number used for representing an outlet of a switch in the current second forwarding port sequence to which the target packet is to be forwarded according to a following first expression;
the first expression is: s + TTL-1-k;
wherein, S is a pointer of a source address contained in the target packet; k is the port number length of the current switch port in the forwarding sub-segment path, and TTL is the target limit;
updating the target limit according to a second expression;
the second expression is: TTL is TTL-k;
and forwarding the target packet to a switch corresponding to the determined port number.
2. The method of claim 1, wherein the dividing the first sequence of ports into a plurality of forwarding sub-segment paths comprises:
and segmenting the forwarding path according to a fault fast recovery principle and a path maximum length limit to obtain a forwarding sub-segment path, wherein the path maximum length limit is the sum of a second port sequence corresponding to the forwarding sub-segment path and a sequence identifier which cannot exceed the sum of packet header network address fields in the stream.
3. A segment routing apparatus, for use in a controller, the apparatus comprising:
a forwarding path generation module, configured to generate a forwarding path of the flow by using a preset routing policy according to the flow path service request sent by the ingress switch; the flow path service request is a request for selecting a path for a flow;
a port sequence generating module, configured to generate a forwarding port sequence of the path switch as a first port sequence;
a forwarding sub-segment path generating module, configured to divide the first port sequence into multiple forwarding sub-segment paths, and generate a forwarding port sequence corresponding to each forwarding sub-segment path as a second port sequence, where a last switch of one forwarding sub-segment path is also a first switch of a next forwarding sub-segment path in an adjacent forwarding sub-segment path;
a flow table item generating module, configured to generate a flow table item exchanged by each forwarding sub-segment path by using a second port sequence corresponding to each forwarding sub-segment path and the number of switches included in each forwarding sub-segment path;
the issuing module is used for sending response information to the inlet switch and issuing each flow table entry to the head switch of each forwarding sub-segment path in a one-to-one correspondence manner;
the flow forwarding module is used for forwarding the flow according to the sequence of each forwarding sub-segment path according to the flow table entry of each head switch, recovering a packet header network address field in the flow at a path outlet switch, and the response information is information fed back after the flow path selection is completed;
the forwarding path generation module includes:
the shortest forwarding path determining module is used for determining the shortest forwarding path of the flow as the forwarding path of the flow based on the mapping between the network topology and the port of the switch according to the service quality protocol and the shortest path principle;
the port sequence generation module comprises:
the forwarding path obtaining submodule is used for sequencing the port number of each switch outlet according to the position of the switch in the forwarding path according to the sequence of the switch to be forwarded in the forwarding path, and generating a forwarding port sequence and a sequence identifier of the path switch;
the forwarding sub-segment path generating module comprises:
the first accumulation submodule is used for setting the current switch as an end-starting switch according to the sequence of switches in a target packet forwarding path aiming at the flow, and accumulating the number of the outlet port of the current switch to the length of the current section of port path to be used as the length of a new current section of port path; the length of the segment port path is the accumulation of port numbers of the switch outlet to be forwarded by the target packet; the target packet is any IPV4 packet or IPV6 packet in the stream;
the first judging submodule is used for judging whether the length of the current segment of the port path is smaller than a first threshold value or not, and if the length of the current segment of the port path is not the first threshold value, the second accumulating submodule is triggered; if the length of the current segment port path is larger than or equal to the first threshold, triggering a second judgment sub-module;
the second accumulation submodule is used for accumulating the number of the outlet port of the current switch to the length of the current section of port path by taking the next switch as the current switch, and triggering the first judgment submodule;
the second judging submodule is used for judging whether the length of the current path is smaller than that of the forwarding path to be divided; if the current switch is smaller than the preset switch threshold, taking the next switch as the current switch, and triggering the accumulation submodule; if yes, ending the path segmentation;
the flow forwarding module includes:
the flow table item searching submodule is used for searching a flow table item corresponding to the next forwarding sub-segment path when the target limit of a target packet is 1 aiming at the flow; when the target limit of the target packet is not 1, triggering a port number determination submodule; wherein the target limit is 1 added to the sum of port lengths of switches in a path for characterizing packets to pass through forwarding subsegments;
a first updating submodule, configured to update a target limit, a source address, and a destination address of the target packet according to the flow table entry corresponding to the next forwarding sub-segment path, and forward the target packet according to a port specified by the flow table entry corresponding to the current forwarding sub-segment path;
the port number determining submodule is used for determining a port number used for representing an outlet of a switch in the target packet to be forwarded to the current second forwarding port sequence according to the following first expression;
the first expression is: s + TTL-1-k;
wherein, S is a pointer of a source address contained in the target packet; k is the port number length of the current switch port in the forwarding sub-segment path, and TTL is the target limit;
a second updating submodule for updating the target limit according to a second expression;
the second expression is: TTL is TTL-k;
and the target packet forwarding submodule is used for forwarding the target packet to the switch corresponding to the determined port number.
4. The apparatus of claim 3, wherein the forwarding sub-segment path generating module comprises:
and the segmenting submodule is used for segmenting the forwarding path according to a fault quick recovery principle and the maximum path length limitation to obtain a forwarding sub-segment path.
CN201811027995.5A 2018-09-04 2018-09-04 Segmented routing method and device Active CN108768848B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811027995.5A CN108768848B (en) 2018-09-04 2018-09-04 Segmented routing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811027995.5A CN108768848B (en) 2018-09-04 2018-09-04 Segmented routing method and device

Publications (2)

Publication Number Publication Date
CN108768848A CN108768848A (en) 2018-11-06
CN108768848B true CN108768848B (en) 2020-06-05

Family

ID=63968063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811027995.5A Active CN108768848B (en) 2018-09-04 2018-09-04 Segmented routing method and device

Country Status (1)

Country Link
CN (1) CN108768848B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510387B (en) * 2019-01-30 2021-12-14 华为技术有限公司 Data forwarding method and related device
CN109873767B (en) * 2019-03-29 2021-02-09 中山大学 Protocol-unaware forwarding-based space-ground integrated network virtualization method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110085557A1 (en) * 2009-10-08 2011-04-14 Brocade Communications Systems, Inc. Partitioning of Switches and Fabrics into Logical Switches and Fabrics
EP2787698B1 (en) * 2013-04-03 2020-01-29 Deutsche Telekom AG A method and network for incremental deployment of software-defined networking into an enterprise network
US9178816B1 (en) * 2013-09-27 2015-11-03 Juniper Networks, Inc. Control plane messaging in all-active multi-homed ethernet virtual private networks
CN104767676B (en) * 2014-01-03 2017-12-12 华为技术有限公司 Data message forwarding method and system in SDN
CN103812778B (en) * 2014-02-21 2017-06-27 华为技术有限公司 Flow table item generation method and device
CN103841016A (en) * 2014-03-19 2014-06-04 重庆邮电大学 Programmable virtualization router multi-protocol type data package parallel processing method and device
CN106161269A (en) * 2015-04-17 2016-11-23 华为技术有限公司 A kind of data pack transmission method, controller and switch
CN106888163A (en) * 2017-03-31 2017-06-23 中国科学技术大学苏州研究院 The method for routing divided based on network domains in software defined network

Also Published As

Publication number Publication date
CN108768848A (en) 2018-11-06

Similar Documents

Publication Publication Date Title
US11206148B2 (en) Bit indexed explicit replication
US11303470B2 (en) Bridging of non-capable subnetworks in bit indexed explicit replication
US10985942B2 (en) Multicast traffic steering using tree identity in bit indexed explicit replication (BIER)
US10693765B2 (en) Failure protection for traffic-engineered bit indexed explicit replication
US10536324B2 (en) Per-prefix LFA FRR with bit indexed explicit replication
US10263889B2 (en) Data forwarding method, device, and system in software-defined networking
CN104811387B (en) The equal cost multipath explicitly replicated with position index
US9608938B2 (en) Method and system for tracking and managing network flows
US10826823B2 (en) Centralized label-based software defined network
CN108768848B (en) Segmented routing method and device
CN114531944A (en) Path signing of data flows
JP6055553B2 (en) Queue scheduling method, apparatus and system
WO2018054197A1 (en) Method and apparatus for path selecting
CN115486041A (en) Data message format for communicating across different networks
US20230198903A1 (en) Modifying data packet transmission strategy based on transmission control protocol stage
CN110838965A (en) Tunnel establishment method and receiving node
JP2015192260A (en) Control device, communication system, communication method and program

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