WO2022078415A1 - 报文转发方法以及网络设备 - Google Patents

报文转发方法以及网络设备 Download PDF

Info

Publication number
WO2022078415A1
WO2022078415A1 PCT/CN2021/123672 CN2021123672W WO2022078415A1 WO 2022078415 A1 WO2022078415 A1 WO 2022078415A1 CN 2021123672 W CN2021123672 W CN 2021123672W WO 2022078415 A1 WO2022078415 A1 WO 2022078415A1
Authority
WO
WIPO (PCT)
Prior art keywords
sid
service
network device
packet
data packet
Prior art date
Application number
PCT/CN2021/123672
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 华为技术有限公司
Publication of WO2022078415A1 publication Critical patent/WO2022078415A1/zh

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/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Definitions

  • the embodiments of the present application relate to the field of communications, and in particular, to a packet forwarding method and a network device.
  • Segment routing internet protocol version 6 is a new generation internet protocol based on internet protocol version 6 (IPv6) and segment routing (SR) , IP) bearer protocol, which can unify traditional complex network protocols, realize network protocol simplification and application-level service-level agreement (SLA) guarantee.
  • IPv6 internet protocol version 6
  • SLA application-level service-level agreement
  • the centralized orchestrator completes the service chain orchestration.
  • the service chain includes one or more service function modules with the same or different functions, and sends the service chain to the controller to control the
  • the SRv6 service chain delivers the complete SRv6 service chain to the service classifier (SC), and the SRv6 service chain includes information such as the service function forwarder (SFF).
  • SC service classifier
  • SFF service function forwarder
  • the present application provides a packet forwarding method and a network device, which can reduce the calculation pressure of the service chain.
  • a first aspect provides a packet forwarding method, including: based on a service chain network, a network device can obtain a first data packet transmitted by other devices or generated by the network device itself.
  • the first data message includes the first service segment identifier service SID.
  • the network device may determine, according to the first service SID in the above-mentioned first data message, the first service function segment identifier SFSID of the device to be executed by the first service SID.
  • the first SF SID is the identifier of the first service function device used to execute the first target service function.
  • the network device may send the first data message to the first service function device indicated by the above-mentioned first SFSID.
  • the network device determines the first SF SID according to the first service SID in the received first data packet, and the controller does not need to calculate the detailed forwarding path of the data packet, thereby reducing the calculation pressure of the service chain.
  • the network device may encapsulate the first SF SID in the first segment identification list in the extension header of the first data packet, and complete the identification of the first data packet. Update of the text.
  • the network device updates the first SF SID in the first segment identification list of the first data message, so that other network devices can immediately determine the first SF SID after receiving the updated first data message, improving the processing rate.
  • the network device is the head node, and the head node can receive the second data packet transmitted from the network, and then determine the second segment identifier of the packet forwarding according to the second data packet and the packet classification rule list, and then encapsulate the second segment identification list into the extension header of the second data packet, so as to generate the first data packet.
  • the first data message satisfies the above-mentioned message classification rule
  • the second segment identification list corresponds to the message classification rule
  • the first data message includes the second segment identification list
  • the second segment identification list includes the first service SID and the first segment identification list.
  • Two service SIDs the second service SID is adjacent to the first service SID, and the second service SID is used to make the network device perform the step of determining the first SF SID according to the first service SID.
  • the network device determines the second segment identification list according to the received second data message and the message classification rule, and generates the first data message, which improves the implementability of the solution.
  • the network device may determine the first relationship corresponding to the first service SID according to the first service SID in the first data packet.
  • the first relationship may include multiple SF SIDs and index parameters corresponding to each of the multiple SF SIDs, wherein the multiple SF SIDs include the first SF SID. That is, the network device can match the index requirements corresponding to the second segment of the identification list with the index parameters in the first relationship to determine the first SF SID.
  • the network device determines the first SF SID according to the first service SID from the obtained first relationship including the indicator parameters according to the indicator requirements corresponding to the second segment of the identification list, and the network device determines to execute the service function corresponding to the service SID.
  • the device does not need the controller to centrally calculate the detailed path, reducing the calculation pressure of the business chain.
  • the first relationship may be determined from a first interior gateway protocol (interior gateway protocol, IGP) message received by the network device, and the first IGP message may be published by other nodes of the network device.
  • the first IGP message may directly include the first service SID and the first relationship.
  • the first relationship may also be that the network device receives a second IGP packet and a third IGP packet sent by multiple SFF nodes, and the second IGP packet may include the above-mentioned first service SID, first SF SID, and first SF
  • the third IGP message may include the above-mentioned first service SID, the fourth SF SID and the fourth indicator parameter corresponding to the fourth SF SID
  • the network device may be based on the second IGP message and the third The IGP message determines the above-mentioned first relationship.
  • the network device obtains the above-mentioned first relationship by obtaining the IGP message sent by other devices, which relieves the pressure of centralized control by devices such as controllers.
  • the network device is the head node, and can obtain the packet classification rules sent or preconfigured by the centralized orchestrator, and the packet classification rules can be used to indicate the association between the second segment identifier list and the data packet characteristics relationship, and then send the packet classification rules to the head node.
  • the head node may determine the message feature of the second data message to match the second segment identifier list indicated by the above message classification rule and the data message feature in the association relationship.
  • the data packet feature is used to determine the second segment identifier list corresponding to the second data packet.
  • the network device matches the second segment identification list from the packet classification rule according to the packet characteristics of the second data packet, which improves the practicability of the solution.
  • the intermediate node may receive the first data packet sent by the head node, where the first data packet includes the second service SID.
  • the second service SID is the SID of the intermediate node, the second service SID is adjacent to the above-mentioned first service SID, and the intermediate node can determine the first SF SID corresponding to the first service SID according to the indication of the second service SID.
  • the network device receives a third data packet including the second SF SID and the third service SID, and sends the third data to the second service function device to obtain the first data packet, that is, the network device also It can be an intermediate node, which improves the flexibility of the scheme.
  • the second SF SID and the second index parameter corresponding to the second SF SID are the segment identifiers of the network equipment.
  • the second SF SID and the second index parameter are the segment identifiers of the network equipment, which improves the implementability of the solution.
  • a second aspect provides a packet forwarding method, including:
  • the network device may be a head node or an intermediate node, and the network device may receive a first announcement message issued by other network devices, such as other intermediate nodes.
  • the first notification message includes the first service segment identifier service SID, the first service function segment identifier SFSID, and the first indicator parameter corresponding to the first SF SID, the first service SID is used to indicate the first target service function, the first The SF SID includes the identification of the first service function device for executing the first target service function.
  • the network device can directly extract the first service SID, the first SF SID and the first index parameter contained in the first advertisement message, and based on the first service SID, the first SF SID and the The first index parameter determines the first relationship corresponding to the first service SID.
  • the first relationship is used to enable the network device to determine the first SF SID according to the corresponding index requirements corresponding to the segment identification list and the first index parameter, the segment identification list includes the first service SID, and the segment identification list corresponds to the packet classification rule.
  • the network device may determine the first relationship according to the received first service SID, the first SF SID, and the first index parameter, and may make the network device according to the index requirement corresponding to the segment identifier list and the first index parameter according to the first relationship
  • the index parameter corresponds to determine the first SF SID, which improves the efficiency of the arrangement calculation.
  • the first relationship further includes a second SF SID corresponding to the first service SID, and a second index parameter corresponding to the second SF SID, where the second SF SID may be used for executing the first goal
  • the identifier of the second service function device of the service function, and the first index parameter is different from the second index parameter.
  • the first advertisement packet may be an IGP packet, and the first advertisement packet may include an intermediate system-to-intermediate system ISIS routing protocol or an Open Shortest Path First OSPF routing protocol.
  • a third aspect provides a packet forwarding method, including:
  • the network device is SFF, and the SFF can receive in advance the first service segment identifier service SID, the first service function segment identifier SF SID and the first index parameter corresponding to the first SF SID configured by the centralized scheduler.
  • the orchestrator does not support the intermediate system to intermediate system (ISIS) routing protocol or the open shortest path first (OSPF) routing protocol.
  • the SFF can identify the first service segment sent by the centralized orchestrator.
  • the service SID, the first service function segment identifier SF SID, and the first indicator parameter are processed as the first advertisement message supporting the ISIS routing protocol or the OSPF routing protocol.
  • the first announcement message may include a first service SID, a first SF SID, and a first indicator parameter, the first service SID is used to indicate the first target service function, and the first SF SID includes a first target service function.
  • the SFF may publish the first announcement message through the IGP protocol or other protocols, and the head node and other SFFs may receive the first announcement message.
  • the network device generates the first announcement message by generating the first service SID, the first SF SID, and the index parameters corresponding to the first SF SID to other network devices. node efficiency.
  • the first advertisement message further includes the second SF SID and the second index parameter corresponding to the second SF SID, and the second SFSID includes the second service function device for executing the first target service function , the first indicator parameter is different from the second indicator parameter.
  • the first advertisement message includes the first SF SID TLV, and the first SF SID TLV includes the first SF SID and the first indicator parameter.
  • a fourth aspect provides a network device, comprising: an obtaining module for obtaining a first data message, where the first data message includes a first service segment identifier service SID, and the first service SID is used to indicate a first target Service function; a determining module, configured to determine the first service function segment identifier SFSID according to the first service SID, the first service SID is used to indicate the first target service function, and the first SFSID includes the first target service function.
  • the identifier of the first service function device; the sending module is configured to send the first data message to the first service function device according to the first SF SID.
  • the network device further includes an update module configured to update the first data packet, where the first data packet includes a first segment identification list, and the first segment identification list includes the First SF SID.
  • the network device further includes a first receiving module, and the first receiving module is configured to receive the second data packet; the obtaining module is specifically configured to: determine the second data packet according to the second data packet and the packet classification rule A segment identifier list, the first data packet satisfies the packet classification rule, and the second segment identifier list corresponds to the packet classification rule; the first data packet is generated according to the second data packet, and the first data packet includes the second segment identifier list, the second segment identification list includes the first service SID and the second service SID, the second service SID and the first service SID are adjacent, and the second service SID is used to make the network device execute the network device according to the first service SID.
  • the determining module is specifically configured to: obtain a first relationship corresponding to the second service SID, where the first relationship includes multiple SF SIDs and index parameters corresponding to each of the multiple SF SIDs, and the multiple SF SIDs
  • the first SF SID is included in the first SF SID; the first SF SID is determined according to the index requirement corresponding to the second segment identification list and the first relationship.
  • the network device further includes a generating module
  • the first receiving module is further configured to: receive a first interior gateway protocol IGP message, where the first IGP message includes the first service SID and the first relationship; or, Receive the second IGP packet and the third IGP packet, where the second IGP packet includes the first service SID, the first SF SID, and the first index parameter corresponding to the first SF SID, and the third IGP packet includes the first service SID , the fourth SF SID and the fourth index parameter corresponding to the fourth SF SID; the generating module is configured to generate the first relationship according to the second IGP message and the third IGP message.
  • the first receiving module is further configured to: receive the packet classification rules sent by the centralized scheduler, where the packet classification rules include the association relationship between the data packet characteristics and the second segment identification list; the determining module is further configured to: for determining the second segment identification list according to the packet characteristics of the second data packet matching the data packet characteristics.
  • the network device further includes a second receiving module, the second receiving module is configured to receive a first data packet, where the first data packet includes a second service SID, the second service SID is the SID of the network device, and the second service SID is adjacent to the first service SID; the determining module is further configured to determine corresponding to the first service SID according to the indication of the second service SID the first SF SID of .
  • a fifth aspect provides a network device, comprising: a receiving module for receiving a first announcement message, where the first announcement message includes a first service SID, a plurality of SF SIDs, and each SF SID in the plurality of SF SIDs corresponds to The index parameter; the generation module is used to generate the first relationship according to the first service SID, the first SF SID and the first index parameter, and the first relationship is used to make the network device according to the index requirement corresponding to the segment identification list and the first index parameter.
  • the first SF SID, the segment identifier list includes the first service SID, and the segment identifier list corresponds to the packet classification rule.
  • the first relationship further includes a second SF SID corresponding to the first service SID, and a second index parameter corresponding to the second SF SID, where the second SF SID includes a second SF SID for executing the first target service
  • the identifier of the second service function device of the function, the first index parameter is different from the second index parameter.
  • the advertisement packet is an IGP packet
  • the first advertisement packet includes the intermediate system-to-intermediate system ISIS routing protocol or the Open Shortest Path First OSPF routing protocol.
  • a sixth aspect provides a network device, comprising: a generating module configured to generate a first announcement message according to the first service SID, the first SF SID, and an index parameter corresponding to the first SF SID, and the first announcement message includes the first announcement message.
  • a service SID, the first SF SID and the index parameters corresponding to the first SF SID, the index parameters corresponding to the first service SID, the first SF SID and the first SF SID are used to indicate the first relationship, and the first relationship is used according to the first relationship.
  • the index requirements of the two-segment identification list determine the first SF SID, the first service SID is used to indicate the first target service function, the first SF SID includes the identifier of the first service function device that executes the first target service function, and the second segment identifier
  • the list includes the first service SID; the publishing module is used to publish the first announcement message.
  • the first advertisement message further includes the second SF SID and the second index parameter corresponding to the second SF SID, and the second SFSID includes the second service function device for executing the first target service function , the first indicator parameter is different from the second indicator parameter.
  • the first advertisement message includes the first SF SID TLV
  • the first SF SID TLV includes the first SF SID, the first index parameter and the status status, and the status is used to indicate the first SF SID corresponding to the first SF SID. Whether a target business function is available.
  • a seventh aspect provides a network device, including: a processor, a memory, and a communication interface, where the processor is configured to execute instructions stored in the memory, so that the network device executes the first aspect or any one of the first aspects is optional
  • the method provided by the method, the communication interface is used to receive or send messages.
  • An eighth aspect provides a network device, including: a processor, a memory, and a communication interface, where the processor is configured to execute instructions stored in the memory, so that the network device can perform any one of the second aspect or the second aspect above.
  • the communication interface is used to receive or send a message.
  • a ninth aspect provides a network device, including: a processor, a memory, and a communication interface, where the processor is configured to execute instructions stored in the memory, so that the network device executes the third aspect or any of the third aspects.
  • the communication interface is used for receiving or sending messages.
  • a tenth aspect provides a computer-readable storage medium, where a program is stored in the computer-readable storage medium, and when the computer executes the program, the method provided in the foregoing first aspect or any optional manner of the first aspect is performed.
  • An eleventh aspect provides a computer-readable storage medium, where a program is stored in the computer-readable storage medium, and when the computer executes the program, the method provided in the foregoing second aspect or any optional manner of the second aspect is performed. .
  • a twelfth aspect provides a computer-readable storage medium, where a program is stored in the computer-readable storage medium, and when the computer executes the program, the method provided in the third aspect or any optional manner of the third aspect is performed. .
  • a thirteenth aspect provides a computer program product, when the computer program product is executed on a computer, the computer executes the method provided in the foregoing first aspect or any optional manner of the first aspect.
  • a fourteenth aspect provides a computer program product, when the computer program product is executed on a computer, the computer executes the method provided in the foregoing second aspect or any optional manner of the second aspect.
  • a fifteenth aspect provides a computer program product, when the computer program product is executed on a computer, the computer executes the method provided in the foregoing third aspect or any optional manner of the third aspect.
  • a sixteenth aspect provides a chip, which, when the chip runs on a device, enables the device to perform the method provided in the foregoing first aspect or any optional manner of the first aspect.
  • a seventeenth aspect provides a chip, which, when the chip runs on a device, enables the device to perform the method provided in the foregoing second aspect or any optional manner of the second aspect.
  • An eighteenth aspect provides a chip, which, when the chip runs on a device, enables the device to perform the method provided in the foregoing third aspect or any optional manner of the third aspect.
  • a nineteenth aspect provides a network system, where the network system includes the network devices provided in the foregoing fourth to sixth aspects.
  • FIG. 1 is a system frame diagram of an SRv6 service chain network provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of a packet forwarding method provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of another packet forwarding method provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of another packet forwarding method provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a distributed scheduling algorithm provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a management plane provided by an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a network device 700 according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a network device 800 according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a network device 900 according to an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a network device 1000 according to an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of a network device 1100 according to an embodiment of the present application.
  • the embodiments of the present application provide a packet forwarding method and a network device, which are used to reduce the calculation pressure of the service chain.
  • Segment Routing It is a protocol designed to forward packets in the network based on the concept of source routing. SR divides the network path into segments, and assigns segment IDs (Segment IDs, SIDs) to these segments and network nodes. By arranging the SIDs in an orderly manner, the SID List (SID List, also known in SR-MPLS) can be obtained. called label stack), SID List can indicate a forwarding path.
  • SID List also known in SR-MPLS
  • label stack SID List
  • SID List can indicate a forwarding path.
  • the data package can be compared to luggage, and SR can be compared to the label attached to the luggage.
  • the data packet will be forwarded first to the node corresponding to SID1, then to the node corresponding to SID2, and then to the node corresponding to SID3.
  • the full name of SR-MPLS in Chinese and English is Segment Routing Multi-Protocol Label Switching.
  • Segment routing based on Internet Protocol Version 6 (IPv6): refers to the application of SR technology in IPv6 networks. Use IPv6 address (128bits) as the representation of SID.
  • IPv6 address (128bits) as the representation of SID.
  • network devices that support SRv6 will query the local segment identification table (local SID table) according to the destination address (Destination Address, DA) in the data packet.
  • DA Destination Address
  • the operation corresponding to the policy is performed, for example, the data packet can be forwarded from the outbound interface corresponding to the SID); if the purpose of the data packet is If there is no longest match between the address and each SID in the local segment identification table, the IPv6 forwarding table is checked again, and the longest matching forwarding is performed according to the IPv6 forwarding table.
  • Different nodes in an SRv6 network can be connected through an internet protocol (IP) address layer link.
  • IP internet protocol
  • the node can publish at least one endpoint three-layer cross-connection segment identifier (End.X SID, End represents endpoint, which means endpoint; X represents crossing, which means three-layer cross-connection, SID means segment identifier ), each End.X SID is used to identify an IP layer link directly connected to the node, and other nodes in the network can determine the corresponding link of each IP layer link in the network by sending and receiving the End.X SIDs published by each other. SID.
  • the head node will receive the data packet and determine the forwarding path of the data packet.
  • the head node can obtain each IP layer link according to the forwarding path.
  • the End.X SID corresponding to the link of the IP layer write the obtained End.X SID into the data packet, and then send the data packet carrying the End.X SID to the next node.
  • the node will parse the data packet, obtain the End.X SID carried by the data packet, and send the data packet from the IP layer outbound interface bound by the End.X SID, then the data packet will pass through
  • the IP layer link corresponding to the IP layer outbound interface reaches the next node, the next node will continue to forward the data packet by performing similar steps until the data packet reaches the destination node.
  • the head node can obtain the endpoint segment identifier corresponding to each node (End SID, End means endpoint, meaning endpoint, SID means segment identifier) according to each node that the forwarding path needs to pass through, and Write the obtained End SID into the data packet, and then send the data packet carrying the End SID to the next node.
  • End SID End means endpoint, meaning endpoint, SID means segment identifier
  • the node will parse the data packet, get the End SID carried by the data packet, and send the data packet to the node corresponding to the End SID, then the data packet will arrive at the node corresponding to the End SID.
  • each node continues to forward data packets by performing similar steps until the data packets reach the destination node.
  • the SID list formed by the above END.X or END can only indicate some nodes on the path, rather than all nodes. Also, END.X and END can be mixed, as well as other SRv6Functions.
  • IPv6 packet is composed of IPv6 standard header + extension header (0...n) + payload.
  • SRH extension header a new IPv6 extension header, called the SRH extension header.
  • the extension header specifies an IPv6 explicit path and stores the IPv6 Segment List information. Its function is the same as that of the Segment in SR MPLS. List is the same.
  • the head node adds an SRH extension header to the IPv6 packet, and the intermediate node can forward it according to the path information contained in the SRH extension header.
  • Binding SID (Binding SID, BSID): BSID will be bound to a SID list. When a node obtains a valid BSID, it will perform BSID-related operations. In SR-MPLS, the BSID-related operations can be: popping the BSID and pushing it into the corresponding SID List. In SRv6, BSID-related operations can be: according to the different BSID functions, insert a new SRH header (End.B6.Insert), or insert a new SRH-containing outer IPv6 header (End.B6.Encaps ).
  • Head Node The starting node of the SR forwarding path, responsible for encapsulating segment identifiers.
  • the system framework of the SRv6 service chain network includes: service function chain (SFC) coordination layer (orchestrator), SFC control layer (controller), flow classifier (service classifier, SC) , service chain end device (post service, PS), service forwarding function node (service function forwarder, SFF), service function node (service function, SF) and service node (service node, SN).
  • SFC service function chain
  • SC flow classifier
  • service chain end device post service, PS
  • service forwarding function node service function forwarder, SFF
  • service function node service function, SF
  • service node service node, SN
  • the SFC orchestrator delivers a complete SRv6 service chain path to the SC through the SFC controller, the SC encapsulates a data message based on the path information of the service chain path and sends it to the SFF, and the SFF determines the message from the encapsulated data message.
  • the data packet is sent to the SF, and the SF receives the data packet from the SFF and provides the corresponding service functions, and then returns the data packet to the SFF, and the SFF sends the data packet to the next SF. , SFF or PS.
  • the business chain coordination layer mainly completes the basic resource presets required to provide business chain services, including the preset and basic configuration of SC, SFF, and SN, the network connection coordination between SF and SFF, and the business strategy configuration of SF. Unified entry for features.
  • the service chain control layer also provides the network control functions of the service chain characteristics, including the overlay network management, service chain path calculation and flow table delivery functions required by the service chain.
  • the business chain control layer can also provide interfaces to connect with the cloud management platform or collaboration layer, and can also connect with SC/SFF/PS through interfaces such as the network configuration protocol (NetConf).
  • NetworkConf network configuration protocol
  • the SC receives data packets from the non-SFC network, classifies the data packets based on the secure copy (SCP) protocol, and then encapsulates the data packets after matching the service chain path, and forwards them to the first-hop SFF. SC and SFF can be deployed together.
  • SCP secure copy
  • the PS is the destination device of the service chain to be reached after the data packet passes through the service chain path.
  • the PS and the SFF can be deployed together.
  • the SFF is responsible for forwarding the data packets introduced into the service chain by the SC along the pre-defined service chain path, and forwarding the data packets to the PS at the end of the service chain, that is, as the proxy of the unidentified (unaware) type SF to the data packets Decapsulate and encapsulate and update the header information.
  • This framework diagram takes two as an example, that is, SFF1 and SFF2 are used as examples.
  • the data packets of the service chain are introduced into SFF1 by SC and forwarded to PS by SFF2. .
  • the SF instance in the service function node is usually a virtual resource.
  • a virtual system (virtual system, VSYS) instance receives data packets from the SFF and provides corresponding service functions, such as applying service policies, and then sends the data packets back to the SFF.
  • SF instances may be SF1-SF8, SFF1 may apply service functions in SF1-SF4 instances, and SFF2 may apply service functions in SF5-SF8 instances.
  • the SN can be a physical network function (PNF) or a virtual network function (VNF) network service device.
  • PNF physical network function
  • VNF virtual network function
  • the SN includes a single SF instance or a multi-SF instance mode. Exemplary, this framework In the figure, SNs may be SN1-SN4, SN1 includes SF1 and SF2, SN2 includes SF3 and SF4, SN3 includes SF5 and SF6, and SN4 includes SF7 and SF8.
  • SC is the head node
  • PS is the tail node
  • at least one path can be established between the head node and the tail node.
  • the path also includes at least one other node between the head node and the tail node.
  • the other nodes between the head node and the tail node are called intermediate nodes.
  • the path 11 shown in FIG. 1 is the path between the head node SC and the tail node PS, and the path 11 between the head node and the tail node also includes SFF1 and SFF2, that is, SFF1 and SFF2 are on the path 11 the intermediate node.
  • the data packet can be forwarded to SF4 through SFF1, and SF4 provides corresponding service functions, and the data packet can also be forwarded to SF5 through SFF2, and SF5 provides corresponding service functions.
  • business chains are mainly used in data centers.
  • many systems and platforms based on user services such as firewalls or load balancers
  • the data center implements the flexible concatenation of services and the decoupling of the virtual network and the physical network through the service chain.
  • the centralized orchestrator completes the service chain orchestration and delivers the controller, and the controller delivers the complete SRv6 service chain path to the SC.
  • the service chain includes the SID indicating the physical location of the SFF/SF. Since there are many service chains, SFs, etc.
  • the solution of centrally computing or arranging the service chain paths by the centralized orchestrator requires higher computing power of the centralized orchestrator.
  • the centralized orchestrator needs to recalculate and deliver the service chain path, and it takes extra time for the recalculation and delivery.
  • an embodiment of the present application provides a packet forwarding method, and the method is as follows:
  • the network device includes not only a situation of receiving an announcement message, but also a situation of sending an announcement message.
  • this method mainly introduces the situation that the network device sends the announcement message, this method comprises the following steps:
  • the network device generates a first advertisement message according to the first service SID, the first SF SID, and the first indicator parameter corresponding to the first SF SID.
  • the foregoing network device may be an intermediate node SFF, and may also be a head node or a tail node, which is not limited in this embodiment of the present application.
  • the network device may receive the first service SID, SSF SID, and the first indicator parameter, which may be sent by the centralized scheduler, or may be pre-configured in the network device in advance.
  • the network device may generate the first advertisement message after obtaining the first service SID, the first SF SID, and the index parameter corresponding to the first SF SID.
  • the advertisement message may be an IGP message, such as an intermediate system to intermediate system (ISIS) message or an open shortest path first (OSPF) message.
  • ISIS intermediate system to intermediate system
  • OSPF open shortest path first
  • the network device can also obtain the second SF SID corresponding to the first Service SID and the second index parameter corresponding to the second SF SID, and carry the second SF SID and the second SF in the above-mentioned first advertisement message.
  • the second SF SID is the identifier of the second service function device that executes the first target service function.
  • the parameter values of the first indicator parameter and the second indicator parameter are different.
  • the index parameter may include a computing power value or other indicators for identifying performance, such as delay, packet loss rate, or throughput, etc., which are not limited in this application.
  • the first advertisement message includes a service SID type-length-value (tag-length-value, TLV), and the service SID TLV includes a first service SID.
  • TLV tag-length-value
  • the service SID TLV is this embodiment
  • the service SID TLV can be shown in Table 1.
  • Type used to indicate that the TLV is a Service SID type.
  • Length Define the length of the Service SID TLV.
  • Algorithm followss the type of algorithm defined by the IGP.
  • Flags 1 octet (octet).
  • Endpoint Behavior The type is End.B6.INTERT, indicating that the binding tag is inserted into the new SRH method.
  • Service SID Service segment identifier
  • Sub-sub-TLV-length defines the length of sub-sub-TLVs.
  • Sub-sub-TLVs Define the Service Network Proxy (Proxy) SID Sub-sub-TLV, which can contain multiple.
  • the first notification message further includes the SF SID TLV, and the SF SID TLV includes the first SF SID and the index parameter corresponding to the first SF SID.
  • the first announcement message also includes a status (status) corresponding to the first SF SID, and the status is used to indicate whether the first target service function corresponding to the first SF SID is available, and the first SF SID TLV is this implementation.
  • the first SF SID TLV can be as shown in Table 2.
  • Type used to indicate that the TLV is a new type of service attribute (Service Attribute).
  • Length used to define the length of the Service Proxy SID Sub-sub-TLV.
  • ComputePower value identifies the indicator parameter corresponding to the SF SID.
  • the specific content of the indicator parameter is the computing power value.
  • Endpoint Behavior The intermediate node is End.AS or End.AD, indicating static or dynamic proxy mode, and the tail (TAIL) node is the newly defined END.CT type, which performs the operation of stripping the SRH header.
  • SF SID Identifies the SF SID.
  • the index parameter corresponding to the function identifier is only carried in the SF SID Sub-sub-TLV, not in the Service SID Sub-TLV, which can avoid the local SFF selecting the proxy SF SID of the next hop SFF, if the route is selected according to the index parameter of the Service SID , which cannot reflect the weight of the proxy SF SID indicator parameters, resulting in uneven SF load.
  • the network device issues a first announcement message.
  • the network device may publish the first advertisement message, so that other device head nodes in the network can receive the first advertisement message.
  • the head node may not publish the first Service SID, the first SF SID and the first index parameter obtained by the head node.
  • This method mainly introduces a situation in which a network device receives a notification message, and the method includes the following steps:
  • the network device receives a first notification message.
  • the network device may receive a first advertisement packet sent by the network device in the packet forwarding method shown in FIG. 2 , where the first advertisement packet includes a first service SID, a first SF SID, and a first advertisement packet.
  • the first indicator parameter corresponding to the SF SID.
  • the network device generates a first relationship according to the first service SID, the first SF SID, and the first indicator parameter.
  • the network device After receiving the first advertisement message, the network device can directly extract the first service SID, the first SF SID, and the first index parameter contained in the first advertisement message, and then generate the first service SID, the first SF SID and the first SF SID. The first relationship with the first indicator parameter.
  • the above-mentioned first relationship may be pre-generated and saved by the network device, or may be generated during the forwarding process of the data packet, which is not limited in this application.
  • the first relationship further includes a second SF SID and a second index parameter.
  • the advertisement message further includes the above-mentioned second SF SID and a second indicator parameter corresponding to the second SF SID.
  • the network device may receive multiple advertisement packets, and the multiple advertisement packets may include a second IGP packet and a third IGP packet, and the network device may receive the first advertisement packet based on the The index parameter corresponding to the first service SID, the first SF SID, and the first SF SID, and the second SF SID corresponding to the first service SID in the second advertisement message, and the second SF SID corresponding to the second SF SID. indicator parameters to generate the first relationship.
  • the second SF SID is the identifier of the second service function device that executes the first target service function, and the parameter values of the first index parameter and the second index parameter are different.
  • the network device obtains a first data packet.
  • the network device in the SRv6 service chain network, may be the above-mentioned head node, intermediate node or tail node, that is, the solution can be described in the following two cases.
  • the head node can receive the second data packet transmitted from the network, and based on the obtained packet classification rules, determine the data packet characteristics according to the packet characteristics of the second data packet The second segment identifies the list. Then the head node can encapsulate the second segment identifier list into the SRH extension header of the second data packet to generate a first data packet including the second segment identifier list, and the network device can obtain the first data packet .
  • the packet classification rule can be sent by the centralized orchestrator or configured in the network device.
  • the packet classification rule is used to indicate the association between the second segment identifier list and the data packet characteristics. That is, when a network device receives a packet with which packet characteristics, it needs to encapsulate it according to the forwarding path indicated by the second segment identifier list. and forward the message.
  • the second segment of the identification list may be used to include the sequence of the target service functions required to be used by the data message during the message forwarding process.
  • the second segment identification list may include a first service SID and a second service SID, the second service SID is adjacent to the first service SID, the first service SID is used to indicate the first target service function, and the second service SID is used to indicate the first target service function.
  • the service SID is used to cause the network device to perform the step of determining the first SF SID according to the first service SID.
  • the second segment identification list encapsulated in the SRH extension header of the first data packet may be SRH1, and the SRH1 may be ⁇ S3_1SID, S2_1SID, S1_1SID, S0_1SID ⁇ or ⁇ S3_2SID, S2_2SID, S1_2SID, S0_2SID ⁇ , that is,
  • the service SID can be S3_1SID, S2_1SID, S1_1SID or S0_1SID.
  • the specific forwarding path specified by SRH1 can be determined by the characteristics of the data packet.
  • the service SID in SRH1 can be an identifier of the BSID type.
  • the packet classification rule may be pre-configured by the centralized scheduler in the head node, or may be obtained from the centralized scheduler after the network device receives the second data packet, which is not limited in this application.
  • Case B When the network device is an intermediate node or a tail node, the network device can receive the first data packet sent by the previous node device, where the first data packet includes the second segment identifier list.
  • the second segment identification list also includes a second service SID, where the second service SID is the SID of the network device and is adjacent to the first service SID.
  • the second segment identification list is ⁇ S3_1SID, S2_1SID, S1_1SID, S0_1SID ⁇
  • S3_1SID is the second service SID
  • S2_1SID is the first service SID.
  • S3_1SID is executed first SID
  • S2_1SID is the SID to be executed later.
  • the network device determines that the SID indicated by the segment left (segment left, SL) in the segment identification list is its own service SID or the destination address in the first data message is its own service SID, and then determines that it is related to the service SID.
  • the adjacent first service SID and further determine the first SF SID corresponding to the service SID.
  • the network device determines the first SF SID according to the first service SID.
  • Each second segment of the identification list is pre-set with corresponding index requirements.
  • index requirements of ⁇ S3_1SID, S2_1SID, S1_1SID, S0_1SID ⁇ such as computing power requirements, can be fixed to 100
  • the computing power requirement of S0_2SID ⁇ can be fixed to 400.
  • the head node SC determines the segment identifier list corresponding to the data packet according to the correspondence between the packet characteristics in the packet classification rule, the segment identifier list and the index requirement. For example, according to the packet characteristics and the computing power requirement being 100, the corresponding segment identifier list is determined to be ⁇ S3_1SID, S2_1SID, S1_1SID, S0_1SID ⁇ . In this segment identification list, only Service SIDs that indicate business functions are included, but SF SIDs that explicitly perform specific business functions are not required. The SF SID corresponding to each Service SID is determined by the network device that forwards the packet, which can reduce the computational pressure on the centralized orchestrator.
  • the network device includes the determined segment identifier list in the received data message, and the segment identifier list includes the service SID.
  • the network device can determine the SF SID corresponding to its adjacent service SID according to the second service SID indicated by the segment left (segment left, SL) in the segment identifier list in the first data message.
  • the second service SID indicated by the SL in the message is the service SID of the network device, then the network device determines the adjacent service SID (that is, the first service SID) according to the indication of the second service SID. service SID) such as the SF SID corresponding to the S1SID.
  • the network device may determine the SF SID corresponding to the first service SID corresponding to the index requirement corresponding to the second segment identification list through the first relationship. As shown in the distributed orchestration algorithm shown in Figure 5, the network device determines the computing power requirement ratio between multiple SF SIDs according to the computing power requirements.
  • the orchestration algorithm is performed by the distributed orchestration system of the network device to perform distributed orchestration calculations.
  • the total computing power demand SUM of the first service SID is S, which respectively corresponds to 4 SF SIDs, such as: A1, A2, A3 and A4.
  • the computing power values of A1-A4 are CP 100, CP 200, CP 300, and CP 400, respectively, represented by S1-S4.
  • the network device can determine the computing power ratio between the respective computing power values corresponding to each SF SID according to the sharing item.
  • the sharing item can be Weigth1, Weigth2, Weigth3, and Weigth4, respectively. Then, it can be determined according to satisfying the minimum fitting variance.
  • the network device may determine that the first SF SID corresponding to the first service SID included in the second segment identification list with a computing power requirement of 100 is A1SID, and the second segment identification list with a computing power requirement of 400 includes the first SF SID.
  • the first SF SID corresponding to a service SID is A4SID.
  • the network device Before determining the SF SID corresponding to the first service SID, the network device also obtains the first relationship.
  • the situation in which the network device obtains the first relationship is as follows:
  • the network device may be based on the first relationship corresponding to the first target service function indicated by the first service SID sent by other devices.
  • the first relationship may include multiple SF SIDs and index parameters corresponding to each of the multiple SF SIDs, and the multiple SF SIDs include the first SF SID.
  • the index parameter may include a computing power value or other indicators that identify performance, such as delay, packet loss rate, or throughput, etc., which are not limited in this application, and the computing power value is used as an example in this example.
  • the centralized orchestrator is respectively connected to the head nodes SC, SFF1, SFF2 and TAIL, SFF1 is connected to SF instances A1, A2 and A3, and SFF2 is connected to SF. Instance A4 and SF instance B1 are connected, and TAIL contains the C1 function (not shown in the figure).
  • the centralized orchestrator can directly send service SID, SF SID, and computing power values corresponding to SF SID to SFF1, SFF2, and TAIL.
  • the service SID may include S1SID, S2SID and S3SID
  • the SF SID includes A1SID, A2SID, A3SID, A4SID, B1SID and C1SID
  • the corresponding computing power value CP 100, 200, 300, 400, 500, 1500.
  • the representation of the first relationship of the first service SID may be as shown in Table 3 below.
  • the network device updates the first data packet.
  • the network device may perform an operation of inserting the SRH header corresponding to the second service SID, and encapsulate the above-mentioned first SF SID in the first segment identification list of SRH2 of the first data packet.
  • the head node performs an operation corresponding to the S0_1SID in the second segment identification list with the computing power requirement of 100, that is, inserting the SF SID: A1SID into the SRH2 of the first data packet.
  • the network device sends the first data packet to the first service function device according to the first SF SID.
  • the network device may send the first data message to the first service function device indicated by the first SFSID according to the indication of the first SFSID.
  • the network device Before sending the first data packet, the network device may execute the foregoing step 403, or may not execute the action of updating the first data packet shown in the foregoing step 403. That is, the network device may not update the first SF SID into the first data message, but send the first data message to its corresponding first service function device after determining the first SF SID. That is, the above-mentioned step 403 is an optional step.
  • the network device may also receive the first data packet sent by the first service function device.
  • the first data packet includes the above-mentioned SFSID, and the network device may also perform an operation of stripping the SRH header corresponding to the SFSID to update the first data packet.
  • the device on the path indicated by the second segment identification list included in the first data message determines the final transmission path of the message by determining the corresponding SF SID according to the service SID.
  • the final forwarding route of the message satisfying the feature A and the network index parameter of 100 is shown in the path 61 in FIG. SFF1, A1, SFF2, B1 and TAIL are transmitted; the packet forwarding route that satisfies feature B and the network index parameter is 400 is shown as path 62 in Figure 6, and is transmitted through SC, SFF1, A4, SFF2, B1 and TAIL.
  • the network device determines the first SF SID according to the first service SID in the received first data packet, and the controller does not need to calculate the complete forwarding path of the data packet, thereby reducing the calculation pressure of the service chain.
  • FIG. 2 , FIG. 3 , or FIG. 4 of the embodiment of the present application has been described above, and the network device of the embodiment of the present application is described below.
  • the network device described below has the method shown in FIG. 2 , FIG. Any function of the network device in the method.
  • FIG. 7 is a schematic structural diagram of a network device 700 provided by an embodiment of the present application.
  • the network device 700 includes: an obtaining module 701 for performing step 401, and a determining module 702 for performing step 402, updating
  • the module 703 is used to perform step 403
  • the sending module 704 is used to perform the step 404
  • the first receiving module 705 is used to perform the step of receiving the second data packet before the step 401 and the first IGP before the step 402.
  • the generating module 706 is configured to perform the step of generating the first relationship after the step of receiving the second IGP message and the third IGP message
  • the second receiving Module 707 is configured to perform the step of receiving the first data message before step 401 .
  • the network device 700 corresponds to the network device in the method embodiment shown in FIG. 4 , and the modules in the network device 700 and the other operations and/or functions described above are respectively for realizing all the network devices in the method embodiment shown in FIG. 4 .
  • the modules in the network device 700 and the other operations and/or functions described above are respectively for realizing all the network devices in the method embodiment shown in FIG. 4 .
  • the network device 700 processes packets, only the division of the above-mentioned functional modules is used as an example for illustration. In practical applications, the above-mentioned functions can be allocated by different functional modules as required, that is, the internal structure of the network device 700 is divided into different functional modules. function modules to complete all or part of the functions described above.
  • the network device 700 provided in the above embodiment and the method shown in FIG. 4 above belong to the same concept, and the specific implementation process thereof is detailed in the method shown in FIG. 4 , which will not be repeated here.
  • FIG. 8 is a schematic structural diagram of a network device 800 provided by an embodiment of the present application. As shown in FIG. 8 , the network device 800 includes: a receiving module 801 for performing step 201 , and a generating module 802 for performing step 202 .
  • the network device 800 corresponds to the network device in the method embodiment shown in FIG. 2 above, and the modules in the network device 800 and the other operations and/or functions described above are respectively for realizing all the network devices in the method embodiment shown in FIG. 2 .
  • the specific details may refer to the method shown in FIG. 2 , which will not be repeated here for the sake of brevity.
  • the network device 800 processes packets, only the division of the above-mentioned functional modules is used as an example for illustration. In practical applications, the above-mentioned functions can be allocated by different functional modules according to needs, that is, the internal structure of the network device 800 is divided into different function modules to complete all or part of the functions described above.
  • the network device 800 provided in the above embodiment and the method shown in FIG. 2 above belong to the same concept, and the specific implementation process thereof is detailed in the method shown in FIG. 2 , which is not repeated here.
  • FIG. 9 is a schematic structural diagram of a network device 900 provided by an embodiment of the present application.
  • the network device 900 includes: a generating module 901 for performing step 301 , and a sending module 902 for performing step 302 .
  • the network device 900 corresponds to the network device in the method embodiment shown in FIG. 3 above, and the modules in the network device 900 and the other operations and/or functions described above are respectively to implement the network device in the method embodiment shown in FIG. 3 .
  • the network device 900 processes packets, only the division of the above-mentioned functional modules is used as an example for illustration. In practical applications, the above-mentioned functions can be allocated by different functional modules as required, that is, the internal structure of the network device 900 is divided into different functional modules. function modules to complete all or part of the functions described above.
  • the network device 900 provided in the above embodiment and the method shown in FIG. 3 above belong to the same concept, and the specific implementation process thereof is detailed in the method shown in FIG. 3 , which is not repeated here.
  • the embodiments of the present application further provide a network device, and the hardware structure of the network device is introduced below.
  • the network device 1000 or the network device 1100 described below corresponds to the network device in the above method embodiments, and the hardware, modules and the above-mentioned other operations and/or functions in the network device 1000 or the network device 1100 are respectively for implementing the method embodiments.
  • the steps of the methods disclosed in conjunction with the embodiments of the present application may be directly embodied as executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • the software modules may be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other storage media mature in the art.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware. To avoid repetition, detailed description is omitted here.
  • the network device 1000 or the network device 1100 corresponds to the network device 800, the network device 900 or the network device 1000 in the above virtual appliance embodiment, and each functional module in the network device 800, the network device 900 or the network device 1000 adopts the network device 1000 or Software implementation of network device 1100 .
  • the functional modules included in the network device 800 , the network device 900 or the network device 1000 are generated after the processor of the network device 1000 or the network device 1100 reads the program code stored in the memory.
  • FIG. 10 shows a schematic structural diagram of a network device 1000 provided by an exemplary embodiment of the present application.
  • the network device 1000 may be implemented by a general bus architecture.
  • the network device 1000 includes at least one processor 1001 , a communication bus 1002 , a memory 1003 and at least one communication interface 1004 .
  • the processor 1001 may be a general-purpose CPU, NP, microprocessor, or may be one or more integrated circuits for implementing the solutions of the present application, such as application-specific integrated circuits (ASIC), programmable logic A device (programmable logic device, PLD) or a combination thereof.
  • ASIC application-specific integrated circuits
  • PLD programmable logic A device
  • the above-mentioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general-purpose array logic (generic array logic, GAL) or any combination thereof.
  • the communication bus 1002 is used to transfer information between the aforementioned components.
  • the communication bus 1002 can be divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
  • the memory 1003 can be read-only memory (ROM) or other types of static storage devices that can store static information and instructions, or can be random access memory (RAM) or can store information and instructions. Other types of dynamic storage devices, it can also be electrically erasable programmable read-only memory (electrically erasable programmable read-only memory, EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage , optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), magnetic disk storage medium or other magnetic storage device, or can be used to carry or store desired program code in the form of instructions or data structures and any other medium that can be accessed by a computer, but is not limited thereto.
  • the memory 1003 may exist independently and be connected to the processor 1001 through the communication bus 1002 .
  • the memory 1003 may also be integrated with the processor 1001 .
  • the Communication interface 1004 uses any transceiver-like device for communicating with other devices or a communication network.
  • the communication interface 1004 includes a wired communication interface, and may also include a wireless communication interface.
  • the wired communication interface may be, for example, an Ethernet interface.
  • the Ethernet interface can be an optical interface, an electrical interface or a combination thereof.
  • the wireless communication interface may be a wireless local area network (wireless local area networks, WLAN) interface, a cellular network communication interface or a combination thereof, and the like.
  • the processor 1001 may include one or more CPUs, such as CPU0 and CPU1 as shown in FIG. 10 .
  • the network device 1000 may include multiple processors, such as the processor 1001 and the processor 1005 shown in FIG. 10 .
  • processors can be a single-core processor (single-CPU) or a multi-core processor (multi-CPU).
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • the network device 1000 may further include an output device 1006 and an input device 1007 .
  • the output device 1006 is in communication with the processor 1001 and can display information in a variety of ways.
  • the output device 1006 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, a projector, or the like .
  • the input device 1007 is in communication with the processor 1001 and can receive user input in a variety of ways.
  • the input device 1007 may be a mouse, a keyboard, a touch screen device or a sensing device, or the like.
  • the memory 1003 is used to store the program code 1010 for executing the solutions of the present application, and the processor 1001 can execute the program code 1010 stored in the memory 1003 . That is, the network device 1000 can implement the method shown in FIG. 2 , FIG. 3 or FIG. 4 provided by the method embodiment through the processor 1001 and the program code 1010 in the memory 1003 .
  • the network device 1000 in this embodiment of the present application may correspond to the network device in each of the foregoing method embodiments, and the processor 1001, the communication interface 1004, and the like in the network device 1000 may implement the network devices in the foregoing method embodiments. functions and/or the various steps and methods implemented. For brevity, details are not repeated here.
  • the obtaining module 701 and the sending module 704 in the network device 700 are equivalent to the communication interface 1004 in the network device 1000 ; the determining module 702 and the updating module 703 in the network device 700 may be equivalent to the processor 1001 in the network device 1000 .
  • the receiving module 801 in the network device 800 is equivalent to the communication interface 1004 in the network device 1000; the generating module 802 in the network device 800 may be equivalent to the processor 1001 in the network device 1000.
  • the sending module 902 in the network device 900 is equivalent to the communication interface 1004 in the network device 1000 ; the generating module 901 in the network device 900 may be equivalent to the processor 1001 in the network device 1000 .
  • FIG. 11 shows a schematic structural diagram of a network device 1100 provided by an exemplary embodiment of the present application.
  • the network device 1100 includes a main control board 1110 and an interface board 1130 .
  • the main control board 1110 is also called the main processing unit (main processing unit, MPU) or the route processor card (route processor card).
  • the main control board 1110 is used to control and manage various components in the network device 1100 Management, equipment maintenance, protocol processing functions.
  • the main control board 1110 includes: a central processing unit 1111 and a memory 1112 .
  • the interface board 1130 is also referred to as a line processing unit (LPU), a line card or a service board.
  • the interface board 1130 is used to provide various service interfaces and implement data packet forwarding.
  • the service interface includes, but is not limited to, an Ethernet interface, a POS (Packet over SONET/SDH) interface, etc.
  • the Ethernet interface is, for example, a flexible Ethernet service interface (Flexible Ethernet Clients, FlexE Clients).
  • the interface board 1130 includes: a central processing unit 1131 , a network processor 1132 , a forwarding table entry memory 1134 , and a physical interface card (PIC) 1133 .
  • PIC physical interface card
  • the central processing unit 1131 on the interface board 1130 is used to control and manage the interface board 1130 and communicate with the central processing unit 1111 on the main control board 1110 .
  • the network processor 1132 is used to implement packet forwarding processing.
  • the form of the network processor 1132 may be a forwarding chip.
  • the network processor 1132 is configured to forward the received message based on the forwarding table stored in the forwarding table entry memory 1134, and if the destination address of the message is the address of the network device 1100, the message is sent to the CPU (such as CPU 1111) processing; if the destination address of the packet is not the address of the network device 1100, the next hop and outbound interface corresponding to the destination address are found from the forwarding table according to the destination address, and the packet is forwarded to The outbound interface corresponding to the destination address.
  • the processing of the uplink packet includes: processing the incoming interface of the packet, and searching the forwarding table; processing of the downlink packet: searching the forwarding table, and so on.
  • the physical interface card 1133 is used to realize the interconnection function of the physical layer, the original traffic enters the interface board 1130 through this, and the processed packets are sent from the physical interface card 1133 .
  • the physical interface card 1133 is also called a daughter card, which can be installed on the interface board 1130, and is responsible for converting the photoelectric signal into a message, checking the validity of the message, and forwarding it to the network processor 1132 for processing.
  • the central processing unit may also perform the functions of the network processor 1132 , such as implementing software forwarding based on a general-purpose CPU, so that the network processor 1132 is not required in the physical interface card 1133 .
  • the network device 1100 includes multiple interface boards.
  • the network device 1100 further includes an interface board 1140 .
  • the interface board 1140 includes a central processing unit 1141 , a network processor 1142 , a forwarding table entry storage 1144 and a physical interface card 1143 .
  • the network device 1100 further includes a switch fabric board 1120 .
  • the switch fabric unit 1120 may also be referred to as a switch fabric unit (switch fabric unit, SFU).
  • SFU switch fabric unit
  • the switching network board 1120 is used to complete data exchange between the interface boards.
  • the interface board 1130 and the interface board 1140 can communicate through the switch fabric board 1120 .
  • the main control board 1110 and the interface board 1130 are coupled.
  • the main control board 1110 , the interface board 1130 , the interface board 1140 , and the switch fabric board 1120 are connected to the system backplane through a system bus to implement intercommunication.
  • an inter-process communication (inter-process communication, IPC) channel is established between the main control board 1110 and the interface board 1130, and the main control board 1110 and the interface board 1130 communicate through the IPC channel.
  • IPC inter-process communication
  • the network device 1100 includes a control plane and a forwarding plane
  • the control plane includes the main control board 1110 and the central processing unit 1131
  • the forwarding plane includes various components that perform forwarding, such as the forwarding entry storage 1134, the physical interface card 1133 and the network processing device 1132.
  • the control plane executes functions such as routers, generating forwarding tables, processing signaling and protocol packets, and configuring and maintaining device status.
  • the control plane delivers the generated forwarding tables to the forwarding plane.
  • the network processor 1132 based on the control plane
  • the delivered forwarding table forwards the packets received by the physical interface card 1133 by looking up the table.
  • the forwarding table issued by the control plane may be stored in the forwarding table entry storage 1134 .
  • the control plane and forwarding plane may be completely separate and not on the same device.
  • the obtaining module 701 and the sending module 704 in the network device 700 are equivalent to the physical interface card 1133 in the network device 1100 ; the determining module 702 and the updating module 703 in the network device 700 may be equivalent to the network processor 1132 or the central processing unit 1111 .
  • the receiving module 801 in the network device 800 is equivalent to the physical interface card 1133 in the network device 1100 ; the generating module 802 in the network device 800 may be equivalent to the network processor 1132 or the central processing unit 1111 .
  • the sending module 902 in the network device 900 is equivalent to the physical interface card 1133 in the network device 1100 ; the generating module 901 in the network device 900 may be equivalent to the network processor 1132 or the central processing unit 1111 .
  • the operations on the interface board 1140 in the embodiment of the present application are the same as the operations on the interface board 1130, and are not repeated for brevity.
  • the network device 1100 in this embodiment may correspond to the network device in the foregoing method embodiments, and the main control board 1110 , the interface board 1130 and/or 1140 in the network device 1100 may implement all of the network devices in the foregoing method embodiments. For the sake of brevity, the functions and/or various steps implemented are not repeated here.
  • main control boards there may be one or more main control boards, and when there are multiple main control boards, they may include the main main control board and the backup main control board.
  • a network device may have at least one switching network board, and the switching network board realizes data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of network devices in a distributed architecture are greater than those in a centralized architecture.
  • the form of the network device can also be that there is only one board, that is, there is no switching network board, and the functions of the interface board and the main control board are integrated on this board.
  • the central processing unit on the board can be combined into a central processing unit on this board to perform the functions of the two superimposed, the data exchange and processing capacity of this form of equipment is low (for example, low-end switches or routers and other networks. equipment).
  • the specific architecture used depends on the specific networking deployment scenario, and there is no restriction here.
  • the aforementioned network devices may be implemented as virtualized devices.
  • the virtualization device may be a virtual machine (English: Virtual Machine, VM) running a program for sending a message, and the virtual machine is deployed on a hardware device (for example, a physical server).
  • a virtual machine refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment.
  • Virtual machines can be configured as network devices.
  • a network device can be implemented based on a general-purpose physical server combined with a Network Functions Virtualization (NFV) technology.
  • NFV Network Functions Virtualization
  • Network devices are virtual hosts, virtual routers, or virtual switches.
  • a virtualization device may be a container, which is an entity used to provide an isolated virtualization environment, for example, a container may be a docker container.
  • Containers can be configured as network devices.
  • a network device can be created through the corresponding image.
  • the proxy-container a container that provides proxy services
  • two container instances can be created for the proxy-container, namely the container instance proxy-container1 and the container instance proxy.
  • -container2 provide the container instance proxy-container1 as a network device or computing device, and provide the container instance proxy-container2 as a network device or computing device.
  • network devices When implemented with container technology, network devices can use the kernel of a physical machine to run, and multiple network devices can share the operating system of the physical machine. Different network devices can be isolated through container technology. Containerized network devices can run in a virtualized environment, such as virtual machines, and containerized network devices can also run directly on physical machines.
  • a virtualized device can be a Pod, and a Pod is Kubernetes (Kubernetes is a container orchestration engine open sourced by Google, abbreviated as K8s in English) as the basic unit for deploying, managing, and orchestrating containerized applications.
  • a Pod can contain one or more containers. Each container in the same Pod is usually deployed on the same host, so each container in the same Pod can communicate through the host and can share the host's storage resources and network resources. Pods can be configured as network devices.
  • a container as a service can be instructed to create a Pod and provide the Pod as a network device.
  • the network device may also be other virtualized devices, which will not be listed here.
  • the above-mentioned apparatus may also be implemented by a general-purpose processor.
  • the general purpose processor may be in the form of a chip.
  • a general-purpose processor that implements a network device includes a processing circuit, an input interface and an output interface that are internally connected and communicated with the processing circuit, and the processing circuit is configured to perform the message generation steps in each of the above method embodiments through the input interface, The processing circuit is configured to perform the receiving step in the above method embodiments through the input interface, and the processing circuit is configured to perform the sending step in the above method embodiments through the output interface.
  • the general-purpose processor may further include a storage medium, and the processing circuit is configured to use the storage medium to perform the storage steps in each of the foregoing method embodiments.
  • the storage medium may store instructions executed by the processing circuit, where the processing circuit is configured to execute the instructions stored in the storage medium to perform the above-mentioned various method embodiments.
  • An embodiment of the present application provides a computer program product, which, when the computer program product runs on a network device, enables the network device to execute the method shown in FIG. 2 , FIG. 3 or FIG. 4 in the above method embodiment.
  • the network devices in the above-mentioned various product forms respectively have any functions of the network devices in the above method embodiments, and details are not described herein again.
  • the disclosed systems, devices and methods may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the unit is only a logical function division.
  • there may be other division methods for example, multiple units or components may be combined or Integration into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.
  • the unit described as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit, that is, it may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solutions of the embodiments of the present application.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer-readable storage medium.
  • the technical solutions of the present application are essentially or part of contributions to the prior art, or all or part of the technical solutions can be embodied in the form of software products, and the computer software products are stored in a storage medium , including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program codes .
  • 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 program instructions.
  • the computer program instructions When the computer program instructions are loaded and executed on a computer, the procedures or functions according to the embodiments of the present application are generated in whole or in part.
  • the computer may be a general purpose computer, a special purpose computer, a 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 program instructions may be transmitted from a website site, computer, server or data center via Wired or wireless transmission to another website site, computer, server or data center.
  • 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, data center, or the like that contains one or more available mediums integrated.
  • the available media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, digital video discs (DVDs), or semiconductor media (eg, solid state drives), and the like.

Landscapes

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

Abstract

本申请实施例公开了一种报文转发方法以及网络设备,用于减轻业务链计算压力。本申请实施例方法可以应用于业务链网络中,网络设备根据第一数据报文中的第一业务段标识确定第一业务功能段标识,然后将第一数据报文发送给该第一业务功能段标识对应的第一业务功能设备。

Description

报文转发方法以及网络设备
本申请要求于2020年10月15日提交中国专利局、申请号为202011102972.3、发明名称为“报文转发方法以及网络设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及通信领域,尤其涉及一种报文转发方法以及网络设备。
背景技术
分段路由网络协议第六版(segment routing internet protocol version 6,SRv6)是基于网络协议第六版(internet protocol version 6,IPv6)和段路由(segment routing,SR)的新一代网络协议(internet protocol,IP)承载协议,可以统一传统的复杂网络协议,实现网络协议简化和应用级的服务等级协议(service-level agreement,SLA)保障。
现有的SRv6业务链网络中,集中编排器完成业务链编排,该业务链包括一个或多个具备相同或不同功能的业务功能(service function)模块,并将业务链下发给控制器,控制器下发完整SRv6业务链给业务分类功能(service classifier,SC),该SRv6业务链中包含了业务转发功能(service function forwarder,SFF)等信息。
现有技术中,存在业务链计算压力较大的问题。
发明内容
本申请提供了一种报文转发方法以及网络设备,能够减轻业务链计算压力。
第一方面提供了一种报文转发方法,包括:基于业务链网络,网络设备可以获取其他设备传输或网络设备本身生成的第一数据报文。该第一数据报文包括第一业务段标识service SID。网络设备可以根据上述第一数据报文中的第一service SID,确定该第一service SID所要执行的设备的第一业务功能段标识SF SID。其中,第一SF SID为用于执行第一目标业务功能的第一业务功能设备的标识。网络设备在确定第一SF SID后,可以将该第一数据报文发送到由上述第一SF SID所指示的第一业务功能设备。
网络设备根据接收的第一数据报文中的第一service SID确定第一SF SID,不需要控制器计算数据报文详细的的转发路径,减轻了业务链计算压力。
在一种可能的设计中,网络设备在确定第一SF SID后,可以将该第一SF SID封装在第一数据报文的扩展头中的第一段标识列表中,完成对第一数据报文的更新。
本申请中,网络设备将第一SF SID更新在第一数据报文的第一段标识列表中,使得其他网络设备接收到更新后的第一数据报文后可以即时确定第一SF SID,提高处理速率。
在一种可能的设计中,网络设备为头节点,头节点可以接收来自网络传输的第二数据报文,然后根据该第二数据报文和报文分类规则确定报文转发的第二段标识列表,然后将 该第二段标识列表封装到第二数据报文的扩展头中,用以生成第一数据报文。第一数据报文满足上述报文分类规则,第二段标识列表与该报文分类规则对应,第一数据报文包括所第二段标识列表,第二段标识列表包括第一service SID和第二service SID,第二service SID和第一service SID相邻,第二service SID用于使网络设备执行根据第一service SID确定第一SF SID的步骤。
本申请中网络设备根据接收的第二数据报文和报文分类规则确定第二段标识列表,并生成第一数据报文,提高了方案的可实现性。
在一种可能的设计中,网络设备可以根据该第一数据报文中的第一service SID确定与该第一service SID对应的第一关系。该第一关系可以包括多个SF SID和多个SF SID中每个SF SID对应的指标参数,其中,多个SF SID中包括第一SF SID。即网络设备即可根据上述第二段标识列表对应的指标需求和上述第一关系中的指标参数匹配,用以确定上述第一SF SID。
本申请中,网络设备根据第二段标识列表对应的指标需求,从获得的包括指标参数的第一关系中根据第一service SID确定第一SF SID,由网络设备确定执行service SID对应的业务功能设备,无需控制器集中进行计算详细路径,减轻了业务链计算压力。
在一种可能的设计中,该第一关系可以从网络设备接收的第一内部网关协议(interior gateway protocol,IGP)报文中确定,该第一IGP报文可以由网络设备的其他节点发布。该第一IGP报文可以直接包括该第一service SID和该第一关系。该第一关系也可以是网络设备接收多个SFF节点发送的第二IGP报文和第三IGP报文,该第二IGP报文可以包括上述第一service SID、第一SF SID和第一SF SID对应的第一指标参数,第三IGP报文可以包括上述第一service SID、第四SF SID和第四SF SID对应的第四指标参数,网络设备可以基于该第二IGP报文和第三IGP报文确定上述第一关系。
本申请中,网络设备通过获得其他设备发送的IGP报文的方式获得上述第一关系,减轻了由控制器等设备集中控制的压力。
在一种可能的设计中,网络设备为头节点,可以获得集中编排器发送或预配置的报文分类规则,该报文分类规则可以用于表示第二段标识列表与数据报文特征的关联关系,然后将该报文分类规则发送给头节点。头节点在接收到第二数据报文后,可以确定该第二数据报文的报文特征,以匹配上述报文分类规则所指示的第二段标识列表与数据报文特征的关联关系中的数据报文特征,来确定第二数据报文对应的第二段标识列表。
本申请中,网络设备根据第二数据报文的报文特征从报文分类规则中匹配第二段标识列表,提高了方案的可实现性。
在一种可能的设计中,网络设备为中间节点SFF时,中间节点可以接收头节点发送的第一数据报文,该第一数据报文包括第二service SID。该第二service SID为该中间节点的SID,第二service SID与上述第一service SID相邻,中间节点可以根据该第二service SID的指示确定与该第一service SID对应的第一SF SID。
本申请中,网络设备接收包含包括第二SF SID和第三service SID的第三数据报文,并将该第三数据发送给第二业务功能设备以获得第一数据报文,即网络设备还可以是中间 节点,提高了方案的灵活性。
在一种可能的设计中,第二SF SID和第二SF SID对应的第二指标参数为网络设备的段标识。
本申请中,限定了第二SF SID和第二指标参数是网络设备的段标识,提高了方案的可实现性。
第二方面提供了一种报文转发方法,包括:
基于业务链网络,网络设备可以为头节点或中间节点,该网络设备可以接收其他网络设备例如其他中间节点发布的第一通告报文。第一通告报文包括第一业务段标识service SID、第一业务功能段标识SF SID和与第一SF SID对应的第一指标参数,第一service SID用于指示第一目标业务功能,第一SF SID包括用于执行第一目标业务功能的第一业务功能设备的标识。网络设备接收到第一通告报文后,可以直接提取该第一通告报文中包含的第一service SID、第一SF SID和第一指标参数,并基于第一service SID、第一SF SID和第一指标参数确定该第一service SID对应的第一关系。第一关系用于使网络设备根据段标识列表对应的指标需求与第一指标参数对应确定第一SF SID,段标识列表包括第一service SID,段标识列表与报文分类规则对应。
本申请实施例中网络设备可以根据接收到的第一service SID、第一SF SID和第一指标参数确定第一关系,可以根据第一关系使得网络设备根据段标识列表对应的指标需求与第一指标参数对应确定第一SF SID,提高了编排计算的效率。
在一种可能的设计中,第一关系还包括与第一service SID对应的第二SF SID,以及与第二SF SID对应的第二指标参数,第二SF SID可以为用于执行第一目标业务功能的第二业务功能设备的标识,第一指标参数与第二指标参数不同。
在一种可能的设计中,第一通告报文可以为IGP报文,第一通告报文可以包括中间系统到中间系统ISIS路由协议或开放式最短路径优先OSPF路由协议。
第三方面提供了一种报文转发方法,包括:
基于业务链网络,网络设备为SFF,SFF可以预先接收集中编排器配置的第一业务段标识service SID、第一业务功能段标识SF SID和与第一SF SID对应的第一指标参数,由于集中编排器不支持中间系统到中间系统(intermediate system to intermediate system,ISIS)路由协议或开放式最短路径优先(open shortest path first,OSPF)路由协议,SFF可以对集中编排器发送的第一业务段标识service SID、第一业务功能段标识SF SID和第一指标参数处理为支持ISIS路由协议或OSPF路由协议的第一通告报文。该第一通告报文可以包括第一service SID、第一SF SID和第一指标参数,第一service SID用于指示第一目标业务功能,第一SF SID包括用于执行第一目标业务功能的第一业务功能设备的标识。SFF在确定第一通告报文后,可以通过IGP协议或其他协议将该第一通告报文发布出去,头节点和其他SFF可以接收该第一通告报文。
本申请实施例中网络设备将第一service SID、第一SF SID和第一SF SID对应的指标参数生成第一通告报文发布给其他网络设备,可以提高各个网络设备编排计算报文转发到其他节点的效率。
在一种可能的设计中,第一通告报文还包括第二SF SID和第二SF SID对应的第二指标参数,第二SF SID包括用于执行第一目标业务功能的第二业务功能设备的标识,第一指标参数与第二指标参数不同。
在一种可能的设计中,第一通告报文包括第一SF SID TLV,第一SF SID TLV包括第一SF SID和第一指标参数。
第四方面提供了一种网络设备,包括:获得模块,用于获得第一数据报文,第一数据报文包括第一业务段标识service SID,所述第一service SID用于指示第一目标业务功能;确定模块,用于根据第一service SID确定第一业务功能段标识SF SID,第一service SID用于指示第一目标业务功能,第一SF SID包括执行所述第一目标业务功能的第一业务功能设备的标识;发送模块,用于根据第一SF SID向第一业务功能设备发送第一数据报文。
在一种可能的设计中,网络设备还包括更新模块,用于更新所述第一数据报文,所述第一数据报文包括第一段标识列表,所述第一段标识列表包括所述第一SF SID。
在一种可能的设计中,网络设备还包括第一接收模块,第一接收模块用于接收第二数据报文;获得模块具体用于:根据第二数据报文与报文分类规则确定第二段标识列表,第一数据报文满足报文分类规则,第二段标识列表与报文分类规则对应;根据第二数据报文生成第一数据报文,第一数据报文包括第二段标识列表,第二段标识列表包括第一service SID和第二service SID,第二service SID和第一service SID相邻,第二service SID用于使所述网络设备执行所述网络设备根据所述第一service SID确定第一SF SID的步骤。
在一种可能的设计中,确定模块具体用于:获得与第二service SID对应的第一关系,第一关系包括多个SF SID和多个SF SID中每个SF SID对应的指标参数,多个SF SID中包括第一SF SID;根据第二段标识列表对应的指标需求和第一关系确定第一SF SID。
在一种可能的设计中,网络设备还包括生成模块,第一接收模块还用于:接收第一内部网关协议IGP报文,第一IGP报文包括第一service SID和第一关系;或,接收第二IGP报文和第三IGP报文,第二IGP报文包括第一service SID、第一SF SID和第一SF SID对应的第一指标参数,第三IGP报文包括第一service SID、第四SF SID和第四SF SID对应的第四指标参数;生成模块,用于根据第二IGP报文和第三IGP报文生成第一关系。
在一种可能的设计中,第一接收模块还用于:接收集中编排器发送的报文分类规则,报文分类规则包括数据报文特征和第二段标识列表的关联关系;确定模块,还用于根据第二数据报文的报文特征匹配数据报文特征确定第二段标识列表。
在一种可能的设计中,网络设备还包括第二接收模块,第二接收模块,用于接收第一数据报文,所述第一数据报文包括第二service SID,所述第二service SID为所述网络设备的SID,所述第二service SID与所述第一service SID相邻;所述确定模块还用于,根据所述第二service SID的指示确定与所述第一service SID对应的所述第一SF SID。
第五方面提供了一种网络设备,包括:接收模块,用于接收第一通告报文,第一通告报文包括第一service SID、多个SF SID和多个SF SID中每个SF SID对应的指数参数;生成模块,用于根据第一service SID、第一SF SID和第一指标参数生成第一关系,第一关系用于使网络设备根据段标识列表对应的指标需求与第一指标参数对应确定第一SF  SID,段标识列表包括第一service SID,段标识列表与报文分类规则对应。
在一种可能的设计中,第一关系还包括与第一service SID对应的第二SF SID,以及与第二SF SID对应的第二指标参数,第二SF SID包括用于执行第一目标业务功能的第二业务功能设备的标识,第一指标参数与第二指标参数不同。
在一种可能的设计中,通告报文为IGP报文,第一通告报文包括中间系统到中间系统ISIS路由协议或开放式最短路径优先OSPF路由协议。
第六方面提供了一种网络设备,包括:生成模块,用于根据第一service SID、第一SF SID和第一SF SID对应的指标参数生成第一通告报文,第一通告报文包括第一service SID、第一SF SID和第一SF SID对应的指标参数,第一service SID、第一SF SID和第一SF SID对应的指标参数用于指示第一关系,第一关系用于根据第二段标识列表的指标需求确定第一SF SID,第一service SID用于指示第一目标业务功能,第一SF SID包括执行第一目标业务功能的第一业务功能设备的标识,第二段标识列表包括第一service SID;发布模块,用于发布第一通告报文。
在一种可能的设计中,第一通告报文还包括第二SF SID和第二SF SID对应的第二指标参数,第二SF SID包括用于执行第一目标业务功能的第二业务功能设备的标识,第一指标参数与第二指标参数不同。
在一种可能的设计中,第一通告报文包括第一SF SID TLV,第一SF SID TLV包括第一SF SID、第一指标参数和状态status,status用于指示第一SF SID对应的第一目标业务功能是否可用。
第七方面提供了一种网络设备,包括:处理器、存储器、以及通信接口,该处理器用于执行该存储器中存储的指令,使得网络设备执行上述第一方面或第一方面任一种可选方式所提供的方法,该通信接口用于接收或发送报文。第七方面提供的网络设备的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
第八方面提供了一种网络设备,包括:处理器、存储器、以及通信接口,所述处理器用于执行所述存储器中存储的指令,使得所述网络设备上述第二方面或第二方面任一种可选方式所提供的方法,该通信接口用于接收或发送报文。第八方面提供的网络设备的具体细节可参见上述第二方面或第二方面任一种可选方式,此处不再赘述。
第九方面提供了一种网络设备,包括:处理器、存储器、以及通信接口,所述处理器用于执行所述存储器中存储的指令,使得所述网络设备执行上述第三方面或第三方面任一种可选方式所提供的方法,该通信接口用于接收或发送报文。第九方面提供的网络设备的具体细节可参见上述第三方面或第三方面任一种可选方式,此处不再赘述。
第十方面提供了一种计算机可读存储介质,该计算机可读存储介质中保存有程序,当该计算机执行程序时,执行前述第一方面或第一方面任一种可选方式提供的方法。
第十一方面提供了一种计算机可读存储介质,该计算机可读存储介质中保存有程序,当该计算机执行程序时,执行前述第二方面或第二方面任一种可选方式提供的方法。
第十二方面提供了一种计算机可读存储介质,该计算机可读存储介质中保存有程序,当该计算机执行程序时,执行前述第三方面或第三方面任一种可选方式提供的方法。
第十三方面提供了一种计算机程序产品,当该计算机程序产品在计算机上执行时,该计算机执行前述第一方面或第一方面任一种可选方式提供的方法。
第十四方面提供了一种计算机程序产品,当该计算机程序产品在计算机上执行时,该计算机执行前述第二方面或第二方面任一种可选方式提供的方法。
第十五方面提供了一种计算机程序产品,当该计算机程序产品在计算机上执行时,该计算机执行前述第三方面或第三方面任一种可选方式提供的方法。
第十六方面提供了一种芯片,当该芯片在设备上运行时,使得设备执行前述第一方面或第一方面任一种可选方式提供的方法。
第十七方面提供了一种芯片,当该芯片在设备上运行时,使得设备执行前述第二方面或第二方面任一种可选方式提供的方法。
第十八方面提供了一种芯片,当该芯片在设备上运行时,使得设备执行前述第三方面或第三方面任一种可选方式提供的方法。
第十九方面提供了一种网络系统,该网络系统包括前述第四方面至第六方面提供的网络设备。
附图说明
图1为本申请实施例提供的SRv6业务链网络的系统框架图;
图2为本申请实施例提供的一种报文转发方法示意图;
图3为本申请实施例提供的另一种报文转发方法示意图;
图4为本申请实施例提供的另一种报文转发方法示意图;
图5为本申请实施例提供的分布编排算法示意图;
图6为本申请实施例提供的管理面示意图;
图7为本申请实施例提供的一种网络设备700的结构示意图;
图8为本申请实施例提供的一种网络设备800的结构示意图;
图9为本申请实施例提供的一种网络设备900的结构示意图;
图10为本申请实施例提供的一种网络设备1000的结构示意图;
图11为本申请实施例提供的一种网络设备1100的结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步 骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例提供了一种报文转发方法以及网络设备,用于减轻业务链计算压力。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
分段路由(Segment Routing,SR):是基于源路由的理念而设计的在网络中转发数据包的一种协议。SR将网络路径划分为一个个段,并且为这些段和网络节点分配分段标识(Segment ID,SID),通过对SID进行有序排列,可以得到SID列表(SID List,在SR-MPLS中也称标签栈),SID List可以指示一条转发路径。通过SR技术,可以指定携带了SID List的数据包经过的节点以及路径,从而满足流量调优的要求。做一个类比,数据包可以比作行李,SR可以比作行李上贴的标签,如果要将行李从A地区发送到D地区,途径B地区和C地区,则可以在始发地A地区给行李贴上一个标签“先到B地区,再到C地区,最后到D地区”,这样一来,各个地区只需识别行李上的标签,依据行李的标签将行李从一个地区转发至另一个地区即可。在SR技术中,源节点会向数据包添加标签,中间节点可以根据标签转发至下一个节点,直至数据包到达目的节点。例如在数据包的包头中,插入<SID1,SID2,SID3>,则数据包packet会首先转发给SID1对应的节点,之后转发给SID2对应的节点,之后转发给SID3对应的节点。其中,SR-MPLS的中英文全称为分段路由多协议标签交换(Segment Routing Multi-Protocol Label Switching)。
基于互联网协议第6版(Internet Protocol Version 6,IPv6)的分段路由(SRv6):是指将SR技术应用在IPv6网络中。使用IPv6地址(128bits)作为SID的表现形式。在转发数据包时,支持SRv6的网络设备会按照数据包中的目的地址((Destination Address,DA),查询本地段标识表(local SID table),当数据包的目的地址与本地段标识表中的任一SID最长匹配时,则按照本地段标识表中的SID相关的策略,执行该策略对应的操作,例如,可以将数据包从SID对应的出接口转发出去);如果数据包的目的地址与本地段标识表中的每个SID均不最长匹配,则再查IPv6的转发表,按照IPv6的转发表进行最长匹配转发。
SRv6网络中的不同节点之间可以通过互联网协议(internet protocol,IP)地址层链路相连。对于任一节点来说,该节点可以发布至少一个端点三层交叉连接段标识(End.X SID,End表示endpoint,意为端点;X表示crossing,意为三层交叉连接,SID意为段标识),每个End.X SID用于标识该节点直连的一条IP层链路,网络中的其他节点通过收发彼此发布的End.X SID,可以确定网络中每条IP层的链路对应的SID。当数据包进入SRv6网络时,头节点会接收到数据包,确定数据包的转发路径之后,在一种可能的实现中,头节点可以根据转发路径需要经过的每条IP层链路,获取每条IP层的链路对应的End.X SID,将得到的End.X SID写入到数据包,再将携带了End.X SID的数据包发送至下一节点。当任一节点接收到数据包时,节点会解析该数据包,得到数据包携带的End.X SID,将数据包从End.X SID绑定的IP层出接口发送出去,则数据包会通过该IP层出接口对应的IP层链路,到达下一节点,下一节点会通过执行类似的步骤,继续转发数据包,直至数据包到达目的节点。在另一种可能的实现中,头节点可以根据转发路径需要经过的每个 节点,获取每个节点对应的端点段标识(End SID,End表示endpoint,意为端点,SID意为段标识),将得到的End SID写入到数据包,再将携带了End SID的数据包发送至下一节点。当任一节点接收到数据包时,该节点会解析该数据包,得到数据包携带的End SID,向End SID对应的节点发送数据包,则数据包会到达该End SID对应的节点,以此类推,每个节点通过执行类似的步骤,继续转发数据包,直至数据包到达目的节点。需要说明的是,上述的END.X或END构成的SID list可以仅指明路径上的部分节点,而不是全部的节点。另外,也可以混合使用END.X和END,以及其他的SRv6Functions。
分段路由头(Segment Routing Header,SRH):IPv6报文是由IPv6标准头+扩展头(0...n)+负载Payload组成。为了基于IPv6转发平面实现SRv6,新增加一种IPv6扩展头,称作SRH扩展头,该扩展头指定一个IPv6的显式路径,存储的是IPv6的Segment List信息,其作用与SR MPLS里的Segment List一样。头节点在IPv6报文增加一个SRH扩展头,中间节点就可以按照SRH扩展头里包含的路径信息转发。
绑定的SID(Binding SID,BSID):BSID会绑定到一个SID list上。当节点获得一个合法的BSID时,会执行BSID相关的操作。在SR-MPLS中,BSID相关的操作可以为:将BSID弹出,压入相应的SID List。在SRv6中,BSID相关的操作可以为:根据BSID函数的不同,插入一个新的SRH头(End.B6.Insert),或者是插入一个新的包含SRH的外层IPv6头(End.B6.Encaps)。
头节点(Head Node):SR转发路径的起始节点,负责封装段标识。
以下,示例性介绍本申请的应用场景。如图1所示的SRv6业务链网络的系统框架,该系统框架包括:业务链(service function chain,SFC)协同层(orchestrator)、SFC控制层(controller)、流分类器(service classifier,SC)、业务链尾端设备(post service,PS)、业务转发功能节点(service function forwarder,SFF)、业务功能节点(service function,SF)和业务节点(service node,SN)。在相关技术中,SFC orchestrator通过SFC controller向SC下发完整SRv6业务链路径,SC基于该业务链路径的路径信息封装数据报文发送给SFF,SFF从该封装的数据报文中确定该报文对应的SF后,将该数据报文发送给SF,SF从SFF接收数据报文并提供对应的业务功能,再将数据报文回传到SFF,SFF再将该数据报文发送给下一个SF、SFF或PS。
业务链协同层主要完成提供业务链服务所需的基础资源预置,包括SC、SFF和SN的预置及基础配置,SF与SFF的网络连接协同以及SF的业务策略配置等功能,为业务链特性的统一入口。
业务链控制层还提供业务链特性的网络控制功能,包括业务链所需要的叠加层(Overlay)网络管理及业务链路径计算和流表下发等功能。同时,业务链控制层还可以提供接口与云管理平台或协同层对接,也可以通过网络配置协议(the network configuration protocol,NetConf)等接口与SC/SFF/PS对接。
SC从非SFC网络接收数据报文,并基于安全复制(secure copy,SCP)协议对数据报文进行流分类,匹配到业务链路径后再对数据报文进行封装,并转发给首跳SFF,SC与SFF可以合一部署。
PS为数据报文经过业务链路径之后要到达的业务链的目的设备,PS与SFF可以合一部署。
SFF负责将由SC引入业务链的数据报文沿预先定义的业务链路径转发,并在业务链尾端将数据报文转发给PS,即作为未识别的(unaware)类型SF的代理对数据报文进行解封装和封装并更新头部信息,SFF可以为多个,本框架图以2个为例,即以SFF1和SFF2为例,业务链的数据报文由SC引入SFF1,由SFF2转发给PS。
业务功能节点中的SF实例通常为虚拟资源,比如一个虚拟系统(virtual system,VSYS)实例从SFF接收数据报文并提供相应的业务功能,如应用业务策略,再将数据报文发送回SFF,示例性的,SF实例可以为SF1-SF8,SFF1可以在SF1-SF4实例应用业务功能,SFF2可以在SF5-SF8实例应用业务功能。
SN作为SF容器,可以是物理网络功能(physical network function,PNF)或虚拟网络功能(virtual network function,VNF)网络业务设备,SN包括单SF实例或多SF实例模式工作,示例性的,本框架图可以SN可以为SN1-SN4,SN1包括SF1和SF2,SN2包括SF3和SF4,SN3包括SF5和SF6,SN4包括SF7和SF8。
图1所示的SRv6业务链网络的系统框架图中,SC为头节点,PS为尾节点,头节点和尾节点之间可以建立至少一条路径。对于头节点与尾节点之间的任一条路径,在该路径上位于头节点和尾节点之间还包括至少一个其他节点,为了便于说明称位于头节点和尾节点之间的其他节点为中间节点。例如,如图1所示的路径11是头节点SC和尾节点PS之间的路径,在路径11上位于头节点和尾节点之间还包括SFF1和SFF2,即SFF1和SFF2为该路径11上的中间节点。业务链的数据报文转发过程中可以通过SFF1将该数据报文转发到SF4,由SF4提供对应的业务功能,还可以通过SFF2将该数据报文转发到SF5,由SF5提供对应的业务功能。
应用于上述SRv6的系统框架,下面对相关技术中的报文转发方法进行描述:
在相关技术中,业务链主要应用于数据中心,随着数据中心海量虚机突发迁移需求的增长,很多基于用户业务的系统和平台(例如防火墙或负载均衡器等)都与网络拓扑紧密相关的,需要根据报文路径部署,数据中心通过业务链的方式来实现业务的灵活串接以及虚拟网络和物理网络的解耦。现有的业务链网络中,集中编排器完成业务链编排和下发控制器,控制器下发完整SRv6业务链路径给SC,业务链中包含了指示SFF/SF物理位置的SID。由于网络中的业务链、SF等较多,由集中编排器集中对业务链路径进行计算或编排的方案对集中编排器的算力要求较高。当SFF故障或SF迁移时,集中编排器需要重新计算并下发业务链路径,重新计算和下发需要占用额外的时间。
为了解决上述问题,本申请实施例提供了一种报文转发方法,该方法如下所述:
下面分别从控制面流程和转发面流程的角度分别介绍本申请实施例提供的报文转发的过程。
本申请实施例的控制面流程中,网络设备既包括接收通告报文的情况,也发送通告报文的情况。
以下,结合图2介绍本申请实施例提供的一种报文处理方法,本方法主要介绍网络设 备发送通告报文的情况,该方法包括如下步骤:
201、网络设备根据第一service SID、第一SF SID和第一SF SID对应的第一指标参数生成第一通告报文。
上述网络设备可以为中间节点SFF,也可以为头节点或者尾节点,本申请实施例对此不做限定。网络设备可以接收第一service SID、SF SID和第一指标参数可以是由集中编排器发送的,也可以是提前在网络设备中预先配置的。网络设备可以在获得上述第一service SID,第一SF SID和第一SF SID对应的指标参数后,即生成第一通告报文。在一个示例中,该通告报文可以为IGP报文,如:中间系统到中间系统(intermediate system to intermediate system,ISIS)报文或开放式最短路径优先(open shortest path first,OSPF)报文。上述第一service SID用于指示数据报文转发所需执行的第一目标业务功能,第一SF SID可以作为执行该第一目标业务功能的第一业务功能设备的标识。
可选的,网络设备还可以获得与第一Service SID对应的第二SF SID和第二SF SID对应的第二指标参数,并在上述第一通告报文中携带第二SF SID和第二SF SID对应的指标参数。该第二SF SID为执行第一目标业务功能的第二业务功能设备的标识。可选的,第一指标参数与第二指标参数的参数数值不同。该指标参数可以包括算力值或其他标识性能的指标,例如时延、丢包率或吞吐量等,本申请对此不作限定。
在一个示例中,第一通告报文包括service SID类型-长度-值(tag-length-value,TLV),该service SID TLV包括第一service SID,示例性的,该service SID TLV为本实施例对IGP协议的扩展实现,service SID TLV可以如表1所示。
表1
Figure PCTCN2021123672-appb-000001
其中,类型(Type):用于表示该TLV为Service SID类型。
长度(Length):定义Service SID TLV长度。
算法(Algorithm):遵循IGP定义的算法类型。
标志(Flags):1八位组(octet)。
端点行为(Endpoint Behavior):类型为End.B6.INTERT,表示绑定标签插入新的SRH方式。
业务段标识(Service SID):16octets,携带的service SID的具体值。
下级(Sub-sub)-TLV-length:定义sub-sub-TLVs长度。
Sub-sub-TLVs:定义Service网络代理(Proxy)SID Sub-sub-TLV,可包含多个。
第一通告报文还包括SF SID TLV,该SF SID TLV包括第一SF SID、第一SF SID对应的指标参数。可选的,该第一通告报文还包括第一SF SID对应的状态(status),status用于指示第一SF SID对应的第一目标业务功能是否可用,该第一SF SID TLV为本实施例对IGP协议的扩展实现,第一SF SID TLV可以如表2所示。
表2
Figure PCTCN2021123672-appb-000002
其中,Type:用于表示该TLV为业务属性(Service Attribute)新类型。
Length:用于定义Service Proxy SID Sub-sub-TLV长度。
算力值(ComputePower value):标识SF SID对应的指标参数,在本示例中,该指标参数的具体内容为算力值。
Flags:1八位组(octet)。
Endpoint Behavior:中间节点为End.AS或End.AD,表示静态或动态代理方式,尾(TAIL)节点为新定义的END.CT类型,执行剥离SRH头的操作。
Status:标识SF指标参数状态,有可用和不可用两种状态。
SF SID:标识SF SID。
功能标识对应的指标参数只在SF SID Sub-sub-TLV携带,而不在Service SID Sub-TLV携带,可以避免本地SFF选择下一跳SFF的代理SF SID时,如果按Service SID的指标参数选路,无法体现出代理SF SID指标参数权重,导致SF负荷不均。
202、网络设备发布第一通告报文。
网络设备在生成第一通告报文后,可以通过将该第一通告报文发布出去,使得网络中的其他设备头节点可以接收该第一通告报文。
特别的,当网络设备为头节点时,头节点也可以不发布其获得的第一Service SID、第一SF SID和第一指标参数。
以下,结合图3介绍本申请实施例提供的另一种报文处理方法,本方法主要介绍网络设备接收通告报文的情况,该方法包括如下步骤:
301、网络设备接收第一通告报文。
本实施例中,网络设备可以接收如图2所示的报文转发方法中的网络设备发送的第一通告报文,该第一通告报文包括第一service SID、第一SF SID和第一SF SID对应的第一指标参数。
302、网络设备根据第一service SID、第一SF SID和第一指标参数生成第一关系。
网络设备接收到第一通告报文后,可以直接提取该第一通告报文中包含的第一service SID、第一SF SID和第一指标参数,然后生成包含第一service SID、第一SF SID和第一指标参数的第一关系。
可选的,上述第一关系可以是网络设备预先生成并保存的,也可以是在数据报文转发过程中生成,本申请对此不作限定。
可选的,该第一关系中还包括第二SF SID和第二指标参数。
在一个示例中,该通告报文中还包括上述第二SF SID和与第二SF SID对应的第二指标参数。
在另一个示例中,网络设备可以接收多个通告报文,该多个通告报文可以包括第二IGP报文和第三IGP报文,则网络设备可以基于接收的第一通告报文中的第一service SID、第一SF SID和第一SF SID对应的指标参数,以及第二通告报文中的与该第一service SID对应的第二SF SID,以及与第二SF SID对应的第二指标参数,来生成第一关系。该第二SF SID为执行第一目标业务功能的第二业务功能设备的标识,第一指标参数与第二指标参数的参数数值不同。
本申请实施例的转发面流程中,结合图4介绍本申请实施例提供的另一种报文处理方法,该方法包括如下步骤:
401、网络设备获得第一数据报文。
本实施例中,在SRv6业务链网络中,网络设备可以为上述的头节点、中间节点或尾节点,即本方案可以分成如下两种情况阐述。
情况A:当网络设备为头节点时,头节点可以接收来自网络传输的第二数据报文,并基于获得的报文分类规则,根据第二数据报文的报文特征匹配数据报文特征确定第二段标识列表。然后头节点可以将该第二段标识列表封装到第二数据报文的SRH扩展头中,以生成包括第二段标识列表的第一数据报文,网络设备即可获得该第一数据报文。
该报文分类规则可以是由集中编排器发送的也可以是在网络设备中配置的。报文分类规则用于表示第二段标识列表与数据报文特征的关联关系,即,网络设备在接收到具备哪些报文特征的报文时,需要按照第二段标识列表指示的转发路径封装并转发报文。第二段标识列表可以用来包括报文转发过程中数据报文所需使用的目标业务功能的顺序。在一个示例中,该第二段标识列表可以包括第一service SID和第二service SID,第二service SID和第一service SID相邻,第一service SID用于指示第一目标业务功能,第二service SID用于使网络设备执行根据第一service SID确定第一SF SID的步骤。示例性的,第二段标识列表封装在第一数据报文的SRH扩展头中可以为SRH1,该SRH1可以为{S3_1SID,S2_1SID,S1_1SID,S0_1SID}或{S3_2SID,S2_2SID,S1_2SID,S0_2SID},即service SID可以为S3_1SID,S2_1SID,S1_1SID或S0_1SID,具体的SRH1指定的转发路径可以由数据报文特征确定,SRH1中的service SID可以为BSID类型的标识。
可选的,该报文分类规则可以是集中编排器预先配置在头节点中,也可以是网络设备接收到第二数据报文后从集中编排器获取的,本申请对此不作限定。
情况B:当网络设备为中间节点或尾节点时,网络设备可以接收其上一节点设备发送的第一数据报文,该第一数据报文包括第二段标识列表。
第二段标识列表中还包括第二service SID,该第二service SID为网络设备的SID,且与第一serivce SID相邻。在一个示例中,当第二段标识列表为{S3_1SID,S2_1SID,S1_1SID,S0_1SID}时,可以认为S3_1SID为第二service SID,S2_1SID为第一service SID,在顺序上,可以认为S3_1SID为先被执行的SID,而S2_1SID为后被执行的SID。
则网络设备在确定段标识列表中的段剩余(segment left,SL)指示的SID为自己的service SID或该第一数据报文中的目的地址为自己的service SID后,确定与该service  SID相邻的第一service SID,进一步确定与该service SID对应的第一SF SID。
402、网络设备根据第一service SID确定第一SF SID。
每个第二段标识列表都预先设置好对应的指标需求,示例性的,上述的{S3_1SID,S2_1SID,S1_1SID,S0_1SID}的指标需求例如算力需求可以固定设置为100,{S3_2SID,S2_2SID,S1_2SID,S0_2SID}的算力需求可以固定设置为400。
基于上述情况A,头节点SC接收到的数据报文可以有多种,即数据报文的转发路径可以有多种。在一个示例中,头节点接收到报文后,根据报文分类规则中的报文特征与段标识列表和指标需求的对应关系,确定该数据报文对应的段标识列表。如,根据报文特征和算力需求为100,确定对应的段标识列表为{S3_1SID,S2_1SID,S1_1SID,S0_1SID}。在这个段标识列表中,仅包括了指示业务功能的Service SID,但并不需要明确执行具体业务功能的SF SID。每个Service SID对应的SF SID,由转发该报文的网络设备来确定,可以减少集中编排器的算路压力。
基于上述情况B,网络设备在接收到的数据报文中即包括了确定的段标识列表,该段标识列表包括service SID。
综合以上两种情况,网络设备可以根据第一数据报文中,段标识列表中的段剩余(segment left,SL)指示的第二service SID来确定与其相邻的service SID对应的SF SID。在一个示例中,该报文中的SL指示的第二service SID为该网络设备的service SID,则网络设备根据该第二service SID的指示,执行确定与其相邻的service SID(即,第一service SID)如S1SID对应的SF SID。
网络设备可以通过第一关系来确定与第二段标识列表对应的指标需求对应的第一service SID对应的SF SID。如图5所示的分布编排算法,网络设备根据算力需求确定多个SF SID之间的算力需求比,在一个示例中,该编排算法由网络设备的分布编排系统来进行分布编排计算。示例性的,可以假定第一service SID的总算力需求SUM为S,其分别对应4个SF SID,如:A1、A2、A3和A4。假设A1-A4的算力值分别CP 100,CP 200,CP 300,CP 400,用S1-S4表示。则网络设备可以根据分担项确定各个SF SID对应的各个算力值之间的算力比,示例性的,该分担项可以分别为Weigth1、Weigth2、Weigth3和Weigth4,则可以根据满足拟合方差最小来确定对应的SF SID:S1/S<->Weigth1、S2/S<->Weigth2、S3/S<->Weigth3、S4/S<->Weigth4。对于第二段标识列表中携带的第一service SID,可以依次尝试A1-A4各路径类似如上计算,选择拟合方差最小的SF SID为第一SF SID。在一个示例中,即网络设备可以确定算力需求为100的第二段标识列表包括的第一service SID对应的第一SF SID为A1SID,算力需求为400的第二段标识列表包括的第一service SID对应的第一SF SID为A4SID。
网络设备在确定第一service SID对应的SF SID之前,还先获得第一关系。网络设备获得第一关系的情况如下所示:
网络设备可以根据其他设备发送的第一service SID指示的第一目标业务功能对应的第一关系。该第一关系可以包括多个SF SID和多个SF SID中每个SF SID对应的指标参数,多个SF SID中包括第一SF SID。
网络设备获得第一关系的方法详细可参考上述图3所示的方法实施例中的详细描述,本申请在此不再赘述。
下面,示例性介绍网络设备获得的第一关系。指标参数可以包括算力值或其他标识性能的指标,例如时延、丢包率或吞吐量等,本申请对此不作限定,本示例以算力值为例。
示例性的,如图6所示的本申请实施例提供的管理面示意图,集中编排器分别与头节点SC、SFF1、SFF2和TAIL相连,SFF1与SF实例A1、A2和A3相连,SFF2与SF实例A4以及SF实例B1相连,TAIL则包含C1功能(图中未示出)。集中编排器可以直接向SFF1、SFF2和TAIL发送service SID、SF SID和SF SID对应的算力值。
示例性的,service SID可以包括S1SID、S2SID和S3SID,SF SID包括A1SID、A2SID、A3SID、A4SID、B1SID和C1SID,以及相应的算力值CP:100、200、300、400、500、1500。以第一service SID为S1SID为例,第一service SID的第一关系的表示可以如下表3所示。
表3
Figure PCTCN2021123672-appb-000003
403、网络设备更新第一数据报文。
网络设备在确定第一SF SID后,可以执行第二service SID对应的插入SRH头的操作,将上述第一SF SID封装在第一数据报文的SRH2的第一段标识列表中。示例性的,头节点执行算力需求为100的第二段标识列表中的S0_1SID对应的操作,即将SF SID:A1SID插入到第一数据报文的SRH2中。
404、网络设备根据第一SF SID向第一业务功能设备发送第一数据报文。
网络设备在根据第一service SID确定第一SF SID后,可以根据第一SF SID的指示,向第一SF SID指示的第一业务功能设备发送该第一数据报文。
网络设备在发送第一数据报文之前,可以执行上述步骤403,也可以不执行上述步骤403所示的更新第一数据报文的动作。即,网络设备也可以不将第一SF SID更新到第一数据报文中,而是在确定第一SF SID后即向其对应的第一业务功能设备发送该第一数据报文。即,上述步骤403为可选步骤。
网络设备在向第一业务功能设备发送该第一数据报文后,还可以接收第一业务功能设备发送的第一数据报文。在一个示例中,该第一数据报文包括上述SF SID,则网络设备还可以执行该SF SID对应的剥离SRH头的操作,更新第一数据报文。
如此,在第一数据报文包括的第二段标识列表指示的路径上的设备,根据service SID确定对应的SF SID的方式,确定该报文的最终传输路径。
示例性的,经过网络设备中的各设备的根据service SID确定对应的SF的方法,满足特征A以及网络指标参数为100的报文的最终转发路线如图6中路径61所示,经SC、SFF1、 A1、SFF2、B1和TAIL传输;满足特征B以及网络指标参数为400的报文转发路线如图6中路径62所示,经SC、SFF1、A4、SFF2、B1和TAIL传输。
网络设备根据接收的第一数据报文中的第一service SID确定第一SF SID,不需要控制器计算数据报文完整的转发路径,减轻了业务链计算压力。
进一步的,通过一种分布编排SF实例的SRv6业务链方法,在满足按用户信息分担SF实例同时,降低SRv6业务链集中编排复杂度。
以上介绍了本申请实施例的图2、图3或图4所示的方法,以下介绍本申请实施例的网络设备,以下分别介绍的网络设备具有上述图2、图3或图4所示的方法中网络设备的任意功能。
图7是本申请实施例提供的一种网络设备700的结构示意图,如图7所示,网络设备700包括:获得模块701,用于执行步骤401,确定模块702,用于执行步骤402,更新模块703,用于执行步骤403,发送模块704,用于执行步骤404,第一接收模块705,用于在步骤401之前执行接收第二数据报文的步骤和在步骤402之前执行接收第一IGP报文或接收第二IGP报文和第三IGP报文的步骤,生成模块706,用于在接收第二IGP报文和第三IGP报文步骤之后执行生成第一关系的步骤,第二接收模块707,用于在步骤401之前执行接收第一数据报文的步骤。
网络设备700对应于上述图4所示的方法实施例中的网络设备,网络设备700中的各模块和上述其他操作和/或功能分别为了实现图4所示的方法实施例中的网络设备所实施的各种步骤和方法,具体细节可参见上述图4所示的方法,为了简洁,在此不再赘述。
网络设备700在处理报文时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将网络设备700的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络设备700与上述图4所示的方法属于同一构思,其具体实现过程详见图4所示的方法,这里不再赘述。
图8是本申请实施例提供的一种网络设备800的结构示意图,如图8所示,网络设备800包括:接收模块801,用于执行步骤201,生成模块802,用于执行步骤202。
网络设备800对应于上述图2所示的方法实施例中的网络设备,网络设备800中的各模块和上述其他操作和/或功能分别为了实现图2所示的方法实施例中的网络设备所实施的各种步骤和方法,具体细节可参见上述图2所示的方法,为了简洁,在此不再赘述。
网络设备800在处理报文时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将网络设备800的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络设备800与上述图2所示的方法属于同一构思,其具体实现过程详见图2所示的方法,这里不再赘述。
图9是本申请实施例提供的一种网络设备900的结构示意图,如图9所示,网络设备900包括:生成模块901,用于执行步骤301,发送模块902,用于执行步骤302。
网络设备900对应于上述图3所示的方法实施例中的网络设备,网络设备900中的各 模块和上述其他操作和/或功能分别为了实现图3所示的方法实施例中的网络设备所实施的各种步骤和方法,具体细节可参见上述图3所示的方法,为了简洁,在此不再赘述。
网络设备900在处理报文时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将网络设备900的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络设备900与上述图3所示的方法属于同一构思,其具体实现过程详见图3所示的方法,这里不再赘述。
与本申请提供的方法实施例以及虚拟装置实施例相对应,本申请实施例还提供了一种网络设备,下面对网络设备的硬件结构进行介绍。
下面描述的网络设备1000或网络设备1100对应于上述方法实施例中的网络设备,网络设备1000或网络设备1100中的各硬件、模块和上述其他操作和/或功能分别为了实现方法实施例中的网络设备1000或网络设备1100所实施的各种步骤和方法,关于网络设备1000或网络设备1100如何基于IPv6实现微分段的详细流程,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。其中,上述图2、图3或图4所示的方法的各步骤通过网络设备1000或网络设备1100处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
网络设备1000或网络设备1100对应于上述虚拟装置实施例中的网络设备800、网络设备900或网络设备1000,网络设备800、网络设备900或网络设备1000中的每个功能模块采用网络设备1000或网络设备1100的软件实现。换句话说,网络设备800、网络设备900或网络设备1000包括的功能模块为网络设备1000或网络设备1100的处理器读取存储器中存储的程序代码后生成的。
参见图10,图10示出了本申请一个示例性实施例提供的网络设备1000的结构示意图,该网络设备1000可以由一般性的总线体系结构来实现。
网络设备1000包括至少一个处理器1001、通信总线1002、存储器1003以及至少一个通信接口1004。
处理器1001可以是一个通用CPU、NP、微处理器、或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线1002用于在上述组件之间传送信息。通信总线1002可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或 一种类型的总线。
存储器1003可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1003可以是独立存在,并通过通信总线1002与处理器1001相连接。存储器1003也可以和处理器1001集成在一起。
通信接口1004使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口1004包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合等。
在具体实现中,作为一种实施例,处理器1001可以包括一个或多个CPU,如图10中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,网络设备1000可以包括多个处理器,如图10中所示的处理器1001和处理器1005。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备1000还可以包括输出设备1006和输入设备1007。输出设备1006和处理器1001通信,可以以多种方式来显示信息。例如,输出设备1006可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备1007和处理器1001通信,可以以多种方式接收用户的输入。例如,输入设备1007可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器1003用于存储执行本申请方案的程序代码1010,处理器1001可以执行存储器1003中存储的程序代码1010。也即是,网络设备1000可以通过处理器1001以及存储器1003中的程序代码1010,来实现方法实施例提供的图2、图3或图4所示的方法。
本申请实施例的网络设备1000可对应于上述各个方法实施例中的网络设备,并且,该网络设备1000中的处理器1001、通信接口1004等可以实现上述各个方法实施例中的网络设备所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。
网络设备700中的获得模块701、发送模块704相当于网络设备1000中的通信接口1004;网络设备700中的确定模块702和更新模块703可以相当于网络设备1000中的处理器1001。
网络设备800中的接收模块801相当于网络设备1000中的通信接口1004;网络设备 800中的生成模块802可以相当于网络设备1000中的处理器1001。
网络设备900中的发送模块902相当于网络设备1000中的通信接口1004;网络设备900中的生成模块901可以相当于网络设备1000中的处理器1001。
参见图11,图11示出了本申请一个示例性实施例提供的网络设备1100的结构示意图,网络设备1100包括:主控板1110和接口板1130。
主控板1110也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板1110用于对网络设备1100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板1110包括:中央处理器1111和存储器1112。
接口板1130也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板1130用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板1130包括:中央处理器1131、网络处理器1132、转发表项存储器1134和物理接口卡(ph11sical interface card,PIC)1133。
接口板1130上的中央处理器1131用于对接口板1130进行控制管理并与主控板1110上的中央处理器1111进行通信。
网络处理器1132用于实现报文的转发处理。网络处理器1132的形态可以是转发芯片。具体而言,网络处理器1132用于基于转发表项存储器1134保存的转发表转发接收到的报文,如果报文的目的地址为网络设备1100的地址,则将该报文上送至CPU(如中央处理器1111)处理;如果报文的目的地址不是网络设备1100的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡1133用于实现物理层的对接功能,原始的流量由此进入接口板1130,以及处理后的报文从该物理接口卡1133发出。物理接口卡1133也称为子卡,可安装在接口板1130上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器1132处理。在一些实施例中,中央处理器也可执行网络处理器1132的功能,比如基于通用CPU实现软件转发,从而物理接口卡1133中不需要网络处理器1132。
可选地,网络设备1100包括多个接口板,例如网络设备1100还包括接口板1140,接口板1140包括:中央处理器1141、网络处理器1142、转发表项存储器1144和物理接口卡1143。
可选地,网络设备1100还包括交换网板1120。交换网板1120也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板1130的情况下,交换网板1120用于完成各接口板之间的数据交换。例如,接口板1130和接口板1140之间可以通过交换网板1120通信。
主控板1110和接口板1130耦合。例如。主控板1110、接口板1130和接口板1140, 以及交换网板1120之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板1110和接口板1130之间建立进程间通信协议(inter-process communication,IPC)通道,主控板1110和接口板1130之间通过IPC通道进行通信。
在逻辑上,网络设备1100包括控制面和转发面,控制面包括主控板1110和中央处理器1131,转发面包括执行转发的各个组件,比如转发表项存储器1134、物理接口卡1133和网络处理器1132。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器1132基于控制面下发的转发表对物理接口卡1133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器1134中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。
网络设备700中的获得模块701、发送模块704相当于网络设备1100中的物理接口卡1133;网络设备700中的确定模块702和更新模块703可以相当于网络处理器1132或中央处理器1111。
网络设备800中的接收模块801相当于网络设备1100中的物理接口卡1133;网络设备800中的生成模块802可以相当于网络处理器1132或中央处理器1111。
网络设备900中的发送模块902相当于网络设备1100中的物理接口卡1133;网络设备900中的生成模块901可以相当于网络处理器1132或中央处理器1111。
本申请实施例中接口板1140上的操作与接口板1130的操作一致,为了简洁,不再赘述。本实施例的网络设备1100可对应于上述各个方法实施例中的网络设备,该网络设备1100中的主控板1110、接口板1130和/或1140可以实现上述各个方法实施例中的网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
在一些可能的实施例中,上述网络设备可以实现为虚拟化设备。
例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(英文:Virtual Machine,VM),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机 配置为网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(Network Functions Virtualization,NFV)技术来实现网络设备。网络设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的网络设备。此处不再赘述。
例如,虚拟化设备可以是容器,容器是一种用于提供隔离的虚拟化环境的实体,例如,容器可以是docker容器。可以将容器配置为网络设备。例如,可以通过对应的镜像来创建出网络设备,例如可以通过proxy-container(提供代理服务的容器)的镜像,为proxy-container创建2个容器实例,分别是容器实例proxy-container1、容器实例proxy-container2,将容器实例proxy-container1提供为网络设备或计算设备,将容器实例proxy-container2提供为网络设备或计算设备。采用容器技术实现时,网络设备可以利用物理机的内核运行,多个网络设备可以共享物理机的操作系统。通过容器技术可以将不同的网络设备隔离开来。容器化的网络设备可以在虚拟化的环境中运行,例如可以在虚拟机中运行,容器化的网络设备可也可以直接在物理机中运行。
例如,虚拟化设备可以是Pod,Pod是Kubernetes(Kubernetes是谷歌开源的一种容器编排引擎,英文简称为K8s)为部署、管理、编排容器化应用的基本单位。Pod可以包括一个或多个容器。同一个Pod中的每个容器通常部署在同一主机上,因此同一个Pod中的每个容器可以通过该主机进行通信,并且可以共享该主机的存储资源和网络资源。可以将Pod配置为网络设备。例如,具体地,可以指令容器即服务(英文全称:container as a service,英文简称:CaaS,是一种基于容器的PaaS服务)来创建Pod,将Pod提供为网络设备。
当然,网络设备还可以是其他虚拟化设备,在此不做一一列举。
在一些可能的实施例中,上述设备也可以由通用处理器来实现。例如,该通用处理器的形态可以是一种芯片。具体地,实现网络设备的通用处理器包括处理电路和与该处理电路内部连接通信的输入接口以及输出接口,该处理电路用于通过输入接口执行上述各个方法实施例中的报文的生成步骤,该处理电路用于通过输入接口执行上述各个方法实施例中的接收步骤,该处理电路用于通过输出接口执行上述各个方法实施例中的发送步骤。可选地,该通用处理器还可以包括存储介质,该处理电路用于通过存储介质执行上述各个方法实施例中的存储步骤。存储介质可以存储处理电路执行的指令,该处理电路用于执行存储介质存储的指令以执行上述各个方法实施例。
本申请实施例提供了一种计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行上述方法实施例中的图2、图3或图4所示的方法。
上述各种产品形态的网络设备,分别具有上述方法实施例中网络设备的任意功能,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域 普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取 的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上描述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (16)

  1. 一种报文转发方法,其特征在于,应用于业务链网络,包括:
    网络设备获得第一数据报文,所述第一数据报文包括第一业务段标识service SID,所述第一service SID用于指示第一目标业务功能;
    所述网络设备根据所述第一service SID确定第一业务功能段标识SF SID,所述第一SF SID包括用于执行所述第一目标业务功能的第一业务功能设备的标识;
    所述网络设备根据所述第一SF SID向所述第一业务功能设备发送所述第一数据报文。
  2. 根据权利要求1所述的方法,其特征在于,在所述网络设备发送所述第一数据报文之前,所述方法还包括:
    所述网络设备更新所述第一数据报文,所述第一数据报文包括第一段标识列表,所述第一段标识列表包括所述第一SF SID。
  3. 根据权利要求1或2所述的报文转发方法,其特征在于,所述网络设备获得第一数据报文,包括:
    所述网络设备接收第二数据报文;
    所述网络设备根据所述第二数据报文与报文分类规则确定第二段标识列表,所述第一数据报文满足所述报文分类规则,所述第二段标识列表与所述报文分类规则对应;
    所述网络设备根据所述第二数据报文生成所述第一数据报文,所述第一数据报文包括所述第二段标识列表,所述第二段标识列表包括所述第一service SID和第二service SID,所述第二service SID和所述第一service SID相邻,所述第二service SID用于使所述网络设备执行所述网络设备根据所述第一service SID确定第一SF SID的步骤。
  4. 根据权利要求1-3任一项所述的报文转发方法,其特征在于,所述网络设备根据所述第一service SID确定第一SF SID,包括:
    所述网络设备获得与所述第一service SID对应的第一关系,所述第一关系包括多个SF SID和多个SF SID中每个SF SID对应的指标参数,所述多个SF SID中包括所述第一SF SID;
    所述网络设备根据所述第二段标识列表对应的指标需求和所述第一关系确定所述第一SF SID。
  5. 根据权利要求4所述的报文转发方法,其特征在于,所述网络设备获得与所述第一service SID对应的第一关系,包括:
    所述网络设备接收第一内部网关协议IGP报文,所述第一IGP报文包括所述第一service SID和所述第一关系;或,
    所述网络设备接收第二IGP报文和第三IGP报文,所述第二IGP报文包括所述第一service SID、所述第一SF SID和所述第一SF SID对应的第一指标参数,所述第三IGP报文包括所述第一service SID、第四SF SID和所述第四SF SID对应的第四指标参数,所述网络设备根据所述第二IGP报文和所述第三IGP报文生成所述第一关系。
  6. 根据权利要求3所述的报文转发方法,其特征在于,所述网络设备根据所述第二数据报文与报文分类规则确定第二段标识列表,包括:
    所述网络设备接收集中编排器发送的所述报文分类规则,所述报文分类规则包括数据报文特征和所述第二段标识列表的关联关系;
    所述网络设备根据所述第二数据报文的报文特征匹配所述数据报文特征确定所述第二段标识列表。
  7. 根据权利要求1所述的报文转发方法,其特征在于,所述网络设备获得第一数据报文,包括:
    所述网络设备接收所述第一数据报文,所述第一数据报文包括第二service SID,所述第二service SID为所述网络设备的SID,所述第二service SID与所述第一service SID相邻,所述网络设备根据所述第二service SID的指示确定与所述第一service SID对应的所述第一SF SID。
  8. 一种报文转发方法,其特征在于,应用于业务链网络,包括:
    网络设备接收第一通告报文,所述第一通告报文包括第一业务段标识service SID、第一业务功能段标识SF SID和与所述第一SF SID对应的第一指标参数,所述第一service SID用于指示第一目标业务功能,所述第一SF SID包括用于执行所述第一目标业务功能的第一业务功能设备的标识;
    所述网络设备根据所述第一service SID、所述第一SF SID和所述第一指标参数生成第一关系,所述第一关系用于使所述网络设备根据段标识列表对应的指标需求与所述第一指标参数对应确定所述第一SF SID,所述段标识列表包括所述第一service SID,所述段标识列表与报文分类规则对应。
  9. 根据权利要求8所述的报文转发方法,其特征在于,所述第一关系还包括与所述第一service SID对应的第二SF SID,以及与所述第二SF SID对应的第二指标参数,所述第二SF SID包括用于执行所述第一目标业务功能的第二业务功能设备的标识,所述第一指标参数与所述第二指标参数不同。
  10. 根据权利要求8或9所述的报文转发方法,其特征在于,所述通告报文为IGP报文,所述第一通告报文包括中间系统到中间系统ISIS路由协议或开放式最短路径优先OSPF路由协议。
  11. 一种报文转发方法,其特征在于,应用于业务链网络,包括:
    网络设备生成第一通告报文,所述第一通告报文包括第一业务段标识service SID、第一业务功能段标识SF SID和所述第一SF SID对应的第一指标参数,所述第一service SID用于指示第一目标业务功能,所述第一SF SID包括用于执行所述第一目标业务功能的第一业务功能设备的标识;
    所述网络设备发送所述第一通告报文。
  12. 根据权利要求11所述的方法,其特征在于,所述第一通告报文还包括第二SF SID和所述第二SF SID对应的第二指标参数,所述第二SF SID包括用于执行所述第一目标业务功能的第二业务功能设备的标识,所述第一指标参数与所述第二指标参数不同。
  13. 根据权利要求11或12所述的报文转发方法,其特征在于,所述第一通告报文包括第一SF SID TLV,所述第一SF SID TLV包括所述第一SF SID和所述第一指标参数。
  14. 一种网络设备,其特征在于,包括:处理器、存储器、以及通信接口,
    所述处理器用于执行所述存储器中存储的指令,使得所述网络设备执行权利要求1至7中任一项所述的方法。
  15. 一种网络设备,其特征在于,包括:处理器、存储器、以及通信接口,
    所述处理器用于执行所述中存储的指令,使得所述网络设备执行权利要求8至10中任一项所述的方法。
  16. 一种网络设备,其特征在于,包括:处理器、存储器、以及通信接口,
    所述处理器用于执行所述中存储的指令,使得所述网络设备执行权利要求11至13中任一项所述的方法。
PCT/CN2021/123672 2020-10-15 2021-10-14 报文转发方法以及网络设备 WO2022078415A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011102972.3 2020-10-15
CN202011102972.3A CN114374634A (zh) 2020-10-15 2020-10-15 报文转发方法以及网络设备

Publications (1)

Publication Number Publication Date
WO2022078415A1 true WO2022078415A1 (zh) 2022-04-21

Family

ID=81138497

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/123672 WO2022078415A1 (zh) 2020-10-15 2021-10-14 报文转发方法以及网络设备

Country Status (2)

Country Link
CN (1) CN114374634A (zh)
WO (1) WO2022078415A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022415A (zh) * 2022-05-23 2022-09-06 烽火通信科技股份有限公司 一种多层sid报文终结方法及装置
CN115022121A (zh) * 2022-05-31 2022-09-06 中国电信股份有限公司 报文处理方法、装置、设备及介质
WO2024016863A1 (zh) * 2022-07-20 2024-01-25 华为技术有限公司 规则查找方法、装置、设备及计算机可读存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115065637B (zh) * 2022-06-10 2024-03-26 亚信科技(中国)有限公司 传输算力资源信息的方法、装置和电子设备
WO2024045179A1 (zh) * 2022-09-02 2024-03-07 华为技术有限公司 数据报文的传输方法、通信装置和通信系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330714A (zh) * 2015-07-02 2017-01-11 中兴通讯股份有限公司 一种实现业务功能链的方法和装置
CN108702331A (zh) * 2016-02-22 2018-10-23 思科技术公司 Sr应用段与服务功能链(sfc)报头元数据的集成
CN109962847A (zh) * 2017-12-14 2019-07-02 中国电信股份有限公司 业务功能链报文的封装方法和装置及计算机可读存储介质
US20190222500A1 (en) * 2018-01-12 2019-07-18 Cisco Technology, Inc. Dataplane-based seamless bidirectional forwarding detection monitoring for network entities
US20200084143A1 (en) * 2018-09-11 2020-03-12 Cisco Technology, Inc. In-situ operation, administration, and maintenance in segment routing with multiprotocol label switching networks
CN111510387A (zh) * 2019-01-30 2020-08-07 华为技术有限公司 数据转发方法及相关装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330714A (zh) * 2015-07-02 2017-01-11 中兴通讯股份有限公司 一种实现业务功能链的方法和装置
CN108702331A (zh) * 2016-02-22 2018-10-23 思科技术公司 Sr应用段与服务功能链(sfc)报头元数据的集成
CN109962847A (zh) * 2017-12-14 2019-07-02 中国电信股份有限公司 业务功能链报文的封装方法和装置及计算机可读存储介质
US20190222500A1 (en) * 2018-01-12 2019-07-18 Cisco Technology, Inc. Dataplane-based seamless bidirectional forwarding detection monitoring for network entities
US20200084143A1 (en) * 2018-09-11 2020-03-12 Cisco Technology, Inc. In-situ operation, administration, and maintenance in segment routing with multiprotocol label switching networks
CN111510387A (zh) * 2019-01-30 2020-08-07 华为技术有限公司 数据转发方法及相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CLAD F. C, X. XU, C. FILSFILS, D. BERNIER, C. LI, B. DECRAENE, S. MA, C. YADLAPALLI, W. HENDERICKX, S. SALSANO: "Segment Routing for Service Chaining draft-xuclad-spring-sr-service-chaining-01", IETF, 5 March 2018 (2018-03-05), XP055919994, Retrieved from the Internet <URL:https://datatracker.ietf.org/doc/pdf/draft-xuclad-spring-sr-service-chaining-01> *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022415A (zh) * 2022-05-23 2022-09-06 烽火通信科技股份有限公司 一种多层sid报文终结方法及装置
CN115022415B (zh) * 2022-05-23 2023-08-25 烽火通信科技股份有限公司 一种多层sid报文终结方法及装置
CN115022121A (zh) * 2022-05-31 2022-09-06 中国电信股份有限公司 报文处理方法、装置、设备及介质
WO2024016863A1 (zh) * 2022-07-20 2024-01-25 华为技术有限公司 规则查找方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN114374634A (zh) 2022-04-19

Similar Documents

Publication Publication Date Title
WO2022078415A1 (zh) 报文转发方法以及网络设备
US10757072B2 (en) Packet transmission method, apparatus, and system
US20220337514A1 (en) Service Chain Fault Protection Method, Apparatus, Device and System, and Storage Medium
EP2676411A1 (en) Method and system for classification and management of inter-blade network traffic in a blade server
US7944923B2 (en) Method and system for classifying network traffic
WO2022012489A1 (zh) 一种能力通告方法及相关设备
WO2022012689A1 (zh) 一种路由通告方法及相关设备
WO2022105927A1 (zh) 一种通告网络设备处理能力的方法、设备和系统
WO2022095857A1 (zh) 拓扑信息的发布方法、网络拓扑收集方法及设备
US20230291684A1 (en) Packet transmission method and apparatus, device, and computer-readable storage medium
US20230224241A1 (en) Path Identity Allocation Method, System, and Apparatus, Device, and Storage Medium
US20220255864A1 (en) Service packet forwarding method, apparatus, and computer storage medium
WO2022088685A1 (zh) 一种语义名称获取方法、装置、设备及存储介质
US20230060675A1 (en) Deployment of a virtualized service on a cloud infrastructure based on interoperability requirements between service functions
US20220382598A1 (en) Joint consideration of service function placement and definition for deployment of a virtualized service
EP4058890A1 (en) Joint consideration of service function placement and definition for deployment of a virtualized service
CN114025025B (zh) SRv6 SID的发布方法及网络设备
WO2022012690A1 (zh) 一种路由通告方法及相关设备
US20230224245A1 (en) Packet Transmission Method and Apparatus
JP7273130B2 (ja) 通信方法および装置
US20240214298A1 (en) Method, apparatus, device, and system for transmitting network layer reachability information, and medium
EP4369690A1 (en) Method and apparatus for transmitting network layer readable information, device, system, and medium
WO2023152547A1 (en) Deployment of a network service on a cloud infrastructure based on isolation level between service functions
CN116016229A (zh) 一种部署容器服务的方法及装置

Legal Events

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

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21879458

Country of ref document: EP

Kind code of ref document: A1