WO2022042505A1 - 转发报文、发布转发指示信息和通告报文的方法及设备 - Google Patents

转发报文、发布转发指示信息和通告报文的方法及设备 Download PDF

Info

Publication number
WO2022042505A1
WO2022042505A1 PCT/CN2021/114161 CN2021114161W WO2022042505A1 WO 2022042505 A1 WO2022042505 A1 WO 2022042505A1 CN 2021114161 W CN2021114161 W CN 2021114161W WO 2022042505 A1 WO2022042505 A1 WO 2022042505A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
node
resource
forwarding
nodes
Prior art date
Application number
PCT/CN2021/114161
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 EP21860340.5A priority Critical patent/EP4199461A4/en
Publication of WO2022042505A1 publication Critical patent/WO2022042505A1/zh
Priority to US18/174,849 priority patent/US20230216775A1/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/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • H04L45/037Routes obligatorily traversing service-related nodes
    • H04L45/0377Routes obligatorily traversing service-related nodes for service chaining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data

Definitions

  • the embodiments of the present application relate to the field of routing technologies, and in particular, to a method and device for forwarding packets, publishing forwarding instruction information, and advertising packets.
  • multiple service nodes can be deployed in the network for the same service, and the multiple service nodes can provide the service.
  • the forwarding node in the network receives the data message carrying the service identifier sent by the terminal device, it can send the data message to one service node among the plurality of service nodes.
  • how to select a service node for processing the data packet from the plurality of service nodes will affect the processing efficiency of the data packet to a certain extent, thereby affecting the quality of the service provided to the user.
  • a forwarding node when a forwarding node receives a data message, it forwards the data message to one service node among the plurality of service nodes in a proportional load sharing manner.
  • this way of forwarding packets easily leads to the fact that the selected service node cannot meet the service quality requirements of the terminal equipment.
  • the embodiments of the present application provide a method and device for forwarding a message, publishing forwarding instruction information, and announcing a message, which can meet the service quality requirements of terminal devices.
  • the technical solution is as follows:
  • a method for forwarding a packet is provided, and the method is applied to a network system.
  • the network system includes a forwarding node and a plurality of service nodes.
  • the forwarding node receives the message from the terminal device, and the message carries the target service identifier. Then, the forwarding node obtains the published target service resource status of each service node among the multiple service nodes.
  • the forwarding node selects a target service node from a plurality of service nodes according to the target service resource state published by each service node, and forwards the message to the target service node.
  • the target service resource status indicates the resource usage of the target service resource managed by each service node, and the target service resource is a resource in the network system capable of processing the service indicated by the target service identifier.
  • the forwarding node can perceive the service resource status published by the service node, and the service resource status can indicate the resource usage of the target service resource managed by the service node and capable of processing the service indicated by the target service identifier.
  • the actual processing capability of the service node when processing the service indicated by the target service identifier can be sensed through the resource usage. Since the forwarding node can perceive the target service resource status of the service node, the forwarding node can take the target service resource status of each service node into consideration when selecting the target service node, thereby avoiding the occurrence of data pressure at a single service node. In this way, the quality of the service provided by the service node to the terminal device can be improved.
  • this method can also be applied to the business chain technology.
  • the controller specifies the forwarding path of the packet in a loose manner, because the controller only specifies the forwarding path of each business function on the business chain.
  • the sequence does not specify which service function instance corresponding to which service function repeater implements each service function. Therefore, when a service node that can implement a certain service function of the loose forwarding path or the entry of the service function chain domain (equivalent to the aforementioned forwarding node) receives a packet, it can manage the target service function on the loose forwarding path according to the The service resource status published by each service node of the service function instance selects a service node from these service nodes to realize the target service function.
  • the target service in the method provided by the embodiment of the present application is a service function on the service chain
  • each service node is a service function repeater in the service chain technology
  • the service resource managed by the service node is a service function repeater.
  • the forwarding node may also receive a notification message sent from any service node in the network system, the notification message The message carries the service resource state of the service resource managed by any service node, and then the forwarding node saves the service resource state of the service resource managed by any service node.
  • the forwarding node may obtain the target service resource state published by each service node among the multiple service nodes in the following manner: obtaining the target service resource state of each service node from the saved service resource state.
  • the forwarding node can perceive the service resource status of the service node through the announcement message issued by the service node, thereby realizing the method provided by the embodiments of the present application, and improving the feasibility of the method provided by the present application.
  • the target service resource status published by each service node may also be obtained by the forwarding node from the controller.
  • each service node publishes the service resource status to the controller, which improves the performance of the embodiments of the present application. flexibility of the method.
  • the aforementioned notification message also carries the service resource identifier of each service resource in the one or more service resources managed by any service node, and the service resource status is the same as that of each service resource.
  • Each service resource identifier corresponds to, and the service resource status corresponding to each service resource identifier indicates that any service node manages the resource usage of the service resource indicated by the corresponding service resource identifier.
  • the implementation manner of obtaining the target service resource state of each service node from the saved service resource state may be: from the saved service resource state, obtain the service resource state corresponding to the target service resource published by each service node to obtain the target service resource status of each service node.
  • the service resource status published by the service node may refer to the service resource status for each service resource.
  • the forwarding node can select the target service node according to the service resource status of each service node on the current service. Further improve the quality of services provided for terminal equipment.
  • the service resource state published by the service node may also refer to a unified service resource state for all service resources, which improves the flexible application of the method provided by the embodiment of the present application.
  • the advertisement message is an extended prefix type length value TLV
  • the address in the extended prefix TLV is The prefix carries the service resource identifier of the service resource managed by any service node
  • the extended sub-TLV in the extended prefix TLV or the marker bit in the extended prefix TLV carries the service resource status of the service resource managed by any service node.
  • the notification message is an extended network reachable type length value TLV, and the extended network reachable
  • the prefix in the TLV carries the service resource identifier of the service resource managed by any service node
  • the sub-TLV in the extended network reachable TLV carries the service resource status of the service resource managed by any service node.
  • the notification message is a BGP update message
  • the network layer in the BGP update message The arrival information NLRI carries the service resource identifier of the service resource managed by any service node
  • the routing attribute TLV in the BGP update message packet carries the service resource status of the service resource managed by any service node.
  • BGP includes multi-protocol MP BGP and non-MP BGP.
  • the service node can issue the announcement message provided by the embodiment of the present application, and the compatibility between the method provided by the embodiment of the present application and the existing protocol is improved.
  • the forwarding node may also select the target service node according to each service node.
  • the network performance of each service node determines the priority of each service node, wherein a service node with a higher priority has better network performance, and the network performance of any service node indicates the network performance on the transmission path between the forwarding node and the corresponding service node.
  • the implementation of selecting the target service node from multiple service nodes is as follows: according to the target service resource status of each service node and the priority of each service node, the target service is determined. node.
  • the service resource status on the service node itself and the network performance on the transmission path between the forwarding path and the service node are taken into consideration, so as to further improve the quality of the service provided for the terminal equipment.
  • the service resource state includes a light load state and an overload state
  • the overload state indicates that the resource occupancy rate of the target service resource managed by the corresponding service node exceeds a first occupancy rate threshold
  • the light load state indicates that the resource occupancy rate of the target service managed by the corresponding service node is lower than the second occupancy rate threshold.
  • the above-mentioned target service node is the service node with the highest priority among the service nodes whose service resource state is in the light load state among the plurality of service nodes.
  • the service resource state can be divided into a light load state and an overload state, so that the efficiency of selecting a target service node can be improved.
  • the network performance of any service node includes the transmission delay on the transmission path between the forwarding node and the corresponding service node, and the transmission delay between the forwarding node and the corresponding service node.
  • the network performance of any service node can be characterized by any of the above methods, which improves the flexibility of the method provided by the embodiments of the present application.
  • the forwarding node is a gateway GW
  • the multiple service nodes are multiple servers that communicate with the GW.
  • the forwarding node is a gateway GW
  • the multiple service nodes are multiple server cluster master nodes that communicate with the GW
  • each server cluster in the multiple server cluster master nodes The master node is connected to the GW through the data center gateway DCGW, and two of the multiple server cluster master nodes are located in different data centers.
  • the service node may be a server attached to the GW, or may be a server cluster master node connected by the GW through the DCGW, which improves the flexibility of the method provided by the embodiment of the present application.
  • each service node provided in this embodiment of the present application may be located in different data centers (the data centers may also be referred to as clouds). That is, the forwarding node can perceive the status of the service resources published by the service nodes in different clouds, which expands the application scenarios of the methods provided by the embodiments of the present application.
  • the target service identifier is an anycast network address or a service name.
  • the methods provided in the embodiments of the present application can be applied in anycast scenarios or in other scenarios where services need to be provided for terminal devices, which improves the flexibility of the methods provided in the embodiments of the present application.
  • the forwarding node is an ingress node of a service chain SFC domain or a service function forwarder SFF, and multiple service nodes are service function SF instances managed by multiple SFFs.
  • the methods adopted in the embodiments of the present application can also be applied to the service chain technology, which further improves the flexibility of the methods provided in the embodiments of the present application.
  • a method for publishing forwarding indication information is provided, the method is applied to a controller in a network system, and the network system further includes a forwarding node and a plurality of service nodes.
  • the controller obtains the service resource status published by each service node in the multiple service nodes, and the service resource status indicates the resource usage of the service resources managed by the publisher;
  • the forwarding node issues forwarding indication information of the message, where the forwarding indication information is used to instruct the forwarding node how to select a target service node from multiple service nodes to forward the message.
  • the aforementioned message forwarding indication information may be information related to the forwarding path, or may be the service resource status itself, so that the target service node selected by the forwarding node is determined based on the service resource device published by each service node.
  • any one of the multiple service nodes manages one or more service resources, and each service resource in the one or more service resources is used to implement a service A business function on the chain.
  • the foregoing packet forwarding indication information is the forwarding path for the service chain, and the forwarding path indicates which service node and which service resource in which service node the data packet is processed.
  • the method provided by the embodiment of the present application can be applied to the service chain technology.
  • the controller specifies the forwarding path of the packet in a strict manner.
  • the controller can select a service function instance managed by a service node from each service node to implement the service based on the service resource status of the service function instance of the service function managed by each service node. function, so as to determine the strict forwarding path for the service chain.
  • the strict forwarding path specifies which service function instance of which service node processes the packet.
  • the service function instance here is equivalent to the service resource managed by the service node, and the service node may be a service function repeater in the service chain technology. In this way, the problem that the data processing pressure of some individual service nodes is relatively high can be avoided, thereby improving the quality of the services provided by the service nodes to the terminal equipment.
  • a method for publishing an announcement message is provided, and the method is applied to any service node among a plurality of service nodes included in a network system, and the network system further includes a forwarding node or a controller.
  • the service node issues a notification message to the forwarding node or the controller, and the notification message carries the service resource status of the service resource managed by the service node, and the service resource status indicates the resource usage of the service resource managed by the publisher.
  • the announcement message is used to instruct the forwarding node to select a target service node from the plurality of service nodes to forward the message based on the service resource status published by each service node among the plurality of service nodes, or to instruct the controller to forward the message based on the service node of each service node.
  • the published service resource status publishes the forwarding indication information of the message to the forwarding node, where the forwarding indication information is used to instruct the forwarding node how to select a target service node from multiple service nodes to forward the message
  • the notification message also carries the service resource identifier of each service resource in the one or more service resources managed by the service node, and the service resource status of the service node is the same as the service resource status of the service node.
  • the service resource status corresponding to each service resource identifier indicates that the service node manages the resource usage of the service resource indicated by the corresponding service resource identifier.
  • the advertisement message is an extended prefix type length value TLV
  • the address prefix in the extended prefix TLV is The service resource identifier of the service resource managed by the service node is carried, and the extension sub-TLV in the extension prefix TLV or the marker bit in the extension prefix TLV carries the service resource status of the service resource managed by the service node.
  • the notification message is an extended network reachable type length value TLV, and the extended network reachable TLV
  • TLV the extended network reachable TLV
  • the prefix in carries the service resource identifier of the service resource managed by the service node
  • the sub-TLV in the extended network reachable TLV carries the service resource status of the service resource managed by the service node.
  • the notification message is a BGP update message
  • the network layer in the BGP update message is reachable
  • the information NLRI carries the service resource identifier of the service resource managed by the service node
  • the routing attribute TLV in the BGP update message packet carries the service resource status of the service resource managed by the service node.
  • BGP includes multi-protocol MP BGP and non-MP BGP.
  • the service node determines the service resource state at the current time; if the service resource state at the current time is different from the service resource state before the current time, then Execute the operation of publishing the announcement message.
  • an announcement message may be issued only when the service resource state changes, thereby saving network resources.
  • the service resource state includes a light load state and an overload state
  • the overload state indicates that the resource occupancy rate of the service resource managed by the corresponding service node exceeds the first occupancy rate threshold
  • the light load state is light.
  • the load status indicates that the resource occupancy rate of the service resource managed by the corresponding service node is lower than the second occupancy rate threshold.
  • the service identifier is an anycast network address or a service name.
  • the forwarding node is a gateway GW
  • the multiple service nodes are multiple servers that communicate with the GW.
  • the forwarding node is a gateway GW
  • the multiple service nodes are master nodes of multiple server clusters that communicate with the GW
  • each server cluster in the master node of the multiple server clusters is The master node is connected to the GW through the data center gateway DCGW, and two of the multiple server cluster master nodes are located in different data centers.
  • the forwarding node is an ingress node of a service chain SFC domain or a service function forwarder SFF, and multiple service nodes are service function SF instances managed by multiple SFFs.
  • a forwarding node in a fourth aspect, has a function of implementing the behavior of the method for forwarding a packet in the first aspect.
  • the forwarding node includes at least one module, and the at least one module is configured to implement the packet forwarding method provided in the first aspect.
  • a controller in a fifth aspect, is provided, and the controller has a function of implementing the behavior of the method for determining a forwarding path in the second aspect.
  • the controller includes at least one module, and the at least one module is configured to implement the method for determining a forwarding path provided in the second aspect above.
  • a service node in a sixth aspect, is provided, and the service node has a function of implementing the behavior of the method for publishing an announcement message in the third aspect.
  • the service node includes at least one module, and the at least one module is configured to implement the method for publishing a notification message provided by the third aspect.
  • a network device in a seventh aspect, includes a processor and a memory, and the memory is used to store and support the network device to perform the first aspect, or the second aspect, or the third aspect.
  • the program of the method and store the data involved in implementing the method provided in the first aspect, or the second aspect, or the third aspect.
  • the processor is configured to execute programs stored in the memory.
  • the operating means of the storage device may further include a communication bus for establishing a connection between the processor and the memory.
  • a computer-readable storage medium is provided, and instructions are stored in the computer-readable storage medium, and when the instructions are executed on a computer, the computer is made to execute the above-mentioned first aspect, or the second aspect, or the first aspect.
  • a computer program product containing instructions, when the instructions are run on a computer, the instructions cause the computer to execute the method described in the first aspect, or the second aspect, or the third aspect.
  • a network system in a tenth aspect, includes a forwarding node and a plurality of service nodes.
  • Any one of the multiple service nodes is used to issue a notification message to the forwarding node, and the notification message carries the service resource status of the service resources managed by the service node, and the service resource status indicates the service resources managed by the service nodes. resource usage;
  • the forwarding node is used to receive the message from the terminal device, the message carries the target service identifier, and obtains the target service resource status published by each service node in the multiple service nodes, and the target service resource status indicates the target managed by each service node.
  • the resource usage of service resources according to the target service resource status published by each service node, selects the target service node from multiple service nodes, and forwards the message to the target service node.
  • a network system in an eleventh aspect, includes a controller, a forwarding node and a plurality of service nodes.
  • any one of the multiple service nodes is used to issue a notification message to the controller, the notification message carries the service resource status of the service resources managed by the service node, and the service resource status indicates the resource occupation of the service resources managed by the publisher. ;
  • the controller is configured to issue forwarding indication information of the message to the forwarding node based on the service resource status published by each service node, where the forwarding indication information is used to instruct the forwarding node how to select a target service node from multiple service nodes to forward the message.
  • the technical effects obtained from the fourth aspect to the eleventh aspect can be similar to the technical effects obtained by referring to the corresponding technical means in the first aspect, the second aspect, or the third aspect, and will not be repeated here.
  • FIG. 1 is a schematic diagram of the architecture of a network system provided by an embodiment of the present application.
  • FIG. 2 is a schematic diagram of a server scenario provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a server cluster scenario provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a scenario of a strict forwarding path in a service chain provided by an embodiment of the present application
  • FIG. 5 is a schematic diagram of a scenario of a loose forwarding path in a service chain provided by an embodiment of the present application
  • FIG. 6 is a flowchart of a method for publishing a service resource status by a service node according to an embodiment of the present application
  • FIG. 7 is a schematic diagram of the format of an extended prefix TLV in an OSPF protocol provided by an embodiment of the present application.
  • FIG. 8 is a schematic diagram of the format of an extended network reachable TLV in an IS-IS protocol provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of the format of a BGP update message message in a non-MP BGP defined in RFC4271 provided by an embodiment of the present application;
  • FIG. 10 is a schematic diagram of the format of a BGP update message message in MP BGP defined in RFC4271 provided by an embodiment of the present application;
  • FIG. 11 is a schematic flowchart of a service node publishing an announcement message according to an embodiment of the present application
  • FIG. 12 is a flowchart of a method for forwarding a message provided by an embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of a forwarding node provided by an embodiment of the present application.
  • FIG. 14 is a schematic structural diagram of a controller provided by an embodiment of the present application.
  • FIG. 15 is a schematic structural diagram of a service node provided by an embodiment of the present application.
  • FIG. 16 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • the packet forwarding method provided by the embodiment of the present application is applied to the above scenario where multiple service nodes are deployed for the same service. At this time, how to select a service node from the plurality of service nodes for processing the data packet will affect the processing efficiency of the data packet to a certain extent, thereby affecting the quality of the service provided for the terminal device.
  • FIG. 1 is a schematic structural diagram of a network system provided by an embodiment of the present application.
  • the network system 100 includes a terminal device 101 , a forwarding node 102 and a service node 103 . Communication between the terminal device 101 and the forwarding node 102 is carried out in a wireless or wired manner.
  • the forwarding node 102 and the service node 103 are connected by wire or wireless for communication.
  • the terminal device 101 is a device on the user side.
  • Various business applications are installed on the terminal device 101 .
  • the terminal device can send the service request triggered by any service application to the forwarding node 102 .
  • the forwarding node 102 receives the service request, according to the service identifier carried by the service request, it determines all the service nodes 103 in the network that can provide the service indicated by the service identifier, and obtains multiple service nodes 103.
  • 103 may specifically be a server corresponding to the service application.
  • the forwarding node 102 selects a service transition point from the multiple service nodes 103 as the target service node based on the service resource statuses published by the multiple service nodes, and forwards the service request to the target service node.
  • the target service node processes the service request, thereby realizing that the target service node provides services for the terminal equipment.
  • the explanation about the status of the business resource will be explained in detail later, and will not be explained here.
  • a gateway such as a router is equivalent to the forwarding node 102
  • each server is equivalent to a service node 103
  • each server is used to provide services required for installing an application (APP) on a terminal device, as shown in FIG. 2
  • the business required by the APP in the server is equivalent to the business resources managed by the server.
  • the router 102 can select one server 103 from each server 103 to process the service request, so that the selected server 103 can process the service for the terminal device.
  • the gateway (GW) is equivalent to the forwarding node 102
  • the master node of the server cluster connected to each data center gateway (DCGW) is equivalent to the service node 103 .
  • the server can provide services required by the APP
  • the master node of the server cluster provides a unified external communication interface.
  • the services required by the APP in FIG. 3 are equivalent to the service resources managed by each server in the server cluster.
  • the server cluster master node publishes the service resource status of the service resources managed by each server in the server cluster to the GW through the DCGW.
  • the GW 102 can select a server cluster master node that the DCGW 103 is connected to from each DCGW 103 to process the service request, so as to realize that a certain server in the server cluster hanged by the selected DCGW 103 processes the service.
  • the application scenario shown in FIG. 3 may also be referred to as a mobile edge computing scenario.
  • the network system shown in FIG. 1 can also be applied in a service function chain (service function chain, SFC) technology.
  • SFC service function chain
  • the SFC technology is a technology that provides an orderly service function (service function, SF) to the application layer, and the service function is also called a business or a service.
  • the SFs on the network equipment are logically connected to form an orderly SF combination, and the orderly SF combination is a service chain.
  • the message can pass through the devices providing each SF in sequence according to the path specified on the service chain.
  • the service chain includes multiple ordered SFs, including firewall (FW), load balancer (LB), intrusion prevention system (IPS), and deep packet inspection.
  • Each SF may be implemented by one or more service function forwarders (service function forwarders, SFF) in the network, and the SFF may be a network forwarding device such as a router or a switch. And one SFF can support one or more SFs that can be the same or different.
  • SFF service function forwarders
  • each SF supported by the SFF is called an SF instance.
  • one or more SF instances supported by one SFF can also be interpreted as: one or more SF instances corresponding to one SFF, or one or more SF instances managed by one SFF.
  • the controller can calculate the forwarding path of data packets, and the forwarding path can also be called service function path (SFP), and this scheduling method is called centralized scheduling Way.
  • SFP service function path
  • this scheduling method is called centralized scheduling Way.
  • the controller calculates the forwarding path of data packets in two forms, strict and loose.
  • FIG. 4 is a schematic diagram of a strict forwarding path provided by an embodiment of the present application.
  • the controller designates the SF1 instance corresponding to SFF1 to process the data packet first, then the SF2 instance corresponding to SFF2 continues to process the data packet, and finally the SF2 instance corresponding to SFF3 continues to process the data packet.
  • SF3 instances process data packets.
  • the strict forwarding path is: SFF1 ⁇ SF1 instance ⁇ SFF1 ⁇ SFF2 ⁇ SF2 instance ⁇ SFF2 ⁇ SFF3 ⁇ SF3 instance ⁇ SFF3.
  • each SFF is equivalent to the service node in FIG. 1
  • the SF instance corresponding to each SFF is the service resource managed by each SFF.
  • Each SFF can publish the corresponding service resource status of each SF instance to the controller, so that the controller can determine a strict forwarding path based on the service resource status of each SF instance corresponding to each SFF.
  • Loose type means that the controller does not specify which SF instance corresponds to which SFF to process the data packet, but only specifies multiple ordered SFs in the forwarding path of the data packet. As for which SF instance corresponds to which SFF To process data packets is selected by the underlying SFF.
  • FIG. 5 is a schematic diagram of a loose forwarding path provided by an embodiment of the present application. As shown in Figure 5, it is assumed that the loose forwarding path delivered by the controller is: SF1-SF2.
  • SFF1 needs to forward the data packet to the next SFF is used to implement SF2 processing on data packets.
  • FIG. 5 there are currently three SF2 instances corresponding to SF2, and these three instances are respectively deployed on three SFFs, namely SFF2, SFF3, and SFF4.
  • the SFF1 can select one SFF from the three SFFs to forward the data packet, so as to realize the processing of the data packet by the SF2 instance corresponding to the selected SFF.
  • the forwarding node 102 may be an SFF that manages an SF instance of a certain service function in the loose forwarding path, or may be an ingress node in the SFC domain, such as a service classifier (service classifier).
  • the service node 103 is a plurality of SFFs that manage a target SF instance, and the target SF instance is the SF instance of the next service function to be implemented on the scattered forwarding path.
  • the forwarding node 102 when the forwarding node 102 receives the data message, it can determine the service resource status of the target SF instance published by each SFF 103 according to the service resource status of each corresponding SF instance published by each SFF 103, and obtain the target published by each SFF 103. Business resource status. Therefore, the forwarding node 102 can select one SFF 103 from the plurality of SFFs 103 to continue processing the data packet. That is, one service node is selected from the plurality of service nodes 103 to continue processing the data packet.
  • the network shown in FIG. 1 may include multiple forwarding nodes 102 , and only one forwarding node 102 is used as an example for description in FIG. 1 .
  • the service node 103 connected to the forwarding node 102 in the network shown in FIG. 1 may include a plurality of service nodes 103, and only three service nodes are used as an example for description in FIG. 1 .
  • the embodiment of the present application does not limit the number of forwarding nodes included in the network and the number of service nodes connected to each forwarding node.
  • the terminal device 101 in FIG. 1 may also be a mobile phone, a tablet computer, a desktop computer, or other devices.
  • the forwarding node 102 may be a router, a switch, a gateway, or other device with a forwarding function.
  • the service node can be a device such as a computer or a server.
  • the forwarding node shown in FIG. 1 is a forwarding node close to the user side. That is, the forwarding node is the entry node of the data packet sent by the terminal device in the network.
  • forwarding nodes may also be deployed between the forwarding node 102 and the service node 103 in FIG. 1 .
  • the forwarding node 102 determines the target service node
  • the The data message is forwarded to other forwarding nodes, and the other forwarding nodes forward the data message to the target service node.
  • the forwarding node can sense the service resource status of the service node, and the service resource status can indicate the resource usage of the service resource managed by the service node, and the service resource is a resource that can process services.
  • the actual processing capability of the service node can be sensed through the resource usage. For example, when the service resource status indicates that the service resource of the service node occupies more resources, it indicates that the service node currently has a lower capability of processing more data packets. When the service resource status indicates that the resource occupation of the service resources of the service node is less, it indicates that the service node currently has a higher capability of processing more data packets. Since the forwarding node can perceive the service resource status of the service node, the forwarding node can take the service resource status of each service node into consideration when selecting the target service node, thereby avoiding the situation of high data pressure at a single service node.
  • the method for forwarding packets provided by the embodiments of the present application can be applied in a scenario where the service network and the underlying network carrying services are converged, so that the forwarding node in the bearer network can forward the packet to reduce the risk of the service node in the service network.
  • the technical effects of data processing pressure can be applied in a scenario where the service network and the underlying network carrying services are converged, so that the forwarding node in the bearer network can forward the packet to reduce the risk of the service node in the service network.
  • the technical solutions provided by the embodiments of the present application include two parts.
  • One part is used to explain how the forwarding node perceives the service resource status published by the service node.
  • the other part is used to explain how the forwarding node selects the target service node based on the service resource status published by each service node.
  • the following two embodiments are respectively used to explain the above two parts.
  • FIG. 6 is a flowchart of a method for publishing a service resource status by a service node according to an embodiment of the present application. The method is applied to any service node in the network system shown in FIG. 1 . As shown in Figure 6, the method includes the following steps.
  • Step 601 The service node determines the service resource state at the current time, and the service resource state of the service node indicates the resource usage of the service resource managed by the service node.
  • the current service resource status of each service node is taken into consideration.
  • the service node can detect the service resource status at the current time in real time, so as to publish its own service resource status through the following step 602 .
  • the service node may periodically determine the service resource status at the current time.
  • the period for the service node to determine the service resource state may be set arbitrarily, which is not limited in this embodiment of the present application.
  • the service resource state in this embodiment of the present application includes an overload state and a light load state.
  • the overload state means that the current resource occupancy rate of the service resources managed by the service node exceeds the first occupancy rate threshold, which indicates that the current service to be processed exceeds its actual processing capability.
  • the light load state means that the current resource occupancy rate of the service resources managed by the service node is lower than the second occupancy rate threshold, which indicates that the service to be processed has not exceeded its actual processing capacity.
  • the above-mentioned resource occupancy rate may be characterized by the number of data packets to be processed, and at this time, the first occupancy rate threshold and the second occupancy rate threshold may be characterized by the quantity threshold.
  • a specific implementation of the above-mentioned determination of the service resource status may be as follows: the service node determines the number of data packets to be processed corresponding to the service resources managed by itself, and if the number of the data packets to be processed is If the number exceeds the first threshold, it is determined that the service resource state at the current time is an overload state; if the number of the data packets to be processed is lower than the second number threshold, it is determined that the service resource state at the current time is a light load state.
  • the service resource state in this application may refer to a unified service resource state of all service resources managed by a service node.
  • the above-mentioned number of data packets to be processed corresponding to the service resources managed by the service node includes the number of data packets to be processed corresponding to all service resources managed by the service node.
  • the service resource status in this application may also refer to the service resource status of a service node on a certain service resource.
  • the above-mentioned number of data packets to be processed corresponding to the service resources managed by the self includes the number of data packets to be processed corresponding to each service resource.
  • the service resource state of the service node includes the service resource state corresponding to each service resource managed by the service node.
  • service nodes can also characterize resource usage based on other factors.
  • the embodiments of the present application do not limit the specific implementation manner of the resource usage.
  • the resource usage can also be characterized based on the capacity of the available memory of the service node.
  • the resource occupancy rate is represented by the capacity of the available memory
  • the above-mentioned first occupancy rate threshold and the second occupancy rate threshold are represented by the capacity threshold. If the capacity of the available memory exceeds the first capacity threshold, it is determined that the service resource state at the current time is a light load state. If the capacity of the available memory is lower than the second capacity threshold, it is determined that the service resource state at the current time is an overload state.
  • first occupancy rate threshold and second occupancy rate threshold may be the same or different, which are not limited in this embodiment of the present application.
  • the service resource status provided by the embodiment of the present application may also be directly reflected by the resource occupancy rate of the service resource managed by the service node.
  • the determination of the resource occupancy rate is the determination of the service resource status. For example, for a certain service node, it is determined that the resource occupancy rate of the service resources managed by the service node is 50%, then the service resource status is determined to be 50%. In this implementation manner, the service node does not need to determine a more coarse-grained state based on the resource occupancy rate, and directly uses the determined specific value of the resource occupancy rate as a service resource state.
  • Step 602 The service node publishes a notification message, where the notification message carries the service resource status of the service resources managed by the service node.
  • the service node may send the notification message to the forwarding node, so as to realize the publication of the notification message.
  • the technical effect of this is: after the service node determines the service resource state at the current time, it can publish the service announcement message without performing other operations, which improves the speed of publishing the announcement message.
  • the service node may only execute the operation of publishing the notification message when the state of the service resource changes. That is, after determining the service resource state at the current time through step 601, the service node also needs to determine whether the service resource state at the current time is different from the service resource state before the current time. If the service resource state at the current time is different from the service resource state before the current time, an operation of publishing a notification message is triggered. If the state of the service resource at the current time is the same as the state of the service resource before the current time, the operation of publishing the announcement message is not triggered. The technical effect of this is that the number of times that the service node publishes the announcement message can be reduced, thereby reducing the occupation of network resources.
  • the service resource state includes a light load state and an overload state
  • the service processing resource state determined at the current time is one of the light load state and the overload state
  • the service resource state determined before the current time is the light load state
  • the other one of the state and the overload state can trigger the operation of publishing a notification message. If the service resource state determined before the current time and the service resource state determined at the current time are the same service resource state, the operation of publishing the announcement message is not triggered.
  • the difference between the service resource state at the current time and the service resource state before the current time may refer to: :
  • the business resource status of any business resource at the current time is different from the business resource status before the current time.
  • the published announcement message may also carry the service resource state of other service resources whose service resource state has not changed, or may not carry the service resource.
  • the notification message may also carry the service resource identifier of each service resource in the one or more service resources managed by the service node.
  • the service resource status of the service node and the service resource identifier of the service resource managed by the service node may also be published in different types of notification messages, which are not specifically limited in this embodiment of the present application.
  • the service resource state provided in the embodiment of the present application is the service resource state for a certain service resource
  • the service resource identifier carried in the notification message and the service resource state are in a one-to-one correspondence. That is, the notification message carries the service resource identifier of each service resource in one or more service resources managed by any service node, and the service resource status corresponds to each service resource identifier.
  • the business resource status here corresponds to each business resource identifier means that each business resource identifier corresponds to a business resource status, and the business resource status corresponding to each business identifier indicates that the business node manages the status of the business resource indicated by the corresponding business resource identifier. resource usage.
  • the service resource state provided in the embodiment of the present application is a unified service resource state for all service resources managed by the service node
  • all service resource identifiers carried in the notification message correspond to the same service resource state. It will not be described in detail here.
  • the existing protocol can be extended, so that the service node can publish an announcement message, and the announcement message simultaneously carries the service resource status of the service node and the service resources of the service resources managed by the service node. logo.
  • the notification message carrying the service resource status of the service node and the service resource identifier of the service resource managed by the service node as an example.
  • the service resource identifier and the service resource status carried in the announcement message may be in a one-to-one correspondence or may not be in a one-to-one correspondence. The following examples are not limiting.
  • the aforementioned advertisement message is an extended prefix (extended prefix) type length value (type-length-value, TLV), extended
  • extended prefix (extended prefix) in the prefix TLV carries the service resource identifier of the service resource managed by the service node
  • extended sub-TLV (sub-TLV) in the extended prefix TLV or the flags (flags) in the extended prefix TLV carries the The service resource status of the service resource managed by the service node.
  • FIG. 7 is a schematic diagram of a format of an extended prefix TLV in an OSPF protocol provided by an embodiment of the present application.
  • the extended prefix TLV includes a type (type) field, a length (length) field, a route type (route type) field, a prefix length (prefix length) field, a flags (flags) field, an address prefix ( address prefix) field, sub-TVL, etc.
  • some fields may be extended in the address prefix (address prefix) field to carry the service resource identifier of the service resource managed by the service node. Some fields are extended in the flag bit field to carry the service resource status of the service resource managed by the service node, or a sub-TLV is extended to carry the service resource status of the service resource managed by the service node.
  • the extended prefix TLV can carry the service resource identifier of the service resource managed by the service node and the service resource status of the service resource managed by the service node. That is Can.
  • two sub-TLVs in the extension prefix TLV may be respectively used to carry the service resource 0 identifier of the service resource managed by the service node and the service resource status of the service resource managed by the service node.
  • the aforementioned notification message is the extended IP reachability (the extended IP reachability) type length value TLV, and the extended network reachability
  • TLV the extended IP reachability
  • the prefix in the TLV carries the service resource identifier of the service resource managed by the service node
  • sub-TLV (sub-TLV) in the extended network reachable TLV carries the service resource status of the service resource managed by the service node.
  • FIG. 8 is a schematic diagram of a format of an extended network reachable TLV in an IS-IS protocol provided by an embodiment of the present application.
  • the extended network reachable TLV is an extended network reachable TLV whose type is equal to 135.
  • the extended network reachable TLV includes a metric field, a prefix field, a sub-TLV field, and the like.
  • the above is only a possible way of extending the reachable TLV of the network.
  • the embodiment of the present application does not limit the extension method of the reachable TLV of the extended network, and only needs that the reachable TLV of the extended network after the expansion can carry the service resource identifier of the service resource managed by the service node and the service resource identifier managed by the service node. business resource status.
  • two sub-TLVs in the extended network reachable TLV may be respectively used to carry the service resource identifier of the service resource managed by the service node and the service resource status of the service resource managed by the service node.
  • the aforementioned notification message is a BGP update message (update message) message
  • the network layer reachability information in the BGP update message message ( network layer reachability information, NLRI) carries the service resource identifier of the service resource managed by the service node
  • the route attribute (path attribute) TLV in the BGP update message packet carries the service resource status of the service resource managed by any service node.
  • BGP includes multiprotocol (MP) BGP and non-MP BGP.
  • 9 is a schematic diagram of the format of a BGP update message in a non-MP BGP defined in a request for comments (request for comments, RFC) 4271 provided by an embodiment of the present application.
  • the BGP update message includes a withdrawn routes length field, a withdrawn routes field, a total route attribute length (path attribute length) field, a route attribute (path attribute) field, NLRI field, route attribute flag (path attribute flag) field, and route attribute TLV field.
  • the service resource identifier of the service resource managed by the service node may be carried in the NLRI field of FIG. 9 .
  • the service resource state of the service resource managed by the service node is carried in the routing attribute TLV in FIG. 9 .
  • the above is only a possible extension of the BGP update message in non-MP BGP.
  • the embodiments of the present application do not limit the extension method of the BGP update message in the non-MP BGP, and only need that the expanded BGP update message in the non-MP BGP can carry the service resource identifier of the service resource managed by the service node. , and the service resource status of the service resource managed by the service node.
  • the service resource identifier of the service resource that is no longer managed can be carried in the withdrawal route field in Figure 9 to notify the forwarding node of the service The node no longer manages the service resource indicated by the service resource identifier.
  • the BGP update message packet in the MP BGP includes an address family identifier (address family identifer) field, an address family identifier subsequence (subsequent address family identifer) field, and the length of the next hop network address (length of next hop network address) field, next hop network address (network address of next hop) field, reserved (reserved) field, NLRI field, routing attribute flag bit (path attribute flag) field, and routing attribute TLV field.
  • the service resource identifier of the service resource managed by the service node may be carried in the NLRI field of FIG. 10 .
  • the service resource state of the service resource managed by the service node is carried in the routing attribute TLV in FIG. 10 .
  • the above is only a possible extension of the BGP update message in MP BGP.
  • the embodiments of the present application do not limit the extension method of the BGP update message in MP BGP, and only need that the BGP update message in the expanded MP BGP can carry the service resource identifier of the service resource managed by the service node, and The service resource status of the service resource managed by the service node is sufficient.
  • the service resource identifier of the service resource that is no longer managed can be carried in the withdrawal route field of the MP unreachable NLRI (MP_UNreach_NLRI) to Notify the forwarding node that the service node no longer manages the service resource indicated by the service resource identifier.
  • MP_UNreach_NLRI MP unreachable NLRI
  • a new message may also be defined in various protocols to represent the notification message provided by the embodiment of the present application, and only the service in the redefined message that can carry the service resources managed by the service node is required.
  • the resource identifier and the service resource status of the service resource managed by the service node are sufficient, and they will not be described one by one here.
  • anycast technology in the current related art refers to the communication between a sender and the nearest group of receivers in the IPV6 protocol.
  • the definition of anycast in the related art is: when a unicast address is assigned to more than one interface, the packets sent to the interface are routed by the forwarding node to the "nearest" destination interface measured by the routing protocol. .
  • the packet forwarding method provided in the embodiment of the present application may also be applied to the above-mentioned anycast technology. At this time, it is equivalent to improving the anycast technology in the related art.
  • a terminal device is allowed to send a data packet to a target service node in a group of service nodes, and the target service node is based on the service published by each service node by the forwarding node in the routing system. Resource status selection, each service node is transparent to terminal equipment. .
  • the target service identifier carried in the message sent by the terminal device is an anycast network (anycast IP) address.
  • the service identifier may also specifically be the name of the service or other symbols that can uniquely identify the service except for the anycast address, such as a service identity (identity, ID), etc. No more examples will be given.
  • FIG. 11 is a schematic flowchart of a service node publishing a notification message according to an embodiment of the present application.
  • the network includes a gateway (gateway, GW), a data center gateway (data center gateway, DCGW) 1, a DCGW2, a service node 1 and a service node 2.
  • the GWs are respectively connected with DCGW1 and DCGW2, DCGW1 is connected with service node 1, and DCGW2 is connected with service node 2.
  • the GW is a gateway on the terminal device side.
  • both service node 1 and service node 2 manage service resources corresponding to the service whose anycast address is 10.10.10.8. Therefore, service node 1 can use the anycast address of 10.10.10.8 as the service resource identifier of the service resource corresponding to the service whose anycast address is 10.10.10.8, and then pass the service resource status of service node 1 and the anycast address through
  • the DCGW1 publishes to the GW, and the service resource status published by the service node 1 indicates the resource usage of the service resource corresponding to the service whose anycast address managed by the service node 1 is 10.10.10.8.
  • the service node 2 can publish the service resource status of the service node 2 and the anycast address to the GW through the DCGW2, and the service resource status published by the service node 2 indicates the service managed by the service node 2 with the anycast address of 10.10.10.8. Resource usage of the corresponding business resource. In this way, the GW can perceive the service resource status of the service node 1 and the service node 2.
  • Speaker modules may be deployed at service node 1 and service node 2, respectively. Through the speaker module, service node 1 and service node 2 can issue announcement messages to the outside.
  • FIG. 11 illustrates by taking an example that the service node is a server corresponding to a service application installed on a terminal device.
  • the loose forwarding path includes each ordered SF, assuming forwarding.
  • the node is an SFF or the entry of the SFC domain that manages the first SF on the loose forwarding path corresponding to the first SF instance, and the service node is multiple SFFs that manage the second SF corresponding to the second SF instance on the loose forwarding path.
  • the forwarding node when the forwarding node is an SFF that manages an instance of the first SF corresponding to the first SF on the loose forwarding path, the second SF is the SF next to the first SF on the loose forwarding path.
  • the forwarding node is the entry of the SFC domain, the second SF is the first SF on the loose forwarding path.
  • each service node can issue a notification message indicating the service resource status of the managed second SF instance to the forwarding node.
  • the forwarding node can perform flexible scheduling according to the service resource status of each service node, preventing a single SFF from being overloaded.
  • the above embodiment is described by taking the service node issuing a notification message to the forwarding node as an example.
  • the announcement message is used to instruct the forwarding node to select a target service node from the plurality of service nodes to forward the message based on the service resource status published by each service node among the plurality of service nodes.
  • the service node may also publish the notification message to the controller, where the notification message carries the service resource status of the service resource managed by the service node, and the service resource status indicates the resource usage of the service resource managed by the publisher.
  • the announcement message is used to instruct the controller to issue forwarding instruction information of the message to the forwarding node based on the service resource status published by each service node, and the forwarding instruction information is used to instruct the forwarding node how to select from multiple service nodes.
  • the target service node forwards the message.
  • the above-mentioned forwarding indication information may be the service resource status published by each service node, so that the forwarding node selects the target service node from the plurality of service nodes to forward the message based on the service resource status published by each service node in the plurality of service nodes. .
  • the forwarding node is equivalent to obtaining the service resource status published by each service node from the controller.
  • the foregoing forwarding indication information may be a forwarding path of the packet.
  • the controller selects a target service node from multiple service nodes to forward the message based on the service resource status published by each service node, so the controller can determine the forwarding path of the message.
  • This example is specifically applicable to the scenario of the strict forwarding path in the aforementioned SFC technology, and the description will not be repeated here.
  • the service node can publish the service resource status of the managed service resource to the forwarding node, so that the forwarding node can perceive the service resource status of the service node. Therefore, the forwarding node can take the service resource status of each service node into consideration when selecting the target service node, thereby avoiding the situation of large data pressure at a single service node.
  • the embodiment shown in FIG. 6 is used to explain how the forwarding node perceives the service resource status of the service node. The following explains how the forwarding node forwards the data message based on the service resource status published by each service node.
  • FIG. 12 is a flowchart of a method for forwarding a packet provided by an embodiment of the present application. As shown in Figure 12, the method includes the following steps.
  • Step 1201 The forwarding node receives a packet from the terminal device, where the packet carries the target service identifier.
  • the target service identifier carried in the packet is used to indicate that the packet currently needs to perform the service processing indicated by the target service identifier.
  • the target service identifier may be an anycast address, a name of a service, or other symbols capable of uniquely identifying the service other than an anycast address.
  • the forwarding node needs to select a service node among the multiple different service nodes when receiving the data packet. Process the data packet.
  • the GW when the GW receives the data packet sent by the terminal device, the GW needs to determine whether the service node 1 should process the data packet or the service node 2 should process the data packet. Woolen cloth. The specific determination method will be described in detail in the following step 1202.
  • Step 1202 The forwarding node acquires the target service resource status published by each service node among the multiple service nodes.
  • the target service resource status indicates the resource usage of the target service resource managed by each service node, and the target service resource is a resource in the network system capable of processing the service indicated by the target service identifier.
  • the forwarding node can obtain the service resource status of the service resources managed by each service node based on the announcement message issued by each service node, so that the forwarding node can save the service resources managed by each service node.
  • Business resource status Therefore, in a specific implementation manner, in step 1202, the forwarding node may acquire the target service resource state of each service node from the saved service resource state.
  • the forwarding node may acquire the target service resource status of each service node from the control node. It will not be described in detail here.
  • the service resource state published by the service node may be a unified service resource state for all service resources managed by the service node.
  • the forwarding node can directly use the service resource state published by each service node as the target service resource state published by each service node.
  • the service resource state published by the service node may be the service resource state for each service resource among all service resources managed by the service node.
  • the forwarding node can obtain the service resource state corresponding to the target service resource published by each service node from the service resource state of each service resource among all service resources managed by each service node, and obtain The target service resource status of each service node.
  • Step 1203 The forwarding node selects a target service node from multiple service nodes according to the target service resource statuses published by the respective service nodes.
  • the forwarding node may select a service node whose target service resource state is a light load state from the plurality of service nodes as the target service node .
  • the forwarding node when the forwarding node receives the data packet, if the target service resource state of service node 1 is overloaded, the forwarding node determines service node 2 as the target service node.
  • the target service resource state of service node 2 is an overload state, the forwarding node determines service node 1 as the target service node.
  • the forwarding node may determine the priority of each service node according to the network performance of each service node. Among them, the network performance of a service node with a higher priority is better.
  • the network performance of any service node indicates the network performance on the transmission path between the forwarding node and the corresponding service node. In this way, the target service node finally selected by the forwarding node is the service node with the highest priority among the service nodes whose target service resource state is in the light load state among the plurality of service nodes.
  • the forwarding node can select the target service node in the following way: check the target service resource status of each service node in the order of priority from high to low, and set the target service resource status checked for the first time as light load
  • the service node of the state is determined as the target service node.
  • service nodes in the managed service resources that process the service indicated by the target service identifier in step 1201, which are marked as service node 1, service node 2 and service node 3 respectively.
  • the priority order of the three service nodes is: service node 1 > service node 2 > service node 3 .
  • the target service resource state of the service node 1 is the overload state
  • the target service resource state of the service node 2 is the light load state
  • the target service resource state of the service node 3 is the light load state.
  • the service node whose target service resource status is light-load state first viewed by the forwarding node in descending priority order is service node 2, so the forwarding node takes service node 2 as the target service node.
  • the network performance of any one of the above service nodes includes the transmission delay on the transmission path between the forwarding node and the corresponding service node, the total cost value (metric) of the transmission path between the forwarding node and the corresponding service node, and the forwarding node to the corresponding service node. One or more of the remaining bandwidth of the transmission path between the corresponding service nodes.
  • step 1201 determine the total cost value on the transmission path from the forwarding node to each service node, and then according to the total cost value from small to small Sort each service node in a large order to obtain each service node with priority from high to low.
  • the total cost value on the transmission path from the forwarding node to each service node may be determined based on the forwarding entry on the forwarding node, which will not be described in detail here.
  • step 1201 determine the transmission delay on the transmission path from the forwarding node to each service node, and then determine the transmission delay from small to small according to the transmission delay. Sort each service node in a large order to obtain each service node with priority from high to low.
  • the transmission delay on the transmission path from the forwarding node to each service node can be implemented based on the flow-accompanying detection technology, which will not be described in detail here.
  • the priority of the service node can be directly set to the highest.
  • the forwarding node may follow the preset load
  • the forwarding node can set an occupancy rate threshold, and then determine which service nodes can process the data packet based on the occupancy rate threshold.
  • Step 1204 The forwarding node forwards the message to the target service node.
  • the forwarding node determines the target service node through step 1202, it can forward the message to the target service node.
  • the specific process of the forwarding node forwarding the message to the target service node will not be described in detail here.
  • the forwarding node can perceive the service resource status published by the service node, and the service resource status indicates the resource usage of the service resource managed by the service node. Since the forwarding node can perceive the service resource status published by the service node, the forwarding node can take the service resource status of each service node into consideration when selecting the target service node, thereby avoiding the situation of high data pressure at a single service node. .
  • the embodiment shown in FIG. 12 may be applied in the scenario shown in FIG. 2 or FIG. 3 , or in the scenario of the loose forwarding path in the service chain shown in FIG. 5 .
  • the controller can obtain one or more service function instances (equivalent to the service) published by each SFF (equivalent to a service node) managed by it. resource) business resource status.
  • the controller determines the strict forwarding path for the service chain based on the service resource status of one or more service function instances it manages published by each SFF, and publishes the strict forwarding path to the SFC domain as the aforementioned forwarding instruction information each node in .
  • the controller selects an instance of the business function managed by the SFF from each SFF that manages the instance of the business function with the business function to realize the specific implementation of the business function, please refer to Fig.
  • the implementation manner of selecting the target service node in Embodiment 12 will not be described in detail here.
  • FIG. 13 is a schematic structural diagram of a forwarding node provided by an embodiment of the present application. As shown in Figure 13, the forwarding node 1300 includes:
  • the receiving module 1301 is configured to receive a packet from a terminal device, where the packet carries a target service identifier.
  • the packet carries a target service identifier.
  • the obtaining module 1302 is used to obtain the target service resource status published by each service node in the plurality of service nodes, the target service resource status indicates the resource usage of the target service resource managed by each service node, and the target service resource can be processed in the network system.
  • the resource of the service indicated by the target service identifier For a specific implementation manner, reference may be made to step 1202 in the embodiment of FIG. 12 , which will not be repeated here.
  • the selection module 1303 is configured to select a target service node from a plurality of service nodes according to the target service resource state published by each service node. For a specific implementation manner, reference may be made to step 1203 in the embodiment of FIG. 12 , which will not be repeated here.
  • the sending module 1304 is configured to forward the message to the target service node.
  • the sending module 1304 is configured to forward the message to the target service node.
  • step 1204 in the embodiment of FIG. 12 , and details are not repeated here.
  • the receiving module is further configured to receive a notification message sent from any service node in the network system, the notification message carries the service resource state of the service resource managed by any service node, and saves the service resource state published by any service node;
  • the target service resource state of each service node is obtained from the saved service resource state.
  • the notification message also carries the service resource identifier of each service resource in the one or more service resources managed by any service node, the service resource status corresponds to each service resource identifier, and the service resource status indication corresponding to each service resource identifier Any service node manages the resource usage of the service resource indicated by the corresponding service resource identifier;
  • the advertisement message is an extended prefix type length value TLV, and the address prefix in the extended prefix TLV carries the service resource identifier of the service resource managed by any service node.
  • the extended sub-TLV in the prefix TLV or the flag bit in the extended prefix TLV carries the service resource status of the service resources managed by any service node.
  • the advertisement message is an extended network reachable type length value TLV
  • the prefix in the extended network reachable TLV carries the service resources of the service resources managed by any service node Identifies that the sub-TLV in the extended network reachable TLV carries the service resource status of the service resource managed by any service node.
  • the notification message is a BGP update message
  • the network layer reachability information NLRI in the BGP update message carries the service resources managed by any service node.
  • the service resource identifier of the BGP update message packet carries the service resource status of the service resource managed by any service node.
  • BGP includes multi-protocol MP BGP and non-MP BGP.
  • the forwarding node also includes:
  • the determining module is used for the forwarding node to determine the priority of each service node according to the network performance of each service node, wherein, the network performance of the service node with higher priority is better, and the network performance of any service node instructs the forwarding node to the corresponding service Network performance on transmission paths between nodes;
  • the target service node is determined according to the target service resource state of each service node and the priority of each service node.
  • the target service resource state includes a light load state and an overload state
  • the overload state indicates that the resource occupancy rate of the target service resource managed by the corresponding service node exceeds the first occupancy rate threshold
  • the light load state indicates the target service node managed by the corresponding service node.
  • the resource occupancy rate of the service resource is lower than the second occupancy rate threshold.
  • the network performance of any service node includes the transmission delay on the transmission path between the forwarding node and the corresponding service node, the total cost of the transmission path between the forwarding node and the corresponding service node, and the forwarding node to the corresponding service. One or more of the remaining bandwidth of a transmission path between nodes.
  • the forwarding node is a gateway GW
  • the multiple service nodes are multiple servers that communicate with the GW.
  • the forwarding node is a gateway GW
  • the multiple service nodes are multiple server cluster master nodes that communicate with the GW
  • each server cluster master node in the multiple server cluster master nodes is connected to the GW through a data center gateway DCGW
  • multiple server cluster master nodes are connected to the GW through a data center gateway DCGW.
  • the target service identifier is anycast network address or service name.
  • the forwarding node is an ingress node of a service chain SFC domain or a service function forwarder SFF, and multiple service nodes are SF instances managed by multiple SFFs.
  • the forwarding node can perceive the service resource status of the service node, and the service resource status indicates the resource usage of the service resource managed by the service node. Since the forwarding node can perceive the service resource status of the service node, the forwarding node can take the service resource status of each service node into consideration when selecting the target service node, thereby avoiding the situation of high data pressure at a single service node.
  • forwarding node provided in the above embodiment forwards a message
  • only the division of the above functional modules is used as an example for illustration.
  • the internal structure of the forwarding node is divided into different functional modules to complete all or part of the functions described above.
  • the forwarding node provided in the above embodiment and the method embodiment for forwarding a message belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
  • FIG. 14 is a schematic structural diagram of a controller provided by an embodiment of the present application.
  • the controller is the controller in the network system.
  • the network system also includes multiple service nodes. Any service node among the multiple service nodes manages one or more service resources, and each service resource is used to implement a service on the service chain. Function.
  • the controller 1400 includes:
  • the obtaining module 1401 is configured to obtain the service resource status published by each service node in the plurality of service nodes, where the service resource status indicates the resource usage of the service resource managed by the publisher. For a specific implementation manner, reference may be made to the foregoing related content of the service chain, which will not be repeated here.
  • the publishing module 1402 is configured to publish forwarding instruction information of the message to the forwarding node based on the service resource status published by each service node, where the forwarding instruction information is used to instruct the forwarding node how to select a target service node from multiple service nodes to forward the message. .
  • the forwarding instruction information is used to instruct the forwarding node how to select a target service node from multiple service nodes to forward the message.
  • any one of the multiple business nodes manages one or more business resources, and each business resource in the one or more business resources is used to implement a business function on the business chain;
  • the message forwarding indication information is a forwarding path for the service chain, and the forwarding path indicates which service resources in which service nodes the data message is processed through.
  • the method provided by the embodiment of the present application can be applied to the service chain technology.
  • the controller specifies the forwarding path of the packet in a strict manner.
  • the controller can select a service function instance managed by a service node from each service node to implement the service based on the service resource status of the service function instance of the service function managed by each service node. function, so as to determine the strict forwarding path for the service chain.
  • the strict forwarding path specifies which service function instance of which service node processes the packet.
  • the service function instance here is equivalent to the service resource managed by the service node, and the service node may be a service function repeater in the service chain technology. In this way, the problem that the data processing pressure of some individual service nodes is relatively high can be avoided, thereby improving the quality of the services provided by the service nodes to the terminal equipment.
  • controller provided in the above embodiment determines the forwarding path
  • only the division of the above functional modules is used as an example.
  • the internal structure of the controller is divided into different functional modules to complete all or part of the functions described above.
  • controller provided in the above embodiment and the method embodiment for determining a forwarding path belong to the same concept, and the specific implementation process thereof is detailed in the method embodiment, which will not be repeated here.
  • FIG. 15 is a schematic structural diagram of a service node provided by an embodiment of the present application.
  • the service node is any service node among multiple service nodes included in the network system, and the network system further includes a forwarding node or a controller.
  • the service node 1500 includes:
  • the publishing module 1501 is configured to publish an announcement message to the forwarding node or controller, the announcement message carries the service resource status of the service resource managed by the service node, and the service resource status indicates the resource usage of the service resource managed by the publisher.
  • the announcement message carries the service resource status of the service resource managed by the service node
  • the service resource status indicates the resource usage of the service resource managed by the publisher.
  • the announcement message is used to instruct the forwarding node to select a target service node from the plurality of service nodes to forward the message based on the service resource status published by each service node among the plurality of service nodes, or to instruct the controller to forward the message based on the service node of each service node.
  • the published service resource status publishes forwarding indication information of the message to the forwarding node, where the forwarding indication information is used to instruct the forwarding node how to select a target service node from multiple service nodes to forward the message.
  • the notification message also carries the service resource identifier of each service resource in the one or more service resources managed by the service node, the service resource status of the service node corresponds to each service resource identifier, and each service resource identifier corresponds to The service resource status of instructs the service node to manage the resource usage of the service resource indicated by the corresponding service resource identifier.
  • the advertisement message is an extended prefix type length value TLV
  • the address prefix in the extended prefix TLV carries the service resource identifier of the service resource managed by the service node
  • the extended sub-TLV in the extended prefix TLV or the marker bit in the extended prefix TLV carries the service resource status of the service resource managed by the service node.
  • the notification message is an extended network reachable type length value TLV
  • the prefix in the extended network reachable TLV carries the service of the service resources managed by the service node.
  • Resource identifier the sub-TLV in the extended network reachable TLV carries the service resource status of the service resource managed by the service node.
  • the notification message is a BGP update message
  • the network layer reachability information NLRI in the BGP update message carries the service resources of the service resources managed by the service node.
  • the routing attribute TLV in the BGP update message packet carries the service resource status of the service resource managed by the service node.
  • BGP includes multi-protocol MP BGP and non-MP BGP.
  • the service node 1500 further includes:
  • the determining module 1502 is used for the service node to determine the service resource state at the current time; for the specific implementation, reference may be made to step 601 in the embodiment of FIG. 6 , which will not be repeated here.
  • the publishing module 1501 is configured to execute an operation of publishing a notification message if the service resource state at the current time is different from the service resource state before the current time.
  • the service resource state includes a light load state and an overload state
  • the overload state indicates that the resource occupancy rate of the service resources managed by the corresponding service node exceeds the first occupancy rate threshold
  • the light load state indicates the resource occupancy of the service resources managed by the corresponding service node. rate is below the second occupancy threshold.
  • the forwarding node is a gateway GW
  • the multiple service nodes are multiple servers that communicate with the GW.
  • the forwarding node is a gateway GW
  • the multiple service nodes are multiple server cluster master nodes that communicate with the GW
  • each server cluster master node in the multiple server cluster master nodes is connected to the GW through a data center gateway DCGW
  • multiple server cluster master nodes are connected to the GW through a data center gateway DCGW.
  • the forwarding node is an ingress node of a service chain SFC domain or a service function forwarder SFF
  • the multiple service nodes are service function SF instances managed by multiple SFFs.
  • the forwarding node can perceive the service resource status of the service node, and the service resource status indicates the resource occupation of the service node. Since the forwarding node can perceive the service resource status of the service node, the forwarding node can take the service resource status of each service node into account when selecting the target service node, thereby avoiding the situation of high data pressure at a single service node.
  • FIG. 16 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • the forwarding nodes, service nodes, controllers, etc. in the foregoing embodiments can all be implemented by the network devices shown in FIG. 16 .
  • the network device includes at least one processor 1601 , a communication bus 1602 , a memory 1603 and at least one communication interface 1604 .
  • the processor 1601 may be a general-purpose central processing unit (central processing unit, CPU), an application-specific integrated circuit (application-specific integrated circuit, ASIC), or one or more integrated circuits for controlling the execution of the programs of the present application.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • the processor 1601 is configured to select the target service node for sending the message based on the target service resource status published by each service node.
  • the processor 1601 is configured to determine the strict forwarding path for the service chain based on the service resource status published by each service node.
  • the processor 1601 is configured to determine the service resource status, and reference may be made to step 601 in the embodiment of FIG. 6 for a specific implementation manner.
  • Communication bus 1602 may include a path to communicate information between the above-described components.
  • the memory 1603 may be read-only memory (ROM) or other type of static storage device that can store static information and instructions, random access memory (RAM) or other type of static storage device that can store information and instructions It can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only Memory (CD-ROM) or other optical disk storage, CD-ROM storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), magnetic disk or other magnetic storage device, or capable of carrying or storing desired program code in the form of instructions or data structures and capable of being accessed by a computer any other medium, but not limited to this.
  • the memory 1603 can exist independently and is connected to the processor 1601 through the communication bus 1602 .
  • the memory 1603 may also be integrated with the processor 1601.
  • the memory 1603 is used for storing the program code for executing the solution of the present application, and the execution is controlled by the processor 1601 .
  • the processor 1601 is used to execute program codes stored in the memory 1603 .
  • One or more software modules may be included in the program code.
  • the forwarding node, the service node and the control node in the foregoing embodiments can all determine the data for developing the application through the processor 1601 and one or more software modules in the program code in the memory 1603 .
  • Communication interface 1604 using any transceiver-like device, for communicating with other devices or communication networks, such as Ethernet, radio access networks (RAN), wireless local area networks (WLAN), etc. .
  • RAN radio access networks
  • WLAN wireless local area networks
  • the communication interface 1604 is used to receive the service resource status published by each service node, and also to receive the message from the terminal device, and send the message to the selected target service on the node.
  • the communication interface 1604 is configured to receive the service resource status released by each service node, and send the determined forwarding path to the network entry node.
  • the communication interface 1604 is used to publish a notification message carrying the service resource status.
  • the network device may include multiple processors, such as the processor 1601 and the processor 1605 shown in FIG. 16 .
  • processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor.
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • the above-mentioned network device may be a general network device or a dedicated network device.
  • the network device may be a communication device such as a desktop computer, a portable computer, a network server, a PDA (personal digital assistant, PDA), a mobile phone, a tablet computer, a wireless terminal device, a router, a switch, or an embedded device.
  • PDA personal digital assistant
  • the embodiments of the present application do not limit the types of network devices.
  • the above-mentioned embodiments it may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
  • 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 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 by wire (eg, coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, a data center, or the like that includes an integration of one or more available media.
  • the available media may be magnetic media (eg: floppy disk, hard disk, magnetic tape), optical media (eg: digital versatile disc (DVD)), or semiconductor media (eg: solid state disk (SSD)) )Wait.

Landscapes

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

Abstract

公开了一种转发报文、发布转发指示信息和通告报文的方法及设备,属于路由技术领域。在该方法中,转发节点接收报文,获取多个业务节点中各业务节点的发布的目标业务资源状态,根据各个业务节点发布的目标业务资源状态,从多个业务节点中选择目标业务节点,并将报文转发至目标业务节点。也即是,转发节点能够感知业务节点发布的业务资源状态,该业务资源状态能够指示业务节点管理的业务资源的资源占用情况。通过该资源占用情况从而感知到业务节点的实际处理能力。因此转发节点便可在选择目标业务节点时将各个业务节点的业务资源状态考虑在内,从而避免出现单个业务节点处的数据压力较大的情况,如此便可提升业务节点向终端设备提供的业务的质量。

Description

转发报文、发布转发指示信息和通告报文的方法及设备
本申请实施例要求于2020年8月31日提交的申请号为202010898069.6、发明名称为“转发报文、发布转发指示信息和通告报文的方法及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请实施例中。
技术领域
本申请实施例涉及路由技术领域,特别涉及一种转发报文、发布转发指示信息和通告报文的方法及设备。
背景技术
目前,为了应对海量用户的业务需求,对于同一业务可以在网络中部署多个业务节点,这多个业务节点均可以提供该业务。如此,当网络中转发节点接收到终端设备发送的携带业务标识的数据报文时,便可将该数据报文发送至这多个业务节点中的一个业务节点。这种场景下,如何从这多个业务节点中选择处理该数据报文的业务节点,在一定程度上将影响该数据报文的处理效率,从而影响为用户提供的业务的质量。
相关技术中,转发节点在接收到数据报文时,按照等比例负载分担的方式将该数据报文转发至多个业务节点中的一个业务节点。但是这种转发报文的方式容易导致选择的业务节点不能满足终端设备对业务质量的需求。
发明内容
本申请实施例提供了一种转发报文、发布转发指示信息和通告报文的方法及设备,可以满足终端设备对业务质量的需求。技术方案如下:
第一方面,提供了一种转发报文的方法,该方法应用于网络系统。该网络系统中包括转发节点以及多个业务节点。在该方法中,转发节点接收来自终端设备的报文,该报文携带目标业务标识。然后转发节点获取多个业务节点中各业务节点的发布的目标业务资源状态。转发节点根据各业务节点发布的目标业务资源状态,从多个业务节点中选择目标业务节点,并将该报文转发至目标业务节点。其中,目标业务资源状态指示各业务节点所管理的目标业务资源的资源使用情况,目标业务资源为网络系统中能够处理目标业务标识所指示的业务的资源。
在本申请实施例中,转发节点能够感知业务节点发布的业务资源状态,该业务资源状态能够指示业务节点所管理的能够处理目标业务标识所指示的业务的目标业务资源的资源使用情况。通过该资源使用情况从而感知到业务节点在处理目标业务标识所指示的业务时的实际处理能力。由于转发节点能够感知业务节点的目标业务资源状态,因此转发节点便可在选择目标业务节点时将各个业务节点的目标业务资源状态考虑在内,从而避免出现单个业务节点处的数据压力较大的情况,如此便可提升业务节点向终端设备提供的业务的质量。
需要说明的是,该方法也可以应用到业务链技术中,在业务链技术中,如果由控制器通 过松散型方式指定报文的转发路径,由于控制器仅仅指定了业务链上各个业务功能的顺序,并没有指定各个业务功能由哪个业务功能转发器对应的哪个业务功能实例来实现。因此,当能够实现松散型转发路径某个业务功能的业务节点或者业务功能链域的入口(相当于前述转发节点)接收到报文时,便可根据管理有松散型转发路径上目标业务功能的业务功能实例的各个业务节点发布的业务资源状态从这各个业务节点中选择一个业务节点来实现目标业务功能。同样可以避免出现单个业务节点处的数据压力较大的情况,如此便可提升业务节点向终端设备提供的业务的质量。这种场景下,本申请实施例提供的方法中的目标业务为业务链上的一个业务功能,各业务节点为业务链技术中的业务功能转发器,业务节点管理的业务资源为业务功能转发器管理的一个或多个业务功能实例。
基于第一方面提供的方法,在一种可能的实现方式中,转发节点接收来自终端设备的数据报文之前,转发节点还可以接收来自网络系统中任一业务节点发送的通告报文,该通告报文携带任一业务节点管理的业务资源的业务资源状态,然后转发节点保存任一业务节点管理的业务资源的业务资源状态。这种场景下,转发节点获取多个业务节点中各个业务节点的发布的目标业务资源状态的实现方式可以为:从保存的业务资源状态中获取各业务节点的目标业务资源状态。
通过业务节点发布的通告报文,来实现转发节点感知到业务节点的业务资源状态,从而实现本申请实施例提供的方法,提高了本申请提供的方法的可行性。可选地,各业务节点发布的目标业务资源状态也可以是转发节点从控制器处获取的,这种场景下,各业务节点是向控制器发布业务资源状态的,提高了本申请实施例提供的方法的灵活性。
基于第一方面提供的方法,在一种可能的实现方式中,前述通告报文还携带有任一业务节点管理的一个或多个业务资源中每个业务资源的业务资源标识,业务资源状态与每个业务资源标识对应,每个业务资源标识对应的业务资源状态指示任一业务节点管理相应业务资源标识所指示的业务资源的资源使用情况。这种场景下,从保存的业务资源状态中获取各业务节点的目标业务资源状态的实现方式可以为:从保存的业务资源状态中,获取各业务节点发布的与目标业务资源对应的业务资源状态,得到各业务节点的目标业务资源状态。
在本申请实施例中,业务节点发布的业务资源状态可以是指针对每个业务资源的业务资源状态。如此,转发节点可以根据各个业务节点在当前业务上的业务资源状态来选择目标业务节点。进一步提高为终端设备提供的业务的质量。可选地,业务节点发布的业务资源状态还可以是指针对全部业务资源的统一的业务资源状态,提高了本申请实施例提供的方法的灵活应用。
基于第一方面提供的方法,在一种可能的实现方式中,在任一业务节点支持开放式最短路径优先OSPF协议的情况下,通告报文为扩展前缀类型长度值TLV,扩展前缀TLV中的地址前缀携带有任一业务节点管理的业务资源的业务资源标识,扩展前缀TLV中的扩展子TLV或者扩展前缀TLV中的标记位携带有任一业务节点管理的业务资源的业务资源状态。
基于第一方面提供的方法,在一种可能的实现方式中,在任一业务节点支持中间系统到中间系统ISIS协议的情况下,通告报文为扩展网络可达类型长度值TLV,扩展网络可达TLV中的前缀携带有任一业务节点管理的业务资源的业务资源标识,扩展网络可达TLV中的子TLV携带有任一业务节点管理的业务资源的业务资源状态。
基于第一方面提供的方法,在一种可能的实现方式中,在任一业务节点支持边界网关协 议BGP的情况下,通告报文为BGP更新消息报文,BGP更新消息报文中的网络层可达信息NLRI携带有任一业务节点管理的业务资源的业务资源标识,BGP更新消息报文中的路由属性TLV携带有任一业务节点管理的业务资源的业务资源状态。
基于第一方面提供的方法,在一种可能的实现方式中,BGP包括多协议MP BGP和非MP BGP。
基于对不同协议中已有报文的字段中的扩展,从而实现业务节点发布本申请实施例提供的通告报文,提高了本申请实施例提供的方法与已有协议之间的兼容。
基于第一方面提供的方法,在一种可能的实现方式中,转发节点根据各业务节点发布的目标业务资源状态,从多个业务节点中选择目标业务节点之前,转发节点还可以根据各业务节点的网络性能确定各业务节点的优先级,其中,优先级越高的业务节点的网络性能越优,任一业务节点的网络性能指示转发节点至相应业务节点之间的传输路径上的网络性能。这种场景下,根据各业务节点发布的业务资源状态,从多个业务节点中选择目标业务节点的实现方式为:根据各业务节点的目标业务资源状态以及各业务节点的优先级,确定目标业务节点。
在选择目标业务节点时,将业务节点自身上的业务资源状态和转发路径到业务节点之间的传输路径上的网络性能均考虑在内,进一步提高为终端设备提供的业务的质量。
基于第一方面提供的方法,在一种可能的实现方式中,业务资源状态包括轻载状态和过载状态,过载状态指示相应业务节点所管理的目标业务资源的资源占用率超过第一占用率阈值,轻载状态指示相应业务节点所管理的目标业务的资源占用率低于第二占用率阈值。
这种场景下,上述目标业务节点为多个业务节点中业务资源状态为轻载状态的业务节点中优先级最高的业务节点。
为了提高本申请实施例提供的方法的便捷性,可以将业务资源状态划分为轻载状态和过载状态,如此可以提高选择目标业务节点的效率。
基于第一方面提供的方法,在一种可能的实现方式中,任一业务节点的网络性能包括转发节点至相应业务节点之间传输路径上的传输时延、转发节点至相应业务节点之间的传输路径的总代价值、以及转发节点至相应业务节点之间传输路径的剩余带宽中的一者或多者。
通过上述任一方式均可以表征任一业务节点的网络性能,提高了本申请实施例提供的方法的灵活性。
基于第一方面提供的方法,在一种可能的实现方式中,转发节点为网关GW,多个业务节点为与GW通信的多个服务器。
基于第一方面提供的方法,在一种可能的实现方式中,转发节点为网关GW,多个业务节点为与GW通信的多个服务器集群主节点,多个服务器集群主节点中每个服务器集群主节点通过数据中心网关DCGW与GW连接,多个服务器集群主节点中存在两个服务器集群主节点位于不同的数据中心中。
在本申请实施例汇中,业务节点可以是GW下挂的服务器,也可以是GW通过DCGW连接的服务器集群主节点,提高了本申请实施例提供的方法的灵活性。此外,本申请实施例提供的各个业务节点可以位于不同的数据中心(该数据中心还可以称为云)中。也即是,转发节点能够感知到来自不同云中的业务节点发布的业务资源状态,扩大了本申请实施例提供的方法的应用场景。
基于第一方面提供的方法,在一种可能的实现方式中,目标业务标识为任播网络地址或 业务名称。
本申请实施例提供的方法可以应用在任播场景中,也可以应用在其他需要为终端设备提供业务的场景中,提高了本申请实施例提供的方法的灵活性。
基于第一方面提供的方法,在一种可能的实现方式中,转发节点为业务链SFC域的入节点或者业务功能转发器SFF,多个业务节点为多个SFF管理的业务功能SF实例。
本申请实施例通过的方法还可以应用在业务链技术中,进一步提高了本申请实施例提供的方法的灵活性。
第二方面、提供了一种发布转发指示信息的方法,该方法应用在网络系统中的控制器,该网络系统还包括转发节点以及多个业务节点。在该方法中,控制器获取多个业务节点中各业务节点发布的业务资源状态,业务资源状态指示发布者所管理的业务资源的资源使用情况;控制器基于各业务节点发布的业务资源状态向转发节点发布报文的转发指示信息,该转发指示信息用于指示转发节点如何从多个业务节点中选择目标业务节点来转发报文。
前述报文转发指示信息可以是转发路径相关的信息,也可是业务资源状态本身,从而实现转发节点选择的目标业务节点是基于各业务节点发布的业务资源装来确定的。
基于第二方面提供的方法,在一种可能的实现方式中,多个业务节点中任一业务节点管理有一个或多个业务资源,一个或多个业务资源中每个业务资源用于实现业务链上的一个业务功能。这种场景下,前述报文转发指示信息为针对业务链的转发路径,转发路径指示数据报文经由哪些业务节点中哪个业务资源来处理。
本申请实施例提供的方法可以应用到业务链技术中,在业务链技术中,如果由控制器通过严格型方式指定报文的转发路径。此时对于业务链上任一业务功能,控制器可以基于各个业务节点管理的该业务功能的业务功能实例的业务资源状态,从各个业务节点中选择某个业务节点管理的业务功能实例来实现该业务功能,从而确定出针对该业务链的严格型转发路径。其中,严格型转发路径中指定了由哪些业务节点的哪个业务功能实例对报文进行处理。此处的业务功能实例相当于业务节点管理的业务资源,业务节点可以为业务链技术中的业务功能转发器。如此,便可以避免某些个别业务节点的数据处理压力较大的问题,从而提升业务节点向终端设备提供的业务的质量。
第三方面、提供了一种发布通告报文的方法,该方法应用于网络系统包括的多个业务节点中任一业务节点,该网络系统还包括转发节点或控制器。在该方法中,业务节点向转发节点或控制器发布通告报文,通告报文携带业务节点管理的业务资源的业务资源状态,业务资源状态指示发布者所管理的业务资源的资源使用情况。
其中,通告报文用于指示转发节点基于多个业务节点中各业务节点发布的业务资源状态从多个业务节点中选择目标业务节点来转发报文,或者,用于指示控制器基于各业务节点发布的业务资源状态向转发节点发布报文的转发指示信息,该转发指示信息用于指示转发节点如何从多个业务节点中选择目标业务节点来转发报文
基于第三方面提供的方法,在一种可能的实现方式中,通告报文还携带有业务节点管理的一个或多个业务资源中每个业务资源的业务资源标识,业务节点的业务资源状态与每个业务资源标识对应,每个业务资源标识对应的业务资源状态指示业务节点管理相应业务资源标 识所指示的业务资源的资源使用情况。
基于第三方面提供的方法,在一种可能的实现方式中,在业务节点支持开放式最短路径优先OSPF协议的情况下,通告报文为扩展前缀类型长度值TLV,扩展前缀TLV中的地址前缀携带有业务节点管理的业务资源的业务资源标识,扩展前缀TLV中的扩展子TLV或者扩展前缀TLV中的标记位携带有业务节点管理的业务资源的业务资源状态。
基于第三方面提供的方法,在一种可能的实现方式中,在业务节点支持中间系统到中间系统ISIS协议的情况下,通告报文为扩展网络可达类型长度值TLV,扩展网络可达TLV中的前缀携带有业务节点管理的业务资源的业务资源标识,扩展网络可达TLV中的子TLV携带有业务节点管理的业务资源的业务资源状态。
基于第三方面提供的方法,在一种可能的实现方式中,在业务节点支持边界网关协议BGP的情况下,通告报文为BGP更新消息报文,BGP更新消息报文中的网络层可达信息NLRI携带有业务节点管理的业务资源的业务资源标识,BGP更新消息报文中的路由属性TLV携带有业务节点管理的业务资源的业务资源状态。
基于第三方面提供的方法,在一种可能的实现方式中,BGP包括多协议MP BGP和非MP BGP。
基于第三方面提供的方法,在一种可能的实现方式中,在该方法中,业务节点确定当前时间的业务资源状态;如果当前时间的业务资源状态和当前时间之前的业务资源状态不同,则执行发布通告报文的操作。
在本申请实施例中,可以仅仅在业务资源状态发生变化时发布通告报文,从而节省网络资源。
基于第三方面提供的方法,在一种可能的实现方式中,业务资源状态包括轻载状态和过载状态,过载状态指示相应业务节点管理的业务资源的资源占用率超过第一占用率阈值,轻载状态指示相应业务节点管理的业务资源的资源占用率低于第二占用率阈值。
基于第三方面提供的方法,在一种可能的实现方式中,业务标识为任播网络地址或业务名称。
基于第三方面提供的方法,在一种可能的实现方式中,转发节点为网关GW,多个业务节点为与GW通信的多个服务器。
基于第三方面提供的方法,在一种可能的实现方式中,转发节点为网关GW,多个业务节点为与GW通信的多个服务器集群主节点,多个服务器集群主节点中每个服务器集群主节点通过数据中心网关DCGW与GW连接,多个服务器集群主节点中存在两个服务器集群主节点位于不同的数据中心中。
基于第三方面提供的方法,在一种可能的实现方式中,转发节点为业务链SFC域的入节点或者业务功能转发器SFF,多个业务节点为多个SFF管理的业务功能SF实例。
上述第三方面中其他内容涉及技术效果均可以参考第一方面以及第二方面中相应技术方案的技术效果,在此不再赘述。
第四方面,提供了一种转发节点,所述转发节点具有实现上述第一方面中转发报文的方法行为的功能。所述转发节点包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的转发报文的方法。
第五方面,提供了一种控制器,所述控制器具有实现上述第二方面中确定转发路径的方法行为的功能。所述控制器包括至少一个模块,该至少一个模块用于实现上述第二方面所提供的确定转发路径的方法。
第六方面,提供了一种业务节点,所述业务节点具有实现上述第三方面中发布通告报文的方法行为的功能。所述业务节点包括至少一个模块,该至少一个模块用于实现上述第三方面所提供的发布通告报文的方法。
第七方面,提供了一种网络设备,所述网络设备的结构中包括处理器和存储器,所述存储器用于存储支持网络设备执行上述第一方面、或者第二方面、或者第三方面所提供的方法的程序,以及存储用于实现上述第一方面、或者第二方面、或者第三方面所提供的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行上述第一方面、或者第二方面、或者第三方面所述的方法。
第九方面,提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述第一方面、或者第二方面、或者第三方面所述的方法。
第十方面,提供了一种网络系统,网络系统包括转发节点和多个业务节点。
多个业务节点中任一业务节点用于,向转发节点发布通告报文,通告报文携带业务节点所管理的业务资源的业务资源状态,业务资源状态指示所述各业务节点所管理的业务资源的资源使用情况;
转发节点用于,接收来自终端设备的报文,该报文携带目标业务标识,获取多个业务节点中各业务节点的发布的目标业务资源状态,目标业务资源状态指示各业务节点所管理的目标业务资源的资源使用情况,根据各业务节点发布的目标业务资源状态,从多个业务节点中选择目标业务节点,将该报文转发至目标业务节点。
第十一方面、提供了一种网络系统,该网络系统包括控制器、转发节点和多个业务节点。
多个业务节点中任一业务节点用于,向控制器发布通告报文,通告报文携带业务节点所管理的业务资源的业务资源状态,业务资源状态指示发布者管理的业务资源的资源占用情况;
控制器用于,基于各业务节点发布的业务资源状态向转发节点发布报文的转发指示信息,该转发指示信息用于指示转发节点如何从多个业务节点中选择目标业务节点来转发报文。
上述第四方面至第十一方面所获得的技术效果均可以相应参考第一方面、或者第二方面、或者第三方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是本申请实施例提供的一种网络系统的架构示意图;
图2是本申请实施例提供的一种服务器场景的示意图;
图3是本申请实施例提供的一种服务器集群场景的示意图;
图4是本申请实施例提供的一种业务链中的严格型转发路径的场景示意图;
图5是本申请实施例提供的一种业务链中的松散型转发路径的场景示意图;
图6是本申请实施例提供的一种业务节点发布业务资源状态的方法流程图;
图7是本申请实施例提供的一种OSPF协议中的扩展前缀TLV的格式示意图;
图8是本申请实施例提供的一种IS-IS协议中的扩展网络可达TLV的格式示意图;
图9是本申请实施例提供的一种在RFC4271中定义的非MP BGP中的BGP更新消息报文的格式示意图;
图10是本申请实施例提供的一种在RFC4271中定义的MP BGP中的BGP更新消息报文的格式示意图;
图11是本申请实施例提供的一种业务节点发布通告报文的流程示意图;
图12是本申请实施例提供的一种转发报文的方法流程图;
图13是本申请实施例提供的一种转发节点的结构示意图;
图14是本申请实施例提供的一种控制器的结构示意图;
图15是本申请实施例提供的一种业务节点的结构示意图;
图16是本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行详细解释说明之前,先对本申请实施例的应用场景进行解释说明。
目前,持续增长的终端设备所带来的海量数据传输、分析和存储对传统网络提出了巨大的挑战。终端设备上可以安装各类业务应用程序,终端设备通过业务应用程序请求业务节点提供某个业务。由于单个分散的业务节点的资源有限,难以保证业务节点为终端设备提供的业务的质量,因此需要通过在靠近终端设备的不同位置部署不同规模的业务节点。这些业务节点能够提供同一业务,以满足海量终端设备对某个业务的需求。此外,同一业务节点能够提供多种不同业务,从而实现通过全球(global)网络为终端设备提供各类个性化的业务。尤其在云趋势、边缘计算的发展趋势下,业务节点可以灵活部署在具备计算能力的各个移动边缘计算(Mobile Edge Computing,移动边缘计算)MEC设备中、中心云上,从而为终端设备提供各类业务。
本申请实施例提供的转发报文的方法就应用于上述针对同一业务部署有多个业务节点的场景中。此时,如何从这多个业务节点中选择一个业务节点用于处理数据报文,在一定程度上将影响该数据报文的处理效率,从而影响为终端设备提供的业务的质量。
图1是本申请实施例提供的一种网络系统的架构示意图。如图1所示,该网络系统100 包括终端设备101、转发节点102以及业务节点103。终端设备101和转发节点102之间通过无线或有线方式以进行通信。转发节点102和业务节点103之间通过有线或无线方式连接以进行通信。
在一种具体的实现方式中,终端设备101为用户侧的设备。终端设备101上安装有各类业务应用程序。终端设备可以将任一业务应用程序触发的业务请求发送至转发节点102。转发节点102在接收到该业务请求时,根据该业务请求携带的业务标识,确定网络中能够提供该业务标识所指示的业务的所有业务节点103,得到多个业务节点103,这多个业务节点103具体可以为该业务应用程序所对应的服务器。然后转发节点102基于这多个业务节点发布的业务资源状态从这多个业务节点103中选择一个业务转点作为目标业务节点,并将该业务请求转发至该目标业务节点。目标业务节点在接收到该业务请求后,对该业务请求进行处理,从而实现由该目标业务节点为终端设备提供业务。关于业务资源状态的解释将在后续详细说明,在此先不展开阐述。
上述实现方式具体可以应用到图2所示的服务器场景中或图3所示的服务器集群场景中。在图2所示的场景中,路由器等网关相当于转发节点102,各个服务器相当于业务节点103,每个服务器用于提供终端设备上安装应用程序(application,APP)所需的业务,图2中的APP所需业务相当于服务器所管理的业务资源。通过上述实现方式,路由器102能够从各个服务器103中选择一个服务器103来处理业务请求,以实现由选择的服务器103为终端设备处理业务。
在图3所示的场景中,网关(gateway,GW)相当于转发节点102,与各个数据中心网关(data center gateway,DCGW)连接的服务器集群主节点相当于业务节点103,服务器器集群中各个服务器能够提供用于提供APP所需的业务,由服务器集群主节点统一对外提供通信接口。图3中的APP所需业务相当于服务器集群中各服务器所管理的业务资源,由服务器集群主节点通过DCGW向GW发布服务器集群中各个服务器所管理的业务资源的业务资源状态。通过上述实现方式,GW 102能够从各个DCGW 103中选择一个DCGW 103所连接的服务器集群主节点来处理业务请求,以实现由选择的DCGW 103下挂的服务器集群中的某个服务器来处理业务。图3所示的应用场景还可以称为移动边缘计算场景。
在另一种具体的实现方式中,图1所示的网络系统还可以应用在业务链(service function chain,SFC)技术中。为了后续便于说明,在此先对SFC技术进行简单说明。SFC技术是一种给应用层提供有序业务功能(service function,SF)的技术,该业务功能也称为业务或服务。将网络设备上的SF在逻辑层面上联接起来,从而形成一个有序的SF组合,该有序的SF的组合即为业务链。通过在原始数据报文中添加业务链信息来实现报文按照业务链上指定的路径依次经过提供各个SF的设备。
业务链上包括多个有序的SF,这些SF包括防火墙(firewall,FW)、负载均衡(load balancer,LB)、入侵防御系统(intrusion prevention system,IPS)、深度报文检测等。每个SF可以由网络中的一个或多个业务功能转发器(service function forwarder,SFF)来实现,SFF可以为诸如路由器或者交换机等网络转发设备。并且一个SFF可以支持一个或者多个可相同也可不同的SF。
为了避免后续将SFF支持的SF和SFF支持的SF所实现的业务功能这两个概念混淆,将SFF支持的每个SF称为SF实例。此外,一个SFF支持的一个或者多个SF实例,还可 以解释为:一个SFF对应的一个或者多个SF实例、或者一个SFF管理的一个或者多个SF实例。
需要说明的是,目前SFC技术中,可以由控制器来计算数据报文的转发路径,该转发路径还可以称为业务功能路径(service function path,SFP),这种调度方式称为集中式调度方式。在集中式调度方式中,控制器计算数据报文的转发路径有两种形式,严格型和松散型。
严格型是指控制器明确由哪个SFF对应的哪个SF实例来处理该数据报文。图4是本申请实施例提供的一种严格型转发路径的示意图。如图4所示,在严格型转发路径中,控制器指定由SFF1对应的SF1实例对数据报文先进行处理,然后由SFF2对应的SF2实例对数据报文继续进行处理,最后由SFF3对应的SF3实例对数据报文进行处理。此时,该严格型转发路径为:SFF1→SF1实例→SFF1→SFF2→SF2实例→SFF2→SFF3→SF3实例→SFF3。
当本申请实施例提供的方法应用到上述严格型转发路径的场景时,此时各个SFF相当于图1中的业务节点,各个SFF对应的SF实例即为各SFF所管理的业务资源。各个SFF可以将对应的各SF实例的业务资源状态发布给控制器,以便控制器基于各个SFF可对应的各SF实例的业务资源状态确定出严格型转发路径。
松散型是指控制器不指明哪个SFF对应的哪个SF实例来处理该数据报文,仅仅在数据报文的转发路径中指定多个有序的SF即可,至于由哪个SFF对应的哪个SF实例来处理数据报文由底层的SFF来选择。图5是本申请实施例提供的一种松散型转发路径的示意图。如图5所示,假设控制器下发的松散型转发路径为:SF1-SF2。如果数据报文已经经由SFF1对应的SF1实例进行了处理(关于如何确定由SFF1对应的SF1实例来处理数据报文在此就不做说明),此时SFF1需要将该数据报文转发到下一个SFF以实现对数据报文进行SF2的处理。如图5所示,当前与SF2对应SF2实例有三个,且这三个实例分别部署在三个SFF上,分别为SFF2、SFF3、SFF4。此时,SFF1便可从这三个SFF中选择一个SFF转发数据报文,以实现由选择的SFF对应的SF2实例来处理数据报文。
当本申请实施例提供的方法应用到上述松散型调度场景时,图1中的终端设备101仍然为用户侧的设备,终端设备用于发送数据报文。转发节点102可以为管理有松散型转发路径中的某个业务功能的SF实例的一个SFF,也可以为SFC域内的入节点,如业务分类器(service classifier)。业务节点103为管理有目标SF实例的多个SFF,目标SF实例为散型转发路径上待实现的下一个业务功能的SF实例。此时,转发节点102在接收到数据报文时,可以根据各SFF103发布的其对应的各SF实例的业务资源状态,确定各SFF103发布的目标SF实例的业务资源状态,得到各SFF103发布的目标业务资源状态。从而可以使得转发节点102从这多个SFF103上选择一个SFF103来继续处理该数据报文。也即是,从多个业务节点103中选择一个业务节点来继续处理该数据报文。
需要说明的是,图1所示的网络可以包括多个转发节点102,图1中仅仅是以一个转发节点102为例进行说明。另外,图1所示的网络中与转发节点102连接的业务节点103可以包括多个业务节点103,图1中仅仅是以三个业务节点为例进行说明。本申请实施例并不限定网络中包括的转发节点的数量以及与各个转发节点连接的业务节点的数量。
另外,图1中的终端设备101也可以为手机、平板电脑、台式计算机等设备。转发节点102可以为路由器、交换机、网关等具备转发功能的设备。业务节点可以为计算机或服务器等 设备。
需要说明的是,图1所示的转发节点为靠近用户侧的转发节点。也即是,该转发节点为终端设备发送的数据报文在网络中的入口节点。
另外,图1中的转发节点102和业务节点103之间也可以部署有其他的转发节点(图1中并未示出),这种场景下,转发节点102在确定出目标业务节点后,将数据报文转发给其他转发节点,由其他转发节点将数据报文转发至目标业务节点。
在图1所示的网络系统中,由于目前的业务网络和承载业务的底层网络是完全解耦的,因此,承载业务的底层网络只能按照就近原则或均衡负载分担原则选择目标业务节点转发报文。但是如果转发节点按照就近原则或均衡负载分担原则选择目标业务节点,都很容易出现大量的数据报文转发至同一业务节点的情况,进而导致单个业务节点处的数据处理压力较大。为了避免该情况发生,在本申请实施例中,转发节点能够感知业务节点的业务资源状态,该业务资源状态能够指示业务节点所管理的业务资源的资源使用情况,业务资源为能够处理业务的资源。通过该资源使用情况从而感知到业务节点的实际处理能力。比如,当业务资源状态指示业务节点的业务资源的资源占用较多,表明业务节点当前能够处理的更多的数据报文的能力较低。当业务资源状态指示业务节点业务资源的资源占用较少,表明业务节点当前能够处理的更多的数据报文的能力较高。由于转发节点能够感知业务节点的业务资源状态,因此转发节点便可在选择目标业务节点时将各个业务节点的业务资源状态考虑在内,从而避免出现单个业务节点处的数据压力较大的情况。如此,本申请实施例提供的转发报文的方法便可应用在业务网络和承载业务的底层网络融合的场景中,从而实现承载网络中的转发节点转发报文来降低业务网络中的业务节点的数据处理压力的技术效果。
基于上述内容可知,本申请实施例提供的技术方案包括两部分。一部分用于说明转发节点如何感知业务节点发布的业务资源状态。另一部用于说明转发节点如何基于各个业务节点发布的业务资源状态选择目标业务节点。下述两个实施例分别用于对上述两部分内容进行解释说明。
图6是本申请实施例提供的一种业务节点发布业务资源状态的方法流程图。该方法应用于图1所示的网络系统中的任一业务节点。如图6所示,该方法包括如下步骤。
步骤601:业务节点确定当前时间的业务资源状态,该业务节点的业务资源状态指示该业务节点所管理的业务资源的资源使用情况。
在本申请实施例中,为了能够实现转发节点转发数据报文时将各个业务节点的当前业务资源状态考虑在内。业务节点可以实时检测当前时间的业务资源状态,以便于通过下述步骤602发布自身的业务资源状态。
在一种具体的实现方式中,业务节点可以周期性地确定当前时间的业务资源状态。其中,业务节点确定业务资源状态的周期可以由任意设置,本申请实施例对此不做限定。
另外,在一种具体的实现方式中,本申请实施例中的业务资源状态包括过载状态和轻载状态。过载状态是指业务节点管理的业务资源当前的资源占用率超过了第一占用率阈值,此时表明当前待处理的业务超出了自身的实际处理能力。轻载状态是指业务节点管理的业务资 源当前的资源占用率低于第二占用率阈值,此时表明待处理的业务还没有超出自身的实际处理能力。
上述资源占用率可以通过待处理的数据报文的数量来表征,此时第一占用率阈值和第二占用率阈值可以通过数量阈值来表征。这种场景下,上述确定业务资源状态的一种具体的实现方式可以为:业务节点确定与自身所管理的业务资源所对应的待处理数据报文的数量,如果该待处理数据报文的数量超过第一数量阈值,则确定当前时间的业务资源状态为过载状态;如果该待处理数据报文的数量低于第二数量阈值,则确定当前时间的业务资源状态为轻载状态。
此外,本申请中的业务资源状态可以是指业务节点管理的所有业务资源的一个统一的业务资源状态。这种的场景下,上述与自身所管理的业务资源所对应的待处理数据报文的数量包括业务节点所管理的所有业务资源对应的待处理数据报文的数量。
可选地,本申请中的业务资源状态还可以是指业务节点在某个业务资源上的业务资源状态。这种场景下,上述与自身管理的业务资源所对应的待处理数据报文的数量包括每个业务资源对应的待处理数据报文的数量。也即是,业务节点的业务资源状态包括与业务节点管理的每个业务资源对应的业务资源状态。
另外,业务节点还可以基于其他因素来表征资源使用情况。本申请实施例并不限定资源使用情况的具体实现方式。比如,还可以基于业务节点的可用内存的容量来表征资源使用情况。此时通过可用内存的容量来表征资源占用率,通过容量阈值来表征上述第一占用率阈值和第二占用率阈值。如果可用内存的容量超过第一容量阈值,则确定当前时间的业务资源状态为轻载状态。如果可用内存的容量低于第二容量阈值,则确定当前时间的业务资源状态为过载状态。
上述第一占用率阈值和第二占用率阈值可以相同,也可以不同,本申请实施例对此不做限定。
此外,本申请实施例提供的业务资源状态还可以直接采用业务节点管理的业务资源的资源占用率来体现。此时,确定出资源占用率即为确定出业务资源状态。比如,对于某个业务节点,确定出该业务节点管理的业务资源的资源占用率为50%,则将该业务资源状态确定为50%。在这种实现方式中,业务节点无需基于资源占用率确定一个更粗粒度的状态,直接将确定的资源占用率的具体数值作为一个业务资源状态。
步骤602:业务节点发布通告报文,该通告报文携带该业务节点管理的业务资源的业务资源状态。
在一种具体的实现方式中,业务节点在通过步骤601确定出业务资源状态后,即可向转发节点发送该通告报文,以实现该通告报文的发布。这样做的技术效果为:业务节点在确定出当前时间的业务资源状态后,无需执行其他操作,即可发布业务通告报文,提高了发布通告报文的快捷性。
在另一种具体的实现方式中,业务节点可以在业务资源状态发生变化时,才会执行发布通告报文的操作。也即是,业务节点在通过步骤601确定出当前时间的业务资源状态后,还需判断当前时间的业务资源状态和当前时间之前的业务资源状态是否不同。如果当前时间的业务资源状态和当前时间之前的业务资源状态不同,则触发发布通告报文的操作。如果当前时间的业务资源状态和当前时间之前的业务资源状态相同,则不触发发布通告报文的操作。 这样做的技术效果为:可以减少业务节点发布通告报文的次数,从而减少网络资源的占用。
比如,在业务资源状态包括轻载状态和过载状态的情况下,如果当前时间确定的业务处理资源状态为轻载状态和过载状态中的一者,但是当前时间之前确定的业务资源状态为轻载状态和过载状态中的另一者,则可以触发发布通告报文的操作。如果当前时间之前确定的业务资源状态和当前时间确定的业务资源状态为同一业务资源状态,则不触发发布通告报文的操作。
需要说明的是,在业务节点的业务资源状态包括与业务节点管理的每个业务资源对应的业务资源状态的情况下,上述当前时间的业务资源状态和当前时间之前的业务资源状态不同可以是指:任一业务资源的当前时间的业务资源状态和当前时间之前的业务资源状态不同。此时,发布的通告报文中除了携带业务资源状态发生变化的业务资源的当前时间业务资源状态,还可以携带业务资源状态未发生变化的其他业务资源的业务资源状态,也可以不携带业务资源状态未发生变化的其他业务资源的业务资源状态。
此外,业务节点在发布携带业务资源状态的通告报文时,还可以在该通告报文中携带该业务节点管理的一个或多个业务资源中每个业务资源的业务资源标识。可选地,业务节点的业务资源状态和业务节点管理的业务资源的业务资源标识还可以在不同类型的通告报文中发布,本申请实施例对此不做具体限定。
另外,在本申请实施例提供的业务资源状态为针对某个业务资源的业务资源状态时,通告报文中携带的业务资源标识和业务资源状态是一一对应关系。也即是,通告报文携带有任一业务节点管理的一个或多个业务资源中每个业务资源的业务资源标识,且业务资源状态与每个业务资源标识对应。此处的业务资源状态与每个业务资源标识对应是指每个业务资源标识对应一个业务资源状态,每个业务标识对应的业务资源状态指示该业务节点管理相应业务资源标识所指示的业务资源的资源使用情况。
可选地,本申请实施例提供的业务资源状态为针对业务节点管理的所有业务资源的统一的业务资源状态时,通告报文中携带的所有业务资源标识均对应同一个业务资源状态。在此不再详细说明。
在本申请实施例中,可以对现有的协议进行扩展,以使业务节点能够发布通告报文,并在通告报文中同时携带业务节点的业务资源状态以及业务节点管理的业务资源的业务资源标识。需要说明的是,下述几种示例均以通告报文同时携带业务节点的业务资源状态以及业务节点管理的业务资源的业务资源标识为例进行说明。其中,如前述内容所述,通告报文携带的业务资源标识和业务资源状态可以一一对应,也可以不一一对应。下述几个示例并不限定。
示例地,在业务节点支持开放式最短路径优先(open shortest path first,OSPF)协议的情况下,前述通告报文为扩展前缀(extended prefix)类型长度值(type-length-value,TLV),扩展前缀TLV中的地址前缀(address prefix)携带有该业务节点管理的业务资源的业务资源标识,扩展前缀TLV中的扩展子TLV(sub-TLV)或者扩展前缀TLV中的标记位(flags)携带有该业务节点管理的业务资源的业务资源状态。
图7是本申请实施例提供的一种OSPF协议中的扩展前缀TLV的格式示意图。如图7所示,该扩展前缀TLV中包括类型(type)字段、长度(length)字段、路由类型(route type)字段、前缀长度(prefix length)字段、标记位(flags)字段、地址前缀(address prefix)字段、子TVL等等。
在图7所示的扩展前缀TLV中,可以在地址前缀(address prefix)字段中扩展出一些字段用于携带业务节点管理的业务资源的业务资源标识。在标记位字段中扩展出一些字段用于携带该业务节点管理的业务资源的业务资源状态,或者,扩展一个子TLV出来用于携带该业务节点管理的业务资源的业务资源状态。
上述仅仅是对扩展前缀TLV的一种可能的扩展方式。本申请实施例并不限定对扩展前缀TLV的扩展方式,只需要扩展后的扩展前缀TLV能够携带该业务节点管理的业务资源的业务资源标识、以及该业务节点管理的业务资源的业务资源状态即可。比如,可选地,可以在扩展前缀TLV中扩展中两个子TLV分别用于携带该业务节点管理业务资源的业务资源的业务资源0标识、以及该业务节点管理的业务资源的业务资源状态。
示例地,在业务节点支持中间系统到中间系统(Intermediate system to intermediate system,ISIS)协议的情况下,前述通告报文为扩展网络可达(the extended IP reachability)类型长度值TLV,扩展网络可达TLV中的前缀(prefix)携带有该业务节点管理的业务资源的业务资源标识,扩展网络可达TLV中的子TLV(sub-TLV)携带有该业务节点管理的业务资源的业务资源状态。
图8是本申请实施例提供的一种IS-IS协议中的扩展网络可达TLV的格式示意图。该扩展网络可达TLV为类型等于135的扩展网络可达TLV,如图8所示,该扩展网络可达TLV中包括代价值(metric)字段,前缀(prefix)字段、子TLV字段等。
上述仅仅是对扩展网络可达TLV的一种可能的扩展方式。本申请实施例并不限定对扩展网络可达TLV的扩展方式,只需要扩展后的扩展网络可达TLV能够携带该业务节点管理的业务资源的业务资源标识、以及该业务节点管理的业务资源的业务资源状态即可。比如,可选地,可以在扩展网络可达TLV中扩展中两个子TLV分别用于携带该业务节点管理的业务资源的业务资源标识、以及该业务节点管理的业务资源的业务资源状态。
又示例地,在业务节点支持边界网关协议(border gateway protocol,BGP)的情况下,前述通告报文为BGP更新消息(update message)报文,BGP更新消息报文中的网络层可达信息(network layer reachability information,NLRI)携带有该业务节点管理的业务资源的业务资源标识,该BGP更新消息报文中的路由属性(path attribute)TLV携带有任一业务节点管理的业务资源的业务资源状态。
目前BGP包括多协议(multiprotocol,MP)BGP和非MP BGP。图9是本申请实施例提供的一种在请求注解(request for comments,RFC)4271中定义的非MP BGP中的BGP更新消息报文的格式示意图。如图9所示,该BGP更新消息报文包括撤回路由长度(withdrawn routes length)字段、撤回路由(withdrawn routes)字段、总路由属性长度(path attribute length)字段、路由属性(path attribute)字段、NLRI字段、路由属性标记位(path attribute flag)字段、以及路由属性TLV字段。
此时,可以在图9的NLRI字段中携带上述该业务节点管理的业务资源的业务资源标识。在图9中的路由属性TLV中携带该业务节点管理的业务资源的业务资源状态。
上述仅仅是对非MP BGP中的BGP更新消息报文的一种可能的扩展方式。本申请实施例并不限定对非MP BGP中的BGP更新消息报文的扩展方式,只需要扩展后的非MP BGP中的BGP更新消息报文能够携带该业务节点管理的业务资源的业务资源标识、以及该业务节点管理的业务资源的业务资源状态即可。
另外,在非MP BGP场景中,如果业务节点不再管理某个业务资源,则可以将不再管理的业务资源的业务资源标识携带在图9中的撤回路由字段中,以通知转发节点该业务节点不再管理该业务资源标识所指示的业务资源。
图10是本申请实施例提供的一种在请求注解(request for comments,RFC)4271中定义的MP BGP中的BGP更新消息报文的格式示意图。如6所示,该MP BGP中的BGP更新消息报文包括地址家族标识(address family identifer)字段、地址家族标识子序列(subsequent address family identifer)字段、下一跳网络地址的长度(length of next hop network address)字段、下一跳网络地址(network address of next hop)字段、预留(reserved)字段、NLRI字段、路由属性标记位(path attribute flag)字段、以及路由属性TLV字段。
此时,可以在图10的NLRI字段中携带上述该业务节点管理的业务资源的业务资源标识。在图10中的路由属性TLV中携带该业务节点管理的业务资源的业务资源状态。
上述仅仅是对MP BGP中的BGP更新消息报文的一种可能的扩展方式。本申请实施例并不限定对MP BGP中的BGP更新消息报文的扩展方式,只需要扩展后的MP BGP中的BGP更新消息报文能够携带该业务节点管理的业务资源的业务资源标识、以及该业务节点管理的业务资源的业务资源状态即可。
另外,在MP BGP场景中,如果业务节点不再管理某个业务资源,则可以将不再管理的业务资源的业务资源标识携带在MP非可达性NLRI(MP_UNreach_NLRI)的撤回路由字段中,以通知转发节点该业务节点不再管理该业务资源标识所指示的业务资源。关于MP_UNreach_NLRI的具体格式在此不再详细说明。
上述是对几种协议中已有的通知报文进行扩展,得到本申请实施例提供的通告报文。可选地,还可以在各种协议中定义一种新的报文来表征本申请实施例提供的通告报文,只需重新定义的报文中的能够携带该业务节点管理的业务资源的业务资源标识、以及该业务节点管理的业务资源的业务资源状态即可,在此不再一一举例说明。
需要说明的是,目前相关技术中的任播技术是指IPV6协议中一个发送方同最近的一组接收方之间的通信。相关技术中的任播的定义是:当一个单播地址被分配到多于一个的接口上时,发到该接口的报文被转发节点路由到由路由协议度量的“最近”的目标接口上。
本申请实施例提供的转发报文的方法也可以应用在上述任播技术中。此时,相当于对相关技术中的任播技术进行了改进。在本申请实施例涉及的任播技术中,允许终端设备向一组业务节点中的一个目标业务节点发送数据报文,而这个目标业务节点由路由系统中的转发节点基于各个业务节点发布的业务资源状态选择,各个业务节点对终端设备透明。。
当本申请实施例提供的转发报文的方法应用于在上述改进后的任播技术中时,终端设备发送的报文中携带的目标业务标识为任播网络(anycast IP)地址。
可选地,在本申请实施例中,业务标识也可以具体为业务的名称或除去任播地址以外其他能够唯一标识该业务的符号,比如可以为业务身份标识(identity,ID)等,在此就不再一一举例说明了。
图11是本申请实施例提供的一种业务节点发布通告报文的流程示意图。如图11所示,网络中包括网关(gateway,GW)、数据中心网关(data center gateway,DCGW)1、DCGW2、业务节点1和业务节点2。GW分别与DCGW1和DCGW2连接,DCGW1和业务节点1连接,,DCGW2和业务节点2连接。其中,GW为终端设备侧的网关。
如图11所示,业务节点1和业务节点2均管理有任播地址为10.10.10.8的业务对应的业务资源。因此,业务节点1便可将任播地址为10.10.10.8作为任播地址为10.10.10.8的业务对应的业务资源的业务资源标识,然后将将业务节点1的业务资源状态和该任播地址通过DCGW1发布给GW,业务节点1发布的业务资源状态指示业务节点1管理的任播地址为10.10.10.8的业务对应的业务资源的资源使用情况。同理,业务节点2便可将业务节点2的业务资源状态和该任播地址通过DCGW2发布给GW,业务节点2发布的业务资源状态指示业务节点2管理的任播地址为10.10.10.8的业务对应的业务资源的资源使用情况。如此,GW便可感知到业务节点1和业务节点2的业务资源状态。
另外,如图11所示,为了能够实现业务节点1和业务节点2发布通告报文。可以在业务节点1和业务节点2处分别部署发言者(speaker)模块。通过该发言者模块,业务节点1和业务节点2能够对外发布通告报文。
图11是以业务节点为终端设备上安装的业务应用程序对应的服务器为例进行说明。可选地,在另一种具体的实现方式中,在业务链的集中式调度场景中,如果控制器下发的是松散型转发路径,该松散型转发路径包括各个有序的SF,假设转发节点为管理有松散型转发路径上第一SF对应第一SF实例的一个SFF或者SFC域的入口、业务节点为管理有松散型转发路径上第二SF对应第二SF实例的多个SFF。其中,在转发节点为管理有松散型转发路径上第一SF对应第一SF实例的一个SFF的情况下,第二SF为松散型转发路径上第一SF的下一个SF。在转发节点为SFC域的入口的情况下,第二SF为松散型转发路径上第一个SF。
这种场景下,各业务节点能够发布指示管理的第二SF实例的业务资源状态的通告报文给转发节点。如此转发节点便可根据各业务节点的业务资源状态进行灵活的调度,防止单个SFF负载过高。上述各业务节点如何发布指示管理的第二SF实例的业务资源状态的通告报文的具体实现方式可以参考前述内容,在此不再赘述。
需要说明的是,上述实施例是以业务节点向转发节点发布通告报文为例说明。这种场景下,通告报文用于指示转发节点基于多个业务节点中各业务节点发布的业务资源状态从多个业务节点中选择目标业务节点来转发报文。可选地,业务节点还可以向控制器发布该通告报文,该通告报文携带业务节点管理的业务资源的业务资源状态,业务资源状态指示发布者所管理的业务资源的资源使用情况。这种场景下,通告报文用于指示控制器基于各业务节点发布的业务资源状态向转发节点发布报文的转发指示信息,该转发指示信息用于指示转发节点如何从多个业务节点中选择目标业务节点来转发报文。
示例地,上述转发指示信息可以为各业务节点发布的业务资源状态,以使转发节点基于多个业务节点中各业务节点发布的业务资源状态从多个业务节点中选择目标业务节点来转发报文。此时,转发节点相当于从控制器出获取到各个业务节点发布的业务资源状态。
又示例地,上述转发指示信息可以为报文的转发路径。此时,相当于控制器基于各业务节点发布的业务资源状态从多个业务节点中选择目标业务节点来转发报文,因此控制器可以确定出报文的转发路径。该示例具体是可以应用到前述的SFC技术中的严格型转发路径的场景中,在此不再重复说明。
综上所述,在本申请实施例中,业务节点能够将管理的业务资源的业务资源状态发布给转发节点,从而使得转发节点能够感知到业务节点的业务资源状态。因此转发节点便可在选择目标业务节点时将各个业务节点的业务资源状态考虑在内,从而避免出现单个业务节点处 的数据压力较大的情况。
图6所示的实施例用于解释说明转发节点如何感知到业务节点的业务资源状态。下面对转发节点如何基于各个业务节点发布的业务资源状态转发数据报文进行解释说明。
图12是本申请实施例提供的一种转发报文的方法流程图。如图12所示,该方法包括如下几个步骤。
步骤1201:转发节点接收来自终端设备的报文,该报文携带目标业务标识。
该报文携带的目标业务标识用于指示当前需要对该报文进行该目标业务标识所指示的业务处理。基于前述图2所示的实施例可知,该目标业务标识可以为任播地址,也可以为业务的名称或除去任播地址以外其他能够唯一标识该业务的符号等。
由于网络中存在多个不同的业务节点管理有业务资源能够提供该目标业务标识所指示的业务,因此转发节点在接收该数据报文时需要中这多个不同的业务节点中选择一个业务节点来处理该数据报文。
比如,对于图11所示的GW,当GW接收到终端设备发送的数据报文时,GW需要确定是由业务节点1来处理该数据报文呢,还是由业务节点2来处理该数据报文呢。具体确定的方式将在下述步骤1202中详细说明。
步骤1202:转发节点获取多个业务节点中各个业务节点发布的目标业务资源状态。其中,目标业务资源状态指示各业务节点所管理的目标业务资源的资源使用情况,目标业务资源为网络系统中能够处理目标业务标识所指示的业务的资源。
基于图2所示的实施例可知,转发节点能够基于各个业务节点发布的通告报文获取到各业务节点管理的业务资源的业务资源状态,如此转发节点便可保存各业务节点管理的业务资源的业务资源状态。因此,在一种具体的实现方式中,在步骤1202中,转发节点可以从保存的业务资源状态中获取各业务节点的目标业务资源状态。
可选地,在另一种具体的实现方式中,如果业务节点是向网络中的控制节点发布的通告报文,则转发节点可以从控制节点处获取各个业务节点的目标业务资源状态。在此不再详细说明。
此外,基于图2所示的实施例可知,业务节点发布的业务资源状态可以是针对业务节点管理的所有业务资源的统一的一个业务资源状态。这种场景下,步骤1202中,转发节点便可将各业务节点发布的业务资源状态直接作为各业务节点发布的目标业务资源状态。可选地,业务节点发布的业务资源状态可以是针对业务节点管理的所有业务资源中每个业务资源的业务资源状态。这种场景下,步骤1202中,转发节点便可从各业务节点管理的所有业务资源中每个业务资源的业务资源状态中,获取各业务节点发布的与目标业务资源对应的业务资源状态,得到各业务节点的目标业务资源状态。
步骤1203:转发节点根据这各个业务节点发布的目标业务资源状态,从多个业务节点中选择目标业务节点。
在一种具体的实现方式中,在业务资源状态包括轻载状态和过载状态的情况下,转发节点可以从这多个业务节点中选择目标业务资源状态为轻载状态的业务节点作为目标业务节点。
比如,在图11所示的网络中,在转发节点接收到数据报文时,如果业务节点1的目标业务资源状态为过载状态,则转发节点将业务节点2确定为目标业务节点。可选地,如果业务 节点2的目标业务资源状态为过载状态,则转发节点将业务节点1确定为目标业务节点。
可选地,如果多个业务节点中目标业务资源状态为轻载状态的业务节点的数量有两个及两个以上,此时,转发节点还需继续选择一个业务节点来作为目标业务节点。因此,在一种具体的实现方式中,为了降低数据报文的传输时延,从而提高数据报文的业务响应速度,转发节点可以根据各个业务节点的网络性能确定各个业务节点的优先级。其中,优先级越高的业务节点的网络性能越优。任一业务节点的网络性能指示转发节点至相应业务节点之间的传输路径上的网络性能。如此,转发节点最终选择的目标业务节点为多个业务节点中目标业务资源状态为轻载状态的业务节点中优先级最高的业务节点。
这种场景下,转发节点选择目标业务节点的实现方式可以为:按照优先级从高到低的顺序依次查看每个业务节点的目标业务资源状态,将首次查看到的目标业务资源状态为轻载状态的业务节点确定为目标业务节点。
比如,管理的业务资源中处理步骤1201中的目标业务标识所指示的业务的业务节点有三个,分别标记为业务节点1、业务节点2和业务节点3。这三个业务节点的优先级大小排序为:业务节点1>业务节点2>业务节点3。且业务节点1的目标业务资源状态为过载状态,业务节点2的目标业务资源状态为轻载状态,业务节点3的目标业务资源状态为轻载状态。此时,转发节点按照优先级从高到低顺序首次查看到的目标业务资源状态为轻载状态的业务节点为业务节点2,因此转发节点将业务节点2作为目标业务节点。
另外,上述任一业务节点的网络性能包括转发节点至相应业务节点之间传输路径上的传输时延、转发节点至相应业务节点之间的传输路径的总代价值(metric)、以及转发节点至相应业务节点之间传输路径的剩余带宽中的一者或多者。
比如,对于管理有业务资源来处理步骤1201中的目标业务标识所指示的业务的多个业务节点,确定转发节点至每个业务节点的传输路径上的总代价值,然后按照总代价值从小到大的顺序排序各个业务节点,即可得到优先级由高到低排序的各个业务节点。转发节点至每个业务节点的传输路径上的总代价值可以基于转发节点上的转发表项确定,在此不再详细说明。
又比如,对于管理有业务资源来处理步骤1201中的业务标识所指示的业务的多个业务节点,确定转发节点至每个业务节点的传输路径上的传输时延,然后按照传输时延从小到大的顺序排序各个业务节点,即可得到优先级由高到低排序的各个业务节点。转发节点至每个业务节点的传输路径上的传输时延可以基于随流检测技术来实现,在此不再详细说明。
此外,对于下挂在转发节点下的业务节点,可以直接将该业务节点的优先级设置为最高。
另外,可选地,如果多个业务节点中业务资源状态为轻载状态的业务节点的数量有两个及两个以上,在另一种具体的实现方式中,转发节点可以按照预设的负载分担比例从业务资源状态为轻载状态的业务节点中选择一个业务节点作为目标业务节点。比如,在图11所示的网络中,GW确定出业务节点1和业务节点2的业务资源状态均为轻载状态。假设预设的负载分担比例为业务节点1:业务节点2=2:3。此时,转发节点按照业务节点1的选中概率为40%、业务节点2的选中概率为60%的原则选择一个业务节点。如此,如果在一段较长时间内这两个业务节点的业务资源状态均为轻载状态,那么这段时间内将有40%流量流向业务节点1、有60%的流量流向业务节点2。
另外,在业务资源状态是采用资源占用率这个具体数值来表征的情况下,转发节点可以设置一个占用率阈值,然后基于该占用率阈值确定哪些业务节点能够处理该数据报文,具体 实现方式不再详细说明。
步骤1204:转发节点将该报文转发至目标业务节点。
转发节点在通过步骤1202确定出目标业务节点之后,便可将该报文转发至目标业务节点。关于转发节点将该报文转发至目标业务节点的具体过程,在此不再详细说明。
综上,在本申请实例中,转发节点能够感知业务节点发布的业务资源状态,该业务资源状态指示业务节点管理的业务资源的资源使用情况。由于转发节点能够感知业务节点发布的业务资源状态,因此转发节点便可在选择目标业务节点时将各个业务节点的业务资源状态考虑在内,从而避免出现单个业务节点处的数据压力较大的情况。
图12所示的实施例可以应用在图2或图3所示的场景中、或者应用到图5所示的业务链中的松散型转发路径的场景中。当本申请实施例提供的方法应用到业务链中的严格型转发路径场景时,控制器可以获取到各个SFF(相当于业务节点)发布的其管理的一个或多个业务功能实例(相当于业务资源)的业务资源状态。控制器基于各个SFF发布的其管理的一个或多个业务功能实例的业务资源状态,从而确定出针对业务链的严格型转发路径,并将该严格型转发路径作为前述转发指示信息发布给SFC域中的各个节点。其中,对于任一业务链上任一业务功能,控制器从管理该有业务功能的业务功能实例的各个SFF中选择一个SFF管理的该业务功能实例来实现该业务功能的具体实现方式,可以参考图12实施例中选择目标业务节点的实现方式,在此不再详细说明。
图13是本申请实施例提供的一种转发节点的结构示意图。如图13所示,该转发节点1300包括:
接收模块1301,用于接收来自终端设备的报文,该报文携带目标业务标识。具体实现方式可以参考图12实施例中的步骤1201,在此不再赘述。
获取模块1302,用于获取多个业务节点中各业务节点发布的目标业务资源状态,目标业务资源状态指示各业务节点所管理的目标业务资源的资源使用情况,目标业务资源为网络系统中能够处理目标业务标识所指示的业务的资源。具体实现方式可以参考图12实施例中的步骤1202,在此不再赘述。
选择模块1303,用于根据各业务节点发布的目标业务资源状态,从多个业务节点中选择目标业务节点。具体实现方式可以参考图12实施例中的步骤1203,在此不再赘述。
发送模块1304,用于将报文转发至目标业务节点。具体实现方式可以参考图12实施例中的步骤1204,在此不再赘述。
可选地,
接收模块,还用于接收来自网络系统中任一业务节点发送的通告报文,通告报文携带任一业务节点管理的业务资源的业务资源状态,保存任一业务节点发布的业务资源状态;
获取模块用于:
从保存的业务资源状态中获取各业务节点的目标业务资源状态。
可选地,
通告报文还携带有任一业务节点管理的一个或多个业务资源中每个业务资源的业务资源标识,业务资源状态与每个业务资源标识对应,每个业务资源标识对应的业务资源状态指示 任一业务节点管理相应业务资源标识所指示的业务资源的资源使用情况;
获取模块用于:
从保存的业务资源状态中,获取各业务节点发布的与目标业务资源对应的业务资源状态,得到各业务节点的目标业务资源状态。
可选地,
在任一业务节点支持开放式最短路径优先OSPF协议的情况下,通告报文为扩展前缀类型长度值TLV,扩展前缀TLV中的地址前缀携带有任一业务节点管理的业务资源的业务资源标识,扩展前缀TLV中的扩展子TLV或者扩展前缀TLV中的标记位携带有任一业务节点管理的业务资源的业务资源状态。
可选地,
在任一业务节点支持中间系统到中间系统ISIS协议的情况下,通告报文为扩展网络可达类型长度值TLV,扩展网络可达TLV中的前缀携带有任一业务节点管理的业务资源的业务资源标识,扩展网络可达TLV中的子TLV携带有任一业务节点管理的业务资源的业务资源状态。
可选地,在任一业务节点支持边界网关协议BGP的情况下,通告报文为BGP更新消息报文,BGP更新消息报文中的网络层可达信息NLRI携带有任一业务节点管理的业务资源的业务资源标识,BGP更新消息报文中的路由属性TLV携带有任一业务节点管理的业务资源的业务资源状态。
可选地,BGP包括多协议MP BGP和非MP BGP。
可选地,
转发节点还包括:
确定模块,用于转发节点根据各个业务节点的网络性能确定各个业务节点的优先级,其中,优先级越高的业务节点的网络性能越优,任一业务节点的网络性能指示转发节点至相应业务节点之间的传输路径上的网络性能;
选择模块用于:
根据各个业务节点的目标业务资源状态以及各个业务节点的优先级,确定目标业务节点。
可选地,目标业务资源状态包括轻载状态和过载状态,过载状态指示相应业务节点所管理的目标业务资源的资源占用率超过第一占用率阈值,轻载状态指示相应业务节点所管理的目标业务资源的资源占用率低于第二占用率阈值。
可选地,任一业务节点的网络性能包括转发节点至相应业务节点之间传输路径上的传输时延、转发节点至相应业务节点之间的传输路径的总代价值、以及转发节点至相应业务节点之间传输路径的剩余带宽中的一者或多者。
可选地,转发节点为网关GW,多个业务节点为与GW通信的多个服务器。
可选地,转发节点为网关GW,多个业务节点为与GW通信的多个服务器集群主节点,多个服务器集群主节点中每个服务器集群主节点通过数据中心网关DCGW与GW连接,多个服务器集群主节点中存在两个服务器集群主节点位于不同的数据中心中。
可选地,目标业务标识为任播网络地址或业务名称。
可选地,转发节点为业务链SFC域的入节点或者业务功能转发器SFF,多个业务节点为多个SFF管理的SF实例。
综上,在本申请实例中,转发节点能够感知业务节点的业务资源状态,该业务资源状态指示业务节点管理的业务资源的资源使用情况。由于转发节点能够感知业务节点的业务资源状态,因此转发节点便可在选择目标业务节点时将各个业务节点的业务资源状态考虑在内,从而避免出现单个业务节点处的数据压力较大的情况。
需要说明的是:上述实施例提供的转发节点在转发报文时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将转发节点的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的转发节点与转发报文的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图14是本申请实施例提供的一种控制器的结构示意图。控制器为网络系统中的控制器,网络系统还包括多个业务节点,多个业务节点中任一业务节点管理有一个或多个业务资源,每个业务资源用于实现业务链上的一个业务功能。如图14所示,控制器1400包括:
获取模块1401,用于获取多个业务节点中各业务节点发布的业务资源状态,业务资源状态指示发布者所管理的业务资源的资源使用情况。具体实施方式可以参考前述对业务链的相关内容,在此不再赘述。
发布模块1402,用于基于各业务节点发布的业务资源状态向转发节点发布报文的转发指示信息,该转发指示信息用于指示转发节点如何从多个业务节点中选择目标业务节点来转发报文。具体实施方式可以参考前述对业务链的相关内容,在此不再赘述。
可选地,多个业务节点中任一业务节点管理有一个或多个业务资源,一个或多个业务资源中每个业务资源用于实现业务链上的一个业务功能;
报文转发指示信息为针对业务链的转发路径,转发路径指示数据报文经由哪些业务节点中哪个业务资源来处理。
本申请实施例提供的方法可以应用到业务链技术中,在业务链技术中,如果由控制器通过严格型方式指定报文的转发路径。此时对于业务链上任一业务功能,控制器可以基于各个业务节点管理的该业务功能的业务功能实例的业务资源状态,从各个业务节点中选择某个业务节点管理的业务功能实例来实现该业务功能,从而确定出针对该业务链的严格型转发路径。其中,严格型转发路径中指定了由哪些业务节点的哪个业务功能实例对报文进行处理。此处的业务功能实例相当于业务节点管理的业务资源,业务节点可以为业务链技术中的业务功能转发器。如此,便可以避免某些个别业务节点的数据处理压力较大的问题,从而提升业务节点向终端设备提供的业务的质量。
需要说明的是:上述实施例提供的控制器在确定转发路径时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将控制器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的控制器与确定转发路径的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图15是本申请实施例提供的一种业务节点的结构示意图。业务节点为网络系统包括的多个业务节点中任一业务节点,网络系统还包括转发节点或控制器。如图15所示,该业务节点 1500包括:
发布模块1501,用于向转发节点或控制器发布通告报文,通告报文携带业务节点管理的业务资源的业务资源状态,业务资源状态指示发布者所管理的业务资源的资源使用情况。具体实现方式可以参考图6实施例中的步骤602,在此不再赘述。
其中,通告报文用于指示转发节点基于多个业务节点中各业务节点发布的业务资源状态从多个业务节点中选择目标业务节点来转发报文,或者,用于指示控制器基于各业务节点发布的业务资源状态向转发节点发布报文的转发指示信息,该转发指示信息用于指示转发节点如何从多个业务节点中选择目标业务节点来转发报文。
可选地,通告报文还携带有业务节点管理的一个或多个业务资源中每个业务资源的业务资源标识,业务节点的业务资源状态与每个业务资源标识对应,每个业务资源标识对应的业务资源状态指示业务节点管理相应业务资源标识所指示的业务资源的资源使用情况。
可选地,在业务节点支持开放式最短路径优先OSPF协议的情况下,通告报文为扩展前缀类型长度值TLV,扩展前缀TLV中的地址前缀携带有业务节点管理的业务资源的业务资源标识,扩展前缀TLV中的扩展子TLV或者扩展前缀TLV中的标记位携带有业务节点管理的业务资源的业务资源状态。
可选地,在业务节点支持中间系统到中间系统ISIS协议的情况下,通告报文为扩展网络可达类型长度值TLV,扩展网络可达TLV中的前缀携带有业务节点管理的业务资源的业务资源标识,扩展网络可达TLV中的子TLV携带有业务节点管理的业务资源的业务资源状态。
可选地,在业务节点支持边界网关协议BGP的情况下,通告报文为BGP更新消息报文,BGP更新消息报文中的网络层可达信息NLRI携带有业务节点管理的业务资源的业务资源标识,BGP更新消息报文中的路由属性TLV携带有业务节点管理的业务资源的业务资源状态。
可选地,BGP包括多协议MP BGP和非MP BGP。
可选地,如图15所示,业务节点1500还包括:
确定模块1502,用于业务节点确定当前时间的业务资源状态;具体实现方式可以参考图6实施例中的步骤601,在此不再赘述。
发布模块1501,用于如果当前时间的业务资源状态和当前时间之前的业务资源状态不同,则执行发布通告报文的操作。
可选地,业务资源状态包括轻载状态和过载状态,过载状态指示相应业务节点管理的业务资源的资源占用率超过第一占用率阈值,轻载状态指示相应业务节点管理的业务资源的资源占用率低于第二占用率阈值。
可选地,转发节点为网关GW,多个业务节点为与GW通信的多个服务器。
可选地,转发节点为网关GW,多个业务节点为与GW通信的多个服务器集群主节点,多个服务器集群主节点中每个服务器集群主节点通过数据中心网关DCGW与GW连接,多个服务器集群主节点中存在两个服务器集群主节点位于不同的数据中心中。
可选地,转发节点为业务链SFC域的入节点或者业务功能转发器SFF,多个业务节点为多个SFF管理的业务功能SF实例。
综上,在本申请实例中,转发节点能够感知业务节点的业务资源状态,该业务资源状态指示业务节点的资源占用情况。由于转发节点能够感知业务节点的业务资源状态,因此转发节点便可在选择目标业务节点时将各个业务节点的业务资源状态考虑在内,从而避免出现单 个业务节点处的数据压力较大的情况。
需要说明的是:上述实施例提供的业务节点在发布通告报文时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将业务节点的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的业务节点与发布通告报文的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图16是本申请实施例提供的一种网络设备的结构示意图。前述实施例中转发节点、业务节点以及控制器等均可以通过图16所示的网络设备来实现。参见图16,该网络设备包括至少一个处理器1601,通信总线1602、存储器1603以及至少一个通信接口1604。
处理器1601可以是一个通用中央处理器(central processing unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)或一个或多个用于控制本申请方案程序执行的集成电路。
比如,当网络设备前述实施例中的转发节点时,处理器1601用于基于各个业务节点发布的目标业务资源状态选择用于发送报文的目标业务节点,具体实现方式可以参考图12实施例中的步骤1202和步骤1203。当网络设备前述实施例中的控制器时,处理器1601用于基于各个业务节点发布的业务资源状态确定针对业务链的严格型转发路径,具体实现方式可以参考前述网络系统架构中关于业务链的解释说明中。当网络设备前述实施例中的业务节点时,处理器1601用于确定业务资源状态,具体实现方式可以参考图6实施例中的步骤601。
通信总线1602可包括一通路,在上述组件之间传送信息。
存储器1603可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1603可以是独立存在,通过通信总线1602与处理器1601相连接。存储器1603也可以和处理器1601集成在一起。
其中,存储器1603用于存储执行本申请方案的程序代码,并由处理器1601来控制执行。处理器1601用于执行存储器1603中存储的程序代码。程序代码中可以包括一个或多个软件模块。前述实施例中的转发节点、业务节点以及控制节点均可以通过处理器1601以及存储器1603中的程序代码中的一个或多个软件模块,来确定用于开发应用的数据。
通信接口1604,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
比如,当网络设备前述实施例中的转发节点时,通信接口1604用于接收各个业务节点发布的业务资源状态,还用于接收来自终端设备的报文,并将报文发送至选择的目标业务节点上。当网络设备前述实施例中的控制器时,通信接口1604用于接收各个业务节点发布的业务资源状态,并将网络入口节点发送确定的转发路径。当网络设备前述实施例中的业务节点时, 通信接口1604用于发布携带有业务资源状态的通告报文。
在具体实现中,作为一种实施例,网络设备可以包括多个处理器,例如图16中所示的处理器1601和处理器1605。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
上述的网络设备可以是一个通用网络设备或者是一个专用网络设备。在具体实现中,网络设备可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,PDA)、移动手机、平板电脑、无线终端设备、路由器、交换机等通信设备或者嵌入式设备。本申请实施例不限定网络设备的类型。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如:固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (57)

  1. 一种转发报文的方法,应用于网络系统,所述网络系统包括转发节点以及多个业务节点,其特征在于,所述方法包括:
    转发节点接收来自终端设备的报文,所述报文携带目标业务标识;
    所述转发节点获取多个业务节点中各业务节点发布的目标业务资源状态,所述目标业务资源状态指示所述各业务节点所管理的目标业务资源的资源使用情况,所述目标业务资源为所述网络系统中能够处理所述目标业务标识所指示的业务的资源;
    所述转发节点根据所述各业务节点发布的目标业务资源状态,从所述多个业务节点中选择目标业务节点;
    所述转发节点将所述报文转发至所述目标业务节点。
  2. 如权利要求1所述的方法,其特征在于,所述转发节点接收来自终端设备的报文之前,所述方法还包括:
    所述转发节点接收来自所述网络系统中任一业务节点发送的通告报文,所述通告报文携带所述任一业务节点管理的业务资源的业务资源状态;
    所述转发节点保存所述任一业务节点发布的业务资源状态;
    所述转发节点获取多个业务节点中各业务节点发布的目标业务资源状态,包括:
    所述转发节点从保存的业务资源状态中获取所述各业务节点的目标业务资源状态。
  3. 如权利要求2所述的方法,其特征在于,所述通告报文还携带有所述任一业务节点管理的一个或多个业务资源中每个业务资源的业务资源标识,所述业务资源状态与每个业务资源标识对应,每个业务资源标识对应的业务资源状态指示所述任一业务节点管理相应业务资源标识所指示的业务资源的资源使用情况;
    所述从保存的业务资源状态中获取所述各业务节点的目标业务资源状态,包括:
    从保存的业务资源状态中,获取所述各业务节点发布的与所述目标业务资源对应的业务资源状态,得到所述各业务节点的目标业务资源状态。
  4. 如权利要求2或3所述的方法,其特征在于,在所述任一业务节点支持开放式最短路径优先OSPF协议的情况下,所述通告报文为扩展前缀类型长度值TLV,所述扩展前缀TLV中的地址前缀携带有所述任一业务节点管理的业务资源的业务资源标识,所述扩展前缀TLV中的扩展子TLV或者所述扩展前缀TLV中的标记位携带有所述任一业务节点管理的业务资源的业务资源状态。
  5. 如权利要求2或3所述的方法,其特征在于,在所述任一业务节点支持中间系统到中间系统ISIS协议的情况下,所述通告报文为扩展网络可达类型长度值TLV,所述扩展网络可达TLV中的前缀携带有所述任一业务节点管理的业务资源的业务资源标识,所述扩展网络可达TLV中的子TLV携带有所述任一业务节点管理的业务资源的业务资源状态。
  6. 如权利要求2或3所述的方法,其特征在于,在所述任一业务节点支持边界网关协议BGP的情况下,所述通告报文为BGP更新消息报文,所述BGP更新消息报文中的网络层可达信息NLRI携带有所述任一业务节点管理的业务资源的业务资源标识,所述BGP更新消息报文中的路由属性TLV携带有所述任一业务节点管理的业务资源的业务资源状态。
  7. 如权利要求6所述的方法,其特征在于,所述BGP包括多协议MP BGP和非MP BGP。
  8. 如权利要求1至7任一所述的方法,其特征在于,所述转发节点根据所述各业务节点发布的目标业务资源状态,从所述多个业务节点中选择目标业务节点之前,所述方法还包括:
    所述转发节点根据所述各业务节点的网络性能确定所述各业务节点的优先级,其中,优先级越高的业务节点的网络性能越优,任一业务节点的网络性能指示所述转发节点至相应业务节点之间的传输路径上的网络性能;
    所述根据所述各业务节点发布的目标业务资源状态,从所述多个业务节点中选择目标业务节点,包括:
    根据所述各业务节点的目标业务资源状态以及各业务节点的优先级,确定所述目标业务节点。
  9. 如权利要求8所述的方法,其特征在于,所述任一业务节点的网络性能包括所述转发节点至相应业务节点之间传输路径上的传输时延、所述转发节点至相应业务节点之间的传输路径的总代价值、以及所述转发节点至相应业务节点之间传输路径的剩余带宽中的一者或多者。
  10. 如权利要求1-9任一所述的方法,其特征在于,所述目标业务资源状态包括轻载状态和过载状态,所述过载状态指示相应业务节点所管理的目标业务资源的资源占用率超过第一占用率阈值,所述轻载状态指示相应业务节点所管理的目标业务资源的资源占用率低于第二占用率阈值。
  11. 如权利要求1至10任一所述的方法,其特征在于,所述转发节点为网关GW,所述多个业务节点为与所述GW通信的多个服务器。
  12. 如权利要求1至10任一所述的方法,其特征在于,所述转发节点为网关GW,所述多个业务节点为与所述GW通信的多个服务器集群主节点,所述多个服务器集群主节点中每个服务器集群主节点通过数据中心网关DCGW与所述GW连接,所述多个服务器集群主节点中存在两个服务器集群主节点位于不同的数据中心中。
  13. 如权利要求11或12所述的方法,其特征在于,所述目标业务标识为任播网络地址或业务名称。
  14. 如权利要求1至10任一所述的方法,其特征在于,所述转发节点为业务链SFC域的入节点或者业务功能转发器SFF,所述多个业务节点为多个SFF管理的业务功能SF实例。
  15. 一种发布转发指示信息的方法,其特征在于,应用于网络系统中的控制器,所述网络系统还包括转发节点和多个业务节点;
    所述方法包括:
    所述控制器获取所述多个业务节点中各业务节点发布的业务资源状态,所述业务资源状态指示发布者所管理的业务资源的资源使用情况;
    所述控制器基于所述各业务节点发布的业务资源状态向所述转发节点发布报文的转发指示信息,所述转发指示信息用于指示所述转发节点如何从所述多个业务节点中选择目标业务节点来转发报文。
  16. 如权利要求15所述的方法,其特征在于,所述多个业务节点中任一业务节点管理有一个或多个业务资源,所述一个或多个业务资源中每个业务资源用于实现业务链上的一个业务功能;
    所述报文转发指示信息为针对所述业务链的转发路径,所述转发路径指示数据报文经由哪些业务节点中哪个业务资源来处理。
  17. 一种发布通告报文的方法,其特征在于,应用于网络系统包括的多个业务节点中任一业务节点,所述网络系统还包括转发节点或控制器;
    所述方法包括:
    所述业务节点向所述转发节点或所述控制器发布通告报文,所述通告报文携带所述业务节点管理的业务资源的业务资源状态,所述业务资源状态指示发布者所管理的业务资源的资源使用情况;
    其中,所述通告报文用于指示所述转发节点基于所述多个业务节点中各业务节点发布的业务资源状态从所述多个业务节点中选择目标业务节点来转发报文,或者,用于指示所述控制器基于所述各业务节点发布的业务资源状态向所述转发节点发布报文的转发指示信息,所述转发指示信息用于指示所述转发节点如何从所述多个业务节点中选择目标业务节点来转发报文。
  18. 如权利要求17所述的方法,其特征在于,所述通告报文还携带有所述业务节点管理的一个或多个业务资源中每个业务资源的业务资源标识,所述业务节点的业务资源状态与每个业务资源标识对应,每个业务资源标识对应的业务资源状态指示所述业务节点管理相应业务资源标识所指示的业务资源的资源使用情况。
  19. 如权利要求17或18所述的方法,其特征在于,在所述业务节点支持开放式最短路径优先OSPF协议的情况下,所述通告报文为扩展前缀类型长度值TLV,所述扩展前缀TLV中的地址前缀携带有所述业务节点管理的业务资源的业务资源标识,所述扩展前缀TLV中的扩展子TLV或者所述扩展前缀TLV中的标记位携带有所述业务节点管理的业务资源的业务资 源状态。
  20. 如权利要求17或18所述的方法,其特征在于,在所述业务节点支持中间系统到中间系统ISIS协议的情况下,所述通告报文为扩展网络可达类型长度值TLV,所述扩展网络可达TLV中的前缀携带有所述业务节点管理的业务资源的业务资源标识,所述扩展网络可达TLV中的子TLV携带有所述业务节点管理的业务资源的业务资源状态。
  21. 如权利要求17或18所述的方法,其特征在于,在所述业务节点支持边界网关协议BGP的情况下,所述通告报文为BGP更新消息报文,所述BGP更新消息报文中的网络层可达信息NLRI携带有所述业务节点管理的业务资源的业务资源标识,所述BGP更新消息报文中的路由属性TLV携带有所述业务节点管理的业务资源的业务资源状态。
  22. 如权利要求21所述的方法,其特征在于,所述BGP包括多协议MP BGP和非MP BGP。
  23. 如权利要求17至22任一所述的方法,其特征在于,所述方法还包括:
    所述业务节点确定当前时间的业务资源状态;
    如果所述当前时间的业务资源状态和所述当前时间之前的业务资源状态不同,则执行所述发布通告报文的操作。
  24. 如权利要求17-23任一所述的方法,其特征在于,所述业务资源状态包括轻载状态和过载状态,所述过载状态指示相应业务节点管理的业务资源的资源占用率超过第一占用率阈值,所述轻载状态指示相应业务节点管理的业务资源的资源占用率低于第二占用率阈值。
  25. 如权利要求17至24任一所述的方法,其特征在于,所述转发节点为网关GW,所述多个业务节点为与所述GW通信的多个服务器。
  26. 如权利要求17至24任一所述的方法,其特征在于,所述转发节点为网关GW,所述多个业务节点为与所述GW通信的多个服务器集群主节点,所述多个服务器集群主节点中每个服务器集群主节点通过数据中心网关DCGW与所述GW连接,所述多个服务器集群主节点中存在两个服务器集群主节点位于不同的数据中心中。
  27. 如权利要求17至24任一所述的方法,其特征在于,所述转发节点为业务链SFC域的入节点或者业务功能转发器SFF,所述多个业务节点为多个SFF管理的业务功能SF实例。
  28. 一种转发节点,其特征在于,所述转发节点包括:
    接收模块,用于接收来自终端设备的报文,所述报文携带目标业务标识;
    获取模块,用于获取多个业务节点中各业务节点发布的目标业务资源状态,所述目标业务资源状态指示所述各业务节点所管理的目标业务资源的资源使用情况,所述目标业务资源 为所述网络系统中能够处理所述目标业务标识所指示的业务的资源;
    选择模块,用于根据所述各业务节点发布的目标业务资源状态,从所述多个业务节点中选择目标业务节点;
    发送模块,用于将所述报文转发至所述目标业务节点。
  29. 如权利要求28所述的转发节点,其特征在于,
    所述接收模块,还用于接收来自所述网络系统中任一业务节点发送的通告报文,所述通告报文携带所述任一业务节点管理的业务资源的业务资源状态,保存所述任一业务节点发布的业务资源状态;
    所述获取模块用于:
    从保存的业务资源状态中获取所述各业务节点的目标业务资源状态。
  30. 如权利要求29所述的转发节点,其特征在于,所述通告报文还携带有所述任一业务节点管理的一个或多个业务资源中每个业务资源的业务资源标识,所述业务资源状态与每个业务资源标识对应,每个业务资源标识对应的业务资源状态指示所述任一业务节点管理相应业务资源标识所指示的业务资源的资源使用情况;
    所述获取模块用于:
    从保存的业务资源状态中,获取所述各业务节点发布的与所述目标业务资源对应的业务资源状态,得到所述各业务节点的目标业务资源状态。
  31. 如权利要求29或30所述的转发节点,其特征在于,
    在所述任一业务节点支持开放式最短路径优先OSPF协议的情况下,所述通告报文为扩展前缀类型长度值TLV,所述扩展前缀TLV中的地址前缀携带有所述任一业务节点管理的业务资源的业务资源标识,所述扩展前缀TLV中的扩展子TLV或者所述扩展前缀TLV中的标记位携带有所述任一业务节点管理的业务资源的业务资源状态。
  32. 如权利要求29或30所述的转发节点,其特征在于,在所述任一业务节点支持中间系统到中间系统ISIS协议的情况下,所述通告报文为扩展网络可达类型长度值TLV,所述扩展网络可达TLV中的前缀携带有所述任一业务节点管理的业务资源的业务资源标识,所述扩展网络可达TLV中的子TLV携带有所述任一业务节点管理的业务资源的业务资源状态。
  33. 如权利要求29或30所述的转发节点,其特征在于,在所述任一业务节点支持边界网关协议BGP的情况下,所述通告报文为BGP更新消息报文,所述BGP更新消息报文中的网络层可达信息NLRI携带有所述任一业务节点管理的业务资源的业务资源标识,所述BGP更新消息报文中的路由属性TLV携带有所述任一业务节点管理的业务资源的业务资源状态。
  34. 如权利要求33所述的转发节点,其特征在于,所述BGP包括多协议MP BGP和非MP BGP。
  35. 如权利要求28至34任一所述的转发节点,其特征在于,所述转发节点还包括:
    确定模块,用于所述转发节点根据所述各个业务节点的网络性能确定所述各个业务节点的优先级,其中,优先级越高的业务节点的网络性能越优,任一业务节点的网络性能指示所述转发节点至相应业务节点之间的传输路径上的网络性能;
    所述选择模块用于:
    根据所述各个业务节点的目标业务资源状态以及各个业务节点的优先级,确定所述目标业务节点。
  36. 如权利要求35所述的转发节点,其特征在于,所述任一业务节点的网络性能包括所述转发节点至相应业务节点之间传输路径上的传输时延、所述转发节点至相应业务节点之间的传输路径的总代价值、以及所述转发节点至相应业务节点之间传输路径的剩余带宽中的一者或多者。
  37. 如权利要求28至36任一所述的转发节点,其特征在于,所述目标业务资源状态包括轻载状态和过载状态,所述过载状态指示相应业务节点所管理的目标业务资源的资源占用率超过第一占用率阈值,所述轻载状态指示相应业务节点所管理的目标业务资源的资源占用率低于第二占用率阈值。
  38. 如权利要求28至37任一所述的转发节点,其特征在于,所述转发节点为网关GW,所述多个业务节点为与所述GW通信的多个服务器。
  39. 如权利要求28至37任一所述的转发节点,其特征在于,所述转发节点为网关GW,所述多个业务节点为与所述GW通信的多个服务器集群主节点,所述多个服务器集群主节点中每个服务器集群主节点通过数据中心网关DCGW与所述GW连接,所述多个服务器集群主节点中存在两个服务器集群主节点位于不同的数据中心中。
  40. 如权利要求38或39所述的转发节点,其特征在于,所述目标业务标识为任播网络地址或业务名称。
  41. 如权利要求28至37任一所述的转发节点,其特征在于,所述转发节点为业务链SFC域的入节点或者业务功能转发器SFF,所述多个业务节点为多个SFF管理的业务功能SF实例。
  42. 一种控制器,其特征在于,所述控制器为网络系统中的控制器,所述网络系统还包括转发节点和多个业务节点;
    所述控制器包括:
    获取模块,用于获取所述多个业务节点中各业务节点发布的业务资源状态,所述业务资源状态指示发布者所管理的业务资源的资源使用情况;
    发布模块,用于基于所述各业务节点发布的业务资源状态向所述转发节点发布报文的转 发指示信息,所述转发指示信息用于指示所述转发节点如何从所述多个业务节点中选择目标业务节点来转发报文。
  43. 如权利要求42所述的控制器,其特征在于,所述多个业务节点中任一业务节点管理有一个或多个业务资源,所述一个或多个业务资源中每个业务资源用于实现业务链上的一个业务功能;
    所述报文转发指示信息为针对所述业务链的转发路径,所述转发路径指示数据报文经由哪些业务节点中哪个业务资源来处理。
  44. 一种业务节点,其特征在于,所述业务节点为网络系统包括的多个业务节点中任一业务节点,所述网络系统还包括转发节点或控制器;
    所述业务节点包括:
    发布模块,用于向所述转发节点或所述控制器发布通告报文,所述通告报文携带所述业务节点管理的业务资源的业务资源状态,所述业务资源状态指示发布者所管理的业务资源的资源使用情况;
    其中,所述通告报文用于指示所述转发节点基于所述多个业务节点中各业务节点发布的业务资源状态从所述多个业务节点中选择目标业务节点来转发报文,或者,用于指示所述控制器基于所述各业务节点发布的业务资源状态向所述转发节点发布报文的转发指示信息,所述转发指示信息用于指示所述转发节点如何从所述多个业务节点中选择目标业务节点来转发报文。
  45. 如权利要求44所述的业务节点,其特征在于,所述通告报文还携带有所述业务节点管理的一个或多个业务资源中每个业务资源的业务资源标识,所述业务节点的业务资源状态与每个业务资源标识对应,每个业务资源标识对应的业务资源状态指示所述业务节点管理相应业务资源标识所指示的业务资源的资源使用情况。
  46. 如权利要求44或45所述的业务节点,其特征在于,在所述业务节点支持开放式最短路径优先OSPF协议的情况下,所述通告报文为扩展前缀类型长度值TLV,所述扩展前缀TLV中的地址前缀携带有所述业务节点管理的业务资源的业务资源标识,所述扩展前缀TLV中的扩展子TLV或者所述扩展前缀TLV中的标记位携带有所述业务节点管理的业务资源的业务资源状态。
  47. 如权利要求44或45所述的业务节点,其特征在于,在所述业务节点支持中间系统到中间系统ISIS协议的情况下,所述通告报文为扩展网络可达类型长度值TLV,所述扩展网络可达TLV中的前缀携带有所述业务节点管理的业务资源的业务资源标识,所述扩展网络可达TLV中的子TLV携带有所述业务节点管理的业务资源的业务资源状态。
  48. 如权利要求44或45所述的业务节点,其特征在于,在所述业务节点支持边界网关协议BGP的情况下,所述通告报文为BGP更新消息报文,所述BGP更新消息报文中的网络层 可达信息NLRI携带有所述业务节点管理的业务资源的业务资源标识,所述BGP更新消息报文中的路由属性TLV携带有所述业务节点管理的业务资源的业务资源状态。
  49. 如权利要求48所述的业务节点,其特征在于,所述BGP包括多协议MP BGP和非MP BGP。
  50. 如权利要求44至49任一所述的业务节点,其特征在于,所述业务节点还包括:
    确定模块,用于所述业务节点确定当前时间的业务资源状态;
    所述发布模块,用于如果所述当前时间的业务资源状态和所述当前时间之前的业务资源状态不同,则执行所述发布通告报文的操作。
  51. 如权利要求44至50任一所述的业务节点,其特征在于,所述业务资源状态包括轻载状态和过载状态,所述过载状态指示相应业务节点管理的业务资源的资源占用率超过第一占用率阈值,所述轻载状态指示相应业务节点管理的业务资源的资源占用率低于第二占用率阈值。
  52. 如权利要求44至51任一所述的业务节点,其特征在于,所述转发节点为网关GW,所述多个业务节点为与所述GW通信的多个服务器。
  53. 如权利要求44至51任一所述的业务节点,其特征在于,所述转发节点为网关GW,所述多个业务节点为与所述GW通信的多个服务器集群主节点,所述多个服务器集群主节点中每个服务器集群主节点通过数据中心网关DCGW与所述GW连接,所述多个服务器集群主节点中存在两个服务器集群主节点位于不同的数据中心中。
  54. 如权利要求44至51任一所述的业务节点,其特征在于,所述转发节点为业务链SFC域的入节点或者业务功能转发器SFF,所述多个业务节点为多个SFF管理的业务功能SF实例。
  55. 一种网络系统,其特征在于,所述网络系统包括转发节点和多个业务节点:
    所述多个业务节点中任一业务节点用于,向所述转发节点发布通告报文,所述通告报文携带所述业务节点管理的业务资源的业务资源状态,所述业务资源状态指示发布者所管理的业务资源的资源使用情况;
    所述转发节点用于,接收来自终端设备的报文,所述报文携带目标业务标识,获取多个业务节点中各业务节点发布的目标业务资源状态,所述目标业务资源状态指示所述各业务节点所管理的目标业务资源的资源使用情况,所述目标业务资源为所述网络系统中能够处理所述目标业务标识所指示的业务的资源,根据所述各业务节点发布的目标业务资源状态,从所述多个业务节点中选择目标业务节点,将所述报文转发至所述目标业务节点。
  56. 一种网络系统,其特征在于,所述网络系统包括控制器、转发节点和多个业务节点:
    所述多个业务节点中任一业务节点用于,向所述控制器发布通告报文,所述通告报文携带所述业务节点管理的业务资源的业务资源状态,所述业务资源状态指示发布者所管理的业务资源的资源使用情况;
    所述控制器用于,基于所述各业务节点发布的业务资源状态向所述转发节点发布报文的转发指示信息,所述报文转发指示信息用于指示所述转发节点如何从所述多个业务节点中选择目标业务节点来转发报文。
  57. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-14、或者权利要求15-16、或者权利要求17-27中任一项所述的方法。
PCT/CN2021/114161 2020-08-31 2021-08-23 转发报文、发布转发指示信息和通告报文的方法及设备 WO2022042505A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21860340.5A EP4199461A4 (en) 2020-08-31 2021-08-23 METHOD AND DEVICES FOR FORWARDING MESSAGES AND ISSUE FORWARD COMMAND INFORMATION AND NOTIFICATION MESSAGES
US18/174,849 US20230216775A1 (en) 2020-08-31 2023-02-27 Packet forwarding method, forwarding indication information advertising method, advertisement packet advertising method, and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010898069.6 2020-08-31
CN202010898069.6A CN114124793A (zh) 2020-08-31 2020-08-31 转发报文、发布转发指示信息和通告报文的方法及设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/174,849 Continuation US20230216775A1 (en) 2020-08-31 2023-02-27 Packet forwarding method, forwarding indication information advertising method, advertisement packet advertising method, and device

Publications (1)

Publication Number Publication Date
WO2022042505A1 true WO2022042505A1 (zh) 2022-03-03

Family

ID=80352655

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/114161 WO2022042505A1 (zh) 2020-08-31 2021-08-23 转发报文、发布转发指示信息和通告报文的方法及设备

Country Status (4)

Country Link
US (1) US20230216775A1 (zh)
EP (1) EP4199461A4 (zh)
CN (1) CN114124793A (zh)
WO (1) WO2022042505A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11929906B2 (en) * 2021-07-29 2024-03-12 Cisco Technology, Inc. Source-provisioned services infrastructure
CN115550456A (zh) * 2022-09-13 2022-12-30 中国联合网络通信集团有限公司 一种业务调度方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360093A (zh) * 2007-08-02 2009-02-04 华为技术有限公司 一种负载控制方法及其系统
CN104980468A (zh) * 2014-04-09 2015-10-14 深圳市腾讯计算机系统有限公司 处理业务请求的方法、装置及系统
CN106254154A (zh) * 2016-09-19 2016-12-21 杭州华三通信技术有限公司 一种资源共享方法和装置
CN106657367A (zh) * 2016-12-30 2017-05-10 北京三快在线科技有限公司 一种业务数据获取方法、装置及系统
WO2017166988A1 (zh) * 2016-03-30 2017-10-05 中兴通讯股份有限公司 网络切片处理方法及装置、终端、基站、计算机存储介质
CN107707943A (zh) * 2017-06-29 2018-02-16 贵州白山云科技有限公司 一种实现云服务融合的方法及系统
CN107979539A (zh) * 2017-10-30 2018-05-01 新华三技术有限公司 报文处理方法及装置
CN110858161A (zh) * 2018-08-24 2020-03-03 阿里巴巴集团控股有限公司 资源分配方法、装置、系统、设备和介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103997526B (zh) * 2014-05-21 2018-05-22 中国科学院计算技术研究所 一种可扩展负载均衡系统和方法
US20170214627A1 (en) * 2016-01-21 2017-07-27 Futurewei Technologies, Inc. Distributed Load Balancing for Network Service Function Chaining
WO2019012546A1 (en) * 2017-07-11 2019-01-17 Telefonaktiebolaget Lm Ericsson [Publ] EFFICIENT CHARGE BALANCING MECHANISM FOR SWITCHES IN A SOFTWARE-DEFINED NETWORK
KR102145422B1 (ko) * 2018-09-03 2020-08-18 성균관대학교산학협력단 서비스 기능 연결 환경에서의 네트워크 서비스 관리 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360093A (zh) * 2007-08-02 2009-02-04 华为技术有限公司 一种负载控制方法及其系统
CN104980468A (zh) * 2014-04-09 2015-10-14 深圳市腾讯计算机系统有限公司 处理业务请求的方法、装置及系统
WO2017166988A1 (zh) * 2016-03-30 2017-10-05 中兴通讯股份有限公司 网络切片处理方法及装置、终端、基站、计算机存储介质
CN106254154A (zh) * 2016-09-19 2016-12-21 杭州华三通信技术有限公司 一种资源共享方法和装置
CN106657367A (zh) * 2016-12-30 2017-05-10 北京三快在线科技有限公司 一种业务数据获取方法、装置及系统
CN107707943A (zh) * 2017-06-29 2018-02-16 贵州白山云科技有限公司 一种实现云服务融合的方法及系统
CN107979539A (zh) * 2017-10-30 2018-05-01 新华三技术有限公司 报文处理方法及装置
CN110858161A (zh) * 2018-08-24 2020-03-03 阿里巴巴集团控股有限公司 资源分配方法、装置、系统、设备和介质

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP4199461A1 (en) 2023-06-21
CN114124793A (zh) 2022-03-01
US20230216775A1 (en) 2023-07-06
EP4199461A4 (en) 2024-02-21

Similar Documents

Publication Publication Date Title
EP4258598A1 (en) Computing power application traffic forwarding method and apparatus
EP2813032B1 (en) Balancing of forwarding and address resolution in overlay networks
EP2817926B1 (en) Delegate forwarding and address resolution in fragmented network
US20230216775A1 (en) Packet forwarding method, forwarding indication information advertising method, advertisement packet advertising method, and device
US20210377162A1 (en) Malleable routing for data packets
WO2018153221A1 (zh) 传输网络中业务服务质量的控制方法、设备及系统
CN114978978A (zh) 一种算力资源调度方法、装置、电子设备及介质
WO2014094518A1 (en) Method and apparatus of managing a plurality of sessions in a multi-path routing based network
JP5673057B2 (ja) 輻輳制御プログラム、情報処理装置および輻輳制御方法
US11949584B2 (en) Utilizing domain segment identifiers for inter-domain shortest path segment routing
CN116886496A (zh) 基于dpu的数据处理方法、装置、设备及可读存储介质
CN115277504B (zh) 一种网络流量监控方法、装置和系统
WO2023273957A1 (zh) 算力发布方法、算力更新方法及装置
KR102187292B1 (ko) Sfc 네트워크에서 토폴로지 정보를 동기화하기 위한 방법, 및 라우팅 네트워크 엘리먼트
CN112751766B (zh) 报文转发方法和系统、相关设备和芯片
WO2023005745A1 (zh) 报文转发方法、装置及系统、计算机可读存储介质
US11863426B2 (en) Determining a best destination over a best path using multifactor path selection
US11379279B2 (en) Netlink asynchronous notifications for native and third party application in distributed network systems
US11777847B1 (en) Point-to-multipoint transport chain
US11411866B1 (en) Supporting multiple segment routing traffic engineering algorithms
US20230246943A1 (en) Routing for static border gateway protocol
CN116489074A (zh) 一种半自动段路由调度方法
CN117938744A (zh) 业务管理系统运行状态的调整方法、装置、设备及介质
CN115209482A (zh) 一种信息传输方法、装置、网络节点、控制器及存储介质
CN117914820A (zh) 算力路由方法、装置及系统

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021860340

Country of ref document: EP

Effective date: 20230314