WO2019020032A1 - 数据流传输 - Google Patents

数据流传输 Download PDF

Info

Publication number
WO2019020032A1
WO2019020032A1 PCT/CN2018/096880 CN2018096880W WO2019020032A1 WO 2019020032 A1 WO2019020032 A1 WO 2019020032A1 CN 2018096880 W CN2018096880 W CN 2018096880W WO 2019020032 A1 WO2019020032 A1 WO 2019020032A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
network device
list
paths
sdn controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2018/096880
Other languages
English (en)
French (fr)
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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to JP2020503012A priority Critical patent/JP6920533B2/ja
Priority to US16/633,084 priority patent/US11190439B2/en
Priority to EP18838920.9A priority patent/EP3661135B1/en
Publication of WO2019020032A1 publication Critical patent/WO2019020032A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • 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/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS

Definitions

  • the Software Defined Network (SDN) controller is usually based on Multi-Protocol Label Switching (MPLS) for data stream transmission.
  • MPLS Multi-Protocol Label Switching
  • the basic network of the data stream transmission application is mostly an IP network.
  • the SDN controller In order to adapt to the service demand of the data stream transmission, the SDN controller also provides data stream transmission based on the IP network.
  • the SDN controller can send a route to each network device on the path through which the data stream passes.
  • the route indicates the egress or the next hop, and is used to implement one-hop transmission of the data stream.
  • the SDN controller can reselect the new path and route the network device to the selected new path, which will result in too long path adjustment.
  • Figure 1 is a flow chart of a method provided by the present disclosure
  • FIG. 2 is a schematic diagram of an implementation networking provided by the present disclosure
  • FIG. 3 is a vertical vertical network diagram of an application applied to an embodiment provided by the present disclosure
  • Figure 5 is a schematic structural view of a device provided by the present disclosure.
  • FIG. 6 is a schematic structural diagram of hardware of the apparatus shown in FIG. 5 according to the present disclosure.
  • FIG. 1 is a flowchart of a method provided by the present invention. This process is applied to the SDN controller.
  • the process can include the following steps:
  • Step 101 The SDN controller determines a plurality of paths for transmitting the data stream of the specified service from the first network device to the second network device.
  • the first network device and the second network device are start and stop scheduling service objects determined by the SDN controller based on a network range of the designated service.
  • the designated service here can be different types of services, such as video services, office services, and the like.
  • the network range of the video service is: between nodes 1 and 3.
  • the SDN controller determines that the node 1 and the node 3 are the start and stop scheduling service objects for the video service scheduling according to the defined network range of the video service, where the node 1 is the initial scheduling service object, that is, In the foregoing first network device, the node 3 is a termination scheduling service object, that is, the foregoing second network device.
  • the network range of the specified service is defined based on a network topology in the networking.
  • the network topology may be dynamically collected based on the Border Gateway Protocol Link State (BGP-LS) or manually added by the user.
  • BGP-LS Border Gateway Protocol Link State
  • the disclosure is not specifically limited.
  • the number of DSCPs is limited. For example, only 62 values of 1 to 47, 49 to 63 can be used. Therefore, the data stream determined by the above step 101 for transmitting the specified service from the first network device can be restricted.
  • the foregoing N is greater than 1 and less than or equal to the preset path maximum number M, where M is the planned maximum number of paths from the first network device to the second network device, where T is greater than or equal to 1 and less than or equal to the preset service.
  • determining a plurality of paths for transmitting the data stream of the specified service from the first network device to the second network device may include: calculating a path from the first network device to the second network device If the calculated number of paths is less than or equal to M, all the calculated paths are determined as multiple paths for transmitting the data flow of the specified service from the first network device to the second network device; If the number of paths is greater than M, the calculated paths are sorted according to the path cost from low to high, and the first M paths are selected from the sequence to be used to send the data flow of the specified service from the first network device to the first Two paths of the network device. Finally, the determined number of paths for transmitting the data stream of the specified service from the first network device to the second network device does not exceed M.
  • Step 102 The SDN controller allocates a path identifier for each of the plurality of paths determined in step 101.
  • the path assigned to each path identifies a unique corresponding path and the specified service.
  • the path identifier here is the DSCP value, which will be described below, and will not be described here.
  • step 103 the SDN controller sends the forwarding information to the network device except the second network device for each path in the multiple paths determined in step 101.
  • the forwarding information is used to indicate that the data stream carrying the path identifier of the path is forwarded to the next hop of the network device that receives the forwarding information, and the forwarding information carries at least: path identifier, path next hop .
  • Step 104 The SDN controller selects one path from the multiple paths determined in step 101 according to the preset rule, and sends the path identifier of the selected path to the first network device, so that the data flow of the first network device in the specified service is performed. Add the path ID of the selected path.
  • the first network device can store multiple forwarding information, and each forwarding information corresponds to a path, and the forwarding information can be determined by the path identifier of the path.
  • the path identifier notified by the SDN controller is added to the data flow of the specified service, so that the first network device can use the forwarding information corresponding to the path identifier based on the path identifier.
  • the next hop receives the data stream, the corresponding forwarding information is selected and forwarded according to the path identifier carried in the data stream, and finally, the data stream of the specified service is forwarded along the path corresponding to the path identifier.
  • the SDN controller forwards each path for transmitting the specified service data stream in advance.
  • the information is sent to the network device except the second network device on the path, which is equivalent to first deploying all the paths for sending the specified service data flow between the first network device and the second network device, without waiting for the subsequent
  • the forwarding information of the adjusted path is sent to improve the path adjustment efficiency.
  • the multiple paths determined by the foregoing step 101 for transmitting the data stream of the specified service from the first network device to the second network device are public paths, and may be used by any other two network devices. Inter-service sharing, which simplifies path resource consumption.
  • a path selected for a data flow of a specified service may be monitored in real time.
  • Current path once the current path of the specified service data flow is monitored, the current path of the specified service data stream can be updated.
  • the satisfying path adjustment condition includes: the path quality of the current path of the specified service data flow does not satisfy the path constraint condition corresponding to the specified service, and/or the current path of the specified service data flow includes the faulty link.
  • the path constraint conditions corresponding to the specified service are customized according to service requirements, such as path delay time, path packet loss rate, and path bandwidth size.
  • the SDN controller detects that the current path of the specified service data flow satisfies the path adjustment condition, it means that the current path of the specified service data flow is no longer suitable for continuing to forward the data flow of the specified service, and the step is not repeated.
  • the optimal path among the multiple paths determined by the first step 101 in order to ensure that the data flow of the specified service is always forwarded according to the optimal path, the SDN controller selects the multiple paths determined from the foregoing step 101 according to the preset rule. Reselecting a path and notifying the path of the reselected path to the first network device, so that the first network device adds the path identifier of the reselected path in the data flow of the designated service, which also means specifying the service data flow.
  • the current path becomes the above reselected path, and the data flow of the specified service is always forwarded according to the optimal path.
  • the SDN controller reselects a path from the plurality of paths determined in the above step 101 according to the preset rule and notifies the first network device, which is equivalent to the path adjustment of the specified service data stream, but because Forwarding information is sent to the network device except the second network device, and the forwarding information of the reselected path is not required to be sent, which greatly improves the forwarding information. Path adjustment efficiency.
  • FIG. 3 is a vertical network diagram of an industry application of an embodiment provided by the present disclosure.
  • the node 3_A in FIG. 3 and the termination scheduling service object are the node 3_C.
  • the service network range in the vertical network of the industry can be defined according to the network topology based on the vertical networking of the entire industry or the pre-configured network topology.
  • the network topology here includes: node information (vendor, version, and interface information, etc.), link information (including connection relationships between nodes), link-allocable bandwidth, and dynamic link attributes such as delay, packet loss rate, Real-time bandwidth, etc.
  • the SDN controller establishes a bidirectional tunnel between node 3_A and node 3_C.
  • the tunnel source address of the bidirectional tunnel is the loopback address of the node 3_A.
  • the tunnel destination address is the loopback address of the node 3_C.
  • the two-way tunnel established between the node 3_A and the node 3_C is a GRE (Generic Routing Encapsulation) tunnel.
  • the source address of the GRE tunnel is the loopback interface address 1.1.1.1 of the node 3_A, and the tunnel destination address is the node 3_C.
  • the LoopBack port address is 1.1.1.3. It should be noted that if a GRE tunnel has been established between the node 3_A and the node 3_C, this step may be omitted.
  • the node 3_C can route the local private network through the border gateway protocol (BGP).
  • BGP border gateway protocol
  • the Border Gateway Protocol is advertised to the GRE tunnel, so that all services of the node 3_A to the node 3_C are preferentially forwarded through the GRE tunnel.
  • the SDN controller checks that the path from the node 3_A to the node 3_C has not been planned, and determines the path sent from the node 3_A to the node 3_C. It is determined that the path is not repeated as much as possible, the path cost is the lowest, and the number is smaller than the preset path maximum number M. As an embodiment, the value of M here is 5.
  • Path 1 node 3_A-> node 3_C, cost is 1, hop count is 1;
  • Path 2 node 3_A-> node 3_B-> node 3_D-> node 3_C, cost is 3, hop count is 3;
  • Path 3 Node 3_A-> Node 3_E-> Node 3_F-> Node 3_B-> Node 3_D-> Node 3_C, cost is 5, and hop count is 5.
  • the SDN controller After determining the path for transmitting from the node 3_A to the node 3_C, the SDN controller determines, for each path, the DSCP to which each service between the node 3_A and the node 3_C is applied.
  • the DSCP plans of the five services and the path of the above-mentioned determined slave node 3_A sent to the node 3_C are as shown in Table 1. :
  • the number in Table 1 is taken as an example.
  • the number "1" is a value in the DSCP resource, which is represented as the identifier of the service 1.
  • the number "2" is a value in the DSCP resource, which corresponds to both the service 1 and the path 1, and is specifically the path identifier applied by the service 1 to the path 1.
  • the other figures in Table 1 have similar meanings and will not be exemplified one by one.
  • the service 1 shown in Table 1 is used as an example. If other services are similar, the SDN controller sends forwarding information to nodes other than the node 3_C on the path for each path.
  • path 1 as described above is: node 3_A-> node 3_C, and the SDN controller delivers the forwarding information of path 1 to node 3_A.
  • the node 3_A is the first hop node of the path 1.
  • the forwarding information sent by the SDN controller to the node 3_A may be a PBR (Policy-Based Routing), and specifically includes: the GRE tunnel.
  • path 2 as described above is: node 3_A-> node 3_B-> node 3_D-> node 3_C
  • the SDN controller sends the forwarding information of path 2 to node 3_A, node 3_B, node 3_D.
  • the node 3_A is the first hop node on the path 2.
  • the forwarding information sent by the SDN controller to the node 3_A may be a global PBR, and specifically includes: a source address, a destination address, and a corresponding service 1 of the GRE tunnel.
  • the identifier of path 2 that is, DSCP is 3) and the next hop (node 3_B).
  • the node 3_B is a non-first hop node on the path 2.
  • the forwarding information sent by the SDN controller to the node 3_B may be a PBR based on the inbound interface, and specifically includes: a source address, a destination address, and a corresponding address of the GRE tunnel.
  • the identifier of path 2 of service 1 (ie, DSCP is 3) and the next hop (node 3_D).
  • the node 3_D is also a non-first hop node on the path 2.
  • the forwarding information sent by the SDN controller to the node 3_D may be a PBR based on the inbound interface, and specifically includes: a source address and a destination address of the GRE tunnel.
  • the identifier of the path 2 corresponding to the service 1 (ie, DSCP is 3) and the next hop (node 3_C).
  • the case where the path is path 3 is similar and will not be described again.
  • the SDN controller checks out the planned scheduling path between the node 3_A and the node 3_C, the step of determining the scheduling path and delivering the forwarding information may be omitted.
  • the SDN controller selects an optimal path from the above three paths, namely, path 1, path 2, and path 3.
  • the optimal refers to path quality, path bandwidth, Path parameters such as path cost are optimal.
  • the SDN controller sends a notification message (denoted as message a) to node 3_A.
  • the message a carries the DSCP 2 of the path 1 selected by the service 1 to indicate that the service 1 selects the path 1 as the available service path.
  • the node 3_A receives the message a sent by the SDN controller, and saves the DSCP carried by the message a, that is, 2.
  • the node 3_A When the node 3_A subsequently receives the data stream of the service 1, and identifies that the received data stream is the data stream of the service 1, the GRE tunnel header is encapsulated in the data stream, and the source address field of the tunnel in the GRE tunnel header is the source of the GRE tunnel. Address, tunnel destination address field is the destination address of the above GRE tunnel.
  • the DSCP field in the GRE tunnel header is: The DSCP carried by the above message a is 2.
  • the node 3_A identifies that the received data stream is the data stream of the service 1, specifically: identifying the original feature of the data stream, such as the port number corresponding to the service, from the pre-defined data stream between the original feature and the service. A correspondence corresponding to the identified original feature is found in the correspondence relationship. If the service identifier in the found correspondence is the identifier of the service 1, the received data stream is determined to be the data stream of the service 1.
  • the node 3_A forwards the data stream encapsulating the GRE tunnel header to the path corresponding to the path 1 when the DSCP is 2.
  • the node 3_C receives the data stream, decapsulates and forwards the data stream according to the tunnel source address and the destination address in the GRE tunnel header of the data stream.
  • the SDN controller monitors the link quality of the path 1 in real time. Once the link quality of the path 1 is detected to be inferior and the path adjustment condition is reached, the path adjustment condition herein is based on the current scheduling path, that is, the path. 1. The link quality of path 2 and path 3 re-selects the optimal path.
  • the SDN controller sends a notification message (denoted as message b) to node 3_A.
  • the message b carries the DSCP 3 of the path 2 selected by the service 1 to indicate that the path 1 previously selected for the service 1 needs to be updated to the path 2.
  • the SDN controller Based on the premise that the SDN controller delivers the forwarding information of all the paths of the service 1 application in advance, even if the path adjustment is performed, the SDN controller only needs to notify the node 3_A to update the path 1 previously selected for the service 1 to the path 2.
  • the forwarding information of path 2 is not issued, which greatly improves the path adjustment efficiency.
  • the node 3_A receives the message b sent by the SDN controller, and saves the DSCP carried by the message b, that is, 3.
  • the GRE tunnel header is encapsulated in the data stream, and the source address field of the tunnel in the GRE tunnel header is the source of the GRE tunnel.
  • Address, tunnel destination address field is the destination address of the above GRE tunnel.
  • the DSCP field in the GRE tunnel header is the DSCP carried by the above message b, that is, 3.
  • the node 3_A forwards the data stream encapsulating the GRE tunnel header through the path corresponding to the path when the DSCP is 3.
  • the node 3_B receives the data stream, identifies the DSCP field in the GRE tunnel header of the data stream, finds that the DSCP is 3, and finds the forwarding information including the DSCP 3 from all the previously received forwarding information, and finds the forwarding information in the forwarding information. One hop forward.
  • the node 3_D is similar to the node 3_B.
  • the DSCP field in the GRE tunnel header of the data stream is identified, and the DSCP is found to be 3.
  • the forwarding information including the DSCP 3 is found in all the forwarding information that has been received before. The next hop forward in the found forwarding information.
  • the node 3_C receives the data stream, decapsulates and forwards the data stream according to the tunnel source address and the destination address in the GRE tunnel header of the data stream.
  • the port can be specified on the path selected by the service 1, and the traffic collection policy is delivered.
  • the matching rule is the GRE tunnel source address, the GRE tunnel destination address, and the DSCP.
  • the specified port is collected and the traffic of service 1 is collected on the specified collection port as the basis for traffic scheduling.
  • the designated collection port may be: an outbound port of the service 1 data stream is forwarded by each node except the node 3_C on the path selected for the service 1.
  • the determined multiple path records may be recorded. To the path planning list.
  • the SDN controller monitors the path optimization condition in real time.
  • the path optimization condition may be implemented when the network topology changes, such as a new link or link failure, and the change causes the previously determined data flow for the specified service to be The path that the first network device sends to the second network device changes.
  • the path recorded by the path planning list is path optimized.
  • the path optimization herein includes at least: adding a path in the path planning list, and deleting the path from the path planning list.
  • Figure 4 specifically shows how to optimize the scheduling path for the path planning list.
  • FIG. 4 is a flowchart of scheduling path optimization provided by the present disclosure. As shown in FIG. 4, the process may include the following steps:
  • step 401 the SDN controller deletes the path of the fault from the path planning list.
  • Step 402 The SDN controller calculates a path between the first network device and the second network device, and records the calculated path to the candidate path list.
  • the SDN controller records the calculated paths as candidate scheduling paths to the candidate path list. If the calculated number of paths is greater than M, The calculated paths are sorted according to the path cost from low to high, and the first M paths are selected from the sequence as candidate scheduling paths to the candidate path list. Finally, the number of paths recorded by the candidate path list does not exceed M.
  • Step 403 The SDN controller deletes the path recorded in the path planning list from the candidate path list, and if the candidate path list is deleted after the path recorded in the path planning list is not empty, the candidate path list is used. The path optimizes the path of the path in the path planning list.
  • Step a1 Compare the number of paths K and H in the candidate path list, and H is the difference between M and the number L of paths in the path planning list. If K is less than or equal to H, perform step a2. If K is greater than H, perform steps. A3.
  • step a2 all the paths in the candidate path list are added to the path planning list. End path optimization.
  • step a3 H paths are extracted from the candidate path list according to the path cost from low to high and added to the path planning list, and the H paths are deleted from the candidate path list, and the candidate path list after the H paths are deleted.
  • the first specified path replaces the second specified path in the path plan list, wherein the path cost of the first specified path is less than the path cost of the second specified path.
  • the second specified path in the first specified path replacement path plan list in the candidate path list after the H paths are deleted includes:
  • the path cost of the former is smaller than the path cost of the latter, replace the path with the highest path cost in the path planning list with the path with the lowest path cost in the candidate path list, and delete the path cost from the candidate path list.
  • the lowest path if the candidate path list is deleted after the path with the lowest path cost is not empty, returns a step of comparing the path with the lowest path cost in the candidate path list and the path with the highest path cost in the path plan list.
  • the scheduled path of the original path record list is deleted due to optimization (recorded as the second type of scheduling path).
  • the present disclosure also provides a corresponding solution, specifically:
  • the forwarding information is sent to the network device except the second network device on the first type of scheduling path to ensure that the first type of scheduling path forwards the specified service in time.
  • the network device other than the second network device on the second type of scheduling path is notified to delete the forwarding information of the second type of scheduling path, so that each scheduling object deletes the redundant forwarding information in time.
  • the forwarding information is generally sent to the network device except the second network device on the first type of scheduling path, and then the second type of scheduling path is notified except the second network device.
  • the external network device deletes the forwarding information of the second type of scheduling path, and the purpose thereof is to prevent the data stream transmission from being interrupted.
  • FIG. 5 is a structural diagram of a device provided by the present disclosure.
  • the device is applied to an SDN controller and includes:
  • the path determining module 501 is configured to determine, by the multiple network paths, the data flows of the specified service from the first network device to the second network device;
  • the forwarding information configuration module 502 is configured to allocate a path identifier for each of the multiple paths, and for each path of the multiple paths, except for the second network device, the path is
  • the network device delivers the forwarding information, where the path assigned to each path identifies a unique corresponding path and the specified service, and the forwarding information is used to indicate that the data flow carrying the path identifier of the path is forwarded to receive the forwarding information.
  • the path adjustment module 503 is configured to select a path from the multiple paths according to a preset rule, and send the path identifier of the selected path to the first network device, so that the first network device is in the designated service. A path identifier of the selected path is added to the data stream.
  • the path determining module 501 determines that the multiple paths for sending the data flow of the specified service from the first network device to the second network device include:
  • the calculated paths are sorted according to the path cost from low to high, and the first M paths selected from the sequence are determined to be used to stream the data of the specified service from the first network device. Multiple paths sent to the second network device;
  • the M is the maximum number of paths from the first network device to the second network device.
  • the path adjustment module 503 further reselects a path from the multiple paths and notifies the first network device according to a preset rule when detecting that the selected path satisfies the path adjustment condition. So that the first network device adds the path identifier of the reselected path in the data stream of the specified service;
  • the path adjustment condition includes: the path quality does not meet the path constraint condition corresponding to the specified service, and/or the path includes the fault link.
  • the path determining module 501 further records the multiple paths to the path planning list;
  • the path adjustment module 503 performs path optimization on the path recorded by the path planning list when the path optimization condition is met, where the path optimization includes at least: adding a path in the path planning list and deleting the path from the path planning list; For each path added to the path planning list, the forwarding information is sent to the network device except the second network device.
  • the path optimization module 503 performs path optimization on the path recorded by the path planning list, including:
  • the path in the path planning list is used to optimize the path in the path planning list.
  • the path adjustment module 503 performs path optimization on the path in the path planning list by using the path in the candidate path list, including:
  • the present disclosure also provides a hardware configuration diagram corresponding to the apparatus shown in FIG. As shown in FIG. 6, it can include a machine readable storage medium 601, a processor 602, a machine readable storage medium 601, and a processor 602 can communicate via a system bus 603.
  • the machine readable storage medium 601 is configured to store the machine executable instructions corresponding to the operations performed by the path determining module 501, the forwarding information configuration module 502, and the path adjusting module 503;
  • the processor 602 is configured to load and execute machine executable instructions to implement the foregoing service scheduling method.
  • machine-readable storage medium 601 can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, and the like.
  • the machine-readable storage medium may be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drive (such as a hard disk drive), solid state drive, any type of storage disk. (such as a disc, dvd, etc.), or a similar storage medium, or a combination thereof.

Landscapes

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

Abstract

软件定义网络(SDN)控制器确定用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径;所述SDN控制器为所述多条路径中的每条路径分配路径标识,其中,为每条路径分配的路径标识唯一对应该路径及所述指定业务;所述SDN控制器针对所述多条路径中的每条路径,向该路径上除所述第二网络设备之外的网络设备下发转发信息,转发信息用于指示将携带该路径的路径标识的数据流转发至接收该转发信息的网络设备在该路径上的下一跳;所述SDN控制器根据预设规则从所述多条路径中选择一条路径,将选择的路径的路径标识发送至所述第一网络设备,以使第一网络设备在所述指定业务的数据流中添加所述选择的路径的路径标识。

Description

数据流传输
相关申请的交叉引用
本申请基于并要求2017年7月25日递交的中国专利申请201710610243.0的优先权,其所有内容通过引用包含于此。
背景技术
软件定义网络(SDN:Software Defined Network)控制器通常是基于多协议标签交换(MPLS:Multi-Protocol Label Switching)进行数据流传输的。而目前,数据流传输应用的基础网络大多是IP网络,为了适应数据流传输的业务需求,SDN控制器也提供了基于IP网络的数据流传输。
在基于IP网络的数据流传输过程中,SDN控制器可以向数据流经由的路径上的各个网络设备下发路由,路由指示了出口或下一跳,用于实现数据流的一跳传输。一旦数据流传输经由的路径发生变化,SDN控制器可以重新选择新的路径,并向选择的新的路径上的各个网络设备下发路由,这会导致路径调整的时间过长。
附图说明
图1为本公开提供的方法流程图;
图2为本公开提供的实施组网示意图;
图3为本公开提供的实施例应用的行业纵向组网图;
图4为本公开提供的路径优化流程图;
图5为本公开提供的装置结构示意图;
图6为本公开提供的图5所示装置的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
参见图1,图1为本发明提供的方法流程图。该流程应用于SDN控制器。
如图1所示,该流程可包括以下步骤:
步骤101,SDN控制器确定用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径。
在本公开中,作为一个实施例,第一网络设备、第二网络设备是由SDN控制器基于指定业务的网络范围确定出的起止调度业务对象。这里的指定业务可为不同类型的各业务,比如视频业务、办公业务等。
如图2所示组网,存在节点1至节点6共6个节点,视频业务的网络范围为:应用在节点1至节点3之间。以指定业务为视频业务为例,SDN控制器依据定义的视频业务的网络范围确定出节点1、节点3为进行视频业务调度的起止调度业务对象,其中,节点1为起始调度业务对象,即上述的第一网络设备,节点3为终止调度业务对象,即上述的第二网络设备。
作为一个实施例,上述指定业务的网络范围是基于组网中的网络拓扑定义的。这里的网络拓扑可基于边界网关协议链路状态(BGP-LS:Border Gateway Protocol Link State)动态收集,也可由用户手工添加,本公开并不具体限定。
当确定完用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径后,在本公开中,第一网络设备至第二网络设备之间的其他业务均可以共享该确定出的多条路径。
在本公开中,作为一个实施例,不管是路径还是业务,均可通过差分服务代码点(DSCP:Differentiated Services Code Point)进行区分。然而,DSCP的个数是有限的,比如只有1至47、49至63共62个数值可以使用,因此,可以限制上述步骤101确定出的用于将指定业务的数据流从第一网络设备发送至第二网络设备的路径数量N,以及限制第一网络设备与第二网络设备之间的业务数量T。作为一个实施例,上述N大于1且小于等于预设路径最大数M,M为规划出的从第一网络设备至第二网络设备的最大路径数量,T大于或等于1且小于等于预设业务最大数S。其中,S、M满足以下条件:DSCP个数=S*(M+1)。
基于上述的M,则步骤101中,确定用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径可包括:计算从第一网络设备至第二网络设备的路径;若计算出的路径的条数小于或等于M,则将计算出的所有路径确定为用于将指定业务的数据流从第一网络设备发送至第二网络设备 的多条路径;若计算出的路径的条数大于M,则按照路径代价从低至高的顺序对计算出的路径排序,从序列中选择出前M条路径确定为用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径。最终,确定出的用于将指定业务的数据流从第一网络设备发送至第二网络设备的路径数量不超过M。
步骤102,SDN控制器为步骤101确定出的多条路径中的每条路径分配路径标识。
在本公开中,为每条路径分配的路径标识唯一对应该路径及所述指定业务。这里的路径标识为DSCP数值,下文会举例描述,这里暂不描述。
步骤103,SDN控制器针对步骤101确定出的多条路径中的每条路径,向该路径上除第二网络设备之外的网络设备下发转发信息。
在本公开中,转发信息用于指示将携带该路径的路径标识的数据流转发至接收该转发信息的网络设备在该路径上的下一跳,转发信息至少携带:路径标识、路径下一跳。
步骤104,SDN控制器根据预设规则从步骤101确定出的多条路径中选择一条路径,将选择的路径的路径标识发送至第一网络设备,以使第一网络设备在指定业务的数据流中添加选择的路径的路径标识。
根据步骤103可知,第一网络设备上可以保存多个转发信息,每个转发信息对应了一条路径,可以通过路径的路径标识确定转发信息。当第一网络设备收到指定业务的数据流时,在指定业务的数据流中增加SDN控制器通知的路径标识,如此,基于该路径标识,第一网络设备可以通过与路径标识对应的转发信息将数据流转发给下一跳。当所述下一跳收到数据流时,依据数据流携带的路径标识选择对应的转发信息并进行转发,最终使得指定业务的数据流沿着路径标识所对应的路径转发。
至此,完成图1所示的流程。
通过图1所示流程可以看出,本公开中,在第一网络设备调度指定业务的数据流至第二网络设备之前,SDN控制器提前将用于发送指定业务数据流的每一路径的转发信息下发至该路径上除第二网络设备之外的网络设备,这相当于先在第一网络设备与第二网络设备之间提前部署用于发送指定业务数据流的所有路径,不用等到后续指定业务数据流的发送路径发生调整时再 下发调整后的路径的转发信息,提高路径调整效率。
进一步地,在本公开中,上述步骤101确定出的用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径是公有路径,可被其他任意两个网络设备之间的业务共享,这能简化路径资源消耗。
作为一个实施例,在本公开中,为了保证指定业务的数据流始终沿着最优的路径转发,本公开中,可以实时监测为指定业务的数据流选择的路径(也称为指定业务数据流的当前路径),一旦监测到指定业务数据流的当前路径满足路径调整条件,则可以更新指定业务数据流的当前路径。这里的满足路径调整条件包括:指定业务数据流的当前路径的路径质量未满足指定业务对应的路径约束条件,和/或,指定业务数据流的当前路径中包含故障链路。这里,指定业务对应的路径约束条件是根据业务需求自定义的,比如为路径延时时间、路径丢包率、路径带宽大小等。
具体地,SDN控制器在检测到指定业务数据流的当前路径满足路径调整条件时,则意味着指定业务数据流的当前路径不再适宜继续转发指定业务的数据流,也不会再是上述步骤101确定出的多条路径中最优的路径,基于此,为了保证指定业务的数据流始终按照最优的路径转发,则SDN控制器根据预设规则从上述步骤101确定出的多条路径中重新选择一条路径并通知该重新选择的路径的路径标识给第一网络设备,以使第一网络设备在指定业务的数据流中添加重新选择的路径的路径标识,这也意味着指定业务数据流的当前路径变为上述重新选择的路径,实现了指定业务的数据流始终按照最优的路径转发。
在本公开中,SDN控制器将根据预设规则从上述步骤101确定出的多条路径中重新选择一条路径并通知给第一网络设备,相当于指定业务数据流的路径调整,但因为之前已向上述多条路径中的每条路径上除第二网络设备之外的网络设备下发转发信息,如此,即使路径调整,也不需要将重新选择的路径的转发信息下发,这大大提高了路径调整效率。
下面通过以下实施例对本公开提供的图1所示方法进行描述:
参见图3,图3为本公开提供的实施例应用的行业纵向组网图。在图3所示的行业纵向组网中,假如SDN控制器根据预定义的业务网络范围生成的起始调度业务对象为图3中的节点3_A、终止调度业务对象为节点3_C。其中, 行业纵向组网中的业务网络范围可依据基于整个行业纵向组网的网络拓扑或预先配置的网络拓扑定义。这里的网络拓扑包括:节点信息(厂商、版本、以及接口信息等),链路信息(包括节点之间的连接关系)、链路可分配带宽以及动态链路属性比如延时、丢包率、实时带宽等。
SDN控制器在节点3_A与节点3_C之间建立双向隧道。双向隧道的隧道源地址为节点3_A的环回(LoopBack)口地址,隧道目的地址为节点3_C的LoopBack口地址。本实施例以节点3_A与节点3_C之间建立的双向隧道为GRE(Generic Routing Encapsulation)隧道为例,GRE隧道的隧道源地址为节点3_A的LoopBack口地址1.1.1.1,隧道目的地址为节点3_C的LoopBack口地址1.1.1.3。需要说明的是,若节点3_A与节点3_C之间已建立了GRE隧道,则此步骤可省略。
作为一个实施例,为了保证节点3_A到节点3_C的所有业务都优先通过GRE隧道转发,则在节点3_A与节点3_C之间建立GRE隧道后,节点3_C可将本地私网路由通过边界网关协议(BGP:Border Gateway Protocol)发布到GRE隧道,以实现节点3_A到节点3_C的所有业务都优先通过GRE隧道转发。
SDN控制器检查到还未规划从节点3_A至节点3_C的路径,则确定出从节点3_A发送至节点3_C的路径。确定出路径尽量不重复、路径代价(cost)最低且数量小于预设路径最大数M的调度路径。作为一个实施例,这里的M取值为5。
基于图3所示的组网,假如SDN控制器确定出从节点3_A发送至节点3_C的路径为:
路径1:节点3_A->节点3_C,cost为1,跳数为1;
路径2:节点3_A->节点3_B->节点3_D->节点3_C,cost为3,跳数为3;
路径3:节点3_A->节点3_E->节点3_F->节点3_B->节点3_D->节点3_C,cost为5,跳数为5。
SDN控制器在确定出用于从节点3_A发送至节点3_C的路径后,针对每一路径,确定节点3_A到节点3_C之间的每一业务应用至该路径的DSCP。
假如节点3_A到节点3_C之间存在的业务数量是5(小于预设业务最大数S),该5个业务以及上述确定出的从节点3_A发送至节点3_C的路径的DSCP规划如表1所示:
Figure PCTCN2018096880-appb-000001
表1
举例描述表1中的数字,以数字“1”为例,在表1中,数字“1”为DSCP资源中的数值,表示为业务1的标识。再以数字“2”为例,在表1中,数字“2”为DSCP资源中的数值,与业务1和路径1均对应,具体为业务1应用至路径1的路径标识。表1中其他数字的意义类似,不再一一举例。
以表1所示的业务1为例,其他业务类似,则SDN控制器针对每一路径,向该路径上除节点3_C之外的节点下发转发信息。
以路径1为例,如上描述的路径1为:节点3_A->节点3_C,则SDN控制器向节点3_A下发路径1的转发信息。节点3_A为路径1的首跳节点,作为一个实施例,SDN控制器向节点3_A下发的转发信息举例可为全局基于策略的路由(PBR:Policy-Based Routing),具体包括:上述GRE隧道的源地址、目的地址、对应业务1的路径1的标识(即DSCP为2)、下一跳(节点3_C)。
再以路径2为例,如上描述的路径2为:节点3_A->节点3_B->节点3_D->节点3_C,则SDN控制器向节点3_A、向节点3_B、节点3_D下发路径2的转发信息。节点3_A为路径2上的首跳节点,作为一个实施例,SDN控制器向节点3_A下发的转发信息举例可为全局PBR,具体包括:上述GRE隧道的源地址、目的地址、对应业务1的路径2的标识(即DSCP为3)、下一跳(节点3_B)。节点3_B为路径2上的非首跳节点,作为一个实施例,SDN控制器向节点3_B下发的转发信息可为基于入接口的PBR,具体包括:上述GRE隧道的源地址、 目的地址、对应业务1的路径2的标识(即DSCP为3)、下一跳(节点3_D)。节点3_D也为路径2上的非首跳节点,作为一个实施例,SDN控制器向节点3_D下发的转发信息可为基于入接口的PBR,具体包括:上述GRE隧道的源地址、目的地址、对应业务1的路径2的标识(即DSCP为3)、下一跳(节点3_C)。路径为路径3的情况类似,不再赘述。
需要说明的是,假如SDN控制器检查出节点3_A与节点3_C之间已规划调度路径,则上述确定调度路径、下发转发信息的步骤可省略。
仍以表1所示的业务1为例,SDN控制器从上述三个路径即路径1、路径2、路径3中选出最优的一条路径,这里的最优是指路径质量、路径带宽、路径cost等路径参数最优。
假如SDN控制器选择出路径1最优,则SDN控制器发送通知消息(记为消息a)给节点3_A。该消息a携带业务1选用的路径1的DSCP即2,用于指示业务1选用路径1作为可用业务路径。
节点3_A接收SDN控制器发送的消息a,保存消息a携带的DSCP即2。
节点3_A后续收到业务1的数据流时,识别收到的数据流为业务1的数据流,则在数据流上封装GRE隧道头,GRE隧道头中的隧道源地址字段为上述GRE隧道的源地址,隧道目的地址字段为上述GRE隧道的目的地址。GRE隧道头中的DSCP字段为:上述消息a携带的DSCP即2。作为一个实施例,节点3_A识别收到的数据流为业务1的数据流具体为:识别数据流的原始特征比如业务对应的端口号等,从预先定义出的数据流原始特征与业务之间的对应关系中找到包含该识别出的原始特征的对应关系,若该找到的对应关系中的业务标识为业务1的标识,则确定收到的数据流为业务1的数据流。
节点3_A将封装了GRE隧道头的数据流通过DSCP为2时对应的路径即路径1转发。
节点3_C接收数据流,依据数据流的GRE隧道头中的隧道源地址和目的地址对数据流进行GRE隧道头解封装并转发。
在实际应用中,即使之前路径1在被选为业务1的可用业务路径时是最优的,但随着路径1传输数据流的增多,路径1的链路质量也会发生变化,基于此,本公开中,SDN控制器会实时监控路径1的链路质量,一旦检测到路径1的链路质量低劣,达到路径调整条件,这里的路径调整条件如上所述,则基 于当前各调度路径即路径1、路径2、路径3的链路质量重新选出最优的一条路径。
假如SDN控制器选择出路径2最优,则SDN控制器发送通知消息(记为消息b)给节点3_A。该消息b携带业务1选用的路径2的DSCP即3,用于指示之前为业务1选用的路径1需更新为路径2。基于SDN控制器提前将业务1应用的所有路径的转发信息下发的前提,此时即使进行路径调整,SDN控制器只需通知节点3_A将之前为业务1选择的路径1更新为路径2即可,并不下发路径2的转发信息,大大提高了路径调整效率。
节点3_A接收SDN控制器发送的消息b,保存消息b携带的DSCP即3。
节点3_A后续收到业务1的数据流时,识别收到的数据流为业务1的数据流,则在数据流上封装GRE隧道头,GRE隧道头中的隧道源地址字段为上述GRE隧道的源地址,隧道目的地址字段为上述GRE隧道的目的地址。GRE隧道头中的DSCP字段为上述消息b携带的DSCP即3。
节点3_A将封装了GRE隧道头的数据流通过DSCP为3时对应的路径即路径2转发。
节点3_B接收到数据流,识别数据流的GRE隧道头中DSCP字段,发现DSCP为3,从之前已收到的所有转发信息中找到包含DSCP为3的转发信息,通过找到的转发信息中的下一跳转发。
节点3_D与节点3_B类似,当接收到数据流时,识别数据流的GRE隧道头中DSCP字段,发现DSCP为3,从之前已收到的所有转发信息中找到包含DSCP为3的转发信息,通过找到的转发信息中的下一跳转发。
节点3_C接收数据流,依据数据流的GRE隧道头中的隧道源地址和目的地址对数据流进行GRE隧道头解封装并转发。
需要说明的是,在本实施例中,当SDN控制器为业务1选择路径后,为方便对业务1的流量采集,可在为业务1选择的路径上指定采集出端口,下发流量采集策略(匹配规则为GRE隧道源地址、GRE隧道目的地址、DSCP)给该指定采集出端口,在指定采集出端口上采集业务1的流量作为流量调度的依据。作为一个实施例,指定采集出端口可为:为业务1选择的路径上除节点3_C之外各个节点转发业务1数据流的出端口。
以上对本公开提供的实施例进行了描述。
需要说明的是,作为一个实施例,SDN控制器在确定出用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径后,可将确定出的多条路径记录至路径规划列表。
SDN控制器实时监测路径优化条件,这里的路径优化条件具体实现时可为网络拓扑发生变化比如新增链路或链路故障、且该变化导致之前确定出的用于将指定业务的数据流从第一网络设备发送至第二网络设备的路径发生变化。
当SDN监测到路径优化条件满足时,则对路径规划列表记录的路径进行路径优化。作为一个实施例,这里的路径优化至少包括:在路径规划列表中新增路径、从路径规划列表中删除路径。图4具体示出了如何对路径规划列表进行调度路径的优化。
参见图4,图4为本公开提供的调度路径优化流程图。如图4所示,该流程可包括以下步骤:
步骤401,SDN控制器从路径规划列表中删除故障的路径。
步骤402,SDN控制器计算第一网络设备与第二网络设备之间的路径,将计算的路径记录至候选路径列表。
作为一个实施例,SDN控制器若计算出的路径的条数小于或等于M,则将计算出的各路径作为候选调度路径记录至候选路径列表,若计算出的路径的条数大于M,则按照路径代价从低至高的顺序对计算出的路径排序,从序列中选择出前M条路径作为候选调度路径记录至候选路径列表。最终,候选路径列表记录的路径数量不超过M。
步骤403,SDN控制器从候选路径列表中删除记录在所述路径规划列表中的路径,若候选路径列表删除记录在所述路径规划列表中的路径后不为空,则利用候选路径列表中的路径对所述路径规划列表中的路径进行路径优化。
至于如何利用候选路径列表中的路径对路径规划列表中的路径进行路径优化,具体为:
步骤a1,比较候选路径列表中的路径数量K与H,H为M与路径规划列表中路径数量L之间的差值,若K小于或等于H,执行步骤a2,若K大于H,执行步骤a3。
步骤a2,将候选路径列表中所有路径添加至所述路径规划列表。结束路径优化。
步骤a3,按照路径代价从低至高的原则从候选路径列表中提取H条路径并添加至路径规划列表,从候选路径列表中删除上述H条路径,将删除H条路径后的候选路径列表中的第一指定路径替换路径规划列表中的第二指定路径,其中,第一指定路径的路径代价小于第二指定路径的路径代价。
作为一个实施例,这里,将删除H条路径后的候选路径列表中的第一指定路径替换路径规划列表中的第二指定路径包括:
比较候选路径列表中路径代价最低的路径与所述路径规划列表中路径代价最高的路径,
如果前者的路径代价大于后者的路径代价,结束路径优化,
如果前者的路径代价小于后者的路径代价,则将所述路径规划列表中路径代价最高的路径替换为所述候选路径列表中路径代价最低的路径,并从候选路径列表中删除所述路径代价最低的路径,若候选路径列表删除上述路径代价最低的路径后不为空,则返回比较所述候选路径列表中路径代价最低的路径与所述路径规划列表中路径代价最高的路径的步骤。
至此,完成图4所示的流程。
通过图4所示流程中步骤401至步骤403,完成调度路径的优化。
最终,路径规划列表中记录的路径相比于优化之前记录的路径会发生以下变化:
路径规划列表新增加了一些优化的调度路径(记为第一类调度路径);
路径规划列表原来记录的调度路径因为优化而被删除(记为第二类调度路径)。
对于以上两类调度路径,本公开还提供了对应的解决方法,具体为:
对于第一类调度路径,则向第一类调度路径上除第二网络设备之外的网络设备下发转发信息,以保证第一类调度路径及时正常转发指定业务。
对于第二类调度路径,则通知第二类调度路径上除第二网络设备之外的网络设备删除第二类调度路径的转发信息,以使各调度对象及时删除冗余的转发信息。作为一个实施例,在本公开中,一般都是先向第一类调度路径上除第二网络设备之外的网络设备下发转发信息,之后才通知第二类调度路径 除第二网络设备之外的网络设备删除第二类调度路径的转发信息,其目的是防止数据流传输中断。
至此,完成本发明提供的方法描述。
下面对本发明提供的装置进行描述:
参见图5,图5为本公开提供的装置结构图。该装置应用于SDN控制器,包括:
路径确定模块501,确定用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径;
转发信息配置模块502,用于为所述多条路径中的每条路径分配路径标识,并针对所述多条路径中的每条路径,向该路径上除所述第二网络设备之外的网络设备下发转发信息,所述为每条路径分配的路径标识唯一对应该路径及所述指定业务,所述转发信息用于指示将携带该路径的路径标识的数据流转发至接收该转发信息的网络设备在该路径上的下一跳;
路径调整模块503,用于根据预设规则从所述多条路径中选择一条路径,将选择的路径的路径标识发送至所述第一网络设备,以使第一网络设备在所述指定业务的数据流中添加所述选择的路径的路径标识。
作为一个实施例,所述路径确定模块501确定用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径包括:
计算从第一网络设备至第二网络设备的路径;
若计算出的路径的条数小于或等于M,则将计算出的所有路径确定为用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径;
若计算出的路径的条数大于M,则按照路径代价从低至高的顺序对计算出的路径排序,从序列中选择出前M条路径确定为用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径;
其中,所述M为所述第一网络设备至第二网络设备的最大路径数量。
作为一个实施例,所述路径调整模块503进一步当检测到所述选择的路径满足路径调整条件时,根据预设规则从所述多条路径中重新选择一条路径并通知给所述第一网络设备,以使第一网络设备在所述指定业务的数据流中添加所述重新选择的路径的路径标识;
其中,所述路径调整条件包括:路径质量未满足所述指定业务对应的路 径约束条件,和/或,路径中包含故障链路。
作为一个实施例,所述路径确定模块501进一步将所述多条路径记录至路径规划列表;
所述路径调整模块503在满足路径优化条件时,对所述路径规划列表记录的路径进行路径优化,所述路径优化至少包括:在路径规划列表中新增路径、从路径规划列表中删除路径;针对所述路径规划列表新增的每一路径,向该路径上除所述第二网络设备之外的网络设备下发转发信息。
所述路径调整模块503对路径规划列表记录的路径进行路径优化包括:
从所述路径规划列表中删除故障的路径;
计算从第一网络设备至第二网络设备的路径,并将计算的路径记录至候选路径列表,从候选路径列表中删除记录在所述路径规划列表中的路径;
若候选路径列表删除记录在所述路径规划列表中的路径后不为空,则利用候选路径列表中的路径对所述路径规划列表中的路径进行路径优化。
作为一个实施例,所述路径调整模块503利用候选路径列表中的路径对路径规划列表中的路径进行路径优化包括:
若所述候选路径列表中的路径数量K小于或等于H,所述H为M与所述路径规划列表中路径数量L之间的差值,则将所述候选路径列表中所有路径添加至所述路径规划列表;
若所述K大于所述H,则按照路径代价从低至高的原则从所述候选路径列表中提取H条路径并添加至所述路径规划列表,并从所述候选路径列表中删除所述H条路径,将删除H条路径后的候选路径列表中的第一指定路径替换路径规划列表中的第二指定路径,其中,第一指定路径的路径代价小于第二指定路径的路径代价。
至此,完成本发明提供的装置结构图。
相应地,本公开还提供了对应图5所示装置的硬件结构图。如图6所示,其可包括:机器可读存储介质601、处理器602;机器可读存储介质601、处理器602可经由系统总线603通信。
其中,机器可读存储介质601,用于存储上述路径确定模块501、转发信息配置模块502、路径调整模块503所执行的操作对应的机器可执行指令;
处理器602,用于加载并执行机器可执行指令,以实现上述的业务调度 方法。
作为一个实施例,机器可读存储介质601可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
至此,完成图6所示的硬件结构描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (15)

  1. 一种数据流传输方法,包括:
    软件定义网络(SDN)控制器确定用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径;
    所述SDN控制器为所述多条路径中的每条路径分配路径标识,其中,为每条路径分配的路径标识唯一对应该路径及所述指定业务;
    所述SDN控制器针对所述多条路径中的每条路径,向该路径上除所述第二网络设备之外的网络设备下发转发信息,转发信息用于指示将携带该路径的路径标识的数据流转发至接收该转发信息的网络设备在该路径上的下一跳;
    所述SDN控制器根据预设规则从所述多条路径中选择一条路径,将选择的路径的路径标识发送至所述第一网络设备,以使第一网络设备在所述指定业务的数据流中添加所述选择的路径的路径标识。
  2. 根据权利要求1所述的方法,其中,所述SDN控制器确定用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径包括:
    所述SDN控制器计算从第一网络设备至第二网络设备的路径;
    若计算出的路径的条数小于或等于M,则所述SDN控制器将计算出的所有路径确定为用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径;
    若计算出的路径的条数大于M,则所述SDN控制器按照路径代价从低至高的顺序对计算出的路径排序,从序列中选择出前M条路径确定为用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径;
    其中,所述M为所述第一网络设备至第二网络设备的最大路径数量。
  3. 根据权利要求1所述的方法,其中,所述方法还包括:
    当检测到所述选择的路径满足路径调整条件时,所述SDN控制器根据预设规则从所述多条路径中重新选择一条路径并通知该重新选择的路径的路径标识给所述第一网络设备,以使第一网络设备在所述指定业务的数据流中添加所述重新选择的路径的路径标识;
    其中,所述路径调整条件包括:路径质量未满足所述指定业务对应的路径约束条件,和/或,路径中包含故障链路。
  4. 根据权利要求1所述的方法,其中,所述方法还包括:
    所述SDN控制器将所述多条路径记录至路径规划列表;
    在满足路径优化条件时,所述SDN控制器对所述路径规划列表记录的路径进行路径优化,所述路径优化至少包括:在路径规划列表中新增路径、从路径规划列表中删除路径;
    针对所述路径规划列表新增的每一路径,所述SDN控制器向该路径上除所述第二网络设备之外的网络设备下发转发信息。
  5. 根据权利要求4所述的方法,其中,所述SDN控制器对路径规划列表记录的路径进行路径优化包括:
    所述SDN控制器从所述路径规划列表中删除故障的路径;
    所述SDN控制器计算从第一网络设备至第二网络设备的路径,并将计算的路径记录至候选路径列表,从候选路径列表中删除记录在所述路径规划列表中的路径;
    若候选路径列表删除记录在所述路径规划列表中的路径后不为空,则所述SDN控制器利用候选路径列表中的路径对所述路径规划列表中的路径进行路径优化。
  6. 根据权利要求5所述的方法,其中,所述SDN控制器利用候选路径列表中的路径对路径规划列表中的路径进行路径优化包括:
    若所述候选路径列表中的路径数量K小于或等于H,所述H为M与所述路径规划列表中路径数量L之间的差值,则所述SDN控制器将所述候选路径列表中所有路径添加至所述路径规划列表;
    若所述K大于所述H,则所述SDN控制器按照路径代价从低至高的原则从所述候选路径列表中提取H条路径并添加至所述路径规划列表,并从所述候选路径列表中删除所述H条路径,将删除H条路径后的候选路径列表中的第一指定路径替换路径规划列表中的第二指定路径,其中,第一指定路径的路径代价小于第二指定路径的路径代价;
    其中,所述M为所述第一网络设备至第二网络设备的最大路径数量。
  7. 根据权利要求1所述的方法,其中,所述路径标识是差分服务代码点(DSCP:Differentiated Services Code Point)数值。
  8. 一种软件定义网络(SDN)控制器,包括:
    处理器;以及
    存储有机器可执行指令的机器可读存储介质,
    其中,通过读取并执行所述机器可执行指令,所述处理器被使得:
    确定用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径;
    为所述多条路径中的每条路径分配路径标识,其中,为每条路径分配的路径标识唯一对应该路径及所述指定业务;
    针对所述多条路径中的每条路径,向该路径上除所述第二网络设备之外的网络设备下发转发信息,转发信息用于指示将携带该路径的路径标识的数据流转发至接收该转发信息的网络设备在该路径上的下一跳;
    根据预设规则从所述多条路径中选择一条路径,将选择的路径的路径标识发送至所述第一网络设备,以使第一网络设备在所述指定业务的数据流中添加所述选择的路径的路径标识。
  9. 根据权利要求8所述的SDN控制器,其中,所述确定用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径包括:
    计算从第一网络设备至第二网络设备的路径;
    若计算出的路径的条数小于或等于M,则将计算出的所有路径确定为用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径;
    若计算出的路径的条数大于M,则按照路径代价从低至高的顺序对计算出的路径排序,从序列中选择出前M条路径确定为用于将指定业务的数据流从第一网络设备发送至第二网络设备的多条路径;
    其中,所述M为所述第一网络设备至第二网络设备的最大路径数量。
  10. 根据权利要求8所述的SDN控制器,其中,所述机器可执行指令还促使所述处理器:
    当检测到所述选择的路径满足路径调整条件时,根据预设规则从所述多条路径中重新选择一条路径并通知该重新选择的路径的路径标识给所述第一网络设备,以使第一网络设备在所述指定业务的数据流中添加所述重新选择的路径的路径标识;
    其中,所述路径调整条件包括:路径质量未满足所述指定业务对应的路径约束条件,和/或,路径中包含故障链路。
  11. 根据权利要求8所述的SDN控制器,其中,所述机器可执行指令还 促使所述处理器:
    将所述多条路径记录至路径规划列表;
    在满足路径优化条件时,对所述路径规划列表记录的路径进行路径优化,所述路径优化至少包括:在路径规划列表中新增路径、从路径规划列表中删除路径;
    针对所述路径规划列表新增的每一路径,向该路径上除所述第二网络设备之外的网络设备下发转发信息。
  12. 根据权利要求11所述的SDN控制器,其中,所述对路径规划列表记录的路径进行路径优化包括:
    从所述路径规划列表中删除故障的路径;
    计算从第一网络设备至第二网络设备的路径,并将计算的路径记录至候选路径列表,从候选路径列表中删除记录在所述路径规划列表中的路径;
    若候选路径列表删除记录在所述路径规划列表中的路径后不为空,则利用候选路径列表中的路径对所述路径规划列表中的路径进行路径优化。
  13. 根据权利要求12所述的SDN控制器,其中,所述利用候选路径列表中的路径对路径规划列表中的路径进行路径优化包括:
    若所述候选路径列表中的路径数量K小于或等于H,所述H为M与所述路径规划列表中路径数量L之间的差值,则将所述候选路径列表中所有路径添加至所述路径规划列表;
    若所述K大于所述H,则按照路径代价从低至高的原则从所述候选路径列表中提取H条路径并添加至所述路径规划列表,并从所述候选路径列表中删除所述H条路径,将删除H条路径后的候选路径列表中的第一指定路径替换路径规划列表中的第二指定路径,其中,第一指定路径的路径代价小于第二指定路径的路径代价;
    其中,所述M为所述第一网络设备至第二网络设备的最大路径数量。
  14. 根据权利要求8所述的SDN控制器,其中,所述路径标识是差分服务代码点(DSCP:Differentiated Services Code Point)数值。
  15. 一种机器可读存储介质,包括在被机器执行时使所述机器执行如下操作的指令:
    确定用于将指定业务的数据流从第一网络设备发送至第二网络设备的 多条路径;
    为所述多条路径中的每条路径分配路径标识,其中,为每条路径分配的路径标识唯一对应该路径及所述指定业务;
    针对所述多条路径中的每条路径,向该路径上除所述第二网络设备之外的网络设备下发转发信息,转发信息用于指示将携带该路径的路径标识的数据流转发至接收该转发信息的网络设备在该路径上的下一跳;
    根据预设规则从所述多条路径中选择一条路径,将选择的路径的路径标识发送至所述第一网络设备,以使第一网络设备在所述指定业务的数据流中添加所述选择的路径的路径标识。
PCT/CN2018/096880 2017-07-25 2018-07-24 数据流传输 Ceased WO2019020032A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020503012A JP6920533B2 (ja) 2017-07-25 2018-07-24 データフロー伝送
US16/633,084 US11190439B2 (en) 2017-07-25 2018-07-24 Data stream transmission
EP18838920.9A EP3661135B1 (en) 2017-07-25 2018-07-24 Data stream transmission

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710610243.0 2017-07-25
CN201710610243.0A CN108418755B (zh) 2017-07-25 2017-07-25 数据流传输方法和装置

Publications (1)

Publication Number Publication Date
WO2019020032A1 true WO2019020032A1 (zh) 2019-01-31

Family

ID=63125442

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/096880 Ceased WO2019020032A1 (zh) 2017-07-25 2018-07-24 数据流传输

Country Status (5)

Country Link
US (1) US11190439B2 (zh)
EP (1) EP3661135B1 (zh)
JP (1) JP6920533B2 (zh)
CN (1) CN108418755B (zh)
WO (1) WO2019020032A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113271253A (zh) * 2020-02-14 2021-08-17 华为技术有限公司 一种路径确定方法及其相关设备
CN114722075A (zh) * 2021-01-04 2022-07-08 中国移动通信集团山东有限公司 数据流处理方法及装置、服务器、存储介质
CN117938750A (zh) * 2024-03-22 2024-04-26 腾讯科技(深圳)有限公司 调度路由信息的处理方法、装置、设备、存储介质及产品

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184235B2 (en) * 2018-03-06 2021-11-23 Cisco Technology, Inc. In-band direct mode performance loss measurement in software defined networks
US10986017B2 (en) * 2018-08-23 2021-04-20 Agora Lab, Inc. Large-scale real-time multimedia communications
CN111327537B (zh) * 2018-12-14 2022-08-02 中国电信股份有限公司 流量转发方法、系统、sdn控制器及计算机可读存储介质
CN111327524B (zh) * 2018-12-14 2022-06-07 中国电信股份有限公司 流量转发方法、系统、sdn控制器及计算机可读存储介质
US11397624B2 (en) * 2019-01-22 2022-07-26 Arm Limited Execution of cross-lane operations in data processing systems
CN112995068B (zh) * 2019-12-12 2024-01-05 华为技术有限公司 数据传输方法、装置及系统
US20220369202A1 (en) * 2021-05-14 2022-11-17 At&T Intellectual Property I, L.P. Facilitation of service integrity detection and self healing to support 5g or other next generation networks
CN116800671A (zh) * 2023-07-20 2023-09-22 中国工商银行股份有限公司 数据传输方法、装置、计算机设备、存储介质和程序产品
CN118842744A (zh) * 2024-07-10 2024-10-25 咪咕音乐有限公司 一种应用报文的传输方法、装置、设备、介质和程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104184663A (zh) * 2014-07-17 2014-12-03 北京交通大学 基于软件定义网络和一体化标识网络的通信方法和装置
CN105656744A (zh) * 2014-11-10 2016-06-08 华为数字技术(苏州)有限公司 服务链路径的标识方法、设备和服务链
CN105791169A (zh) * 2014-12-16 2016-07-20 电信科学技术研究院 软件定义网络中交换机转发控制、转发方法及相关设备
US20170104668A1 (en) * 2015-10-13 2017-04-13 Fujitsu Limited Network service computation system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1921324B (zh) * 2006-09-18 2010-08-11 北京北方烽火科技有限公司 码分多址通信系统的多径搜索方法
US8989192B2 (en) * 2012-08-15 2015-03-24 Futurewei Technologies, Inc. Method and system for creating software defined ordered service patterns in a communications network
US20150207675A1 (en) 2012-08-28 2015-07-23 Nec Corporation Path Control System, Control Apparatus, Edge Node, Path Control Method, And Program
CN104579968B (zh) * 2013-10-26 2018-03-09 华为技术有限公司 Sdn交换机获取精确流表项方法及sdn交换机、控制器、系统
US9762508B2 (en) * 2014-10-02 2017-09-12 Microsoft Technology Licensing, Llc Relay optimization using software defined networking
US20160254984A1 (en) * 2015-02-27 2016-09-01 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Method and system for delivering service-enabled flow paths across multiple domains in sdn networks
JP6587518B2 (ja) 2015-11-18 2019-10-09 三菱電機株式会社 経路探索装置及び経路探索方法
CN106130766B (zh) * 2016-09-23 2020-04-07 深圳灵动智网科技有限公司 一种基于sdn技术实现自动化网络故障分析的系统和方法
CN106130767B (zh) * 2016-09-23 2020-04-07 深圳灵动智网科技有限公司 一种业务路径故障监控及故障解决的系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104184663A (zh) * 2014-07-17 2014-12-03 北京交通大学 基于软件定义网络和一体化标识网络的通信方法和装置
CN105656744A (zh) * 2014-11-10 2016-06-08 华为数字技术(苏州)有限公司 服务链路径的标识方法、设备和服务链
CN105791169A (zh) * 2014-12-16 2016-07-20 电信科学技术研究院 软件定义网络中交换机转发控制、转发方法及相关设备
US20170104668A1 (en) * 2015-10-13 2017-04-13 Fujitsu Limited Network service computation system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3661135A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113271253A (zh) * 2020-02-14 2021-08-17 华为技术有限公司 一种路径确定方法及其相关设备
CN114722075A (zh) * 2021-01-04 2022-07-08 中国移动通信集团山东有限公司 数据流处理方法及装置、服务器、存储介质
CN117938750A (zh) * 2024-03-22 2024-04-26 腾讯科技(深圳)有限公司 调度路由信息的处理方法、装置、设备、存储介质及产品
CN117938750B (zh) * 2024-03-22 2024-06-07 腾讯科技(深圳)有限公司 调度路由信息的处理方法、装置、设备、存储介质及产品

Also Published As

Publication number Publication date
JP6920533B2 (ja) 2021-08-18
JP2020527918A (ja) 2020-09-10
EP3661135A4 (en) 2020-06-10
EP3661135B1 (en) 2022-05-04
CN108418755B (zh) 2019-10-11
US20200162367A1 (en) 2020-05-21
US11190439B2 (en) 2021-11-30
EP3661135A1 (en) 2020-06-03
CN108418755A (zh) 2018-08-17

Similar Documents

Publication Publication Date Title
WO2019020032A1 (zh) 数据流传输
CN108781182B9 (zh) 利用bgp协议的sdn控制器之间的通信方法和网元
CN114285794B (zh) 报文转发控制方法、报文传输网络、电子设备及存储介质
US12323322B2 (en) Malleable routing for data packets
WO2020156105A1 (zh) 数据转发方法及相关装置
KR20220052343A (ko) 데이터 전송 제어 방법 및 장치
CN109587009A (zh) 配置无缝双向转发检测sbfd机制的方法和装置
WO2019007166A1 (zh) 跨域的路径的标识信息的确定方法、装置及存储介质
CN113132225B (zh) 路径选择方法、装置、计算机设备和计算机可读介质
US12438779B2 (en) Framework for temporal label switched path tunnel services
CN111771359B (zh) 用于连接通信网络的方法和系统
WO2016188124A1 (zh) 报文的转发处理方法、装置及系统
CN111555982B (zh) 一种基于IPv6扩展头的报文智能选路的方法和系统
WO2017124709A1 (zh) 流量工程隧道建立方法和装置
JPWO2016194089A1 (ja) 通信ネットワーク、通信ネットワークの管理方法および管理システム
WO2018036173A1 (zh) 一种网络负载均衡方法、设备及系统
CN107547333A (zh) 用于实现组合虚拟专用网vpn的方法与装置
EP4012987B1 (en) Method and apparatus for processing link state information
EP1418716A1 (en) Communication control system, communication control method, routing controller and router suitably used for the same
US20140078936A1 (en) Apparatus for configuring overlay network and method thereof
US9419893B2 (en) Traffic engineering resource collection and coordination
CN108881024A (zh) 一种组播流量转发方法及装置
CN107347034B (zh) 链路信息的处理方法及装置、系统
WO2023051049A1 (zh) 网络架构、网络通信方法、电子设备及存储介质
CN101436977A (zh) 路径分离的方法、装置及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18838920

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020503012

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018838920

Country of ref document: EP

Effective date: 20200225