WO2019128950A1 - 一种报文处理的方法、网络节点和系统 - Google Patents

一种报文处理的方法、网络节点和系统 Download PDF

Info

Publication number
WO2019128950A1
WO2019128950A1 PCT/CN2018/123292 CN2018123292W WO2019128950A1 WO 2019128950 A1 WO2019128950 A1 WO 2019128950A1 CN 2018123292 W CN2018123292 W CN 2018123292W WO 2019128950 A1 WO2019128950 A1 WO 2019128950A1
Authority
WO
WIPO (PCT)
Prior art keywords
network node
network
packet
performance parameter
segment
Prior art date
Application number
PCT/CN2018/123292
Other languages
English (en)
French (fr)
Inventor
李呈
陈国义
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP18894635.4A priority Critical patent/EP3720063A4/en
Publication of WO2019128950A1 publication Critical patent/WO2019128950A1/zh
Priority to US16/911,715 priority patent/US11570285B2/en
Priority to US18/152,015 priority patent/US11876883B2/en

Links

Images

Classifications

    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0835One way packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Definitions

  • the present invention relates to the field of communications, and in particular, to a packet processing method, a network node, and a system.
  • Segment routing is a source routing mechanism that enables the network to achieve better scalability and provides traffic engineering (TE) and multiprotocol label switching (multiprotocol) in a simpler and more flexible manner. Label switching, MPLS) Virtual private network (VPN) and other functions.
  • MPLS traffic engineering
  • VPN Virtual private network
  • SDN software-defined networking
  • the performance measurement of the SRv6 network is mainly based on a flow label (FL) to dye the packet to record network performance parameters, such as a timestamp or a number of packets, and then through a centralized controller.
  • FL flow label
  • the current methods need to obtain network performance parameters through specific protocols, which is highly complex and inflexible.
  • the present application provides a packet processing method, a network node, and a system, which are used to provide a flexible method for transmitting network performance parameters, thereby facilitating flexible network performance calculation.
  • an embodiment of the present invention provides a packet processing method, where the method includes: a first network node obtains a first packet that includes a segment list, where the segment list includes a path for forwarding the first packet. a segment identifier of the network node; the first network node obtains the segment identifier of the second network node from the segment list, and the second network node is the next hop node of the first network node on the path; the first network node sends the first packet
  • the destination address is replaced with the segment identifier of the second network node, and the network performance parameter of the first network node is included in the segment list to generate a second packet; the first network node sends the second packet to the second network node. .
  • the network performance parameter of the first network node is used by the second network node to calculate network performance.
  • the first network node uses the segment list to carry the network performance parameter of the first network node in the process of using the segment list in the packet to forward the network performance parameter, so that the network performance parameter is more convenient to be transmitted. While the network node forwards the message, the network performance parameter of the first network node is sent to the second network node.
  • the second network node can directly calculate the network performance by using the network performance parameters of the first network node, and the network performance calculation is more flexible.
  • the network performance parameter includes the time when the first network node sends the second packet, or the network performance parameter includes the service of the corresponding service identifier received by the first network node before sending the second packet.
  • the number of packets, and the service packets corresponding to the service identifier are forwarded along the path.
  • the measurement of the packet forwarding delay or the number of packet loss packets can be implemented by including the time when the first network node sends the second packet or the number of service packets received by the first network node in the network performance parameter.
  • the network performance parameters of the first network node are included in the segment identification of the second network node.
  • the segment list is used to specify a display forwarding path.
  • the segment list may not include the segment identifier of the first network node.
  • the segment identification field of the second network node in the segment list can be reused, and the network performance parameter of the first network node is included in the segment identifier of the second network node, so that the network performance parameter is more convenient.
  • the network performance parameters of the first network node are stored between the 65th bit and the 128th bit of the segment identifier of the second network node in the segment list.
  • the segment list may also include the segment identifier of the first network node, and therefore, the network performance parameter of the first network node may be included in the segment identifier of the first network node.
  • the network performance parameters of the first network node are stored between the 65th bit and the 128th bit of the segment identifier of the first network node in the segment list.
  • the first network node determines that the destination address of the first packet is the segment identifier of the first network node, and determines the function according to a function part in the segment identifier of the first network node.
  • the network performance parameter of the first network node is included in the segment list.
  • the first network node obtains the first packet that includes the segment list as the service packet corresponding to the service identifier.
  • an embodiment of the present invention provides a packet processing method, where the method includes: receiving, by a second network node, a packet including a segment list, where the segment list includes a network node on a path for forwarding the packet a segment identifier, the first segment identifier in the segment list includes a first network performance parameter of the first network node; the second network node determines that the destination address of the packet is a segment identifier of the second network node; The second network node determines that the destination address of the packet is the segment identifier of the second network node, and the second network node calculates the network performance according to the first network performance parameter.
  • the second network node receives the network performance parameter of the first network node carried by the segment list, and then calculates the network performance according to the network performance parameter of the first network node, and the network performance calculation is more flexible.
  • the network performance parameter of the first network node carried by the segment list makes the network performance parameter transfer more convenient, and the network performance parameter of the first network node is sent to the second network while the first network node forwards the packet. node.
  • the first network performance parameter includes a first time when the first network node sends the message to the second network node, or the first network performance parameter includes the first network node before sending the message And the first quantity of the service packet corresponding to the service identifier received by the first network node, and the service packet corresponding to the service identifier is forwarded along the path.
  • the service identifier may be a service label, or an IP address, or a combination of an IP address and a port number, or the service identifier corresponds to a segment list.
  • the second network node calculates network performance according to the first network performance parameter, including:
  • the second network node determines a second time when the second network node receives the message; and then determines that the forwarding delay of the message sent from the first network node to the second network node is equal to the difference between the second time and the first time.
  • the second segment identifier in the segment list includes a second network performance parameter of the third network node
  • the third network node is a network node between the first network node and the second network node on the path.
  • the second network performance parameter includes a third time when the third network node sends the message to the second network node.
  • the second network node calculates the network performance according to the first network performance parameter, where the second network node determines the second quantity of the service packet corresponding to the service identifier received before receiving the packet, And determining, by the first network node, that the number of lost packets from the first network node to the second network node is equal to a difference between the second quantity and the first quantity.
  • the second segment identifier in the segment list includes the second network performance parameter of the third network node, and the second network performance parameter includes the service corresponding to the service identifier received by the third network node when forwarding the packet.
  • the second network node calculates the network performance according to the first network performance parameter, where the second network node determines that the number of lost packets of the service packet corresponding to the service identifier from the first network node to the third network node is equal to the third quantity and location The difference between the first quantities is described.
  • the first segment is identified as the segment identifier of the second network node.
  • the segment list includes a segment identifier of the first network node, and the first segment identifier is a segment identifier of the first network node.
  • the second network node receives the packet containing the segment list as the service packet corresponding to the service identifier.
  • an embodiment of the present invention provides a first network node, where the method in any one of the possible implementations of the first aspect or the first aspect is performed.
  • the first network node comprises means for performing the method of the first aspect or any one of the possible implementations of the first aspect.
  • the embodiment of the present invention provides a second network node, where the method in any one of the possible implementation manners of the second aspect or the second aspect is performed.
  • the second network node comprises means for performing the method of any one of the possible implementations of the second aspect or the second aspect.
  • a first network node comprising: a processor, a network interface, and a memory.
  • the memory may be used to store program code
  • the processor is configured to call the program code in the memory to perform the method in any of the foregoing first aspect or the first aspect of the first aspect, which is not described herein.
  • a second network node comprising: a processor, a network interface, and a memory.
  • the memory may be used to store program code
  • the processor is configured to call the program code in the memory to perform the method in any one of the foregoing possible implementations of the second aspect or the second aspect, which is not described herein.
  • a first network node in a seventh aspect, includes: a main control board and an interface board.
  • the main control board includes: a first processor and a second memory.
  • the interface board includes: a second processor, a second memory, and an interface card. The main control board is coupled to the interface board.
  • the first memory may be configured to store program code
  • the first processor is configured to invoke the program code in the first memory to: obtain a first message including a segment list, where the segment list includes a path for forwarding the first message
  • the segment identifier of the network node on the network segment the segment identifier of the second network node is obtained from the segment list, the second network node is the next hop node of the first network node on the path; and the destination address of the first packet is replaced by the
  • the segment identifier of the network node is included, and the network performance parameter of the first network node is included in the segment list to generate a second packet.
  • the second memory is operative to store the program code
  • the second processor is configured to invoke the program code in the second memory to perform the operation of: transmitting the second message to the second network node.
  • a second network node includes: a main control board and an interface board.
  • the main control board includes: a first processor and a second memory.
  • the interface board includes: a second processor, a second memory, and an interface card.
  • the main control board is coupled to the interface board.
  • the second memory may be configured to store the program code, and the second processor is configured to invoke the program code in the second memory to: receive a message including a list of segments sent by the first network node, where the segment list includes The segment identifier of the network node on the path of the packet, the first segment identifier in the segment list containing the first network performance parameter of the first network node.
  • the first memory may be configured to store the program code, and the first processor is configured to invoke the program code in the first memory to: determine that the destination address of the packet is a segment identifier of the second network node, and according to the first network Performance parameters calculate network performance.
  • an inter-process communication (IPC) control channel is established between the main control board and the interface board.
  • IPC inter-process communication
  • a system for processing service packets is provided, the first network node and the second network node provided by the foregoing aspects of the system.
  • a computer storage medium for storing computer software instructions for use in the first network node or second, comprising programs designed to perform the above aspects.
  • FIG. 1 is a schematic diagram of an application scenario of a packet processing method according to an embodiment of the present disclosure
  • FIG. 2 is a schematic flowchart of a packet processing method according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart diagram of a packet processing method according to an embodiment of the present disclosure
  • FIG. 4 is a schematic diagram of packet forwarding based on the application scenario shown in FIG. 1 according to an embodiment of the present disclosure
  • FIG. 5 is a schematic diagram of packet forwarding based on the application scenario shown in FIG. 1 according to an embodiment of the present disclosure
  • FIG. 6 is a schematic flowchart of a packet processing method according to an embodiment of the present disclosure.
  • FIG. 7 is a schematic structural diagram of a first network node according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of a first network node according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram of a first network node according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic structural diagram of a first network node according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic structural diagram of a second network node according to an embodiment of the present disclosure.
  • FIG. 12 is a schematic structural diagram of a second network node according to an embodiment of the present disclosure.
  • FIG. 13 is a schematic structural diagram of a second network node according to an embodiment of the present disclosure.
  • FIG. 14 is a schematic structural diagram of a second network node according to an embodiment of the present disclosure.
  • FIG. 15 is a schematic diagram of a message processing system according to an embodiment of the present invention.
  • the ingress device of the packet forwarding of the SRv6 network adds a segment routing header (SRH) to the packet, where the SRH includes a segment list for identifying the forwarding path. .
  • the list of segments contains the IPv6 address of the network node on the path used to forward the message.
  • the ingress device of the packet forwarding of the SRv6 network may also be referred to as an ingress node or an ingress operator edge (PE).
  • PE ingress operator edge
  • the IPv6 address of the network node in the SRv6 technology middle segment list may also be referred to as the segment identifier (SID) of the network node.
  • the segment list can also be called a path SID List. The SID occupies 128 bits.
  • the SID consists of two parts: the locator and the function.
  • the locator is used to route the message to the network node corresponding to the SID.
  • locator contains the first 64 bits of the IPv6 address of the network node.
  • the forwarding node may forward the message to the network node corresponding to the locator according to the locator.
  • the function is used to indicate that the network node corresponding to the SID performs the corresponding function. For example, when the network node receives the packet and determines that the destination address of the packet is the address of the network node, that is, the segment identifier of the network node, the network node performs a corresponding function according to the function in the segment identifier.
  • IETF Internet Engineering Task Force
  • the controller mentioned in the embodiment of the present invention may be a network management device or a controller under a Software-defined networking (SDN) architecture.
  • the network node in the embodiment of the present invention may be a network device, such as a router, a switch, or a repeater in an SDN network.
  • FIG. 1 is a schematic diagram of a possible application scenario of an embodiment of the present invention.
  • the application scenario includes network nodes that support SRv6 functionality, such as: network node 101, network node 102, network node 103, network node 104, network node 105, and network node 106.
  • the network node supports the SRv6 function, that is, the network node supports the segment routing function.
  • the segment identifier of the network node 101 is SID 1, which is the IPv6 address of the network node 101, such as A::.
  • the segment identifier of network node 102 is SID 2, which is the IPv6 address of network node 102, such as B::.
  • the segment identifier of network node 103 is SID 3, which is the IPv6 address of network node 103, such as C::.
  • the segment identifier of network node 106 is SID 6, which is the IPv6 address of network node 106, such as D::.
  • network performance measurements on an SRv6 network are typically implemented based on a flow label-based cross-staining scheme.
  • the scheme uses the 2 bits of the flow label in the header of the IPv6 packet to dye consecutive data packets.
  • the different values of the 2 bits of the stream tag are used to distinguish different data messages, which are called coloring.
  • the network node 101 assigns a value of 1 to the first bit of the stream label of consecutive 100 data packets, and the color of the 100 data packets is a color. Then, the first bit of the flow label of the next 100 data messages is assigned a value of 0, and the color of the 100 data messages is the second color.
  • the network node 106 can record the network performance parameter. For example, the time at which the data message is received or the number of data messages belonging to one color received is recorded.
  • the network performance parameters of each network node also need to be synchronized. For example, the network performance parameters of each node are collected by the controller, and then network performance measurement is performed. For example, the network node 101 records the number of packets of the first bit of the included flow label that the network node 101 has sent, and sends the number of the message to the controller.
  • the network node 106 records the number of packets of the first bit of the included flow label received by the network node 106, and sends the number of the message to the controller.
  • the controller performs packet loss detection according to the number of packets sent by the network node 101 and the number of received packets of the network node 106.
  • the network node needs to separately send the network performance parameters to the controller. Therefore, it is necessary to establish a forwarding channel between each network node and the controller in advance through a specific protocol.
  • the above solution is complicated to implement and is not conducive to the expansion of the solution.
  • Embodiments of the present invention provide a packet processing method and a network node and system based on the method.
  • the method, network node and system are based on the same inventive concept.
  • the principles of the method, the network node, and the system for solving the problem are similar. Therefore, the embodiments of the network node, the method, and the system can be referred to each other, and the same portions are not described again.
  • an embodiment of the present invention provides a packet processing method, where the method includes:
  • the first network node obtains a first packet that includes a segment list, where the segment list includes a segment identifier of a network node on a path for forwarding the first packet.
  • the network node 101 in FIG. 1 is taken as an example for the first network node as an example.
  • the network nodes through which the first path passes include: the network node 102, the network node 103, and the network node 106, and the second path passes.
  • the network nodes include: a network node 104, a network node 105, and a network node 106.
  • the network node 101 obtains a list of segments of the first path.
  • the SID in the segment list may be arranged in reverse order of the network nodes whose messages pass the first path. For example, the segment list is ⁇ SID 6, SID 3, SID2>.
  • the SID in the segment list may also be arranged in the positive order of the network nodes through which the message passes the first path.
  • the segment list is ⁇ SID 2, SID 3, SID6>.
  • the list of segments may be pre-generated by the network node 101 or obtained from the controller.
  • the network node 101 obtains the correspondence between the destination address of the first packet and the segment list.
  • the destination address of the first packet is D::
  • the first network node obtains the correspondence between the address D:: and the segment list ⁇ SID 2, SID 3, and SID6>.
  • the correspondence may be stored in advance on the network node 101 or may be stored on other network devices.
  • the correspondence may be stored in advance on the controller.
  • the network node 101 When the network node 101 receives the first message, the network node 101 acquires the correspondence from the controller. In this example, since the network node 101 obtains the next hop node of the network node 101 obtained through the segment list, the message can be forwarded along the first path to the network node 106. Therefore, the segment list may not Contains the segment identifier of the network node 101. Optionally, the segment list may also include a segment identifier of the network node 101. For example, the segment list may be ⁇ SID6, SID 3, SID 2, SID 1>, or ⁇ SID 1, SID 2, SID 3, SID6. >.
  • the first network node obtains a segment identifier of the second network node from the segment list, where the second network node is a next hop node of the first network node on the path.
  • the next hop node of the first network node refers to a network node on the path that supports the segment routing function closest to the first network node in the packet forwarding direction.
  • the list of segments may be stored in the memory of the first network node in the form of a data structure.
  • the data structure can be an array, a linked list, or a structure.
  • SID 1 may be the first member of the array.
  • SID 2 can be the second member of the array.
  • the processor of the first network node may perform a read operation on a second member of the array held in the memory to obtain a segment identifier of the SID2 from the memory.
  • the first network node replaces the destination address of the first packet with the segment identifier of the second network node, and the network performance parameter of the first network node is included in the segment list to generate a second packet.
  • the first network node replaces the destination address of the first packet with the segment identifier of the second network node, that is, updates the value of the destination address field of the first packet to the segment identifier of the second network node. Because the segment identifier of the second network node is the IPv6 address of the second network node, the first network node replaces the destination address of the first packet with the segment identifier of the second network node, that is, the first packet The destination address is replaced with the IPv6 address of the second network node.
  • the first network node obtains the first packet, where the first network node generates the first packet.
  • the first network node is the network node 101 in the scenario shown in FIG.
  • the network node is a network node 102, and the first network node is an ingress node on the first packet forwarding path.
  • the network node 101 needs to send an IPv6 packet to the network device 106, it searches for the segment list according to the IPv6 address D:: of the network device 106, and then inserts the SRH into the IPv6 packet header of the IPv6 packet and the packet payload.
  • the SRH contains the segment list ⁇ SID6, SID 3, SID 2>.
  • the network node 101 obtains the segment identifier of the next hop node of the network node 101 from the segment list, that is, the segment node identifier SID 2 of the network node 102, and then replaces the destination address (DA) of the first packet with SID 2, that is, replace the value of the destination address field of the first packet with SID 2.
  • the first packet is a packet received by the first network node from the user equipment.
  • the first network node is the network node 101 in the scenario shown in FIG. 1, and the second network node is a network.
  • the node 102, the network node 101 is also connected to the source user equipment, the network node 106 is connected to the target user equipment, and the source user equipment and the target user equipment may not support the segment routing function.
  • the source user equipment needs to send a packet to the target user equipment, the user message with the destination address being the address of the target user equipment is generated, and then the user message is sent to the network node 101.
  • the network node 101 is used as an ingress node for forwarding the user packet in the SRv6 network, and the SRH is inserted into the user packet to generate a first packet.
  • the SRH includes a segment list ⁇ IPv6address, SID 6, SID 3, SID 2>, where the IPv6 address is the IPv6 address of the target user equipment.
  • the segment list is ⁇ SID 6, SID 3, SID 2>.
  • the first packet is a packet received by the first network node from another network node that supports the routing function.
  • the first network node is the network node 102 in the scenario shown in FIG.
  • the second network node is the network node 103
  • the first network node is an intermediate node in the first packet forwarding process.
  • the first network node receives the first packet from the network node 101 in FIG. 1.
  • the network node 101 serves as the ingress node of the first packet forwarding, and the SRH is included in the first packet, and the SRH includes the segment list ⁇ SID. 6, SID 3, SID 2>.
  • the first network node can include the network performance parameter in a second network node segment identification in the list of segments.
  • the network performance parameter of the first network node is stored in the segment list ⁇ SID 6, SID3, SID 2 In SID 2 in the middle, since each SID contains two parts: locator and function, after replacing the value of the destination address field of the first message with SID 2, the SID 2 in the segment list can be reused, for example
  • the network performance parameter of the first network node is stored in the function part of the SID 2, and when the function part occupies the 65th bit to the 128th bit of the SID 2, the network performance parameter of the first network node is stored in the SID2 65 bits to 128 bits.
  • the locator can occupy only any of the first to 64th bits of the SID, and the corresponding function occupies a bit other than the bit occupied by the locator in the SID.
  • the locator occupies the first of the SID.
  • the function can occupy the 51st bit to the 128th bit of the SID.
  • the function can occupy only the 90th bit to the 128th bit of the SID.
  • the segment list further includes the segment identifier of the first network node, for example, the segment list.
  • the first network node may include the network performance parameter of the first network node into the first network node segment identifier in the segment list, for example, the first network node
  • the network performance parameters are stored in SID 1 in the segment list ⁇ SID6, SID 3, SID 2, SID 1>.
  • the first network node when the first network node is the network node 101 in the scenario shown in FIG. 1 and the second network node is the network node 102, when the segment list does not include the segment identifier of the first network node, for example, the segment list For ⁇ SID6, SID 3, SID 2>, the first network node may include the network performance parameter of the first network node in other fields of the first packet, such as an ingress node type-type length value (TLV). )in.
  • TLV ingress node type-type length value
  • the other network nodes may store the corresponding network performance parameters in the corresponding SID, for example, store the network performance parameters of the second network node in the SID 2 in the segment list ⁇ SID6, SID3, SID2>.
  • the first network node sends the second packet to the second network node.
  • the second network node receives the second packet.
  • the network performance parameter of the first network device in the segment list is obtained, and the network is calculated according to the network performance parameter of the first network device. performance.
  • the network performance parameter of the first network node includes a first time when the first network node sends the second message.
  • the network performance parameter of the first network node includes a first number of service packets of the corresponding service identifier received by the first network node before the second packet is sent, and the service packet corresponding to the service identifier is along the path. Forward.
  • the second network node may calculate the network performance according to the network performance parameter of the first network node, and may adopt one or more of the following manners.
  • the first way is to calculate the forwarding delay:
  • the second network node determines a second time when the second network node receives the first packet, and then determines a forwarding delay of the packet sent from the first network node to the second network node to the second time and the first The difference in time.
  • the second way is to calculate the number of lost packets:
  • the first network node uses the segment list to carry the network performance parameter of the first network node in the process of using the segment list in the packet to forward the network performance parameter, so that the network performance parameter is more convenient to be transmitted. While the network node forwards the message, the network performance parameter of the first network node is sent to the second network node.
  • the second network node can directly calculate the network performance by using the network performance parameters of the first network node, and the network performance calculation is more flexible.
  • an embodiment of the present invention provides a packet processing method, where the method includes:
  • the first network node obtains a first packet that includes a segment list, where the segment list includes a segment identifier of a network node on a path for forwarding the first packet.
  • the first network node obtains a segment identifier of the second network node from the segment list, where the second network node is a next hop node of the first network node on the path.
  • the first network node replaces the destination address of the first packet with the segment identifier of the second network node, and the network performance parameter of the first network node is included in the segment list to generate a second packet.
  • the first network node sends the second packet to the second network node.
  • the steps S301, S302, S303, and S304 are the same as the steps S201, S202, S203, and S204 in FIG. 2.
  • the steps S301, S302, S303, and S304 are the same as the steps S201, S202, S203, and S204 in FIG. 2.
  • the second network node replaces the destination address of the second packet with the segment identifier of the third network node, and the network performance parameter of the second network node is included in the segment list to generate a third packet.
  • the network performance parameter of the second network node includes a second time when the second network node sends the message to the third network node.
  • the network performance parameter of the second network node includes a second quantity of service packets corresponding to the service identifier received by the second network node when forwarding the third packet.
  • the second network node sends the third packet to the third network node.
  • the third network node receives the third packet.
  • the third network node calculates network performance.
  • the third network node may perform one or more of the following methods for performing network performance measurement.
  • the third network node determines that the forwarding delay of the third packet from the first network node to the second network node is equal to the difference between the second time and the first time.
  • the third network node determines a third time when the third network node receives the third packet, and then determines that the forwarding delay of the third packet sent from the second network node to the third network node is equal to the third time and The difference in the second time.
  • the third network node determines a third time when the third network node receives the third packet; and then determines a forwarding delay of the third packet sent from the first network node to the third network node to the third time and The difference in the first time.
  • the third network node determines that the number of lost packets forwarded from the first network node to the second network node for the service packet corresponding to the service identifier is equal to the difference between the second number and the first number.
  • the number of lost packets of the three network nodes is equal to the difference between the third number and the second number.
  • the third network node Determining, by the third network node, the third quantity of the service packet corresponding to the service identifier received by the third network node before receiving the third packet, and then determining that the service packet corresponding to the service identifier is forwarded from the first network node to the first The number of lost packets of the three network nodes, the number of lost packets being equal to the difference between the third number and the first number.
  • FIG. 4 is a schematic diagram of packet forwarding in the application scenario shown in FIG.
  • a schematic flowchart of a packet processing method, referring to FIG. 6, the method includes:
  • the network node 101 obtains the first packet sent to the network node 106, where the first packet includes an IPv6 packet header, an SRH, and a payload, as shown in the packet format diagram in FIG.
  • the network node 101 replaces the destination address of the first packet with the SID 2, and includes the network performance parameter of the network node 101 into the segment list, generates a second packet, and transmits the second packet to the network node 102.
  • the SRH includes a segment list of ⁇ SID 6, SID 3, SID 2>, and network performance parameters (NPP) of the network node 101 are included in the SID 2 in the segment list of the first packet.
  • NPP network performance parameters
  • the network performance parameter NPP1 value of the network device 101 is stored in the function field of the SID 2, that is, the value of NPP1 is stored in the function field of the SID 2.
  • the SRH includes a segment list of ⁇ SID6, SID3, SID2, SID1>, and the network performance parameter NPP1 of the network node 101 is included in the SID1 in the segment list of the first packet, as shown in FIG.
  • the NPP1 is included in the function field of SID 1.
  • the network node 102 receives the second packet.
  • the network node 102 obtains the SID 3 from the segment list in the second packet, and obtains the second report. Replace the destination address of the text with SID 3.
  • the network node 102 includes the network performance parameter of the network node 102 into the segment list, generates a third packet, and sends the third packet to the network node 103. send.
  • the SRH includes a segment list of ⁇ SID 6, SID 3, SID 2>, and the network performance parameter NPP2 of the network node 102 is stored in the SID 3 in the segment list, and the NPP 2 is stored in the SID 3 as shown in FIG. In the function field.
  • the SRH includes the segment list as ⁇ SID 6, SID 3, SID 2, SID 1>, and the network performance parameter NPP2 of the network node 102 is stored in the SID 2 in the segment list, and the NPP2 is stored as shown in FIG. In the function field of SID 2.
  • network node 101 is the first network device in the embodiment shown in FIG. 2, and network node 102 can be the second network device in the embodiment shown in FIG. 2.
  • the network node 102 can perform network performance measurement according to the network performance parameter in the segment list. For the manner of calculating the network performance, refer to the embodiment shown in FIG. 2, which is not described herein.
  • the network node 103 receives the third packet.
  • the network node 103 obtains the SID6 from the segment list in the third packet, and the third report Replace the destination address of the text with SID 6.
  • the network node 103 stores the network performance parameter of the network node 103 into the segment list, generates a fourth message, and sends the fourth message to the network node 106. .
  • the meaning of the network performance parameter of the network node in the embodiment of the present invention is similar to the network performance parameter in the embodiment shown in FIG. 2 or FIG. 3, and details are not described herein.
  • the SRH includes a segment list of ⁇ SID 6, SID 3, SID 2>, and the network performance parameter NPP3 of the network node 103 is stored in the SID 6 in the segment list, and the NPP 2 is stored in the SID 6 as shown in FIG. In the function field.
  • the SRH includes the segment list as ⁇ SID6, SID 3, SID 2, SID 1>, and the network performance parameter NPP2 of the network node 103 is stored in the SID 3 in the segment list, and the NPP3 is stored in FIG. 5 as shown in FIG. SID 3 in the function field.
  • the network node 101 is the first network device in the embodiment shown in FIG. 3, and the network node 102 is the second network device in the embodiment shown in FIG. 3.
  • the network node 103 is in the embodiment shown in FIG. The third network device.
  • the network node 103 can perform the network performance measurement according to the network performance parameter in the segment list. For the manner of calculating the network performance, refer to the embodiment shown in FIG. 3, which is not described herein.
  • the network node 106 receives the fourth packet, and determines that the value of the destination address field of the fourth packet is SID 6, and performs network performance measurement according to the network performance parameter in the segment list.
  • network performance parameters of each network node are stored in the segment identifier of the next segment node corresponding to the network node, For example, the network performance parameter NPP1 of the network node 101 is stored in the SID 2 of the network node 102, the network performance parameter NPP2 of the network node 102 is stored in the SID 3 of the network node 103, and the network performance parameter NPP3 of the network node 103 is stored in the network node. 106 in SID 6.
  • SID 6 When the segment list is ⁇ SID 6, SID 3, SID 2, SID1>, referring to FIG.
  • the network performance parameters of each network node are stored in the segment identifier of the network node, for example, the network performance parameter of the network node 101.
  • NPP1 is stored in SID 1 of network node 101
  • network performance parameter NPP2 of network node 102 is stored in SID 2 of network node 102
  • network performance parameter NPP3 of network node 103 is stored in SID 3 of network node 103.
  • the network node 106 is also connected to the user equipment, the destination of the fourth message is the user equipment, and the SRH includes a segment list of ⁇ IPv6address, SID 6, SID 3, SID 2> or ⁇ IPv6 address, SID 6, SID 3, SID 2, SID 1>, where IPv6 address is the IPv6 address of the user equipment.
  • the network node 101 stores the correspondence between the IPv6 address of the user equipment and the segment list.
  • the network node 106 deletes the SRH from the fourth packet, and modifies the destination address of the fourth packet to the IPv6 address of the user equipment to generate a fifth packet, and then the network node 106 sends the fifth packet to the user equipment. send.
  • the network node 101 is the first network device in the embodiment shown in FIG. 3, and the network node 102 or the network node 103 is the second network device in the embodiment shown in FIG.
  • the network node 106 may be the third network device in the embodiment shown in FIG. 3.
  • FIG. 7 is a schematic diagram showing a possible structure of a first network node involved in the foregoing embodiment, where the first network node can implement the first network node in the embodiment shown in FIG. 2, FIG. 3 or FIG.
  • the first network node 700 includes an obtaining unit 701, a generating unit 702, and a transmitting unit 703.
  • the unit may perform the corresponding functions in the foregoing method examples, for example, the obtaining unit 701 is configured to perform various information acquisitions performed by the first network node in the foregoing method embodiment, and the generating unit 702 is configured to execute the first network in the foregoing method embodiment.
  • the information generated by the node is used to generate various information sent by the first network node in the foregoing method embodiment.
  • the obtaining unit 701 is configured to obtain a first packet that includes a segment list, where the segment list includes a segment identifier of a network node on a path for forwarding the first packet, and obtain a second network node from the segment list.
  • a segment identifier the second network node is a next hop node of the first network node on the path
  • the generating unit 702 is configured to replace the destination address of the first packet with the segment identifier of the second network node, and the first network
  • the network performance parameter of the node is included in the segment list to generate a second packet
  • the sending unit 703 is configured to send the second packet to the second network node.
  • FIG. 8 shows another possible structural diagram of the first network node involved in the above embodiment, and the first network node 800 can also implement FIG. 2, FIG. 3 or FIG. The function of the first network node in the embodiment shown in FIG. 6.
  • the first network node 800 includes a storage unit 801, a processing unit 802, and a communication unit 803.
  • the processing unit 802 is configured to perform control management on the action of the first network node 800.
  • the processing unit 802 is configured to support the first network node 800 to perform processes S201, S202 and S203 in FIG. 2, and processes S301 and S302 in FIG. And S303, process S601 in FIG. 6, and/or other processes for the techniques described herein.
  • Communication unit 803 is configured to support communication between first network node 800 and other network entities, such as communication with a second network node or network node 102 shown in FIG. 2, FIG. 3, or FIG.
  • the storage unit 801 is configured to store program codes and data of the first network node 800.
  • the processing unit 802 can be a processor, for example, a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (application-specific integrated circuit, ASIC), field programmable gate array (FPGA) or other programmable logic device, transistor logic device, hardware component, or any combination thereof. It is possible to implement or carry out various exemplary logical blocks, modules and circuits described in connection with the disclosure of the embodiments of the invention.
  • the processor may also be a combination of computing functions, for example, including one or more microprocessor combinations, a combination of a DSP and a microprocessor, and the like.
  • the communication unit 803 can be a transceiver, and the storage unit 801 can be a memory.
  • the first network node involved in the embodiment of the present invention may be the first network node 900 shown in FIG.
  • the first network node 900 includes a processor 902, a transceiver 903, a memory 901, and a bus 904.
  • the transceiver 903, the processor 902, and the memory 901 are connected to each other through a bus 904.
  • the bus 904 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA). ) Bus, etc.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 9, but it does not mean that there is only one bus or one type of bus.
  • an embodiment of the present invention provides another first network node 1000.
  • the first network node 1000 includes: a main control board 1001 and an interface board 1002.
  • the main control board 1001 includes a processor 1003 and a memory 1004.
  • the interface board 1002 includes a processor 1005, a memory 1006, and an interface card 1007.
  • the main control board 1001 is coupled to the interface board 1002.
  • the memory 1006 may be used to store program code of the interface board 1002, and the processor 1005 is used to call the program in the memory 1006.
  • the code trigger interface card 1007 performs various information reception and transmission performed by the first network node in the above method embodiment.
  • the memory 1004 can be used to store the program code of the main control board 1001, and the processor 1003 is configured to call the program code in the memory 1004 to perform other processing in addition to information transceiving of the first network node in the foregoing method embodiment.
  • the processor 1003 is configured to obtain a first packet that includes a segment list, where the segment list includes a segment identifier of a network node on a path for forwarding the first packet, and obtain a second network node from the segment list.
  • the segment identifier, the second network node is the next hop node of the first network node on the path; the destination address of the first packet is replaced with the segment identifier of the second network node, and the network performance parameter of the first network node is
  • the second packet is generated in the segment list, and the processor 1005 is configured to receive the second packet sent by the main control board 1001.
  • the interface card 1007 is configured to send the second packet to the second network node.
  • the memory 1004 is configured to store program codes and data of the main control board 1001, and the memory 1006 is configured to store program codes and data of the interface board 1002.
  • an IPC control channel is established between the main control board 1001 and the interface board 1002, and the IPC control channel is used for communication between the main control board 1001 and the interface board 1002.
  • the first network node 1000 can be a router or a switch or a network node with a forwarding function.
  • the first network node 1000 can implement the function of the first network node in the foregoing method embodiment. For the specific implementation steps, refer to the foregoing method embodiment. I am not going to repeat it.
  • FIG. 11 is a schematic diagram showing a possible structure of a second network node involved in the foregoing embodiment, where the second network node 1100 can implement the second network in the embodiment shown in FIG. 2, FIG. 3 or FIG.
  • the second network node 1100 includes a receiving unit 1101, a determining unit 1102, and a processing unit 1103.
  • the unit may perform the corresponding functions in the above method examples, for example, the receiving unit 1101 is configured to perform various information reception performed by the second network node in the foregoing method embodiment, and the determining unit 1102 is configured to perform the foregoing method embodiment.
  • the information is performed by the network node.
  • the processing unit 1103 is configured to perform processing other than information transmission and reception and information determination of the second network node in the foregoing method embodiment.
  • the receiving unit 1101 is configured to receive, by the first network node, a packet that includes a segment list, where the segment list includes a segment identifier of a network node on a path for forwarding the packet, where the segment is in the a segment identifier includes a first network performance parameter of the first network node; a determining unit 1102, configured to determine a destination address of the packet as a segment identifier of the second network node 1100; and a processing unit 1103, configured to respond to the determining unit 1102: Determine a destination address of the packet as a segment identifier of the second network node 1100, and calculate network performance according to the first network performance parameter.
  • each functional unit in the embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the receiving unit and the transmitting unit may be the same unit and different units.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • FIG. 12 is a schematic diagram showing another possible structure of the second network node involved in the foregoing embodiment, and the second network node 1200 can also implement the embodiment in FIG. 2 in the embodiment shown in FIG.
  • the second network node 1200 includes a storage unit 1201, a processing unit 1202, and a communication unit 1203.
  • the processing unit 1202 is configured to perform control management on the action of the second network node 1200.
  • the processing unit 1202 is configured to support the second network node 1200 to perform the process S205 in FIG. 2, the process S309 in FIG. 3, and the process in FIG. S604, and/or other processes for the techniques described herein.
  • the communication unit 1203 is configured to support communication between the second network node 1200 and other network entities, for example, with the first network device in FIG. 2, or with the second network node shown in FIG. 3 or FIG. Communication between network nodes 103.
  • the storage unit 1201 is configured to store program codes and data of the second network node 1200.
  • the processing unit 1202 may be a processor, such as a CPU, a general purpose processor, a DSP, an ASIC, an FPGA, or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. It is possible to implement or carry out various exemplary logical blocks, modules and circuits described in connection with the disclosure of the embodiments of the invention.
  • the processor may also be a combination of computing functions, for example, including one or more microprocessor combinations, a combination of a DSP and a microprocessor, and the like.
  • the communication unit 1203 may be a transceiver.
  • the storage unit 1201 may be a memory.
  • the second network node involved in the embodiment of the present invention may be the second network node 1300 shown in FIG.
  • the second network node 1300 includes a processor 1302, a transceiver 1303, a memory 1301, and a bus 1304.
  • the transceiver 1303, the processor 1302, and the memory 1301 are connected to each other through a bus 1304; the bus 1304 may be a PCI bus or an EISA bus or the like.
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in FIG. 13, but it does not mean that there is only one bus or one type of bus.
  • the first network node 1400 includes: a main control board 1401 and an interface board 1402.
  • the main control board 1401 includes a processor 1403 and a memory 1404.
  • the interface board 1402 includes a processor 1405, a memory 1406, and an interface card 1407.
  • the main control board 1401 is coupled to the interface board 1402.
  • the hardware may implement the functions of the second network node in the embodiment of FIG. 2, or implement the functions of the third network node in the embodiment shown in FIG. 3, or implement the corresponding function of the network node 106 in the embodiment shown in FIG. 6.
  • the memory 1406 can be used to store the program code of the interface board 1402
  • the processor 1405 is used to call the program code in the memory 1406 to trigger the interface card 1407 to perform various information reception and transmission performed by the corresponding network node in the above method embodiment.
  • the memory 1404 can be used to store the program code of the main control board 1401, and the processor 1403 is configured to call the program code in the memory 1404 to perform other processing in addition to information transceiving of the corresponding network node in the above method embodiment.
  • the interface card 1407 is configured to receive a packet that includes a segment list sent by the first network node, where the segment list includes a segment identifier of a network node on a path for forwarding the packet, where the segment list
  • the first segment identifies the first network performance parameter of the first network node
  • the processor 1405 is configured to send the message to the main control board 1401
  • the processor 1403 is configured to determine that the destination address of the packet is the second network.
  • the memory 1404 is configured to store program codes and data of the main control board 1401
  • the memory 1406 is configured to store program codes and data of the interface board 1402.
  • an IPC control channel is established between the main control board 1401 and the interface board 1402, and the IPC control channel is used for communication between the main control board 1401 and the interface board 1402.
  • the second network node 1400 can be a router or a switch or a network node with a forwarding function.
  • the second network node 1400 can implement the functions of the corresponding network node in the foregoing method embodiment. For the specific implementation steps, refer to the foregoing method embodiment, where Not to repeat.
  • the embodiment of the present invention provides another system 1500 for processing a service packet, and the system 1500 is used to implement the method for processing a message in the foregoing method embodiment.
  • the system 1500 includes a first network node 1501 and a second network node 1502.
  • the first network node 1501 and the second network node 1502 can respectively implement the functions of the first network node and the second network node in the embodiment shown in FIG. 2, or implement the first network in the embodiment shown in FIG.
  • the first network node 1501 performs processes S201, S202, S203, and S204 in FIG.
  • the second network node 1502 is configured to implement the process S205 of FIG. 2, the process S309 of FIG. 3, and/or other processes performed by the second network node for the techniques described herein.
  • the system 1500 also includes a third network node for implementing the functionality of the second network node in the embodiment illustrated in FIG. 3 or illustrated. For example, processes S306, S307, and S308 in FIG. 3 are performed.
  • the embodiment of the present invention further provides a non-volatile storage medium for storing software instructions used in the foregoing embodiments, including a program for executing the method shown in the foregoing embodiment, when it is at a computer or a network node When executed on top, the illustrated computer or network node is caused to perform the methods of the foregoing method embodiments.
  • the "first” in the first network node mentioned in the embodiment of the present invention is only used for the name identification, and does not represent the first in the order. The same rules apply to "second” and "third".
  • any of the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as the cells may or may not be Physical units can be located in one place or distributed to multiple network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • the connection relationship between the modules indicates that there is a communication connection between them, and specifically may be implemented as one or more communication buses or signal lines.
  • the steps of the method or algorithm described in the disclosure of the embodiments of the present invention may be implemented in a hardware manner, or may be implemented by a processor executing software instructions.
  • the software instructions may be composed of corresponding software modules, which may be stored in a random access memory (RAM), a flash memory, a read only memory (ROM), an erasable programmable read only memory ( Erasable programmable ROM (EPROM), electrically erasable programmable read only memory (EEPROM), hard disk, removable hard disk, optical disk, or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor to enable the processor to read information from, and write information to, the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and the storage medium can be located in an ASIC. Additionally, the ASIC can be located in a core network interface device.
  • the processor and the storage medium may also exist as discrete components in the core network interface device.
  • the functions described herein can be implemented in hardware, software, firmware, or any combination thereof.
  • the functions may be stored in a computer readable medium or transmitted as one or more instructions or code on a computer readable medium.
  • Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another.
  • a storage medium may be any available media that can be accessed by a general purpose or special purpose computer.

Landscapes

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

Abstract

本申请公开了一种报文处理的方法、网络节点和系统。该方法包括:第一网络节点获得包含段列表的第一报文,段列表包含用于转发第一报文的路径上的网络节点的段标识;第一网络节点从段列表中获得第二网络节点的段标识,第二网络节点为路径上第一网络节点的下一跳段节点;第一网络节点将第一报文的目的地址替换为第二网络节点的段标识,并将第一网络节点的网络性能参数包含到段列表中,生成第二报文;第一网络节点将第二报文向第二网络节点发送。通过使用段列表来承载第一网络节点的网络性能参数,使得网络性能参数传递更加便捷,可以实现在第一网络节点转发报文的同时,将第一网络节点的网络性能参数发送到第二网络节点。

Description

一种报文处理的方法、网络节点和系统
本申请要求于2017年12月27日提交中国国家知识产权局、申请号为201711451059.2、申请名称为“一种报文处理的方法、网络节点和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信领域,尤其涉及一种报文处理的方法、网络节点和系统。
背景技术
段路由(segment routing,SR)是一种源路由机制,可以使网络获得更佳的可扩展性,并以更加简单、灵活的方式提供流量工程(traffic engineering,TE)和多协议标签交换(multiprotocol label switching,MPLS)虚拟专用网络(virtual private network,VPN)等功能。在软件定义网络(software-defined networking,SDN)网络架构中,SR将为网络提供和上层应用快速交互的能力。当SR部署在第六版因特网协议(Internet Protocol version 6,IPv6)数据平面上时,称为SRv6。现有技术中,对SRv6网络的性能测量主要是基于流标签(flow label,FL)对报文进行染色的方法来记录网络性能参数,比如时间戳或数据包数目,然后再通过集中式控制器来获得不同节点的网络性能参数,从而在控制器上实现SRv6的网络性能的测量。但是目前的方法都需要通过特定的协议来获得网络性能参数,实现复杂度高,不灵活。
发明内容
本申请提供了一种报文处理的方法、网络节点和系统,用于提供一种灵活的网络性能参数发送的方法,进而有利于实现灵活的网络性能计算。
第一方面,本发明实施例提供了一种报文处理的方法,该方法包括:第一网络节点获得包含段列表的第一报文,段列表包含用于转发第一报文的路径上的网络节点的段标识;第一网络节点从段列表中获得第二网络节点的段标识,第二网络节点为路径上第一网络节点的下一跳段节点;第一网络节点将第一报文的目的地址替换为第二网络节点的段标识,并将第一网络节点的网络性能参数包含到段列表中,生成第二报文;第一网络节点将第二报文向第二网络节点发送。所述第一网络节点的网络性能参数用于所述第二网络节点计算网络性能。
采用上述方法,第一网络节点在利用报文中的段列表进行报文转发的过程中,使用段列表来承载第一网络节点的网络性能参数,使得网络性能参数传递更加便捷,可以实现在第一网络节点转发报文的同时,将第一网络节点的网络性能参数发送到第二网络节点。第二网络节点直接可以使用第一网络节点的网络性能参数计算网络性能,网络性能计算更加灵活。
在一种可能的设计中,网络性能参数包括第一网络节点发送第二报文时的时间,或者,网络性能参数包括第一网络节点在发送第二报文前接收到的对应业务标识的业务报文的 数量,对应该业务标识的业务报文沿着该路径转发。通过在网络性能参数中包含第一网络节点发送第二报文时的时间或第一网络节点接收到的业务报文的数量,能够实现对报文转发时延或报文丢包数的测量。
在一种可能的设计中,将第一网络节点的网络性能参数包含到第二网络节点的段标识中。在SRv6技术中,段列表用来指定一条显示转发路径,当第一网络节点为SRv6网络报文转发的入口节点时,段列表中可以不包含第一网络节点的段标识。在第一网络节点将报文的目的地址替换为段列表中第一网络节点的下一跳段节点标识后,段列表中第一网络节点的下一跳段节点标识在后续转发过程中不会再使用,因此,可以重复使用段列表中第二网络节点的段标识字段,将第一网络节点的网络性能参数包含到第二网络节点的段标识中,使得发送网络性能参数更加便捷。
在一种可能的设计中,将第一网络节点的网络性能参数存储在段列表中第二网络节点的段标识的第65比特位到第128比特位之间。
在一种可能的设计中,该段列表也可以包含第一网络节点的段标识,因此,可以将第一网络节点的网络性能参数包含到第一网络节点的段标识中。
在一种可能的设计中,将第一网络节点的网络性能参数存储在段列表中第一网络节点的段标识的第65比特位到第128比特位之间。
在一种可能的设计中,当第一网络节点确定第一报文的目的地址为该第一网络节点的段标识,并且根据该第一网络节点的段标识中的功能(function)部分确定第一网络节点需要在第一报文中添加网络性能参数时,将第一网络节点的网络性能参数包含到段列表。
在一种可能的设计中,第一网络节点获得包含段列表的第一报文为对应该业务标识的业务报文。
第二方面,本发明实施例提供了一种报文处理的方法,该方法包括:第二网络节点接收包含段列表的报文,该段列表包含用于转发该报文的路径上的网络节点的段标识,该段列表中的第一段标识包含第一网络节点的第一网络性能参数;第二网络节点确定所述报文的目的地址为该第二网络节点的段标识;响应于第二网络节点确定报文的目的地址为第二网络节点的段标识,第二网络节点根据第一网络性能参数计算网络性能。
采用上述方法,第二网络节点接收通过段列表来携带的第一网络节点的网络性能参数,然后根据第一网络节点的网络性能参数计算网络性能,网络性能计算更加灵活。通过段列表来携带的第一网络节点的网络性能参数,使得网络性能参数传递更加便捷,可以实现在第一网络节点转发报文的同时,将第一网络节点的网络性能参数发送到第二网络节点。
在一种可能的设计中,第一网络性能参数包括第一网络节点向第二网络节点发送所述报文时的第一时间,或第一网络性能参数包括第一网络节点在发送报文前,第一网络节点接收到的对应业务标识的业务报文的第一数量,对应业务标识的业务报文沿着路径转发。该业务标识可以是业务标签,或IP地址,或IP地址和端口号的组合,或该业务标识与段列表对应。
在一种可能的设计中,第二网络节点根据所述第一网络性能参数计算网络性能包括:
第二网络节点确定第二网络节点接收到报文时的第二时间;然后确定报文从第一网络节点发送到第二网络节点的转发时延等于第二时间与第一时间的差值。
在一种可能的设计中,该段列表中的第二段标识包含第三网络节点的第二网络性能参 数,第三网络节点为路径上第一网络节点和第二网络节点之间的网络节点,第二网络性能参数包括第三网络节点向第二网络节点发送报文时的第三时间。第二网络节点根据所述第一网络性能参数计算网络性能包括:第二网络节点确定报文从第一网络节点转发到第三网络节点的转发时延等于第三时间与所述第一时间之间的差值。
在一种可能的设计中,第二网络节点根据第一网络性能参数计算网络性能包括:第二网络节点确定接收报文前,接收到的对应所述业务标识的业务报文的第二数量,然后确定对应所述业务标识的业务报文从第一网络节点转发到第二网络节点的丢包数等于该第二数量与该第一数量之间的差值。
在一种可能的设计中,段列表中的第二段标识包含第三网络节点的第二网络性能参数,第二网络性能参数包括第三网络节点转发报文时接收到的对应业务标识的业务报文的第三数量。第二网络节点根据第一网络性能参数计算网络性能包括:第二网络节点确定对应业务标识的业务报文从第一网络节点转发到第三网络节点的丢包数等于所述第三数量与所述第一数量之间的差值。
在一种可能的设计中,该第一段标识为该第二网络节点的段标识。
在一种可能的设计中,该段列表包含该第一网络节点的段标识,该第一段标识为该第一网络节点的段标识。
在一种可能的设计中,第二网络节点接收包含段列表的报文为对应该业务标识的业务报文。
第三方面,本发明实施例提供了一种第一网络节点,执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,该第一网络节点包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
第四方面,本发明实施例提供了一种第二网络节点,执行第二方面或第二方面的任意一种可能的实现方式中的方法。具体地,该第二网络节点包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的单元。
第五方面,提供了一种第一网络节点,该第一网络节点包括:处理器、网络接口和存储器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第一方面或第一方面的任意一种可能的实现方式中的方法,此处不在赘述。
第六方面,提供了一种第二网络节点,该第二网络节点包括:处理器、网络接口和存储器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第二方面或第二方面的任意一种可能的实现方式中的方法,此处不在赘述。
第七方面,提供了一种第一网络节点,该第一网络节点包括:主控板和接口板。主控板包括:第一处理器和第二存储器。接口板包括:第二处理器、第二存储器和接口卡。主控板和接口板耦合。第一存储器可以用于存储程序代码,第一处理器用于调用第一存储器中的程序代码执行如下操作:获得包含段列表的第一报文,该段列表包含用于转发第一报文的路径上的网络节点的段标识;从段列表中获得第二网络节点的段标识,第二网络节点为路径上第一网络节点的下一跳段节点;将第一报文的目的地址替换为第二网络节点的段标识,并将第一网络节点的网络性能参数包含到段列表中,生成第二报文。
第二存储器可以用于存储程序代码,第二处理器用于调用第二存储器中的程序代码执行如下操作:将该第二报文向第二网络节点发送。
第八方面,提供了一种第二网络节点,该第二网络节点包括:主控板和接口板。主控板包括:第一处理器和第二存储器。接口板包括:第二处理器、第二存储器和接口卡。主控板和接口板耦合。第二存储器可以用于存储程序代码,第二处理器用于调用第二存储器中的程序代码执行如下操作:接收包含第一网络节点发送的包含段列表的报文,该段列表包含用于转发该报文的路径上的网络节点的段标识,该段列表中的第一段标识包含第一网络节点的第一网络性能参数。第一存储器可以用于存储程序代码,第一处理器用于调用第一存储器中的程序代码执行如下操作:确定该报文的目的地址为第二网络节点的段标识,并根据所述第一网络性能参数计算网络性能。
在一种可能的实现方式中,主控板和接口板之间建立进程间通信协议(inter-process communication,IPC)控制通道。
第九方面,提供了一种业务报文处理的系统,该系统前述方面提供的第一网络节点和第二网络节点。
第十方面,提供了一种计算机存储介质,用于储存为上述第一网络节点或第二所用的计算机软件指令,其包括用于执行上述方面所设计的程序。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中使用的附图作简单地介绍。显而易见地,下面附图只是本发明的一些实施例的附图,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得同样能实现本发明的其他技术方案和附图。
图1为本发明实施例提供的一种报文处理方法的应用场景示意图;
图2为本发明实施例提供的一种报文处理方法的流程示意图;
图3为本发明实施例提供的一种报文处理方法的流程示意图;
图4为本发明实施例提供的基于图1所示应用场景的报文转发示意图;
图5为本发明实施例提供的基于图1所示应用场景的报文转发示意图;
图6为本发明实施例提供的一种报文处理方法的流程示意图;
图7为本发明实施例提供的一种第一网络节点的结构示意图;
图8为本发明实施例提供的一种第一网络节点的结构示意图;
图9为本发明实施例提供的一种第一网络节点的结构示意图;
图10为本发明实施例提供的一种第一网络节点的结构示意图;
图11为本发明实施例提供的一种第二网络节点的结构示意图;
图12为本发明实施例提供的一种第二网络节点的结构示意图;
图13为本发明实施例提供的一种第二网络节点的结构示意图;
图14为本发明实施例提供的一种第二网络节点的结构示意图;
图15为本发明实施例提供的一种报文处理系统的示意图。
具体实施方式
下面结合附图,对本发明的实施例进行描述。
在SRv6网络的报文转发过程中,SRv6网络的报文转发的入口设备会对报文添加段路由头(segment routing header,SRH),该SRH包含用于标识转发路径的段列表 (segment list)。该段列表包含用于转发报文的路径上的网络节点的IPv6地址。SRv6网络的报文转发的入口设备也可以称为入口节点(ingress node)或入口运营商边界设备(provider edge,PE)。在SRv6技术中段列表中的网络节点的IPv6地址也可以称为网络节点的段标识(segment identifier,SID)。段列表也可以称为path SID List。SID占用128比特(bit)。SID包含两部分:位置(locator)和功能(function)。其中locator被用于将报文路由到SID对应的网络节点。例如:locator包含网络节点的IPv6地址的前64位。转发节点可以根据该locator将报文转发到locator对应的网络节点。function用于指示SID对应的网络节点执行相应的功能。举例来说,当网络节点接收到报文,判断报文的目的地址为所述网络节点的地址,也就是网络节点的段标识,则网络节点根据该段标识中的function执行相应的功能。关于段列表和SID的定义可以参见互联网工程任务小组(internet engineering task force,IETF)公开的与SRv6相关的草案,例如:draft-filsfils-spring-srv6-network-programming-02。
在本发明实施例中提到的控制器可以为网络管理设备或者为软件定义网络(Software-defined networking,SDN)架构下的控制器。本发明实施例中的网络节点可以为网络设备,例如:路由器、交换机、或者为SDN网络中的转发器。
图1示出了本发明实施例的一种可能的应用场景示意图。该应用场景包含支持SRv6功能的网络节点,如:网络节点101、网络节点102、网络节点103、网络节点104、网络节点105和网络节点106。在SRv6网络中,网络节点支持SRv6功能也就是网络节点支持段路由功能。网络节点101的段标识为SID 1,该SID 1为网络节点101的IPv6地址,例如A::。网络节点102的段标识为SID 2,该SID 2为网络节点102的IPv6地址,例如B::。网络节点103的段标识为SID 3,该SID 3为网络节点103的IPv6地址,例如C::。网络节点106的段标识为SID 6,该SID 6为网络节点106的IPv6地址,例如D::。当报文从网络节点101转发到网络节点106时,网络节点101可以称为SRv6网络的入口节点,网络节点106可以称为SRv6网络的出口节点(egress node)。
在SRv6网络中,对SRv6网络的网络性能测量一般基于流标签的交叉染色方案来实现。该方案利用IPv6报文的包头中的流标签的2bit,对连续的数据报文进行染色。用流标签的2bit的不同值来区分不同的数据报文,形象地称为染色。结合图1,网络节点101对连续的100个数据报文的流标签的第一bit赋值1,这100个数据报文的颜色为一种颜色。然后对接下来的100个数据报文的流标签的第一bit赋值0,这100个数据报文的颜色为第2种颜色。当网络节点106接收的数据报文的颜色发生变化时,即:前后两个数据报文的流标签的第一bit位的值不同时,网络节点106就可以记录网络性能参数。例如记录接收数据报文的时间或者接收到的属于一种颜色的数据报文的数目。为了完成性能测量,各网络节点的网络性能参数还需要进行同步。例如,通过控制器来收集各个节点的网络性能参数,然后进行网络性能测量。举例来说,网络节点101记录网络节点101已发送的包含的流标签的第一bit为1的报文的数量,并将该报文的数量发送到控制器。网络节点106记录网络节点106已接收到的包含的流标签的第一bit为1的报文的数量,并将该报文的数量也发送到控制器。控制器根据网络节点101的发送报文的数量和网络节点106的接收报文的数量进行丢包检测。上述 网络性能测量的方法中,网络节点需要将网络性能参数分别发送到控制器。因此需要预先通过特定协议在每个网络节点和控制器之间建立转发通道。上述方案实现复杂,不利于方案的扩展。
本发明实施例提供一种报文处理的方法及基于这个方法的网络节点和系统。该方法、网络节点和系统基于同一发明构思。方法、网络节点和系统解决问题的原理相似,因此网络节点、方法和系统的实施例可以相互参见,相同之处不再赘述。
结合图1所示的应用场景,参阅图2,本发明实施例提供了一种报文处理的方法,该方法包括:
S201,第一网络节点获得包含段列表的第一报文,该段列表包含用于转发第一报文的路径上的网络节点的段标识。
以第一网络节点为图1中的网络节点101为例进行举例说明。在图1所示的应用场景中,从网络节点101到网络节点106有两条路径,第一条路径经过的网络节点包括:网络节点102、网络节点103和网络节点106,第二条路径经过的网络节点包括:网络节点104、网络节点105和网络节点106。网络节点101获得第一条路径的段列表。该段列表中的SID可以按照报文经过第一路径的网络节点的倒序排列,例如,段列表为<SID 6,SID 3,SID2>。该段列表中的SID也可以按照报文经过第一路径的网络节点的正序排列,例如,段列表为<SID 2,SID 3,SID6>。该段列表可以是网络节点101预先生成的,或者是从控制器获取的。网络节点101获得第一报文的目的地址和该段列表的对应关系。例如,第一报文的目的地址为D::,第一网络节点获得地址D::和段列表<SID 2,SID 3,SID6>的对应关系。该对应关系可以预先存储在网络节点101上,也可以存储在其他网络设备上。例如,该对应关系可以预先存储在控制器上。在网络节点101接收到该第一报文时,网络节点101从控制器上获取该对应关系。在该示例中,由于网络节点101获得了通过该段列表获得了网络节点101的下一跳段节点就可以将报文沿着第一路径转发到网络节点106,因此,该段列表中可以不包含网络节点101的段标识。可选的,该段列表中也可以包含网络节点101的段标识,例如,该段列表可以为<SID6,SID 3,SID 2,SID 1>,或者<SID 1,SID 2,SID 3,SID6>。
S202,第一网络节点从该段列表中获得第二网络节点的段标识,第二网络节点为该路径上第一网络节点的下一跳段节点。该第一网络节点的下一跳段节点是指该路径上沿报文转发方向离第一网络节点最近的支持段路由功能的网络节点。
举例来说,所述段列表可以以某种数据结构的形式保存在所述第一网络节点的存储器中。所述数据结构可以是数组、链表或者结构体。例如,当所述数据结构是数组时,SID 1可以是所述数组中的第一个成员。SID 2可以是所述数组中的第二个成员。所述第一网络节点的处理器可以对所述存储器中保存的所述数组的第二个成员进行读操作,从而从所述存储器获取SID2的段标识。
S203,第一网络节点将第一报文的目的地址替换为第二网络节点的段标识,并将所述第一网络节点的网络性能参数包含到段列表中,生成第二报文。第一网络节点将第一报文的目的地址替换为第二网络节点的段标识,也就是将第一报文的目的地址字段的值更新为第二网络节点的段标识。由于第二网络节点的段标识也就是第二网络节点的IPv6地址,因此,第一网络节点将第一报文的目的地址替换为第二网络节点的段 标识,也就是将第一报文的目的地址替换为第二网络节点的IPv6地址。
在一个示例中,第一网络节点获得第一报文是指该第一网络节点生成该第一报文,举例来说,第一网络节点为图1所示场景中的网络节点101,第二网络节点为网络节点102,第一网络节点为第一报文转发路径上的入口节点。在网络节点101需要向网络设备106发送IPv6报文时,会根据网络设备106的IPv6地址D::查找段列表,然后将SRH插入到IPv6报文的IPv6报文头和报文净荷之间,SRH中包含段列表<SID6,SID 3,SID 2>。网络节点101从段列表中获得网络节点101的下一跳段节点的段标识,即:网络节点102的段节点标识SID 2,然后将第一报文的目的地址(destination address,DA)替换为SID 2,即:将第一报文的目的地址字段的值替换为SID 2。
在一个示例中,该第一报文为第一网络节点从用户设备接收到的报文,举例来说,第一网络节点为图1所示场景中的网络节点101,第二网络节点为网络节点102,网络节点101还与源用户设备连接,网络节点106与目标用户设备连接,源用户设备和目标用户设备可以不支持段路由功能。当源用户设备需要向目标用户设备发送报文时,生成目的地址为目标用户设备的地址的用户报文,然后将该用户报文发送到网络节点101。网络节点101作为SRv6网络中该用户报文转发的入口节点,在该用户报文中插入SRH,生成第一报文。该SRH中包含段列表<IPv6address,SID 6,SID 3,SID 2>,其中IPv6地址(address)为目标用户设备的IPv6地址。在本示例的另一种情况中,如果源用户设备只需向网络节点106发送报文,例如,网络节点106为服务器设备,则该段列表为<SID 6,SID 3,SID 2>。
在一个示例中,该第一报文为第一网络节点从其他支持段路由功能的网络节点接收到的报文,举例来说,第一网络节点为图1所示场景中的网络节点102,第二网络节点为网络节点103,第一网络节点为第一报文转发过程中的中间节点。第一网络节点从图1中的网络节点101接收该第一报文,网络节点101作为第一报文转发的入口节点,已经在第一报文包含了SRH,该SRH中包含段列表<SID 6,SID 3,SID 2>。
在一个示例中,第一网络节点可以将该网络性能参数包含到该段列表中的第二网络节点段标识中。例如,当第一网络节点为图1所示场景中的网络节点101,第二网络节点为网络节点102时,将第一网络节点的网络性能参数存储在段列表<SID 6,SID3,SID 2>中的SID 2中,由于每个SID包含两部分:locator和function,在将第一报文的目的地址字段的值替换为SID 2后,段列表中的SID 2就可以被重复使用,例如,将第一网络节点的网络性能参数存储在SID 2的function部分,当function部分占用SID 2的第65比特位到第128比特位时,即将第一网络节点的网络性能参数存储在SID2的第65比特位到第128比特位之间。在本示例中,locator可以只占用SID的第1到第64比特位中的任意个比特位,相应的function占用SID中除去locator占用的比特位以外的比特位,例如,locator占用SID的第1比特位到第50比特位,function可以占用SID的第51比特位到128比特位,可选地,function也可以只占用SID中第90比特位到第128比特位。
在一个示例中,当第一网络节点为图1所示场景中的网络节点101,第二网络节点为网络节点102时,该段列表还包含第一网络节点的段标识时,例如,段列表为<SID6,SID 3,SID 2,SID 1>,第一网络节点可以将第一网络节点的网络性能参数包含到该 段列表中的第一网络节点段标识中,例如将第一网络节点的网络性能参数存储在段列表<SID6,SID 3,SID 2,SID 1>中的SID 1中。
在一个示例中,当第一网络节点为图1所示场景中的网络节点101,第二网络节点为网络节点102时,该段列表不包含第一网络节点的段标识时,例如,段列表为<SID6,SID 3,SID 2>,第一网络节点可以将第一网络节点的网络性能参数包含到第一报文的其他字段中,例如ingress node类型-长度-值(type length value,TLV)中。其他网络节点可以将对应的网络性能参数存储在对应的SID中,例如将第二网络节点的网络性能参数存储在段列表<SID6,SID 3,SID 2>中的SID 2中。
S204,第一网络节点将第二报文向第二网络节点发送。
S205,第二网络节点接收该第二报文。在确定该第二报文的目的地址字段的值为第二网络节点的段标识时,获取该段列表中第一网络设备的网络性能参数,并根据该第一网络设备的网络性能参数计算网络性能。
在一个示例中,该第一网络节点的网络性能参数包括第一网络节点发送该第二报文时的第一时间。或者,第一网络节点的网络性能参数包括第一网络节点在发送该第二报文前接收到的对应业务标识的业务报文的第一数量,对应该业务标识的业务报文沿着该路径转发。
第二网络节点根据第一网络节点的网络性能参数计算网络性能可以采用如下方式中的一种或多种。
第一种方式,计算转发时延:
第二网络节点确定第二网络节点接收到该第一报文时的第二时间,然后确定该报文从第一网络节点发送到第二网络节点的转发时延为该第二时间与该第一时间的差值。
第二种方式,计算丢包数:
第二网络节点确定接收报文前,第二网络节点接收到的对应业务标识的业务报文的第二数量;第二网络节点确定对应所述业务标识的业务报文从所述第一网络节点转发到所述第二网络节点的丢包数,所述丢包数等于所述第二数量与所述第一数量之间的差值。
采用上述方法,第一网络节点在利用报文中的段列表进行报文转发的过程中,使用段列表来承载第一网络节点的网络性能参数,使得网络性能参数传递更加便捷,可以实现在第一网络节点转发报文的同时,将第一网络节点的网络性能参数发送到第二网络节点。第二网络节点直接可以使用第一网络节点的网络性能参数计算网络性能,网络性能计算更加灵活。
结合图1所示的应用场景,参阅图3,本发明实施例提供了一种报文处理的方法,该方法包括:
S301,第一网络节点获得包含段列表的第一报文,段列表包含用于转发第一报文的路径上的网络节点的段标识。
S302,第一网络节点从该段列表中获得第二网络节点的段标识,第二网络节点为路径上第一网络节点的下一跳段节点。
S303,第一网络节点将第一报文的目的地址替换为第二网络节点的段标识,并将第一网络节点的网络性能参数包含到段列表中,生成第二报文。
S304,第一网络节点将第二报文向第二网络节点发送。
在本发明实施例中,上述步骤S301、S302、S303以及S304与图2中步骤S201、S202、S203以及S204相同,详细内容请阅图2所示实施例,此处不再赘述。
S306,第二网络节点在确定该第二报文的目的地址字段的值为第二网络节点的段标识时,从第二报文中获得第三网络节点的段标识,该第三网络节点为该路径上该第二网络节点的下一跳段节点。
S307,第二网络节点将第二报文的目的地址替换为第三网络节点的段标识,并将第二网络节点的网络性能参数包含到该段列表中,生成第三报文。
在一个示例中,所述第二网络节点的网络性能参数包括所述第二网络节点向所述第三网络节点发送所述报文时的第二时间。或者,第二网络节点的网络性能参数包括第二网络节点转发该第三报文时接收到的对应该业务标识的业务报文的第二数量。
S308,第二网络节点将该第三报文向第三网络节点发送。
S309,第三网络节点接收该第三报文,在确定该第三报文的目的地址字段的值为第三网络节点的段标识时,所述第三网络节点计算网络性能。
第三网络节点进行网络性能测量可以采用如下方式中的一种或多种。
计算转发时延的第一种方式:
第三网络节点确定该第三报文从第一网络节点转发到第二网络节点的转发时延等于第二时间与第一时间之间的差值。
计算转发时延的第二种方式:
第三网络节点确定第三网络节点接收到该第三报文时的第三时间,然后确定该第三报文从第二网络节点发送到第三网络节点的转发时延等于该第三时间和所该第二时间的差值。
计算转发时延的第三种方式:
第三网络节点确定第三网络节点接收到该第三报文时的第三时间;然后确定该第三报文从第一网络节点发送到第三网络节点的转发时延为该第三时间和所该第一时间的差值。
计算丢包数的第一种方式:
第三网络节点确定对应该业务标识的业务报文从第一网络节点转发到第二网络节点的丢包数等于该第二数量和该第一数量之间的差值。
计算丢包数的第二种方式:
第三网络节点确定接收第三报文前,第三网络节点接收到的对应该业务标识的业务报文的第三数量,然后确定对应该业务标识的业务报文从第二网络节点转发到第三网络节点的丢包数等于该第三数量和该第二数量之间的差值。
计算丢包数的第三种方式:
第三网络节点确定接收第三报文前,第三网络节点接收到的对应该业务标识的业务报文的第三数量,然后确定对应该业务标识的业务报文从第一网络节点转发到第三网络节点的丢包数,该丢包数等于该第三数量和该第一数量之间的差值。
参阅图4、图5和图6,本发明实施例提供一种报文处理的方法,图4和图5为图1所示应用场景的报文转发示意图,图6为本发明实施例提供的一种报文处理方法的流程示意图,参阅图6,该方法包括:
S601,网络节点101获得向网络节点106发送的第一报文,该第一报文包括IPv6报文 头、SRH和payload,如图4中的报文格式示意表。网络节点101将第一报文的目的地址替换为SID 2,并将网络节点101的网络性能参数包含到段列表中,生成第二报文,并将第二报文向网络节点102发送。
在一个示例中,SRH包含段列表为<SID 6,SID 3,SID 2>,网络节点101的网络性能参数(network performance parameters,NPP)被包含到第一报文的段列表中的SID 2中。如图4所示将网络设备101的网络性能参数NPP1值存储在SID 2的function字段中,有就是将NPP1的值存储在SID 2的function字段中。
在一个示例中,SRH包含段列表为<SID6,SID 3,SID 2,SID 1>,网络节点101的网络性能参数NPP1包含到第一报文的段列表中的SID 1中,如图5所示将NPP1包含到SID 1的function字段中。
S602,网络节点102接收第二报文,在判断第二报文的目的地址字段的值为SID 2时,网络节点102从第二报文中的段列表中获得SID 3,并将第二报文的目的地址替换为SID 3。在判断SID 2中的function对应的功能是插入网络性能参数时,网络节点102将网络节点102的网络性能参数包含到段列表中,生成第三报文,并将第三报文向网络节点103发送。
在一个示例中,SRH包含段列表为<SID 6,SID 3,SID 2>,网络节点102的网络性能参数NPP2存储到段列表中的SID 3中,如图4所示将NPP2存储在SID 3的function字段中。
在一个示例中,SRH包含段列表为<SID 6,SID 3,SID 2,SID 1>,网络节点102的网络性能参数NPP2存储到段列表中的SID 2中,如图5所示将NPP2存储在SID 2的function字段中。
在一个示例中,网络节点101为图2所示实施例中的第一网络设备,网络节点102可为图2所示实施例中的第二网络设备。网络节点102可以根据段列表中的网络性能参数进行网络性能测量,具体计算网络性能的方式可以参考图2所示实施例,此处不在赘述。
S603,网络节点103接收第三报文,在判断第三报文的目的地址字段的值为SID 3时,网络节点103从第三报文中的段列表中获得SID 6,并将第三报文的目的地址替换为SID 6。在判断SID 3中的function对应的功能是插入网络性能参数时,网络节点103将网络节点103的网络性能参数存储到段列表,生成第四报文,并将第四报文向网络节点106发送。
本发明实施例中网络节点的网络性能参数的含义与图2或图3所示实施例中的网络性能参数类似,此处不在赘述。
在一个示例中,SRH包含段列表为<SID 6,SID 3,SID 2>,网络节点103的网络性能参数NPP3存储到段列表中的SID 6中,如图4所示将NPP2存储在SID 6的function字段中。
在一个示例中,SRH包含段列表为<SID6,SID 3,SID 2,SID 1>,网络节点103的网络性能参数NPP2存储到段列表中的SID 3中,如图5所示将NPP3存储在SID 3的function字段中。
在一个示例中,网络节点101为图3所示实施例中的第一网络设备,网络节点102为图3所示实施例中的第二网络设备,网络节点103为图3所示实施例中的第三网络设备。网络节点103可以根据段列表中的网络性能参数进行网络性能测量,具体计算网络性能的方式可以参考图3所示实施例,此处不在赘述。
S604,网络节点106接收第四报文,在判断第四报文的目的地址字段的值为SID 6,根据段列表中的网络性能参数进行网络性能测量。
在一个示例中,当段列表为<SID 6,SID 3,SID 2>时,参阅图4,每个网络节点的网络性能参数都存储在该网络节点对应的下一条段节点的段标识中,例如,网络节点101的网络性能参数NPP1存储在网络节点102的SID 2中,网络节点102的网络性能参数NPP2存储在网络节点103的SID 3中,网络节点103的网络性能参数NPP3存储在网络节点106的SID 6中。当段列表为<SID 6,SID 3,SID 2,SID1>时,参阅图5,每个网络节点的网络性能参数都存储在该网络节点的段标识中,例如,网络节点101的网络性能参数NPP1存储在网络节点101的SID 1中,网络节点102的网络性能参数NPP2存储在网络节点102的SID 2中,网络节点103的网络性能参数NPP3存储在网络节点103的SID 3中。当网络节点106接收到第四报文后,由于是段列表所指示的最后一个段节点,不需要再将网络节点106的网络性能参数包含到段列表中,只需要根据段列表中的各个网络节点的网络性能参数计算网络性能。
在一个示例中,网络节点106还连接用户设备,第四报文的目的地为该用户设备,SRH包含的段列表为<IPv6address,SID 6,SID 3,SID 2>或<IPv6address,SID 6,SID 3,SID 2,SID 1>,其中IPv6address为该用户设备的IPv6地址(address)。网络节点101存储有该用户设备的IPv6地址和该段列表的对应关系。网络节点106将SRH从第四报文中删除,并将第四报文的目的地址修改为该用户设备的IPv6地址,生成第五报文,然后网络节点106将第五报文向该用户设备发送。
在一个示例中,网络节点101为图3所示实施例中的第一网络设备,网络节点102或网络节点103为图3所示实施例中的第二网络设备,网络节点106可以是图3所示实施例中的第三网络设备。网络节点106可以是图3所示实施例中的第三网络设备,具体的网络性能测量的方式可以参考图3所示实施例,此处不在赘述。
图7示出了上述实施例中所涉及的第一网络节点的一种可能的结构示意图,该第一网络节点可以实现图2、图3或图6所示的实施例中的第一网络节点的功能。参阅图7,该第一网络节点700包括:获得单元701、生成单元702和发送单元703。这些单元可以执行上述方法示例中的相应功能,例如,获得单元701,用于执行上述方法实施例中第一网络节点执行的各种信息获取;生成单元702,执行上述方法实施例中第一网络节点执行的各种信息生成;发送单元703,用于执行上述方法实施例中第一网络节点执行的各种信息发送。举例来说,获得单元701,用于获得包含段列表的第一报文,段列表包含用于转发第一报文的路径上的网络节点的段标识,从段列表中获得第二网络节点的段标识,第二网络节点为路径上第一网络节点的下一跳段节点;生成单元702,用于将第一报文的目的地址替换为第二网络节点的段标识,并将第一网络节点的网络性能参数包含到段列表中,生成第二报文;发送单元703,用于将第二报文向第二网络节点发送。
在采用集成的单元的情况下,图8示出了上述实施例中所涉及的第一网络节点的另一种可能的结构示意图,该第一网络节点800同样可以实现图2、图3或图6所示的实施例中的第一网络节点的功能。
第一网络节点800包括:存储单元801、处理单元802和通信单元803。处理单元 802用于对第一网络节点800的动作进行控制管理,例如,处理单元802用于支持第一网络节点800执行图2中的过程S201,S202和S203,图3中的过程S301,S302和S303,图6中的过程S601,和/或用于本文所描述的技术的其它过程。通信单元803用于支持第一网络节点800与其他网络实体的通信,例如与图2、图3或图5中示出的第二网络节点或网络节点102之间的通信。存储单元801,用于存储第一网络节点800的程序代码和数据。
其中,处理单元802可以是处理器,例如可以是中央处理器(central processing unit,CPU)、通用处理器,数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元803可以是收发器,存储单元801可以是存储器。
当处理单元802为处理器,通信单元803为收发器,存储单元801为存储器时,本发明实施例所涉及的第一网络节点可以为图9所示的第一网络节点900。
参阅图9所示,该第一网络节点900包括:处理器902、收发器903、存储器901以及总线904。其中,收发器903、处理器902以及存储器901通过总线904相互连接;总线904可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
参阅图10所示,本发明实施例提供了另一种第一网络节点1000。第一网络节点1000包括:主控板1001和接口板1002。主控板1001包括:处理器1003和存储器1004。接口板1002包括:处理器1005、存储器1006和接口卡1007。主控板1001和接口板1002耦合。
这些硬件可以实现图2、图3或图6方法示例中的第一网络节点的相应功能,例如,存储器1006可以用于存储接口板1002的程序代码,处理器1005用于调用存储器1006中的程序代码触发接口卡1007执行上述方法实施例中第一网络节点执行的各种信息接收和发送。存储器1004可以用于存储主控板1001的程序代码,处理器1003用于调用存储器1004中的程序代码执行上述方法实施例中第一网络节点除了信息收发之外的其他处理。举例来说,处理器1003,用于获得包含段列表的第一报文,该段列表包含用于转发第一报文的路径上的网络节点的段标识;从段列表中获得第二网络节点的段标识,第二网络节点为路径上第一网络节点的下一跳段节点;将第一报文的目的地址替换为第二网络节点的段标识,并将第一网络节点的网络性能参数包含到段列表中,生成第二报文;处理器1005,用于接收主控板1001发送的第二报文;接口卡1007,用于将第二报文向第二网络节点发送。存储器1004,用于存储主控板1001的程序代码和数据;存储器1006,用于存储接口板1002的程序代码和数据。
在一种可能的实现方式中,主控板1001和接口板1002之间建立IPC控制通道, 主控板1001和接口板1002之间利用该IPC控制通道进行通信。
第一网络节点1000可以为路由器或交换器或有转发功能的网络节点,第一网络节点1000能够实现前述方法实施例中的第一网络节点的功能,具体执行步骤可以参见前述方法实施例,此处不在赘述。
图11示出了上述实施例中所涉及的第二网络节点的一种可能的结构示意图,该第二网络节点1100可以实现图2、图3或图6所示的实施例中的第二网络节点的功能。参阅图11,该第二网络节点1100包括:接收单元1101,确定单元1102和处理单元1103。这些单元可以执行上述方法示例中的相应功能,例如,接收单元1101,用于执行上述方法实施例中第二网络节点执行的各种信息接收;确定单元1102,用于执行上述方法实施例中第二网络节点执行的各种信息确定;处理单元1103,用于执行上述方法实施例中第二网络节点除了信息收发和信息确定之外的其他处理。举例来说,接收单元1101,用于接收第一网络节点发送的包含段列表的报文,该段列表包含用于转发该报文的路径上的网络节点的段标识,该段列表中的第一段标识包含第一网络节点的第一网络性能参数;确定单元1102,用于确定该报文的目的地址为第二网络节点1100的段标识;处理单元1103,用于响应于所述确定单元1102确定该报文的目的地址为第二网络节点1100的段标识,根据第一网络性能参数计算网络性能。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本发明实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,接收单元和发送单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
在采用集成的单元的情况下,图12示出了上述实施例中所涉及的第二网络节点的另一种可能的结构示意图,该第二网络节点1200同样可以实现图2所述实施例中第二网络节点的功能,或实现图3所示实施例中第三网络节点的功能,或实现图6所示的实施例中的网络节点106的功能。
第二网络节点1200包括:存储单元1201、处理单元1202和通信单元1203。处理单元1202用于对第二网络节点1200的动作进行控制管理,例如,处理单元1202用于支持第二网络节点1200执行图2中的过程S205,图3中的过程S309,图6中的过程S604,和/或用于本文所描述的技术的其它过程。通信单元1203用于支持第二网络节点1200与其他网络实体的通信,例如,与图2中的第一网络设备之间的通信,或与图3或图6中示出的第二网络节点或网络节点103之间的通信。存储单元1201,用于存储第二网络节点1200的程序代码和数据。
其中,处理单元1202可以是处理器,例如可以是CPU、通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元1203可以是收发器。存储单元1201可以是存储器。
当处理单元1202为处理器,通信单元1203为收发器,存储单元1201为存储器时,本发明实施例所涉及的第二网络节点可以为图13所示的第二网络节点1300。
参阅图13所示,该第二网络节点1300包括:处理器1302、收发器1303、存储器1301以及总线1304。其中,收发器1303、处理器1302以及存储器1301通过总线1304相互连接;总线1304可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
参阅图14所示,本发明实施例提供了另一种第二网络节点1400。第一网络节点1400包括:主控板1401和接口板1402。主控板1401包括:处理器1403和存储器1404。接口板1402包括:处理器1405、存储器1406和接口卡1407。主控板1401和接口板1402耦合。
这些硬件可以实现图2所述实施例中第二网络节点的功能,或实现图3所示实施例中第三网络节点的功能,或实现图6所示的实施例中的网络节点106的相应功能,例如,存储器1406可以用于存储接口板1402的程序代码,处理器1405用于调用存储器1406中的程序代码触发接口卡1407执行上述方法实施例中相应网络节点执行的各种信息接收和发送。存储器1404可以用于存储主控板1401的程序代码,处理器1403用于调用存储器1404中的程序代码执行上述方法实施例中相应网络节点除了信息收发之外的其他处理。举例来说,接口卡1407,用于接收包含第一网络节点发送的包含段列表的报文,该段列表包含用于转发该报文的路径上的网络节点的段标识,该段列表中的第一段标识包含第一网络节点的第一网络性能参数;处理器1405,用于向主控板1401发送的该报文;处理器1403,用于确定该报文的目的地址为第二网络节点的段标识,并根据所述第一网络性能参数计算网络性能。存储器1404,用于存储主控板1401的程序代码和数据;存储器1406,用于存储接口板1402的程序代码和数据。
在一种可能的实现方式中,主控板1401和接口板1402之间建立IPC控制通道,主控板1401和接口板1402之间利用该IPC控制通道进行通信。
第二网络节点1400可以为路由器或交换器或有转发功能的网络节点,第二网络节点1400能够实现前述方法实施例中的相应网络节点的功能,具体执行步骤可以参见前述方法实施例,此处不在赘述。
参阅图14所示,发明实施例提供了另一种业务报文处理的系统1500,该系统1500用于实现前述方法实施例中的报文处理的方法。该系统1500包括第一网络节点1501和第二网络节点1502。该第一网络节点1501和第二网络节点1502可以分别实现图2所示的实施例中的第一网络节点和第二网络节点的功能,或实现图3所示的实施例中的第一网络节点和第三网络节点的功能,或实现图6所示的实施例中的网络节点101和网络节点106的功能。例如,第一网络节点1501执行图2中的过程S201、S202、S203和S204,图3中的过程S301、S302、S303和S304,图6中的过程S601,和/或用于本文所描述的技术的第一网络节点执行的其它过程。第二网络节点1502,用于实现图2中的过程S205,图3中的过程S309,和/或用于本文所描述的技术的第二网络节点执行的其它过程。
在一个示例中,该系统1500还包括第三网络节点,该第三网络节点用于实现图3 或图所示的实施例中的第二网络节点的功能。例如,执行图3中的过程S306、S307和S308。
本发明实施例还提供了一种非易失性存储介质,用于储存前述实施例中所用的软件指令,其包括用于执行前述实施例所示的方法的程序,当其在计算机或网络节点上执行时,使得所示计算机或网络节点执行前述方法实施例中的方法。
本发明实施例中提到的第一网络节点中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”和“第三”。
需说明的是,以上描述的任意装置实施例都仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的第一网络节点或控制器实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read only memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、硬盘、移动硬盘、光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。

Claims (25)

  1. 一种报文处理的方法,其特征在于,包括:
    第一网络节点获得包含段列表的第一报文,所述段列表包含用于转发所述第一报文的路径上的网络节点的段标识;
    所述第一网络节点从所述段列表中获得第二网络节点的段标识,所述第二网络节点为所述路径上所述第一网络节点的下一跳段节点;
    所述第一网络节点将所述第一报文的目的地址替换为所述第二网络节点的段标识,并将所述第一网络节点的网络性能参数包含到所述段列表中,生成第二报文;
    所述第一网络节点将所述第二报文向所述第二网络节点发送。
  2. 根据权利要求1所述的方法,其特征在于,包括:
    所述网络性能参数包括所述第一网络节点发送所述第二报文时的时间,或者,
    所述网络性能参数包括所述第一网络节点在发送所述第二报文前接收到的对应业务标识的业务报文的数量,对应所述业务标识的业务报文沿着所述路径转发。
  3. 根据权利要求1或2所述的方法,其特征在于,所述将所述第一网络节点的网络性能参数包含到所述段列表中包括:
    将所述第一网络节点的网络性能参数包含到所述第二网络节点的段标识中。
  4. 根据权利要求3所述的方法,其特征在于,将所述第一网络节点的网络性能参数包含到所述段列表中所述第二网络节点的段标识中包括:
    将所述第一网络节点的网络性能参数存储在所述第二网络节点的段标识的第65比特位至第128比特位之间。
  5. 根据权利要求1或2所述的方法,其特征在于,所述段列表包含所述第一网络节点的段标识,所述将所述第一网络节点的网络性能参数包含到所述段列表中包括:
    将所述第一网络节点的网络性能参数包含到所述第一网络节点的段标识中。
  6. 一种报文处理的方法,其特征在于,包括:
    第二网络节点接收第一网络节点发送的包含段列表的报文,所述段列表包含用于转发所述报文的路径上的网络节点的段标识,所述段列表中的第一段标识包含所述第一网络节点的第一网络性能参数;
    所述第二网络节点确定所述报文的目的地址为所述第二网络节点的段标识;
    响应于所述第二网络节点确定所述报文的目的地址为所述第二网络节点的段标识,所述第二网络节点根据所述第一网络性能参数计算网络性能。
  7. 根据权利要求6所述的方法,其特征在于,所述第一网络性能参数包括所述第一网络节点向所述第二网络节点发送所述报文时的第一时间。
  8. 根据权利要求6所述的方法,其特征在于,所述第一网络性能参数包括所述第一网络节点在发送所述报文前,所述第一网络节点接收到的对应业务标识的业务报文的第一数量,对应所述业务标识的业务报文沿着所述路径转发。
  9. 根据权利要求7所述的方法,其特征在于,所述第二网络节点根据所述第一网络性能参数计算网络性能包括:
    所述第二网络节点确定所述第二网络节点接收到所述报文时的第二时间;
    所述第二网络节点确定所述报文从所述第一网络节点发送到所述第二网络节点的转发时延,所述转发时延等于所述第二时间与所述第一时间的差值。
  10. 根据权利要求7所述的方法,其特征在于,所述段列表中的第二段标识包含第三网络节点的第二网络性能参数,所述第三网络节点为所述路径上所述第一网络节点和所述第二网络节点之间的网络节点,所述第二网络性能参数包括所述第三网络节点向所述第二网络节点发送所述报文时的第三时间,所述第二网络节点根据所述第一网络性能参数计算网络性能包括:
    所述第二网络节点确定所述报文从所述第一网络节点转发到所述第三网络节点的转发时延,所述转发时延等于所述第三时间与所述第一时间之间的差值。
  11. 根据权利要求8所述的方法,其特征在于,所述第二网络节点根据所述第一网络性能参数计算网络性能包括:
    所述第二网络节点确定接收所述报文前,所述第二网络节点接收到的对应所述业务标识的业务报文的第二数量;
    所述第二网络节点确定对应所述业务标识的业务报文从所述第一网络节点转发到所述第二网络节点的丢包数,所述丢包数等于所述第二数量与所述第一数量之间的差值。
  12. 根据权利要求8所述的方法,其特征在于,所述段列表中的第二段标识包含第三网络节点的第二网络性能参数,所述第二网络性能参数包括所述第三网络节点转发所述报文时接收到的对应所述业务标识的业务报文的第三数量,所述第二网络节点根据所述第一网络性能参数计算网络性能包括:
    所述第二网络节点确定对应所述业务标识的业务报文从所述第一网络节点转发到所述第三网络节点的丢包数,所述丢包数等于所述第三数量与所述第一数量之间的差值。
  13. 一种第一网络节点,其特征在于,包括:
    获得单元,用于获得包含段列表的第一报文,所述段列表包含用于转发所述第一报文的路径上的网络节点的段标识,从所述段列表中获得第二网络节点的段标识,所述第二网络节点为所述路径上所述第一网络节点的下一跳段节点;
    生成单元,用于将所述第一报文的目的地址替换为所述第二网络节点的段标识,并将所述第一网络节点的网络性能参数包含到所述段列表中,生成第二报文;
    发送单元,用于将所述生成单元生成的所述第二报文向所述第二网络节点发送。
  14. 根据权利要求13所述的第一网络节点,其特征在于,所述网络性能参数包括所述发送单元发送所述第二报文时的时间,或者,所述网络性能参数包括所述发送单元在发送所述第二报文前接收到的对应业务标识的业务报文的数量,对应所述业务标识的业务报文沿着所述路径转发。
  15. 根据权利要求13或14所述的第一网络节点,其特征在于,所述生成单元将所述第一网络节点的网络性能参数包含到所述段列表中包括:
    所述生成单元将所述第一网络节点的网络性能参数包含到所述第二网络节点的段标识中。
  16. 根据权利要求15所述的第一网络节点,其特征在于,所述生成单元将所述第一网络节点的网络性能参数包含到所述段列表中所述第二网络节点段标识中包括:
    所述生成单元将所述第一网络节点的网络性能参数存储在所述段列表中所述第二网络节点段标识的第65比特位到第128比特位之间。
  17. 根据权利要求13或14所述的第一网络节点,其特征在于,所述段列表包含所述第一网络节点的段标识,所述生成单元将所述第一网络节点的网络性能参数包含到所述段列表中包括:
    所述生成单元将所述第一网络节点的网络性能参数包含到所述第一网络节点的段标识中。
  18. 一种第二网络节点,其特征在于,包括:
    接收单元,用于接收第一网络节点发送的包含段列表的报文,所述段列表包含用于转发所述报文的路径上的网络节点的段标识,所述段列表中的第一段标识包含所述第一网络节点的第一网络性能参数;
    确定单元,用于确定所述报文的目的地址为所述第二网络节点的段标识;
    处理单元,用于响应于所述确定单元确定所述报文的目的地址为所述第二网络节点的段标识,根据所述第一网络性能参数计算网络性能。
  19. 根据权利要求18所述的第二网络节点,其特征在于,所述第一网络性能参数包括所述第一网络节点向所述第二网络节点发送所述报文时的第一时间。
  20. 根据权利要求18所述的第二网络节点,其特征在于,所述第一网络性能参数包括所述第一网络节点在发送所述报文前,所述第一网络节点接收到的对应业务标识的业务报文的第一数量,对应所述业务标识的业务报文沿着所述路径转发。
  21. 根据权利要求19所述的第二网络节点,其特征在于,
    所述确定单元,还用于确定所述第二网络节点接收到所述报文时的第二时间;
    所述处理单元根据所述第一网络性能参数计算网络性能包括:
    所述处理单元确定所述报文从所述第一网络节点发送到所述第二网络节点的转发时延,所述转发时延等于所述第二时间与所述第一时间的差值。
  22. 根据权利要求19所述的第二网络节点,其特征在于,所述段列表中的第二段标识包含第三网络节点的第二网络性能参数,所述第三网络节点为所述路径上所述第一网络节点和所述第二网络节点之间的网络节点,所述第二网络性能参数包括所述第三网络节点向所述第二网络节点发送所述报文时的第三时间,所述处理单元根据所述第一网络性能参数计算网络性能包括:
    所述处理单元确定所述报文从所述第一网络节点转发到所述第三网络节点的转发时延,所述转发时延等于所述第三时间与所述第一时间之间的差值。
  23. 根据权利要求20所述的第二网络节点,其特征在于,
    所述确定单元,还用于确定接收所述报文前,所述第二网络节点接收到的对应所述业务标识的业务报文的第二数量;
    所述处理单元根据所述第一网络性能参数计算网络性能包括:
    所述处理单元确定对应所述业务标识的业务报文从所述第一网络节点转发到所述第二网络节点的丢包数,所述丢包数等于所述第二数量与所述第一数量之间的差值。
  24. 根据权利要求20所述的第二网络节点,其特征在于,所述段列表中的第二段标识包含第三网络节点的第二网络性能参数,所述第二网络性能参数包括所述第三网络节点转发所述报文时接收到的对应所述业务标识的业务报文的第三数量,所述处理单元根据所述第一网络性能参数计算网络性能包括:
    所述处理单元确定对应所述业务标识的业务报文从所述第一网络节点转发到所述第三网络节点的丢包数,所述丢包数等于所述第三数量与所述第一数量之间的差值。
  25. 一种计算机可读介质,包括指令,当其被计算机执行时,使得所述计算机执行如权利要求1至12任意一项所述的方法。
PCT/CN2018/123292 2017-12-27 2018-12-25 一种报文处理的方法、网络节点和系统 WO2019128950A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP18894635.4A EP3720063A4 (en) 2017-12-27 2018-12-25 PACKAGE, NETWORK NODE AND SYSTEM PROCESSING PROCESS
US16/911,715 US11570285B2 (en) 2017-12-27 2020-06-25 Packet processing method, network node, and system
US18/152,015 US11876883B2 (en) 2017-12-27 2023-01-09 Packet processing method, network node, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711451059.2A CN109981457B (zh) 2017-12-27 2017-12-27 一种报文处理的方法、网络节点和系统
CN201711451059.2 2017-12-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/911,715 Continuation US11570285B2 (en) 2017-12-27 2020-06-25 Packet processing method, network node, and system

Publications (1)

Publication Number Publication Date
WO2019128950A1 true WO2019128950A1 (zh) 2019-07-04

Family

ID=67066591

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/123292 WO2019128950A1 (zh) 2017-12-27 2018-12-25 一种报文处理的方法、网络节点和系统

Country Status (4)

Country Link
US (2) US11570285B2 (zh)
EP (1) EP3720063A4 (zh)
CN (2) CN109981457B (zh)
WO (1) WO2019128950A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021047320A1 (zh) * 2019-09-11 2021-03-18 华为技术有限公司 一种转发路径的确定方法及装置
CN113259238A (zh) * 2020-02-07 2021-08-13 中国移动通信有限公司研究院 分段标识的处理方法及设备
WO2021169297A1 (zh) * 2020-02-26 2021-09-02 华为技术有限公司 一种传输节点标识的方法、设备及系统
US11165699B2 (en) 2019-11-14 2021-11-02 Cisco Technology, Inc. Packet tracing mechanism in a network leveraging SRV6
WO2022001365A1 (zh) * 2020-06-28 2022-01-06 中兴通讯股份有限公司 信息交互、隧道建立方法、装置、通信节点及存储介质
WO2022057779A1 (zh) * 2020-09-21 2022-03-24 华为技术有限公司 一种实现业务路径检测的方法、设备和系统
CN115499335A (zh) * 2021-06-01 2022-12-20 中国移动通信有限公司研究院 一种网络性能测量方法、装置、通信设备和存储介质

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981457B (zh) 2017-12-27 2021-09-07 华为技术有限公司 一种报文处理的方法、网络节点和系统
US11184235B2 (en) 2018-03-06 2021-11-23 Cisco Technology, Inc. In-band direct mode performance loss measurement in software defined networks
CN114598642A (zh) 2018-06-25 2022-06-07 华为技术有限公司 发送网络性能参数、计算网络性能的方法和网络节点
CN112350934A (zh) * 2019-08-07 2021-02-09 中国电信股份有限公司 数据传输方法、网络节点和数据传输系统
CN116319617A (zh) * 2019-08-31 2023-06-23 华为技术有限公司 一种在sr网络中转发报文的方法、设备和系统
CN112468396B (zh) * 2019-09-06 2022-05-31 华为技术有限公司 主机网络性能需求可编程化的方法、设备和系统
CN112468394B (zh) * 2019-09-09 2022-09-27 中国移动通信有限公司研究院 一种保护倒换的方法、节点设备和存储介质
CN112468311B (zh) * 2019-09-09 2023-01-03 中国移动通信有限公司研究院 一种保护倒换的方法、节点设备和存储介质
CN113812119B (zh) * 2019-09-21 2023-04-18 华为技术有限公司 用于性能测量的网络节点
CN110689114B (zh) * 2019-09-24 2023-07-18 Oppo广东移动通信有限公司 网络节点处理方法、装置、存储介质及电子设备
CN112583745A (zh) * 2019-09-27 2021-03-30 华为技术有限公司 一种在sr网络中转发报文的方法、设备和系统
CN112688984B (zh) * 2019-10-18 2023-11-24 中国移动通信有限公司研究院 一种向网络节点下发及执行指令的方法、设备及介质
CN112714061A (zh) * 2019-10-24 2021-04-27 华为技术有限公司 路由方法和装置
CN112751763A (zh) * 2019-10-30 2021-05-04 北京华为数字技术有限公司 一种报文转发方法、设备、存储介质及系统
WO2021083341A1 (zh) * 2019-11-01 2021-05-06 华为技术有限公司 一种报文处理的方法、网络节点和系统
CN112787922B (zh) * 2019-11-01 2024-05-14 华为技术有限公司 一种报文处理的方法、网络节点和系统
CN112787931B (zh) * 2019-11-06 2022-09-23 华为技术有限公司 报文传输方法、代理节点及存储介质
CN112787921B (zh) * 2019-11-08 2023-05-19 华为技术有限公司 报文传输方法、代理节点及存储介质
CN112822104A (zh) * 2019-11-15 2021-05-18 华为技术有限公司 一种数据报文的处理方法、设备、存储介质及系统
CN113382442B (zh) * 2020-03-09 2023-01-13 中国移动通信有限公司研究院 报文传输方法、装置、网络节点及存储介质
CN113438161B (zh) * 2020-03-23 2022-10-04 华为技术有限公司 一种生成段标识sid的方法和网络设备
EP4111650A1 (en) * 2020-04-16 2023-01-04 Huawei Technologies Co., Ltd. Mixing segments with different sizes for segment routing
CN114006846B (zh) * 2020-07-13 2023-07-21 中国移动通信有限公司研究院 IPv6数据包的传输方法及装置
US11412075B2 (en) 2020-08-31 2022-08-09 Micron Technology, Inc. Multiple protocol header processing
US11360920B2 (en) 2020-08-31 2022-06-14 Micron Technology, Inc. Mapping high-speed, point-to-point interface channels to packet virtual channels
US11418455B2 (en) * 2020-08-31 2022-08-16 Micron Technology, Inc. Transparent packet splitting and recombining
CN114531360A (zh) * 2020-10-30 2022-05-24 华为技术有限公司 一种语义名称获取方法、装置、设备及存储介质
CN112491926A (zh) * 2020-12-11 2021-03-12 迈普通信技术股份有限公司 SRv6路径质量测量方法、装置、电子设备及存储介质
CN114666259A (zh) * 2020-12-22 2022-06-24 华为技术有限公司 报文传输的方法、装置、设备、存储介质及系统
CN115277526A (zh) * 2021-04-30 2022-11-01 华为技术有限公司 一种通信方法及装置
CN113179189A (zh) * 2021-05-26 2021-07-27 锐捷网络股份有限公司 分段路由故障检测方法、装置、第一分段路由及目的路由
WO2023179457A1 (zh) * 2022-03-21 2023-09-28 华为技术有限公司 业务连接的标识方法、装置、系统及存储介质
CN116938767A (zh) * 2022-03-29 2023-10-24 中兴通讯股份有限公司 多路径端到端时延的监测方法、装置、电子设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1881908A (zh) * 2005-06-13 2006-12-20 华为技术有限公司 测量mpls网络性能参数的方法
CN105282028A (zh) * 2014-06-05 2016-01-27 中兴通讯股份有限公司 一种报文传输方法、节点及路径管理服务器
CN105871721A (zh) * 2015-01-19 2016-08-17 中兴通讯股份有限公司 一种段路由处理方法、处理装置及发送装置
US20160294702A1 (en) * 2015-03-30 2016-10-06 Alcatel-Lucent Usa, Inc. Offline optimization for traffic engineering with segment routing

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7440087B2 (en) 2004-02-24 2008-10-21 Luna Innovations Incorporated Identifying optical fiber segments and determining characteristics of an optical device under test based on fiber segment scatter pattern data
CN101056215B (zh) * 2006-04-14 2011-04-20 华为技术有限公司 一种网络性能测量方法及系统
WO2011026264A1 (zh) 2009-09-01 2011-03-10 华为技术有限公司 隧道多业务性能的检测方法和装置
CN102035691A (zh) 2009-09-28 2011-04-27 中国移动通信集团公司 网络链路质量检测的方法及装置
US8953442B2 (en) * 2011-03-09 2015-02-10 Cray Inc. Congestion detection in a network interconnect
US9369371B2 (en) * 2012-10-05 2016-06-14 Cisco Technologies, Inc. Method and system for path monitoring using segment routing
US9565160B2 (en) 2013-03-11 2017-02-07 Cisco Technology, Inc. Advertisement of adjacency segment identifiers
US9537769B2 (en) 2013-03-15 2017-01-03 Cisco Technology, Inc. Opportunistic compression of routing segment identifier stacks
CN105874752B (zh) * 2013-12-31 2020-07-21 华为技术有限公司 一种用于一个或多个时延段的源路由的系统和方法
US9762488B2 (en) * 2014-03-06 2017-09-12 Cisco Technology, Inc. Segment routing extension headers
JP6313864B2 (ja) * 2014-10-27 2018-04-18 株式会社日立製作所 ストリームデータの処理方法及びストリームデータ処理装置
US9667560B2 (en) * 2014-12-24 2017-05-30 Nicira, Inc. Flow sequencing
CN105871722B (zh) 2015-01-19 2020-02-14 中兴通讯股份有限公司 标签构造以及标签报文转发方法及装置
US10270691B2 (en) 2016-02-29 2019-04-23 Cisco Technology, Inc. System and method for dataplane-signaled packet capture in a segment routing environment
CN107171882B (zh) 2016-03-08 2021-02-09 华为技术有限公司 检测等价多路径路由功能的方法、设备和系统
US10348648B2 (en) * 2016-05-17 2019-07-09 Cisco Technology, Inc. Service chain overlay network operations visibility via data packets
US10177995B2 (en) * 2016-07-26 2019-01-08 Cisco Technology, Inc. Scalable service level agreement (SLA) verification and action using a data plane
US10148560B2 (en) * 2016-07-28 2018-12-04 Cisco Technology, Inc. Enhanced error signaling and error handling in a network environment with segment routing
CN107689915A (zh) 2016-08-04 2018-02-13 中兴通讯股份有限公司 报文转发方法及装置
US10439920B2 (en) 2016-11-28 2019-10-08 Viavi Solutions Inc. Network performance monitoring
CN106657035B (zh) * 2016-12-06 2019-12-03 北京东土军悦科技有限公司 一种网络报文传输方法及装置
US10506083B2 (en) 2017-06-27 2019-12-10 Cisco Technology, Inc. Segment routing gateway storing segment routing encapsulating header used in encapsulating and forwarding of returned native packet
US10616088B2 (en) * 2017-07-13 2020-04-07 Avago Technologies International Sales Pte. Limited Apparatus and method for measurements at intermediate nodes in end-to-end performance test
US10454822B2 (en) * 2017-07-27 2019-10-22 Cisco Technology, Inc. Full-path validation in segment routing
US10469367B2 (en) 2017-10-04 2019-11-05 Cisco Technology, Inc. Segment routing network processing of packets including operations signaling and processing of packets in manners providing processing and/or memory efficiencies
CN109981457B (zh) 2017-12-27 2021-09-07 华为技术有限公司 一种报文处理的方法、网络节点和系统
US10652144B2 (en) * 2018-01-09 2020-05-12 Cisco Technology, Inc. Segment routing network processing of packets including packets having a segment identifier structure providing processing and/or memory efficiencies
US10516610B2 (en) * 2018-03-15 2019-12-24 Cisco Technology, Inc. Segment routing packet policies and functions providing processing signaling and packet forwarding efficiencies in a network
CN114598642A (zh) * 2018-06-25 2022-06-07 华为技术有限公司 发送网络性能参数、计算网络性能的方法和网络节点
US10917340B2 (en) * 2018-09-11 2021-02-09 Cisco Technology, Inc. In-situ passive performance measurement in a network environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1881908A (zh) * 2005-06-13 2006-12-20 华为技术有限公司 测量mpls网络性能参数的方法
CN105282028A (zh) * 2014-06-05 2016-01-27 中兴通讯股份有限公司 一种报文传输方法、节点及路径管理服务器
CN105871721A (zh) * 2015-01-19 2016-08-17 中兴通讯股份有限公司 一种段路由处理方法、处理装置及发送装置
US20160294702A1 (en) * 2015-03-30 2016-10-06 Alcatel-Lucent Usa, Inc. Offline optimization for traffic engineering with segment routing

Non-Patent Citations (1)

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

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021047320A1 (zh) * 2019-09-11 2021-03-18 华为技术有限公司 一种转发路径的确定方法及装置
US11165699B2 (en) 2019-11-14 2021-11-02 Cisco Technology, Inc. Packet tracing mechanism in a network leveraging SRV6
US11736397B2 (en) 2019-11-14 2023-08-22 Cisco Technology, Inc. Packet tracing mechanism in a network leveraging SRV6
CN113259238A (zh) * 2020-02-07 2021-08-13 中国移动通信有限公司研究院 分段标识的处理方法及设备
CN113259238B (zh) * 2020-02-07 2022-10-21 中国移动通信有限公司研究院 分段标识的处理方法及设备
WO2021169297A1 (zh) * 2020-02-26 2021-09-02 华为技术有限公司 一种传输节点标识的方法、设备及系统
WO2022001365A1 (zh) * 2020-06-28 2022-01-06 中兴通讯股份有限公司 信息交互、隧道建立方法、装置、通信节点及存储介质
WO2022057779A1 (zh) * 2020-09-21 2022-03-24 华为技术有限公司 一种实现业务路径检测的方法、设备和系统
CN115499335A (zh) * 2021-06-01 2022-12-20 中国移动通信有限公司研究院 一种网络性能测量方法、装置、通信设备和存储介质

Also Published As

Publication number Publication date
EP3720063A4 (en) 2020-12-02
CN109981457A (zh) 2019-07-05
US11570285B2 (en) 2023-01-31
US20200329129A1 (en) 2020-10-15
US11876883B2 (en) 2024-01-16
CN109981457B (zh) 2021-09-07
EP3720063A1 (en) 2020-10-07
US20230171332A1 (en) 2023-06-01
CN113904983A (zh) 2022-01-07

Similar Documents

Publication Publication Date Title
WO2019128950A1 (zh) 一种报文处理的方法、网络节点和系统
US11876695B2 (en) Path monitoring system (PMS) controller or ingress node based multiprotocal label switching (MPLS) ping and traceroute in inter-autonomous system (AS) segment routing (SR) networks
US11792100B2 (en) Network performance parameter sending method, network performance calculation method, and network node
US11438254B2 (en) Apparatus and method to trace packets in a packet processing pipeline of a software defined networking switch
EP3643022B1 (en) A method for establishing segment routing for ipv6 tunnel
US10164838B2 (en) Seamless segment routing
EP3278503B1 (en) Method of packet marking for flow analytics
US9503344B2 (en) Data path performance measurement using network traffic in a software defined network
JP7468969B2 (ja) 第1のネットワークノードにおいて使用される装置及びコントローラにおいて使用される装置
KR20210092304A (ko) 패킷 처리 방법 및 장치, 기기, 그리고 시스템
US9397913B1 (en) Packet loss measurement in a distributed data plane
US20230216788A1 (en) Systems and methods for securing network paths
US11765077B1 (en) Ping and traceroute in inter-autonomous system (AS) segment routing (SR) networks without requiring headend router or path monitoring system (PMS) controller knowledge of topology outside of origin AS
CN113489646B (zh) 基于vxlan的分段路由传输方法、服务器、源节点及存储介质
US8532101B2 (en) System and method for providing co-signaled return label switch paths
US20130259057A1 (en) Pseudowire groups in a packet switched network
US20130258871A1 (en) Psuedowire extended group messaging in a packet switched network
US20140269737A1 (en) System, method and apparatus for lsp setup using inter-domain abr indication
CN110838965A (zh) 一种隧道建立方法以及接收节点
JP2015512590A (ja) パケット交換網における擬似回線拡張グループアクション

Legal Events

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

Ref document number: 18894635

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018894635

Country of ref document: EP

Effective date: 20200701