WO2021244262A1 - 一种报文处理方法、设备及系统 - Google Patents

一种报文处理方法、设备及系统 Download PDF

Info

Publication number
WO2021244262A1
WO2021244262A1 PCT/CN2021/093970 CN2021093970W WO2021244262A1 WO 2021244262 A1 WO2021244262 A1 WO 2021244262A1 CN 2021093970 W CN2021093970 W CN 2021093970W WO 2021244262 A1 WO2021244262 A1 WO 2021244262A1
Authority
WO
WIPO (PCT)
Prior art keywords
ipv6
option
information
header
network device
Prior art date
Application number
PCT/CN2021/093970
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 BR112022024749A priority Critical patent/BR112022024749A2/pt
Priority to EP21818645.0A priority patent/EP4152716A4/en
Priority to CA3181307A priority patent/CA3181307A1/en
Priority to KR1020227046385A priority patent/KR20230017886A/ko
Priority to MX2022015463A priority patent/MX2022015463A/es
Priority to JP2022574595A priority patent/JP2023529639A/ja
Publication of WO2021244262A1 publication Critical patent/WO2021244262A1/zh
Priority to US18/061,299 priority patent/US20230091414A1/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/22Parsing or analysis of headers
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/167Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6

Definitions

  • This application relates to the field of communication technology, and in particular to a message processing method, device and system.
  • IPv6 Internet Protocol version 6
  • IPv4 Internet Engineering Task Force
  • IPv6 is the second-generation standard protocol of the network layer protocol, and is also called the Next Generation Internet Protocol (IP Next Generation, IPng).
  • IPv6 has the following characteristics: (1) IPv6 expands the Internet Protocol (IP) address length from 32 bits to 128 bits, thereby improving addressing capabilities; (2) IPv6 message headers are simplified ; (3) IPv6 supports more flexible extensions and options; (4) IPv6 supports flow labeling capabilities; and (5) IPv6 supports authentication and privacy protection capabilities.
  • IP Internet Protocol
  • RFC8200 does not specify specific actions for the extension header in IPv6 packets, and each network equipment manufacturer performs private configuration according to its own business requirements.
  • the privatization configuration of the network equipment manufacturer may affect the normal packet forwarding process of the network equipment in the IP network.
  • This application provides a message processing method, device, and system to solve the problem in the prior art that an IPv6 message cannot be normally forwarded by a network device that receives the message.
  • a message processing method includes receiving an IPv6 message sent by a first network device by a second network device, the IPv6 message including an IPv6 header and a first IPv6 extension header, and The first IPv6 extension header instructs the network device receiving the IPv6 packet to perform the action in the first IPv6 extension header in the data plane, and the first IPv6 extension header is the next header of the IPv6 header.
  • the second network device executes the action in the first IPv6 extension header in the data plane of the second network device according to the IPv6 header and the first IPv6 extension header.
  • the second network device executes the actions in the IPv6 extension header in the IPv6 packet in the corresponding processing plane, so as to ensure that the IPv6 packet can be forwarded normally by the second network device.
  • the IPv6 header includes the next header information
  • the second network device generates information on the second network device according to the IPv6 header and the first IPv6 extension header.
  • Performing the action in the first IPv6 extension header in the data plane includes: the second network device determines, according to the next header information, that the next header of the IPv6 header is the first IPv6 extension header , And execute the action in the first IPv6 extension header in the data plane of the second network device according to the first IPv6 extension header.
  • the first IPv6 extension header includes option information
  • the option information includes option type information, option length information, and option data
  • the option type information indicates the option The type of information and the length of the option data
  • the option length information indicates the length of the option data
  • the second network device uses the IPv6 header and the first IPv6 extension header in the second network
  • the method further includes: the second network device determines that the option type information can be identified; and the second network device determines according to the The option type information does not determine the length of the option data according to the option length information.
  • the first IPv6 extension header includes option information
  • the option information includes option type information, option length information, and option data
  • the option type information indicates the option The type of information and the length of the option data
  • the option length information indicates the length of the option data
  • the second network device uses the IPv6 header and the first IPv6 extension header in the second network
  • the method further includes: the second network device determines that the option type information cannot be recognized; and the second network device determines that the option type information cannot be recognized according to the The option length information determines the length of the option data.
  • the IPv6 message further includes a second IPv6 extension header
  • the second IPv6 extension header instructs the network device receiving the IPv6 message to perform all operations in the control plane.
  • the action in the second IPv6 extension header, where the second IPv6 extension header is the next header of the first IPv6 extension header, and the method further includes: the second network device according to the first IPv6 extension header And the second IPv6 extension header, performing actions in the second IPv6 extension header in the control plane of the second network device.
  • a message processing method includes: a first network device generates an IPv6 message, the IPv6 message includes an IPv6 header and a first IPv6 extension header, and the IPv6 header indicates the IPv6
  • the protocol type of the message is IPv6, the first IPv6 extension header instructs the network device receiving the IPv6 message to execute the action in the first IPv6 extension header in the data plane, and the first IPv6 extension header is The next header of the IPv6 header; and, the first network device sends the IPv6 packet to the second network device.
  • the first network device sends an IPv6 packet that carries an IPv6 header and an IPv6 extension header to the second network device. Therefore, the second network device receives the IPv6 packet sent by the first network device, and executes the IPv6 in the corresponding processing plane of the second network device according to the IPv6 header and the IPv6 extension header in the IPv6 packet. The action in the header is extended to ensure that the IPv6 packet can be forwarded normally by the second network device.
  • the first IPv6 extension header includes option information
  • the option information includes option type information, option length information, and option data
  • the option type information indicates the option information
  • the option length information indicates the length of the option data.
  • the IPv6 message further includes a second IPv6 extension header, and the second IPv6 extension header instructs the network device receiving the IPv6 message to perform all operations in the control plane.
  • the second IPv6 extension header is the next header of the first IPv6 extension header.
  • the IPv6 header includes next header information, and the next header information indicates that the next header of the IPv6 header is the first IPv6 extended header.
  • next header information further indicates that the network device receiving the IPv6 packet processes the first IPv6 extended header in the data plane.
  • the first IPv6 extension header includes option information
  • the option information includes option type information and option data
  • the option type information indicates the type of the option information And the length of the option data.
  • the first IPv6 extension header includes first option information and second option information
  • the first option information includes first option type information and first option data
  • the second option information includes second option type information and second option data
  • the first option type information indicates the type of the first option information and the length of the first option data
  • the second option The type information indicates the type of the second option information and the length of the second option data.
  • the first IPv6 extension header includes a bitmap, and the bitmap includes a first bit and a second bit, and the first bit indicates the The first option type information, and the second bit indicates the second option type information.
  • the first IPv6 extension header includes processing plane information, and the processing plane information indicates that the network device receiving the IPv6 packet executes the first IPv6 packet in the data plane. The action in an IPv6 extension header.
  • the first IPv6 extension header includes processing policy information, and the processing policy information indicates that the network device receiving the IPv6 packet treats the first IPv6 extension header Include at least one option information to perform an action.
  • the first IPv6 extension header is processed by each hop network device on the path through which the IPv6 message is delivered.
  • a network device in a third aspect, has a function of realizing the behavior of the first network device in the foregoing method.
  • the functions can be implemented based on hardware, or implemented by corresponding software based on hardware.
  • the hardware or software includes one or more modules corresponding to the above-mentioned functions.
  • the structure of the network device includes a processor and an interface, and the processor is configured to support the network device to perform corresponding functions in the foregoing method.
  • the interface is used to support communication between a network device and another network device, and to receive information or instructions involved in the foregoing method from the another network device.
  • the network device may also include a memory, which is configured to be coupled with the processor and stores program instructions and data necessary for the network device.
  • the network device includes: a processor, a transmitter, a receiver, a random access memory, a read-only memory, and a bus.
  • the processor is respectively coupled to the transmitter, the receiver, the random access memory, and the read-only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to guide the system to start, and the network device is guided to enter a normal operating state. After the network device enters the normal operating state, the application program and the action system are run in the random access memory, so that the processor executes the first aspect or the method in any possible implementation manner of the first aspect.
  • a network device in a fourth aspect, includes a main control board and an interface board, and further, may also include a switching network board.
  • the network device is used to execute the method in the first aspect or any possible implementation of the first aspect.
  • the network device includes a module for executing the first aspect or the method in any possible implementation of the first aspect.
  • a network device in a fifth aspect, includes a controller and a first forwarding sub-device.
  • the first forwarding sub-device includes: an interface board, and further, may also include a switching network board.
  • the first forwarding sub-device is used to perform the function of the interface board in the fourth aspect, and further, can also perform the function of the switching network board in the fourth aspect.
  • the controller includes a receiver, a processor, a transmitter, a random access memory, a read-only memory, and a bus. Among them, the processor is respectively coupled to the receiver, the transmitter, the random access memory, and the read-only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to guide the system to start, and the controller is guided to enter a normal operating state.
  • the application program and the action system are run in the random access memory, so that the processor executes the function of the main control board in the fourth aspect.
  • a computer storage medium for storing programs, codes, or instructions used by the aforementioned network devices.
  • the processors or hardware devices execute these programs, codes, or instructions, the first aspect of the first aspect can be completed.
  • the function or procedure of a network device is provided.
  • a network device in a seventh aspect, has a function of realizing the behavior of the second network device in the foregoing method.
  • the functions can be implemented based on hardware, or implemented by corresponding software based on hardware.
  • the hardware or software includes one or more modules corresponding to the above-mentioned functions.
  • the structure of the network device includes a processor and an interface, and the processor is configured to support the network device to perform corresponding functions in the foregoing method.
  • the interface is used to support communication between a network device and another network device, and send the information or instructions involved in the foregoing method to another network device.
  • the network device may also include a memory, which is configured to be coupled with the processor and stores program instructions and data necessary for the network device.
  • the network device includes: a processor, a transmitter, a receiver, a random access memory, a read-only memory, and a bus.
  • the processor is respectively coupled to the transmitter, the receiver, the random access memory, and the read-only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to guide the system to start, and the network device is guided to enter a normal operating state. After the network device enters the normal operating state, the application program and the action system are run in the random access memory, so that the processor executes the second aspect or the method in any possible implementation manner of the second aspect.
  • a network device in an eighth aspect, includes a main control board and an interface board, and further, may also include a switching network board.
  • the network device is used to execute the second aspect or the method in any possible implementation manner of the second aspect.
  • the network device includes a module for executing the second aspect or the method in any possible implementation manner of the second aspect.
  • a network device in a ninth aspect, includes a controller and a second forwarding sub-device.
  • the second forwarding sub-device includes: an interface board, and further, may also include a switching network board.
  • the second forwarding sub-device is used to perform the function of the interface board in the eighth aspect, and further, may also perform the function of the switching network board in the eighth aspect.
  • the controller includes a receiver, a processor, a transmitter, a random access memory, a read-only memory, and a bus. Among them, the processor is respectively coupled to the receiver, the transmitter, the random access memory, and the read-only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to guide the system to start, and the controller is guided to enter a normal operating state.
  • the application program and the action system are run in the random access memory, so that the processor executes the function of the main control board in the eighth aspect.
  • a computer storage medium for storing programs, codes, or instructions used by the above-mentioned network device.
  • the processor or hardware device executes these programs, codes or instructions, the network device in the second aspect can be completed. Function or step.
  • a network system in an eleventh aspect, includes a first network device and a second network device, the first network device being the network device in the aforementioned third aspect or the fourth aspect or the fifth aspect,
  • the second network device is the network device in the aforementioned seventh aspect or the eighth aspect or the ninth aspect.
  • the second network device after receiving the IPv6 packet sent by the first network device, performs processing in the corresponding processing plane of the second network device according to the IPv6 header and the IPv6 extension header in the IPv6 packet Perform actions in the IPv6 extension header, so as to ensure that the IPv6 packet can be normally forwarded by the second network device.
  • FIG. 1 is a schematic diagram of a communication network structure according to an embodiment of the application
  • FIG. 2 is a schematic diagram of another communication network structure according to an embodiment of this application.
  • FIG. 3 is a flowchart of a message processing method according to an embodiment of the application.
  • Fig. 4 is a format of a header of an IPv6 message according to an embodiment of the application.
  • Fig. 5 is a format of an IPv6 extension header according to an embodiment of the application.
  • Figures 6a-6c are the formats of the options of the IPv6 extended header of the embodiment of the application.
  • FIG. 7 is a schematic structural diagram of a second network device according to an embodiment of the application.
  • FIG. 8 is a schematic diagram of the hardware structure of a second network device according to an embodiment of the application.
  • FIG. 9 is a schematic diagram of the hardware structure of another second network device according to an embodiment of the application.
  • FIG. 10 is a schematic structural diagram of a first network device according to an embodiment of the application.
  • FIG. 11 is a schematic diagram of the hardware structure of a first network device according to an embodiment of the application.
  • FIG. 12 is a schematic diagram of the hardware structure of another first network device according to an embodiment of the application.
  • Fig. 1 is a schematic diagram of a communication network structure according to an embodiment of the application.
  • the communication network may be an IP network.
  • the communication network includes a first network device and a second network device.
  • the first network device may send an IPv6 packet to the second network device, and therefore, the communication network may be an IPv6 network.
  • the first network device includes a router, a three-layer switch, a terminal device or a server.
  • the second network device includes a router, a three-layer switch, a terminal device or a server.
  • the first network device or the second network device may be a hardware device, such as a router or a switch, or a virtual network device deployed on a hardware device.
  • the first network device or the second network device may include one or more forwarding boards, and each forwarding board includes A physical port for communication with other network devices, and each forwarding board may include a central processing unit (CPU).
  • CPU central processing unit
  • the first network device may send an IPv6 packet to the second network device through a wired link.
  • the first network device is a router
  • the second network device is a router.
  • the first network device may send an IPv6 packet to the second network device through a wireless link.
  • the first network device is a terminal device
  • the second network device is a base station.
  • the IPv6 packet may be generated by the first network device.
  • the first network device generates an IPv6 packet, and then sends the IPv6 packet to the second network device.
  • the IPv6 packet may also be forwarded via the first network device.
  • the first network device receives the IPv6 packet sent by the previous-hop network device of the first network device, then processes the IPv6 packet, and forwards the processed IPv6 packet to the second network device.
  • the second network device receives the IPv6 packet sent by the first network device, it processes the IPv6 packet. If the second network device is connected to a next-hop network device, the second network device may also forward the processed IPv6 packet to the next-hop device.
  • the second network device may include a control plane and a data plane.
  • the control plane is used to control and manage the operation of the network protocol in the communication network, and provide various network information and forwarding entries necessary for the data plane.
  • the data plane may also be referred to as the forwarding plane or the user plane, and is used to process and forward various types of data on the interface of the network device.
  • the second network device may also include a management plane.
  • the management plane provides input and output, user management, licenses, monitoring, configuration, alarms, statistics, etc. of management objects for system operation maintenance personnel. In a possible implementation, the management plane is not set up separately, but the functions of the management plane are included in the control plane.
  • control plane and the data plane of the second network device are implemented in the same functional entity, for example, as shown in FIG. 8 of this application.
  • FIG. 8 is a hardware implementation manner of the second network device, where the processor is used to implement the control plane and the data plane of the second network device.
  • the control plane and the data plane of the second network device are implemented in different functional entities, for example, as shown in FIG. 9 of this application.
  • Fig. 9 is another hardware implementation manner of the second network device, where the main control board is used to implement the control plane of the second network device, and the interface board is used to implement the data plane of the second network device.
  • the central processing unit in the main control board is used to implement the control plane of the second network device
  • the central processing unit in the interface board is used to implement the data plane of the second network device.
  • the main control board and interface board in Figure 9 can be implemented by two independent network devices.
  • the second network device includes two independent network devices, which respectively implement a control plane and a data plane.
  • the second network device receives an IPv6 packet sent by the first network device, where the IPv6 packet includes a packet header and a payload.
  • the message header of the IPv6 message includes an IPv6 header (section 3 of RFC8200).
  • the IPv6 header includes next header (Next Header) information, which may also be referred to as a next header field. If the value of the next header information in the IPv6 header is 0, it indicates that the next header of the IPv6 header is the Hop-by-Hop Options Header (Hop-by-Hop Options Header).
  • Hop-by-Hop Options Header Hop-by-Hop Options Header
  • the "HBH header" is used in this application to represent the hop-by-hop option header.
  • the HBH header is the next header of the IPv6 header means that the HBH header immediately follows the IPv6 header.
  • the HBH header is encapsulated between the IPv6 header and the payload of the IPv6 packet, and is adjacent to the IPv6 header.
  • the HBH header is processed by each hop network device on the path of delivering the IPv6 message.
  • the HBH header includes option information, and the option information is processed by each hop network device on the path of transferring the IPv6 message.
  • the HBH header includes option (Option) information, please refer to the explanation in section 4.2 of RFC8200.
  • the option information includes option type (Option Type) information, option data length (Opt Data Len) information, and option data.
  • the length of the option type information is 8 bits (bits).
  • the highest two bits of the option type information determine the action performed by the network device when the network device receiving the IPv6 header cannot recognize the option type information. For example, the value of the highest 2 bits is 00, which means that the network device skips the option information and continues to process the header of the IPv6 message.
  • the specific processing procedure also includes processing the header indicated by the next header information in the HBH header in the IPv6 message.
  • RFC8200 is aimed at simple actions (skipping option information or packet loss) on IPv6 packets containing HBH headers when the option type information cannot be recognized. However, RFC8200 does not propose specific actions for IPv6 packets containing HBH headers.
  • the network equipment of various manufacturers often adopts a processing method: the network equipment determines that the value of the next header information in the IPv6 header in the IPv6 packet is 0, so that the network equipment can determine that the next header of the IPv6 header is the HBH header. Then, the network device sends the IPv6 message from the data plane of the network device to the control plane of the network device. Therefore, the network device uses the control plane of the network device to process all IPv6 packets containing the HBH header. This not only increases the pressure on the control plane of the network equipment, but also may affect the normal forwarding of IPv6 packets. For example, the option type information in the HBH header can be recognized by the data plane of the network device, but cannot be recognized by the control plane of the network device.
  • the network device After confirming that the IPv6 message includes the HBH header, the network device directly uploads the IPv6 message to the control plane of the network device. After receiving the IPv6 packet, the control plane of the network device may skip the HBH header or directly discard the IPv6 packet. Therefore, this processing method affects normal IPv6 packet forwarding. For example, the network device uses the control plane of the network device to process all IPv6 packets containing the HBH header. However, the channel bandwidth resources between the data plane and the control plane of the network device are limited. A large number of IPv6 packets are sent to the control plane through this channel, which may cause packet loss due to insufficient channel bandwidth resources. Therefore, this processing method affects normal IPv6 packet forwarding.
  • the first network device sends an IPv6 packet to the second network device, and the second network device receives the IPv6 packet.
  • the IPv6 message includes an IPv6 header and an IPv6 extended header, where the IPv6 extended header instructs the network device receiving the IPv6 message to perform the action in the IPv6 extended header in the data plane or the control plane.
  • the second network device executes all operations in the corresponding processing plane of the second network device according to the IPv6 header and the IPv6 extension header in the IPv6 packet.
  • the action in the IPv6 extension header ensures that the IPv6 packet can be forwarded normally by the second network device.
  • FIG. 2 is a schematic diagram of another communication network structure according to an embodiment of the application.
  • the communication network includes routers R0, R1, R2, R3, R4, and R5.
  • routers R0, R1, R2, and R3 are connected in turn via links
  • router R4 is connected to router R2 and router R3 respectively via links.
  • the router R0 is also connected to the server through the link
  • the router R3 is also connected to the user equipment through the link.
  • the communication network also includes network management equipment, which is respectively connected to routers R1, R2, R3, and R4 through links.
  • the communication network includes an In-situ Flow Information Telemetry (iFIT) network domain, and the iFIT network domain includes routers R1, R2, R3, and R4.
  • iFIT In-situ Flow Information Telemetry
  • Router R1 is the head node of the iFIT network domain
  • router R2 and router R4 are intermediate nodes of the iFIT network domain
  • router R3 is the tail node of the iFIT network domain.
  • the router R0 may be an edge router.
  • the server can send IPv6 packets to the user equipment via the router R0 and the iFIT network domain.
  • the server can also receive the IPv6 packet sent by the user equipment via the router R0 and the iFIT network domain.
  • the description is made by assuming that the server sends an IPv6 packet to the user equipment.
  • the network devices in the iFIT network domain can perform flow-following service performance detection on the data flow, and report the detection results to the network management device.
  • the reporting mode of the iFIT network domain can be set to tail node reporting, that is, router R4 is responsible for Report the detection result to the network management device.
  • the IPv6 extension header proposed in this application can be used to implement the performance detection of the flow-following service in the iFIT network domain.
  • the IPv6 extension header proposed in this application is an improvement of the HBH header defined in RFC8200, so it can be called a "new HBH header".
  • the "HBH header” refers to the HBH header defined in RFC8200
  • the "new HBH header” refers to the IPv6 extended header proposed by this application.
  • the router R1 is the head node of the iFIT network domain, and is responsible for initiating corresponding inspections based on the performance inspection tasks of the flow service received from the network management equipment. Specifically, router R1 receives a message (may be an IPv6 message) sent by router R0. The first new HBH header is encapsulated in the message to obtain an IPv6 message. The IPv6 message includes an IPv6 header and a first new HBH header. The first new HBH header is the next header of the IPv6 header. The router R1 sends the IPv6 message to the router R2.
  • a message may be an IPv6 message
  • the first new HBH header is encapsulated in the message to obtain an IPv6 message.
  • the IPv6 message includes an IPv6 header and a first new HBH header.
  • the first new HBH header is the next header of the IPv6 header.
  • the router R1 sends the IPv6 message to the router R2.
  • the router R2 After the router R2 receives the IPv6 packet, it can be determined according to the IPv6 header and the first new HBH header that the action in the first new HBH header needs to be executed in the data plane of the router R2.
  • the first new HBH header includes option information, and the type indicated by the option type information in the option information is flow service performance detection (for example, detection in the iFIT network domain).
  • the option data in the option information indicates the specific action corresponding to the detection task (for example, delayed detection).
  • the router R2 runs the detection task according to the indication of the option type information, and executes specific actions according to the indication of the option data, and adds the detection result to the option data in the option information. Then router R2 sends the updated IPv6 packet to router R3.
  • the router R3 performs the flow service performance detection in the same implementation manner as the router R2, and reports the detection result to the network management device.
  • the IPv6 message also includes an iFIT header.
  • the iFIT header can be encapsulated in the payload of the IPv6 message.
  • the performance detection of the flow-following service in the iFIT network domain can be realized.
  • the router R1 may directly send the received IPv6 packet to the control plane of the router R1.
  • the control plane of the router R1 may skip the HBH header or directly discard the IPv6 packet, which may result in the failure to perform flow service performance detection and may affect normal IPv6 packet forwarding.
  • the network equipment in the network may come from different vendors. According to the description of RFC8200, the definition of the corresponding actions of the HBH header is determined by the configuration of the network equipment. Therefore, the configuration of different vendors may be different, resulting in the failure of service intercommunication.
  • Fig. 3 is a flowchart of a message processing method according to an embodiment of the application.
  • the method shown in FIG. 3 can be applied to the network structure shown in FIG. 1 or FIG. 2.
  • the “first network device” and “the second network device” are used for description.
  • the “first network device” may be the router R1 in FIG. 2
  • the “second network device” The “equipment” can be the router R2 or the router R3 in Figure 2.
  • the method includes:
  • a first network device generates an IPv6 packet, where the IPv6 packet includes an IPv6 header and a first IPv6 extension header, and the first IPv6 extension header instructs the network device receiving the IPv6 packet to execute the IPv6 packet in the data plane. Action in the first IPv6 extension header.
  • the first network device sends the IPv6 packet to a second network device.
  • the first network device receives the first packet sent by the previous-hop network device of the first network device.
  • the first message is not an IPv6 message.
  • the first network device encapsulates the first message into the IPv6 message based on the IPv6 protocol.
  • the first network device receives the first packet sent by the previous-hop network device of the first network device.
  • the first message is an IPv6 message.
  • the first network device updates the first message to obtain the IPv6 message.
  • the update process includes adding the first IPv6 extension header to the first message.
  • the first IPv6 extension header may be a new HBH header.
  • Figure 4 shows the message format of the IPv6 header and the first IPv6 extended header in the IPv6 message.
  • the IPv6 header indicates that the protocol type of the IPv6 message is IPv6.
  • the IPv6 header includes version (Version) information, traffic class (Traffic Class) information, flow label (Flow Label) information, payload length (Payload Length) information, next header (Next Header) information, and hop limit (Hop Limit). ) Information, source address (Source Address) information, and destination (Destination Address) address information.
  • the value of the next header information in the IPv6 header (for the convenience of description, the next header information in the IPv6 header is referred to as "first next header information" below) has a value of TBD.
  • TBD indicates that the next header of the IPv6 header is the first IPv6 extended header. That is, the first IPv6 extension header is encapsulated between the IPv6 header and the payload of the IPv6 packet, and is adjacent to the IPv6 header, as shown in FIG. 4.
  • TBD is only an exemplary representation, and the specific value can be determined by the relevant standards organization.
  • the value of the first next header information as TBD not only indicates that the next header of the IPv6 header is the first IPv6 extended header. Moreover, the value of the first next header information is TBD can also indicate that the network device receiving the IPv6 packet processes the first IPv6 extended header in the data plane. In other words, if the network device that receives the IPv6 packet determines that the value of the first next header information is TBD, it will keep the IPv6 packet in the data plane of the network device for processing, instead of The IPv6 message is sent to the control plane of the network device for processing. This is obviously different from the implementation of the HBH header in RFC8200 in the foregoing implementation manner.
  • the first IPv6 extension header is processed by each hop network device on the path through which the IPv6 packet is delivered. That is to say, every hop of the network device on the IPv6 packet transfer path will check and process the first IPv6 extended packet. Further, the first IPv6 extension header includes option information, and the option information is processed by each hop network device on the path through which the IPv6 message is delivered.
  • the first IPv6 extension header includes next header information, header extension length (Hdr Ext Len) information, and option information.
  • the value of the first next header information is TBD, indicating that the next header of the IPv6 header is the first IPv6 extension header, and instructing the network device receiving the IPv6 packet to process the data plane
  • the first IPv6 extension header The option information in the first IPv6 extension header stores specific actions that need to be performed in the data plane. Further, the option information includes option data, and the option data stores specific actions that need to be performed in the data plane. For a specific implementation manner, refer to the subsequent description of this embodiment.
  • the value of the next header information in the first IPv6 extended header is 0, indicating that the next header of the first IPv6 extended header is an HBH header. That is, the HBH header defined in RFC8200 can be encapsulated after the new HBH header. In this way, the network device that receives the IPv6 packet sends the IPv6 packet to the control plane of the network device after processing the first IPv6 extension header at the data plane, and processes the HBH header in the control plane.
  • the IPv6 message also includes a payload (not shown in Figure 4). If the value of the next header information in the first IPv6 extended header indicates that there is no next header of the first IPv6 extended header, the load will immediately follow the first IPv6 extended header. If the next header of the first IPv6 extension header is an HBH header, the payload may immediately follow the HBH header. Optionally, there may be other headers before the payload.
  • the second network device receives the IPv6 packet sent by the first network device.
  • the second network device executes the action in the first IPv6 extension header in the data plane of the second network device according to the IPv6 header and the first IPv6 extension header.
  • the second network device receives the IPv6 packet sent by the first network device.
  • the IPv6 message is a data message.
  • the second network device receives the IPv6 packet through the data plane of the second network device, for example, receives the IPv6 packet through an interface board.
  • the IPv6 message includes the IPv6 header and the first IPv6 extension header.
  • the second network device acquires the IPv6 header in the IPv6 packet.
  • the second network device processes the IPv6 header. And obtain the first next header information in the IPv6 header.
  • the second network device may determine that the next header of the IPv6 header is the first IPv6 extended header according to the value of the first next header information according to the TBD, and, Determine to process the first IPv6 extension header in the data plane of the second network device.
  • the second network device does not upload the IPv6 packet to the control plane of the second network device, but continues to process the IPv6 header in the data plane of the second network device.
  • a header that is, the first IPv6 extension header.
  • the second network device After determining the first IPv6 extension header according to the IPv6 header, the second network device executes the action in the first IPv6 extension header in the data plane according to the first IPv6 extension header.
  • FIG. 6a, FIG. 6b, and FIG. 6c show an implementation manner of the option information in the first IPv6 extension header in FIG. 4. That is to say, the option information in the first IPv6 extension header may be implemented according to the manner of FIG. 6a, FIG. 6b, or FIG. 6c.
  • the option information includes option type information and option data.
  • the length of the option type information may be 8 bits.
  • the option type information not only indicates the type of the option information, but also indicates the length of the option data.
  • the value of the option type information is "11001100".
  • "11001100” also indicates that the type of the option information is "delay detection in the iFIT network domain” and the length of the option data is AA bytes. Therefore, the second network device stores the corresponding relationship between the value "11001100" and the "delay detection in the iFIT network domain" and "AA byte".
  • the second network device determines that the value of the option type information is "11001100"
  • the second network device can find the corresponding "delay detection in the iFIT network domain" and "AA bytes”. Therefore, the second network device can determine that the type of the option information is "delay detection in the iFIT network domain” and the length of the option data is AA bytes.
  • the second network device performs the action indicated by the option type information in the data plane (detects the transmission delay), and adds the detection result to the option data. Therefore, the second network device may implement the processing of the first IPv6 extension header in the data plane of the second network device. Through the implementation shown in FIG. 6a, the length of the option information is reduced, thereby reducing the length of the IPv6 message.
  • the option information includes option type information, option length information, and option data.
  • the length of the option type information may be 8 bits.
  • the definition of the option type information in FIG. 6b can be referred to the explanation of FIG. 6a, that is, the option type information not only indicates the type of the option information, but also indicates the length of the option data.
  • the option information implemented in FIG. 6b further includes option length information, and the option length information indicates the length of the option data.
  • the second network device determines whether the option type information can be identified, that is, the second network device determines whether it has the ability to parse and process the option type information. Correspondingly, if the second network device determines that the option type information can be identified, the second network device determines the length of the option data according to the option type information, and does not need to determine the length of the option data according to the option length information. The length of the option data. If the second network device determines that the option type information cannot be recognized, the second network device will determine the length of the option data according to the option length information. Through the implementation shown in FIG. 6b, it is ensured that when the option type information cannot be recognized, the second network device can skip the unrecognizable data part of the message and continue processing the recognizable part of the message.
  • the first IPv6 extension header includes first option information and second option information, the first option information includes first option type information and first option data, and the second option information includes second option information.
  • Type information and second option data the first option type information indicates the type of the first option information and the length of the first option data
  • the second option type information indicates the type of the second option information And the length of the second option data.
  • the first IPv6 extension header includes a bitmap, the bitmap includes a first bit and a second bit, the first bit indicates the first option type information, and the second The bit indicates the second option type information.
  • the option information includes a bitmap and multiple option data.
  • the length of the bitmap can be 16 bits.
  • a bitmap can be used to implement multiple option information.
  • the 16 bits of the bitmap can respectively represent 16 option types, that is, each bit represents one option type.
  • the value of the bitmap is "0000000000000011", which represents 16 option types.
  • the lowest bit in the bitmap represents option type 1
  • the second lowest bit in the bitmap represents option type 2
  • the highest bit in the bitmap represents option type 16.
  • the value of each bit is 0 or 1.
  • bit value When the bit value is 0, it means that the option type corresponding to the bit is not enabled; when the bit value is 1, it means that the option type corresponding to the bit is enabled. According to the foregoing, when the length of the bitmap is 16 bits, the number of the multiple option data is 16 at most.
  • the value of the bitmap is "0000000000000011".
  • the values from the 3rd bit to the 16th bit are all 0, which means that none of option type 3 to option type 16 is enabled.
  • the value of the first bit is 1 indicating that option type 1 (first option type information) is enabled. Therefore, the option information also includes the first option data. That is, the first option information includes the first option type information and the first option data.
  • the position and value of the first option type information in the bitmap determine the type of the first option information indicated by the first option type information and the length of the first option data.
  • the value of the second bit is 1 indicating that option type 2 (second option type information) is enabled. Therefore, the option information also includes second option data.
  • the second option information includes the second option type information and the second option data.
  • the position and value of the second option type information in the bitmap determine the type of the second option information indicated by the second option type information and the length of the second option data.
  • the IPv6 packet further includes a second IPv6 extension header
  • the second IPv6 extension header instructs the network device receiving the IPv6 packet to perform the action in the second IPv6 extension header in the control plane
  • the second IPv6 extended header is the next header of the first IPv6 extended header
  • the method further includes: the second network device is configured to: according to the first IPv6 extended header and the second IPv6 extended header, The action in the second IPv6 extension header is executed in the control plane of the second network device.
  • the IPv6 message includes an IPv6 header, and the first IPv6 extension header is the next header of the IPv6 header.
  • the first IPv6 extended header includes first next header information, and the value of the first next header information may be 0, indicating that the next header of the first IPv6 extended header is the HBH header defined in RFC8200 (No. Two IPv6 extension headers).
  • the second network device processes the first IPv6 extension header on the data plane of the second network device according to the foregoing embodiment, and according to the value of the first next header information in the first IPv6 extension header If it is 0, it is determined that the next header of the first IPv6 extension header is the HBH header.
  • the second network device may upload the IPv6 message to the control plane of the second network device, and process the HBH header in the control plane.
  • the first IPv6 extension header includes processing plane information, and the processing plane information indicates that the network device receiving the IPv6 packet performs the action in the first IPv6 extension header in the data plane.
  • a new HBH header is provided as the next header of the IPv6 header in the IPv6 message. This ensures that network devices can process IPv6 packets in the data plane.
  • the HBH header defined in RFC8200 may be extended, so that the network device can determine, according to the extended HBH header, to process the extended HBH header on the data plane or control plane of the network device.
  • the second network device receives the IPv6 packet sent by the first network device.
  • the IPv6 message includes an IPv6 header and a first IPv6 extension header.
  • the first IPv6 extended header is an extended HBH header.
  • the extended HBH header adds reserved information, and the length of the reserved information may be 2 bytes.
  • the reservation information includes processing plane information, and the second network device may determine whether to process the extended HBH header on the data plane of the second network device or to process the extended HBH header on the data plane of the second network device according to the value of the processing plane information.
  • the control plane of the network device processes the extended HBH header.
  • the value of the first next header information in the IPv6 header indicates that the next header of the IPv6 header is an extended HBH header.
  • the second network device does not directly decide to keep the IPv6 message in the data plane or send it to the control plane.
  • the second network device may further obtain the processing plane information in the reservation information in the extended HBH header.
  • the value of the processing plane information is 00, indicating the control plane.
  • the second network device determines that the value of the processing plane information is 00, the second network device sends the IPv6 packet to the control plane, and the second network device processes the extended data in the control plane. HBH header.
  • the value of the processing plane information is 11, indicating the data plane.
  • the second network device determines that the value of the processing plane information is 11, the second network device keeps the IPv6 packet in the data plane, and the second network device processes the extended HBH in the data plane Header.
  • the first IPv6 extension header includes processing policy information, and the processing policy information indicates an action performed by the network device receiving the IPv6 packet on at least one option information included in the first IPv6 extension header.
  • the reservation information in the extended HBH header may also include processing strategy information.
  • the processing policy information instructs the second network device to process multiple option information in the first IPv6 extension header.
  • the first IPv6 extension header includes option information 1, option information 2, and option information 3.
  • Option information 1, option information 2, and option information 3 are all implemented in a type-length-value (TLV) manner.
  • the action indicated by the processing strategy information is valid for option information 1, option information 2 and option information 3.
  • the new HBH header shown above may also include processing policy information, so as to implement processing of multiple option information.
  • the first IPv6 extension header is processed by each hop network device on the path through which the IPv6 packet is delivered. That is to say, every hop of the network device on the IPv6 packet transfer path will check and process the first IPv6 extended packet. Further, the first IPv6 extension header includes option information, and the option information is processed by each hop network device on the path through which the IPv6 message is delivered.
  • the first IPv6 extension header is the next header of the IPv6 header, and when there is any other extension header in the IPv6 packet, the first IPv6 extension header is located in any other extension header. Before the extension header.
  • the second network device after receiving the IPv6 packet sent by the first network device, performs processing on the corresponding processing plane of the second network device according to the IPv6 header and the IPv6 extension header in the IPv6 packet.
  • the actions in the IPv6 extension header are executed in the IPv6 extension header, so as to ensure that the IPv6 packet can be normally forwarded by the second network device.
  • FIG. 7 is a schematic structural diagram of a second network device 1000 according to an embodiment of the application.
  • the second network device 1000 shown in FIG. 7 can execute the corresponding steps performed by the second network device in the method of the foregoing embodiment.
  • the second network device is deployed in a communication network, and the communication network further includes a first network device.
  • the second network device 1000 includes a receiving unit 1002 and a processing unit 1004.
  • the receiving unit 1002 is configured to receive an IPv6 message sent by a first network device, the IPv6 message including an IPv6 header and a first IPv6 extension header, and the first IPv6 extension header indicates a network that receives the IPv6 message
  • the device executes the action in the first IPv6 extension header in the data plane;
  • the processing unit 1004 is configured to execute the action in the first IPv6 extended header in the data plane of the second network device according to the IPv6 header and the first IPv6 extended header.
  • the IPv6 header includes next header information, and the next header information indicates that the next header of the IPv6 header is the first IPv6 extended header.
  • next header information further indicates that the network device receiving the IPv6 packet processes the first IPv6 extended header in the data plane.
  • the processing unit 1004 uses It is determined according to the next header information that the next header of the IPv6 header is the first IPv6 extended header; and the processing unit 1004 is further configured to use the first IPv6 extended header in the second network
  • the action in the first IPv6 extension header is executed in the data plane of the device.
  • the first IPv6 extension header includes option information, the option information includes option type information and option data, and the option type information indicates the type of the option information and the length of the option data.
  • the first IPv6 extension header includes option information
  • the option information includes option type information, option length information, and option data
  • the option type information indicates the type of the option information and the length of the option data
  • the option length information indicates the length of the option data
  • the processing unit 1004 executes the first IPv6 in the data plane of the second network device according to the IPv6 header and the first IPv6 extension header.
  • the processing unit 1004 is further configured to: determine that the option type information can be identified; and determine the length of the option data according to the option type information and not according to the option length information.
  • the first IPv6 extension header includes option information
  • the option information includes option type information, option length information, and option data
  • the option type information indicates the type of the option information and the length of the option data
  • the option length information indicates the length of the option data
  • the processing unit 1004 executes the first IPv6 in the data plane of the second network device according to the IPv6 header and the first IPv6 extension header.
  • the processing unit 1004 is further configured to: determine that the option type information cannot be recognized; and determine the length of the option data according to the option length information.
  • the first IPv6 extension header includes first option information and second option information
  • the first option information includes first option type information and first option data
  • the second option information includes second option information.
  • Type information and second option data the first option type information indicates the type of the first option information and the length of the first option data
  • the second option type information indicates the type of the second option information And the length of the second option data.
  • the first IPv6 extension header includes a bitmap, the bitmap includes a first bit and a second bit, the first bit indicates the first option type information, and the second bit The bit indicates the second option type information.
  • the IPv6 packet further includes a second IPv6 extension header
  • the second IPv6 extension header instructs the network device receiving the IPv6 packet to perform the action in the second IPv6 extension header in the control plane
  • the second IPv6 extension header is the next header of the first IPv6 extension header
  • the processing unit 1004 is further configured to: The action in the second IPv6 extension header is executed in the control plane of the network device.
  • the first IPv6 extension header includes processing plane information, and the processing plane information indicates that the network device receiving the IPv6 packet performs the action in the first IPv6 extension header in the data plane.
  • the first IPv6 extension header includes processing policy information, and the processing policy information indicates an action performed by the network device receiving the IPv6 packet on at least one option information included in the first IPv6 extension header.
  • the second network device 1000 further includes a sending unit configured to send the processed IPv6 packet to the third network device.
  • the second network device shown in FIG. 7 can execute the corresponding steps performed by the second network device in the method of the foregoing embodiment.
  • the second network device receives the IPv6 packet sent by the first network device, and executes the IPv6 extension header in the corresponding processing plane of the second network device according to the IPv6 header and the IPv6 extension header in the IPv6 packet To ensure that the IPv6 packet can be forwarded normally by the second network device.
  • FIG. 8 is a schematic diagram of the hardware structure of the second network device 1100 according to an embodiment of the application.
  • the second network device 1100 shown in FIG. 8 can execute the corresponding steps performed by the second network device in the method of the foregoing embodiment.
  • the second network device 1100 includes a processor 1101, a memory 1102, an interface 1103, and a bus 1104.
  • the interface 1103 can be implemented in a wireless or wired manner.
  • the aforementioned processor 1101, memory 1102, and interface 1103 are connected through a bus 1104.
  • the interface 1103 may specifically include a transmitter and a receiver, which are used to send and receive information between the second network device and the first network device in the foregoing embodiment.
  • the interface 1103 is used to support receiving IPv6 packets sent by the first network device, or used to support forwarding processed IPv6 packets.
  • the interface 1103 is used to support the process S103 in FIG. 3.
  • the processor 1101 is configured to execute the processing performed by the second network device in the foregoing embodiment.
  • the processor 1101 is used to perform actions in the IPv6 extension header; and/or other processes used in the technology described herein.
  • the processor 1101 is configured to support the process S104 in FIG. 3.
  • the memory 1102 is used to store programs, codes or instructions, for example, to store the action system 11021 and application programs 11022. When the processor or hardware device executes these programs, codes or instructions, the processing involving the second network device in the method embodiment can be completed process.
  • the memory 1102 may include a read-only memory (Read-only Memory, ROM) and a random access memory (Random Access Memory, RAM).
  • the ROM includes a Basic Input/Output System (BIOS) or an embedded system
  • the RAM includes an application program and an action system.
  • BIOS Basic Input/Output System
  • the second network device 1100 needs to be operated, the system is booted by the BIOS solidified in the ROM or the bootloader in the embedded system to guide the second network device 1100 into a normal operating state. After the second network device 1100 enters the normal operating state, the application program and the action system run in the RAM, thereby completing the processing procedure involving the second network device in the method embodiment.
  • FIG. 8 only shows a simplified design of the second network device 1100.
  • the second network device may include any number of interfaces, processors or memories.
  • FIG. 9 is a schematic diagram of the hardware structure of another second network device 1200 according to an embodiment of the application.
  • the second network device 1200 shown in FIG. 9 can execute the corresponding steps performed by the second network device in the method of the foregoing embodiment.
  • the second network device 1200 includes: a main control board 1210, an interface board 1230, a switching network board 1220, and an interface board 1240.
  • the main control board 1210, the interface boards 1230 and 1240, and the switching network board 1220 are connected to the system backplane through the system bus to achieve intercommunication.
  • the main control board 1210 is used to perform functions such as system management, equipment maintenance, and protocol processing.
  • the switching network board 1220 is used to complete data exchange between various interface boards (interface boards are also called line cards or service boards).
  • the interface boards 1230 and 1240 are used to provide various service interfaces (for example, POS interface, GE interface, ATM interface, etc.), and implement data packet forwarding.
  • the interface board 1230 may include a central processing unit 1231, a forwarding entry memory 1234, a physical interface card 1233, and a network processor 1232.
  • the central processing unit 1231 is used to control and manage the interface board and communicate with the central processing unit on the main control board.
  • the forwarding entry storage 1234 is used to store forwarding entries.
  • the physical interface card 1233 is used to complete the reception and transmission of traffic.
  • the network storage 1232 is used to control the receiving and sending traffic of the physical interface card 1233 according to the forwarding entry.
  • the physical interface card 1233 is configured to receive an IPv6 packet sent by the first network device.
  • the physical interface card 1233 is also used to forward processed IPv6 packets.
  • the physical interface card 1233 After receiving the IPv6 message, the physical interface card 1233 sends the IPv6 message to the central processor 1231, and the central processor 1231 determines the IPv6 message according to the information in the header of the IPv6 message The message needs to be processed by the central processor 1231, and correspondingly, the central processor 1231 processes the IPv6 message.
  • the physical interface card 1233 sends the IPv6 message to the central processing unit 1231, and the central processing unit 1231 determines according to the information in the header of the IPv6 message
  • the IPv6 packet needs to be processed by the central processing unit 1211, the central processing unit 1231 sends the IPv6 packet to the central processing unit 1211, and the central processing unit 1211 processes the IPv6 packet.
  • the central processing unit 1231 is also used to control the network storage 1232 to obtain forwarding entries in the forwarding entry storage 1234, and the central processing unit 1231 is also used to control the network storage 1232 to forward processing to the third network device via the physical interface card 1233.
  • the following IPv6 packet is also used to control the network storage 1232 to obtain forwarding entries in the forwarding entry storage 1234, and the central processing unit 1231 is also used to control the network storage 1232 to forward processing to the third network device via the physical interface card 1233.
  • the following IPv6 packet is also used to control the network storage 1232 to obtain forwarding entries in the forwarding entry storage 1234, and the central processing unit 1231 is also used to control the network storage 1232 to forward processing to the third network device via the physical interface card 1233.
  • the actions on the interface board 1240 in the embodiment of the present invention are consistent with the actions of the interface board 1230, and will not be repeated for the sake of brevity.
  • the second network device 1200 of this embodiment may correspond to the functions and/or various steps implemented in the foregoing method embodiments, and details are not described herein again.
  • main control boards there may be one or more main control boards, and when there are more than one, it may include a main main control board and a standby main control board.
  • the switching network board may not exist, or there may be one or more. When there are more than one, the load sharing and redundant backup can be realized together. Under the centralized forwarding architecture, the second network device may not need to switch the network board, and the interface board undertakes the processing function of the service data of the entire system.
  • the second network device may have at least one switching network board, and data exchange between multiple interface boards is realized through the switching network board, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of the second network device of the distributed architecture are greater than that of the device of the centralized architecture.
  • the specific architecture used depends on the specific networking deployment scenario, and there is no restriction here.
  • an embodiment of the present application provides a computer storage medium for storing computer software instructions used for the above-mentioned second network device, which includes a program designed for executing the above-mentioned method embodiment.
  • FIG. 10 is a schematic structural diagram of a first network device 2000 according to an embodiment of the application.
  • the first network device 2000 shown in FIG. 10 can execute the corresponding steps performed by the first network device in the method of the foregoing embodiment.
  • the first network device is deployed in a communication network, and the communication network further includes a second network device.
  • the first network device 2000 includes a processing unit 2004 and a sending unit 2006.
  • the processing unit 2004 is configured to generate an IPv6 message, the IPv6 message including an IPv6 header and a first IPv6 extension header, and the first IPv6 extension header instructs the network device receiving the IPv6 message to execute in the data plane Actions in the first IPv6 extension header;
  • the sending unit 2006 is configured to send the IPv6 packet to a second network device.
  • the IPv6 header includes next header information, and the next header information indicates that the next header of the IPv6 header is the first IPv6 extended header.
  • next header information further indicates that the network device receiving the IPv6 packet processes the first IPv6 extended header in the data plane.
  • the first IPv6 extension header includes option information, the option information includes option type information and option data, and the option type information indicates the type of the option information and the length of the option data.
  • the first IPv6 extension header includes option information
  • the option information includes option type information, option length information, and option data
  • the option type information indicates the type of the option information and the length of the option data
  • the option length information indicates the length of the option data.
  • the first IPv6 extension header includes first option information and second option information
  • the first option information includes first option type information and first option data
  • the second option information includes second option information.
  • Type information and second option data the first option type information indicates the type of the first option information and the length of the first option data
  • the second option type information indicates the type of the second option information And the length of the second option data.
  • the first IPv6 extension header includes a bitmap, the bitmap includes a first bit and a second bit, the first bit indicates the first option type information, and the second bit The bit indicates the second option type information.
  • the IPv6 packet further includes a second IPv6 extension header, and the second IPv6 extension header instructs the network device receiving the IPv6 packet to perform the action in the second IPv6 extension header in the control plane,
  • the second IPv6 extension header is the next header of the first IPv6 extension header.
  • the first IPv6 extension header includes processing plane information, and the processing plane information indicates that the network device receiving the IPv6 packet performs the action in the first IPv6 extension header in the data plane.
  • the first IPv6 extension header includes processing policy information, and the processing policy information indicates an action performed by the network device receiving the IPv6 packet on at least one option information included in the first IPv6 extension header.
  • the first network device further includes a receiving unit configured to receive a packet from a previous-hop network device of the first network device.
  • the first network device shown in FIG. 10 can execute the corresponding steps performed by the first network device in the method of the foregoing embodiment.
  • the first network device sends an IPv6 packet that carries an IPv6 header and an IPv6 extension header to the second network device. Therefore, the second network device receives the IPv6 packet sent by the first network device, and executes the IPv6 in the corresponding processing plane of the second network device according to the IPv6 header and the IPv6 extension header in the IPv6 packet.
  • the action in the header is extended to ensure that the IPv6 packet can be forwarded normally by the second network device.
  • FIG. 11 is a schematic diagram of the hardware structure of the first network device 2100 according to an embodiment of the application.
  • the first network device 2100 shown in FIG. 11 can execute the corresponding steps performed by the first network device in the method of the foregoing embodiment.
  • the first network device 2100 includes a processor 2101, a memory 2102, an interface 2103, and a bus 2104.
  • the interface 2103 can be implemented in a wireless or wired manner.
  • the aforementioned processor 2101, memory 2102, and interface 2103 are connected via a bus 2104.
  • the interface 2103 may specifically include a transmitter and a receiver, which are used to send and receive information or data between the first network device and the second network device in the foregoing embodiment.
  • the interface 2103 is used to support sending IPv6 packets to the second network device; for another example, the interface 2103 is used to support receiving packets sent by the previous hop network device of the first network device.
  • the interface 2103 is used to support the process S102 in FIG. 3.
  • the processor 2101 is configured to execute the processing performed by the first network device in the foregoing embodiment.
  • the processor 2101 is used for IPv6 messages; and/or used for other processes of the technology described herein.
  • the processor 2101 is configured to support the process S101 in FIG. 3.
  • the memory 2102 includes an action system 21021 and an application program 21022, which are used to store programs, codes, or instructions. When the processor or hardware device executes these programs, codes, or instructions, the processing process involving the first network device in the method embodiment can be completed.
  • the memory 2102 may include a read-only memory (Read-only Memory, ROM) and a random access memory (Random Access Memory, RAM).
  • the ROM includes a basic input/output system (Basic Input/Output System, BIOS) or an embedded system
  • the RAM includes an application program and an action system.
  • the system is booted by the BIOS solidified in the ROM or the bootloader in the embedded system to guide the first network device 2100 into a normal operating state.
  • the application program and the action system run in the RAM, thereby completing the processing procedure involving the first network device in the method embodiment.
  • FIG. 11 only shows a simplified design of the first network device 2100.
  • the first network device may include any number of interfaces, processors or memories.
  • FIG. 12 is a schematic diagram of the hardware structure of another first network device 2200 according to an embodiment of the application.
  • the first network device 2200 shown in FIG. 12 can execute the corresponding steps performed by the first network device in the method of the foregoing embodiment.
  • the first network device 2200 includes: a main control board 2210, an interface board 2230, a switching network board 2220, and an interface board 2240.
  • the main control board 2210, the interface boards 2230 and 2240, and the switching network board 2220 are connected to the system backplane through the system bus to achieve intercommunication.
  • the main control board 2210 is used to perform functions such as system management, equipment maintenance, and protocol processing.
  • the switching network board 2220 is used to complete data exchange between various interface boards (interface boards are also called line cards or service boards).
  • the interface boards 2230 and 2240 are used to provide various service interfaces (for example, POS interface, GE interface, ATM interface, etc.), and implement data packet forwarding.
  • the interface board 2230 may include a central processing unit 2231, a forwarding entry memory 2234, a physical interface card 2233, and a network processor 2232.
  • the central processing unit 2231 is used to control and manage the interface board and communicate with the central processing unit 2211 on the main control board 2210.
  • the forwarding entry storage 2234 is used to store forwarding entries.
  • the physical interface card 2233 is used to complete the reception and transmission of traffic.
  • the network storage 2232 is used to control the receiving and sending traffic of the physical interface card 2233 according to the forwarding entry.
  • the physical interface card 2233 is used to send IPv6 to the first network device.
  • the physical interface card 2233 is also configured to receive a packet sent by the previous-hop network device of the first network device.
  • the central processing unit 2211 generates an IPv6 message, and sends the IPv6 message to the central processing unit 2231. After passing through the physical interface card 2233, the IPv6 packet is sent to the second network device.
  • the physical interface card 2233 receives a message sent by the previous-hop network device of the first network device, the central processor 2231 processes the message to obtain an IPv6 message, and the IPv6 message passes through the physical interface After the card 2233, it is sent to the second network device.
  • the central processing unit 2231 is also used to control the network storage 2232 to obtain forwarding entries in the forwarding entry storage 2234, and the central processing unit 2231 is also used to control the network storage 2232 to complete the reception and transmission of traffic via the physical interface card 2233.
  • the actions on the interface board 2240 in the embodiment of the present invention are consistent with the actions of the interface board 2230, and for the sake of brevity, the details will not be repeated.
  • the first network device 2200 of this embodiment may correspond to the functions and/or various steps implemented in the foregoing method embodiments, and details are not described herein again.
  • main control boards there may be one or more main control boards, and when there are more than one, it may include a main main control board and a standby main control board.
  • the switching network board may not exist, or there may be one or more. When there are more than one, the load sharing and redundant backup can be realized together. Under the centralized forwarding architecture, the first network device may not need to switch the network board, and the interface board undertakes the processing function of the service data of the entire system.
  • the first network device may have at least one switching network board, and data exchange between multiple interface boards is realized through the switching network board, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capability of the first network device of the distributed architecture is greater than that of the device of the centralized architecture.
  • the specific architecture used depends on the specific networking deployment scenario, and there is no restriction here.
  • an embodiment of the present application provides a computer storage medium for storing computer software instructions used for the above-mentioned first network device, which includes a program for executing the above-mentioned method embodiment.
  • the embodiment of the present application also includes a network system, the network system includes a second network device and a first network device, the second network device is the second network device in FIG. 7 or FIG. 8 or FIG. 9, so The first network device is the first network device in FIG. 10 or FIG. 11 or FIG. 12 described above.
  • the steps of the method or algorithm described in combination with the disclosure of the present application can be implemented in a hardware manner, or can be implemented in a manner in which a processor executes software instructions.
  • Software instructions can be composed of corresponding software modules, which can be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, mobile hard disk, CD-ROM or any other form of storage known in the art Medium.
  • An exemplary storage medium is coupled to the processor, so that the processor can read information from the storage medium and can write information to the storage medium.
  • the storage medium may also be an integral part of the processor.
  • the processor and the storage medium may be located in the ASIC.
  • the ASIC may be located in the user equipment.
  • the processor and the storage medium may also exist as discrete components in the user equipment.
  • Computer-readable media include computer storage media and communication media, where communication media includes any media that facilitates the transfer of a computer program from one place to another.
  • the storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer.

Abstract

一种报文处理方法、设备及系统,所述方法包括,第二网络设备接收第一网络设备发送的IPv6报文,所述IPv6报文包括IPv6报头和第一IPv6扩展报头,所述第一IPv6扩展报头指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的动作。并且,所述第二网络设备根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作。从而,确保接收IPv6报文网络设备能够正常转发IPv6报文。

Description

一种报文处理方法、设备及系统
本申请要求于2020年6月5日提交的申请号为CN 202010508115.7、发明名称为“一种报文处理方法、设备及系统”的中国专利申请和于2020年6月19日提交的申请号为CN 202010566025.3、发明名称为“一种报文处理方法、设备及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种报文处理方法、设备及系统。
背景技术
因特网协议第6版(Internet Protocol version 6,IPv6)是Internet工程任务组(Internet Engineering Task Force,IETF)设计的一套规范,是因特网协议第4版(Internet Protocol version 4,IPv4)的升级版本。IPv6是网络层协议的第二代标准协议,也被称为下一代因特网协议(IP Next Generation,IPng)。
IETF请求注解(Request For Comments,RFC)8200对IPv6的定义、报文封装格式和实现的功能进行了说明和解释。相比较IPv4,IPv6具有如下特点:(1)IPv6将因特网协议(Internet Protocol,IP)地址长度从32位扩展到128位,从而提升了寻址能力;(2)IPv6报文的头部被简化;(3)IPv6支持更加灵活的扩展项和可选项;(4)IPv6支持流标签能力;和(5)IPv6支持认证和隐私保护能力。
在实际的应用场景中,目前RFC8200没有明确针对IPv6报文中的扩展头的具体动作,各个网络设备生产商根据自身的业务需求进行私有配置。然而,网络设备生产商的私有化配置可能会影响网络设备在IP网络中的正常报文转发流程。
发明内容
本申请提供了一种报文处理方法、设备及系统,以解决现有技术中IPv6报文不能被接收该报文的网络设备正常转发的问题。
第一方面,提供了一种报文处理方法,所述方法包括,第二网络设备接收第一网络设备发送的IPv6报文,所述IPv6报文包括IPv6报头和第一IPv6扩展报头,所述第一IPv6扩展报头指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的动作,所述第一IPv6扩展报头是所述IPv6报头的下一个报头。所述第二网络设备根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作。
基于本申请提供的方案,第二网络设备在相应的处理平面中执行IPv6报文中的IPv6扩展报头中的动作,从而确保所述IPv6报文能够被所述第二网络设备正常转发。
在第一方面的一种可能的实现方式中,所述IPv6报头包括下一个报头信息,所述第二网络设备根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作,包括:所述第二网络设备根据所述下一个报头信息确定所述IPv6报头的下一个报头是所述第一IPv6扩展报头,并根据所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作。
在第一方面的又一种可能的实现方式中,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息、选项长度信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度,所述选项长度信息指示所述选项数据的 长度,所述第二网络设备根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作之前,所述方法还包括:所述第二网络设备确定能够识别所述选项类型信息;所述第二网络设备根据所述选项类型信息且不根据所述选项长度信息确定所述选项数据的长度。
在第一方面的再一种可能的实现方式中,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息、选项长度信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度,所述选项长度信息指示所述选项数据的长度,所述第二网络设备根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作之前,所述方法还包括:所述第二网络设备确定不能识别所述选项类型信息;所述第二网络设备根据所述选项长度信息确定所述选项数据的长度。
在第一方面的再一种可能的实现方式中,所述IPv6报文还包括第二IPv6扩展报头,所述第二IPv6扩展报头指示接收所述IPv6报文的网络设备在控制平面中执行所述第二IPv6扩展报头中的动作,所述第二IPv6扩展报头是所述第一IPv6扩展报头的下一个报头,所述方法还包括:所述第二网络设备根据所述第一IPv6扩展报头和所述第二IPv6扩展报头,在所述第二网络设备的控制平面中执行所述第二IPv6扩展报头中的动作。
第二方面,提供了一种报文处理方法,所述方法包括:第一网络设备生成IPv6报文,所述IPv6报文包括IPv6报头和第一IPv6扩展报头,所述IPv6报头指示所述IPv6报文的协议类型为IPv6,所述第一IPv6扩展报头指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的动作,所述第一IPv6扩展报头是所述IPv6报头的下一个报头;以及,所述第一网络设备向第二网络设备发送所述IPv6报文。
基于本申请提供的方案,第一网络设备向第二网络设备发送携带了IPv6报头和IPv6扩展报头的IPv6报文。从而,第二网络设备接收第一网络设备发送的IPv6报文,并且根据所述IPv6报文中的IPv6报头和IPv6扩展报头,在所述第二网络设备的相应的处理平面中执行所述IPv6扩展报头中的动作,从而确保所述IPv6报文能够被所述第二网络设备正常转发。
在第二方面的一种可能的实现方式中,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息、选项长度信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度,所述选项长度信息指示所述选项数据的长度。
在第二方面的又一种可能的实现方式中,所述IPv6报文还包括第二IPv6扩展报头,所述第二IPv6扩展报头指示接收所述IPv6报文的网络设备在控制平面中执行所述第二IPv6扩展报头中的动作,所述第二IPv6扩展报头是所述第一IPv6扩展报头的下一个报头。
在上述第一方面或第二方面中,可选地,所述IPv6报头包括下一个报头信息,所述下一个报头信息指示所述IPv6报头的下一个报头是所述第一IPv6扩展报头。
在上述第一方面或第二方面中,可选地,所述下一个报头信息还指示接收所述IPv6报文的网络设备在数据平面中处理所述第一IPv6扩展报头。
在上述第一方面或第二方面中,可选地,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度。
在上述第一方面或第二方面中,可选地,所述第一IPv6扩展报头包括第一选项信息和第二选项信息,所述第一选项信息包括第一选项类型信息和第一选项数据,所述第二选项信息包括第二选项类型信息和第二选项数据,所述第一选项类型信息指示所述第一选项信息的类型和所述第一选项数据的长度,所述第二选项类型信息指示所述第二选项信息的类型和所述第二选项数据的长度。
在上述第一方面或第二方面中,可选地,所述第一IPv6扩展报头包括位图,所述位图包括第一比特位和第二比特位,所述第一比特位指示所述第一选项类型信息,所述第二比特位指示所述第二选项类型信息。
在上述第一方面或第二方面中,可选地,所述第一IPv6扩展报头包括处理平面信息,所述处理平面信息指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的所述动作。
在上述第一方面或第二方面中,可选地,所述第一IPv6扩展报头包括处理策略信息,所述处理策略信息指示接收所述IPv6报文的网络设备对所述第一IPv6扩展报头包括的至少一个选项信息执行的动作。
在上述第一方面或第二方面中,可选的,所述第一IPv6扩展报头被传递所述IPv6报文的路径上的每一跳网络设备处理。
第三方面,提供了一种网络设备,所述网络设备具有实现上述方法中第一网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,网络设备的结构中包括处理器和接口,所述处理器被配置为支持网络设备执行上述方法中相应的功能。所述接口用于支持网络设备与另一网络设备之间的通信,从所述另一网络设备接收上述方法中所涉及的信息或者指令。所述网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存网络设备必要的程序指令和数据。
在另一个可能的设计中,所述网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导网络设备进入正常运行状态。在网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和动作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供一种网络设备,所述网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述网络设备用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,所述网络设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第五方面,提供一种网络设备,所述网络设备包括控制器和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设 备用于执行第四方面中的接口板的功能,进一步,还可以执行第四方面中交换网板的功能。所述控制器包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制器时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制器进入正常运行状态。在控制器进入正常运行状态后,在随机存取存储器中运行应用程序和动作系统,使得该处理器执行第四方面中主控板的功能。
第六方面,提供了一种计算机存储介质,用于储存为上述网络设备所用的程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成上述第一方面中第一网络设备的功能或步骤。
第七方面,提供了一种网络设备,所述网络设备具有实现上述方法中第二网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,网络设备的结构中包括处理器和接口,所述处理器被配置为支持网络设备执行上述方法中相应的功能。所述接口用于支持网络设备与另一网络设备之间的通信,向另一网络设备发送上述方法中所涉及的信息或者指令。所述网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存网络设备必要的程序指令和数据。
在另一个可能的设计中,所述网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导网络设备进入正常运行状态。在网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和动作系统,使得该处理器执行第二方面或第二方面的任意可能的实现方式中的方法。
第八方面,提供一种网络设备,所述网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述网络设备用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,所述网络设备包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的模块。
第九方面,提供一种网络设备,所述网络设备包括控制器和第二转发子设备。所述第二转发子设备包括:接口板,进一步,还可以包括交换网板。所述第二转发子设备用于执行第八方面中的接口板的功能,进一步,还可以执行第八方面中交换网板的功能。所述控制器包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制器时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制器进入正常运行状态。在控制器进入正常运行状态后,在随机存取存储器中运行应用程序和动作系统,使得该处理器执行第八方面中主控板的功能。
第十方面,提供了一种计算机存储介质,用于储存为上述网络设备所用的程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成上述第二方 面中网络设备的功能或步骤。
第十一方面,提供一种网络系统,所述网络系统包括第一网络设备和第二网络设备,所述第一网络设备为前述第三方面或第四方面或第五方面中的网络设备,所述第二网络设备为前述第七方面或第八方面或第九方面中的网络设备。
通过上述方案,第二网络设备在接收到第一网络设备发送的IPv6报文后,根据所述IPv6报文中的IPv6报头和IPv6扩展报头,在所述第二网络设备的相应的处理平面中执行所述IPv6扩展报头中的动作,从而确保所述IPv6报文能够被所述第二网络设备正常转发。
附图说明
图1为本申请实施例的一种通信网络结构示意图;
图2为本申请实施例的又一种通信网络结构示意图;
图3为本申请实施例的一种报文处理方法流程图;
图4为本申请实施例的一种IPv6报文的报文头的格式;
图5为本申请实施例的一种IPv6扩展报头的格式;
图6a-图6c为本申请实施例的IPv6扩展报头的选项的格式;
图7为本申请实施例的第二网络设备的结构示意图;
图8为本申请实施例的第二网络设备的硬件结构示意图;
图9为本申请实施例的另一种第二网络设备的硬件结构示意图;
图10为本申请实施例的第一网络设备的结构示意图;
图11为本申请实施例的第一网络设备的硬件结构示意图;
图12为本申请实施例的另一种第一网络设备的硬件结构示意图。
具体实施方式
下面通过具体实施例,详细说明本申请的技术方案。
图1为本申请实施例的一种通信网络结构示意图。如图1所述,所述通信网络可以是IP网络。所述通信网络包括第一网络设备和第二网络设备。其中,所述第一网络设备可以向所述第二网络设备发送IPv6报文,因此,所述通信网络可以是IPv6网络。所述第一网络设备包括路由器、三层交换机、终端设备或服务器。所述第二网络设备包括路由器、三层交换机、终端设备或服务器。所述第一网络设备或所述第二网络设备可以是硬件设备,例如一台路由器或交换机,或者是部署在硬件设备上的虚拟网络设备。当所述第一网络设备或所述第二网络设备为硬件设备时,所述第一网络设备或所述第二网络设备可以包括一个或多个转发板卡,每个转发板卡包括用于与其他网络设备通信的物理端口,而且每个转发板卡可以包括中央处理器(central processing unit,CPU)。
所述第一网络设备可以通过有线链路向所述第二网络设备发送IPv6报文,例如,所述第一网络设备是路由器,所述第二网络设备是路由器。所述第一网络设备可以通过无线链路向所述第二网络设备发送IPv6报文,例如,所述第一网络设备是终端设备,所述第二网络设备是基站。IPv6报文可以是所述第一网络设备生成的。例如,所述第一网络设备生成IPv6报文,然后向所述第二网络设备发送IPv6报文。IPv6报文也可以是经由所述第一网络设备转发的。例如,所述第一网络设备接收所述第一网络设备的上一跳网络设备发送的IPv6报文,然后处理该IPv6报文,并且向所述第二网络设 备转发处理后的IPv6报文。所述第二网络设备接收第一网路设备发送的IPv6报文后,处理该IPv6报文。如果所述第二网络设备连接有下一跳网络设备,所述第二网络设备还可以向下一跳设备转发处理后的IPv6报文。
如图1所示,所述第二网络设备可以包括控制平面和数据平面。控制平面用于控制和管理通信网络中的网络协议的运行,提供数据平面所必须的各种网络信息和转发表项。数据平面也可以被称为转发平面或用户平面,用于处理和转发网络设备的接口上的各种类型的数据。另外,所述第二网络设备还可以包括管理平面。管理平面面向系统动作维护人员,提供输入输出、用户管理、许可(license)、管理对象的监控、配置、告警、统计等。在一种可能的实现中,管理平面不被单独设立,而是管理平面的功能包括在控制平面中。
在一种可能的实现中,所述第二网络设备的控制平面和数据平面在同一个功能实体中实现,例如本申请图8所示。图8是所述第二网络设备的一种硬件实现方式,其中的处理器用于实现所述第二网络设备的控制平面和数据平面。在另一种可能的实现中,所述第二网络设备的控制平面和数据平面在不同的功能实体中实现,例如本申请图9所示。图9是所述第二网络设备的另一种硬件实现方式,其中,主控板用于实现所述第二网络设备的控制平面,接口板用于实现所述第二网络设备的数据平面。具体的,主控板中的中央处理器用于实现所述第二网络设备的控制平面,接口板中的中央处理器用于实现所述第二网络设备的数据平面。另外,在图9中的主控板和接口板可以由两台独立的网络设备实现。也就是说,所述第二网络设备包括两台独立的网络设备,分别实现控制平面和数据平面。
所述第二网络设备接收所述第一网络设备发送的IPv6报文,所述IPv6报文包括报文头和载荷。根据RFC8200的定义,所述IPv6报文的报文头包括IPv6报头(RFC8200的第3节)。所述IPv6报头中包括下一个报头(Next Header)信息,也可以称为下一个报头字段。如果所述IPv6报头中下一个报头信息的取值为0,指示所述IPv6报头的下一个报头是逐跳选项报头(Hop-by-Hop Options Header)。为了方便说明,本申请中使用“HBH报头”表示逐跳选项报头。其中,所述HBH报头是所述IPv6报头的下一个报头是指,所述HBH报头紧跟着(immediately following)所述IPv6报头。具体地,所述HBH报头被封装在所述IPv6报头和所述IPv6报文的载荷之间,并且与所述IPv6报头相邻。根据RFC8200的第4.3节的解释,所述HBH报头被传递所述IPv6报文的路径上的每一跳网络设备处理。进一步,所述HBH报头包括选项信息,所述选项信息被传递所述IPv6报文的路径上的每一跳网络设备处理。
所述HBH报头包括选项(Option)信息,可以参见RFC8200的第4.2节的解释。所述选项信息包括选项类型(Option Type)信息,选项数据长度(Opt Data Len)信息和选项数据。其中,所述选项类型信息的长度为8比特位(bits)。所述选项类型信息的最高2个比特位决定了当接收所述IPv6报头的网络设备不能识别所述选项类型信息时,该网络设备执行的动作。例如,最高2个比特位的值是00,表示网络设备跳过所述选项信息,并且继续处理所述IPv6报文的报文头。其中,具体的处理过程还包括处理所述IPv6报文中的HBH报头中的下一个报头信息指示的报头。最高2个比特位的值是01,表示网络设备丢弃所述IPv6报文。最高2个比特位的值是10或11,表示网络设备丢弃所述IPv6报文,并且发送包含因特网控制报文协议(Internet Control  Message Protocol,ICMP)参数的消息。因此,RFC8200针对不能识别选项类型信息时,对包含HBH报头的IPv6报文进行的简单动作(跳过选项信息或丢包)。但是,RFC8200没有提出对于包含HBH报头的IPv6报文的具体的动作方式。目前各个厂商的网络设备经常采用的处理方式是:网络设备确定IPv6报文中的IPv6报头中的下一个报头信息的值为0,从而网络设备能够确定出IPv6报头的下一个报头是HBH报头。然后,网络设备将该IPv6报文由网络设备的数据平面发送到网络设备的控制平面。从而,网络设备对所有包含HBH报头的IPv6报文,均使用网络设备的控制平面处理。这样,不仅增加了网络设备的控制平面的压力,而且,可能影响IPv6报文的正常转发。举例说明,HBH报头中的选项类型信息可以被网络设备的数据平面识别,但是无法被网络设备的控制平面识别。由于网络设备在确认IPv6报文中包括HBH报头后,直接将该IPv6报文上送到网络设备的控制平面。网络设备的控制平面收到IPv6报文后,可能跳过HBH报头或者直接将IPv6报文丢弃。从而,这种处理方式影响了正常的IPv6报文转发。举例说明,网络设备对所有包含HBH报头的IPv6报文,均使用网络设备的控制平面处理。但是,网络设备的数据平面与控制平面之间的通道带宽资源是有限的,大量的IPv6报文通过这个通道被上送到控制平面,可能导致由于通道带宽资源不足而导致的丢包。从而,这种处理方式影响了正常的IPv6报文转发。
针对上述问题,本申请提出了相应解决方案。参见图1,第一网络设备向第二网络设备发送IPv6报文,第二网络设备接收所述IPv6报文。所述IPv6报文包括IPv6报头和IPv6扩展报头,其中,所述IPv6扩展报头指示接收所述IPv6报文的网络设备在数据平面或控制平面中执行所述IPv6扩展报头中的动作。所述第二网络设备在接收到第一网络设备发送的IPv6报文后,根据所述IPv6报文中的IPv6报头和IPv6扩展报头,在所述第二网络设备的相应的处理平面中执行所述IPv6扩展报头中的动作,从而确保所述IPv6报文能够被所述第二网络设备正常转发。
图2为本申请实施例的又一种通信网络结构示意图。如图2所示,所述通信网络包括路由器R0、R1、R2、R3、R4和R5。其中,路由器R0、R1、R2和R3依次通过链路连接,路由器R4通过链路分别连接路由器R2和路由器R3。路由器R0还通过链路与服务器连接,路由器R3还通过链路与用户设备连接。另外,所述通信网络还包括网管设备,网管设备分别通过链路与路由器R1、R2、R3和R4连接。所述通信网络包括随流信息遥感(In-situ Flow Information Telemetry,iFIT)网络域,iFIT网络域包括路由器R1、R2、R3和R4。路由器R1是iFIT网络域的头节点,路由器R2和路由器R4是iFIT网络域的中间节点,路由器R3是iFIT网络域的尾节点。路由器R0可以是边缘路由器。服务器可以经由路由器R0和iFIT网络域向用户设备发送IPv6报文。服务器也可以经由路由器R0和iFIT网络域接收用户设备发送的IPv6报文。
在本申请实施例中,以服务器向用户设备发送IPv6报文进行说明。iFIT网络域网络域中的网络设备可以对数据流进行随流业务性能检测,并且将检测结果上报给网管设备。在图2所示的网络中,假设服务器经由路由器R0、R1、R2和R4向用户设备发送包括IPv6报文的数据流,iFIT网络域的上报方式可以被设置为尾节点上报,即路由器R4负责向网管设备上报检测结果。这样,本申请提出的IPv6扩展报头可以用来实现iFIT网络域中的随流业务性能检测。本申请提出的IPv6扩展报头是对RFC8200中定义的HBH报头的改进,因此可以被称为“新HBH报头”。在本申请实施例中,在不 增加特殊说明的情况下,“HBH报头”是指RFC8200中定义的HBH报头,“新HBH报头”是指本申请提出的IPv6扩展报头。
路由器R1是iFIT网络域的头节点,负责根据从网管设备接收到的随流业务性能检测任务,发起相应的检测。具体地,路由器R1接收路由器R0发送的报文(可能是IPv6报文)。在该报文中封装第一新HBH报头,得到IPv6报文。所述IPv6报文包括IPv6报头和第一新HBH报头。所述第一新HBH报头是所述IPv6报头的下一个报头。路由器R1将所述IPv6报文发送到路由器R2。路由器R2在接收到所述IPv6报文后,根据所述IPv6报头和所述第一新HBH报头可以确定,需要在路由器R2的数据平面中执行所述第一新HBH报头中的动作。具体地,所述第一新HBH报头包括选项信息,选项信息中的选项类型信息指示的类型是随流业务性能检测(例如iFIT网络域中的检测)。选项信息中的选项数据指示检测任务对应的具体动作(例如,延时检测)。路由器R2根据选项类型信息的指示运行检测任务,并根据选项数据的指示执行具体动作,并将检测结果添加在选项信息中的选项数据中。然后路由器R2将更新后的IPv6报文发送到路由器R3。路由器R3按照与路由器R2相同的实现方式执行随流业务性能检测,并且将检测结果上报给网管设备。所述IPv6报文还包括iFIT报头,通常,iFIT报头可以被封装在所述IPv6报文的载荷中。
在图2所示的实现方式中,基于新HBH报头,可以实现iFIT网络域的随流业务性能检测。相反,如果不使用本申请中的新HBH报头,而是使用RFC8200中定义的HBH报头作为IPv6报头的下一个报头,路由器R1可能直接将接收到的IPv6报文上送路由器R1的控制平面。路由器R1的控制平面可能跳过HBH报头或直接丢弃IPv6报文,从而导致随流业务性能检测无法进行,并且可能影响正常的IPv6报文转发。进一步,网络中的网络设备可能来自不同厂商,根据RFC8200的描述,HBH头的相应动作的定义是由网络设备配置决定的,因此可能由于不同厂商配置不同,导致业务不能互通。
图3为本申请实施例的一种报文处理方法流程图。图3所示的方法可以应用在图1或图2所示的网络结构中。在本申请实施方式中,为了方便说明,使用“第一网络设备”和“第二网络设备”进行说明,应当理解,“第一网络设备”可以是图2中的路由器R1,“第二网络设备”可以是图2中的路由器R2或路由器R3。具体地,所述方法包括:
S101、第一网络设备生成IPv6报文,所述IPv6报文包括IPv6报头和第一IPv6扩展报头,所述第一IPv6扩展报头指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的动作。
S102、所述第一网络设备向第二网络设备发送所述IPv6报文。
在一种可能的实现方式中,所述第一网络设备接收所述第一网络设备的上一跳网络设备发送的第一报文。所述第一报文不是IPv6报文。然后,所述第一网络设备基于IPv6协议将所述第一报文封装为所述IPv6报文。在另一种可能的实现方式中,所述第一网络设备接收所述第一网络设备的上一跳网络设备发送的第一报文。所述第一报文是IPv6报文。然后,所述第一网络设备更新所述第一报文,从而得到所述IPv6报文。其中,更新的过程包括在所述第一报文中增加所述第一IPv6扩展报头。
结合前述实施方式,所述第一IPv6扩展报头可以是新HBH报头。图4示出了所述IPv6报文中的IPv6报头和第一IPv6扩展报头的报文格式。所述IPv6报头指示所 述IPv6报文的协议类型为IPv6。所述IPv6报头包括版本(Version)信息、流量等级(Traffic Class)信息、流标签(Flow Label)信息、载荷长度(Payload Length)信息、下一个报头(Next Header)信息、跳数限制(Hop Limit)信息、源地址(Source Address)信息和目的(Destination Address)地址信息。举例说明,所述IPv6报头中的下一个报头信息(为了方便说明,下文将IPv6报头中的下一个报头信息称为“第一下一个报头信息”)的值为TBD。TBD表示所述IPv6报头的下一个报头为所述第一IPv6扩展报头。也就是说,所述第一IPv6扩展报头被封装在所述IPv6报头和所述IPv6报文的载荷之间,并且与所述IPv6报头相邻,如图4所示。其中,“TBD”仅是示例性的表示方式,具体取值可以由相关的标准组织确定。
所述第一下一个报头信息的值为TBD不仅指示所述IPv6报头的下一个报头为所述第一IPv6扩展报头。而且,所述第一下一个报头信息的值为TBD还可以指示接收所述IPv6报文的网络设备在数据平面处理所述第一IPv6扩展报头。也就是说,接收到所述IPv6报文的网络设备确定所述第一下一个报头信息的值为TBD,就会将所述IPv6报文保持在该网络设备的数据平面中处理,而不会将所述IPv6报文上送到该网络设备的控制平面进行处理。这明显区别前述实施方式中,RFC8200中关于HBH报头的实现方式。
在本申请实施方式中,所述第一IPv6扩展报头被传递所述IPv6报文的路径上的每一跳网络设备处理。也就是说,所述IPv6报文传递路径上的每一跳网络设备都会对所述第一IPv6扩展报文检查和处理。进一步,所述第一IPv6扩展报头包括选项信息,所述选项信息被传递所述IPv6报文的路径上的每一跳网络设备处理。
参见图4,所述第一IPv6扩展报头包括下一个报头信息、报头扩展长度(Hdr Ext Len)信息和选项信息。根据前述,所述第一下一个报头信息的值为TBD指示所述IPv6报头的下一个报头为所述第一IPv6扩展报头,并且,指示接收所述IPv6报文的网络设备在数据平面处理所述第一IPv6扩展报头。所述第一IPv6扩展报头中的选项信息存储了需要在数据平面中执行的具体动作。进一步,所述选项信息包括选项数据,所述选项数据存储了需要在数据平面中执行的具体动作。具体地实现方式,可以参见本实施方式的后续描述。在一种可能的实现方式中,所述第一IPv6扩展报头中的下一个报头信息的值为0,指示所述第一IPv6扩展报头的下一个报头是HBH报头。也就是说,在新HBH报头之后可以封装RFC8200中定义的HBH报头。如此这样,接收所述IPv6报文的网络设备在数据平面处理所述第一IPv6扩展报头之后,将所述IPv6报文上送到网络设备的控制平面,并在控制平面中处理HBH报头。
所述IPv6报文还包括载荷(未显示在图4中)。如果所述第一IPv6扩展报头中的下一个报头信息的值指示不存在所述第一IPv6扩展报头的下一个报头,所述载荷将紧跟在所述第一IPv6扩展报头之后。如果所述第一IPv6扩展报头的下一个报头是HBH报头,所述载荷可能紧跟所述HBH报头。可选地,所述载荷之前可能存在其他报头。
S103、所述第二网络设备接收所述第一网络设备发送的所述IPv6报文。
S104、所述第二网络设备根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作。
结合前述,所述第二网络设备接收所述第一网络设备发送的所述IPv6报文。举例说明,所述IPv6报文是数据报文。所述第二网络设备通过所述第二网络设备的数据平 面接收所述IPv6报文,例如,通过接口板接收所述IPv6报文。所述IPv6报文包括所述IPv6报头和所述第一IPv6扩展报头。所述第二网络设备接收到所述IPv6报文后,获取所述IPv6报文中的所述IPv6报头。然后,所述第二网络设备处理所述IPv6报头。并且获取所述IPv6报头中的所述第一下一个报头信息。举例说明,所述第二网络设备根据所述第一下一个报头信息的值为TBD,所述第二网络设备可以确定所述IPv6报头的下一个报头为所述第一IPv6扩展报头,并且,确定在所述第二网络设备的数据平面中处理所述第一IPv6扩展报头。相应的,所述第二网络设备不会将所述IPv6报文上送到所述第二网络设备的控制平面,而是在所述第二网络设备的数据平面继续处理所述IPv6报头的下一个报头,即所述第一IPv6扩展报头。
所述第二网络设备根据所述IPv6报头确定所述第一IPv6扩展报头后,根据所述第一IPv6扩展报头,在所述数据平面中执行所述第一IPv6扩展报头中的所述动作。
获取所述第一IPv6扩展报头中的选项信息,如图4所示。然后,进一步,图6a、图6b和图6c示出了图4中的所述第一IPv6扩展报头中的所述选项信息的实现方式。也就是说,所述第一IPv6扩展报头中的所述选项信息可以根据图6a、图6b或图6c的方式实现。
参见图6a,所述选项信息包括选项类型信息和选项数据。所述选项类型信息的长度可以是8比特位。所述选项类型信息不仅指示所述选项信息的类型,还指示所述选项数据的长度。举例说明,所述选项类型信息的值为“11001100”。“11001100”同时表示所述选项信息的类型是“iFIT网络域中的延时检测”和所述选项数据的长度是AA字节。因此,所述第二网络设备中保存有:值“11001100”与“iFIT网络域中的延时检测”和“AA字节”的对应关系。当所述第二网络设备确定所述选项类型信息的值为“11001100”,所述第二网络设备可以查找到对应的“iFIT网络域中的延时检测”和“AA字节”。从而,所述第二网络设备可以确定所述选项信息的类型是“iFIT网络域中的延时检测”和所述选项数据的长度是AA字节。所述第二网络设备在数据平面中执行所述选项类型信息指示的动作(对传输延时进行检测),并且将检测结果添加在所述选项数据。从而,所述第二网络设备可以实现在所述第二网络设备的数据平面中处理所述第一IPv6扩展报头。通过图6a所示的实现方式,减少了选项信息的长度,从而减少了所述IPv6报文的长度。
参见图6b,所述选项信息包括选项类型信息、选项长度信息和选项数据。所述选项类型信息的长度可以是8比特位。图6b中的选项类型信息的定义可以参见图6a的解释,也就是说,所述选项类型信息不仅指示所述选项信息的类型,还指示所述选项数据的长度。相对于图6a,图6b所实现的选项信息还包括了选项长度信息,并且,所述选项长度信息指示所述选项数据的长度。当所述第二网络设备在数据平面处理所述第一IPv6扩展报头中的选项信息时,所述第二网络设备获取所述选项信息中的所述选项类型信息。所述第二网络设备确定是否可以识别所述选项类型信息,也就是说,所述第二网络设备确定是否有能力解析并处理所述选项类型信息。相应的,如果所述第二网络设备确定能够识别所述选项类型信息,所述第二网络设备根据所述选项类型信息确定所述选项数据的长度,而不需要根据所述选项长度信息确定所述选项数据的长度。如果所述第二网络设备确定不能识别所述选项类型信息,所述第二网络设备将根据所述选项长度信息确定所述选项数据的长度。通过图6b所示的实现方式,确保选项 类型信息无法被识别时,所述第二网络设备可以跳过不能识别的报文数据部分,继续报文中可识别部分的处理。
可选地,所述第一IPv6扩展报头包括第一选项信息和第二选项信息,所述第一选项信息包括第一选项类型信息和第一选项数据,所述第二选项信息包括第二选项类型信息和第二选项数据,所述第一选项类型信息指示所述第一选项信息的类型和所述第一选项数据的长度,所述第二选项类型信息指示所述第二选项信息的类型和所述第二选项数据的长度。进一步可选地,所述第一IPv6扩展报头包括位图,所述位图包括第一比特位和第二比特位,所述第一比特位指示所述第一选项类型信息,所述第二比特位指示所述第二选项类型信息。
参见图6c,所述选项信息包括位图(bitmap)和多个选项数据。位图的长度可以为16比特位。图6c所示的实施方式,可以利用位图实现多个选项信息。具体地,位图的16个比特位分别可以表示16种选项类型,也就是说,每个比特位均代表一种选项类型。例如,位图的值为“0000000000000011”,表示16种选项类型。其中,位图中的最低位表示选项类型1,位图中的次低位表示选项类型2……位图中的最高位表示选项类型16。每一个比特位的取值为0或1。当比特位取值为0时,表示该比特位对应的选项类型不使能;当比特位取值为1时,表示该比特位对应的选项类型使能。根据前述,当位图的长度为16比特位时,所述多个选项数据的数量最多为16个。
例如,位图的值为“0000000000000011”。从第3比特位到第16比特位的值均为0,这说明从选项类型3至选项类型16均没有被使能。第1比特位的值为1表示选项类型1(第一选项类型信息)被使能。因此,所述选项信息中还包括第一选项数据。也就是说,第一选项信息包括所述第一选项类型信息和所述第一选项数据。所述第一选项类型信息在位图中的位置和取值,决定了所述第一选项类型信息所指示的所述第一选项信息的类型和所述第一选项数据的长度。同样道理,第2比特位的值为1表示选项类型2(第二选项类型信息)被使能。因此,所述选项信息中还包括第二选项数据。也就是说,第二选项信息包括所述第二选项类型信息和所述第二选项数据。所述第二选项类型信息在位图中的位置和取值,决定了所述第二选项类型信息所指示的所述第二选项信息的类型和所述第二选项数据的长度。通过上述方式,可以通过一个选项信息实现多个子选项信息的聚合。
可选地,所述IPv6报文还包括第二IPv6扩展报头,所述第二IPv6扩展报头指示接收所述IPv6报文的网络设备在控制平面中执行所述第二IPv6扩展报头中的动作,所述第二IPv6扩展报头是所述第一IPv6扩展报头的下一个报头,所述方法还包括:所述第二网络设备根据所述第一IPv6扩展报头和所述第二IPv6扩展报头,在所述第二网络设备的控制平面中执行所述第二IPv6扩展报头中的动作。
根据前述实施方式,所述IPv6报文中包括IPv6报头,并且,第一IPv6扩展报头是所述IPv6报头的下一个报头。所述第一IPv6扩展报头包括第一下一个报头信息,所述第一下一个报头信息的值可以为0,指示所述第一IPv6扩展报头的下一个报头是RFC8200中定义的HBH报头(第二IPv6扩展报头)。所述第二网络设备根据前述实施方式在所述第二网络设备的数据平面处理所述第一IPv6扩展报头,并且根据所述第一IPv6扩展报头中的所述第一下一个报头信息的值为0,确定所述第一IPv6扩展报头的下一个报头为HBH报头。根据前述实施方式,所述第二网络设备可能将所述IPv6 报文上送到所述第二网络设备的控制平面,并且在所述控制平面中处理所述HBH报头。
可选地,所述第一IPv6扩展报头包括处理平面信息,所述处理平面信息指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的所述动作。
在前述实施方式中,提供了一种新HBH报头,作为IPv6报文中的IPv6报头的下一个报头。从而确保网络设备能够将IPv6报文在数据平面中处理。在一种可能的实现方式中,可以通过扩展RFC8200中定义的HBH报头,从而,网络设备能够根据扩展的HBH报头确定在该网络设备的数据平面或控制平面处理所述扩展的HBH报头。
举例说明,第二网络设备接收第一网络设备发送的IPv6报文。所述IPv6报文包括IPv6报头和第一IPv6扩展报头。所述第一IPv6扩展报头是扩展的HBH报头。如图5所示,所述扩展的HBH报头相对于RFC8200中定义的HBH报头,增加了预留信息,所述预留信息长度可以为2字节。所述预留信息包括处理平面信息,所述第二网络设备可以根据处理平面信息的取值,确定在所述第二网络设备的数据平面处理所述扩展的HBH报头,还是在所述第二网络设备的控制平面处理所述扩展的HBH报头。根据前述实施方式,所述IPv6报头中的第一下一个报头信息的取值指示了:所述IPv6报头的下一个报头为扩展的HBH报头。所述第二网络设备在获取所述IPv6报头中的第一下一个报头信息后,不直接决定将所述IPv6报文保持在数据平面或者上送到控制平面。所述第二网络设备会进一步获取所述扩展的HBH报头中的所述预留信息中的所述处理平面信息。例如,所述处理平面信息的值为00,指示控制平面。所述第二网络设备确定所述处理平面信息的值为00,所述第二网络设备将所述IPv6报文上送到控制平面,所述第二网络设备在控制平面中处理所述扩展的HBH报头。又例如,所述处理平面信息的值为11,指示数据平面。所述第二网络设备确定所述处理平面信息的值为11,所述第二网络设备将所述IPv6报文保持在数据平面,所述第二网络设备在数据平面中处理所述扩展的HBH报头。
可选地,所述第一IPv6扩展报头包括处理策略信息,所述处理策略信息指示接收所述IPv6报文的网络设备对所述第一IPv6扩展报头包括的至少一个选项信息执行的动作。
所述扩展的HBH报头中的预留信息中还可以包括处理策略信息。所述处理策略信息指示所述第二网络设备对所述第一IPv6扩展报头中的多个选项信息进行处理。举例说明,所述第一IPv6扩展报头包括选项信息1、选项信息2和选项信息3。选项信息1、选项信息2和选项信息3均以类型长度值(type-length-value,TLV)的方式实现。所述处理策略信息指示的动作对选项信息1、选项信息2和选项信息3均有效。
类似的实现方式,前述所示的新HBH报头中,也可以包括处理策略信息,从而实现对多个选项信息进行处理。
在本申请实施方式中,所述第一IPv6扩展报头被传递所述IPv6报文的路径上的每一跳网络设备处理。也就是说,所述IPv6报文传递路径上的每一跳网络设备都会对所述第一IPv6扩展报文检查和处理。进一步,所述第一IPv6扩展报头包括选项信息,所述选项信息被传递所述IPv6报文的路径上的每一跳网络设备处理。
根据前述实施方式,所述第一IPv6扩展报头为所述IPv6报头的下一个报头,当所述IPv6报文中有任一其他扩展报头时,所述第一IPv6扩展报头位于所述任一其他 扩展报头之前。
通过上述实现方式,第二网络设备在接收到第一网络设备发送的IPv6报文后,根据所述IPv6报文中的IPv6报头和IPv6扩展报头,在所述第二网络设备的相应的处理平面中执行所述IPv6扩展报头中的动作,从而确保所述IPv6报文能够被所述第二网络设备正常转发。
图7为本申请实施例的第二网络设备1000的结构示意图。图7所示的第二网络设备1000可以执行上述实施例的方法中第二网络设备执行的相应步骤。所述第二网络设备被部署在通信网络中,所述通信网络还包括第一网络设备。如图7所示,所述第二网络设备1000包括接收单元1002和处理单元1004。
所述接收单元1002,用于接收第一网络设备发送的IPv6报文,所述IPv6报文包括IPv6报头和第一IPv6扩展报头,所述第一IPv6扩展报头指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的动作;
所述处理单元1004,用于根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作。
可选地,所述IPv6报头包括下一个报头信息,所述下一个报头信息指示所述IPv6报头的下一个报头是所述第一IPv6扩展报头。
可选地,所述下一个报头信息还指示接收所述IPv6报文的网络设备在数据平面中处理所述第一IPv6扩展报头。
可选地,根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作时,所述处理单元1004用于根据所述下一个报头信息确定所述IPv6报头的下一个报头是所述第一IPv6扩展报头;和所述处理单元1004还用于根据所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作。
可选地,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度。
可选地,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息、选项长度信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度,所述选项长度信息指示所述选项数据的长度,所述处理单元1004根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作之前,所述处理单元1004还用于:确定能够识别所述选项类型信息;和根据所述选项类型信息且不根据所述选项长度信息确定所述选项数据的长度。
可选地,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息、选项长度信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度,所述选项长度信息指示所述选项数据的长度,所述处理单元1004根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作之前,所述处理单元1004还用于:确定不能识别所述选项类型信息;和根据所述选项长度信息确定所述选项数据的长度。
可选地,所述第一IPv6扩展报头包括第一选项信息和第二选项信息,所述第一选项信息包括第一选项类型信息和第一选项数据,所述第二选项信息包括第二选项类型 信息和第二选项数据,所述第一选项类型信息指示所述第一选项信息的类型和所述第一选项数据的长度,所述第二选项类型信息指示所述第二选项信息的类型和所述第二选项数据的长度。
可选地,所述第一IPv6扩展报头包括位图,所述位图包括第一比特位和第二比特位,所述第一比特位指示所述第一选项类型信息,所述第二比特位指示所述第二选项类型信息。
可选地,所述IPv6报文还包括第二IPv6扩展报头,所述第二IPv6扩展报头指示接收所述IPv6报文的网络设备在控制平面中执行所述第二IPv6扩展报头中的动作,所述第二IPv6扩展报头是所述第一IPv6扩展报头的下一个报头,所述处理单元1004还用于根据所述第一IPv6扩展报头和所述第二IPv6扩展报头,在所述第二网络设备的控制平面中执行所述第二IPv6扩展报头中的动作。
可选地,所述第一IPv6扩展报头包括处理平面信息,所述处理平面信息指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的所述动作。
可选地,所述第一IPv6扩展报头包括处理策略信息,所述处理策略信息指示接收所述IPv6报文的网络设备对所述第一IPv6扩展报头包括的至少一个选项信息执行的动作。
可选地,所述第二网络设备1000还包括发送单元,所述发送单元用于向第三网络设备发送处理后的IPv6报文。
图7所示的第二网络设备可以执行上述实施例的方法中第二网络设备执行的相应步骤。第二网络设备接收第一网络设备发送的IPv6报文,并且根据所述IPv6报文中的IPv6报头和IPv6扩展报头,在所述第二网络设备的相应的处理平面中执行所述IPv6扩展报头中的动作,从而确保所述IPv6报文能够被所述第二网络设备正常转发。
图8为本申请实施例的第二网络设备1100的硬件结构示意图。图8所示的第二网络设备1100可以执行上述实施例的方法中第二网络设备执行的相应步骤。
如图8所示,所述第二网络设备1100包括处理器1101、存储器1102、接口1103和总线1104。其中接口1103可以通过无线或有线的方式实现。上述处理器1101、存储器1102和接口1103通过总线1104连接。
所述接口1103具体可以包括发送器和接收器,用于第二网络设备与上述实施例中的第一网络设备之间收发信息。例如,所述接口1103用于支持接收所述第一网络设备发送的IPv6报文,或者用于支持转发处理后的IPv6报文。作为举例,所述接口1103用于支持图3中的过程S103。所述处理器1101用于执行上述实施例中由第二网络设备进行的处理。例如,所述处理器1101用于执行IPv6扩展报头中的动作;和/或用于本文所描述的技术的其他过程。作为举例,所述处理器1101用于支持图3中的过程S104。存储器1102,用于存储程序、代码或指令,例如,存储动作系统11021和应用程序11022,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第二网络设备的处理过程。可选地,所述存储器1102可以包括只读存储器(Read-only Memory,ROM)和随机存取存储器(Random Access Memory,RAM)。其中,所述ROM包括基本输入/输出系统(Basic Input/Output System,BIOS)或嵌入式系统;所述RAM包括应用程序和动作系统。当需要运行第二网络设备1100时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第 二网络设备1100进入正常运行状态。在第二网络设备1100进入正常运行状态后,运行在RAM中的应用程序和动作系统,从而,完成方法实施例中涉及第二网络设备的处理过程。
可以理解的是,图8仅仅示出了第二网络设备1100的简化设计。在实际应用中,第二网络设备可以包含任意数量的接口,处理器或者存储器。
图9为本申请实施例的另一种第二网络设备1200的硬件结构示意图。图9所示的第二网络设备1200可以执行上述实施例的方法中第二网络设备执行的相应步骤。
如图9所述,第二网络设备1200包括:主控板1210、接口板1230、交换网板1220和接口板1240。主控板1210、接口板1230和1240,以及交换网板1220之间通过系统总线与系统背板相连实现互通。其中,主控板1210用于完成系统管理、设备维护、协议处理等功能。交换网板1220用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板1230和1240用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板1230可以包括中央处理器1231、转发表项存储器1234、物理接口卡1233和网络处理器1232。其中,中央处理器1231用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器1234用于保存转发表项。物理接口卡1233用于完成流量的接收和发送。网络存储器1232用于根据所述转发表项控制物理接口卡1233收发流量。
具体地,物理接口卡1233用于接收所述第一网络设备发送的IPv6报文。物理接口卡1233还用于转发处理后的IPv6报文。
物理接口卡1233接收到所述IPv6报文后,将所述IPv6报文发送到中央处理器1231,所述中央处理器1231根据所述IPv6报文的报文头中的信息确定所述IPv6报文需要由所述中央处理器1231处理,相应的,中央处理器1231处理所述IPv6报文。
可选地,物理接口卡1233接收到所述IPv6报文后,将所述IPv6报文发送到中央处理器1231,所述中央处理器1231根据所述IPv6报文的报文头中的信息确定所述IPv6报文需要由中央处理器1211处理,所述中央处理器1231将所述IPv6报文上送到中央处理器1211,所述中央处理器1211处理所述IPv6报文。
中央处理器1231还用于控制网络存储器1232获取转发表项存储器1234中的转发表项,并且,中央处理器1231还用于控制网络存储器1232经由物理接口卡1233向所述第三网络设备转发处理后的IPv6报文。
应理解,本发明实施例中接口板1240上的动作与所述接口板1230的动作一致,为了简洁,不再赘述。应理解,本实施例的第二网络设备1200可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第二网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第二网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第二网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式 架构的第二网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体地组网部署场景,此处不做任何限定。
另外,本申请实施例提供了一种计算机存储介质,用于储存为上述第二网络设备所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。
图10为本申请实施例的第一网络设备2000的结构示意图。图10所示的第一网络设备2000可以执行上述实施例的方法中第一网络设备执行的相应步骤。所述第一网络设备被部署在通信网络中,所述通信网络还包括第二网络设备。如图10所示,所述第一网络设备2000包括处理单元2004和发送单元2006。
所述处理单元2004,用于生成IPv6报文,所述IPv6报文包括IPv6报头和第一IPv6扩展报头,所述第一IPv6扩展报头指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的动作;
所述发送单元2006,用于向第二网络设备发送所述IPv6报文。
可选地,所述IPv6报头包括下一个报头信息,所述下一个报头信息指示所述IPv6报头的下一个报头是所述第一IPv6扩展报头。
可选地,所述下一个报头信息还指示接收所述IPv6报文的网络设备在数据平面中处理所述第一IPv6扩展报头。
可选地,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度。
可选地,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息、选项长度信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度,所述选项长度信息指示所述选项数据的长度。
可选地,所述第一IPv6扩展报头包括第一选项信息和第二选项信息,所述第一选项信息包括第一选项类型信息和第一选项数据,所述第二选项信息包括第二选项类型信息和第二选项数据,所述第一选项类型信息指示所述第一选项信息的类型和所述第一选项数据的长度,所述第二选项类型信息指示所述第二选项信息的类型和所述第二选项数据的长度。
可选地,所述第一IPv6扩展报头包括位图,所述位图包括第一比特位和第二比特位,所述第一比特位指示所述第一选项类型信息,所述第二比特位指示所述第二选项类型信息。
可选地,所述IPv6报文还包括第二IPv6扩展报头,所述第二IPv6扩展报头指示接收所述IPv6报文的网络设备在控制平面中执行所述第二IPv6扩展报头中的动作,所述第二IPv6扩展报头是所述第一IPv6扩展报头的下一个报头。
可选地,所述第一IPv6扩展报头包括处理平面信息,所述处理平面信息指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的所述动作。
可选地,所述第一IPv6扩展报头包括处理策略信息,所述处理策略信息指示接收所述IPv6报文的网络设备对所述第一IPv6扩展报头包括的至少一个选项信息执行的动作。
可选地,所述第一网络设备还包括接收单元,所述接收单元用于从所述第一网络设备的上一跳网络设备接收报文。
图10所示的第一网络设备可以执行上述实施例的方法中第一网络设备执行的相 应步骤。第一网络设备向第二网络设备发送携带了IPv6报头和IPv6扩展报头的IPv6报文。从而,第二网络设备接收第一网络设备发送的IPv6报文,并且根据所述IPv6报文中的IPv6报头和IPv6扩展报头,在所述第二网络设备的相应的处理平面中执行所述IPv6扩展报头中的动作,从而确保所述IPv6报文能够被所述第二网络设备正常转发。
图11为本申请实施例的第一网络设备2100的硬件结构示意图。图11所示的第一网络设备2100可以执行上述实施例的方法中第一网络设备执行的相应步骤。
如图11所示,所述第一网络设备2100包括处理器2101、存储器2102、接口2103和总线2104。其中接口2103可以通过无线或有线的方式实现。上述处理器2101、存储器2102和接口2103通过总线2104连接。
所述接口2103具体可以包括发送器和接收器,用于第一网络设备与上述实施例中的第二网络设备之间收发信息或数据。例如,所述接口2103用于支持向所述第二网络设备发送IPv6报文;又例如,所述接口2103用于支持接收所述第一网络设备的上一跳网络设备发送的报文。作为举例,所述接口2103用于支持图3中的过程S102。所述处理器2101用于执行上述实施例中由第一网络设备进行的处理。例如,所述处理器2101用于IPv6报文;和/或用于本文所描述的技术的其他过程。作为举例,所述处理器2101用于支持图3中的过程S101。存储器2102包括动作系统21021和应用程序21022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第一网络设备的处理过程。可选地,所述存储器2102可以包括只读存储器(Read-only Memory,ROM)和随机存取存储器(Random Access Memory,RAM)。其中,所述ROM包括基本输入/输出系统(Basic Input/Output System,BIOS)或嵌入式系统;所述RAM包括应用程序和动作系统。当需要运行第一网络设备2100时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备2100进入正常运行状态。在第一网络设备2100进入正常运行状态后,运行在RAM中的应用程序和动作系统,从而,完成方法实施例中涉及第一网络设备的处理过程。
可以理解的是,图11仅仅示出了第一网络设备2100的简化设计。在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。
图12为本申请实施例的另一种第一网络设备2200的硬件结构示意图。图12所示的第一网络设备2200可以执行上述实施例的方法中第一网络设备执行的相应步骤。
如图12所述,第一网络设备2200包括:主控板2210、接口板2230、交换网板2220和接口板2240。主控板2210、接口板2230和2240,以及交换网板2220之间通过系统总线与系统背板相连实现互通。其中,主控板2210用于完成系统管理、设备维护、协议处理等功能。交换网板2220用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2230和2240用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板2230可以包括中央处理器2231、转发表项存储器2234、物理接口卡2233和网络处理器2232。其中,中央处理器2231用于对接口板进行控制管理并与主控板2210上的中央处理器2211进行通信。转发表项存储器2234用于保存转发表项。物理接口卡2233用于完成流量的接收和发送。网络存储器2232用于根据所述转发表项控 制物理接口卡2233收发流量。
具体地,物理接口卡2233用于向所述第一网络设备发送IPv6。物理接口卡2233还用于接收所述第一网络设备的上一跳网络设备发送的报文。
在一种可能的实现中,中央处理器2211生成IPv6报文,并将IPv6报文发送到中央处理器2231。IPv6报文经由物理接口卡2233后,发送到所述第二网络设备。
在另一种可能的实现中,物理接口卡2233接收所述第一网络设备的上一跳网络设备发送的报文,中央处理器2231处理该报文得到IPv6报文,IPv6报文经由物理接口卡2233后,发送到所述第二网络设备。
中央处理器2231还用于控制网络存储器2232获取转发表项存储器2234中的转发表项,并且,中央处理器2231还用于控制网络存储器2232经由物理接口卡2233完成流量的接收和发送。
应理解,本发明实施例中接口板2240上的动作与所述接口板2230的动作一致,为了简洁,不再赘述。应理解,本实施例的第一网络设备2200可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第一网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第一网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第一网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第一网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体地组网部署场景,此处不做任何限定。
另外,本申请实施例提供了一种计算机存储介质,用于储存为上述第一网络设备所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。
本申请实施例还包括一种网络系统,所述网络系统包括第二网络设备和第一网络设备,所述第二网络设备为前述图7或图8或图9中的第二网络设备,所述第一网络设备为前述图10或图11或图12中的第一网络设备。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于用户设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件或者用硬件和软件的组合来实现。当使用硬件和软件的组合实现时,可以将这些软件存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包 括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明。所应理解的是,以上所述仅为本申请的具体实施方式而已。

Claims (35)

  1. 一种报文处理方法,其特征在于,所述方法包括:
    第二网络设备接收第一网络设备发送的因特网协议第6版IPv6报文,所述IPv6报文包括IPv6报头和第一IPv6扩展报头,所述IPv6报头指示所述IPv6报文的协议类型为IPv6,所述第一IPv6扩展报头指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的动作;
    所述第二网络设备根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作。
  2. 如权利要求1所述的方法,其特征在于,所述IPv6报头包括下一个报头信息,所述下一个报头信息指示所述IPv6报头的下一个报头是所述第一IPv6扩展报头。
  3. 如权利要求2所述的方法,其特征在于,所述下一个报头信息还指示接收所述IPv6报文的网络设备在数据平面中处理所述第一IPv6扩展报头。
  4. 如权利要求2或3所述的方法,其特征在于,所述第二网络设备根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作,包括:
    所述第二网络设备根据所述下一个报头信息确定所述IPv6报头的下一个报头是所述第一IPv6扩展报头;
    所述第二网络设备根据所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作。
  5. 如权利要求1-4中任一项所述的方法,其特征在于,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度。
  6. 如权利要求1-4中任一项所述的方法,其特征在于,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息、选项长度信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度,所述选项长度信息指示所述选项数据的长度,所述第二网络设备根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作之前,所述方法还包括:
    所述第二网络设备确定能够识别所述选项类型信息;
    所述第二网络设备根据所述选项类型信息且不根据所述选项长度信息确定所述选项数据的长度。
  7. 如权利要求1-4中任一项所述的方法,其特征在于,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息、选项长度信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度,所述选项长度信息指示所述选项数据的长度,所述第二网络设备根据所述IPv6报头和所述第一IPv6扩展报头,在所述第二网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作之前,所述方法还包括:
    所述第二网络设备确定不能识别所述选项类型信息;
    所述第二网络设备根据所述选项长度信息确定所述选项数据的长度。
  8. 如权利要求1-4中任一项所述的方法,其特征在于,所述第一IPv6扩展报头包括第一选项信息和第二选项信息,所述第一选项信息包括第一选项类型信息和第一选项数据,所述第二选项信息包括第二选项类型信息和第二选项数据,所述第一选项类型信息指示所述第一选项信息的类型和所述第一选项数据的长度,所述第二选项类型信息指示所述第二选项信息的类型和所述第二选项数据的长度。
  9. 如权利要求8所述的方法,其特征在于,所述第一IPv6扩展报头包括位图,所述位图包括第一比特位和第二比特位,所述第一比特位指示所述第一选项类型信息,所述第二比特位指示所述第二选项类型信息。
  10. 如权利要求1-9中任一项所述的方法,其特征在于,所述IPv6报文还包括第二IPv6扩展报头,所述第二IPv6扩展报头指示接收所述IPv6报文的网络设备在控制平面中执行所述第二IPv6扩展报头中的动作,所述第二IPv6扩展报头是所述第一IPv6扩展报头的下一个报头,所述方法还包括:
    所述第二网络设备根据所述第一IPv6扩展报头和所述第二IPv6扩展报头,在所述第二网络设备的控制平面中执行所述第二IPv6扩展报头中的动作。
  11. 如权利要求1或2所述的方法,其特征在于,所述第一IPv6扩展报头包括处理平面信息,所述处理平面信息指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的所述动作。
  12. 如权利要求1-11中任一项所述的方法,其特征在于,所述第一IPv6扩展报头包括处理策略信息,所述处理策略信息指示接收所述IPv6报文的网络设备对所述第一IPv6扩展报头包括的至少一个选项信息执行的动作。
  13. 如权利要求1-12中任一项所述的方法,其特征在于,所述第一IPv6扩展报头被传递所述IPv6报文的路径上的每一跳网络设备处理。
  14. 一种报文处理方法,其特征在于,所述方法包括:
    第一网络设备生成因特网协议第6版IPv6报文,所述IPv6报文包括IPv6报头和第一IPv6扩展报头,所述IPv6报头指示所述IPv6报文的协议类型为IPv6,所述第一 IPv6扩展报头指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的动作;
    所述第一网络设备向第二网络设备发送所述IPv6报文。
  15. 如权利要求14所述的方法,其特征在于,所述IPv6报头包括下一个报头信息,所述下一个报头信息指示所述IPv6报头的下一个报头是所述第一IPv6扩展报头。
  16. 如权利要求15所述的方法,其特征在于,所述下一个报头信息还指示接收所述IPv6报文的网络设备在数据平面中处理所述第一IPv6扩展报头。
  17. 如权利要求14-16中任一项所述的方法,其特征在于,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度。
  18. 如权利要求14-16中任一项所述的方法,其特征在于,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息、选项长度信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度,所述选项长度信息指示所述选项数据的长度。
  19. 如权利要求14-16中任一项所述的方法,其特征在于,所述第一IPv6扩展报头包括第一选项信息和第二选项信息,所述第一选项信息包括第一选项类型信息和第一选项数据,所述第二选项信息包括第二选项类型信息和第二选项数据,所述第一选项类型信息指示所述第一选项信息的类型和所述第一选项数据的长度,所述第二选项类型信息指示所述第二选项信息的类型和所述第二选项数据的长度。
  20. 如权利要求19所述的方法,其特征在于,所述第一IPv6扩展报头包括位图,所述位图包括第一比特位和第二比特位,所述第一比特位指示所述第一选项类型信息,所述第二比特位指示所述第二选项类型信息。
  21. 如权利要求14或15所述的方法,其特征在于,所述第一IPv6扩展报头包括处理平面信息,所述处理平面信息指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的所述动作。
  22. 如权利要求14-21中任一项所述的方法,其特征在于,所述第一IPv6扩展报头包括处理策略信息,所述处理策略信息指示接收所述IPv6报文的网络设备对所述第一IPv6扩展报头包括的至少一个选项信息执行的动作。
  23. 一种网络设备,其特征在于,所述包括:
    接收单元,用于接收另一网络设备发送的因特网协议第6版IPv6报文,所述IPv6报文包括IPv6报头和第一IPv6扩展报头,所述IPv6报头指示所述IPv6报文的协议类型为IPv6,所述第一IPv6扩展报头指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的动作;
    处理单元,用于根据所述IPv6报头和所述第一IPv6扩展报头,在所述网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作。
  24. 如权利要求23所述的网络设备,其特征在于,所述IPv6报头包括下一个报头信息,所述下一个报头信息指示所述IPv6报头的下一个报头是所述第一IPv6扩展报头。
  25. 如权利要求24所述的网络设备,其特征在于,所述下一个报头信息还指示接收所述IPv6报文的网络设备在数据平面中处理所述第一IPv6扩展报头。
  26. 如权利要求24或25所述的网络设备,其特征在于,当根据所述IPv6报头和所述第一IPv6扩展报头,在所述网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作时,所述处理单元用于:
    根据所述下一个报头信息确定所述IPv6报头的下一个报头是所述第一IPv6扩展报头;以及
    根据所述第一IPv6扩展报头,在所述网络设备的数据平面中执行所述第一IPv6扩展报头中的所述动作。
  27. 如权利要求23-26中任一项所述的网络设备,其特征在于,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度。
  28. 如权利要求23-26中任一项所述的网络设备,其特征在于,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息、选项长度信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度,所述选项长度信息指示所述选项数据的长度,所述处理单元还用于:
    确定能够识别所述选项类型信息;
    根据所述选项类型信息且不根据所述选项长度信息确定所述选项数据的长度。
  29. 如权利要求23-26中任一项所述的网络设备,其特征在于,所述第一IPv6扩展报头包括选项信息,所述选项信息包括选项类型信息、选项长度信息和选项数据,所述选项类型信息指示所述选项信息的类型和所述选项数据的长度,所述选项长度信息指示所述选项数据的长度,所述处理单元还用于:
    确定不能识别所述选项类型信息;
    根据所述选项长度信息确定所述选项数据的长度。
  30. 如权利要求23-26中任一项所述的网络设备,其特征在于,所述第一IPv6扩展报头包括第一选项信息和第二选项信息,所述第一选项信息包括第一选项类型信息 和第一选项数据,所述第二选项信息包括第二选项类型信息和第二选项数据,所述第一选项类型信息指示所述第一选项信息的类型和所述第一选项数据的长度,所述第二选项类型信息指示所述第二选项信息的类型和所述第二选项数据的长度。
  31. 如权利要求30所述的网络设备,其特征在于,所述第一IPv6扩展报头包括位图,所述位图包括第一比特位和第二比特位,所述第一比特位指示所述第一选项类型信息,所述第二比特位指示所述第二选项类型信息。
  32. 一种网络设备,其特征在于,所述网络设备包括:
    处理单元,用于生成因特网协议第6版IPv6报文,所述IPv6报文包括IPv6报头和第一IPv6扩展报头,所述IPv6报头指示所述IPv6报文的协议类型为IPv6,所述第一IPv6扩展报头指示接收所述IPv6报文的网络设备在数据平面中执行所述第一IPv6扩展报头中的动作;
    发送单元,用于向另一网络设备发送所述IPv6报文。
  33. 如权利要求32所述的网络设备,其特征在于,所述IPv6报头包括下一个报头信息,所述下一个报头信息指示所述IPv6报头的下一个报头是所述第一IPv6扩展报头。
  34. 如权利要求32所述的网络设备,其特征在于,所述下一个报头信息还指示接收所述IPv6报文的网络设备在数据平面中处理所述第一IPv6扩展报头。
  35. 一种网络系统,所述网络系统包括第一网络设备和第二网络设备,所述第一网络设备为权利要求32-34中任一项所述的网络设备,所述第二网络设备为权利要求23-31中任一项所述的网络设备。
PCT/CN2021/093970 2020-06-05 2021-05-15 一种报文处理方法、设备及系统 WO2021244262A1 (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
BR112022024749A BR112022024749A2 (pt) 2020-06-05 2021-05-15 Métodos de processamento de pacote, dispositivos e sistema de rede
EP21818645.0A EP4152716A4 (en) 2020-06-05 2021-05-15 PACKAGE PROCESSING METHOD, APPARATUS AND SYSTEM
CA3181307A CA3181307A1 (en) 2020-06-05 2021-05-15 Packet processing method, device, and system
KR1020227046385A KR20230017886A (ko) 2020-06-05 2021-05-15 패킷 처리 방법, 기기 및 시스템
MX2022015463A MX2022015463A (es) 2020-06-05 2021-05-15 Metodo, dispositivo y sistema de procesamiento de paquetes.
JP2022574595A JP2023529639A (ja) 2020-06-05 2021-05-15 パケット処理方法、デバイス、およびシステム
US18/061,299 US20230091414A1 (en) 2020-06-05 2022-12-02 Packet Processing Method, Device, and System

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202010508115 2020-06-05
CN202010508115.7 2020-06-05
CN202010566025.3A CN113765865B (zh) 2020-06-05 2020-06-19 一种报文处理方法、设备及系统
CN202010566025.3 2020-06-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/061,299 Continuation US20230091414A1 (en) 2020-06-05 2022-12-02 Packet Processing Method, Device, and System

Publications (1)

Publication Number Publication Date
WO2021244262A1 true WO2021244262A1 (zh) 2021-12-09

Family

ID=78785510

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/093970 WO2021244262A1 (zh) 2020-06-05 2021-05-15 一种报文处理方法、设备及系统

Country Status (9)

Country Link
US (1) US20230091414A1 (zh)
EP (1) EP4152716A4 (zh)
JP (1) JP2023529639A (zh)
KR (1) KR20230017886A (zh)
CN (3) CN113765865B (zh)
BR (1) BR112022024749A2 (zh)
CA (1) CA3181307A1 (zh)
MX (1) MX2022015463A (zh)
WO (1) WO2021244262A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666243A (zh) * 2022-03-29 2022-06-24 迈普通信技术股份有限公司 网络质量测量方法、装置、系统、电子设备及存储介质
CN115174449B (zh) * 2022-05-30 2024-03-26 杭州初灵信息技术股份有限公司 一种传递随流检测信息的方法、系统、装置和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212390A (zh) * 2006-12-30 2008-07-02 华为技术有限公司 一种数据传输方法及装置
CN101360046A (zh) * 2008-08-08 2009-02-04 中兴通讯股份有限公司 一种带宽资源的节约方法
CN108702331A (zh) * 2016-02-22 2018-10-23 思科技术公司 Sr应用段与服务功能链(sfc)报头元数据的集成
CN110832813A (zh) * 2017-06-27 2020-02-21 思科技术公司 使用分段路由的以太网虚拟专用网
US20200084300A1 (en) * 2018-09-07 2020-03-12 Nokia Solutions And Networks Oy Packet fragmentation control
US10616063B1 (en) * 2018-10-12 2020-04-07 Nokia Solutions And Networks Oy Stateless multicast in IP networks

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088391B (zh) * 2009-12-07 2013-09-11 华为技术有限公司 一种IPv6报文的处理方法、设备和系统
US10270690B2 (en) * 2016-02-29 2019-04-23 Cisco Technology, Inc. System and method for dataplane-signaled packet capture in IPV6 environment
CN112468397B (zh) * 2019-09-09 2023-09-26 华为技术有限公司 一种IPv6报文的处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212390A (zh) * 2006-12-30 2008-07-02 华为技术有限公司 一种数据传输方法及装置
CN101360046A (zh) * 2008-08-08 2009-02-04 中兴通讯股份有限公司 一种带宽资源的节约方法
CN108702331A (zh) * 2016-02-22 2018-10-23 思科技术公司 Sr应用段与服务功能链(sfc)报头元数据的集成
CN110832813A (zh) * 2017-06-27 2020-02-21 思科技术公司 使用分段路由的以太网虚拟专用网
US20200084300A1 (en) * 2018-09-07 2020-03-12 Nokia Solutions And Networks Oy Packet fragmentation control
US10616063B1 (en) * 2018-10-12 2020-04-07 Nokia Solutions And Networks Oy Stateless multicast in IP networks

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP4152716A1 (en) 2023-03-22
CN116233279A (zh) 2023-06-06
EP4152716A4 (en) 2023-05-10
BR112022024749A2 (pt) 2023-03-07
CN113765865B (zh) 2022-12-27
JP2023529639A (ja) 2023-07-11
KR20230017886A (ko) 2023-02-06
CA3181307A1 (en) 2021-12-09
MX2022015463A (es) 2023-03-23
US20230091414A1 (en) 2023-03-23
CN113765865A (zh) 2021-12-07
CN116192995A (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
CN108574616B (zh) 一种处理路由的方法、设备及系统
US20220086073A1 (en) Data packet detection method, device, and system
CN113709057A (zh) 网络拥塞的通告方法、代理节点、网络节点及计算机设备
CN112187647B (zh) 报文转发方法、设备及计算机可读存储介质
WO2021244262A1 (zh) 一种报文处理方法、设备及系统
WO2021258823A1 (zh) 路径创建方法、装置及系统
JP2009518962A (ja) ネットワークノードにおける制御プロトコル情報の配信管理
US11356372B2 (en) Data traffic processing method, device, and system
US20220247655A1 (en) Method for Confirming In-Situ Flow Information Telemetry Capability and Device
US20230086487A1 (en) Method for Determining Processing Capability, Node, and System
CN112737954B (zh) 报文处理方法、装置、系统、设备及存储介质
JP4778594B2 (ja) パケット中継装置、パケット中継方法およびプログラム
JP4040045B2 (ja) データ転送装置
WO2020114083A1 (zh) 一种ioam信息的处理方法和装置
US20220217093A1 (en) Sequence Number Synchronization Method and Apparatus
WO2022063126A1 (zh) 报文传输控制、生成、传输方法及配置方法、设备、介质
US11863446B2 (en) User group-based packet forwarding method, device, and system
CN113132222B (zh) 报文转发方法、设备及计算机可读存储介质
WO2022135321A1 (zh) 报文传输方法、设备及系统
JP5535757B2 (ja) クライアント装置、及びプログラム
EP4358476A1 (en) Message processing method, apparatus and system, and computer-readable storage medium
US20240089198A1 (en) Packet processing method and system, and network device

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: 21818645

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022574595

Country of ref document: JP

Kind code of ref document: A

Ref document number: 3181307

Country of ref document: CA

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112022024749

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2021818645

Country of ref document: EP

Effective date: 20221216

ENP Entry into the national phase

Ref document number: 20227046385

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 112022024749

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20221202