WO2022194023A1 - 报文处理的方法、网络设备及控制器 - Google Patents

报文处理的方法、网络设备及控制器 Download PDF

Info

Publication number
WO2022194023A1
WO2022194023A1 PCT/CN2022/080185 CN2022080185W WO2022194023A1 WO 2022194023 A1 WO2022194023 A1 WO 2022194023A1 CN 2022080185 W CN2022080185 W CN 2022080185W WO 2022194023 A1 WO2022194023 A1 WO 2022194023A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
network
controller
information
slice
Prior art date
Application number
PCT/CN2022/080185
Other languages
English (en)
French (fr)
Inventor
郑娟
徐国其
鲍磊
陈新隽
廖婷
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP22770378.2A priority Critical patent/EP4293982A1/en
Publication of WO2022194023A1 publication Critical patent/WO2022194023A1/zh
Priority to US18/469,078 priority patent/US20240007399A1/en

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/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • H04L45/655Interaction between route computation entities and forwarding entities, e.g. for route determination or for flow table update

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a packet processing method, a network device, and a controller.
  • Network slice refers to a complete, autonomous, independent operation and maintenance logical network formed by organizing related business functions and network resources in a physical network. Based on network slicing technology, the same physical network can form multiple virtual networks with independent management, independent control, independent forwarding, and isolation from each other, thereby supporting services with differentiated bearer requirements. Therefore, network slicing has become a key technology for future network architectures.
  • the network slice information on the control plane and the network slice information on the forwarding plane are often inconsistent, which affects the effect of packet forwarding path control on the control plane.
  • Embodiments of the present application provide a packet processing method, a network device, and a controller, which help to improve the effect of the controller on packet forwarding path control.
  • the technical solution is as follows.
  • a first aspect provides a packet processing method, the method comprising: a network device generating an advertisement packet, where the advertisement packet includes an identifier of a network slice and path information of one or more paths in the network slice; The network device sends the notification message to the controller.
  • the network device carries the slice information such as the identifier of the network slice and the information of the path in the network slice in the message, and sends the message to the controller, so that the slice information on the forwarding plane and the control plane are kept consistent. It is convenient for the controller to control the packet forwarding path based on the slice information on the network device, thus helping to improve the effect of the controller on the packet forwarding path control.
  • the announcement message is a border gateway protocol link-state (border gateway protocol link-state, BGP LS) message.
  • border gateway protocol link-state border gateway protocol link-state, BGP LS
  • the existing protocol is reused and the implementation complexity is reduced.
  • the identifier of the network slice is carried in the SR policy candidate path descriptor TLV (SR Policy Candidate Path Descriptor TLV) of the BGP-LS message.
  • TLV SR Policy Candidate Path Descriptor TLV
  • the identifier of the network slice is carried in the sub-TLV of the SR Policy Candidate Path Descriptor TLV, and the sub-TLV includes the field of the slice identifier (Slice ID), and the field of the Slice ID stores the network The identity of the slice.
  • the overhead is small and the implementation complexity is low.
  • the path information includes a segment identification list (segment ID, SID) List corresponding to the one or more paths.
  • segment ID Segment ID, SID
  • the controller By sending the SID List of the path and the identifier of the network slice to the controller, it indicates which network slice the SID List belongs to, which is convenient to use the SID List to calculate the path and optimize the path in the network slice.
  • the path information further includes state information of the one or more paths.
  • the controller By sending the state information of the path and the identifier of the network slice to the controller, the state of the path in the network slice is indicated, so that the controller can monitor the state of the path in the network slice in real time.
  • the status information includes one or more of the following information: at least one of traffic statistics information, network performance information and connectivity information.
  • the connectivity information is used to identify whether the corresponding path is available or unavailable.
  • the advertisement message is used to instruct the controller to control the packet forwarding path according to the identifier of the network slice and the path information.
  • the network device is an entry node of a segment routing (SR) network.
  • SR segment routing
  • the identification of the network slice and the path information of the path in the network slice are sent by the ingress node of the SR. Since the ingress node is the node responsible for encapsulating the path information such as the SID List when the service packet enters the SR network, it is helpful to report the path information. Akane's precision.
  • a method for processing a packet including:
  • the controller receives a notification message sent by the network device, where the notification message includes an identifier of the network slice and path information of one or more paths in the network slice;
  • the controller controls the packet forwarding path according to the identifier of the network slice and the path information of one or more paths in the network slice.
  • the advertisement message is a BGP-LS message.
  • the identifier of the network slice is carried in the SR Policy Candidate Path Descriptor TLV of the BGP-LS message.
  • the identifier of the network slice is carried in the sub-TLV of the SR Policy Candidate Path Descriptor TLV, and the sub-TLV includes the field of the Slice ID, and the field of the Slice ID stores the identifier of the network slice.
  • the path information includes a SID List corresponding to the one or more paths.
  • the path information further includes state information of the one or more paths.
  • the status information includes one or more of the following information: at least one of traffic statistics information, network performance information and connectivity information.
  • the connectivity information is used to identify whether the corresponding path is available or unavailable.
  • control of the packet forwarding path by the controller according to the identifier of the network slice and the path information of one or more paths in the network slice includes:
  • a second path is obtained, and the second path is used to carry traffic forwarded on the first path.
  • control of the packet forwarding path by the controller according to the identifier of the network slice and the path information of one or more paths in the network slice includes:
  • a second path is obtained, and the second path is used to carry the traffic forwarded on the first path.
  • the bandwidth utilization rate of the first path is the bandwidth utilization rate of one or more links on the first path.
  • the second path is a path in the network slice corresponding to the identifier of the network slice.
  • the second path is calculated by the controller based on the network topology of the network slice corresponding to the identifier of the network slice.
  • the method further includes: the controller sending the SID List corresponding to the second path to the network device.
  • a network device for implementing the first aspect or any possible implementation manner of the first aspect.
  • the network device includes a unit for executing the first aspect or any of the possible implementation methods of the first aspect.
  • the elements in the network device are implemented in software, and the elements in the network device are program modules. In other embodiments, the elements in the network device are implemented in hardware or firmware.
  • a controller for executing the method in the second aspect or any possible implementation manner of the second aspect.
  • the controller includes a unit for executing the method in the second aspect or any possible implementation manner of the second aspect.
  • the elements in the controller are implemented in software, and the elements in the controller are program modules. In other embodiments, the units in the controller are implemented in hardware or firmware.
  • a fifth aspect provides a network device, the network device includes a processor and a communication interface, the processor is configured to execute an instruction, so that the network device executes the first aspect or any of the possible implementations of the first aspect. method, wherein the communication interface is used for receiving or sending a message.
  • the network device includes a processor and a communication interface, the processor is configured to execute an instruction, so that the network device executes the first aspect or any of the possible implementations of the first aspect.
  • the communication interface is used for receiving or sending a message.
  • a controller in a sixth aspect, includes a processor and a communication interface, the processor is configured to execute an instruction, so that the controller executes the second aspect or any of the possible implementations of the second aspect.
  • the communication interface is used for receiving or sending a message.
  • a computer-readable storage medium where at least one instruction is stored in the storage medium, and when the at least one instruction is executed on a network device, causes the network device to execute the first aspect or the first A method provided by any possible implementation of the aspect.
  • a computer-readable storage medium stores at least one instruction, and when the at least one instruction is executed on the controller, causes the controller to execute the above-mentioned second aspect or the second A method provided by any possible implementation of the aspect.
  • a computer program product comprising computer instructions stored in a computer-readable storage medium.
  • the processor of the network device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the network device performs the first aspect or the method provided by any possible implementation manner of the first aspect.
  • a computer program product comprising computer instructions stored in a computer-readable storage medium.
  • the processor of the controller reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the controller executes the method provided by the second aspect or any possible implementation manner of the second aspect.
  • a chip which, when the chip runs on a network device, enables the network device to execute the method provided in the first aspect or any possible implementation manner of the first aspect.
  • a twelfth aspect provides a chip that, when the chip runs on a controller, causes the controller to execute the method provided by the second aspect or any possible implementation manner of the second aspect.
  • a thirteenth aspect provides a network system, where the network system includes a network device and a controller, where the network device is configured to execute the above-mentioned first aspect or any possible implementation manner of the first aspect, and the controller is configured to execute the above-mentioned first aspect The method described in the second aspect or any possible implementation manner of the second aspect.
  • FIG. 1 is a schematic diagram of a system architecture of a network system provided by an embodiment of the present application.
  • FIG. 2 is a flowchart of a method for processing a message provided by an embodiment of the present application
  • FIG. 3 is a schematic diagram of a format of a BGP-LS packet provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a format of a BGP-LS packet provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a format of a BGP-LS packet provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a scenario of deploying network slices provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of a tunnel monitoring scenario provided by an embodiment of the present application.
  • FIG. 8 is a schematic diagram of a tunnel tuning scenario provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a device provided by an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a device provided by an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of a controller provided by an embodiment of the present application.
  • Network slicing also known as network sharding, is a logical network. Through network slicing, operators can build multiple dedicated, virtualized, and mutually isolated logical networks on top of a common physical network to meet the different requirements of different customers for network resources. For example, a physical network is divided into three network slices, namely network slice A, network slice B, and network slice C. Network slice A is used to carry the traffic of video services, network slice B is used to carry the traffic of automatic driving services, and network slice C is used to carry the traffic of voice call services.
  • SR is a technology for forwarding packets based on source routing.
  • the basic principle of SR is to carry a segment list (segment list) in the header of a data packet and transmit it together with the packet.
  • a segment list refers to an ordered list containing segments.
  • SR technology includes multi-protocol label switching segment routing (segment routing multi-protocol for label switching, SR MPLS) technology and Internet Protocol version 6 based segment routing (internet protocol version 6 for segment routing, SRv6) technology.
  • SR MPLS the segment list is the label stack.
  • SRv6 the segment list is the Internet Protocol Version 6 (IPv6) address list.
  • SRv6 is a technology for forwarding IPv6 packets based on source routing.
  • the basic principle of SRv6 is that the head node adds a segment routing header (SRH, a routing extension header) to an IPv6 packet, and the SRH includes a segment identifier list (SID List).
  • SID segment identifier list
  • the intermediate node will use the segment ID (segment ID, SID) in the SRH to update the destination address in the IPv6 basic header of the IPv6 packet, thereby completing hop-by-hop forwarding.
  • SR policy is a technology that implements traffic engineering by carrying segment lists in data packets.
  • Traffic engineering refers to a technology that supports the forwarding of specified traffic through a specified path in the network according to the optimization goal, and the specified path is usually the shortest path of a non-internal gateway protocol (IGP).
  • SR policies include MPLS-based SR-MPLS policies and SRv6-based SRv6 policies.
  • An SR strategy includes at least one or more candidate paths, and a candidate path includes one or more segment lists.
  • An SR policy is usually identified by three kinds of information, which are headend, color, and endpoint.
  • the headend refers to the node where the SR policy is generated.
  • the headend is responsible for importing data packets into the SR policy.
  • the headend is the source device on the tunnel.
  • Colors are used to distinguish different SR policies between the same pair of headends and endpoints. Color is usually a 32-bit value. Colors usually represent intent, the conditions that a datagram needs to meet to get from the headend to the endpoint. For example, there are two SR policies between the headend and the endpoint. The color of SR policy A is color 10, and the color of SR policy B is color 20. Color 10 indicates that the delay is less than the set delay threshold, and color 20 indicates that the specified node.
  • the endpoint refers to the termination node of the SR policy.
  • the endpoint is the destination device on the tunnel.
  • An endpoint is usually represented by an internet protocol (IP) address.
  • IP internet protocol
  • a candidate path is an alternative path in the SR strategy.
  • the candidate path indicates the way in which data packets are forwarded from the head end of the SR policy to the end point of the SR policy.
  • Each candidate path has a priority. Priority is used to select candidate paths from the SR policy.
  • the valid candidate path with the highest priority in an SR policy is the primary path in the SR policy.
  • Candidate paths can be learned in different ways, such as local configuration, network configuration (NETCONF), path computation element communication protocol (PCEP), or border gateway protocol (BGP).
  • NETCONF network configuration
  • PCEP path computation element communication protocol
  • BGP border gateway protocol
  • Telemetry is a technology that collects data from a device remotely.
  • the basic principle of telemetry is that network devices actively send collected data through push mode.
  • the collected data includes but is not limited to traffic statistics, packet loss rate, central processing unit (CPU) occupancy rate, memory occupancy rate, etc. It provides more real-time and higher-speed data collection functions through telemetry, which helps to quickly locate network faults.
  • CPU central processing unit
  • the SID List is used to indicate the packet forwarding path.
  • SID List is an ordered list containing one or more SIDs.
  • SID List is used to indicate the corresponding path.
  • Each SID is in the form of an IPv6 address, so the SID List can be understood as an explicit IPv6 address stack.
  • the SID List inserts data packets at the entry node of the SR network.
  • the SID refers to the identification of a segment (segment, also called a segment).
  • segment represents the specified operation.
  • the operation represented by the segment can be any operation related to processing the message.
  • a segment means forwarding a packet to a specified node, forwarding a packet through a specified outbound interface, and so on.
  • the SID is an IPv6 address.
  • the SID is the MPLS label.
  • the End SID is used to identify a destination node (node) in the SR network.
  • End.X SID is used to identify a link in the SR network.
  • the requirements of the above scenarios can be met by network slicing technology.
  • the network slicing technology uses a flexible Ethernet (Flexible Ethernet, Flex Eth or FlexE) interface or a channelized interface to cut a physical network into multiple hard-isolated network slices, each network slice deploys services independently, and the bandwidth of different network slices Hard isolation, do not affect each other.
  • SRv6 can be used to realize the mapping of services and physical slices, so as to meet customers' demands for differentiated service SLA assurance.
  • the information of the network slice configured on the forwarding plane is inconsistent with the information of the network slice on the control plane (eg, the controller).
  • a typical reason is that after the controller delivers the slice information to the network device, the network device subsequently updates the slice information. For example, the controller sends slice information A to the network device through the border gateway protocol link-state (BGP LS). After the network device obtains the slice information A sent by the controller, it also obtains the slice information B through protocols such as NETCONF and PCEP. The network device updates the locally configured slice information from slice information A to slice information B, which causes the slice information on the network device to be inconsistent with the slice information on the controller.
  • the control plane includes multiple controllers. After controller A sends slice information to the network device, only controller A has slice information on the network device in the control plane, and controller A has slice information on the network device. Slice information on network devices is missing on other controllers of .
  • Inconsistent slice information can cause many problems. For example, when the controller performs path calculation or optimization based on slice information, since the slice information used by the controller is not the actual slice information on the network device, the controller does not perform well in path calculation or optimization.
  • the network device reports slice information such as the identifier of the network slice and the information of the paths in the network slice to the controller, thereby ensuring that the slice information on the forwarding plane and the control plane are consistent. Based on the slice information, perform path calculation, tuning, or other tasks such as packet forwarding path control to improve the performance of controller path control.
  • FIG. 1 is a schematic diagram of a system architecture of a network system provided by an embodiment of the present application.
  • the network system includes a controller 11 , a network device 21 , a network device 22 and a network device 23 .
  • the controller 11 includes, but is not limited to, a server, a personal computer, a host computer, or the like.
  • the controller 11 is used for deploying network slices in the network system, and deploying one or more paths in the network slices to carry services.
  • the controller 11 is further configured to monitor and optimize one or more paths in the network slice.
  • the network device 21, the network device 22, and the network device 23 include, but are not limited to, switches, routers, and the like.
  • the network device 21, the network device 22, and the network device 23 are used to forward data packets based on paths in the network slice.
  • the network device 21, the network device 22 and the network device 23 play different roles.
  • the network device 21 is an entry node of the network, and the network device 21 is used to add the identifier of the network slice and the path information of the path in the network slice to the data packet.
  • the network device 22 is an intermediate node of the network, and the network device 22 is configured to forward the data packet along the path corresponding to the path information according to the identifier of the network slice and the path information in the data packet.
  • the network device 23 is the egress node of the network. The network device 23 is configured to pop out the identifier and path information of the network slice from the data packet, and then forward the data packet from the network.
  • the system architecture shown in FIG. 1 includes an SR network, and the network device 21 is an entry node of the SR network.
  • the network device 22 is an intermediate node of the SR network.
  • the network device 23 is the egress node of the SR network.
  • the system architecture shown in Figure 1 is used to support network slicing with SR policies.
  • the basic principle of network slicing that supports the SR policy is to carry the identifier of the network slice and the SID List in the SR policy in the data packet. For example, when the private network data packet reaches the network device 21, the network device 21 encapsulates the data packet with a Hop by hop options header (Hop by hop options header, HBH) header and an SRH.
  • Hop by hop options header Hop by hop options header, HBH
  • the HBH header includes the network slicing identifier (slice ID).
  • SRH includes SID List.
  • the network device 21 queries the routing table based on the SID carried in the destination address field, so as to obtain the outgoing interface and next-hop address of the route. Based on the identifier of the network slice, the network device 21 determines the slice interface corresponding to the identifier of the network slice from one or more slice interfaces corresponding to the outgoing interface of the route, and forwards the data packet through the slice interface.
  • the network device 22 forwards the data packet in the same manner as the network device 21 according to the slice ID and the SID List in the data packet, so that the data packet is forwarded to the network device 23 along the path corresponding to the SID List.
  • the network device 23 pops out the HBH header in the data packet and forwards the data packet to the private network.
  • FIG. 2 is a flowchart of a packet processing method provided by an embodiment of the present application. The method shown in FIG. 2 includes the following steps S201 to S204.
  • the network deployment scenario on which the method shown in FIG. 2 is based is optionally as shown in FIG. 1 above.
  • the network device in the method shown in Fig. 2 is the network device 21, the network device 22 or the network device 23 in Fig. 1
  • the controller in the method shown in Fig. 2 is the Fig. 1 Controller 11 in 1.
  • the method shown in FIG. 2 is applied to an SR network, and the network device in the method shown in FIG. 2 is an entry node of the SR network.
  • Step S201 the network device generates a notification message.
  • the protocol type of the advertisement message includes many situations.
  • the advertisement message is a BGP-LS message.
  • BGP LS is an extension of the BGP protocol.
  • BGP LS is usually used to upload topology information to the controller.
  • the notification message is a PCEP message, a simple network management protocol (simple network management protocol, SNMP) message or other protocol message.
  • the advertisement message includes the identifier of the network slice and the path information of one or more paths in the network slice.
  • the identifier of the network slice is used to identify the network slice.
  • the network device obtains the identifier of the network slice through static configuration, dynamic delivery, or learning from neighbors.
  • the static configuration method means that the administrator configures the identifier of the network slice on the network device through the command line interface or the web interface.
  • the dynamic delivery method means that the controller device sends the identifier of the network slice to the network device through the NETCONF protocol, BGP, PCEP, or other protocols that support the interaction between the control plane and the data plane.
  • the way of learning from neighbors is, for example, that the network device obtains the identifier of the network slice from the packets sent by the neighbor nodes in the network slice.
  • Paths in network slices are optionally tunnels.
  • a tunnel is an end-to-end path.
  • the tunnels include, but are not limited to, Label Switching Path (LSP) tunnels, Traffic Engineering (Traffic Engineering, TE) tunnels, policy (policy) tunnels, and the like.
  • LSP Label Switching Path
  • TE Traffic Engineering
  • policy policy
  • the paths in the network slice are paths in the SR policy.
  • one or more paths in the network slice are one or more candidate paths in the SR policy; for another example, one or more paths in the network slice are corresponding to one or more SID Lists in the SR policy path of.
  • the path information in the advertisement message includes a SID List corresponding to one or more paths.
  • the SID List includes the SIDs corresponding to the nodes or links on the path.
  • the SID List includes the End SIDs of one or more nodes on the path or the End.X SIDs of one or more links.
  • the SR scenario is supported by carrying the SID List in the message.
  • How the network device obtains the SID List includes various methods. For example, the network device obtains the SID List through static configuration, dynamic delivery, or learning from neighbors. For another example, the network device performs path calculation based on the topology of the network slice to obtain the SID List.
  • the path information in the advertisement message includes state information corresponding to one or more paths.
  • Status information is used to describe the status of the corresponding path.
  • the state information of the path in the advertisement message includes one or more of the following information: at least one of traffic statistics information, network performance information and connectivity information.
  • Traffic statistics are used to identify the traffic of the corresponding path.
  • the traffic statistics information is obtained by sampling and counting forwarded packets by the network device.
  • the network performance information is used to identify the network performance of the corresponding path.
  • the network performance information includes path bandwidth, delay, packet loss rate, jitter, and the like.
  • the network performance information is obtained by the network device by sending a performance detection packet to the destination device of the path.
  • Performance detection packets include, but are not limited to, operations administration and maintenance (OAM) packets, two-way active measurement protocol (TWAMP) packets, and the like.
  • the connectivity information is used to identify whether the corresponding path is available (UP) or unavailable (down).
  • Path unavailability is, for example, the failure of one or more nodes in the path, or the disconnection of one or more links.
  • the connectivity information is obtained by the network device by sending a connectivity detection packet to the destination device of the path.
  • the connectivity detection messages include, but are not limited to, bidirectional forwarding detection (BFD) messages, Internet control message protocol (ICMP) request messages (ping), and the like.
  • Step S202 the network device sends a notification message to the controller.
  • the advertisement message is used to instruct the controller to control the packet forwarding path according to the identifier of the network slice and path information.
  • Step S203 the controller receives the notification message sent by the network device.
  • the controller can obtain the identification of the network slice and the path information of one or more paths in the network slice from the advertisement message. For example, referring to FIG. 1, the network device 21 sends the advertisement message to the controller 11, so that the network slice The identity of the network slice and the path information of one or more paths in the network slice are passed from the network device 21 to the controller 11 .
  • Step S204 the controller controls the packet forwarding path according to the identifier of the network slice and the path information of one or more paths in the network slice.
  • the controller can control the packet forwarding path based on the identifier of the network slice reported by the network device.
  • the control of the forwarding path includes various implementations.
  • the control of the forwarding path includes, but is not limited to, path tuning, allocating transmission resources to the forwarding path, monitoring and recording the status of the forwarding path, presenting a topology map of the network topology to which the forwarding path belongs, and the like.
  • Path tuning refers to switching the paths where the traffic resides.
  • first path and second path are used below to refer to the path that carries traffic before tuning and the path that carries traffic after tuning.
  • the second path is used to carry the traffic forwarded on the first path. For example, data flow A was originally forwarded through the first path, but after path optimization, data flow A is forwarded through the second path.
  • Scenarios suitable for path tuning include but are not limited to the following scenarios 1 and 2.
  • Scenario 1 The controller performs path tuning when the path is unavailable.
  • the controller determines whether one or more paths in the network slice are available according to the connectivity information of one or more paths in the advertisement message sent by the network device.
  • the second path is obtained when the controller determines that the first path of the one or more paths is unavailable.
  • Scenario 2 The controller performs path tuning when the bandwidth utilization reaches a threshold.
  • the controller determines whether the bandwidth utilization rate of one or more paths in the network slice reaches a threshold according to the network performance information of one or more paths in the advertisement message sent by the network device.
  • the second path is obtained when the controller determines that the bandwidth utilization of the first path of the one or more paths reaches a threshold.
  • the threshold for bandwidth utilization is optionally a value preconfigured by the user.
  • the bandwidth utilization of the first path is the bandwidth utilization of one or more links on the first path.
  • the second path is obtained; for another example, when the controller determines that the bandwidth utilization of multiple links in the first path has reached the threshold, Get the second path.
  • the first path is represented by the SID list
  • the link is represented by the End.X SID
  • the bandwidth utilization of the first path is the bandwidth utilization corresponding to one or more End.X SIDs in the SID list. Rate.
  • the controller after the controller obtains the second path, the controller generates and sends a path switch indication to the network device.
  • the path switching instruction includes path information of the second path, and the path switching instruction is used to instruct the network device to switch the packet forwarding path to the second path.
  • the network device receives the path switching instruction sent by the controller, and switches the path carrying traffic from the first path to the second path.
  • the path information of the second path in the path switching instruction sent by the controller includes the SID List of the second path.
  • the network device switches the path carrying traffic from the first path to the second path according to the SID List of the second path. Specifically, when the network device receives traffic, if the traffic is the traffic originally carried by the first path, the network device will add the SID List of the second path to each packet in the traffic, and forward the traffic containing the SID List of the second path. , so that the traffic is forwarded along the second path through the SID List of the second path.
  • the path optimization methods include, but are not limited to, intra-slice optimization and inter-slice optimization, which are described in detail below through (1) and (2).
  • Intra-slice tuning refers to switching between different packet forwarding paths within the same network slice.
  • the above-mentioned second path is the path in the network slice corresponding to the identifier of the network slice. That is, the second path and the first path are different paths in the same network slice.
  • the way that the controller obtains the second path includes: the controller uses the identifier of the network slice as an index, and searches for topology information of the network slice corresponding to the identifier of the network slice; the controller determines, according to the topology information of the network slice, a path different from the first path. path to obtain the above-mentioned second path.
  • Inter-slice tuning refers to switching the packet forwarding path within one network slice to the packet forwarding path within another network slice.
  • the above advertisement message includes the identifier of the first network slice and the path information of the first path in the first network slice, the second path is the path in the second network slice, and the second network slice is the path in the second network slice.
  • the slice is different from the first network slice.
  • the inter-slice optimization is suitable for a service having multiple network slices.
  • the first network slice and the second network slice correspond to the same service type, and the first network slice and the second network slice are the same.
  • Network slices correspond to the same user ID.
  • the second path is calculated by the controller based on the network topology of the network slice corresponding to the identifier of the network slice. For example, based on the topology of the network slice, the controller uses a flexible algorithm (Flexible Algorithm, FlexAlgo) to perform path calculation to obtain the above-mentioned second path.
  • the constraint condition adopted by the controller when calculating the path includes not passing through a link in the first path whose bandwidth utilization rate reaches a threshold.
  • the network device carries the slice information such as the identifier of the network slice and the information of the path in the network slice in the packet, and sends the packet to the controller, so as to realize the slice information on the forwarding plane and the control plane. Keeping the same, it is convenient for the controller to control the packet forwarding path based on the slice information on the network device, and the effect of the controller to control the packet forwarding path is improved.
  • Some embodiments of the present application extend the BGP-LS protocol, so that the network device can report the identifier of the network slice of the SR Policy Candidate Path (SR Policy Candidate Path) to the controller.
  • the identifier of the network slice is carried in the SR Policy Candidate Path Descriptor type-length-value (type-length-value, TLV) of the BGP-LS packet.
  • FIG. 3 shows a schematic diagram of the format of a BGP-LS packet.
  • the message shown in FIG. 3 is the BGP network layer reachability information (NLRI) used to report the SR policy.
  • NLRI BGP network layer reachability information
  • the protocol-ID field is used to identify the protocol from which the TE policy comes. For example, when the content of the protocol ID field is 9, it indicates that the protocol from which the TE policy comes is Segment Routing.
  • the identifier field is the identifier of the BGP-LS in the protocol that collects the topology.
  • the identification field occupies 64 bits.
  • the headend field is used to carry the information of the headend.
  • the header field includes at least one node descriptor.
  • the TE policy descriptors field is used to describe the TE policy.
  • the TE Policy Descriptor field includes one or more TLVs.
  • FIG. 4 shows a schematic diagram of the format of the SR Policy Candidate Path Descriptor TLV in the BGP-LS message.
  • Figure 4 is located in the TE Policy Descriptor field in Figure 3 .
  • the SR Policy Candidate Path Descriptor TLV is used to carry the information of the candidate paths in the SR policy.
  • SR Policy Candidate Path Descriptor TLV includes type field, length field, protocol-origin field, endpoint field, flags field, policy color field, initiator autonomous system, AS) number (originator AS number) field, originator address (originator address) field, discriminator (discriminator) field, the meaning of each field is as follows.
  • the type field is used to carry the type of the SR policy candidate path TLV.
  • the content of the type field is 554.
  • the length field is used to identify the length of the SR policy candidate path TLV.
  • the protocol-origin field is used to identify the protocol or path through which the candidate path is generated. For example, when the SR policy is received through BGP, the content of the protocol source field is 2; when the SR policy is configured locally, the content of the protocol source field is 3.
  • the endpoint field is used to carry the address of the destination device in the SR policy.
  • the endpoint field occupies 4 bytes or 16 bytes.
  • the flags field includes one or more flag bits.
  • the policy color field is used to carry the color of the SR policy.
  • the color field occupies 4 bytes.
  • the originator AS number field is used to carry the AS number (AS number, ASN) of the candidate path.
  • the initiator AS number field occupies 4 bytes.
  • the originator address field is used to carry the address identifier of the candidate path.
  • the initiator address occupies 4 bytes or 16 bytes.
  • the discriminator field is used to identify candidate paths. Different candidate paths in the same SR strategy can be distinguished by discriminator. For example, the device advertises three candidate paths under the SR policy through BGP. These three candidate paths correspond to three different discriminators, and the three candidate paths are distinguished by their respective discriminators.
  • a sub TLV (sub TLV) is extended in the SR Policy Candidate Path Descriptor TLV to report the identifier of the network slice. Specifically, the identifier of the network slice is carried in the sub-TLV of the above-mentioned SR Policy Candidate Path Descriptor TLV.
  • FIG. 5 shows a schematic diagram of the format of a sub-TLV carrying an identifier of a network slice.
  • FIG. 5 is a sub-TLV of FIG. 4 .
  • the sub-TLV carrying the identification of the network slice includes the type field, the length field and the field of the Slice ID.
  • the type field is used to identify the identifier of the network slice carried in the TLV.
  • the type field optionally occupies 1 byte.
  • the content of the length field is the length of the sub-TLV carrying the identifier of the network slice.
  • the length field optionally occupies 1 byte.
  • the field of Slice ID stores the identifier of the network slice.
  • the Slice ID field optionally occupies 4 bytes.
  • the method shown in FIG. 2 is exemplified below by taking the method shown in FIG. 2 applied to the SR network as an example.
  • the SRv6 policy tunnel is the path in the network slice in the method shown in the accompanying drawing 2
  • the SID List in the following process is the path information in the method shown in the accompanying drawing 2
  • the head node router in the following process is shown in the accompanying drawing 2.
  • the deployment process of network slicing includes the following steps (1) to (6).
  • Step (1) The controller creates a network slice of the service.
  • Step (2) The controller delivers the fragment interface, the identifier of the network slice configured on the fragment interface, and the slice bandwidth to the network device through the netconf protocol.
  • the slice interface types include but are not limited to FlexE, channelized sub-interfaces, and FlexE sub-channels.
  • no IP address is configured on the network slice of the service, and the IP address of the default slice is reused.
  • Step (3) The router reports the Layer 2 topology of the network slice to the controller through SNMP.
  • the controller generates the Layer 3 topology of the network slice of the service according to the Layer 2 topology of the network slice of the service and the Layer 3 topology of the default slice, which is used for tunnel calculation.
  • Step (4) The controller deploys the SRv6 policy tunnel in the network slice.
  • the controller configures the SRv6 policy tunnel, and specifies the mapping relationship between the SRv6 policy and the identifier of the network slice.
  • the controller performs SRv6 policy path calculation in the slice topology based on the path calculation requirements (delay, bandwidth, etc.) input by the user.
  • Step (5) The controller delivers the SRv6 policy tunnel to the router through the BGP-SRv6 policy protocol.
  • An example of SRv6 policy tunnel configuration is as follows.
  • the SID List of the SRv6 policy tunnel configured above is segment-list list1, and the identifier of the network slice is 1.
  • the SID List of the SRv6 policy tunnel includes two SIDs, one SID is 2::2:100 and the other SID is 3::3:100
  • Step (6) The controller sends the VPN configuration to the router through the netconf protocol.
  • the VPN configuration is as follows.
  • FIG. 7 is a schematic diagram of a tunnel monitoring process.
  • the tunnel monitoring process includes the following steps (1) to (2).
  • the head node router establishes a BGP-LS neighbor relationship with the controller through the BGP-LS address family.
  • the head node router carries the network slice identifier in the sub-TLV of the SR Policy Candidate Path Descriptor TLV of BGP-LS, and reports the network slice identifier SR Policy Candidate Path Descriptor TLV to the controller.
  • the head node router reports the following content.
  • the above content reported by the head node router indicates that the SID List of the path includes SID 2::2:100 and SID 2::2:100.
  • the SR policy to which the path belongs is policy1.
  • the IP address of the endpoint (destination device) of the path is 3::3.
  • the color corresponding to the path is green.
  • Candidate paths have a priority of 1 3::3.
  • the identifier of the network slice is 1.
  • the content reported by the head node router is the same as the content delivered by the controller in the slice deployment process.
  • the content reported by the head node router also includes the status of the SID list, such as UP or down.
  • the state of the SID list is obtained by the head node router through BFD detection.
  • the head node router reports the traffic statistics of the SRv6 policy to the controller through the telemetry protocol.
  • Step (2) After receiving the SR Policy Candidate Path Descriptor TLV reported by the router, the controller monitors the status and traffic of the SRv6 policy tunnel in the network slice in real time.
  • FIG. 8 is a schematic diagram of a tunnel tuning process.
  • the tunnel tuning process includes the following steps (1) to (3).
  • Step (1) The controller collects the bandwidth utilization of each link in the network slice through telemetry, and determines whether the bandwidth utilization of one or more links in the SID List exceeds the threshold. When the bandwidth utilization of one or more links in the SID List exceeds the threshold, it indicates that the links in the path are congested, and the controller executes the following step (2).
  • Step (2) The controller recalculates the path. Specifically, the controller calculates a new SID list corresponding to the identifier of the network slice (that is, the SID list of the second path).
  • Step (3) The controller sends the new SID list to the network device.
  • the network device switches traffic from the path corresponding to the original SID list to the path corresponding to the new SID list.
  • the threshold of bandwidth utilization is optionally derived from the bandwidth tuning policy configured by the user on the controller.
  • the bandwidth tuning policy includes a threshold for the bandwidth utilization of the link.
  • the bandwidth tuning policy is used to instruct the controller to trigger a path switch when the bandwidth utilization of the link reaches a threshold.
  • the basic hardware structure of the network device and the controller is given as an example below.
  • FIG. 9 is a schematic structural diagram of a device 600 provided by an embodiment of the present application.
  • the device 600 shown in FIG. 9 is the network device or the controller in the above method embodiment.
  • the device 600 shown in FIG. 9 is the controller 11 in FIG. 1 , or the device 600 is the network device 21 , the network device 22 or the network device 23 in FIG. 1 .
  • the device 600 shown in FIG. 9 is a network device in the flowchart of the method shown in FIG. 2 , and the device 600 shown in FIG. The steps performed by the network device in the method; or, the device 600 shown in FIG. 9 is the controller in the flow chart of the method shown in FIG. 2, and the device 600 shown in FIG. The steps performed by the controller in .
  • Device 600 includes at least one processor 601 , memory 602 and at least one network interface 603 .
  • the processor 601 is configured to generate a notification message
  • the network interface 603 is configured to send the notification message.
  • the network interface 603 is configured to receive an advertisement message
  • the processor 601 is configured to perform a message forwarding path according to the identifier of the network slice and the path information of one or more paths in the network slice control.
  • the processor 601 is, for example, a general-purpose central processing unit (central processing unit, CPU), a network processor (network processor, NP), a graphics processing unit (graphics processing unit, GPU), a neural-network processing unit (neural-network processing units, NPU) ), a data processing unit (DPU), a microprocessor or one or more integrated circuits for implementing the solution of the present application.
  • the processor 601 includes an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof.
  • the PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
  • Network interface 603 uses any transceiver-like device for communicating with other devices or communication networks.
  • the network interface 603 includes, for example, at least one of a wired network interface or a wireless network interface.
  • the wired network interface is, for example, an Ethernet interface.
  • the Ethernet interface is, for example, an optical interface, an electrical interface or a combination thereof.
  • the wireless network interface is, for example, a wireless local area network (wireless local area network, WLAN) interface, a cellular network network interface or a combination thereof.
  • processor 601 includes one or more CPUs, such as CPU0 and CPU1 shown in FIG. 9 .
  • device 600 optionally includes multiple processors, such as processor 601 and processor 605 shown in FIG. 9 .
  • processors are, for example, a single-core processor (single-CPU), or a multi-core processor (multi-CPU).
  • a processor herein optionally refers to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • device 600 also includes internal connections 604 .
  • the processor 601 , the memory 602 and at least one network interface 603 are connected by an internal connection 604 .
  • Internal connections 604 include pathways that transfer information between the aforementioned components.
  • the internal connection 604 is a single board or bus.
  • the internal connection 604 is divided into an address bus, a data bus, a control bus, and the like.
  • the processor 601 implements the methods in the foregoing embodiments by reading program codes 610 stored in the memory 602, or the processor 601 implements the methods in the foregoing embodiments by using internally stored program codes.
  • the processor 601 implements the method in the above embodiment by reading the program code 610 stored in the memory 602
  • the memory 602 stores the program code for implementing the message processing method provided by the embodiment of the present application.
  • the memory 602 is, for example, a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, or a random access memory (RAM) or a memory device that can store information and instructions.
  • ROM read-only memory
  • RAM random access memory
  • Other types of dynamic storage devices such as electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, optical disks storage (including compact discs, laser discs, compact discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, or capable of carrying or storing desired program code in the form of instructions or data structures and capable of Any other medium accessed by a computer, but not limited to this.
  • the memory 602 exists independently and is connected to the processor 601 through an internal connection 604 .
  • the memory 602 and the processor 601 are optionally integrated.
  • device 600 also includes an input-output interface 606 .
  • Input output interface 606 is connected to internal connection 604 .
  • FIG. 10 is a schematic structural diagram of a device 700 provided by an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a device 700 provided by an embodiment of the present application.
  • the device 700 shown in FIG. 10 is the network device or the controller in the foregoing method embodiment.
  • the device 700 shown in FIG. 10 is the controller 11 in FIG. 1 , or the device 700 is the network device 21 , the network device 22 or the network device 23 in FIG. 1 .
  • the device 700 shown in FIG. 10 is a network device in the method flowchart shown in FIG. 2 , and the device 700 shown in FIG. The steps performed by the network device in the method; or, the device 700 shown in FIG. 10 is the controller in the flow chart of the method shown in FIG. 2, and the device 700 shown in FIG. The steps performed by the controller in .
  • the device 700 includes: a main control board 710 and an interface board 730 .
  • the main control board is also called a main processing unit (MPU) or a route processor card.
  • the main control board 710 is used to control and manage various components in the device 700, including route calculation, device management, Equipment maintenance, protocol processing functions.
  • the main control board 710 includes: a central processing unit 711 and a memory 712 .
  • the interface board 730 is also referred to as a line processing unit (LPU), a line card or a service board.
  • the interface board 730 is used to provide various service interfaces and realize data packet forwarding.
  • the service interface includes, but is not limited to, an Ethernet interface, a POS (packet over sONET/SDH) interface, etc.
  • the Ethernet interface is, for example, a flexible Ethernet service interface (flexible ethernet clients, FlexE clients).
  • the interface board 730 includes: a central processing unit 731 , a network processor 732 , a forwarding table entry memory 734 and a physical interface card (PIC) 733 .
  • PIC physical interface card
  • the central processing unit 731 on the interface board 730 is used to control and manage the interface board 730 and communicate with the central processing unit 711 on the main control board 710 .
  • the network processor 732 is used to implement packet forwarding processing.
  • the form of the network processor 732 is, for example, a forwarding chip.
  • the network processor 732 is configured to forward the received message based on the forwarding table stored in the forwarding table entry memory 734, and if the destination address of the message is the address of the device 700, the message is sent to the CPU (eg The central processing unit 711) processes; if the destination address of the message is not the address of the device 700, the next hop and outbound interface corresponding to the destination address are found from the forwarding table according to the destination address, and the message is forwarded to the destination The outbound interface corresponding to the address.
  • the processing of the uplink packet includes: processing the incoming interface of the packet, and searching the forwarding table; processing of the downlink packet: searching the forwarding table, and so on.
  • the physical interface card 733 is used to realize the interconnection function of the physical layer, the original traffic enters the interface board 730 through this, and the processed packets are sent from the physical interface card 733 .
  • the physical interface card 733 is also called a daughter card, which can be installed on the interface board 730 , and is responsible for converting the photoelectric signal into a message, checking the validity of the message and forwarding it to the network processor 732 for processing.
  • the central processing unit may also perform the functions of the network processor 732 , such as implementing software forwarding based on a general-purpose CPU, so that the network processor 732 is not required in the physical interface card 733 .
  • the device 700 includes multiple interface boards, for example, the device 700 further includes an interface board 740 , and the interface board 740 includes a central processing unit 741 , a network processor 742 , a forwarding table entry storage 744 and a physical interface card 743 .
  • the interface board 740 includes a central processing unit 741 , a network processor 742 , a forwarding table entry storage 744 and a physical interface card 743 .
  • the device 700 further includes a switch fabric board 720 .
  • the switch fabric 720 is also called, for example, a switch fabric unit (switch fabric unit, SFU).
  • SFU switch fabric unit
  • the switching network board 720 is used to complete data exchange between the interface boards.
  • the interface board 730 and the interface board 740 communicate through, for example, the switch fabric board 720 .
  • the main control board 710 and the interface board 730 are coupled.
  • the main control board 710 , the interface board 730 , the interface board 740 , and the switch fabric board 720 are connected to the system backplane through a system bus to achieve intercommunication.
  • an inter-process communication (IPC) channel is established between the main control board 710 and the interface board 730, and the main control board 710 and the interface board 730 communicate through the IPC channel.
  • IPC inter-process communication
  • the device 700 includes a control plane and a forwarding plane
  • the control plane includes the main control board 710 and the central processing unit 731
  • the forwarding plane includes various components that perform forwarding, such as the forwarding entry memory 734, the physical interface card 733 and the network processor 732.
  • the control plane performs functions such as routers, generating forwarding tables, processing signaling and protocol packets, and configuring and maintaining the status of devices.
  • the control plane issues the generated forwarding tables to the forwarding plane.
  • the network processor 732 is based on the control plane.
  • the delivered forwarding table forwards the packets received by the physical interface card 733 by looking up the table.
  • the forwarding table issued by the control plane is stored in the forwarding table entry storage 734, for example.
  • the control plane and the forwarding plane are, for example, completely separate and not on the same device.
  • the operations on the interface board 740 are the same as the operations on the interface board 730, and are not repeated for brevity.
  • the device 700 may correspond to the network device or the controller in each of the foregoing method embodiments, and the main control board 710, the interface board 730 and/or 740 in the device 700, for example, implements all of the network devices or controllers in the foregoing various method embodiments. For the sake of brevity, the functions and/or various steps implemented are not repeated here.
  • main control boards there may be one or more main control boards, and when there are multiple main control boards, for example, the main control board and the backup main control board are included.
  • a network device may have at least one switching network board, and the switching network board realizes data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of network devices in a distributed architecture are greater than those in a centralized architecture.
  • the form of the network device can also be that there is only one board, that is, there is no switching network board, and the functions of the interface board and the main control board are integrated on this board.
  • the central processing unit on the board can be combined into a central processing unit on this board to perform the functions of the two superimposed, the data exchange and processing capacity of this form of equipment is low (for example, low-end switches or routers and other networks. equipment).
  • the specific architecture used depends on the specific networking deployment scenario, and there is no restriction here.
  • FIG. 11 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • the network device 800 shown in FIG. 11 for example, implements the functions of the network device in the method shown in FIG. 2 .
  • the network device 800 includes a generating unit 801 and a sending unit 802 .
  • the generating unit 801 is configured to support the network device 800 to perform S201.
  • the sending unit 802 is configured to support the network device 800 to perform S202.
  • the apparatus embodiment described in FIG. 11 is only illustrative.
  • the division of the above-mentioned units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or may be Integration into another system, or some features can be ignored, or not implemented.
  • Each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • Each unit in the network device 800 is implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • the above-mentioned units in FIG. 11 may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the above generating unit 801 may be implemented by a software functional unit generated after at least one processor 601 in FIG. 9 reads the program code stored in the memory 602 .
  • the above-mentioned units in FIG. 11 can also be implemented by different hardware in the network device.
  • the generating unit 801 is composed of a part of the processing resources (for example, one core or two of the multi-core processors 601 in the at least one processor 601 in FIG. 9 ). core), or using programmable devices such as field-programmable gate arrays (FPGA) or coprocessors.
  • the sending unit 802 is realized by the network interface 603 in FIG. 9 .
  • the above functional units can also be implemented by a combination of software and hardware.
  • the sending unit 802 is implemented by a hardware programmable device, and the generating unit 801 is a software functional unit generated after the CPU reads the program code stored in the memory.
  • FIG. 12 is a schematic structural diagram of a controller 900 provided by an embodiment of the present application.
  • the controller 900 includes a receiving unit 901 and a control unit 902 .
  • the receiving unit 901 is used to support the controller 900 to execute S203.
  • the control unit 902 is used to support the controller 900 to execute S204.
  • Each unit in the controller 900 is implemented in whole or in part by software, hardware, firmware or any combination thereof.
  • Each unit in the controller 900 is used to execute the corresponding functions of the controller in the method shown in FIG. 2 above.
  • the controller 900 further includes a sending unit, and the sending unit is configured to support the controller 900 to send the SID List corresponding to the second path to the network device.
  • the apparatus embodiment described in FIG. 12 is only illustrative.
  • the division of the above-mentioned units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or may be Integration into another system, or some features can be ignored, or not implemented.
  • Each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned units in FIG. 12 can be implemented either in the form of hardware or in the form of software functional units.
  • the above-mentioned control unit 902 may be implemented by a software functional unit generated after at least one processor 601 in FIG.
  • the control unit 902 is composed of a part of the processing resources in at least one processor 601 in FIG. 9 (such as one core or two of the multi-core processors). cores), or by the rest of the processing resources in at least one processor 601 in FIG. Or programmable devices such as coprocessors to complete.
  • the receiving unit 901 and the sending unit are realized by the network interface 603 in FIG. 9 .
  • the above-mentioned functional units can also be realized by a combination of software and hardware.
  • the receiving unit 901 and the sending unit are realized by hardware programmable devices
  • the control unit 902 is a software generated after the CPU reads the program code stored in the memory. functional unit.
  • A refers to B, which means that A is the same as B or A is a simple deformation of B.
  • first and second in the description and claims of the embodiments of the present application are used to distinguish different objects, rather than used to describe the specific order of the objects, nor should they be construed as indicating or implying relative importance sex.
  • first path and the second path are used to distinguish different paths, but are not used to describe a specific order of the paths, nor can it be understood that the first path is more important than the second path.
  • the above-described embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software When implemented in software, it can 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 the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server or data center Transmission to another website site, computer, server, or data center is by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes an integration of one or more available media.
  • the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), and the like.

Abstract

本申请提供了一种报文处理的方法、网络设备及控制器,属于通信技术领域。本申请通过将网络切片的标识、网络切片中路径的信息等切片信息携带在报文中,将报文上送给控制器,从而实现转发面和控制面上切片信息保持一致,便于控制器以网络设备上切片信息为准进行报文转发路径的控制,因此有助于提升控制器进行报文转发路径控制的效果。

Description

报文处理的方法、网络设备及控制器
本申请要求于2021年03月16日提交的申请号为202110281996.8、发明名称为“报文处理的方法、网络设备及控制器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种报文处理的方法、网络设备及控制器。
背景技术
网络切片(network slice或logically isolated network partition)是指通过将物理网络中相关的业务功能、网络资源组织在一起,所形成的一个完整、自治、独立运维的逻辑网络。基于网络切片技术,同一个物理网络能够形成多个具有独立管理、独立控制、独立转发的、互相隔离的虚拟网络,从而支撑具有差异化承载需求的业务。因而,网络切片已成为未来网络架构的一个关键技术。
时下,控制面上网络切片的信息与转发面上网络切片的信息经常出现不一致的情况,影响控制面进行报文转发路径控制的效果。
发明内容
本申请实施例提供了一种报文处理的方法、网络设备及控制器,有助于提升控制器进行报文转发路径控制的效果。所述技术方案如下。
第一方面,提供了一种报文处理的方法,该方法包括:网络设备生成通告报文,所述通告报文包括网络切片的标识和所述网络切片中一条或多条路径的路径信息;所述网络设备向控制器发送所述通告报文。
上述方法中,网络设备通过将网络切片的标识、网络切片中路径的信息等切片信息携带在报文中,将报文上送给控制器,从而实现转发面和控制面上切片信息保持一致,便于控制器以网络设备上切片信息为准进行报文转发路径的控制,因此有助于提升控制器进行报文转发路径控制的效果。
可选地,所述通告报文为边界网关协议链路状态(border gateway protocol link-state,BGP LS)报文。
通过扩展了BGP LS这种协议报文来上送网络切片的标识,从而复用已有协议,降低实现复杂度。
可选地,所述网络切片的标识携带在所述BGP-LS报文的SR策略候选路径描述符TLV(SR Policy Candidate Path Descriptor TLV)中。
可选地,所述网络切片的标识携带所述SR Policy Candidate Path Descriptor TLV的子TLV中,所述子TLV中包括切片标识(Slice ID)的字段,所述Slice ID的字段存储有所述网络切片的标识。
通过扩展一个子TLV来携带切片标识,开销较小,实现复杂度低。
可选地,所述路径信息包括对应所述一条或多条路径的段标识列表(segment ID,SID)List。
通过将路径的SID List和网络切片的标识一起上送给控制器,从而指明SID List属于哪个网络切片,便于利用SID List在网络切片内进行算路、路径调优等。
可选地,所述路径信息还包括所述一条或多条路径的状态信息。
通过将路径的状态信息和网络切片的标识一起上送给控制器,从而指明网络切片内路径的状态,便于控制器对网络切片内路径的状态进行实时监控。
可选地,所述状态信息包括以下信息中的一个或多个:流量统计信息、网络性能信息和连通性信息中的至少一项。
通过将网络切片的标识与流量统计信息、网络性能信息或者连通性信息等一起上送给控制器,便于控制器对网络切片进行流量统计、性能监控、连通性监控等,从而支持更多的应用场景。
可选地,所述连通性信息用于标识对应路径为可用或不可用。
可选地,所述通告报文用于指示所述控制器根据所述网络切片的标识和所述路径信息进行报文转发路径的控制。
可选地,所述网络设备为分段路由(segment routing,SR)网络的入口节点。
通过由SR的入口节点来上送网络切片的标识和网络切片中路径的路径信息,由于入口节点是负责在业务报文进入SR网络时封装SID List等路径信息的节点,因此有助于上报茜茜的精确性。
第二方面,提供了一种报文处理的方法,包括:
控制器接收网络设备发送的通告报文,所述通告报文包括网络切片的标识和所述网络切片中一条或多条路径的路径信息;
所述控制器根据所述网络切片的标识和所述网络切片中一条或多条路径的路径信息进行报文转发路径的控制。
可选地,所述通告报文为BGP-LS报文。
可选地,所述网络切片的标识携带在所述BGP-LS报文的SR Policy Candidate Path Descriptor TLV中。
可选地,所述网络切片的标识携带所述SR Policy Candidate Path Descriptor TLV的子TLV中,所述子TLV中包括Slice ID的字段,所述Slice ID的字段存储有所述网络切片的标识。
可选地,所述路径信息包括对应所述一条或多条路径的SID List。
可选地,所述路径信息还包括所述一条或多条路径的状态信息。
可选地,所述状态信息包括以下信息中的一个或多个:流量统计信息、网络性能信息和连通性信息中的至少一项。
可选地,所述连通性信息用于标识对应路径为可用或不可用。
可选地,所述控制器根据所述网络切片的标识和所述网络切片中一条或多条路径的路径信息进行报文转发路径的控制包括:
在所述控制器确定所述一条或多条路径中的第一路径不可用时,获得第二路径,所述第 二路径用于承载所述第一路径上转发的流量。
可选地,所述控制器根据所述网络切片的标识和所述网络切片中一条或多条路径的路径信息进行报文转发路径的控制包括:
在所述控制器确定所述一条或多条路径中的第一路径的带宽利用率达到阈值时,获得第二路径,所述第二路径用于承载所述第一路径上转发的流量。
可选地,所述第一路径的带宽利用率为所述第一路径上的一个或多个链路的带宽利用率。
可选地,所述第二路径为所述网络切片的标识对应的网络切片中的路径。
可选地,所述第二路径为所述控制器基于所述网络切片的标识对应的网络切片的网络拓扑计算得到的。
可选地,所述方法还包括:所述控制器将对应所述第二路径的SID List发送给所述网络设备。
第三方面,提供了一种网络设备,用于执行上述第一方面或第一方面任一种可能实现方式。具体地,该网络设备包括用于执行上述第一方面或第一方面任一种可能实现方式方法的单元。
在一些实施例中,网络设备中的单元通过软件实现,网络设备中的单元是程序模块。在另一些实施例中,网络设备中的单元通过硬件或固件实现。第四方面提供的网络设备的具体细节可参见上述第一方面或第一方面任一种可能实现方式,此处不再赘述。
第四方面,提供了一种控制器,用于执行上述第二方面或第二方面任一种可能实现方式中的方法。具体地,该控制器包括用于执行上述第二方面或第二方面任一种可能实现方式中方法的单元。
在一些实施例中,控制器中的单元通过软件实现,控制器中的单元是程序模块。在另一些实施例中,控制器中的单元通过硬件或固件实现。第五方面提供的控制器的具体细节可参见上述第二方面或第二方面任一种可能实现方式,此处不再赘述。
第五方面,提供了一种网络设备,该网络设备包括处理器和通信接口,该处理器用于执行指令,使得该网络设备执行上述第一方面或第一方面任一种可能实现方式所提供的方法,所述通信接口用于接收或发送报文。第六方面提供的网络设备的具体细节可参见上述第一方面或第一方面任一种可能实现方式或第二方面或第二方面任一种可能实现方式,此处不再赘述。
第六方面,提供了一种控制器,该控制器包括处理器和通信接口,该处理器用于执行指令,使得该控制器执行上述第二方面或第二方面任一种可能实现方式所提供的方法,所述通信接口用于接收或发送报文。第八方面提供的控制器的具体细节可参见上述第二方面或第二方面任一种可能实现方式,此处不再赘述。
第七方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,当所述至少一条指令在网络设备上执行时,使得所述网络设备执行上述第一方面或第一方面任一 种可能实现方式所提供的方法。
第八方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,当所述至少一条指令在控制器上执行时,使得所述控制器执行上述第二方面或第二方面任一种可能实现方式所提供的方法。
第九方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。网络设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该网络设备执行上述第一方面或第一方面任一种可能实现方式所提供的方法。
第十方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。控制器的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该控制器执行上述第二方面或第二方面任一种可能实现方式所提供的方法。
第十一方面,提供了一种芯片,当该芯片在网络设备上运行时,使得网络设备执行上述第一方面或第一方面任一种可能实现方式所提供的方法。
第十二方面,提供了一种芯片,当该芯片在控制器上运行时,使得控制器执行上述第二方面或第二方面任一种可能实现方式所提供的方法。
第十三方面,提供了一种网络系统,该网络系统包括网络设备以及控制器,该网络设备用于执行上述第一方面或第一方面任一种可能实现方式,该控制器用于执行上述第二方面或第二方面任一种可能实现方式所述的方法。
附图说明
图1是本申请实施例提供的一种网络系统的系统架构的示意图;
图2是本申请实施例提供的一种报文处理的方法的流程图;
图3是本申请实施例提供的一种BGP-LS报文的格式示意图;
图4是本申请实施例提供的一种BGP-LS报文的格式示意图;
图5是本申请实施例提供的一种BGP-LS报文的格式示意图;
图6是本申请实施例提供的一种部署网络切片的场景示意图;
图7是本申请实施例提供的一种隧道监控的场景示意图;
图8是本申请实施例提供的一种隧道调优的场景示意图;
图9是本申请实施例提供的一种设备的结构示意图;
图10是本申请实施例提供的一种设备的结构示意图;
图11是本申请实施例提供的一种网络设备的结构示意图;
图12是本申请实施例提供的一种控制器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面对本申请实施例涉及的一些术语概念做解释说明。
(1)网络切片
网络切片也称网络分片,是一种逻辑网络。通过网络切片,使运营商能够在通用的物理网络之上构建多个专用的、虚拟化的、互相隔离的逻辑网络,来满足不同客户对网络资源的不同要求。例如,将一个物理网络划分为三个网络切片,分别是网络切片A、网络切片B和网络切片C。网络切片A用于承载视频业务的流量,网络切片B用于承载自动驾驶业务的流量,网络切片C用于承载语音通话业务的流量等。
(2)分段路由(segment routing,SR)
SR是一种基于源路由转发报文的技术。SR的基本原理是,将段列表(segment list)携带在数据报文头部,随报文一起传输。段列表是指包含段(segment)的有序列表。SR技术包括多协议标签交换分段路由(segment routing multi-protocol for label switching,SR MPLS)技术以及基于互联网协议第6版的分段路由(internet protocol version 6 for segment routing,SRv6)技术。在SR MPLS中,段列表为标签栈。在SRv6中,段列表为互联网协议第六版(internet protocol version 6,IPv6)地址列表。
(3)SRv6
SRv6是基于源路由转发IPv6报文的技术。SRv6的基本原理是,头节点在IPv6报文中添加段路由头(segment routing header,SRH,一种路由扩展头),SRH包括段标识列表(SID List)。中间节点会使用SRH中的段标识(segment ID,SID)来更新IPv6报文中IPv6基本头中目的地址,从而完成逐跳转发。
(4)SR策略(SR policy)
SR策略是一种通过在数据报文中携带段列表从而实现流量工程的技术。流量工程是指支持指定流量按照优化目标经由网络中指定路径转发的技术,该指定路径通常是非内部网关协议(internal gateway protocol,IGP)最短路径。SR策略包括基于MPLS的SR-MPLS策略以及基于SRv6的SRv6策略。一个SR策略包括至少一个或多个候选路径(candidate path),一个候选路径包括一个或多个段列表(segment list)。一个SR策略通常由三种信息标识,这三种信息分别是头端(headend)、颜色(color)以及端点(endpoint)。
(5)头端
头端是指SR策略生成的节点。头端负责将数据报文导入至SR策略中。换句话说,在基于SR策略创建的隧道中,头端是隧道上的源设备。
(6)颜色
颜色用于区分同一对头端和端点之间的不同SR策略。颜色通常是一个32位数值。颜色通常代表意图,即数据报文从头端到达端点所需满足的条件。例如,头端和端点之间有2个SR策略,SR策略A的颜色是颜色10,SR策略B的颜色是颜色20,颜色10表示时延小于设定的时延阈值,颜色20表示不经过指定的节点。
(7)端点
端点是指SR策略的终结节点。换句话说,在基于SR策略创建的隧道中,端点是隧道上的目的设备。端点通常采用一个互联网协议(internet protocol,IP)地址表示。
(8)候选路径
候选路径是SR策略中可供选择的路径。候选路径指示数据报文从SR策略的头端转发至SR策略的端点的方式。每条候选路径有一个优先级。优先级用于从SR策略中选择候选路径。一个SR策略中优先级最高的有效候选路径是这个SR策略中的主路径。候选路径可通过不同的方式学到,例如本地配置、网络配置(network configuration,NETCONF)、路径计算单元通信协议(path computation element communication protocol,PCEP)或者边界网关协议(border gateway protocol,BGP)。
(9)遥测(telemetry)
遥测是一种远程地从设备上采集数据的技术。遥测的基本原理是,网络设备通过推模式(push mode)主动上送采集的数据。采集的数据包括而不限于流量统计信息、丢包率、中央处理器(central processing unit,CPU)占用率、内存占用率等。通过遥测提供了更实时更高速的数据采集功能,有助于实现网络故障的快速定位。
(10)段标识列表(SID List)
SID List用于表示报文转发路径。SID List是包含一个或多个SID的有序列表。SID List用于指示对应的路径。每个SID是IPv6地址的形式,因此SID List可理解为一个显式的IPv6地址栈。SID List在SR网络的入口节点插入数据报文。
(11)SID
SID是指段(segment,也称分段)的标识。segment表示指定操作。段表示的操作可以是处理报文相关的任意操作。例如,段表示将报文转发到指定的节点、通过指定的出接口转发报文等等。可选地,应用在SRv6场景下,SID是IPv6地址。可替换地,应用在SR MPLS场景下,SID是MPLS标签。
(12)端点(endpoint,End)SID
End SID用于标识SR网络中的一个目的节点(node)。
(13)端点三层交叉连接(endpoint with layer-3 cross-connect,End.X)SID
End.X SID用于标识SR网络中的一条链路。
随着运营商移动和固定网络业务的需求的不断增长,多种业务部署在同一个网络的情况经常出现。为了保证各种业务的带宽互不抢占,需要对不同业务的带宽互相隔离。网络承载的不同业务类型的流量特征存在很大的差异。例如,个人固定宽带业务的带宽不易估计,主要是上网流量,需要大带宽、突发大、尽力的服务,时延不敏感,可能到50毫秒(ms);企业业务既有时延敏感业务也有时延不敏感业务,通常有明确的带宽时延服务级别协议(service level agreement,SLA)。移动承载业务有时延敏感业务和时延不敏感业务。不同的业务类型的收敛比存在较大差异。
以上场景的需求可通过网络切片技术满足。网络切片技术采用灵活以太网(Flexible Ethernet,Flex Eth或FlexE)接口或信道化接口将一张物理网络切割为多个硬隔离的网络切片,每个网络切片独立布放业务,不同网络切片的带宽硬隔离,相互不影响。此外,可通过SRv6实现业务和物理切片的映射,解决客户业务SLA差异化保障的诉求。
目前经常出现转发面(如网络设备)上配置的网络切片的信息与控制面(如控制器)上网络切片的信息不一致的情况。
切片信息不一致存在两种典型原因。一种典型原因是,控制器向网络设备下发切片信息之后,网络设备后续更新了切片信息。例如,控制器通过边界网关协议链路状态(border gateway protocol link-state,BGP LS)向网络设备下发了切片信息A。网络设备获得控制器发送的切片信息A之后,又通过NETCONF、PCEP等协议获得了切片信息B。网络设备将本地配置的切片信息从切片信息A更新为切片信息B,导致网络设备上的切片信息与控制器上的切片信息不一致。另一种典型的原因是,控制面包括多个控制器,控制器A向网络设备下发切片信息后,控制面中仅控制器A上具有网络设备上的切片信息,而控制器A之外的其他控制器上缺少网络设备上的切片信息。
切片信息不一致会导致诸多问题。例如,控制器在基于切片信息进行算路或调优时,由于控制器使用的切片信息不是网络设备上实际的切片信息,导致控制器算路或调优的效果不佳。
本申请实施例中,网络设备通过向控制器上报网络切片的标识、网络切片中路径的信息等切片信息,从而保证转发面与控制面上切片信息保持一致,因此控制器能够以网络设备上实际的切片信息为准,执行算路、调优或者其他报文转发路径控制一类的任务,提升控制器路径控制的性能。
下面对本申请实施例的系统架构进行举例说明。
附图1是本申请实施例提供的一种网络系统的系统架构的示意图。如附图1所示,该网络系统包括控制器11、网络设备21、网络设备22和网络设备23。
控制器11包括而不限于服务器、个人计算机或主机等。控制器11用于在网络系统中部署网络切片,并在网络切片中部署一条或多条路径以承载业务。可选地,控制器11还用于对网络切片中的一条或多条路径进行监控和调优。
网络设备21、网络设备22和网络设备23包括而不限于交换机、路由器等。网络设备21、网络设备22和网络设备23用于基于网络切片中的路径转发数据报文。
可选地,网络设备21、网络设备22和网络设备23扮演不同的角色。网络设备21为网络的入口节点,网络设备21用于向数据报文添加网络切片的标识以及网络切片中路径的路径信息。网络设备22为网络的中间节点,网络设备22用于根据数据报文中网络切片的标识以及路径信息,沿着路径信息对应的路径转发数据报文。网络设备23为网络的出口节点。网络设备23用于从数据报文弹出网络切片的标识以及路径信息,再将数据报文从网络中转发出去。
可选地,附图1所示的系统架构包括SR网络,网络设备21为SR网络的入口节点。网络设备22为SR网络的中间节点。网络设备23为SR网络的出口节点。附图1所示的系统架构用于支持SR策略的网络切片。支持SR策略的网络切片的基本原理是在数据报文中携带网络切片的标识和SR策略中的SID List。例如,私网数据报文到达网络设备21时,网络设备21向数据报文封装逐跳选项头(Hop by hop options header,HBH)头以及SRH。HBH头包括网络切片的标识(network slicing identifier,slice ID)。SRH包括SID List。网络设备21基 于目的地址字段携带的SID查询路由表,从而得到路由的出接口和下一跳地址。网络设备21基于网络切片的标识,从路由的出接口对应的一个或多个切片接口中确定网络切片的标识对应的切片接口,通过切片接口转发数据报文。网络设备22根据数据报文中的切片ID以及SID List,按照与网络设备21同理的方式转发数据报文,使得数据报文沿着SID List对应的路径转发至网络设备23。当数据报文到达网络设备23时,网络设备23弹出数据报文中的HBH头再将数据报文转发至私网。
下面对本申请实施例的方法流程举例说明。
附图2是本申请实施例提供的一种报文处理的方法的流程图。附图2所示方法包括以下步骤S201至步骤S204。
附图2所示方法所基于的网络部署场景可选地如上述附图1所示。例如,结合附图1来看,附图2所示方法中的网络设备为附图1中的网络设备21、网络设备22或者网络设备23,附图2所示方法中的控制器为附图1中的控制器11。
可选地,附图2所示方法应用于SR网络,附图2所示方法中的网络设备为SR网络的入口节点。
步骤S201、网络设备生成通告报文。
通告报文的协议类型包括很多种情况。可选地,通告报文为BGP-LS报文。BGP LS是一种对BGP协议扩展的协议。BGP LS通常用于将拓扑信息上送给控制器。通过扩展BGP LS向控制器上送网络切片的标识以及路径的信息,从而尽可能复用已有协议,降低实现复杂度。可替换地,通告报文为PCEP报文、简单网络管理协议(simple network management protocol,SNMP)报文或者其他协议报文。
通告报文包括网络切片的标识和网络切片中一条或多条路径的路径信息。
网络切片的标识用于标识网络切片。网络设备如何获得网络切片的标识包括多种方式。例如,网络设备通过静态配置、动态下发或者从邻居学习等方式获得网络切片的标识。静态配置的方式是指管理员通过命令行界面、web界面等方式向网络设备上配置网络切片的标识。动态下发的方式是指控制器设备通过NETCONF协议、BGP、PCEP或者其他支持控制面和数据面交互的协议,将网络切片的标识发送至网络设备。从邻居学习的方式例如是网络设备从网络切片中邻居节点发送的报文中获得网络切片的标识。
网络切片中的路径可选地为隧道。隧道是端到端的路径。例如,隧道包括而不限于标记交换路径(Label Switching Path,LSP)隧道、流量工程(Traffic Engineering,TE)隧道、策略(policy)隧道等等。可选地,网络切片中的路径是SR策略中的路径。例如,网络切片中的一条或多条路径是SR策略中的一条或多条候选路径(candidate path);又如,网络切片中的一条或多条路径是SR策略中一个或多个SID List对应的路径。
可选地,通告报文中路径信息包括对应一条或多条路径的SID List。具体地,SID List包括路径上节点或链路对应的SID。例如,应用在SRv6场景下,SID List包括路径上一个或多个节点的End SID或者一个或多个链路的End.X SID。通过在报文中携带SID List,从而支持SR场景。
网络设备如何获得SID List包括多种方式。例如,网络设备通过静态配置、动态下发或者从邻居学习等方式获得SID List。又如,网络设备基于网络切片的拓扑进行路径计算,从 而得到SID List。
可选地,通告报文中路径信息包括对应一条或多条路径的状态信息。状态信息用于描述对应路径的状态。
可选地,通告报文中路径的状态信息包括以下信息中的一个或多个:流量统计信息、网络性能信息和连通性信息中的至少一项。
流量统计信息用于标识对应路径的流量。可选地,流量统计信息由网络设备对转发的报文进行采样和计数得到。
网络性能信息用于标识对应路径的网络性能。例如,网络性能信息包括路径的带宽、时延、丢包率、抖动等。可选地,网络性能信息由网络设备通过向路径的目的设备发送性能探测报文得到。性能探测报文包括而不限于操作维护管理(operations administration and maintenance,OAM)报文、双向主动测量协议(two-way active measurement protocol,TWAMP)报文等。
连通性信息用于标识对应路径为可用(UP)或不可用(down)。路径不可用例如是路径中一个或多个节点发生故障、一条或多条链路断开。可选地,连通性信息由网络设备通过向路径的目的设备发送连通性探测报文得到。连通性探测报文包括而不限于双向转发检测(bidirectional forwarding detection,BFD)报文、因特网控制报文协议(internet control message protocol,ICMP)请求报文(ping)等。
步骤S202、网络设备向控制器发送通告报文。
可选地,通告报文用于指示控制器根据网络切片的标识和路径信息进行报文转发路径的控制。
步骤S203、控制器接收网络设备发送的通告报文。
控制器能从通告报文中获得网络切片的标识和网络切片中一条或多条路径的路径信息,例如,结合附图1来看,网络设备21向控制器11发送通告报文,使得网络切片的标识和网络切片中一条或多条路径的路径信息从网络设备21传递到控制器11。
步骤S204、控制器根据网络切片的标识和网络切片中一条或多条路径的路径信息进行报文转发路径的控制。
由于网络设备将网络切片的标识上报给控制器,控制器能够以网络设备上报的网络切片的标识为准,进行报文转发路径的控制。转发路径的控制包括多种实现方式。例如,转发路径的控制包括而不限于路径调优、为转发路径分配传输资源、监控和记录转发路径的状态、呈现转发路径所属的网络拓扑的拓扑图等等。
路径调优是指对流量所在的路径进行切换。为了区分不同路径,下面用“第一路径”“第二路径”分别指代调优前承载流量的路径以及调优后承载流量的路径。第二路径用于承载第一路径上转发的流量。例如,数据流A原来通过第一路径转发,路径调优后数据流A通过第二路径转发。
路径调优适于的场景包括而不限于下述场景一和场景二。
场景一、控制器在路径不可用时进行路径调优。
具体地,控制器根据网络设备发送的通告报文中一条或多条路径的连通性信息,判断网络切片中的一条或多条路径是否可用。在控制器确定一条或多条路径中的第一路径不可用时,获得第二路径。
场景二、控制器在带宽利用率达到阈值时进行路径调优。
具体地,控制器根据网络设备发送的通告报文中一条或多条路径的网络性能信息,判断网络切片中的一条或多条路径的带宽利用率是否达到阈值。在控制器确定一条或多条路径中的第一路径的带宽利用率达到阈值时,获得第二路径。带宽利用率的阈值可选地是用户预先配置的值。
在一些实施例中,第一路径的带宽利用率为第一路径上的一个或多个链路的带宽利用率。例如,在控制器确定第一路径中一个链路的带宽利用率达到阈值时,获得第二路径;又如,在控制器确定第一路径中多个链路的带宽利用率均达到阈值时,获得第二路径。可选地,应用在SR场景下,第一路径通过SID list表示,链路通过End.X SID表示,第一路径的带宽利用率为SID list中一个或多个End.X SID对应的带宽利用率。
在一些实施例中,控制器在获得第二路径之后,控制器生成并向网络设备发送路径切换指示。路径切换指示包括第二路径的路径信息,路径切换指示用于指示网络设备将报文转发路径切换为第二路径。网络设备接收控制器发送的路径切换指示,将承载流量的路径从第一路径切换为第二路径。
示例性地,控制器发送的路径切换指示中第二路径的路径信息包括第二路径的SID List。网络设备根据第二路径的SID List,将承载流量的路径从第一路径切换为第二路径。具体地,网络设备接收到流量时,如果流量是第一路径原本要承载的流量,网络设备会向流量中每个报文添加第二路径的SID List,转发包含第二路径的SID List的流量,使得流量通过第二路径的SID List沿第二路径转发。
路径调优的方式包括而不限于切片内调优的方式和切片间调优的方式,下面通过(1)和(2)分别具体说明。
(1)切片内调优
切片内调优是指在同一个网络切片内的不同报文转发路径之间切换。在采用切片内调优时,上述第二路径为网络切片的标识对应的网络切片中的路径。也即是,第二路径和第一路径是同一个网络切片中的不同路径。例如,控制器获得第二路径的方式包括:控制器以网络切片的标识为索引,查找网络切片的标识对应的网络切片的拓扑信息;控制器根据网络切片的拓扑信息确定与第一路径不同的路径,得到上述第二路径。
(2)切片间调优
切片间调优是指将一个网络切片内的报文转发路径切换为另一个网络切片内的报文转发路径。例如,在采用切片内调优时,上述通告报文包括第一网络切片的标识以及第一网络切片中第一路径的路径信息,上述第二路径为第二网络切片中的路径,第二网络切片和第一网络切片不同。可选地,切片间调优适于一个业务具有多个网络切片的情况,例如上述第一网络切片和上述第二网络切片对应于相同的业务类型,又如上述第一网络切片和上述第二网络切片对应于相同的用户标识。
可选地,第二路径为控制器基于网络切片的标识对应的网络切片的网络拓扑计算得到的。例如,控制器基于网络切片的拓扑,采用灵活算法(Flexible Algorithm,FlexAlgo)进行路径计算,得到上述第二路径。可选地,控制器算路时采用的约束条件包括不经过第一路径中带宽利用率达到阈值的链路。
本实施例提供的方法,网络设备通过将网络切片的标识、网络切片中路径的信息等切片 信息携带在报文中,将报文上送给控制器,从而实现转发面和控制面上切片信息保持一致,便于控制器以网络设备上切片信息为准进行报文转发路径的控制,提升控制器进行报文转发路径控制的效果。
下面对本申请实施例涉及的报文格式进行介绍。
本申请的一些实施例通过扩展BGP-LS协议,使网络设备能够将SR策略候选路径(SR Policy Candidate Path)的网络切片的标识上报给控制器。具体来说,网络切片的标识携带在BGP-LS报文的SR Policy Candidate Path Descriptor类型-长度-值(type-length-value,TLV)中。
请参考附图3,附图3示出了BGP-LS报文的格式示意图。附图3所示的报文是用来上报SR策略的BGP网络层可达信息(network layer reachability information,NLRI)。附图3中各个字段的含义如下。
协议ID(protocol-ID)字段用于标识TE策略来自的协议。例如,协议ID字段的内容为9时表示TE策略来自的协议为Segment Routing。
标识(identifier)字段是收集拓扑的协议中BGP-LS的标识。标识字段占64个比特。
头端(headend)字段用于携带头端的信息。头端字段包括至少一个节点描述符(node descriptor)。
TE策略描述符(TE policy descriptors)字段用于描述TE策略。TE策略描述符字段包括一个或多个TLV。
请参考附图4,附图4示出了BGP-LS报文中SR Policy Candidate Path Descriptor TLV的格式示意图。附图4位于附图3中TE策略描述符字段。SR Policy Candidate Path Descriptor TLV用于携带SR策略中的候选路径的信息。SR Policy Candidate Path Descriptor TLV包括类型字段、长度字段、协议来源(protocol-origin)字段、端点(endpoint)字段、标志(flags)字段、策略颜色(policy color)字段、发起方自治系统(autonomous system,AS)编号(originator AS number)字段、发起方地址(originator address)字段、鉴别器(discriminator)字段,各个字段的含义如下。
类型字段用于携带SR策略候选路径TLV的类型。例如,类型字段的内容是554。
长度字段用于标识SR策略候选路径TLV的长度。
协议来源(protocol-origin)字段用于标识候选路径通过什么协议或者什么途径生成。例如,当SR策略通过BGP接收时,协议来源字段的内容是2;当SR策略通过本地配置时,协议来源字段的内容是3。
端点(endpoint)字段用于携带SR策略中目的设备的地址。端点字段占4字节或16字节。
标志(flags)字段包括一个或多个标志位。
策略颜色(policy color)字段用于携带SR策略的颜色。颜色字段占4字节。
发起方AS编号(originator AS number)字段用于携带候选路径的AS编号(AS number,ASN)。发起方AS编号字段占4字节。
发起方地址(originator address)字段用于携带候选路径的地址标识。发起方地址占4字节或者16字节。
鉴别器(discriminator)字段用于标识候选路径。同一个SR策略中的不同候选路径可通 过discriminator区分。例如,设备通过BGP发布了SR策略下的三条候选路径,这三条候选路径对应于三个不同的discriminator,这三条候选路径通过各自的discriminator区分开来。
在一些实施例中,在SR Policy Candidate Path Descriptor TLV中扩展一个子TLV(sub TLV)以上报网络切片的标识。具体来说,网络切片的标识携带上述SR Policy Candidate Path Descriptor TLV的子TLV中。
示例性地,请参考附图5,附图5示出了携带网络切片的标识的子TLV的格式示意图。附图5为附图4的一个子TLV。携带网络切片的标识的子TLV包括类型字段、长度字段和Slice ID的字段。类型字段用于标识TLV中携带了网络切片的标识。类型字段可选地占1个字节。长度字段的内容为携带网络切片的标识的子TLV的长度。长度字段可选地占1个字节。Slice ID的字段存储有网络切片的标识。Slice ID的字段可选地占4个字节。
通过附图3至附图5所示的报文格式可以看出,通过扩展BGP-LS协议,在BGP-LS报文的SR Policy Candidate Path Descriptor TLV下新增网络切片的子TLV,网络设备能够直接在SR策略信息上报的时候,携带网络切片的标识,实现复杂度低。
下面以附图2所示方法应用在SR网络为例,对附图2所示方法举例说明。
下述流程中SRv6策略隧道为附图2所示方法中网络切片中路径,下述流程中SID List为附图2所示方法中路径信息,下述流程中头节点路由器为附图2所示方法中网络设备。
下面对网络切片的部署流程进行介绍。请参考附图6,网络切片的部署流程包括下述步骤(1)至步骤(6)。
步骤(1)控制器创建业务的网络切片。
步骤(2)控制器通过netconf协议向网络设备下发分片接口、分片接口上配置的网络切片的标识和切片带宽。其中,切片接口类型包括而不限于FlexE、信道化子接口和FlexE子通道。可选地,业务的网络切片上不配置IP地址,复用默认切片的IP地址。
步骤(3)路由器通过SNMP将网络切片的二层拓扑上报给控制器。控制器根据业务的网络切片的二层拓扑和默认切片的三层拓扑,生成业务的网络切片的三层拓扑用于隧道算路。
步骤(4)控制器在网络切片内部署SRv6策略隧道。
具体地,控制器配置SRv6策略隧道,指定SRv6策略和网络切片的标识的映射关系。控制器基于用户输入的算路要求(时延、带宽等)在切片拓扑里进行SRv6策略算路。
步骤(5)控制器通过BGP-SRv6策略协议下发SRv6策略隧道给路由器。SRv6策略隧道配置示例如下。
segment-list list1
index 1 sid ipv6 2::2:100
index 2 sid ipv6 3::3:100
srv6 policy policy1
endpoint 3::3 color green
candidate-path preference 1
network slice id 1
segment-list list1
上述配置的SRv6策略隧道的SID List为segment-list list1,网络切片的标识为1。SRv6 策略隧道的SID List包括两个SID,一个SID是2::2:100,另一个SID是3::3:100
步骤(6)控制器通过netconf协议下发VPN配置到路由器,VPN配置如下所示。
Figure PCTCN2022080185-appb-000001
下面对隧道监控流程进行介绍。请参考附图7,附图7是隧道监控流程的场景示意图,隧道监控流程包括下述步骤(1)至步骤(2)。
步骤(1)、头节点路由器通过BGP-LS地址族和控制器建立BGP-LS邻居。头节点路由器在BGP-LS的SR Policy Candidate Path Descriptor TLV的子TLV中携带网络切片的标识,将包括网络切片的标识SR Policy Candidate Path Descriptor TLV上报给控制器。
例如,头节点路由器上报如下内容。
segment-list list1
index 1 sid ipv6 2::2:100
index 2 sid ipv6 3::3:100
srv6 policy policy1
endpoint 3::3 color green
candidate-path preference 1
network slice id 1
segment-list list1
头节点路由器上报的如上内容表示路径的SID List包括SID 2::2:100和SID 2::2:100。路径所属的SR策略为policy1。路径的端点(目的设备)的IP地址为3::3。路径对应的颜色为绿色。候选路径的优先级为1 3::3。网络切片的标识为1。
可选地,头节点路由器上报的内容与控制器在切片部署流程中下发的内容相同。可选地,头节点路由器上报的内容还包括SID list的状态,如UP或down等。SID list的状态是头节点路由器通过BFD检测获得的。
可选地,头节点路由器通过telemetry协议上报SRv6策略的流量统计信息给控制器。
步骤(2)、控制器收到路由器上报的SR Policy Candidate Path Descriptor TLV后,对网络切片内的SRv6策略隧道的状态以及流量进行实时的监控。
下面对隧道调优流程进行介绍。请参考附图8,附图8是隧道调优流程的场景示意图,隧道调优流程包括下述步骤(1)至步骤(3)。
步骤(1)控制器通过telemetry采集网络切片中每条链路的带宽利用率,判断SID List中的一个或多个链路的带宽利用率是否超过阈值。当SID List中的一个或多个链路的带宽利用率超过阈值时,表明路径中链路发生拥塞,则控制器执行下述步骤(2)。
步骤(2)控制器重新算路。具体地,控制器计算网络切片的标识对应的新的SID list(即第二路径的SID list)。
步骤(3)控制器将新的SID list发送给网络设备。网络设备将流量从原来的SID list对应的路径切换至新的SID list对应的路径。
其中,带宽利用率的阈值可选地来自于用户在控制器配置的带宽调优策略。带宽调优策略包括链路的带宽利用率的阈值。带宽调优策略用于指示控制器在链路的带宽利用率达到阈值时触发路径切换。
通过执行流量调优,可以保证网络切片中各个链路的带宽利用率低于某个阈值,使得网络切片中各个链路的带宽利用率均衡。
下面对网络设备和控制器的基本硬件结构举例说明。
附图9是本申请实施例提供的一种设备600的结构示意图。附图9所示的设备600为上述方法实施例中的网络设备或者控制器。
可选地,结合附图1来看,附图9所示的设备600是附图1中的控制器11,或者设备600是附图1中的网络设备21、网络设备22或者网络设备23。
可选地,结合附图2来看,附图9所示的设备600是附图2所示方法流程图中的网络设备,附图9所示的设备600用于实施上述附图2描述的方法中网络设备执行的步骤;或者,附图9所示的设备600是附图2所示方法流程图中的控制器,附图9所示的设备600用于实施上述附图2描述的方法中控制器执行的步骤。
设备600包括至少一个处理器601、存储器602以及至少一个网络接口603。
如果设备600被配置为网络设备,处理器601用于生成通告报文,网络接口603用于发送通告报文。
如果设备600被配置为控制器,网络接口603用于接收通告报文,处理器601用于根据所述网络切片的标识和所述网络切片中一条或多条路径的路径信息进行报文转发路径的控制。
处理器601例如是通用中央处理器(central processing unit,CPU)、网络处理器(network processer,NP)、图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-network processing units,NPU)、数据处理单元(data processing unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器601包括专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
网络接口603使用任何收发器一类的装置,用于与其它设备或通信网络通信。网络接口603例如包括有线网络接口或者无线网络接口中的至少一项。其中,有线网络接口例如为以太网接口。以太网接口例如是光接口,电接口或其组合。无线网络接口例如为无线局域网 (wireless local area networks,WLAN)接口,蜂窝网络网络接口或其组合等。
在一些实施例中,处理器601包括一个或多个CPU,如附图9中所示的CPU0和CPU1。
在一些实施例中,设备600可选地包括多个处理器,如附图9中所示的处理器601和处理器605。这些处理器中的每一个例如是一个单核处理器(single-CPU),又如是一个多核处理器(multi-CPU)。这里的处理器可选地指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在一些实施例中,设备600还包括内部连接604。处理器601、存储器602以及至少一个网络接口603通过内部连接604连接。内部连接604包括通路,在上述组件之间传送信息。可选地,内部连接604是单板或总线。可选地,内部连接604分为地址总线、数据总线、控制总线等。
可选地,处理器601通过读取存储器602中保存的程序代码610实现上述实施例中的方法,或者,处理器601通过内部存储的程序代码实现上述实施例中的方法。在处理器601通过读取存储器602中保存的程序代码610实现上述实施例中的方法的情况下,存储器602中保存实现本申请实施例提供的报文处理的方法的程序代码。
存储器602例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。可选地,存储器602独立存在,并通过内部连接604与处理器601相连接。或者,可选地存储器602和处理器601集成在一起。
在一些实施例中,设备600还包括输入输出接口606。输入输出接口606连接到内部连接604上。
处理器601实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
参见附图10,附图10是本申请实施例提供的一种设备700的结构示意图。
附图10是本申请实施例提供的一种设备700的结构示意图。附图10所示的设备700为上述方法实施例中的网络设备或者控制器。
可选地,结合附图1来看,附图10所示的设备700是附图1中的控制器11,或者设备700是附图1中的网络设备21、网络设备22或者网络设备23。
可选地,结合附图2来看,附图10所示的设备700是附图2所示方法流程图中的网络设备,附图10所示的设备700用于实施上述附图2描述的方法中网络设备执行的步骤;或者,附图10所示的设备700是附图2所示方法流程图中的控制器,附图10所示的设备700用于实施上述附图2描述的方法中控制器执行的步骤。
设备700包括:主控板710和接口板730。
主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor  card),主控板710用于对设备700中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板710包括:中央处理器711和存储器712。
接口板730也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板730用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(packet over sONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(flexible ethernet clients,FlexE clients)。接口板730包括:中央处理器731、网络处理器732、转发表项存储器734和物理接口卡(physical interface card,PIC)733。
接口板730上的中央处理器731用于对接口板730进行控制管理并与主控板710上的中央处理器711进行通信。
网络处理器732用于实现报文的转发处理。网络处理器732的形态例如是转发芯片。具体而言,网络处理器732用于基于转发表项存储器734保存的转发表转发接收到的报文,如果报文的目的地址为设备700的地址,则将该报文上送至CPU(如中央处理器711)处理;如果报文的目的地址不是设备700的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡733用于实现物理层的对接功能,原始的流量由此进入接口板730,以及处理后的报文从该物理接口卡733发出。物理接口卡733也称为子卡,可安装在接口板730上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器732处理。在一些实施例中,中央处理器也可执行网络处理器732的功能,比如基于通用CPU实现软件转发,从而物理接口卡733中不需要网络处理器732。
可选地,设备700包括多个接口板,例如设备700还包括接口板740,接口板740包括:中央处理器741、网络处理器742、转发表项存储器744和物理接口卡743。
可选地,设备700还包括交换网板720。交换网板720也例如称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板730的情况下,交换网板720用于完成各接口板之间的数据交换。例如,接口板730和接口板740之间例如通过交换网板720通信。
主控板710和接口板730耦合。例如。主控板710、接口板730和接口板740,以及交换网板720之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板710和接口板730之间建立进程间通信协议(inter-process communication,IPC)通道,主控板710和接口板730之间通过IPC通道进行通信。
在逻辑上,设备700包括控制面和转发面,控制面包括主控板710和中央处理器731,转发面包括执行转发的各个组件,比如转发表项存储器734、物理接口卡733和网络处理器732。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器732基于控制面下发的转发表对物理接口卡733收到的报文查表转发。控制面下发的转发表例如保存在转发表项存储器734中。在有些实施例中,控制面和转发面例如完全分离,不在同一设备上。
接口板740上的操作与接口板730的操作一致,为了简洁,不再赘述。设备700可对应于上述各个方法实施例中的网络设备或者控制器,该设备700中的主控板710、接口板730和/或740例如实现上述各个方法实施例中的网络设备或者控制器所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
值得说明的是,主控板可能有一块或多块,有多块的时候例如包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
附图11是本申请实施例提供的一种网络设备的结构示意图。附图11所示的网络设备800例如实现附图2所示方法中网络设备的功能。
请参考附图11,网络设备800包括生成单元801和发送单元802。生成单元801用于支持网络设备800执行S201。发送单元802用于支持网络设备800执行S202。
附图11所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。网络设备800中的各个单元全部或部分地通过软件、硬件、固件或者其任意组合来实现。附图11中上述各个单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。例如,采用软件实现时,上述生成单元801可以是由附图9中的至少一个处理器601读取存储器602中存储的程序代码后,生成的软件功能单元来实现。附图11中上述各个单元也可以由网络设备中的不同硬件分别实现,例如生成单元801由附图9中的至少一个处理器601中的一部分处理资源(例如多核处理器中的一个核或两个核)实现,或者采用现场可编程门阵列(field-programmable gate array,FPGA)、或协处理器等可编程器件来完成。发送单元802由附图9中的网络接口603实现。显然上述功能单元也可以采用软件硬件相结合的方式来实现,例如发送单元802由硬件可编程器件实现,而生成单元801是由CPU读取存储器中存储的程序代码后,生成的软件功能单元。
附图12是本申请实施例提供的一种控制器900的结构示意图。
请参考附图12,控制器900包括接收单元901和控制单元902。接收单元901用于支持控制器900执行S203。控制单元902用于支持控制器900执行S204。控制器900中的各个单元全部或部分地通过软件、硬件、固件或者其任意组合来实现。控制器900中的各个单元用于执行上述附图2所示方法中控制器的相应功能。
可选地,控制器900还包括发送单元,发送单元用于支持控制器900将对应所述第二路径的SID List发送给所述网络设备。
附图12所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。附图12中上述各个单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。例如,采用软件实现时,上述控制单元902可以是由附图9中的至少一个处理器601读取存储器602中存储的程序代码后,生成的软件功能单元来实现。附图12中上述各个单元也可以由控制器中的不同硬件分别实现,例如控制单元902由附图9中的至少一个处理器601中的一部分处理资源(例如多核处理器中的一个核或两个核)实现,或者由附图9中至少一个处理器601中的其余部分处理资源(例如多核处理器中的其他核),或者采用现场可编程门阵列(field-programmable gate array,FPGA)、或协处理器等可编程器件来完成。接收单元901和发送单元由附图9中的网络接口603实现。显然上述功能单元也可以采用软件硬件相结合的方式来实现,例如接收单元901和发送单元由硬件可编程器件实现,而控制单元902是由CPU读取存储器中存储的程序代码后,生成的软件功能单元。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分可互相参考,每个实施例重点说明的都是与其他实施例的不同之处。其中,A参考B,指的是A与B相同或者A为B的简单变形。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序,也不能理解为指示或暗示相对重要性。例如,第一路径和第二路径用于区别不同的路径,而不是用于描述路径的特定顺序,也不能理解为第一路径比第二路径更重要。
本申请实施例,除非另有说明,“多个”的含义是指两个或两个以上。例如,多条路径是指两条或两条以上的路径。
上述实施例可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例描述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者 替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (50)

  1. 一种报文处理的方法,其特征在于,包括:
    网络设备生成通告报文,所述通告报文包括网络切片的标识和所述网络切片中一条或多条路径的路径信息;
    所述网络设备向控制器发送所述通告报文。
  2. 根据权利要求1所述的方法,其特征在于,所述通告报文为边界网关协议链路状态BGP-LS报文。
  3. 根据权利要求2所述的方法,其特征在于,所述网络切片的标识携带在所述BGP-LS报文的SR Policy Candidate Path Descriptor TLV中。
  4. 根据权利要求3所述的方法,其特征在于,所述网络切片的标识携带所述SR Policy Candidate Path Descriptor TLV的子TLV中,所述子TLV中包括切片标识Slice ID的字段,所述Slice ID的字段存储有所述网络切片的标识。
  5. 根据权利要求1至4任一权利要求所述的方法,其特征在于,所述路径信息包括对应所述一条或多条路径的段标识列表SID List。
  6. 根据权利要求5所述的方法,其特征在于,所述路径信息还包括所述一条或多条路径的状态信息。
  7. 根据权利要求6所述的方法,其特征在于,所述状态信息包括以下信息中的一个或多个:流量统计信息、网络性能信息和连通性信息中的至少一项。
  8. 根据权利要求7所述的方法,其特征在于,所述连通性信息用于标识对应路径为可用或不可用。
  9. 根据权利要求1至8任一权利要求所述的方法,其特征在于,所述通告报文用于指示所述控制器根据所述网络切片的标识和所述路径信息进行报文转发路径的控制。
  10. 根据权利要求1至9任一权利要求所述的方法,其特征在于,所述网络设备为分段路由SR网络的入口节点。
  11. 一种报文处理的方法,其特征在于,包括:
    控制器接收网络设备发送的通告报文,所述通告报文包括网络切片的标识和所述网络切片中一条或多条路径的路径信息;
    所述控制器根据所述网络切片的标识和所述网络切片中一条或多条路径的路径信息进行报文转发路径的控制。
  12. 根据权利要求11所述的方法,其特征在于,所述通告报文为边界网关协议链路状态BGP-LS报文。
  13. 根据权利要求12所述的方法,其特征在于,所述网络切片的标识携带在所述BGP-LS报文的SR Policy Candidate Path Descriptor TLV中。
  14. 根据权利要求13所述的方法,其特征在于,所述网络切片的标识携带所述SR Policy Candidate Path Descriptor TLV的子TLV中,所述子TLV中包括切片标识Slice ID的字段,所述Slice ID的字段存储有所述网络切片的标识。
  15. 根据权利要求11至14任一权利要求所述的方法,其特征在于,所述路径信息包括对应所述一条或多条路径的段标识列表SID List。
  16. 根据权利要求15所述的方法,其特征在于,所述路径信息还包括所述一条或多条路径的状态信息。
  17. 根据权利要求16所述的方法,其特征在于,所述状态信息包括以下信息中的一个或多个:流量统计信息、网络性能信息和连通性信息中的至少一项。
  18. 根据权利要求17所述的方法,其特征在于,所述连通性信息用于标识对应路径为可用或不可用。
  19. 根据权利要求18所述的方法,其特征在于,所述控制器根据所述网络切片的标识和所述网络切片中一条或多条路径的路径信息进行报文转发路径的控制包括:
    在所述控制器确定所述一条或多条路径中的第一路径不可用时,获得第二路径,所述第二路径用于承载所述第一路径上转发的流量。
  20. 根据权利要求11至17任一权利要求所述的方法,其特征在于,所述控制器根据所述网络切片的标识和所述网络切片中一条或多条路径的路径信息进行报文转发路径的控制包括:
    在所述控制器确定所述一条或多条路径中的第一路径的带宽利用率达到阈值时,获得第二路径,所述第二路径用于承载所述第一路径上转发的流量。
  21. 根据权利要求20所述的方法,其特征在于,所述第一路径的带宽利用率为所述第一路径上的一个或多个链路的带宽利用率。
  22. 根据权利要求19至21任一权利要求所述的方法,其特征在于,所述第二路径为所述网络切片的标识对应的网络切片中的路径。
  23. 根据权利要求22所述的方法,其特征在于,所述第二路径为所述控制器基于所述网络切片的标识对应的网络切片的网络拓扑计算得到的。
  24. 根据权利要求19至23任一权利要求所述的方法,其特征在于,所述方法还包括:
    所述控制器将对应所述第二路径的SID List发送给所述网络设备。
  25. 一种网络设备,其特征在于,包括:
    生成单元,用于生成通告报文,所述通告报文包括网络切片的标识和所述网络切片中一条或多条路径的路径信息;
    发送单元,用于向控制器发送所述通告报文。
  26. 根据权利要求25所述的网络设备,其特征在于,所述通告报文为边界网关协议链路状态BGP-LS报文。
  27. 根据权利要求26所述的网络设备,其特征在于,所述网络切片的标识携带在所述BGP-LS报文的SR Policy Candidate Path Descriptor TLV中。
  28. 根据权利要求27所述的网络设备,其特征在于,所述网络切片的标识携带所述SR Policy Candidate Path Descriptor TLV的子TLV中,所述子TLV中包括切片标识Slice ID的字段,所述Slice ID的字段存储有所述网络切片的标识。
  29. 根据权利要求25至28任一权利要求所述的网络设备,其特征在于,所述路径信息包括对应所述一条或多条路径的段标识列表SID List。
  30. 根据权利要求29所述的网络设备,其特征在于,所述路径信息还包括所述一条或多条路径的状态信息。
  31. 根据权利要求30所述的网络设备,其特征在于,所述状态信息包括以下信息中的一个或多个:流量统计信息、网络性能信息和连通性信息中的至少一项。
  32. 根据权利要求31所述的网络设备,其特征在于,所述连通性信息用于标识对应路径为可用或不可用。
  33. 根据权利要求25至32任一权利要求所述的网络设备,其特征在于,所述通告报文用于指示所述控制器根据所述网络切片的标识和所述路径信息进行报文转发路径的控制。
  34. 根据权利要求25至33任一权利要求所述的网络设备,其特征在于,所述网络设备为分段路由SR网络的入口节点。
  35. 一种控制器,其特征在于,包括:
    接收单元,用于接收网络设备发送的通告报文,所述通告报文包括网络切片的标识和所述网络切片中一条或多条路径的路径信息;
    控制单元,用于根据所述网络切片的标识和所述网络切片中一条或多条路径的路径信息进行报文转发路径的控制。
  36. 根据权利要求35所述的控制器,其特征在于,所述通告报文为边界网关协议链路状态BGP-LS报文。
  37. 根据权利要求36所述的控制器,其特征在于,所述网络切片的标识携带在所述BGP-LS报文的SR Policy Candidate Path Descriptor TLV中。
  38. 根据权利要求37所述的控制器,其特征在于,所述网络切片的标识携带所述SR Policy Candidate Path Descriptor TLV的子TLV中,所述子TLV中包括切片标识Slice ID的字段,所述Slice ID的字段存储有所述网络切片的标识。
  39. 根据权利要求35至38任一权利要求所述的控制器,其特征在于,所述路径信息包括对应所述一条或多条路径的段标识列表SID List。
  40. 根据权利要求39所述的控制器,其特征在于,所述路径信息还包括所述一条或多条路径的状态信息。
  41. 根据权利要求40所述的控制器,其特征在于,所述状态信息包括以下信息中的一个或多个:流量统计信息、网络性能信息和连通性信息中的至少一项。
  42. 根据权利要求41所述的控制器,其特征在于,所述连通性信息用于标识对应路径为可用或不可用。
  43. 根据权利要求42所述的控制器,其特征在于,所述控制单元,用于在确定所述一条或多条路径中的第一路径不可用时,获得第二路径,所述第二路径用于承载所述第一路径上转发的流量。
  44. 根据权利要求35至43任一权利要求所述的控制器,其特征在于,所述控制单元,用于在确定所述一条或多条路径中的第一路径的带宽利用率达到阈值时,获得第二路径,所述第二路径用于承载所述第一路径上转发的流量。
  45. 根据权利要求44所述的控制器,其特征在于,所述第一路径的带宽利用率为所述第一路径上的一个或多个链路的带宽利用率。
  46. 根据权利要求43至45任一权利要求所述的控制器,其特征在于,所述第二路径为所 述网络切片的标识对应的网络切片中的路径。
  47. 根据权利要求46所述的控制器,其特征在于,所述第二路径为所述控制器基于所述网络切片的标识对应的网络切片的网络拓扑计算得到的。
  48. 根据权利要求43至47任一权利要求所述的控制器,其特征在于,所述控制器还包括:
    发送单元,用于将对应所述第二路径的SID List发送给所述网络设备。
  49. 一种网络系统,其特征在于,所述系统包括如权利要求25至34中任一项所述的网络设备以及如权利要求35至48中任一项所述的控制器。
  50. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令在计算机上运行时,使得计算机执行如权利要求1至权利要求24中任一项所述的方法。
PCT/CN2022/080185 2021-03-16 2022-03-10 报文处理的方法、网络设备及控制器 WO2022194023A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22770378.2A EP4293982A1 (en) 2021-03-16 2022-03-10 Packet processing method, network device, and controller
US18/469,078 US20240007399A1 (en) 2021-03-16 2023-09-18 Message Processing Method, Network Device, and Controller

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110281996.8 2021-03-16
CN202110281996.8A CN115086218A (zh) 2021-03-16 2021-03-16 报文处理的方法、网络设备及控制器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/469,078 Continuation US20240007399A1 (en) 2021-03-16 2023-09-18 Message Processing Method, Network Device, and Controller

Publications (1)

Publication Number Publication Date
WO2022194023A1 true WO2022194023A1 (zh) 2022-09-22

Family

ID=83246073

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/080185 WO2022194023A1 (zh) 2021-03-16 2022-03-10 报文处理的方法、网络设备及控制器

Country Status (4)

Country Link
US (1) US20240007399A1 (zh)
EP (1) EP4293982A1 (zh)
CN (1) CN115086218A (zh)
WO (1) WO2022194023A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11799772B2 (en) 2019-02-15 2023-10-24 Juniper Networks, Inc. Support for multiple virtual networks over an underlay network topology

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116056160B (zh) * 2023-02-09 2024-01-30 烽火通信科技股份有限公司 网络切片的方法与装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156004A (zh) * 2016-12-02 2018-06-12 中国移动通信有限公司研究院 Sdn控制器及交换机管理方法
CN111585780A (zh) * 2019-02-15 2020-08-25 瞻博网络公司 通过底层网络拓扑支持多个虚拟网络

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156004A (zh) * 2016-12-02 2018-06-12 中国移动通信有限公司研究院 Sdn控制器及交换机管理方法
CN111585780A (zh) * 2019-02-15 2020-08-25 瞻博网络公司 通过底层网络拓扑支持多个虚拟网络

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
C. XIE C. LI CHINA TELECOM J. DONG Z. LI HUAWEI TECHNOLOGIES: "BGP-LS with Multi-topology for Segment Routing based Virtual Transport Networks; draft-xie-idr-bgpls-sr-vtn-mt-02.txt", BGP-LS WITH MULTI-TOPOLOGY FOR SEGMENT ROUTING BASED VIRTUAL TRANSPORT NETWORKS; DRAFT-XIE-IDR-BGPLS-SR-VTN-MT-02.TXT; INTERNET-DRAFT: IDR WORKING GROUP, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES , no. 2, 26 January 2021 (2021-01-26), pages 1 - 10, XP015144309 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11799772B2 (en) 2019-02-15 2023-10-24 Juniper Networks, Inc. Support for multiple virtual networks over an underlay network topology

Also Published As

Publication number Publication date
CN115086218A (zh) 2022-09-20
EP4293982A1 (en) 2023-12-20
US20240007399A1 (en) 2024-01-04

Similar Documents

Publication Publication Date Title
US10542076B2 (en) Cloud service control and management architecture expanded to interface the network stratum
EP2747355B1 (en) Aggregation network with centralized control
US10009231B1 (en) Advertising with a layer three routing protocol constituent link attributes of a layer two bundle
US9634928B2 (en) Mesh network of simple nodes with centralized control
WO2021170092A1 (zh) 报文处理方法、装置、网络设备及存储介质
US9800507B2 (en) Application-based path computation
US8325611B2 (en) Scaling OAM for point-to-point trunking
CN113411834B (zh) 报文处理方法、装置、设备及存储介质
WO2022194023A1 (zh) 报文处理的方法、网络设备及控制器
US10560456B2 (en) Method, apparatus, and system for collecting access control list
US8897295B2 (en) Method and system for providing traffic engineering interworking
US10924384B2 (en) Traffic engineering for border gateway protocol
EP3989511A1 (en) Supporting multiple transport options for border gateway protocol
WO2022048418A1 (zh) 一种转发报文的方法、设备和系统
CN114301824A (zh) 多接入网络中的边界网关协议的邻居发现
CN114710975A (zh) 多域间传输多传输网络上下文标识
CN112055954B (zh) 网络中优选路径路由的资源预留和维护
CN115208829A (zh) 报文处理的方法及网络设备
US20240064111A1 (en) Service Protection Method and Network Node
WO2023155733A1 (zh) 一种网络切片信息传输方法及装置
US8396955B2 (en) Systems and methods for discovery of network topology using service OAM
CN117792884A (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: 22770378

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022770378

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022770378

Country of ref document: EP

Effective date: 20230913

NENP Non-entry into the national phase

Ref country code: DE