WO2021180077A1 - 路径建立方法、数据传输方法、装置、网络节点及存储介质 - Google Patents

路径建立方法、数据传输方法、装置、网络节点及存储介质 Download PDF

Info

Publication number
WO2021180077A1
WO2021180077A1 PCT/CN2021/079772 CN2021079772W WO2021180077A1 WO 2021180077 A1 WO2021180077 A1 WO 2021180077A1 CN 2021079772 W CN2021079772 W CN 2021079772W WO 2021180077 A1 WO2021180077 A1 WO 2021180077A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
network node
message
sid
srv6
Prior art date
Application number
PCT/CN2021/079772
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 EP21767384.7A priority Critical patent/EP4120742A4/en
Publication of WO2021180077A1 publication Critical patent/WO2021180077A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/724Admission control; Resource allocation using reservation actions during connection setup at intermediate nodes, e.g. resource reservation protocol [RSVP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses

Definitions

  • IP Internet Protocol
  • the future network is a network oriented to the era of fifth-generation mobile communication technology (5G).
  • 5G fifth-generation mobile communication technology
  • the bearer network also needs to make corresponding adjustments.
  • SDN software-defined networking
  • NFV network function virtualization
  • the SRv6 technology is to adopt the existing IPv6 forwarding technology, and realize the processing similar to the label forwarding by extending the header field of the IPv6 message, that is, the segment routing header (SRH).
  • SRv6 implements a strict explicit path
  • SID segment identification
  • embodiments of the present application provide a path establishment method, data transmission method, device, network node, and storage medium.
  • the embodiment of the present application provides a method for establishing a path, which is applied to a first network node, and includes:
  • the first message includes:
  • the first SRv6 SID of each network node of the first path is used to establish a connection-oriented path; the first network node is the first network node of the first path.
  • the establishment of the connection-oriented path includes:
  • the first SRv6 SID of each network node of the first path is carried in the payload (payload) of the first packet.
  • the first SRv6 SID of each network node of the first path is carried in the specific type length value (TLV) of the payload of the first packet.
  • the first message is a ping message; the specific TLV is a newly defined TLV.
  • the method further includes:
  • a second SRv6 SID corresponding to the first path is allocated; the second SRv6 SID is used for connection-oriented message forwarding;
  • the mapping relationship table includes: the message enters the second SRv6 SID, the message exits the second SRv6 SID, and the outgoing interface.
  • the embodiment of the present application also provides a method for establishing a path, which is applied to a second network node, and includes:
  • the first message includes:
  • the first SRv6 SID of each network node of the first path is used to establish a connection-oriented path; the second network node is the first and last network nodes in the first path Other network nodes outside the node.
  • the first SRv6 SID of each network node of the first path is carried in the payload of the first packet.
  • the first SRv6 SID of each network node of the first path is carried in the specific TLV of the payload of the first packet.
  • the first message is a ping message; the specific TLV is a newly defined TLV.
  • the execution of the corresponding path establishment operation based on the received first message includes:
  • the path information includes at least the first SRv6 SID of each network node of the first path;
  • the corresponding path establishment operation is performed.
  • the execution of the corresponding path establishment operation includes:
  • the first parameter segment (ARG) information of the SID corresponding to the destination address in the received feedback message is used as the forwarding SID of the next-hop network node on the first path ARG information;
  • the mapping relationship table includes: the message enters the second SRv6 SID, the message exits the second SRv6 SID, and the outgoing interface.
  • the embodiment of the present application also provides a path establishment method, which is applied to a third network node, and includes:
  • the first message includes: the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path; The three network nodes are the last network nodes of the first path.
  • the first SRv6 SID of each network node of the first path is carried in the payload of the corresponding packet.
  • the first SRv6 SID of each network node of the first path is carried in the specific TLV of the payload of the corresponding packet.
  • the first message is a ping message; the specific TLV is a newly defined TLV.
  • the execution of the corresponding path establishment operation includes:
  • the ARG in the SID corresponding to the destination address in the feedback message is the third ARG information
  • the feedback message includes: the first SRv6 SID of each network node of the first path.
  • the embodiment of the present application also provides a data transmission method, which is applied to a first network node, and includes:
  • the destination address in the data packet is the second SRv6 SID of the next hop node of the first network node in the first path; the second SRv6 SID characterizes that the first path is established by the first service;
  • the path includes M network nodes; the data packet includes N SIDs; N is less than M; M and N are both integers greater than 1, and the first network node is the first network node of the first path.
  • the method further includes:
  • the embodiment of the present application also provides a data transmission method applied to a second network node, including:
  • the received data packet is forwarded; among them,
  • the second SRv6 SID characterizes the establishment of the first path for the first service; the first path includes M network nodes; the received data packet includes N SIDs; N is less than M; M and N are both integers greater than 1; The second network node is other network nodes except the first network node and the last network node in the first path.
  • An embodiment of the present application also provides a path establishment device, which is set on a first network node, and includes:
  • the first generating unit is configured to generate a first message used to create a first path
  • the first sending unit is configured to send the first message; wherein, the first message includes:
  • the first SRv6 SID of each network node of the first path is used to establish a connection-oriented path; the first network node is the first network node of the first path.
  • An embodiment of the present application also provides a path establishment device, which is set on a second network node, and includes:
  • the first receiving unit is configured to receive a first message used to create a first path
  • the first creation unit is configured to perform a corresponding path establishment operation based on the received first message; wherein, the first message includes the first SRv6 SID of each network node of the first path; An SRv6 SID is used to establish a connection-oriented path; the second network node is a network node other than the first network node and the last network node in the first path.
  • An embodiment of the present application also provides a path establishment device, which is set on a third network node, and includes:
  • the second receiving unit is configured to receive the first message used to create the first path
  • the second creation unit is configured to obtain path information from the received first message; determine itself as the last network node of the first path based on the obtained path information; and perform a corresponding path establishment operation; wherein, the The first message contains the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path; the third network node is the last network of the first path node.
  • An embodiment of the present application also provides a data transmission device, which is set on a first network node, and includes:
  • the second generating unit is configured to generate a data packet based on the second SRv6 SID of the first network node and the data of the first service;
  • the second sending unit is configured to send the data packet; wherein,
  • the destination address in the data packet is the second SRv6 SID of the next hop node of the first network node in the first path; the second SRv6 SID characterizes that the first path is established by the first service;
  • the path includes M network nodes; the data packet includes N SIDs; N is less than M; M and N are both integers greater than 1, and the first network node is the first network node of the first path.
  • An embodiment of the present application also provides a data transmission device, which is set at a second network node, and includes:
  • the third receiving unit is configured to receive the data packet sent by the previous hop network node
  • the obtaining unit is configured to obtain the second SRv6 SID whose destination address is the second network node from the received data packet;
  • the searching unit is configured to search the second SRv6 SID and outgoing interface of the next hop network node corresponding to the second SRv6 SID of the second network node in the local mapping relationship table between the second SRv6 SID;
  • the forwarding unit is configured to forward the received data packet based on the queried second SRv6 SID and outgoing interface of the next hop network node;
  • the second SRv6 SID characterizes the establishment of the first path for the first service; the first path includes M network nodes; the received data packet includes N SIDs; N is less than M; M and N are both integers greater than 1; The second network node is other network nodes except the first network node and the last network node in the first path.
  • the embodiment of the present application also provides a first network node, including: a first processor and a first communication interface; wherein,
  • the first processor is configured to generate a first message for creating a first path; the first communication interface is configured to send the first message; wherein, the first message includes the The first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path;
  • the first processor is configured to generate a data packet based on the second SRv6 SID of the first network node and the data of the first service; the first communication interface is configured to send the data packet; wherein, The destination address in the data packet is the second SRv6 SID of the next hop node of the first network node in the first path; the second SRv6 SID characterizes that the first service has established the first path; the first path Contains M network nodes; the data packet contains N SIDs; N is less than M; M and N are both integers greater than 1;
  • the first network node is the first network node of the first path.
  • the embodiment of the present application also provides a second network node, including: a second processor and a second communication interface; wherein,
  • the second communication interface is configured to receive a first message for creating a first path; the second processor is configured to perform a corresponding path establishment operation based on the received first message; wherein, the The first message contains the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path; the second network node is the first path in the first path Network nodes and other network nodes except the last network node;
  • the second communication interface is configured to receive a data packet sent by a previous hop network node; the second processor is configured to obtain a second SRv6 whose destination address is the second network node from the received data packet SID; and look up the second SRv6 SID and outbound interface of the next hop network node corresponding to the second SRv6 SID of the second network node in the local mapping table between the second SRv6 SID; and based on the queried download
  • the second SRv6 SID and outbound interface of a one-hop network node forward the received data packet through the second communication interface; the second SRv6 SID characterizes the establishment of the first path for the first service; the first path includes M Network node; the received data packet contains N SIDs; N is less than M; M and N are both integers greater than 1;
  • the second network node is other network nodes except the first network node and the last network node in the first path.
  • the embodiment of the present application also provides a third network node, including:
  • the third communication interface is configured to receive the first message used to create the first path
  • the third processor is configured to obtain path information from the received first message; determine itself as the last network node of the first path based on the obtained path information; and perform a corresponding path establishment operation; wherein, the The first message contains the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path; the third network node is the last network of the first path node.
  • An embodiment of the present application also provides a first network node, including: a first processor and a first memory configured to store a computer program that can run on the processor,
  • the first processor is configured to execute the steps of any method on the side of the first network node when running the computer program.
  • An embodiment of the present application also provides a second network node, including: a second processor and a second memory configured to store a computer program that can run on the processor,
  • the second processor is configured to execute the steps of any method on the second network device side when running the computer program.
  • An embodiment of the present application also provides a third network node, including: a third processor and a third memory configured to store a computer program that can run on the processor,
  • the third processor is configured to execute the steps of any method on the third network device side when running the computer program.
  • the embodiment of the present application also provides a storage medium on which a computer program is stored.
  • the computer program When the computer program is executed by a processor, it implements the steps of any method on the first network device side, or implements any method on the second network device side. Steps of one method, or steps of any one of the methods on the third network device side described above.
  • the first network node In the path establishment method, data transmission method, device, network node, and storage medium provided by the embodiments of the present application, the first network node generates a first message for creating a first path; sends out the first message; wherein, The first message includes: the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path; the first network node is the first path The first network node; and the second network node performs the corresponding path establishment operation based on the received first message; the third network node obtains path information from the received first message; determines itself as the destination based on the obtained path information The last network node of the first path; executes the corresponding path establishment operation, supports new functions through the network node, and realizes the establishment of a connection-oriented path by way of SRv6 network programming.
  • the first network node At the same time, the first network node generates a data packet based on the second SRv6 SID of the first network node and the data of the first service; sends the data packet; wherein, the destination address in the data packet is in the first path
  • the second SRv6 SID of the next hop node of the first network node; the second SRv6 SID characterizes that the first service has established a first path; the first path includes M network nodes; the data packet includes N SIDs; N is less than M; M and N are both integers greater than 1; the first network node is the first network node of the first path, as the new function is supported by the network node, it is realized by SRv6 network programming
  • the establishment of a connection-oriented path makes it possible for data packets to not encapsulate too long headers. In this way, the processing efficiency of network nodes is greatly improved, and processing delays are reduced.
  • Figure 1 is a schematic diagram of a segmented routing (SR) architecture in related technologies
  • Figure 2 is a schematic diagram of an SRv6 packet header in related technologies
  • Figure 3a is a schematic diagram of a forwarding process using prefix SID in related technologies
  • Figure 3b is a schematic diagram of a forwarding process using adjacent SIDs in related technologies
  • Figure 4 is a schematic diagram of the SID list of the explicit path in the SRv6 network in related technologies
  • Figure 5 is a schematic diagram of the goals achieved by the SRv6 technology in related technologies
  • FIG. 6 is a schematic flowchart of a path establishment method applied to a first network node according to an embodiment of the application
  • FIG. 7 is a schematic diagram of an End type SID format
  • FIG. 8a and Figure 8b are schematic diagrams of two End.X type SID formats
  • FIG. 9 is a schematic diagram of the format of a ping6 request message according to an embodiment of the application.
  • FIG. 10 is a schematic diagram of the format of a ping6 reply message in the embodiment of the present application.
  • FIG. 11 is a schematic flowchart of a path establishment method applied to a second network node according to an embodiment of the application
  • FIG. 12 is a schematic flowchart of a path establishment method applied to a third network node according to an embodiment of the application
  • Fig. 13 is a schematic flowchart of a data transmission method applied to a first network node according to an embodiment of the application
  • FIG. 14 is a schematic flowchart of a data transmission method applied to a second network node according to an embodiment of the application
  • 15 is a schematic diagram of the SRv6 network structure of an application embodiment of this application.
  • 16 is a schematic diagram of the data part of the ping message in the application embodiment of this application.
  • FIG. 17 is a schematic diagram of the change of the destination address in the ping message in the establishment of the path in the application embodiment of the application;
  • FIG. 18 is a schematic diagram of the change of the destination address in the feedback message of the ping message in the establishment path of the application embodiment of the present application;
  • FIG. 19 is a schematic diagram of the change of the source address and the destination address of the packet in the message forwarding process of the application embodiment of the present application;
  • FIG. 20 is a schematic structural diagram of a path establishment device according to an embodiment of the application.
  • FIG. 21 is a schematic structural diagram of another path establishment device according to an embodiment of the application.
  • FIG. 22 is a schematic structural diagram of a third path establishment apparatus according to an embodiment of the application.
  • FIG. 23 is a schematic structural diagram of a data transmission device according to an embodiment of the application.
  • 24 is a schematic structural diagram of another data transmission device according to an embodiment of the application.
  • 25 is a schematic diagram of the structure of a first network node according to an embodiment of the application.
  • FIG. 26 is a schematic diagram of the structure of a second network node according to an embodiment of the application.
  • FIG. 27 is a schematic diagram of the structure of a third network node according to an embodiment of the application.
  • the current traffic engineering (TE) technology in the network is not easy to use (for example, the resource reservation protocol based on the expansion of traffic engineering (RSVP-TE)), which requires flow-by-flow signaling, requires the soft state of intermediate nodes, and has poor scalability.
  • TE traffic engineering
  • RSVP-TE traffic engineering
  • These service flows specify specific paths (assuming that the default shortest path cannot guarantee the quality of service (QoS) of these service flows), therefore, the SR architecture is proposed, as shown in Figure 1.
  • SR carries source routing information in the packet (which can be expressed as packet in English), allowing the packet to be forwarded along a specified path, which can support the needs of TE.
  • the presentation form of routing information in MPLS is a label stack (SR -MPLS)
  • the presentation form of routing information in SRv6 is segment routing header (SRH), as shown in Figure 2.
  • SR-MPLS technology is relatively mature.
  • the advantage of SR-MPLS is that it does not change the forwarding mechanism of MPLS, such as the basic processing of the forwarding plane, or the "label switching (swap)" mechanism of MPLS (such as (Shown in Figure 3a) or "tag pop-up (in English can be expressed as pop)” mechanism (shown in Figure 3a and Figure 3b) and so on.
  • SRv6 As for the SRv6 technology, it is less mature than the SR-MPLS technology.
  • SRv6 In the forwarding of SRv6 technology, in order to deal with SRH, compared with SR-MPLS technology, the forwarding process has been changed; specifically, in the forwarding of SRv6 technology, forwarding is no longer only based on the destination address (DA), but After a router (also called a network node) receives a packet, it needs to determine whether it is its own SID. If it is, then directly perform related operations, such as routing-related operations, according to the next hop and outbound corresponding to the SID The interface forwards the packet. If it is not, it forwards it according to the DA to match the routing table.
  • DA destination address
  • SR SR-MPLS
  • the SID list is: ⁇ A10::0, A1::0, A2::C4, A4::C7 , A7::D200 ⁇ ; where (A1::0) is an SRv6END FUNCT, corresponding to the prefix SID, and A2::C4 is a SRV6END.X FUNCT, corresponding to the adjacent SID.
  • SRv6 Since the standard SRv6 SID size is 128 bits, then when the network When the number of hops in MPLS is large, the strict explicit path will cause the packet to have a larger header. That is to say, when the strict explicit path is implemented, SRv6 is more inconvenient than SR-MPLS (SR-MPLS).
  • SR-MPLS SR-MPLS
  • the size of a SID of MPLS is 32 bits).
  • the SR-MPLS network supports simultaneous MPLS forwarding. These MPLS paths are connection-oriented to a certain extent (for example, established with RSVP-TE). The SRv6 network cannot support the MPLS forwarding plane at the same time.
  • one of the main purposes of SRv6 technology is to simplify the network (which can also be understood as reducing the complexity of the control protocol), so it is not desirable to introduce too many other technologies, such as MPLS technology. Therefore, to implement TE by SID list, it is necessary to use a strict explicit path; and to implement a strict explicit path, SID per hop is required, which will cause the packet header to be relatively large, which will lead to the network
  • TSN delay-sensitive network
  • DetNet deterministic network
  • Equal Cost Multipath Using the Equal Cost Multipath (ECMP) mechanism also requires a strict explicit path. Therefore, in the SRv6 network, how to meet the delay control requirements of these specific services without using too long headers and establishing a connection-oriented path for exchanging SIDs hop by hop is an urgent problem to be solved at present.
  • ECMP Equal Cost Multipath
  • the edge nodes and forwarding nodes in the network are enabled to support some new functions (FUNCT), and the SRv6 network programming is used to simulate basic MPLS-based forwarding.
  • FUNCT new functions
  • the first type is used on a low-latency path, which eliminates the need to encapsulate too long headers.
  • the second is that at the initial stage of construction, the network node hardware cannot support too long headers.
  • the first network node and the third network node are network edge nodes, which can be called PE nodes, PE routers, etc., such as operator edge nodes in the backbone network; correspondingly, the first network node and the third network node are network edge nodes.
  • the second network node is a network forwarding node, which can be called a P node, a P router, etc., such as an operator node in a backbone network.
  • the embodiment of the present application provides a path establishment method, which is applied to a first network node. As shown in FIG. 6, the method includes:
  • Step 601 Generate a first message for creating a first path
  • Step 602 Send the first message.
  • the first message includes: the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path; the first network node is the first The first network node of a path.
  • the first path is a connection-oriented path.
  • the first SRv6 SID may be referred to as an SRv6 connection-oriented control SID.
  • the first SRv6 SID is used to establish a connection-oriented path (including the mapping relationship between the second SRv6 SID of the local first path) on each corresponding network node, so as to establish the first path. path.
  • the establishment of a connection-oriented path includes:
  • the second SRv6 SID may be referred to as an SRv6 connection-oriented path forwarding SID.
  • the network node supports the path establishment function.
  • the first SRv6 SID can be defined as End.Copc (which can be understood as a variant of the End function of SRv6); accordingly, the second SRv6 SID enables the network reception to support the connection-oriented forwarding function.
  • the second SRv6 SID can be defined as End.Xcopd (it can be understood as a variant of the End.X function of SRv6).
  • cop connection-oriented path
  • c refers to the control plane
  • d refers to the data plane.
  • each network node needs to advertise its first SRv6 SID, End.Copc, and connection-oriented path forwarding SID, End.Xcopd, so that the first node of a path (such as the first network node) uses the first SRv6 SID To establish a connection-oriented path, and use SRv6 connection-oriented path forwarding SID for packet forwarding.
  • Both of these newly defined SIDs will carry the parameter ARGS, which follows the format definition of LOC:FUNCT:ARGS in SRv6.
  • the relevant parameter field is set to 0.
  • the notification can be based on the internal gateway protocol (IGP) (such as the intermediate system to the intermediate system (IS-IS protocol)), the format can be AX::End.Copc:Lable, the label is empty at this time, FUNCT
  • the type (type) is set to a new SRv6 SID type.
  • Figure 7 shows the End type SID format.
  • the first SRv6 SID it can be published in the TLV of the Locator.
  • the type is set to 100
  • the endpoint behavior Endpoint behavior
  • Figure 8a and Figure 8b show two End.X type SID formats.
  • For SRv6 connection-oriented path forwarding SID it can be placed in ISIS top TLV 22 and released.
  • the prefix SID in the format shown in Figure 8a is suitable for point-to-point (P2P) connection scenarios, such as Type is set to 101, and Endpoint behavior is set to 101;
  • the prefix SID in the format shown in Figure 8b is suitable for local area network (LAN) scenarios, such as Type setting Set to 102, Endpoint behavior is set to 102.
  • the top TLV 22 of ISIS is an extended IS reachability information (Extended IS reachability) TLV, which is used to carry some related information of the node's ISIS adjacency.
  • the first SRv6 SID of each network node of the first path may be set in the data part of the message.
  • the first SRv6 SID of each network node of the first path is carried in the payload of the first packet (that is, the data of the first packet).
  • the first SRv6 SID of each network node of the first path may be set in the specific TLV of the first message.
  • the first message may be a ping type message, more specifically, it may be a ping6 message, and the first SRv6 SID of each network node of the first path is set as shown in FIG. 9 In the data of the ping6 packet.
  • the specific TLV may be a newly defined TLV, for example, a newly added TLV, the format may be as follows:
  • the key fields include: source address, destination address, path ID;
  • the path requirement information may include: bandwidth requirements and delay requirements of the service flow.
  • the first message may also carry path requirement information, and accordingly, the path requirement information may also be set in the payload of the first message.
  • the method may further include:
  • a second SRv6 SID corresponding to the first path is allocated; the second SRv6 SID is used for connection-oriented message forwarding;
  • mapping relationship table includes: the message enters the second SRv6 SID, the message exits the second SRv6 SID, and the outgoing interface.
  • the content of the feedback message and the payload part of the first message are completely the same.
  • the first message uses a ping6 message (corresponding to a request (ICMPv6 Echo request) message)
  • the feedback message is also a ping6 message (also a corresponding request (ICMPv6 Echo request) message)
  • the format is shown in Figure 9.
  • the ping message is sent by the first node and will also be sent back to the first node (the source and destination addresses of the message are both the first node), but according to the function of the End.Copc function of each node in the path , So that the message is forwarded along the reverse path in the network and fed back to the head node.
  • the feedback message is a ping6 message (corresponding to a reply (ICMPv6 Echo reply) message)
  • a ping6 message corresponding to a reply (ICMPv6 Echo reply) message
  • the format is shown in Figure 10. That is, the ping message is sent by the first node and will be sent to the tail node. After the tail node receives it, it will respond to the feedback message.
  • the End.Copc function of each node is used to make the path The execution of the End.Copc function of each node, and the message is forwarded along the reverse path in the network and fed back to the first node.
  • an embodiment of the present application also provides a path establishment method, which is applied to a second network node. As shown in FIG. 11, the method includes:
  • Step 1101 Receive a first message used to create a first path
  • Step 1102 Perform a corresponding path establishment operation based on the received first message.
  • the first message includes: the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path on each corresponding network node;
  • the second network node is the other network nodes in the first path except the first network node and the last network node (also referred to as the last network node).
  • the second network node receives the first message sent from the previous-hop network node; the previous-hop network node may be the first network node, or may be from the first path It is another network forwarding node.
  • step 1102 may include:
  • the path information includes at least the first SRv6 SID of each network node of the first path;
  • the corresponding path establishment operation is performed.
  • the first path (which can be understood as being on the forward path of the first path), and forward the first packet to the next-hop network node on the first path;
  • the first ARG information of the SID corresponding to the destination address in the received feedback message is used as the first path (Yes Refers to the ARG information of the forwarding SID of the next hop network node on the forward path;
  • the second network node allocates an ARG from the available ARGs as the second ARG.
  • the second network node When the second network node determines that its own resources are insufficient and cannot allocate resources for the first path, it abandons the establishment of the path, and can feed back a path error (PathErr) message for the first message, and the path
  • the ARG information corresponding to the error (for example, defined as 0001) is set in the SID corresponding to the destination address in the feedback message corresponding to the first message to be fed back to the first network node to inform the path establishment failure.
  • the mapping relationship table between the second SRv6 SIDs of the first path local to the second network node includes: the message entry connection-oriented forwarding SID (the parameter is the first Second ARG), the message outgoing connection-oriented forwarding SID (the parameter is the first ARG), and the outgoing interface.
  • an embodiment of the present application also provides a path establishment method, which is applied to a third network node. As shown in FIG. 12, the method includes:
  • Step 1201 Receive a first message for creating a first path
  • Step 1202 Obtain path information from the received first message; and based on the obtained path information, determine that it is the last network node of the first path;
  • Step 1203 Perform the corresponding path establishment operation.
  • the third ARG information is generated; and based on the received first message and the third ARG information, a feedback message of the first message is generated; and the feedback message is sent.
  • the ARG in the SID corresponding to the destination address in the feedback message is the third ARG information
  • the feedback message and the first message include: the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented connection on each corresponding network node Path; the third network node is the last network node of the first path.
  • the third network node allocates an ARG from the available ARGs as the third ARG.
  • the third ARG is 0003, which is a special label, representing that it is the last hop, and thus supports the pop-up function of the penultimate hop label.
  • the first network node When the first network node receives the feedback message of the first message and locally generates a mapping relationship table between the second SRv6 SIDs of the first path, it indicates that the establishment of the first path is completed.
  • a first network node generates a first message for creating a first path; sends out the first message; wherein, the first message includes: the first path The first SRv6 SID of each network node; the first SRv6 SID is used to establish a connection-oriented path; the first network node is the first network node of the first path; and the second network node is based on the received
  • the first message performs the corresponding path establishment operation; the third network node obtains path information from the received first message; determines itself as the last network node of the first path based on the obtained path information; executes the corresponding Path establishment operation; new functions are supported by network nodes, and connection-oriented path establishment is realized by way of SRv6 network programming.
  • the path can be used to send data packets.
  • an embodiment of the present application also provides a data transmission method, which is applied to a first network node. As shown in FIG. 13, the method includes:
  • Step 1301 Generate a data packet based on the second SRv6 SID of the first network node and the data of the first service;
  • Step 1302 Send the data packet; where,
  • the destination address in the data packet is the second SRv6 SID of the next hop node of the first network node in the first path; the second SRv6 SID characterizes that the first path is established by the first service;
  • the path includes M network nodes; the data packet includes N SIDs; N is less than M; M and N are both integers greater than 1, and the first network node is the first network node of the first path.
  • the first network node locally obtains the second SRv6 SID of the first network node corresponding to the first service; based on the second SRv6 SID of the first network node, it is determined that it is the The first business established the first path.
  • the packet header Since the connection-oriented path has been established, the packet header does not need to carry the SIDs of M network nodes, but only needs to carry the SIDs of some network nodes. For example, it can carry the SIDs of the first network node and the third network node, In this way, the size of the packet header can be greatly reduced, thereby greatly improving the processing (parsing packet header) efficiency of the network node, and reducing the processing delay.
  • an embodiment of the present application also provides a data transmission method, which is applied to a second network node. As shown in FIG. 14, the method includes:
  • Step 1401 Receive the data packet sent by the last hop network node; the received data packet belongs to the first service;
  • Step 1402 Obtain the second SRv6 SID whose destination address is the second network node from the received data packet; and look up the mapping relationship between the local second SRv6 SID and the second network node. The second SRv6 SID and outbound interface of the next hop network node corresponding to the second SRv6 SID;
  • Step 1403 Forward the received data packet based on the second SRv6 SID and outgoing interface of the next hop network node that is queried.
  • the DA part of the received data packet needs to be updated to the second SRv6 SID of the queried next hop network node.
  • the second SRv6 SID characterizes that the first service has established a first path; the first path includes M network nodes; the received data packet includes N SIDs; N is less than M; M and N are both greater than 1.
  • An integer; the second network node is the other network nodes except the first network node and the last network node in the first path.
  • the first network node In the data transmission method provided by the embodiment of the present application, the first network node generates a data packet based on the second SRv6 SID of the first network node and the data of the first service; sends the data packet; wherein, in the data packet The destination address of is the second SRv6 SID of the next hop node of the first network node in the first path; the second SRv6 SID characterizes that the first service has established the first path; the first path includes M networks Node; the data packet contains N SIDs; N is less than M; M and N are both integers greater than 1; the first network node is the first network node of the first path, because the network node supports new functions SRv6 network programming is used to realize the establishment of connection-oriented paths, so that data packets do not need to encapsulate too long headers. In this way, the efficiency of network node processing (parsing headers) is greatly improved, and processing delays are reduced.
  • the application scenario is: under the SRv6 network structure shown in Figure 15, the DetNet (deterministic delay) path that needs to be constructed is ⁇ 1,2,4,3>, which is the delay in the network. Low path.
  • the DetNet deterministic delay
  • control surface requirements is as follows:
  • the intermediate forwarding node supports a specific FUNCT to maintain the swap mapping table. For example, a swap table entry of node 2: enters A2::End.XCopd:ARG2, exits A4::End.XCopd:ARG4, and interface XXX. After the entry is established, it indicates that the relevant forwarding path has been established on the node.
  • the forwarding process is the forwarding of the data plane of the packet that carries the data message, but the forwarding path needs to be established before forwarding, such as using a message similar to ping to trigger.
  • the process of establishing a path includes:
  • Step 0 Each network node advertises its own End.Copc and End.XCopd established by the connection-oriented path;
  • the format is AX::End.Copc:Lable, and the label is empty at this time, and the FUNCT type is set to a new SRv6 SID type.
  • the first node of the path can use these FUNCTs to do network programming, including: use ping+End.Copc to establish the path, and then encapsulate End.XCopd for forwarding.
  • Step 1 Node 1, hopes to construct a special low-latency path ⁇ 1,2,4,3> for a new service, and then generates a message (such as ping), the construction method is as follows, and the header source/destination address is as follows : ⁇ A1::End.Copc:0000,A1::End.Copc:0000>;
  • A1::End.Copc:0000 will match the local SID list of node 1, and then perform the path establishment operation according to 0000: determine that you can allocate resources for the low-latency path, that is, determine that the resources are sufficient, and read the ping message Find your own SID and the next SID, replace DA in the ping message with A2::End.Copc:0000 with the next SID, and then send the message.
  • Step 2 After node 2 receives the message, it matches its own SID, and then executes the path establishment operation according to 0000: determines that it can allocate resources for the low-latency path, that is, determines that the resources are sufficient, and reads the internal information of the ping message. Find your own SID and the next SID, replace DA in the ping message with the next SID as A4::End.Copc:0000, and then send the message.
  • Step 3 After node 4 receives the message, it matches its own SID, and then executes the path establishment operation according to 0000: determines that it can allocate resources for the low-latency path, that is, determines that the resources are sufficient, and reads the internal information of the ping message. Find your own SID and the next SID, replace the DA in the ping message with the next SID as A3::End.Copc:0000, and then send the message.
  • step 1 to step 3 the change of DA in the ping message is shown in Figure 17.
  • Step 4 After node 3 receives the message, it matches its own SID, and then executes the path establishment operation according to the special tag parameter 0000: determines that it can allocate resources for the low-latency path, that is, determines that the resources are sufficient, and reads the ping message Internal information, find your own SID, find that you are the last SID in the path, that is, the DA in the last ping, and then assign a new A3::End.XCopd:0003 to this path, and find the last hop node SID, replace the found SID with DA in the ping message as A4::End.Copc:0003, at this time, generate a feedback message and send out a ping message.
  • the special tag parameter 0000 determines that it can allocate resources for the low-latency path, that is, determines that the resources are sufficient, and reads the ping message Internal information, find your own SID, find that you are the last SID in the path, that is, the DA in the last ping,
  • Step 5 After node 4 receives the message, that is, after receiving the feedback message, it matches the SID, and then executes the path establishment operation according to 0003: read the internal information of the ping message, find its own SID and the previous SID (forward The previous SID in the path), assign a new A4::End.XCopd:0017 to this path, replace the DA in the ping message with the previous SID found as A2::End.Copc:0017, and send it ping message; node 4 creates a new SID mapping table, the mapping table contains: in A4::End.XCopd:0017, swap (out) A3::End.XCopd:0003, outgoing interface is the matching service level agreement (SLA) An A4 to A3 interface.
  • SLA service level agreement
  • Step 6 After node 2 receives the message, that is, after receiving the feedback message, it matches the SID, and then executes the path establishment operation according to 0017: read the internal information of the ping message, find its own SID and the previous SID, for this Assign a new A2::End.XCopd:0045 to each path, replace the DA in the ping message with A1::End.Copc:0045 with the previous SID found, and send the ping message; node 2 creates a new SID mapping table , The mapping table contains A2::End.XCopd:0045, swap A4::End.XCopd:0017, and the outgoing interface is an interface from A2 to A4 that matches the SLA.
  • Step 7 After node 1 receives the message, that is, after receiving the feedback message, it matches the SID, and then executes the path establishment operation according to 0045: reads the internal information of the ping message, finds its own SID, and finds that it matches the first one SID, and SA, allocate a new A1::End.XCopd:0098 for this path, node 1 creates a new SID mapping table, the mapping table includes A1::End.XCopd:0098, swap A2::End.XCopd: 0045, the outgoing interface is an interface from A1 to A2 that matches the SLA, and the path establishment is complete.
  • the forwarding process includes:
  • Step 1 At node 1, construct a packet1, the SID list is ⁇ A1::End.XCopd:ARG1,A3::D200>, query the interface corresponding to A1::End.XCopd:0098 in the local SID mapping table, and set it The corresponding A2::End.XCopd:0045 is written into the DA of packet1, and packet1 is forwarded.
  • packet1 only needs two SIDs ⁇ A1::End.XCopd:0098,A3::D200>, that is, there are only two SIDs in the packet header.
  • A1::End.XCopd:0098 will be written into DA, and swap will be executed on each node, until the last node or the second to last node triggers the pop-up operation, SL-1 will be executed, and the subsequent SID will be processed A3::D200.
  • A3::D200 is the service SID on node 3, for example, an END.DT4FUNCT defined in SRv6.
  • Step 2 After node 2 receives packet1, it matches its own SID, queries the interface corresponding to A2::End.XCopd:0045 in the local SID mapping table, and writes its corresponding A4::End.XCopd:0017 into the DA of packet1 , And forward packet1 out.
  • Step 3 After node 4 receives packet1, it matches its own SID, queries the interface corresponding to A4::End.XCopd:0017 in the local SID mapping table, and finds that it is the penultimate hop, then subtract 1 from the segment length (SL) , Write A3::D200 into DA, and forward packet1 out.
  • Step 4 After node 3 receives the message, it matches the SID, and processes packet1 according to A3::D200 to send packet1.
  • DetNet traffic only needs to encapsulate two SIDs ⁇ A1::End.XCopd:ARG1, A3::D200>, which greatly reduces the length of the packet header.
  • a distributed implementation mechanism for establishing a connection-oriented path (SID exchange) in an SRv6 network is defined.
  • SID exchange connection-oriented path
  • two new SRv6 FUNCTs are defined. Among them, End.Copc is used to establish a path with the SID list information and path requirement information in the payload, and End.XCopd is used for data forwarding.
  • 0000 is a path building function.
  • the operations performed by the first node, intermediate node, and tail node are different. If a label is carried, the default is the return path, then the label is allocated and the SID mapping table is established. When the mapping table is established, the operations performed by the first node, the intermediate node, and the tail node are different.
  • the following code can be used to realize the path establishment function of the node:
  • some traffic with connection-oriented path requirements can use the method provided in the embodiment of this application to establish a path and perform data forwarding; while other traffic in the network follows the traditional SRv6
  • the forwarding mechanism performs forwarding, and the two do not affect each other.
  • the embodiment of the present application also provides a path establishment device, which is set on a first network node. As shown in FIG. 20, the device includes:
  • the first generating unit 201 is configured to generate a first message for creating a first path
  • the first sending unit 202 is configured to send the first message; where the first message includes: the first SRv6 SID of each network node of the first path; the first SRv6 SID is used for Establish a connection-oriented path; the first network node is the first network node of the first path.
  • the device may further include:
  • the third receiving unit is configured to receive the feedback message of the first message
  • the third creation unit is configured to allocate a second SRv6 SID corresponding to the first path based on the feedback message; the second SRv6 SID is used for connection-oriented packet forwarding; and generates a local first path Two SRv6 SID mapping relationship table.
  • the first generating unit 201 and the third creating unit may be implemented by a processor in a path establishing device; the first sending unit 202 and the third receiving unit may be implemented by a communication interface in the path establishing device.
  • the embodiment of the present application also provides a path establishment device, which is set on the second network node.
  • the device includes:
  • the first receiving unit 211 is configured to receive a first message used to create a first path
  • the first creation unit 212 is configured to perform a corresponding path establishment operation based on the received first message; wherein, the first message includes the first SRv6 SID of each network node of the first path; The first SRv6 SID is used to establish a connection-oriented path; the second network node is a network node other than the first network node and the last network node in the first path.
  • the first creating unit 212 is configured to:
  • the path information includes at least the first SRv6 SID of each network node of the first path;
  • the corresponding path establishment operation is performed.
  • the performing the corresponding path establishment operation includes:
  • the first creation unit 212 determines that resources can be allocated for the first path; and forwards the first message to the next-hop network node on the first path;
  • the first creating unit 212 performs the following operations:
  • the first parameter segment ARG information of the SID corresponding to the destination address in the received feedback message is used as the ARG of the forwarding SID of the next-hop network node on the first path information;
  • the first receiving unit 211 and the third receiving unit can be implemented by a communication interface in a path establishing device; the first creating unit 212 can be implemented by a processor in the path establishing device.
  • the embodiment of the present application also provides a path establishment device, which is set on the third network node. As shown in FIG. 22, the device includes:
  • the second receiving unit 221 is configured to receive a first message used to create a first path
  • the second creation unit 222 is configured to obtain path information from the received first message; determine itself as the last network node of the first path based on the obtained path information; and perform a corresponding path establishment operation; where The first message includes: the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path; the third network node is the first path The last network node.
  • the second creating unit 222 is configured to:
  • the ARG in the SID corresponding to the destination address in the feedback message is the third ARG information
  • the feedback message includes the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path; the third network The node is the last network node of the first path.
  • the second receiving unit 221 can be implemented by a communication interface in the path establishment device; the second creation unit 222 can be implemented by a processor in the path establishment device.
  • the path establishment device provided in the above embodiment only uses the division of the above-mentioned program modules for example when establishing a path.
  • the above-mentioned processing can be allocated by different program modules as needed. That is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above.
  • the path establishment apparatus provided in the above-mentioned embodiment and the path establishment method embodiment belong to the same concept. For the specific implementation process, please refer to the method embodiment, which will not be repeated here.
  • the embodiment of the present application also provides a data transmission device, which is set on the first network node. As shown in FIG. 23, the device includes:
  • the second generating unit 231 is configured to generate a data packet based on the second SRv6 SID of the first network node and the data of the first service;
  • the second sending unit 232 is configured to send the data packet; wherein,
  • the destination address in the data packet is the second SRv6 SID of the next hop node of the first network node in the first path; the second SRv6 SID characterizes that the first path is established by the first service;
  • the path includes M network nodes; the data packet includes N SIDs; N is less than M; M and N are both integers greater than 1, and the first network node is the first network node of the first path.
  • the device may further include:
  • the second sending unit 232 can be implemented by a communication interface in a data transmission device; the second generating unit 231 and a determining unit can be implemented by a processor in the data transmission device.
  • the embodiment of the present application also provides a data transmission device, which is set at the second network node.
  • the device includes:
  • the third receiving unit 241 is configured to receive a data packet sent by a previous hop network node; the received data packet belongs to the first service;
  • the obtaining unit 242 is configured to obtain the second SRv6 SID whose destination address is the second network node from the received data packet;
  • the searching unit 243 is configured to search for the second SRv6 SID and outgoing interface of the next hop network node corresponding to the second SRv6 SID of the second network node in the local mapping relationship table between the second SRv6 SID of the first path ;
  • the forwarding unit 244 is configured to forward the received data packet based on the second SRv6 SID and the outgoing interface of the next hop network node that is queried; wherein,
  • the second SRv6 SID characterizes that the first service has established a first path; the first path includes M network nodes; the received data packet includes N SIDs; N is less than M; M and N are both integers greater than 1. ; The second network node is other network nodes except the first network node and the last network node in the first path.
  • the third receiving unit 241 can be implemented by a communication interface in a data transmission device; the acquisition unit 242, search unit 243, and forwarding unit 244 can be implemented by a processor in the data transmission device.
  • the data transmission device provided in the above embodiment performs data transmission
  • only the division of the above-mentioned program modules is used as an example for illustration.
  • the above-mentioned processing can be allocated by different program modules as needed. That is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above.
  • the data transmission device provided in the foregoing embodiment and the data transmission method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
  • the embodiment of the present application also provides a first network node.
  • the first network node 250 includes :
  • the first communication interface 251 can exchange information with other network nodes;
  • the first processor 252 is connected to the first communication interface 251 to implement information interaction with other network nodes, and is configured to execute the method provided by one or more technical solutions on the first network node side when it is configured to run a computer program.
  • the computer program is stored in the first memory 253.
  • the first processor 252 is configured to generate a first message for creating a first path; the first communication interface 251 is configured to send the first message;
  • the first message includes the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path;
  • the first communication interface 251 is further configured to receive a feedback message of the first message
  • the first processor 252 is configured to allocate a second SRv6 SID corresponding to the first path based on the feedback message; the second SRv6 SID is used for message forwarding on the connection-oriented path; and generates a local first The mapping relationship table between the second SRv6 SIDs of the path.
  • the first processor 252 is configured to generate a data packet based on the second SRv6 SID of the first network node and the data of the first service; the first communication interface 251 is configured to send The data packet; wherein the destination address in the data packet is the second SRv6 SID of the next hop node of the first network node in the first path; the second SRv6 SID characterizes the establishment of the first service A path; the first path includes M network nodes; the data packet includes N SIDs; N is less than M; M and N are both integers greater than 1;
  • the first network node is the first network node of the first path.
  • the first processor 252 is further configured to:
  • the various components in the first network node 250 are coupled together through the bus system 254.
  • the bus system 254 is configured to implement connection and communication between these components.
  • the bus system 254 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the bus system 254 in FIG. 25.
  • the first memory 253 in the embodiment of the present application is configured to store various types of data to support the operation of the first network node 250. Examples of these data include: any computer program for operating on the first network node 250.
  • the method disclosed in the foregoing embodiment of the present application may be applied to the first processor 252 or implemented by the first processor 252.
  • the first processor 252 may be an integrated circuit chip with signal processing capability. In the implementation process, the steps of the foregoing method can be completed by an integrated logic circuit of hardware in the first processor 252 or instructions in the form of software.
  • the aforementioned first processor 252 may be a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, and the like.
  • the first processor 252 may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of the present application.
  • the general-purpose processor may be a microprocessor or any conventional processor or the like.
  • the software module may be located in a storage medium, and the storage medium is located in the first memory 253.
  • the first processor 252 reads the information in the first memory 253 and completes the steps of the foregoing method in combination with its hardware.
  • the first network node 250 may be configured by one or more application specific integrated circuits (ASIC, Application Specific Integrated Circuit), DSP, programmable logic device (PLD, Programmable Logic Device), and complex programmable logic device.
  • ASIC Application Specific Integrated Circuit
  • DSP digital signal processor
  • PLD programmable logic device
  • CPLD Complex Programmable Logic Device
  • FPGA Field-Programmable Gate Array
  • general-purpose processor controller, microcontroller (MCU, Micro Controller Unit), microprocessor (Microprocessor), or Other electronic components are implemented to perform the aforementioned methods.
  • the embodiment of the present application also provides a second network node.
  • the second network node 260 includes :
  • the second communication interface 261 can exchange information with other network nodes
  • the second processor 262 is connected to the second communication interface 261 to implement information interaction with other network nodes, and when configured to run a computer program, execute the method provided by one or more technical solutions on the second network node side.
  • the computer program is stored on the second processor 262.
  • the second communication interface 261 is configured to receive the first message used to create the first path; the second processor 262 is configured to be based on the received first message, Perform a corresponding path establishment operation; wherein, the first message includes the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path; the second The network nodes are other network nodes except the first network node and the last network node in the first path.
  • the second processor 262 is configured to:
  • the path information includes at least the first SRv6 SID of each network node of the first path;
  • the corresponding path establishment operation is performed.
  • the performing the corresponding path establishment operation includes:
  • the second processor 262 determines that resources can be allocated to the first path; and forwards the first packet to the next-hop network node on the first path;
  • the second processor 262 performs the following operations:
  • the first parameter segment ARG information of the SID corresponding to the destination address in the received feedback message is used as the ARG of the forwarding SID of the next-hop network node on the first path information;
  • the second communication interface 261 is configured to receive data packets sent by the previous hop network node; the received data packets belong to the first service; the second processor 262 is configured to receive data from The destination address obtained in the packet is the second SRv6 SID of the second network node; and the mapping relationship table between the second SRv6 SID of the local first path is searched for the second SRv6 SID of the second network node The corresponding second SRv6 SID and outgoing interface of the next hop network node; and forwarding the received data packet through the second communication interface 261 based on the second SRv6 SID and outgoing interface of the next hop network node that is queried; 2.
  • SRv6 SID characterizes that the first service has established a first path; the first path includes M network nodes; the received data packet includes N SIDs; N is less than M; M and N are both integers greater than 1; Wherein, the second network node is other network nodes except the first network node and the last network node in the first path.
  • the various components in the second network node 260 are coupled together through the bus system 264.
  • the bus system 264 is configured to implement connection and communication between these components.
  • the bus system 264 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the bus system 264 in FIG. 26.
  • the second memory 263 in the embodiment of the present application is configured to store various types of data to support the operation of the second network node 260. Examples of these data include: any computer program for operating on the second network node 260.
  • the methods disclosed in the foregoing embodiments of the present application may be applied to the second processor 262 or implemented by the second processor 262.
  • the second processor 262 may be an integrated circuit chip with signal processing capability. In the implementation process, the steps of the foregoing method can be completed by an integrated logic circuit of hardware in the second processor 262 or instructions in the form of software.
  • the aforementioned second processor 262 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like.
  • the second processor 262 may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of the present application.
  • the general-purpose processor may be a microprocessor or any conventional processor or the like.
  • the software module may be located in a storage medium, and the storage medium is located in the second memory 263.
  • the second processor 262 reads the information in the second memory 263 and completes the steps of the foregoing method in combination with its hardware.
  • the second network node 260 may be implemented by one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, general-purpose processors, controllers, MCUs, Microprocessors, or other electronic components for performing the aforementioned methods .
  • the embodiment of the present application also provides a third network node.
  • the third network node 270 includes :
  • the third communication interface 271 can exchange information with other network nodes
  • the third processor 272 is connected to the third communication interface 271 to implement information interaction with other network nodes, and is configured to execute the method provided by one or more technical solutions on the third network node side when it is configured to run a computer program.
  • the computer program is stored on the third storage 273.
  • the third communication interface 271 is configured to receive the first message used to create the first path
  • the third processor 272 is configured to obtain path information from the received first message; determine itself as the last network node of the first path based on the obtained path information; and perform a corresponding path establishment operation; wherein ,
  • the first message includes: the first SRv6 SID of each network node of the first path; the first SRv6 SID is used to establish a connection-oriented path; the third network node is the first The last network node of the path.
  • the third processor 272 is configured to:
  • Generating third ARG information and generating a feedback message of the first message based on the received first message and third ARG information; the ARG in the SID corresponding to the destination address in the feedback message is the first message Three ARG information;
  • the third communication interface 271 is further configured to send the feedback message; wherein, the first SRv6 SID of each network node of the first path is included.
  • the components in the third network node 270 are coupled together through the bus system 274.
  • the bus system 274 is configured to implement connection and communication between these components.
  • the bus system 274 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the bus system 274 in FIG. 27.
  • the third memory 273 in the embodiment of the present application is configured to store various types of data to support the operation of the third network node 270.
  • Examples of such data include: any computer program for operating on the third network node 270.
  • the method disclosed in the foregoing embodiment of the present application may be applied to the third processor 272 or implemented by the third processor 272.
  • the third processor 272 may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the third processor 272 or instructions in the form of software.
  • the aforementioned third processor 272 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like.
  • the third processor 272 may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of the present application.
  • the general-purpose processor may be a microprocessor or any conventional processor or the like.
  • the software module may be located in a storage medium, and the storage medium is located in the third memory 273.
  • the third processor 272 reads the information in the third memory 273 and completes the steps of the foregoing method in combination with its hardware.
  • the third network node 270 may be implemented by one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, general-purpose processors, controllers, MCUs, Microprocessors, or other electronic components for performing the aforementioned methods .
  • the memory in the embodiments of the present application may be volatile memory or non-volatile memory, and may also include volatile and non-volatile memory.
  • the non-volatile memory can be a read-only memory (ROM, Read Only Memory), a programmable read-only memory (PROM, Programmable Read-Only Memory), and an erasable programmable read-only memory (EPROM, Erasable Programmable Read- Only Memory, Electrically Erasable Programmable Read-Only Memory (EEPROM), Ferromagnetic Random Access Memory (FRAM), Flash Memory, Magnetic Surface Memory , CD-ROM, or CD-ROM (Compact Disc Read-Only Memory); magnetic surface memory can be magnetic disk storage or tape storage.
  • the volatile memory may be a random access memory (RAM, Random Access Memory), which is used as an external cache.
  • RAM random access memory
  • SRAM static random access memory
  • SSRAM synchronous static random access memory
  • Synchronous Static Random Access Memory Synchronous Static Random Access Memory
  • DRAM Dynamic Random Access Memory
  • SDRAM Synchronous Dynamic Random Access Memory
  • DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • ESDRAM Enhanced Synchronous Dynamic Random Access Memory
  • SLDRAM synchronous connection dynamic random access memory
  • DRRAM Direct Rambus Random Access Memory
  • the memories described in the embodiments of the present application are intended to include, but are not limited to, these and any other suitable types of memories.
  • the embodiment of the present application also provides a storage medium, that is, a computer storage medium, specifically a computer-readable storage medium, such as a first memory 253 storing a computer program, which can be used by a first network
  • the first processor 252 of the node 250 executes to complete the steps described in the aforementioned first network node-side method.
  • a second memory 263 storing a computer program is included.
  • the computer program can be executed by the second processor 262 of the second network node 260 to complete the steps of the second network node-side method described above.
  • the third memory 273 that stores a computer program is included.
  • the computer program can be executed by the third processor 272 of the third network node 270 to complete the steps of the second network node-side method.
  • the computer-readable storage medium can be FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disk, or CD-ROM and other memories.

Landscapes

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

Abstract

一种路径建立方法、数据传输方法、装置、网络节点及存储介质。路径建立方法包括:第一网络节点生成用于创建第一路径的第一报文,发出所述第一报文。其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6段身份标识(SID),所述第一SRv6 SID用于建立面向连接的路径。第一网络节点为所述第一路径的首网络节点。路径传输方法包括:基于第一网络节点的第二SRv6 SID及第一业务的数据,生成并发送数据包,数据包中的目的地址为第一路径中所述第一网络节点的下一跳节点第二SRv6 SID。第二SRv6 SID表征为所述第一业务建立了第一路径,所述第一路径包含M个网络节点,所述数据包包含N个SID,N小于M。如此,使得数据包可以不用封装太长的包头,提高了网络节点的处理效率,减少了处理时延。

Description

路径建立方法、数据传输方法、装置、网络节点及存储介质
相关申请的交叉引用
本申请基于申请号为202010157177.8、申请日为2020年03月09日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请涉及互联网协议(IP)网络领域,尤其涉及一种路径建立方法、数据传输方法、装置、网络节点及存储介质。
背景技术
未来的网络是面向第五代移动通信技术(5G)时代的网络。面对5G,承载网也需要做出相应的调整。化繁为简,低时延,软件定义网络(SDN)/网络功能虚拟化(NFV)化是后续的主要发展方向。为了下一步5G网络的发展,用户希望能够借用IPv6的地址更简单的实现虚拟专用网络(VPN)。SRv6技术就是采用已有的IPv6转发技术,通过扩展IPv6报文的头域,即分段路由头(SRH),实现类似标签转发的处理。
当SRv6实现严格的显式路径时,在网络中的跳数较多的情况下,需要在SRH头中包含每个网络节点的段身份标识(SID),会导致包头比较大,不支持包头较小的转发方式,或者说不能够实现建立面向连接的路径。
发明内容
为解决相关技术问题,本申请实施例提供一种路径建立方法、数据传输方法、装置、网络节点及存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种路径建立方法,应用于第一网络节点,包括:
生成用于创建第一路径的第一报文;
发出所述第一报文;其中,所述第一报文包含:
所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第一网络节点为所述第一路径的首网络节点。
上述方案中,所述建立面向连接的路径包括:
构建第一路径的第二SRv6 SID之间的映射关系;所述第二SRv6 SID用于面向连接路径的报文转发。
上述方案中,所述第一路径的每个网络节点的第一SRv6 SID携带在所述第一报文的有效载荷(payload)中。
上述方案中,所述第一路径的每个网络节点的第一SRv6 SID携带在所述第一报文的payload的特定类型长度值(TLV)中。
上述方案中,所述第一报文为ping报文;所述特定TLV为新定义的TLV。
上述方案中,所述方法还包括:
接收所述第一报文的反馈报文;
基于所述反馈报文,分配第一路径对应的第二SRv6 SID;所述第二SRv6 SID用于面向连接路径的报文转发;
生成本地的第一路径的第二SRv6 SID之间的映射关系表。
上述方案中,所述映射关系表包含:报文入第二SRv6 SID、报文出第二SRv6 SID、出接口。
本申请实施例还提供了一种路径建立方法,应用于第二网络节点,包括:
接收用于创建第一路径的第一报文;
基于接收的第一报文,执行对应的路径建立操作;其中,所述第一报文包含:
所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
上述方案中,所述第一路径的每个网络节点的第一SRv6 SID携带在所述第一报文的payload中。
上述方案中,所述第一路径的每个网络节点的第一SRv6 SID携带在所述第一报文的payload的特定TLV中。
上述方案中,所述第一报文为ping报文;所述特定TLV为新定义的TLV。
上述方案中,所述基于接收的第一报文,执行对应的路径建立操作,包括:
从所述第一报文中获取路径信息;所述路径信息至少包含所述第一路径的每个网络节点的第一SRv6 SID;
基于获取的路径信息,执行对应的路径建立操作。
上述方案中,所述执行对应的路径建立操作,包括:
在所述第一路径上,确定能够为所述第一路径分配资源;并向所述第一路径上的下一跳网络节点转发第一报文;
在所述第一路径的反向路径上,执行以下操作:
收到第一报文对应的反馈报文后,将接收的反馈报文中目的地址对应的SID的第一参数段(ARG)信息作为所述第一路径上的下一跳网络节点的转发SID的ARG信息;
生成第二ARG信息,并基于所述第二ARG修改接收的反馈报文中目的地址对应的SID,以及发送修改后的反馈报文;
生成本地的第一路径的第二SRv6 SID之间的映射关系表。
上述方案中,所述映射关系表包含:报文入第二SRv6 SID、报文出第二SRv6 SID、出接口。
本申请实施例还提供了一种路径建立方法,应用于第三网络节点,包括:
接收用于创建第一路径的第一报文;
从接收的第一报文中获取路径信息;
基于获取的路径信息,确定自身为所述第一路径的末网络节点;
执行对应的路径建立操作;其中,所述第一报文包含:所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第三网络节点为所述第一路径的末网络节点。
上述方案中,所述第一路径的每个网络节点的第一SRv6 SID携带在相应报文的payload中。
上述方案中,所述第一路径的每个网络节点的第一SRv6 SID携带在相应报文的payload的特定TLV中。
上述方案中,所述第一报文为ping报文;所述特定TLV为新定义的TLV。
上述方案中,所述执行对应的路径建立操作,包括:
生成第三ARG信息;
基于接收的第一报文及第三ARG信息,生成所述第一报文的反馈报文;所述反馈报文中目的地址对应的SID中的ARG为所述第三ARG信息;
发送所述反馈报文;其中,所述反馈报文包含:所述第一路径的每个网络节点的第一SRv6 SID。
本申请实施例还提供了一种数据传输方法,应用于第一网络节点,包括:
基于所述第一网络节点的第二SRv6 SID及第一业务的数据,生成数据包;
发送所述数据包;其中,
所述数据包中的目的地址为第一路径中所述第一网络节点的下一跳节点第二SRv6 SID;第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;所述数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第一网络节点为所述第一路径的首网络节点。
上述方案中,所述方法还包括:
在本地获得第一业务对应的第一网络节点的第二SRv6 SID;
基于所述第一网络节点的第二SRv6 SID,确定已为所述第一业务建立了第一路径。
本申请实施例还提供了一种数据传输方法,应用于第二网络节点,包括:
接收上一跳网络节点发送的数据包;
从接收的数据包中获取到目的地址为所述第二网络节点的第二SRv6 SID;
在本地的第二SRv6 SID之间的映射关系表查找与所述第二网络节点的第二SRv6 SID对应的下一跳网络节点第二SRv6 SID及出接口;
基于查询到的下一跳网络节点第二SRv6 SID及出接口,对接收的数据包进行转发;其中,
第二SRv6 SID表征为第一业务建立了第一路径;所述第一路径包含M个网络节点;接收的数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
本申请实施例还提供了一种路径建立装置,设置在第一网络节点上,包括:
第一生成单元,配置为生成用于创建第一路径的第一报文;
第一发送单元,配置为发出所述第一报文;其中,所述第一报文包含:
所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第一网络节点为所述第一路径的首网络节点。
本申请实施例还提供了一种路径建立装置,设置在第二网络节点上,包括:
第一接收单元,配置为接收用于创建第一路径的第一报文;
第一创建单元,配置为基于接收的第一报文,执行对应的路径建立操作;其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
本申请实施例还提供了一种路径建立装置,设置在第三网络节点上,包括:
第二接收单元,配置为接收用于创建第一路径的第一报文;
第二创建单元,配置为从接收的第一报文中获取路径信息;基于获取的路径信息,确定自身为所述第一路径的末网络节点;并执行对应的路径建立操作;其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第三网络节点为所述第一路径的末网络节点。
本申请实施例还提供了一种数据传输装置,设置在第一网络节点上,包括:
第二生成单元,配置为基于所述第一网络节点的第二SRv6 SID及第一业务的数据,生成数据包;
第二发送单元,配置为发送所述数据包;其中,
所述数据包中的目的地址为第一路径中所述第一网络节点的下一跳节点第二SRv6 SID;第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;所述数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第一网络节点为所述第一路径的首网络节点。
本申请实施例还提供了一种数据传输装置,设置在第二网络节点,包括:
第三接收单元,配置为接收上一跳网络节点发送的数据包;
获取单元,配置为从接收的数据包中获取到目的地址为所述第二网络节点的第二SRv6 SID;
查找单元,配置为在本地的第二SRv6 SID之间的映射关系表查找与所述第二网络节点的第二SRv6 SID对应的下一跳网络节点第二SRv6 SID及出接口;
转发单元,配置为基于查询到的下一跳网络节点第二SRv6 SID及出接口,对接收的数据包进行转发;其中,
第二SRv6 SID表征为第一业务建立了第一路径;所述第一路径包含M个网络节点;接收的数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
本申请实施例还提供了一种第一网络节点,包括:第一处理器及第一通信接口;其中,
所述第一处理器,配置为生成用于创建第一路径的第一报文;所述第一通信接口,配置为发出所述第一报文;其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;
或者,
所述第一处理器,配置为基于所述第一网络节点的第二SRv6 SID及第一业务的数据,生成数据包;所述第一通信接口,配置为发送所述数据包;其中,所述数据包中的目的地址为第一路径中所述第一网络节点的下一跳节点第二SRv6 SID;第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;所述数据包包含N个SID;N小于M;M、N均为大于1的整数;
其中,所述第一网络节点为所述第一路径的首网络节点。
本申请实施例还提供了一种第二网络节点,包括:第二处理器及第二 通信接口;其中,
所述第二通信接口,配置为接收用于创建第一路径的第一报文;所述第二处理器,配置为基于接收的第一报文,执行对应的路径建立操作;其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点;
或者,
所述第二通信接口,配置为接收上一跳网络节点发送的数据包;所述第二处理器,配置为从接收的数据包中获取到目的地址为所述第二网络节点的第二SRv6 SID;并在本地的第二SRv6 SID之间的映射关系表查找与所述第二网络节点的第二SRv6 SID对应的下一跳网络节点第二SRv6 SID及出接口;以及基于查询到的下一跳网络节点第二SRv6 SID及出接口,通过所述第二通信接口对接收的数据包进行转发;第二SRv6 SID表征为第一业务建立了第一路径;所述第一路径包含M个网络节点;接收的数据包包含N个SID;N小于M;M、N均为大于1的整数;
其中,所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
本申请实施例还提供了一种第三网络节点,包括:
第三通信接口,配置为接收用于创建第一路径的第一报文;
第三处理器,配置为从接收的第一报文中获取路径信息;基于获取的路径信息,确定自身为所述第一路径的末网络节点;并执行对应的路径建立操作;其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第三网络节点为所述第一路径的末网络节点。
本申请实施例还提供了一种第一网络节点,包括:第一处理器和配置为存储能够在处理器上运行的计算机程序的第一存储器,
其中,所述第一处理器配置为运行所述计算机程序时,执行上述第一网络节点侧任一方法的步骤。
本申请实施例还提供了一种第二网络节点,包括:第二处理器和配置为存储能够在处理器上运行的计算机程序的第二存储器,
其中,所述第二处理器配置为运行所述计算机程序时,执行上述第二网络设备侧任一方法的步骤,。
本申请实施例还提供了一种第三网络节点,包括:第三处理器和配置为存储能够在处理器上运行的计算机程序的第三存储器,
其中,所述第三处理器配置为运行所述计算机程序时,执行上述第三网络设备侧任一方法的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一网络设备侧任一方法的步骤,或 者实现上述第二网络设备侧任一方法的步骤,或者实现上述第三网络设备侧任一方法的步骤。
本申请实施例提供的路径建立方法、数据传输方法、装置、网络节点及存储介质,第一网络节点生成用于创建第一路径的第一报文;发出所述第一报文;其中,所述第一报文包含:所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第一网络节点为所述第一路径的首网络节点;而第二网络节点基于接收的第一报文,执行对应的路径建立操作;第三网络节点从接收的第一报文中获取路径信息;基于获取的路径信息,确定自身为所述第一路径的末网络节点;执行对应的路径建立操作,通过网络节点支持新的功能,用SRv6网络编程的方式实现了面向连接的路径的建立。同时,第一网络节点基于所述第一网络节点的第二SRv6 SID及第一业务的数据,生成数据包;发送所述数据包;其中,所述数据包中的目的地址为第一路径中所述第一网络节点的下一跳节点第二SRv6 SID;第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;所述数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第一网络节点为所述第一路径的首网络节点,由于通过网络节点支持新的功能,用SRv6网络编程的方式实现了面向连接的路径的建立,从而使得数据包可以不用封装太长的包头,如此,大大提高了网络节点的处理效率,减少了处理时延。
附图说明
图1为相关技术中一种分段路由(SR)架构示意图;
图2为相关技术中一种SRv6包头示意图;
图3a为相关技术中使用前缀SID的一种转发流程示意图;
图3b为相关技术中使用邻接SID的一种转发流程示意图;
图4为相关技术中SRv6网络中的显式路径的SID list示意图;
图5为相关技术中SRv6技术所达到的目的示意图;
图6为本申请实施例应用于第一网络节点的路径建立方法流程示意图;
图7为一种End类型SID格式示意图;
图8a和图8b为两种End.X类型SID格式示意图;
图9为本申请实施例ping6请求报文格式示意图;
图10本申请实施例ping6回复报文格式示意图;
图11为本申请实施例应用于第二网络节点的路径建立方法流程示意图;
图12为本申请实施例应用于第三网络节点的路径建立方法流程示意图;
图13为本申请实施例应用于第一网络节点的数据传输方法流程示意 图;
图14为本申请实施例应用于第二网络节点的数据传输方法流程示意图;
图15为本申请应用实施例SRv6网络结构示意图;
图16为本申请应用实施例ping消息中的data部分内容示意图;
图17为本申请应用实施例建立路径中ping报文中目的地址的变化示意图;
图18本申请应用实施例建立路径中ping报文的反馈报文中目的地址的变化示意图;
图19本申请应用实施例报文转发流程中包的源地址和目的地址的变化示意图;
图20为本申请实施例一种路径建立装置结构示意图;
图21为本申请实施例另一种路径建立装置结构示意图;
图22为本申请实施例第三种路径建立装置结构示意图;
图23为本申请实施例一种数据传输装置结构示意图;
图24为本申请实施例另一种数据传输装置结构示意图;
图25为本申请实施例第一网络节点结构示意图;
图26为本申请实施例第二网络节点结构示意图;
图27为本申请实施例第三网络节点结构示意图。
具体实施方式
下面结合附图及实施例对本申请再作进一步详细的描述。
目前网络中的流量工程(TE)技术不易用(例如基于流量工程扩展的资源预留协议(RSVP-TE)),需要逐流的信令,需要中间节点的软状态,扩展性较差,无法支持网络中上百万的流,即复杂的控制协议已经不能满足快速发展的需求;另一方面,业务流的TE需求可以是带宽,时延,抖动等,当有这些TE需求时,需要为这些业务流指定特定的路径(假设默认的最短路径保证不了这些业务流的服务质量(QoS)),因此,提出了SR的架构,如图1所示。
SR在包(英文可以表达为packet)中携带源路由信息,让包沿着指定的路径转发,可以支持TE的需求,具体地,在MPLS中路由信息的呈现形式为标签(label)栈(SR-MPLS),在SRv6中路由信息的呈现形式为分段路由头(SRH),如图2所示。
其中,目前,SR-MPLS技术已较为成熟,SR-MPLS的优势是没有改变MPLS的转发机制,比如转发面的基本的处理,还是MPLS的“标签交换(英文可以表达为swap)”机制(如图3a所示)或者“标签弹出(英文可以表达为pop)”机制(如图3a和图3b所示)等。
而对于SRv6技术,相对于SR-MPLS技术来说,不太成熟。在SRv6技术的转发中,为了处理SRH,相对于SR-MPLS技术来说,转发流程被改变了;具体地,在SRv6技术的转发中,不再是仅根据目标地址(DA)进行转发,而是路由器(也可以称为网络节点)收到一个包后,需要判断是否是自己的SID,如果是,则直接进行相关的操作,比如进行路由相关的操作,按照SID对应的下一跳和出接口进行包转发,如果不是,按照DA去匹配路由表进行转发。
在SR技术中,如果要实现严格的显式路径,可以通过指定每一跳节点来实现,如图1所示的SR-MPLS场景中,是:{16010,16001,16002,30204,40407}。在这种情况下,在SRv6网络中,如果要实现严格的显式路径,如图4所示,SID list是:{A10::0,A1::0,A2::C4,A4::C7,A7::D200};其中,(A1::0)是一个SRv6END FUNCT,对应前缀SID,A2::C4是一个SRV6END.X FUNCT,对应邻接SID,由于标准的SRv6SID大小为128bits,那么当网络中的跳数较多的时候,严格的显式路径就会导致数据包有较大的包头,也就是说,当实现严格的显式路径时,SRv6比SR-MPLS更为不方便(SR-MPLS的一个SID大小为32bits)。
另一方面,SR-MPLS网络中,支持同时MPLS的转发,这些MPLS路径一定程度上是面向连接的(例如用RSVP-TE建立的),SRv6网络中无法同时支持MPLS的转发面。
从上面的描述可以看出,如图5所示,SRv6技术的一个主要目的是简化网络(也可以理解为减少控制协议的复杂性),因此不希望引入太多的其他的技术,例如MPLS技术等,因此,由SID list来实现TE,这就需要使用严格显式路径;而要实现严格的显式路径,就需要每跳的SID,这样就会导致包头比较大,如此,就会导致网络节点的处理效率降低,增加了处理时延;另一方面,在一些应用中,比如时延敏感网络(TSN)或确定性网络(DetNet)等场景,主要是为了控制时延的上限,不允许使用等价多路径(ECMP)机制,也需要一个严格的显式路径。因此,在SRv6网络中,如何满足这些特定业务的时延控制需求,而又不使用太长的包头,建立逐跳交换SID的面向连接的路径是目前亟待解决的问题。
基于此,在本申请的各种实施例中,在SRv6网络中,使能网络中边缘节点和转发节点支持一些新的功能(FUNCT),用SRv6网络编程来模拟基础的基于MPLS的转发。
这是因为:从本质上讲,MPLS和SR都是一种网络的编程语言,如果未来网络的发展趋势是SRv6网络,那么为了兼容一些特定的业务,网络应该通过某种机制来满足面向连接路径的建立,可能的场景包括:
第一种,用在低时延路径上,就可以不用封装太长的包头了。
第二种,建设初期,网络节点硬件支持不了太长的包头。
需要说明的是:在本申请实施例中,第一网络节点和第三网络节点是 网络边缘节点,可以称为PE节点、PE路由器等,比如骨干网络中的运营商边缘节点;对应地,第二网络节点是网络转发节点,可以称为P节点、P路由器等,比如骨干网络中的运营商节点。
本申请实施例提供了一种路径建立方法,应用于第一网络节点,如图6所示,该方法包括:
步骤601:生成用于创建第一路径的第一报文;
步骤602:发出所述第一报文。
其中,所述第一报文包含:所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第一网络节点为所述第一路径的首网络节点。
其中,所述第一路径是面向连接的路径。
实际应用时,所述第一SRv6 SID可以称为SRv6面向连接控制SID。
具体地,所述第一SRv6 SID用于在对应的每个网络节点上建立面向连接的路径(包括构建本地的第一路径的第二SRv6 SID之间的映射关系),以便建立所述第一路径。
基于此,在一实施例中,所述建立面向连接的路径包括:
构建第一路径的第二SRv6 SID之间的映射关系;所述第二SRv6 SID用于面向连接路径的报文转发。
实际应用时,所述第二SRv6 SID可以称为SRv6面向连接路径转发SID。
通过第一SRv6 SID,使得网络节点支持路径建立功能。实际应用时,可以定义第一SRv6 SID为End.Copc(可以理解为SRv6的End函数的变种);相应地,通过第二SRv6 SID,使得网络接待支持面向连接转发功能。实际应用时,可以定义第二SRv6 SID为End.Xcopd(可以理解为SRv6的End.X函数的变种)。
其中,cop的含义是:面向连接的路径(connection-oriented path),c是指控制面,d是指数据面。
实际应用时,每个网络节点需要通告自己的第一SRv6 SID即End.Copc和面向连接路径转发SID即End.Xcopd,以便某条路径的首节点(比如第一网络节点)利用第一SRv6 SID来建立面向连接路径,并利用SRv6面向连接路径转发SID进行包转发。
这两种新定义的SID都会携带参数ARGS,遵循SRv6中LOC:FUNCT:ARGS的格式定义,在通告时,相关的参数字段置0。
这里,实际应用时,可以基于内部网关协议(IGP)(比如中间系统到中间系统(IS-IS协议))进行通告,格式可以为AX::End.Copc:Lable,Lable此时为空,FUNCT类型(type)设定为一个新的SRv6 SID type。图7示出了End类型SID格式,对于第一SRv6 SID,可以放在位置(Locator)的TLV中发布,比如,type设置为100,端点行为(Endpoint behavior)设置 为100。图8a和图8b示出了两种End.X类型SID格式,对于SRv6面向连接路径转发SID,可以放置在放在ISIS top TLV 22中发布。其中,图8a所示格式的前缀SID适用于点对点(P2P)连接场景,比如Type设置为101,Endpoint behavior设置为101;图8b所示格式的前缀SID适用于局域网(LAN)场景,比如Type设置为102,Endpoint behavior设置为102。其中ISIS的top TLV 22是扩展的IS可达信息(Extended IS reachability)TLV,用于携带节点的ISIS邻接的一些相关信息。
实际应用时,由于SRv6的SID的大小为128bits,为了避免引入过长的SRv6包头,可以将所述第一路径的每个网络节点的第一SRv6 SID设置在报文的数据(data)部分。
基于此,在一实施例中,所述第一路径的每个网络节点的第一SRv6 SID携带在所述第一报文的payload(即所述第一报文的data)中。
具体地,可以将述第一路径的每个网络节点的第一SRv6 SID设置在所述第一报文的特定TLV中。
这里,实际应用时,所述第一报文可以是ping类型报文,更具体地,可以是ping6报文,所述第一路径的每个网络节点的第一SRv6 SID设置在图9所示的ping6报文的data中。
所述特定TLV可以是新定义的TLV,比如新增加一个TLV,格式可以如下:
type=2;
关键字段包括:源地址,目的地址,路径ID;
它还包含了一些sub-TLV,例如指明了路径信息,可以包含所述第一路径的每个网络节点的第一SRv6 SID、路径需求信息等。
其中,路径需求信息可以包含:业务流的带宽需求、时延需求等。
基于此,在一实施例中,所述第一报文还可以携带路径需求信息,相应地,所述路径需求信息也可以设置在所述第一报文的payload中。
为了建立第一路径,发出所述第一报文后还需要收到相应的反馈报文。
基于此,在一实施例中,该方法还可以包括:
接收所述第一报文的反馈报文;
基于所述反馈报文,分配第一路径对应的第二SRv6 SID;所述第二SRv6 SID用于面向连接路径的报文转发;
生成本地的第一路径的第二SRv6 SID之间的映射关系表。
其中,所述映射关系表包含:报文入第二SRv6 SID、报文出第二SRv6 SID、出接口。
这里,所述反馈报文与所述第一报文的payload部分的内容完全相同。示例性地,当所述第一报文采用ping6报文(对应请求(ICMPv6 Echo request)报文)时,所述反馈报文也是ping6报文(也是对应请求(ICMPv6 Echo request)报文),格式如图9所示。也就是说,所述ping报文是首节 点发出的,也会发回给首节点(报文源地址和目的地址都是首节点),但是按照路径中每个节点的End.Copc函数的功能,使得该报文在网络中沿着反向路径转发,并且回馈到首节点。
在另一种实现中,所述第一报文采用ping6报文(对应请求(ICMPv6 Echo request)报文)时,所述反馈报文是ping6报文(对应回复(ICMPv6 Echo reply)报文),格式如图10所示。即所述ping报文是首节点发出的,会发送给尾节点,尾节点收到后,会回应反馈报文,在一个反馈报文中,使用每个节点的End.Copc函数,使得路径中每个节点的End.Copc函数的功能的执行,以及该报文在网络中沿着反向路径转发,并且回馈到首节点。
相应地,本申请实施例还提供了一种路径建立方法,应用于第二网络节点,如图11所示,该方法包括:
步骤1101:接收用于创建第一路径的第一报文;
步骤1102:基于接收的第一报文,执行对应的路径建立操作。
其中,所述第一报文包含:所述第一路径的每个网络节点的第一SRv6SID;所述第一SRv6 SID用于在对应的每个网络节点上建立面向连接的路径;所述第二网络节点为所述第一路径中除首网络节点和末网络节点(也可以称为尾网络节点)外的其他网络节点。
这里,实际应用时,所述第二网络节点接收来自上一跳网络节点发送的第一报文;所述上一跳网络节点可以是所述第一网络节点,也可以所述第一路径的是其他网络转发节点。
在一实施例中,步骤1102的具体实现可以包括:
从所述第一报文中获取路径信息;所述路径信息至少包含所述第一路径的每个网络节点的第一SRv6 SID;
基于获取的路径信息,执行对应的路径建立操作。
具体地,在所述第一路径上(可以理解为在所述第一路径的正向路径上),并向所述第一路径上的下一跳网络节点转发第一报文;
在所述第一路径的反向路径上,执行以下操作:
收到第一报文对应的反馈报文后,确定能够为所述第一路径分配资源;将接收的反馈报文中目的地址对应的SID的第一ARG信息作为所述第一路径上(是指正向路径上)的下一跳网络节点的转发SID的ARG信息;
生成第二ARG信息,并基于所述第二ARG修改接收的反馈报文中目的地址对应的SID,以及沿着反向路径发送修改后的反馈报文;
生成本地的第一路径的第二SRv6 SID之间的映射关系表。
其中,实际应用时,所述第二网络节点从自身可用的ARG中分配一个ARG作为所述第二ARG。
当所述第二网络节点确定自身的资源不够,不能够为所述第一路径分配资源时,放弃路径的建立,可以针对所述第一报文反馈一个路径错误(PathErr)消息,可以将路径错误对应的ARG信息(比如定义为0001) 设置在所述第一报文对应的反馈报文中的目的地址对应的SID中,以反馈给所述第一网络节点,告知路径建立失败。
与所述第一网络节点本地的映射关系表类似地,所述第二网络节点本地的第一路径的第二SRv6 SID之间的映射关系表包含:报文入口面向连接转发SID(参数为第二ARG)、报文出面向连接转发SID(参数为第一ARG)、出接口。
对应地,本申请实施例还提供了一种路径建立方法,应用于第三网络节点,如图12所示,该方法包括:
步骤1201:接收用于创建第一路径的第一报文;
步骤1202:从接收的第一报文中获取路径信息;并基于获取的路径信息,确定自身为所述第一路径的末网络节点;
步骤1203:执行对应的路径建立操作。
具体地,生成第三ARG信息;并基于接收的第一报文及第三ARG信息,生成所述第一报文的反馈报文;发送所述反馈报文。
这里,所述反馈报文中目的地址对应的SID中的ARG为所述第三ARG信息;
其中,所述反馈报文及第一报文包含:所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于在对应的每个网络节点上建立面向连接的路径;所述第三网络节点为所述第一路径的末网络节点。
实际应用时,所述第三网络节点从自身可用的ARG中分配一个ARG作为所述第三ARG。
在一种可能的实现中,所述第三ARG为0003,是一个特殊的标签,代表了自己是最后一跳,从而支持倒数第二跳标签弹出的功能。
当所述第一网络节点收到所述第一报文的反馈报文,并在本地生成第一路径的第二SRv6 SID之间的映射关系表后,表明所述第一路径建立完成。
本申请实施例提供的路径建立方法,第一网络节点生成用于创建第一路径的第一报文;发出所述第一报文;其中,所述第一报文包含:所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第一网络节点为所述第一路径的首网络节点;而第二网络节点基于接收的第一报文,执行对应的路径建立操作;第三网络节点从接收的第一报文中获取路径信息;基于获取的路径信息,确定自身为所述第一路径的末网络节点;执行对应的路径建立操作;通过网络节点支持新的功能,用SRv6网络编程的方式实现了面向连接的路径的建立。
路径建立完成后,就可以采用该路径发送数据包。
基于此,本申请实施例还提供了一种数据传输方法,应用于第一网络节点,如图13所示,该方法包括:
步骤1301:基于所述第一网络节点的第二SRv6 SID及第一业务的数据,生成数据包;
步骤1302:发送所述数据包;其中,
所述数据包中的目的地址为第一路径中所述第一网络节点的下一跳节点第二SRv6 SID;第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;所述数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第一网络节点为所述第一路径的首网络节点。
其中,在一实施例中,所述第一网络节点在本地获得第一业务对应的第一网络节点的第二SRv6 SID;基于所述第一网络节点的第二SRv6 SID,确定已为所述第一业务建立了第一路径。
由于已经建立了面向连接的路径,所以包头就不需要携带M个网络节点的SID,而只需要携带部分网络节点的SID,比如,可以携带所述第一网络节点和第三网络节点的SID,如此,能够大大降低包头的大小,从而大大提高了网络节点的处理(解析包头)效率,降低了处理时延。
对应地,本申请实施例还提供了一种数据传输方法,应用于第二网络节点,如图14所示,该方法包括:
步骤1401:接收上一跳网络节点发送的数据包;接收的数据包属于第一业务;
步骤1402:从接收的数据包中获取到目的地址为所述第二网络节点的第二SRv6 SID;并在在本地的第二SRv6 SID之间的映射关系表查找与所述第二网络节点的第二SRv6 SID对应的下一跳网络节点第二SRv6 SID及出接口;
步骤1403:基于查询到的下一跳网络节点第二SRv6 SID及出接口,对接收的数据包进行转发。
其中,需要将接收的数据包的DA部分更新为查询到的下一跳网络节点第二SRv6 SID。
其中,第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;接收的数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
本申请实施例提供的数据传输方法,第一网络节点基于所述第一网络节点的第二SRv6 SID及第一业务的数据,生成数据包;发送所述数据包;其中,所述数据包中的目的地址为第一路径中所述第一网络节点的下一跳节点第二SRv6 SID;第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;所述数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第一网络节点为所述第一路径的首网络节点,由于通过网络节点支持新的功能,用SRv6网络编程的方式实现了面向连接的路径的建立,从而使得数据包可以不用封装太长的包头,如此,大大提高了网络节点的处理(解析包头)效率,减少了处理时延。
下面结合应用实施例对本申请再作进一步详细的描述。
在本应用实施例中,应用场景是:图15所示的SRv6网络结构下,需要构建的DetNet(确定性时延)路径是<1,2,4,3>,它是网络中时延较低的路径。
在这种情况下,控制面需求分析如下:
1、中间转发节点支持特定的FUNCT,用于维护swap映射表,例如节点2的一个swap表项:入A2::End.XCopd:ARG2,出A4::End.XCopd:ARG4,接口XXX。表项建立后,表明在该节点上建立了相关的转发路径。
2、转发流程是携带了数据报文的packet的数据面的转发,但是需要在转发之前,把转发路径建好,比如使用类似于ping的报文触发。
基于此,在本应用实施例中,建立路径的过程包括:
步骤0:每个网络节点通告自己的面向连接的路径建立的End.Copc,End.XCopd;
例如可以通过IGP通告,格式为AX::End.Copc:Lable,Lable此时为空,FUNCT type设定为一个新的SRv6 SID type。
通告后,路径的首节点可以用这些FUNCT来做网络编程,包括:用ping+End.Copc来建立路径,之后封装End.XCopd,做转发。
步骤1:节点1,希望为某个新业务构建一个专门的低时延路径<1,2,4,3>,则产生一个报文(例如ping),构建方式如下,包头源/目的地址如下:<A1::End.Copc:0000,A1::End.Copc:0000>;
在Ping消息的Data信息,例如增加一个TLV,格式如下:例如type=2,它还包含了一些sub-TLV,如图16所示,例如指明了路径信息,业务流的带宽需求,时延需求;
由于A1::End.Copc:0000会匹配到节点1的local SID list,之后按照0000执行路径建立操作:确定自身能够为该低时延路径分配资源,即确定资源足够,并读取ping报文的内部信息,找到自己的SID和下一个SID,用下一个SID替换ping报文中的DA为A2::End.Copc:0000,然后发出报文。
步骤2:节点2收到报文后,匹配自身SID,之后按照0000执行路径建立操作:确定自身能够为该低时延路径分配资源,即确定资源足够,并读取ping报文的内部信息,找到自己的SID和下一个SID,用下一个SID替换ping报文中的DA为A4::End.Copc:0000,然后发出报文。
步骤3:节点4收到报文后,匹配自身SID,之后按照0000执行路径建立操作:确定自身能够为该低时延路径分配资源,即确定资源足够,并读取ping报文的内部信息,找到自己的SID和下一个SID,用下一个SID替换ping报文中的DA为A3::End.Copc:0000,然后发出报文。
在步骤1至步骤3中,ping报文中DA的变化如图17所示。
步骤4:节点3收到报文后,匹配自身SID,之后按照特殊标签参数0000执行路径建立操作:确定自身能够为该低时延路径分配资源,即确定资源足够,并读取ping报文的内部信息,找到自己的SID,发现自己是路径中 的最后一个SID,即最后一个ping中的DA,然后为这条路径分配一个新的A3::End.XCopd:0003,找到上一跳节点的SID,将找到的SID替换ping报文中的DA为A4::End.Copc:0003,此时生成反馈报文,并发出ping报文。
步骤5:节点4收到报文后,即收到反馈报文后,匹配SID,之后按照0003执行路径建立操作:读取ping报文的内部信息,找到自己的SID和前一个SID(正向路径中的前一个SID),为这条路径分配一个新的A4::End.XCopd:0017,用找到的前一个SID替换ping报文中的DA为A2::End.Copc:0017,并发出ping报文;节点4新建SID映射表,映射表包含:入A4::End.XCopd:0017,swap(即出)A3::End.XCopd:0003,出接口为匹配服务等级协定(SLA)的一个A4到A3的接口。
步骤6:节点2收到报文后,即收到反馈报文后,匹配SID,之后按照0017执行路径建立操作:读取ping报文的内部信息,找到自己的SID和前一个SID,为这条路径分配一个新的A2::End.XCopd:0045,用找到的前一个SID替换ping报文中的DA为A1::End.Copc:0045,并发出ping报文;节点2新建SID映射表,映射表包含入A2::End.XCopd:0045,swap A4::End.XCopd:0017,出接口为匹配SLA的一个A2到A4的接口。
步骤7:节点1收到报文后,即收到反馈报文后,匹配SID,之后按照0045执行路径建立操作:读取ping报文的内部信息,找到自己的SID,发现自己匹配第一个SID,和SA,为这条路径分配一个新的A1::End.XCopd:0098,节点1新建SID映射表,映射表包含入A1::End.XCopd:0098,swap A2::End.XCopd:0045,出接口为匹配SLA的一个A1到A2的接口,路径建立完成。
步骤4至7中,ping报文中DA的变化如图18所示。
路径建立完成后,就可以进行数据转发了。
转发流程包括:
步骤1:在节点1,构造一个packet1,SID list为<A1::End.XCopd:ARG1,A3::D200>,在本地SID映射表查询A1::End.XCopd:0098对应的接口,将其对应的A2::End.XCopd:0045写入packet1的DA,并且将packet1转发出去。
其中,packet1只需要<A1::End.XCopd:0098,A3::D200>两个SID,即在包头只有两个SID。其中,A1::End.XCopd:0098会写入到DA中,并且在每个节点执行swap,直到最后一个节点或者倒数第二个节点,触发弹出操作,才执行SL-1,处理后面的SID A3::D200。其中,A3::D200是节点3上的业务SID,例如是一个SRv6中定义的END.DT4FUNCT。
步骤2:节点2收到packet1后,匹配自身SID,在本地SID映射表查询到A2::End.XCopd:0045对应的接口,将其对应的A4::End.XCopd:0017写入packet1的DA,并且将packet1转发出去。
步骤3:节点4收到packet1后,匹配自身SID,在本地SID映射表到 查询A4::End.XCopd:0017对应的接口,发现其为倒数第二跳,则将段长度(SL)减1,将A3::D200写入DA,并且将packet1转发出去。
步骤Step4:节点3收到报文后,匹配SID,按照A3::D200处理packet1,以发出packet1。
packet1转发过程中源地址(SA)和DA的变化,如图19所示。
按照相关SRv6的转发机制,所有的DetNet流量需要封装<A1::C12,A2::C24,A4::C43,A3::D200>的四个SID。
而采用本申请实施例的方案后,DetNet流量只需要封装<A1::End.XCopd:ARG1,A3::D200>两个SID,大大减少了包头的长度。
从上面的描述可以看出,本申请实施例中,定义了SRv6网络中,建立面向连接的路径的(SID交换)一种分布式的实现机制。在这个过程中,定义了两种新的SRv6 FUNCT,其中,End.Copc用于配合payload中的SID list信息和路径需求信息建立路径,End.XCopd用于数据转发。
对于路径上的各网络节点,需要按照特定的标签位(ARG)的情况,判断是携带了一个标签,还是希望触发某种功能,例如0000是建路功能。在具体的建路功能上,首节点、中间节点和尾节点执行的操作不同。如果携带了一个标签,默认为是返回的路径,那么就开始分配标签,并建立SID映射表,在建立映射表时,首节点、中间节点和尾节点执行的操作不同。
其中,可以用以下代码来实现节点的路径建立功能:
Figure PCTCN2021079772-appb-000001
Figure PCTCN2021079772-appb-000002
可以用以下代码来实现节点的报文转发操作:
Figure PCTCN2021079772-appb-000003
采用本申请实施例的方案后,SRv6网络中,一些有面向连接的路径需求的流量,可以采用本申请实施例提供的方法建立路径,并进行数据转发;而网络中其他的流量按照传统SRv6的转发机制进行转发,二者互相不影响。
为了实现本申请实施例的方法,本申请实施例还提供了一种路径建立装置,设置在第一网络节点上,如图20所示,该装置包括:
第一生成单元201,配置为生成用于创建第一路径的第一报文;
第一发送单元202,配置为发出所述第一报文;其中,所述第一报文包含:所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第一网络节点为所述第一路径的首网络节点。
其中,在一实施例中,该装置还可以包括:
第三接收单元,配置为接收所述第一报文的反馈报文;
第三创建单元,配置为基于所述反馈报文,分配第一路径对应的第二SRv6 SID;所述第二SRv6 SID用于面向连接路径的报文转发;以及生成本地的第一路径的第二SRv6 SID之间的映射关系表。
实际应用时,所述第一生成单元201、第三创建单元可由路径建立装置中的处理器实现;所述第一发送单元202及第三接收单元可由路径建立装置中的通信接口实现。
为了实现本申请实施例第二网络节点侧的方法,本申请实施例还提供了一种路径建立装置,设置在第二网络节点上,如图21所示,该装置包括:
第一接收单元211,配置为接收用于创建第一路径的第一报文;
第一创建单元212,配置为基于接收的第一报文,执行对应的路径建立操作;其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
其中,在一实施例中,所述第一创建单元212,配置为:
从所述第一报文中获取路径信息;所述路径信息至少包含所述第一路径的每个网络节点的第一SRv6 SID;
基于获取的路径信息,执行对应的路径建立操作。
其中,在一实施例中,所述执行对应的路径建立操作,包括:
在所述第一路径上,所述第一创建单元212确定能够为所述第一路径分配资源;并向所述第一路径上的下一跳网络节点转发第一报文;
在所述第一路径的反向路径上,所述第一创建单元212执行以下操作:
收到第一报文对应的反馈报文后,将接收的反馈报文中目的地址对应的SID的第一参数段ARG信息作为所述第一路径上的下一跳网络节点的转发SID的ARG信息;
生成第二ARG信息,并基于所述第二ARG修改接收的反馈报文中目的地址对应的SID,以及发送修改后的反馈报文;
生成本地的第一路径的第二SRv6 SID之间的映射关系表。
实际应用时,所述第一接收单元211及第三接收单元可由路径建立装置中的通信接口实现;所述第一创建单元212可由路径建立装置中的处理器实现。
为了实现本申请实施例第三网络节点侧的方法,本申请实施例还提供 了一种路径建立装置,设置在第三网络节点上,如图22所示,该装置包括:
第二接收单元221,配置为接收用于创建第一路径的第一报文;
第二创建单元222,配置为从接收的第一报文中获取路径信息;基于获取的路径信息,确定自身为所述第一路径的末网络节点;并执行对应的路径建立操作;其中,所述第一报文包含:所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第三网络节点为所述第一路径的末网络节点。
在一实施例中,所述第二创建单元222,配置为:
基于接收的第一报文及第三ARG信息,生成所述第一报文的反馈报文;所述反馈报文中目的地址对应的SID中的ARG为所述第三ARG信息;
发送所述反馈报文;其中,所述反馈报文包含所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第三网络节点为所述第一路径的末网络节点。
其中,所述第二接收单元221可由路径建立装置中的通信接口实现;所述第二创建单元222可由路径建立装置中的处理器实现。
需要说明的是:上述实施例提供的路径建立装置在进行路径建立时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的路径建立装置与路径建立方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
为了实现本申请实施例第一网络侧的方法,本申请实施例还提供了一种数据传输装置,设置在第一网络节点上,如图23所示,该装置包括:
第二生成单元231,配置为基于所述第一网络节点的第二SRv6 SID及第一业务的数据,生成数据包;
第二发送单元232,配置为发送所述数据包;其中,
所述数据包中的目的地址为第一路径中所述第一网络节点的下一跳节点第二SRv6 SID;第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;所述数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第一网络节点为所述第一路径的首网络节点。
其中,在一实施例中,该装置还可以包括:
确定单元,配置为:
在本地获得第一业务对应的第一网络节点的第二SRv6 SID;
基于所述第一网络节点的第二SRv6 SID,确定已为所述第一业务建立了第一路径。
实际应用时,所述第二发送单元232可由数据传输装置中的通信接口实现;所述第二生成单元231和确定单元可由数据传输装置中的处理器实现。
为了实现本申请实施例第二网络节点侧的方法,本申请实施例还提供了一种数据传输装置,设置在第二网络节点,如图24所示,该装置包括:
第三接收单元241,配置为接收上一跳网络节点发送的数据包;接收的数据包属于第一业务;
获取单元242,配置为从接收的数据包中获取到目的地址为所述第二网络节点的第二SRv6 SID;
查找单元243,配置为在本地的第一路径的第二SRv6 SID之间的映射关系表查找与所述第二网络节点的第二SRv6 SID对应的下一跳网络节点第二SRv6 SID及出接口;
转发单元244,配置为基于查询到的下一跳网络节点第二SRv6 SID及出接口,对接收的数据包进行转发;其中,
第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;接收的数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
实际应用时,所述第三接收单元241可由数据传输装置中的通信接口实现;所述获取单元242、查找单元243、转发单元244可由数据传输装置中的处理器实现。
需要说明的是:上述实施例提供的数据传输装置在进行数据传输时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例发第一网络节点侧的方法,本申请实施例还提供了一种第一网络节点,如图25所示,第一网络节点250包括:
第一通信接口251,能够与其他网络节点进行信息交互;
第一处理器252,与所述第一通信接口251连接,以实现与其他网络节点进行信息交互,配置为运行计算机程序时,执行上述第一网络节点侧一个或多个技术方案提供的方法。而所述计算机程序存储在第一存储器253上。
具体地,在路径建立流程中,所述第一处理器252,配置为生成用于创建第一路径的第一报文;所述第一通信接口251,配置为发出所述第一报文;其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;
其中,在一实施例中,所述第一通信接口251,还配置为接收所述第一报文的反馈报文;
所述第一处理器252,配置为基于所述反馈报文,分配第一路径对应的第二SRv6 SID;所述第二SRv6 SID用于面向连接路径的报文转发;以及生成本地的第一路径的第二SRv6 SID之间的映射关系表。
在数据传输流程中,所述第一处理器252,配置为基于所述第一网络节点的第二SRv6 SID及第一业务的数据,生成数据包;所述第一通信接口251,配置为发送所述数据包;其中,所述数据包中的目的地址为第一路径中所述第一网络节点的下一跳节点第二SRv6 SID;第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;所述数据包包含N个SID;N小于M;M、N均为大于1的整数;
其中,所述第一网络节点为所述第一路径的首网络节点。
其中,在一实施例中,所述第一处理器252,还配置为:
在本地获得第一业务对应的第一网络节点的第二SRv6 SID;
基于所述第一网络节点的第二SRv6 SID,确定已为所述第一业务建立了第一路径。
需要说明的是:第一处理器252的具体处理过程可参照上述方法理解。
当然,实际应用时,第一网络节点250中的各个组件通过总线系统254耦合在一起。可理解,总线系统254配置为实现这些组件之间的连接通信。总线系统254除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图25中将各种总线都标为总线系统254。
本申请实施例中的第一存储器253配置为存储各种类型的数据以支持第一网络节点250的操作。这些数据的示例包括:用于在第一网络节点250上操作的任何计算机程序。
上述本申请实施例揭示的方法可以应用于所述第一处理器252中,或者由所述第一处理器252实现。所述第一处理器252可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述第一处理器252中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述第一处理器252可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述第一处理器252可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第一存储器253,所述第一处理器252读取第一存储器253中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,第一网络节点250可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD, Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或者其他电子元件实现,用于执行前述方法。
基于上述程序模块的硬件实现,且为了实现本申请实施例第二网络节点侧的方法,本申请实施例还提供了一种第二网络节点,如图26所示,该第二网络节点260包括:
第二通信接口261,能够与其他网络节点进行信息交互;
第二处理器262,与所述第二通信接口261连接,以实现与其他网络节点进行信息交互,配置为运行计算机程序时,执行上述第二网络节点侧一个或多个技术方案提供的方法。而所述计算机程序存储在第二处理器262上。
具体地,在路径建立流程中,所述第二通信接口261,配置为接收用于创建第一路径的第一报文;所述第二处理器262,配置为基于接收的第一报文,执行对应的路径建立操作;其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
其中,在一实施例中,所述第二处理器262,配置为:
从所述第一报文中获取路径信息;所述路径信息至少包含所述第一路径的每个网络节点的第一SRv6 SID;
基于获取的路径信息,执行对应的路径建立操作。
其中,在一实施例中,所述执行对应的路径建立操作,包括:
在所述第一路径上,所述第二处理器262确定能够为所述第一路径分配资源;并向所述第一路径上的下一跳网络节点转发第一报文;
在所述第一路径的反向路径上,所述第二处理器262执行以下操作:
收到第一报文对应的反馈报文后,将接收的反馈报文中目的地址对应的SID的第一参数段ARG信息作为所述第一路径上的下一跳网络节点的转发SID的ARG信息;
生成第二ARG信息,并基于所述第二ARG修改接收的反馈报文中目的地址对应的SID,以及发送修改后的反馈报文;
生成本地的第一路径的第二SRv6 SID之间的映射关系表。
在数据传输流程中,所述第二通信接口261,配置为接收上一跳网络节点发送的数据包;接收的数据包属于第一业务;所述第二处理器262,配置为从接收的数据包中获取到目的地址为所述第二网络节点的第二SRv6 SID;并在本地的第一路径的第二SRv6 SID之间的映射关系表查找与所述第二网络节点的第二SRv6 SID对应的下一跳网络节点第二SRv6 SID及出接口;以及基于查询到的下一跳网络节点第二SRv6 SID及出接口,通过所 述第二通信接口261对接收的数据包进行转发;第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;接收的数据包包含N个SID;N小于M;M、N均为大于1的整数;其中,所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
需要说明的是:第二处理器262和第二通信接口261的具体处理过程可参照上述方法理解。
当然,实际应用时,第二网络节点260中的各个组件通过总线系统264耦合在一起。可理解,总线系统264配置为实现这些组件之间的连接通信。总线系统264除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图26中将各种总线都标为总线系统264。
本申请实施例中的第二存储器263配置为存储各种类型的数据以支持第二网络节点260操作。这些数据的示例包括:用于在第二网络节点260上操作的任何计算机程序。
上述本申请实施例揭示的方法可以应用于所述第二处理器262中,或者由所述第二处理器262实现。所述第二处理器262可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述第二处理器262中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述第二处理器262可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述第二处理器262可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第二存储器263,所述第二处理器262读取第二存储器263中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,第二网络节点260可以被一个或多个ASIC、DSP、PLD、CPLD、FPGA、通用处理器、控制器、MCU、Microprocessor、或其他电子元件实现,用于执行前述方法。
基于上述程序模块的硬件实现,且为了实现本申请实施例第三网络节点侧的方法,本申请实施例还提供了一种第三网络节点,如图27所示,该第三网络节点270包括:
第三通信接口271,能够与其他网络节点进行信息交互;
第三处理器272,与所述第三通信接口271连接,以实现与其他网络节点进行信息交互,配置为运行计算机程序时,执行上述第三网络节点侧一个或多个技术方案提供的方法。而所述计算机程序存储在第三存储器273上。
具体地,所述第三通信接口271,配置为接收用于创建第一路径的第一 报文;
所述第三处理器272,配置为从接收的第一报文中获取路径信息;基于获取的路径信息,确定自身为所述第一路径的末网络节点;并执行对应的路径建立操作;其中,所述第一报文包含:所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第三网络节点为所述第一路径的末网络节点。
在一实施例中,所述第三处理器272,配置为:
生成第三ARG信息;以及基于接收的第一报文及第三ARG信息,生成所述第一报文的反馈报文;所述反馈报文中目的地址对应的SID中的ARG为所述第三ARG信息;
所述第三通信接口271,还配置为发送所述反馈报文;其中,所述包含所述第一路径的每个网络节点的第一SRv6 SID。
当然,实际应用时,第三网络节点270中的各个组件通过总线系统274耦合在一起。可理解,总线系统274配置为实现这些组件之间的连接通信。总线系统274除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图27中将各种总线都标为总线系统274。
本申请实施例中的第三存储器273配置为存储各种类型的数据以支持第三网络节点270操作。这些数据的示例包括:用于在第三网络节点270上操作的任何计算机程序。
上述本申请实施例揭示的方法可以应用于所述第三处理器272中,或者由所述第三处理器272实现。所述第三处理器272可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述第三处理器272中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述第三处理器272可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述第三处理器272可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第三存储器273,所述第三处理器272读取第三存储器273中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,第三网络节点270可以被一个或多个ASIC、DSP、PLD、CPLD、FPGA、通用处理器、控制器、MCU、Microprocessor、或其他电子元件实现,用于执行前述方法。
可以理解,本申请实施例的存储器(第一存储器253、第二存储器263、第三存储器273)可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only  Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器253,上述计算机程序可由第一网络节点250的第一处理器252执行,以完成前述第一网络节点侧方法所述步骤。再比如包括存储计算机程序的第二存储器263,上述计算机程序可由第二网络节点260的第二处理器262执行,以完成前述第二网络节点侧方法所述步骤。再比如包括存储计算机程序的第三存储器273,上述计算机程序可由第三网络节点270的第三处理器272执行,以完成前述第二网络节点侧方法所述步骤计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

Claims (34)

  1. 一种路径建立方法,应用于第一网络节点,包括:
    生成用于创建第一路径的第一报文;
    发出所述第一报文;其中,所述第一报文包含:所述第一路径的每个网络节点的第一SRv6段身份标识(SID);所述第一SRv6 SID用于建立面向连接的路径;所述第一网络节点为所述第一路径的首网络节点。
  2. 根据权利要求1所述的方法,其中,所述建立面向连接的路径包括:
    构建第一路径的第二SRv6 SID之间的映射关系;所述第二SRv6 SID用于面向连接路径的报文转发。
  3. 根据权利要求1所述的方法,其中,所述第一路径的每个网络节点的第一SRv6 SID携带在所述第一报文的有效载荷payload中。
  4. 根据权利要求1所述的方法,其中,所述第一路径的每个网络节点的第一SRv6 SID携带在所述第一报文的payload的特定类型长度值TLV中。
  5. 根据权利要求4所述的方法,其中,所述第一报文为ping报文;所述特定TLV为新定义的TLV。
  6. 根据权利要求1至5任一项所述的方法,其中,所述方法还包括:
    接收所述第一报文的反馈报文;
    基于所述反馈报文,分配第一路径对应的第二SRv6 SID;所述第二SRv6 SID用于面向连接路径的报文转发;
    生成本地的第一路径的第二SRv6 SID之间的映射关系表。
  7. 根据权利要求6所述的方法,其中,所述映射关系表包含:报文入第二SRv6 SID、报文出第二SRv6 SID、出接口。
  8. 一种路径建立方法,应用于第二网络节点,包括:
    接收用于创建第一路径的第一报文;
    基于接收的第一报文,执行对应的路径建立操作;其中,所述第一报文包含:所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6SID用于建立面向连接的路径;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
  9. 根据权利要求8所述的方法,其中,所述第一路径的每个网络节点的第一SRv6 SID携带在所述第一报文的payload中。
  10. 根据权利要求8所述的方法,其中,所述第一路径的每个网络节点的第一SRv6 SID携带在所述第一报文的payload的特定TLV中。
  11. 根据权利要求10所述的方法,其中,所述第一报文为ping报文;所述特定TLV为新定义的TLV。
  12. 根据权利要求8至11任一项所述的方法,其中,所述基于接收的第一报文,执行对应的路径建立操作,包括:
    从所述第一报文中获取路径信息;所述路径信息至少包含所述第一路径的每个网络节点的第一SRv6 SID;
    基于获取的路径信息,执行对应的路径建立操作。
  13. 根据权利要求12所述的方法,其中,所述执行对应的路径建立操作,包括:
    在所述第一路径上,确定能够为所述第一路径分配资源;并向所述第一路径上的下一跳网络节点转发第一报文;
    在所述第一路径的反向路径上,执行以下操作:
    收到第一报文对应的反馈报文后,将接收的反馈报文中目的地址对应的SID的第一参数段ARG信息作为所述第一路径上的下一跳网络节点的第二SRv6 SID的ARG信息;
    生成第二ARG信息,并基于所述第二ARG修改接收的反馈报文中目的地址对应的SID,以及发送修改后的反馈报文;
    生成本地的第一路径的第二SRv6 SID之间的映射关系表。
  14. 根据权利要求13所述的方法,其中,所述映射关系表包含:报文入第二SRv6 SID、报文出第二SRv6 SID、出接口。
  15. 一种路径建立方法,应用于第三网络节点,包括:
    接收用于创建第一路径的第一报文;
    从接收的第一报文中获取路径信息;
    基于获取的路径信息,确定自身为所述第一路径的末网络节点;
    执行对应的路径建立操作;其中,所述第一报文包含:所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第三网络节点为所述第一路径的末网络节点。
  16. 根据权利要求15所述的方法,其中,所述第一路径的每个网络节点的第一SRv6 SID携带在相应报文的payload中。
  17. 根据权利要求15所述的方法,其中,所述第一路径的每个网络节点的第一SRv6 SID携带在相应报文的payload的特定TLV中。
  18. 根据权利要求17所述的方法,其中,所述第一报文为ping报文;所述特定TLV为新定义的TLV。
  19. 根据权利要求15至18任一项所述的方法,其中,所述执行对应的路径建立操作,包括:
    生成第三ARG信息;
    基于接收的第一报文及第三ARG信息,生成所述第一报文的反馈报文;所述反馈报文中目的地址对应的SID中的ARG为所述第三ARG信息;
    发送所述反馈报文;其中,所述反馈报文包含:所述第一路径的每个网络节点的第一SRv6 SID。
  20. 一种数据传输方法,应用于第一网络节点,包括:
    基于所述第一网络节点的第二SRv6 SID及第一业务的数据,生成数据 包;
    发送所述数据包;其中,
    所述数据包中的目的地址为第一路径中所述第一网络节点的下一跳节点第二SRv6 SID;第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;所述数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第一网络节点为所述第一路径的首网络节点。
  21. 根据权利要求20所述的方法,其中,所述方法还包括:
    在本地获得第一业务对应的第一网络节点的第二SRv6 SID;
    基于所述第一网络节点的第二SRv6 SID,确定已为所述第一业务建立了第一路径。
  22. 一种数据传输方法,应用于第二网络节点,包括:
    接收上一跳网络节点发送的数据包;
    从接收的数据包中获取到目的地址为所述第二网络节点的第二SRv6SID;
    在本地的第二SRv6 SID之间的映射关系表查找与所述第二网络节点的第二SRv6 SID对应的下一跳网络节点第二SRv6 SID及出接口;
    基于查询到的下一跳网络节点第二SRv6 SID及出接口,对接收的数据包进行转发;其中,
    第二SRv6 SID表征为第一业务建立了第一路径;所述第一路径包含M个网络节点;接收的数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
  23. 一种路径建立装置,设置在第一网络节点上,包括:
    第一生成单元,配置为生成用于创建第一路径的第一报文;
    第一发送单元,配置为发出所述第一报文;其中,所述第一报文包含:所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第一网络节点为所述第一路径的首网络节点。
  24. 一种路径建立装置,设置在第二网络节点上,包括:
    第一接收单元,配置为接收用于创建第一路径的第一报文;
    第一创建单元,配置为基于接收的第一报文,执行对应的路径建立操作;其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6SID;所述第一SRv6 SID用于建立面向连接的路径;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
  25. 一种路径建立装置,设置在第三网络节点上,包括:
    第二接收单元,配置为接收用于创建第一路径的第一报文;
    第二创建单元,配置为从接收的第一报文中获取路径信息;基于获取的路径信息,确定自身为所述第一路径的末网络节点;并执行对应的路径建立操作;其中,所述反馈报文及第一报文包含:所述第一路径的每个网 络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第三网络节点为所述第一路径的末网络节点。
  26. 一种数据传输装置,设置在第一网络节点上,包括:
    第二生成单元,配置为基于所述第一网络节点的第二SRv6 SID及第一业务的数据,生成数据包;
    第二发送单元,配置为发送所述数据包;其中,
    所述数据包中的目的地址为第一路径中所述第一网络节点的下一跳节点第二SRv6 SID;第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;所述数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第一网络节点为所述第一路径的首网络节点。
  27. 一种数据传输装置,设置在第二网络节点,包括:
    第三接收单元,配置为接收上一跳网络节点发送的数据包;
    获取单元,配置为从接收的数据包中获取到目的地址为所述第二网络节点的第二SRv6 SID;
    查找单元,配置为在本地的第二SRv6 SID之间的映射关系表查找与所述第二网络节点的第二SRv6 SID对应的下一跳网络节点第二SRv6 SID及出接口;
    转发单元,配置为基于查询到的下一跳网络节点第二SRv6 SID及出接口,对接收的数据包进行转发;其中,
    第二SRv6 SID表征为第一业务建立了第一路径;所述第一路径包含M个网络节点;接收的数据包包含N个SID;N小于M;M、N均为大于1的整数;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
  28. 一种第一网络节点,包括:第一处理器及第一通信接口;其中,
    所述第一处理器,配置为生成用于创建第一路径的第一报文;所述第一通信接口,配置为发出所述第一报文;其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;
    或者,
    所述第一处理器,配置为基于所述第一网络节点的第二SRv6 SID及第一业务的数据,生成数据包;所述第一通信接口,配置为发送所述数据包;其中,所述数据包中的目的地址为第一路径中所述第一网络节点的下一跳节点第二SRv6 SID;第二SRv6 SID表征为所述第一业务建立了第一路径;所述第一路径包含M个网络节点;所述数据包包含N个SID;N小于M;M、N均为大于1的整数;
    其中,所述第一网络节点为所述第一路径的首网络节点。
  29. 一种第二网络节点,包括:第二处理器及第二通信接口;其中,
    所述第二通信接口,配置为接收用于创建第一路径的第一报文;所述 第二处理器,配置为基于接收的第一报文,执行对应的路径建立操作;其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6 SID;所述第一SRv6 SID用于建立面向连接的路径;所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点;
    或者,
    所述第二通信接口,配置为接收上一跳网络节点发送的数据包;所述第二处理器,配置为从接收的数据包中获取到目的地址为所述第二网络节点的第二SRv6 SID;并在本地的第二SRv6 SID之间的映射关系表查找与所述第二网络节点的第二SRv6 SID对应的下一跳网络节点第二SRv6 SID及出接口;以及基于查询到的下一跳网络节点第二SRv6 SID及出接口,通过所述第二通信接口对接收的数据包进行转发;第二SRv6 SID表征为第一业务建立了第一路径;所述第一路径包含M个网络节点;接收的数据包包含N个SID;N小于M;M、N均为大于1的整数;
    其中,所述第二网络节点为所述第一路径中除首网络节点和末网络节点外的其他网络节点。
  30. 一种第三网络节点,包括:
    第三通信接口,配置为接收用于创建第一路径的第一报文;
    第三处理器,配置为从接收的第一报文中获取路径信息;基于获取的路径信息,确定自身为所述第一路径的末网络节点;并执行对应的路径建立操作;其中,所述第一报文包含所述第一路径的每个网络节点的第一SRv6SID;所述第一SRv6 SID用于建立面向连接的路径;所述第三网络节点为所述第一路径的末网络节点。
  31. 一种第一网络节点,包括:第一处理器和配置为存储能够在处理器上运行的计算机程序的第一存储器,
    其中,所述第一处理器配置为运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤,或者执行权利要求20或21所述方法的步骤。
  32. 一种第二网络节点,包括:第二处理器和配置为存储能够在处理器上运行的计算机程序的第二存储器,
    其中,所述第二处理器配置为运行所述计算机程序时,执行权利要求8至14任一项所述方法的步骤,或者执行权利要求22所述方法的步骤。
  33. 一种第三网络节点,包括:第三处理器和配置为存储能够在处理器上运行的计算机程序的第三存储器,
    其中,所述第三处理器配置为运行所述计算机程序时,执行权利要求15至19任一项所述方法的步骤。
  34. 一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤,或者实现权利要求8至14任一项所述方法的步骤,或者实现权利要求15至19任一项所述方法 的步骤,或者实现权利要求20或21所述方法的步骤,或者实现权利要求22所述方法的步骤。
PCT/CN2021/079772 2020-03-09 2021-03-09 路径建立方法、数据传输方法、装置、网络节点及存储介质 WO2021180077A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP21767384.7A EP4120742A4 (en) 2020-03-09 2021-03-09 PATH ESTABLISHMENT METHOD, DATA TRANSMISSION METHOD AND APPARATUS, NETWORK NODE, AND STORAGE MEDIUM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010157177.8 2020-03-09
CN202010157177.8A CN113382452B (zh) 2020-03-09 2020-03-09 路径建立方法、数据传输方法、装置、网络节点及存储介质

Publications (1)

Publication Number Publication Date
WO2021180077A1 true WO2021180077A1 (zh) 2021-09-16

Family

ID=77568375

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/079772 WO2021180077A1 (zh) 2020-03-09 2021-03-09 路径建立方法、数据传输方法、装置、网络节点及存储介质

Country Status (3)

Country Link
EP (1) EP4120742A4 (zh)
CN (1) CN113382452B (zh)
WO (1) WO2021180077A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992558A (zh) * 2021-10-26 2022-01-28 新华三信息安全技术有限公司 路由发布的方法、装置、电子设备及介质
CN114006857A (zh) * 2021-10-14 2022-02-01 新华三信息安全技术有限公司 路径规划方法及装置
CN114124781A (zh) * 2021-11-23 2022-03-01 中国联合网络通信集团有限公司 SRv6中报文的转发方法、系统、电子设备及存储介质
CN114301813A (zh) * 2021-12-24 2022-04-08 锐捷网络股份有限公司 一种ping检测的时延测量方法及装置
CN114710435A (zh) * 2022-04-11 2022-07-05 南京邮电大学 一种SDN环境下的SRv6段路由标签压缩方法
CN114866453A (zh) * 2022-05-18 2022-08-05 中电信数智科技有限公司 一种基于G-SRv6协议的报文转发方法及系统
WO2023045871A1 (zh) * 2021-09-23 2023-03-30 华为技术有限公司 报文处理方法、网络设备及系统
WO2024045180A1 (zh) * 2022-09-02 2024-03-07 华为技术有限公司 数据报文的传输方法、通信装置和通信系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884866A (zh) * 2022-06-09 2022-08-09 中国电信股份有限公司 一种路径确定方法、装置、系统、设备及存储介质
CN117319294A (zh) * 2022-06-24 2023-12-29 中兴通讯股份有限公司 报文的转发方法、装置、存储介质及电子装置
CN115442288B (zh) * 2022-08-19 2023-06-27 中国信息通信研究院 一种SRv6网络数据包检查方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218189A (zh) * 2017-07-03 2019-01-15 中兴通讯股份有限公司 跨域的路径的标识信息的确定方法、装置及存储介质
US20190289508A1 (en) * 2018-03-14 2019-09-19 Cisco Technology, Inc. Methods and apparatus for providing end marker functionality in mobile networks having srv6-configured mobile user planes
CN110677341A (zh) * 2019-09-09 2020-01-10 锐捷网络股份有限公司 一种数据转发方法、装置、电子设备及存储介质
CN110708243A (zh) * 2018-07-09 2020-01-17 华为技术有限公司 段路由中获取数据包的转发路径的信息的方法和装置
CN110855531A (zh) * 2019-12-02 2020-02-28 锐捷网络股份有限公司 一种转发路径检测方法及装置
CN110870260A (zh) * 2017-07-14 2020-03-06 华为技术有限公司 IPv6分段路由隧道建立方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8223668B2 (en) * 2006-12-14 2012-07-17 Rockstar Bidco Lp Method and apparatus for exchanging routing information and the establishment of connectivity across multiple network areas
US9537718B2 (en) * 2013-03-15 2017-01-03 Cisco Technology, Inc. Segment routing over label distribution protocol
CN105450437B (zh) * 2014-09-19 2020-03-06 中兴通讯股份有限公司 一种分配sid的方法和sr节点
CN109361600B (zh) * 2018-04-20 2021-08-10 中国移动通信有限公司研究院 一种获取路径标识的方法和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218189A (zh) * 2017-07-03 2019-01-15 中兴通讯股份有限公司 跨域的路径的标识信息的确定方法、装置及存储介质
CN110870260A (zh) * 2017-07-14 2020-03-06 华为技术有限公司 IPv6分段路由隧道建立方法
US20190289508A1 (en) * 2018-03-14 2019-09-19 Cisco Technology, Inc. Methods and apparatus for providing end marker functionality in mobile networks having srv6-configured mobile user planes
CN110708243A (zh) * 2018-07-09 2020-01-17 华为技术有限公司 段路由中获取数据包的转发路径的信息的方法和装置
CN110677341A (zh) * 2019-09-09 2020-01-10 锐捷网络股份有限公司 一种数据转发方法、装置、电子设备及存储介质
CN110855531A (zh) * 2019-12-02 2020-02-28 锐捷网络股份有限公司 一种转发路径检测方法及装置

Non-Patent Citations (1)

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

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023045871A1 (zh) * 2021-09-23 2023-03-30 华为技术有限公司 报文处理方法、网络设备及系统
CN114006857A (zh) * 2021-10-14 2022-02-01 新华三信息安全技术有限公司 路径规划方法及装置
CN114006857B (zh) * 2021-10-14 2023-03-31 新华三信息安全技术有限公司 路径规划方法及装置
CN113992558A (zh) * 2021-10-26 2022-01-28 新华三信息安全技术有限公司 路由发布的方法、装置、电子设备及介质
CN114124781A (zh) * 2021-11-23 2022-03-01 中国联合网络通信集团有限公司 SRv6中报文的转发方法、系统、电子设备及存储介质
CN114301813A (zh) * 2021-12-24 2022-04-08 锐捷网络股份有限公司 一种ping检测的时延测量方法及装置
CN114710435A (zh) * 2022-04-11 2022-07-05 南京邮电大学 一种SDN环境下的SRv6段路由标签压缩方法
CN114710435B (zh) * 2022-04-11 2023-05-30 南京邮电大学 一种SDN环境下的SRv6段路由标签压缩方法
CN114866453A (zh) * 2022-05-18 2022-08-05 中电信数智科技有限公司 一种基于G-SRv6协议的报文转发方法及系统
CN114866453B (zh) * 2022-05-18 2024-01-19 中电信数智科技有限公司 一种基于G-SRv6协议的报文转发方法及系统
WO2024045180A1 (zh) * 2022-09-02 2024-03-07 华为技术有限公司 数据报文的传输方法、通信装置和通信系统

Also Published As

Publication number Publication date
CN113382452B (zh) 2023-04-07
CN113382452A (zh) 2021-09-10
EP4120742A1 (en) 2023-01-18
EP4120742A4 (en) 2024-03-20

Similar Documents

Publication Publication Date Title
WO2021180077A1 (zh) 路径建立方法、数据传输方法、装置、网络节点及存储介质
US11991012B2 (en) Packet forwarding method, packet sending apparatus, and packet receiving apparatus
EP3624408B1 (en) Method for generating forwarding table entry, controller, and network device
CN110971433B (zh) 获取SRv6隧道信息的方法、设备和系统
US10659344B2 (en) Information transmission method, apparatus and system
US11909633B2 (en) Packet processing method, device, and system
US11743204B2 (en) Tunnel establishment method, apparatus, and system
US20120057505A1 (en) Method, apparatus, and system for setting up bidirectional point-to-multipoint label switched path
WO2015192501A1 (zh) 地址信息的发布方法及装置
WO2021121065A1 (zh) Bier报文转发方法、装置、设备和存储介质
US20220141120A1 (en) Forwarding path determining method and apparatus
WO2019165900A1 (zh) 一种处理组播数据报文的方法及装置
WO2011103781A2 (zh) 身份标识与位置分离的实现方法、设备及数据封装方法
WO2021143279A1 (zh) 段路由业务处理方法和装置、路由设备及存储介质
WO2015055058A1 (zh) 转发表项生成的方法、转发节点和控制器
CN112019433A (zh) 一种报文转发方法和装置
WO2021088561A1 (zh) 位索引显式复制网络中负载分担的方法、装置及设备
WO2022184169A1 (zh) 报文转发方法、系统、存储介质及电子装置
US20240056392A1 (en) Communication method and apparatus
CN107547377B (zh) 一种组播流量传输方法和装置
WO2022166465A1 (zh) 一种报文处理方法及相关装置
WO2022111666A1 (zh) 一种路由通告方法、装置及系统
WO2024002101A1 (zh) 报文传输方法、装置、相关设备及存储介质
WO2024083219A1 (zh) 报文处理方法、装置、设备及存储介质
WO2024012316A1 (zh) 报文处理方法、装置、网络节点及存储介质

Legal Events

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

Ref document number: 21767384

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021767384

Country of ref document: EP

Effective date: 20221010