WO2016198015A1 - 一种报文传输的方法、装置和系统 - Google Patents

一种报文传输的方法、装置和系统 Download PDF

Info

Publication number
WO2016198015A1
WO2016198015A1 PCT/CN2016/086904 CN2016086904W WO2016198015A1 WO 2016198015 A1 WO2016198015 A1 WO 2016198015A1 CN 2016086904 W CN2016086904 W CN 2016086904W WO 2016198015 A1 WO2016198015 A1 WO 2016198015A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
node
packet
specified
identifier
Prior art date
Application number
PCT/CN2016/086904
Other languages
English (en)
French (fr)
Inventor
廖婷
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016198015A1 publication Critical patent/WO2016198015A1/zh

Links

Images

Definitions

  • the embodiments of the present invention relate to, but are not limited to, technologies for centralized control management, and in particular, to a method, device and system for message transmission.
  • a typical service bearer network includes a User Edge (CE) router, a Carrier Edge (PE) router, a Carrier Backbone (P) router, and a Route Reflector (RR).
  • the Open Shortest Path First (OSPF) protocol or the Intermediate System to Intermediate System Routing Protocol (IS-IS) is used as the Interior Gateway Protocol (IGP).
  • the BGP-4 multi-protocol extended border gateway protocol MP-BGP, where BGP is the border gateway protocol
  • MP-BGP delivers virtual private network (VPN) information, uses Label Distribution Protocol (LDP) to distribute labels, and uses traffic-based engineering.
  • the Resource Reservation Protocol (RSVP-TE, Resource Reservation Protocol-Traffic Engineering) deploys traffic engineering and bandwidth reservation for specific applications or destination services.
  • the typical service bearer network deployment has the following problems: many types of routing protocols and complex deployments; because of the forwarding mechanism based on the destination address, data packets cannot be forwarded based on the requirements of each source; The bandwidth and delay requirements of the application cannot be dynamically deployed according to the network conditions.
  • the resource reservation protocol can implement bandwidth reservation.
  • the actual configuration is generally static, and the dynamic configuration cannot be implemented automatically.
  • RSVP technology is mature, the actual deployment ratio is very low.
  • the Internet Engineering Task Force proposes a segment routing (SR, Segment Routing) technology.
  • the SR is a method based on source address routing, which has the shortest impact by superimposing a layer outside the data packet.
  • the SR information forwarded by the path, and the data packet is forwarded by the shortest path according to the specified path node information.
  • the SR information is mainly the segment of the node.
  • the routing global label block (SRGB, SR Global Block) and the offset (index) are composed of two parts.
  • the index of each node is unique.
  • the SRGB range is offset according to the index value, and the node can be identified.
  • the source node guides the packet forwarding through the segment list.
  • MPLS Multi-Protocol Label Switch
  • IPv6 forwarding plane the segment list is converted into a traditional label stack or a The IPv6 address of the string is inserted into the header of the source node.
  • the MPLS forwarding plane hardware needs to be upgraded to support the deeper label stack processing capability.
  • the IPv6 forwarding plane needs to replace the next hop address with the hop by hop, so that the forwarding efficiency is low.
  • the load efficiency problem is caused by the excessive content carried by the packet header, which makes the payload storage space smaller and the load efficiency is affected.
  • the embodiment of the invention provides a method, a device and a system for transmitting a message, which can improve forwarding efficiency.
  • the first node on the specified path carries the path identifier of the specified path in the packet, and the path identifier is placed in the packet header extension layer or the destination address field or the outer label, where the path identifier is used to guide the Forwarding of the message;
  • the forwarding node on the specified path forwards the packet to the downstream node on the specified path according to the path identifier forwarding entry.
  • the method further includes:
  • the forwarding node on the specified path receives the complete path information of the specified path and the path identifier corresponding to the specified path, and forms a path identifier forwarding entry, where the path identifier forwarding entry includes the local node to the next node.
  • the outbound interface information of the hop node and the path identifier of the specified path is not limited to the path identifier forwarding entry.
  • forming the path identifier forwarding entry includes:
  • the forwarding node on the specified path learns the next hop node of the local node in the specified path according to the complete path information of the specified path, and forms a location according to the forwarding entry information of the local established node to the next hop node.
  • the path identifier of the specified path identifies the forwarding entry.
  • the complete path information of the specified path includes all node information on the specified path.
  • the path identifier of the specified path is a global identifier
  • the length is expandable in units of bytes.
  • the path identifier of the specified path is an IPV4 address, or an IPV6 address, or a multi-protocol label switching MPLS label.
  • the placing the path identifier in the packet header extension layer comprises: indicating the path identifier by using a preset Ethernet type value in the packet header extension layer, where the packet header extension layer is located in the Ethernet package After that, before IP encapsulation.
  • the packet header extension layer includes: a path identifier, a package type of the payload, an entropy label, and an extension layer length.
  • the method further includes:
  • the packet header carrying the path identifier or the packet header extension layer is removed, or when the packet is a single layer encapsulation,
  • the path identifier in the destination address field is restored to the destination address in the original packet; the data packet forwarded by the last node on the specified path is the original data packet.
  • the embodiment of the invention further provides a message transmission device, which is located at a first node on a specified path, and the device includes:
  • Constructing a module configured to carry a path identifier of the specified path in the packet, where the path is The identifier is placed in the extension layer or the destination address field or the outer label of the packet header, where the path identifier is used to guide the forwarding of the packet;
  • the first forwarding module is configured to forward the packet to the downstream node on the specified path according to the path identifier forwarding entry after the packet carries the path identifier.
  • the device further includes:
  • a first forwarding entry generating module configured to receive the complete path information of the specified path and the path identifier corresponding to the specified path, to form a path identifier forwarding entry, where the path identifier forwarding entry includes the local node to the next The outbound interface information of the one-hop node and the path identifier of the specified path.
  • the first forwarding entry generating module forming a path identifier forwarding entry includes:
  • the first forwarding entry generating module learns the next hop node of the local node in the specified path according to the complete path information of the specified path, and forms a location according to the forwarding entry information of the local established node to the next hop node.
  • the path identifier of the specified path identifies the forwarding entry.
  • the constructing module places the path identifier in the packet header extension layer, including:
  • the constructing module sets a preset Ethernet type value in the packet header extension layer, where the Ethernet type value is used to represent the path identifier, and the packet header extension layer is located after the Ethernet encapsulation and before the IP encapsulation.
  • the embodiment of the invention further provides a message transmission device, which is located at an intermediate node on a specified path, and the device includes:
  • the first receiving module is configured to receive the packet, where the destination address field or the outer label or the packet header extension layer carries the path identifier of the specified path, where the path identifier is used to guide the packet. Forwarding;
  • the second forwarding module is configured to forward the packet to the downstream node on the specified path according to the path identifier forwarding entry.
  • the device further includes:
  • a second forwarding entry generating module configured to receive the complete path of the specified path sent by the controller
  • the path information and the path identifier corresponding to the specified path form a path identifier forwarding entry, where the path identifier forwarding entry includes outbound interface information of the local node to the next hop node and a path identifier of the specified path.
  • the second forwarding entry generating module forming the path identifier forwarding entry includes:
  • the second forwarding entry generating module is configured to learn, according to the complete path information of the specified path, a next hop node of the local node in the specified path, and form a location according to the forwarding entry information of the local established node to the next hop node.
  • the path identifier of the specified path identifies the forwarding entry.
  • the embodiment of the present invention further provides a message transmission device, which is located at a last node on a specified path, and the device includes:
  • the second receiving module is configured to receive the packet, where the destination address field or the outer label or the packet header extension layer carries the path identifier of the specified path, where the path identifier is used to guide the packet. Forwarding;
  • the third forwarding module is configured to: when the packet is forwarded according to the path identifier forwarding entry, remove the packet header or the packet header extension layer that carries the path identifier, and the data packet forwarded by the forwarding module is the original data packet. Text.
  • the third forwarding module is further configured to:
  • the path identifier placed in the destination address field is restored to the destination address in the original packet.
  • the embodiment of the present invention further provides a message transmission system, including: a first node, an intermediate node, and a last node on a specified path, where: the first node includes the message transmission device located at the first node, and the intermediate node The message transmission device located at the intermediate node is included, and the last node includes the message transmission device located at the last node.
  • the embodiment of the invention further provides a computer readable storage medium storing computer executable instructions for implementing the above method.
  • the technical solution of the embodiment of the present invention after determining the length of the path identifier, the path identifier exists in the packet header, and the intermediate forwarding node directly depends on the path ID. To perform a single lookup table forwarding, when the data flows, there is no need to perform other processing on the packet header to improve the forwarding efficiency.
  • FIG. 1 is a flowchart of a method for forwarding a path ID guide message according to an embodiment of the present invention
  • FIG. 2 is a format diagram of a packet of a PATH ID according to Embodiment 1 of the present invention.
  • FIG. 3 is a schematic structural diagram of a forwarding device located at a first node of a specified path according to Embodiment 2 of the present invention
  • FIG. 4 is a schematic structural diagram of a forwarding device located at an intermediate node of a specified path according to Embodiment 3 of the present invention.
  • FIG. 5 is a schematic structural diagram of a forwarding device located at a node at a last end of a specified path according to Embodiment 4 of the present invention.
  • FIG. 6 is a schematic diagram of a network in an application example of the present invention.
  • This embodiment provides a packet transmission method, as shown in FIG. 1, including the following steps:
  • Step 101 The first node on the specified path carries the path identifier of the specified path in the packet, and the path identifier is placed in the packet header extension layer or the destination address field or the outer label, where the path identifier is used. Directing the forwarding of the message;
  • the path identifier of the specified path is a global identifier, and the length is expandable in units of bytes.
  • the path identifier of the specified path is an IPV4 address, or an IPV6 address, or a multi-protocol label switching MPLS label.
  • the placing the path identifier in the packet header extension layer may include:
  • the path identifier is represented by a preset Ethernet type value in the header extension layer, and the packet header extension layer is located after the Ethernet encapsulation (ie, the Ethernet encapsulation layer) and before the IP encapsulation (ie, the IP encapsulation layer).
  • the packet header extension layer includes: a path identifier, a package type of the payload, an entropy label, and an extension layer length.
  • Step 102 After the packet carries the path identifier, the forwarding node on the specified path forwards the packet to the downstream node on the specified path according to the path identifier forwarding entry.
  • the forwarding node on the specified path described herein includes the first node, the intermediate node, and the last node of the specified path.
  • Step 100 The forwarding node on the specified path receives the complete path information of the specified path and the path identifier corresponding to the specified path, and forms a path identifier forwarding entry, where the path identifier forwarding entry includes the local node.
  • the complete path information of the specified path includes all node information on the specified path.
  • step 100 the forming a path identifier forwarding entry includes:
  • the forwarding node on the specified path learns the next hop node of the local node in the specified path according to the complete path information of the specified path, and forms a location according to the forwarding entry information of the local established node to the next hop node.
  • the path identifier of the specified path identifies the forwarding entry.
  • the forwarding entry information includes but is not limited to one or more of the following: a destination field, a next hop field, and an outbound field.
  • the method further includes:
  • the packet header carrying the path identifier or the packet header extension layer is removed, or when the packet is a single layer encapsulation,
  • the path identifier in the destination address field is restored to the destination address in the original packet; the data packet forwarded by the last node on the specified path is the original data packet.
  • the packet header carrying the path identifier is, for example, corresponding to the outer label encapsulation of the packet at the first node, where the packet is a single layer encapsulation, for example, corresponding to the destination address field of the packet at the first node.
  • Encapsulation which is a non-extended layer (that is, no extended header) or MPLS label format encapsulation, can be encapsulated in an IP packet format.
  • a globally unique path ID is assigned to a specified path (a non-SPF (shortest path first algorithm) or a CSPF (a shortest path first algorithm based on the constraint)), and the path is mapped by the path ID.
  • Path and the path ID is directly carried in a new package or encapsulated in the destination address field of the existing data packet format or the outer label part of the label header to guide data packet forwarding.
  • the path ID There are two implementations of the path ID carried:
  • Method 1 Extend a new encapsulation by the data packet header to indicate that a new packet encapsulation is carried, and the new value of the Ethertype in the Ethernet header is set to indicate that the extension layer carries the related content of the PATH ID. information.
  • the new packet type is indicated by a Type or Length field in a MAC (Media Access Control) header, and the packet format of the PATH ID is roughly as shown in FIG. ,include:
  • a new value defined for the Ethertype indicates that the packet carrying the path ID-related forwarding information is carried in the following;
  • the packet carries a version, a length, an entropy label, a path ID value, and a protocol.
  • the protocol field is used to indicate the payload encapsulation type that is carried later.
  • Version indicates the version field
  • Length indicates the extension header length in bytes.
  • the non-fixed length is because the management configuration of the path ID value may have different length values due to different network configurations.
  • the length is extensible in bytes.
  • the PATH ID may be a byte length value according to the value assigned by the network configuration management, such as a 16-bit tag, a 32-bit ipv4 address, a 48-bit MAC address, and a 128-bit ipv6 address ID value.
  • the payload encapsulation type is used to identify the type of the subsequent packet header.
  • the value is represented by an IPV4 packet or an MPLS packet.
  • the PATH ID may be encapsulated in the destination address field of the data packet format or the outer label part in the label header.
  • the controller obtains the ipv4 or ipv6 or mpls label information used in the current network
  • the default path is the path calculated by CSPF or SPF
  • the path id can depend on the current forwarding plane encapsulation.
  • the form is allocated accordingly (such as assigning an unused ipv4 address in ipv4 forwarding, ipv6 network assigning an unused ipv6 address, mpls network assigning an unused label, and of course, assigning labels to ipv4 forwarding, etc.) ;
  • the controller may separately send different path information for each node, for example, the path information sent to a node O. Includes only the mapping of the next hop and the path ID;
  • the forwarding node After receiving the mapping between the PATH ID and the PATH, the forwarding node establishes the mapping of the outbound interface information of the next hop (including the nexthop and the interface (outbound interface) information) and the path ID in the PATH.
  • the PATH ID forms a local forwarding entry, that is, a path identifier forwarding entry;
  • the ID of the PATH mapping is encapsulated in the destination address field, and the path ID is used to guide the packet forwarding.
  • the forwarding can be completed without a deep label stack or a long address string, and the forwarding efficiency is high, simple and easy, and the cost is low.
  • the embodiment further provides a message transmission device, which is located at a first node on a specified path. As shown in FIG. 3, the device includes:
  • the constructing module 301 is configured to carry the path identifier of the specified path in the packet, and set the path identifier in a packet header extension layer or a destination address field or an outer label, where the path identifier is used to guide the Forwarding of the message;
  • the first forwarding module 302 is configured to forward the packet to the downstream node on the specified path according to the path identifier forwarding entry after the packet carries the path identifier.
  • the constructing module 301 where the path identifier is placed in the packet header extension layer, includes:
  • the constructing module 301 sets a preset Ethernet type value in the packet header extension layer, where the Ethernet type value is used to indicate the path identifier, and the packet header extension layer is located after the Ethernet encapsulation and before the IP encapsulation.
  • the apparatus may further include:
  • a first forwarding entry generating module 300 configured to receive the complete path information of the specified path and the path identifier corresponding to the specified path, to form a path identifier forwarding entry, where the path identifier forwarding entry includes the local node The outbound interface information to the next hop node and the path identifier of the specified path.
  • the first forwarding entry generating module 300 forms a path identifier forwarding entry, including:
  • the first forwarding entry generating module 300 learns, according to the complete path information of the specified path, the next hop node of the local node in the specified path, and forms the forwarding entry information according to the locally established local node to the next hop node.
  • the path of the specified path identifies a forwarding entry.
  • the device is a device corresponding to the packet forwarding method. All the implementation manners in the foregoing method embodiments are applicable to the device embodiment, and the same technical effects can be achieved.
  • the embodiment further provides a message transmission device, which is located at an intermediate node on a specified path. As shown in FIG. 4, the device includes:
  • the first receiving module 401 is configured to receive a packet, where the destination address field or the outer label or the packet header extension layer carries the path identifier of the specified path, where the path identifier is used to guide the packet. Forwarding of text;
  • the second forwarding module 402 is configured to forward the packet to the downstream node on the specified path according to the path identifier forwarding entry.
  • the apparatus may further include:
  • a second forwarding entry generating module 400 configured to receive the complete path information of the specified path and the path identifier corresponding to the specified path, to form a path identifier forwarding entry, where the path identifier forwarding entry includes the local node The outbound interface information to the next hop node and the path identifier of the specified path.
  • the second forwarding entry generating module 400 forms a path identifier forwarding entry, including:
  • the second forwarding entry generating module 400 learns, according to the complete path information of the specified path, the next hop node of the local node in the specified path, and forms a forwarding entry information according to the locally established local node to the next hop node.
  • the path of the specified path identifies a forwarding entry.
  • the device is a device corresponding to the packet forwarding method. All the implementation manners in the foregoing method embodiments are applicable to the device embodiment, and the same technical effects can be achieved.
  • the embodiment further provides a message transmission device, which is located at a last node on a specified path. As shown in FIG. 5, the device includes:
  • the second receiving module 501 is configured to receive a packet, where the destination address field or the outer label or the packet header extension layer carries the path identifier of the specified path, where the path identifier is used to guide the packet. Forwarding of text;
  • the third forwarding module 502 is configured to: when the packet is forwarded according to the path identifier forwarding entry, remove the packet header or the packet header extension layer that carries the path identifier, and the data packet forwarded by the forwarding module is original data. Message.
  • the packet header carrying the path identifier is, for example, corresponding to an outer label encapsulation of the packet at the first node.
  • the third forwarding module is further configured to:
  • the path identifier placed in the destination address field is restored to the destination address in the original packet.
  • the packet is encapsulated in a single-layer encapsulation, for example, a destination address field corresponding to the packet at the head node, and is encapsulated in a non-extended layer or an MPLS label format, and may be encapsulated in an IP packet format.
  • the device is a device corresponding to the packet forwarding method. All the implementation manners in the foregoing method embodiments are applicable to the device embodiment, and the same technical effects can be achieved.
  • the nodes in the above embodiments 2, 3, and 4 collectively constitute a message transmission system.
  • the Controller obtains the ipv4 address of all nodes and links in the network, and finds that there is still a spare ipv4 address (this field can be continuous or discontinuous) is not used, R0-R10
  • the default shortest path is R0-R4-R5-R8-R10.
  • the controller calculates a complete specified path for R0-R10 according to the policy or configuration: R0-R11-R1-R5-R8-R2-R13-R3-R10 Assigning an unoccupied ipv4 address to the path, such as 10.11.12.13, as the PATH ID of the path (that is, the path identifier of the specified path), and identifying the path by using the ipv4 address;
  • the controller will pass the southbound interface protocol such as PCEP (Path Computation Element Protocol), BGP-LS (Border Gateway Protocol-Link-state border gateway protocol-link state), openflow (open flow) or netconf ( (Network configuration) and other extensions of the protocol to deliver the PATH ID and mapping information of all nodes on the PATH to all nodes passing through the path;
  • PCEP Peth Computation Element Protocol
  • BGP-LS Border Gateway Protocol-Link-state border gateway protocol-link state
  • openflow open flow
  • netconf Network configuration
  • the extension of the above protocol refers to the protocol packet encapsulating the complete information of the PATH ID and PATH.
  • the forwarding entry information is as shown in Table 1, which is only an example here.
  • the forwarding entry information may also be in other forms.
  • the information of the destination address field, that is, R11 is copied into the PATH ID to form a forwarding entry to the PATH ID. That is, the path identifier forwarding entry (such as Table 2); other nodes also form a forwarding entry to the PATH ID according to the outbound interface information of the next hop in the PATH.
  • the last node R10 knows that it is the destination node of the PATH ID, and does not need to form a forwarding entry, but needs to decapsulate the PATH ID encapsulation of the packet.
  • DST Destination address
  • Gw Next hop (nexthop) Outlet interface
  • R0 When the data packet arrives at R0, R0 knows that the data packet needs to be forwarded along the PATH. According to the policy, the destination address is replaced with the PATH ID or the ip encapsulation is performed again.
  • the destination address is PATH ID, which is 10.11.12.13.
  • the packet is forwarded to R10 along the specified path under the guidance of the PATH ID; or the extension header of the path ID is carried according to the extension of the Ethernet type of the mode 1, and the packet is forwarded to the destination node R10 along the path id.
  • R10 When R10 receives the PATH ID extension header packet carrying the PATH ID (that is, the packet containing the packet header extension layer), the extension header is removed, and the protocol type mapping of the following packet is filled.
  • the type field of the Ethernet encapsulation type when the IP layer encapsulation with the PATH ID as the destination address is received in a single-layer encapsulation, the destination address must be restored to the original packet encapsulation, that is, the path identifier to be placed in the destination address field.
  • the packet is replaced with the destination address encapsulated in the original packet, and the packet is restored to the original data packet.
  • the IP in IP encapsulation of the IP encapsulation is carried again, the outer IP carrying the PATH ID is removed.
  • the data packet finally forwarded by R10 is the original data packet.
  • the controller needs to take the path R0-R11-R1-R12-R2-R13-R3-R10, and the previously calculated R0-R11-R1-R5-R8-R2 -R13-R3-R10 path is overwritten, then each node only needs to update the local formation according to the new mapping information (that is, the PATH ID (which can be new or original) and the mapping information of all nodes on the new PATH).
  • the PATH ID mapping entry that is, the path identifier forwarding entry as shown in Table 2.
  • the Controller obtains the global label allocation information of all the nodes in the network, and finds that there is still a free global label (this field can be continuous or discontinuous) is not allocated for use, R0-
  • the default shortest path of R10 is R0-R4-R5-R8-R10.
  • the controller calculates a specified path for R0-R10 according to the policy or configuration: R0-R11-R1-R5-R8-R2-R13-R3-R10 Assigning an unoccupied label such as 10016 to the path as the PATH ID of the path, and using the label to identify the path;
  • the controller sends the mapping information of the PATH ID and all the nodes on the PATH to all the nodes passing through the path through the extension of the protocol such as PCEP, BGP-LS, openflow, or netconf.
  • the forwarding entry information is as shown in Table 1, here is only an example, the forwarding entry
  • the information may also be in other forms.
  • the information of the destination address field, that is, R11, is copied into the PATH ID to form a forwarding entry to the PATH ID (Table 3); other nodes are also based on their next hop in the PATH.
  • the outgoing interface information forms a forwarding entry to the PATH ID.
  • the last node R10 knows that it is the destination node of the PATH ID, and does not need to form a forwarding entry, but needs to decapsulate the PATH ID encapsulation of the packet.
  • R0 When the data packet arrives at R0, R0 knows that the data packet needs to be forwarded along the PATH, and the MPLS encapsulation is carried back according to the policy.
  • the destination address is the label value of the PATH ID, that is, 10016, and the packet is in the PATH ID.
  • the extension header of the path ID is carried according to the extension of the Ethertype of the mode 1, and the packet is forwarded to the destination node R10 along the path id.
  • R10 When R10 receives the PATH ID extension header packet carrying the PATH ID, the extension header is removed, and the protocol type mapping of the subsequent packet is filled into the Ethernet encapsulation.
  • Type field When the outer label is an MPLS packet with the PATH ID, the label label with the PATH ID is popped up. The data packet finally forwarded by R10 is the original data packet.
  • the controller needs to take the path R0-R11-R1-R12-R2-R13-R3-R10, and the previously calculated R0-R11-R1-R5-R8-R2 -R13-R3-R10 path is overwritten, then each node only needs to update the local formation according to the new mapping information (that is, the PATH ID (which can be new or original) and the mapping information of all nodes on the new PATH).
  • the PATH ID mapping entry that is, the path identifier forwarding entry as shown in Table 3.
  • the Controller obtains the ipv6 address information of all nodes and links in the network, and finds that there is still a spare global unique ipv6 address (this field can be continuous or discontinuous) is not allocated for use, R0-
  • the default shortest path of R10 is R0-R4-R5-R8-R10.
  • the controller calculates a specified path for R0-R10 according to the policy or configuration: R0-R11-R1-R5-R8-R2-R13-R3-R10 Specify an unused IPV6 address such as 2010::100 for the path as the PATH ID of the path, and use the ipv6 address to identify the path;
  • the controller sends the mapping information of the PATH ID and all the nodes on the PATH to all the nodes passing through the path through the extension of the protocol such as PCEP, BGP-LS, openflow, or netconf.
  • the forwarding entry information is as shown in Table 1, here is only an example, the forwarding entry
  • the information can also be in other forms.
  • the information of the destination address field, that is, R11 is copied into the PATH ID to form a forwarding entry to the PATH ID (as shown in Table 4); other nodes are also based on their next hop in the PATH.
  • the outgoing interface information forms a forwarding entry to the PATH ID.
  • the last node R10 will know that it is the destination node of the PATH ID, and does not need to form a forwarding entry, but needs to match the message.
  • the PATH ID encapsulation is decapsulated.
  • R0 When the data packet arrives at R0, R0 knows that the data packet needs to be forwarded along the PATH.
  • the destination address is replaced with the PATH ID or the packet header of the ipv6 is re-encapsulated according to the policy.
  • the destination address is the ipv6 value of the PATH ID. That is, 2010::100, the message is forwarded to R10 along the specified path under the guidance of the PATH ID. Or the extension header of the path ID is carried according to the extension of the Ethertype of the mode 1, and the packet is forwarded to the destination node R10 along the path id.
  • R10 When R10 receives the PATH ID extension header packet carrying the PATH ID, the extension header is removed, and the protocol type mapping of the subsequent packet is filled into the type field of the Ethernet encapsulation; when the received is The IPv6 layer encapsulation with the PATH ID as the destination address in the single-layer encapsulation needs to be restored to the original packet encapsulation. The path identifier in the destination address field is replaced with the destination address encapsulated in the original packet. The packet is restored to the original data packet. When the received IPv6 extended header encapsulation is received, the outer IPv6 extended header encapsulation carrying the PATH ID is removed. The data packet finally forwarded by R10 is the original data packet.
  • the controller needs to take the path R0-R11-R1-R12-R2-R13-R3-R10, and the previously calculated R0-R11-R1-R5-R8-R2 -R13-R3-R10 path is overwritten, then each node only needs to update the local formation according to the new mapping information (that is, the PATH ID (which can be new or original) and the mapping information of all nodes on the new PATH).
  • the PATH ID mapping entry that is, the path identifier forwarding entry as shown in Table 4.
  • the embodiment of the present invention is not limited to assigning only the same PATH ID value to the path ID for the path ID.
  • the IP addressable node may be assigned a label or a PATH ID value of another byte length, and is encapsulated in the extended header form of the PATH ID. In the message, it can be given by the network administrator to the current network.
  • the path carries the PATH ID of any length to the path, which facilitates the unified control and management of the network.
  • each module/unit in the above embodiment may be implemented in the form of hardware, for example, by implementing an integrated circuit to implement its corresponding function, or may be implemented in the form of a software function module, for example, executing a program stored in the memory by a processor. / instruction to achieve its corresponding function.
  • Embodiments of the invention are not limited to any specific form of combination of hardware and software.
  • the path identifier exists in the packet header, and the intermediate forwarding node directly relies on the path ID to perform a single table lookup forwarding in the IPv4 or IPv6 network.
  • the intermediate forwarding node directly relies on the path ID to perform a single table lookup forwarding in the IPv4 or IPv6 network.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种报文传输的方法、装置和系统。所述方法包括:指定路径上的首节点在报文中携带所述指定路径的路径标识,将所述路径标识置于报文头扩展层或者目的地址字段或者外层标签中,所述路径标识用于指导所述报文的转发;所述报文携带所述路径标识后,所述指定路径上的转发节点依据路径标识转发条目将所述报文转发给所述指定路径上的下游节点。

Description

一种报文传输的方法、装置和系统 技术领域
本发明实施例涉及但不限于集中控制管理的技术,尤指一种报文传输的方法、装置和系统。
背景技术
一个典型的业务承载网络包括用户边缘(CE)路由器、运营商边缘(PE)路由器、营运商骨干(P)路由器以及路由反射器(RR)。通常采用开放式最短路径优先(OSPF,Open Shortest Path First)协议或中间系统到中间系统的路由选择协议(IS-IS,Intermediate System to Intermediate System Routing Protocol)作为内部网关协议(IGP,Interior Gateway Protocol),采用BGP-4多协议扩展边界网关协议(MP-BGP,其中BGP为边界网关协议)传递虚拟专用网络(VPN,Virtual Private Network)信息,采用标签分发协议(LDP)分发标签以及采用基于流量工程扩展的资源预留协议(RSVP-TE,Resource Reservation Protocol-Traffic Engineering)为特定应用或目的地业务部署流量工程和带宽预留。但是,典型的业务承载网络部署存在如下几个问题:路由协议种类多,部署复杂;由于基于目的地址的转发机制,因此不能基于每个源端的需求进行数据报文的转发;源端在满足特定应用的带宽和延时需求时,不能根据网络情况动态地部署,在网络中某一条链路拥塞时,不能自动调整转发路径;资源预留协议(RSVP,Resource Reservation Protocol)能够实现带宽预留,但是,实际部署一般采用静态配置而不能实现动态方式的自动配置,另外,如果要实现完善的带宽保障,需要部署全互连(full-mesh)的RSVP-TE,资源消耗大。RSVP技术虽然已经成熟,但是实际部署的比例非常低等。
基于上述问题,Internet工程任务组(IETF,Internet Engineering Task Force)提出段路由(SR,Segment Routing)技术,SR是一种基于源地址进行路由的方法,通过在数据报文外叠加一层影响最短路径转发的SR信息,数据报文根据这些指定路径节点信息进行最短路径转发。SR信息主要是由该节点的段 路由全局标签块(SRGB,SR Global Block)和偏移量(index)两部组成,每个节点的index是唯一的,SRGB范围内再按照index值进行偏移,就能够标识该节点。通过SR指定路径转发功能,可以便捷地实现网络的负载均衡和流程工程,以及快速重路由等复杂网络功能。
在数据面,由源节点通过段列表(segment list)引导报文转发,对于MPLS(Multi-Protocol Label Switch,多协议标签交换)和IPv6转发面,就是将segment list转换成传统的标签栈或一串的IPv6地址,插入到源节点发出的报文头中。
然而,由于segment list串中的地址信息理论上可以携带多个(基于网络规模未有限制),这意味着需要转换成很深的标签栈或很长的IPv6地址串。这带来两个问题:
1、MPLS转发面硬件需要升级支持更深的标签栈处理能力,IPv6转发面需要报文逐跳来替换下一跳地址,使转发效率低下;
2、载荷效率问题,由于报文头扩展携带的内容过多,使有效载荷存放空间变小,使载荷效率受到影响。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种报文传输的方法、装置和系统,能够提高转发效率。
本发明实施例提供的报文传输方法,包括:
指定路径上的首节点在报文中携带所述指定路径的路径标识,将所述路径标识置于报文头扩展层或者目的地址字段或者外层标签中,所述路径标识用于指导所述报文的转发;
所述报文携带所述路径标识后,所述指定路径上的转发节点依据路径标识转发条目将所述报文转发给所述指定路径上的下游节点。
可选地,所述方法还包括:
所述指定路径上的转发节点接收控制器发送的所述指定路径的完整路径信息以及所述指定路径对应的路径标识,形成路径标识转发条目,其中所述路径标识转发条目包括本节点到下一跳节点的出接口信息以及所述指定路径的路径标识。
可选地,其中:所述形成路径标识转发条目包括:
所述指定路径上的转发节点根据所述指定路径的完整路径信息获知所述指定路径中本节点的下一跳节点,根据本地已建立的本节点到下一跳节点的转发条目信息,形成所述指定路径的路径标识转发条目。
可选地,其中:所述指定路径的完整路径信息包括所述指定路径上的所有节点信息。
可选地,其中:所述指定路径的路径标识为全局标识,长度以字节为单位可扩展。
可选地,其中:所述指定路径的路径标识为IPV4地址,或者为IPV6地址,或者为多协议标签交换MPLS标签。
可选地,其中:所述将路径标识置于报文头扩展层中包括:通过报文头扩展层中预设的以太类型值表示所述路径标识,所述报文头扩展层位于以太封装之后,IP封装之前。
可选地,其中:所述报文头扩展层包括:路径标识、载荷的封装类型,熵标签,扩展层长度。
可选地,所述方法还包括:
所述指定路径上的末节点依据路径标识转发条目转发所述报文时,移除携带所述路径标识的报文头或者报文头扩展层,或者当所述报文为单层封装时,将置于目的地址字段中的所述路径标识还原为原始报文中的目的地址;所述指定路径上的末节点转发的数据报文为原始数据报文。
本发明实施例还提供了一种报文传输装置,位于指定路径上的首节点,所述装置包括:
构造模块,设置为在报文中携带所述指定路径的路径标识,将所述路径 标识置于报文头扩展层或者目的地址字段或者外层标签中,所述路径标识用于指导所述报文的转发;以及
第一转发模块,设置为在所述报文携带所述路径标识后,依据路径标识转发条目将所述报文转发给所述指定路径上的下游节点。
可选地,所述装置还包括:
第一转发条目生成模块,设置为接收控制器发送的所述指定路径的完整路径信息以及所述指定路径对应的路径标识,形成路径标识转发条目,其中所述路径标识转发条目包括本节点到下一跳节点的出接口信息以及所述指定路径的路径标识。
可选地,其中,所述第一转发条目生成模块形成路径标识转发条目包括:
所述第一转发条目生成模块根据所述指定路径的完整路径信息获知所述指定路径中本节点的下一跳节点,根据本地已建立的本节点到下一跳节点的转发条目信息,形成所述指定路径的路径标识转发条目。
可选地,其中:所述构造模块将路径标识置于报文头扩展层中包括:
所述构造模块在报文头扩展层中设置预设的以太类型值,所述以太类型值用于表示所述路径标识,所述报文头扩展层位于以太封装之后,IP封装之前。
本发明实施例还提供了一种报文传输装置,位于指定路径上的中间节点,所述装置包括:
第一接收模块,设置为接收报文,所述报文的目的地址字段或者外层标签或者报文头扩展层中携带所述指定路径的路径标识,所述路径标识用于指导所述报文的转发;以及
第二转发模块,设置为依据路径标识转发条目将所述报文转发给所述指定路径上的下游节点。
可选地,所述装置还包括:
第二转发条目生成模块,设置为接收控制器发送的所述指定路径的完整 路径信息以及所述指定路径对应的路径标识,形成路径标识转发条目,其中所述路径标识转发条目包括本节点到下一跳节点的出接口信息以及所述指定路径的路径标识。
可选地,其中,所述第二转发条目生成模块形成路径标识转发条目包括:
所述第二转发条目生成模块根据所述指定路径的完整路径信息获知所述指定路径中本节点的下一跳节点,根据本地已建立的本节点到下一跳节点的转发条目信息,形成所述指定路径的路径标识转发条目。
本发明实施例还提供了一种报文传输装置,位于指定路径上的末节点,所述装置包括:
第二接收模块,设置为接收报文,所述报文的目的地址字段或者外层标签或者报文头扩展层中携带所述指定路径的路径标识,所述路径标识用于指导所述报文的转发;以及
第三转发模块,设置为依据路径标识转发条目转发所述报文时,移除携带所述路径标识的报文头或者报文头扩展层,所述转发模块转发的数据报文为原始数据报文。
可选地,所述第三转发模块还设置为:
当所述报文为单层封装时,将置于目的地址字段中的所述路径标识还原为原始报文中的目的地址。
本发明实施例还提供了一种报文传输系统,包括:指定路径上的首节点、中间节点和末节点,其中:所述首节点包括上述位于首节点的报文传输装置,所述中间节点包括上述位于中间节点的报文传输装置,所述末节点包括上述位于末节点的报文传输装置。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于实现上述方法。
采用本发明实施例技术方案,不管是在IPv4还是IPv6网络,在确定了路径标识的长度后,路径标识存在报文头中,中间转发节点直接依赖路径ID 来做单次的查表转发,在数据流过来时,无需对报文头做封装上的其它处理,提高转发效率。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图概述
图1为本发明实施例一path ID指导报文转发的方法流程图;
图2为本发明实施例一中一种PATH ID的报文格式图;
图3为本发明实施例二位于指定路径首节点的转发装置结构示意图;
图4为本发明实施例三位于指定路径中间节点的转发装置结构示意图;
图5为本发明实施例四位于指定路径末节点的转发装置结构示意图;
图6为本发明应用示例中的网络示意图。
本发明的实施方式
下文中将结合附图对本发明实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例1
本实施例提供一种报文传输方法,如图1所示,包括以下步骤:
步骤101,指定路径上的首节点在报文中携带所述指定路径的路径标识,将所述路径标识置于报文头扩展层或者目的地址字段或者外层标签中,所述路径标识用于指导所述报文的转发;
其中,所述指定路径的路径标识为全局标识,长度以字节为单位可扩展。所述指定路径的路径标识为IPV4地址,或者为IPV6地址,或者为多协议标签交换MPLS标签。
在上述步骤101中,所述将路径标识置于报文头扩展层中可以包括:通 过报文头扩展层中预设的以太类型值表示所述路径标识,所述报文头扩展层位于以太封装(即以太封装层)之后,IP封装(即IP封装层)之前。
其中,所述报文头扩展层包括:路径标识、载荷的封装类型,熵标签,扩展层长度。
步骤102,所述报文携带所述路径标识后,所述指定路径上的转发节点依据路径标识转发条目将所述报文转发给所述指定路径上的下游节点。
本文所述指定路径上的转发节点包括指定路径的首节点、中间节点和末节点。
在上述步骤101之前,还可以包括以下步骤:
步骤100,所述指定路径上的转发节点接收控制器发送的所述指定路径的完整路径信息以及所述指定路径对应的路径标识,形成路径标识转发条目,其中所述路径标识转发条目包括本节点到下一跳节点的出接口信息以及所述指定路径的路径标识。
其中:所述指定路径的完整路径信息包括所述指定路径上的所有节点信息。
在步骤100中,所述形成路径标识转发条目包括:
所述指定路径上的转发节点根据所述指定路径的完整路径信息获知所述指定路径中本节点的下一跳节点,根据本地已建立的本节点到下一跳节点的转发条目信息,形成所述指定路径的路径标识转发条目。
所述转发条目信息包括但不限于以下一种或多种信息:目的字段、下一跳字段、出接口字段。
可选地,所述方法还包括:
所述指定路径上的末节点依据路径标识转发条目转发所述报文时,移除携带所述路径标识的报文头或者报文头扩展层,或者当所述报文为单层封装时,将置于目的地址字段中的所述路径标识还原为原始报文中的目的地址;所述指定路径上的末节点转发的数据报文为原始数据报文。
其中,携带所述路径标识的报文头例如对应为首节点处报文的外层标签封装;其中,所述报文为单层封装例如对应为首节点处报文的目的地址字段 封装,表明为非扩展层(即无扩展报文头)或MPLS标签格式的封装,可以为IP报文格式封装。
本发明实施例通过给一条指定路径(非SPF(最短路径优先算法)或CSPF(基于约束的最短路径优先算法)计算出来的转发路径)分配一个全局唯一的路径ID,通过该路径ID映射该条路径,并将该路径ID直接携带在一种新封装中或封装在已有数据报文格式的目的地址字段或标签头中的外层标签部分,用以指导数据报文转发。所述的路径ID的携带有两种实现方式:
方式1:通过数据报文头扩展一层新的封装表明携带的是一种新的报文封装,通过以太头中的以太类型的新值置位指明该扩展层携带内容为PATH ID的相关转发信息。所述新的报文类型通过MAC(Media Access Control,介质访问控制)头部中的Type(类型)或Length(长度)字段来指明,所述的PATH ID的报文格式大致如图2所示,包括:
通过给Ethertype(以太网类型)定义的新值,表明后面携带的是个携带有Path ID相关转发信息的报文;
报文中携带version(版本)、length(长度)、熵标签、path ID值以及protocol(协议),protocol字段用于指明后续携带的载荷封装类型,其中:
Version表明版本字段;
length表明扩展头长度,单位为字节,非固定长度是因为path ID值的管理配置可能因不同的网络配置而具有不同长度的值,该长度以字节为单位可扩展;
PATH ID依据网络配置管理分配的值的不同,可以是字节长度的值,如类似16bit的标签,32bit的ipv4地址,48bit的MAC地址,128bit的ipv6地址的ID值等;
载荷封装类型用于标识后续报文头的类型,如用不同的值表示为IPV4报文或MPLS报文等;
方式2:当不做以太报文类型的新扩展时,则还可以将PATH ID封装在数据报文格式的目的地址字段或标签头中的外层标签部分携带。实施流程如 下:
控制器获取当前网络中使用的ipv4或ipv6或mpls label信息;
当需要使用当前计算节点算出的非默认路径(一般默认路径为CSPF或SPF计算出来的路径)即指定路径时,为该指定路径分配一个全局唯一的path ID,该path id可以依赖当前转发面封装形式进行相应的分配(如在ipv4转发就分配一个未使用的ipv4地址,ipv6网络就分配一个未使用的ipv6地址,mpls网络就分配一个未使用的标签,当然也可以给ipv4转发分配标签等);
将该path ID与该路径完整的节点路径信息发送给该路径上的所有转发节点;当然也可以由控制器分别为每个节点发送不同的路径信息,例如对一节点O,下发的路径信息仅包括下一跳的信息和path ID的映射;
转发节点收到该PATH ID与PATH的映射后,建立该PATH中自己的下一跳的出接口信息(包括nexthop(下一跳)和interface(出接口)信息等)与path ID的映射,为该PATH ID形成一条本地的转发条目即路径标识转发条目;
当入口节点有接收到报文需要沿该PATH转发时,将该PATH映射的ID封装在目的地址字段,通过该path ID指导报文转发。
采用本发明实施例方案,无需很深的标签栈或很长的地址串即可完成转发,转发效率高,简单易行,成本低。
实施例2
本实施例还提供一种报文传输装置,位于指定路径上的首节点,如图3所示,所述装置包括:
构造模块301,设置为在报文中携带所述指定路径的路径标识,将所述路径标识置于报文头扩展层或者目的地址字段或者外层标签中,所述路径标识用于指导所述报文的转发;以及
第一转发模块302,设置为在所述报文携带所述路径标识后,依据路径标识转发条目将所述报文转发给所述指定路径上的下游节点。
其中,所述构造模块301将路径标识置于报文头扩展层中包括:
所述构造模块301在报文头扩展层中设置预设的以太类型值,所述以太类型值用于表示所述路径标识,所述报文头扩展层位于以太封装之后,IP封装之前。
在另一实施例中,所述装置还可以包括:
第一转发条目生成模块300,其设置为接收控制器发送的所述指定路径的完整路径信息以及所述指定路径对应的路径标识,形成路径标识转发条目,其中所述路径标识转发条目包括本节点到下一跳节点的出接口信息以及所述指定路径的路径标识。
其中,所述第一转发条目生成模块300形成路径标识转发条目包括:
所述第一转发条目生成模块300根据所述指定路径的完整路径信息获知所述指定路径中本节点的下一跳节点,根据本地已建立的本节点到下一跳节点的转发条目信息,形成所述指定路径的路径标识转发条目。
需要说明的是,该装置是与上述报文转发方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
实施例3
本实施例还提供一种报文传输装置,位于指定路径上的中间节点,如图4所示,所述装置包括:
第一接收模块401,设置为接收报文,所述报文的目的地址字段或者外层标签或者报文头扩展层中携带所述指定路径的路径标识,所述路径标识用于指导所述报文的转发;以及
第二转发模块402,设置为依据路径标识转发条目将所述报文转发给所述指定路径上的下游节点。
在另一实施例中,所述装置还可以包括:
第二转发条目生成模块400,其设置为接收控制器发送的所述指定路径的完整路径信息以及所述指定路径对应的路径标识,形成路径标识转发条目,其中所述路径标识转发条目包括本节点到下一跳节点的出接口信息以及所述指定路径的路径标识。
其中,所述第二转发条目生成模块400形成路径标识转发条目包括:
所述第二转发条目生成模块400根据所述指定路径的完整路径信息获知所述指定路径中本节点的下一跳节点,根据本地已建立的本节点到下一跳节点的转发条目信息,形成所述指定路径的路径标识转发条目。
需要说明的是,该装置是与上述报文转发方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
实施例4
本实施例还提供一种报文传输装置,位于指定路径上的末节点,如图5所示,所述装置包括:
第二接收模块501,设置为接收报文,所述报文的目的地址字段或者外层标签或者报文头扩展层中携带所述指定路径的路径标识,所述路径标识用于指导所述报文的转发;以及
第三转发模块502,设置为依据路径标识转发条目转发所述报文时,移除携带所述路径标识的报文头或者报文头扩展层,所述转发模块转发的数据报文为原始数据报文。其中,携带所述路径标识的报文头例如对应为首节点处报文的外层标签封装。
在另一实施例中,所述第三转发模块还设置为:
当所述报文为单层封装时,将置于目的地址字段中的所述路径标识还原为原始报文中的目的地址。其中,所述报文为单层封装例如对应为首节点处报文的目的地址字段封装,表明为非扩展层或MPLS标签格式的封装,可以为IP报文格式封装。
需要说明的是,该装置是与上述报文转发方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
上述实施例2、3、4中的节点共同构成一个报文传输系统。
下面通过几个应用示例来进行说明。
应用示例1:IPv4网络路径ID的映射
如图6所示:
Controller(Operator,控制器)获取到网络中所有节点和链路的ipv4地址,发现还有空余的ipv4地址(该字段可以是连续的,也可以是不连续的)未被使用,R0-R10的默认最短路径为R0-R4-R5-R8-R10,Controller上根据策略或配置给R0-R10计算出一条完整的指定路径为:R0-R11-R1-R5-R8-R2-R13-R3-R10,给该路径指定一个未被占用的ipv4地址如10.11.12.13来作为该路径的PATH ID(即指定路径的路径标识),用该ipv4地址标识该条路径;
控制器上将通过南向接口协议如PCEP(Path Computation Element Protocol路径计算单元协议)、BGP-LS(Border Gateway Protocol-Link-state边界网关协议-链路状态)、openflow(开放流)或netconf(网络配置)等协议的扩展下发该PATH ID和该条PATH上所有节点的映射信息发送给该条路径上途经的所有节点;
上述协议的扩展是指封装了PATH ID和PATH完整信息的协议报文。
对于该路径中的每个节点,形成一张PATH ID到PATH中下游转发节点的映射表;
对于报文的进入(ingress)节点R0,如图1所示,学习到该映射信息后,知道该PATH中自己的下一跳是R11(本地已建立的本节点R0到下一跳节点R11的转发条目信息如表1所示,此处仅为示例,所述转发条目信息还可以为其他形式),则将目的地址字段即R11的信息复制为该PATH ID,形成一条到PATH ID的转发条目即路径标识转发条目(如表2);其它节点也依据自身在PATH中的下一跳的出接口信息形成到PATH ID的转发条目。末节点R10会知道自己是该PATH ID的目的节点,无需形成转发条目,但需对报文的PATH ID封装进行解封装处理。
表1
目的地址(DST) 网关(Gw) 下一跳(nexthop) 出接口(interface)
R11 R0-R11 R11 To R11
表2
DST Gw nexthop interface
10.11.12.13 R0-R11 R11 To R11
当数据报文到达R0,R0知道该数据报文需要沿该PATH转发,根据策略将目的地址替换为PATH ID或者重新带上一层ip封装,目的地址为PATH ID即10.11.12.13,由此报文在PATH ID的指导下沿该指定路径转发至R10;或者根据方式1的以太类型的扩展携带path ID的扩展头,报文沿path id转发至目的节点R10。
当R10接收到携带PATH ID的以太类型的PATH ID扩展头报文(即包含报文头扩展层的报文)时,将该扩展头进行移除,并将后面的报文的protocol类型映射填充到以太封装的type字段;当收到的是单层封装的以PATH ID为目的地址的IP层封装,需要将该目的地址还原成原始的报文封装,即将置于目的地址字段中的路径标识替换为原始报文中封装的目的地址,将该报文还原为原始数据报文;当收到的是重新携带了一层IP封装的IP in IP的封装时,去除携带PATH ID的外层IP封装。R10最终转发的数据报文为原始数据报文。
当根据策略计算结果发生改变时,controller如计算出来策略需要走的路径为R0-R11-R1-R12-R2-R13-R3-R10,之前计算出的R0-R11-R1-R5-R8-R2-R13-R3-R10路径被覆盖,则每个节点只需要根据新的映射信息(即PATH ID(可以是新的也可以用原来的)和新的PATH上所有节点的映射信息)更新本地形成的PATH ID映射表项,即如表2所示的路径标识转发条目。
应用示例2:MPLS网络路径ID的映射
如图6所示:
Controller(Operator)获取到网络中所有节点的全局(global)的label分配信息,发现还有空余的global的label(该字段可以是连续的,也可以是不连续的)未被分配使用,R0-R10的默认最短路径为R0-R4-R5-R8-R10,Controller上根据策略或配置给R0-R10计算出一条指定路径为:R0-R11-R1-R5-R8-R2-R13-R3-R10,给该路径指定一个未被占用的label如10016来作为该路径的PATH ID,用该label来标识该条路径;
控制器上将通过南向接口协议如PCEP、BGP-LS、openflow或netconf等协议的扩展下发该PATH ID和该条PATH上所有节点的映射信息发送给该条路径上途经的所有节点;
对于该路径中的每个节点,形成一张PATH ID到PATH中下游转发节点的映射表;
对于报文的ingress节点R0,如图1所示,学习到该映射信息后,知道该PATH中自己的下一跳是R11(转发条目信息如表1,此处仅为示例,所述转发条目信息还可以为其他形式),则将目的地址字段即R11的信息复制为该PATH ID,形成一条到PATH ID的转发条目(如表3);其它节点也依据自身在PATH中的下一跳的出接口信息形成到PATH ID的转发条目。末节点R10会知道自己是该PATH ID的目的节点,无需形成转发条目,但需对报文的PATH ID封装进行解封装处理。
表3
DST Gw nexthop interface
10016 R0-R11 R11 To R11
当数据报文到达R0,R0知道该数据报文需要沿该PATH转发,根据策略重新带上一层MPLS封装,目的地址为该PATH ID的label值即10016,由此报文在该PATH ID的指导下沿该指定路径转发至R10。或者根据方式1的以太类型的扩展携带path ID的扩展头,报文沿path id转发至目的节点R10。
当R10接收到携带PATH ID的以太类型的PATH ID扩展头报文时,将该扩展头进行移除,并将后面的报文的protocol类型映射填充到以太封装的 type字段;当收到的是外层Label是PATH ID的MPLS报文时,弹出该层标签为PATH ID的label标签。R10最终转发的数据报文为原始数据报文。
当根据策略计算结果发生改变时,controller如计算出来策略需要走的路径为R0-R11-R1-R12-R2-R13-R3-R10,之前计算出的R0-R11-R1-R5-R8-R2-R13-R3-R10路径被覆盖,则每个节点只需要根据新的映射信息(即PATH ID(可以是新的也可以用原来的)和新的PATH上所有节点的映射信息)更新本地形成的PATH ID映射表项,即如表3所示的路径标识转发条目。
应用示例3:IPv6网络路径ID的映射
如图6所示:
Controller(Operator)获取到网络中所有节点和链路的ipv6地址信息,发现还有空余的全局唯一的ipv6地址(该字段可以是连续的,也可以是不连续的)未被分配使用,R0-R10的默认最短路径为R0-R4-R5-R8-R10,Controller上根据策略或配置给R0-R10计算出一条指定路径为:R0-R11-R1-R5-R8-R2-R13-R3-R10,给该路径指定一个未被使用的IPV6地址如2010::100来作为该路径的PATH ID,用该ipv6地址来标识该条路径;
控制器上将通过南向接口协议如PCEP、BGP-LS、openflow或netconf等协议的扩展下发该PATH ID和该条PATH上所有节点的映射信息发送给该条路径上途经的所有节点;
对于该路径中的每个节点,形成一张PATH ID到PATH中下游转发节点的映射表;
对于报文的ingress节点R0,如图1所示,学习到该映射信息后,知道该PATH中自己的下一跳是R11(转发条目信息如表1,此处仅为示例,所述转发条目信息还可以为其他形式),则将目的地址字段即R11的信息复制为该PATH ID,形成一条到PATH ID的转发条目(如表4);其它节点也依据自身在PATH中的下一跳的出接口信息形成到PATH ID的转发条目。末节点R10会知道自己是该PATH ID的目的节点,无需形成转发条目,但需对报文 的PATH ID封装进行解封装处理。
表4
DST Gw nexthop interface
2010::100 R0-R11 R11 To R11
当数据报文到达R0,R0知道该数据报文需要沿该PATH转发,根据策略将目的地址替换为PATH ID或者重新带上一层ipv6的报文头封装,目的地址为该PATH ID的ipv6值即2010::100,由此报文在该PATH ID的指导下沿该指定路径转发至R10。或者根据方式1的以太类型的扩展携带path ID的扩展头,报文沿path id转发至目的节点R10。
当R10接收到携带PATH ID的以太类型的PATH ID扩展头报文时,将该扩展头进行移除,并将后面的报文的protocol类型映射填充到以太封装的type字段;当收到的是单层封装的以PATH ID为目的地址的IPv6层封装,需要将该目的地址还原成原始的报文封装,即将置于目的地址字段中的路径标识替换为原始报文中封装的目的地址,将该报文还原为原始数据报文;当收到的是重新携带了一层IPv6扩展头封装时,去除携带PATH ID的外层IPv6扩展头封装。R10最终转发的数据报文为原始数据报文。
当根据策略计算结果发生改变时,controller如计算出来策略需要走的路径为R0-R11-R1-R12-R2-R13-R3-R10,之前计算出的R0-R11-R1-R5-R8-R2-R13-R3-R10路径被覆盖,则每个节点只需要根据新的映射信息(即PATH ID(可以是新的也可以用原来的)和新的PATH上所有节点的映射信息)更新本地形成的PATH ID映射表项,即如表4所示的路径标识转发条目。
本发明实施例不限定于只给path ID分配与当前数据封装相同的PATH ID值,如可以给IP寻址的节点分配标签或者其它byte长度的PATH ID值,以PATH ID的扩展头形式封装在报文中,可以由网络管理者给当前网络中的 路径进行任意长度的PATH ID给路径的指定,方便网络的统一控制管理。
本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或者等同替换,而不脱离本申请技术方案的精神和范围,均应涵盖在本申请的权利要求范围当中。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明实施例不限制于任何特定形式的硬件和软件的结合。
工业实用性
采用本发明实施例技术方案,不管是在IPv4还是IPv6网络,在确定了路径标识的长度后,路径标识存在报文头中,中间转发节点直接依赖路径ID来做单次的查表转发,在数据流过来时,无需对报文头做封装上的其它处理,提高转发效率。

Claims (19)

  1. 一种报文传输方法,包括:
    指定路径上的首节点在报文中携带所述指定路径的路径标识,将所述路径标识置于报文头扩展层或者目的地址字段或者外层标签中,所述路径标识用于指导所述报文的转发;
    所述报文携带所述路径标识后,所述指定路径上的转发节点依据路径标识转发条目将所述报文转发给所述指定路径上的下游节点。
  2. 根据权利要求1所述的方法,所述方法还包括:
    所述指定路径上的转发节点接收控制器发送的所述指定路径的完整路径信息以及所述指定路径对应的路径标识,形成路径标识转发条目,其中所述路径标识转发条目包括本节点到下一跳节点的出接口信息以及所述指定路径的路径标识。
  3. 根据权利要求2所述的方法,其中:所述形成路径标识转发条目包括:
    所述指定路径上的转发节点根据所述指定路径的完整路径信息获知所述指定路径中本节点的下一跳节点,根据本地已建立的本节点到下一跳节点的转发条目信息,形成所述指定路径的路径标识转发条目。
  4. 根据权利要求2所述的方法,其中:
    所述指定路径的完整路径信息包括所述指定路径上的所有节点信息。
  5. 根据权利要求1所述的方法,其中:
    所述指定路径的路径标识为全局标识,长度以字节为单位可扩展。
  6. 根据权利要求1所述的方法,其中:
    所述指定路径的路径标识为IPV4地址,或者为IPV6地址,或者为多协议标签交换MPLS标签。
  7. 根据权利要求1所述的方法,其中:
    所述将路径标识置于报文头扩展层中包括:通过报文头扩展层中预设的以太类型值表示所述路径标识,所述报文头扩展层位于以太封装之后,IP封 装之前。
  8. 根据权利要求7所述的方法,其中:
    所述报文头扩展层包括:路径标识、载荷的封装类型,熵标签,扩展层长度。
  9. 根据权利要求1所述的方法,所述方法还包括:
    所述指定路径上的末节点依据路径标识转发条目转发所述报文时,移除携带所述路径标识的报文头或者报文头扩展层,或者当所述报文为单层封装时,将置于目的地址字段中的所述路径标识还原为原始报文中的目的地址;所述指定路径上的末节点转发的数据报文为原始数据报文。
  10. 一种报文传输装置,其特征在于,位于指定路径上的首节点,所述装置包括:
    构造模块,设置为在报文中携带所述指定路径的路径标识,将所述路径标识置于报文头扩展层或者目的地址字段或者外层标签中,所述路径标识用于指导所述报文的转发;以及
    第一转发模块,设置为在所述报文携带所述路径标识后,依据路径标识转发条目将所述报文转发给所述指定路径上的下游节点。
  11. 根据权利要求10所述的装置,所述装置还包括:
    第一转发条目生成模块,设置为接收控制器发送的所述指定路径的完整路径信息以及所述指定路径对应的路径标识,形成路径标识转发条目,其中所述路径标识转发条目包括本节点到下一跳节点的出接口信息以及所述指定路径的路径标识。
  12. 根据权利要求11所述的装置,其中,所述第一转发条目生成模块形成路径标识转发条目包括:
    所述第一转发条目生成模块根据所述指定路径的完整路径信息获知所述指定路径中本节点的下一跳节点,根据本地已建立的本节点到下一跳节点的转发条目信息,形成所述指定路径的路径标识转发条目。
  13. 根据权利要求10所述的装置,其中:所述构造模块将路径标识置于报文头扩展层中包括:
    所述构造模块在报文头扩展层中设置预设的以太类型值,所述以太类型值用于表示所述路径标识,所述报文头扩展层位于以太封装之后,IP封装之前。
  14. 一种报文传输装置,其特征在于,位于指定路径上的中间节点,所述装置包括:
    第一接收模块,设置为接收报文,所述报文的目的地址字段或者外层标签或者报文头扩展层中携带所述指定路径的路径标识,所述路径标识用于指导所述报文的转发;以及
    第二转发模块,设置为依据路径标识转发条目将所述报文转发给所述指定路径上的下游节点。
  15. 根据权利要求14所述的装置,所述装置还包括:
    第二转发条目生成模块,设置为接收控制器发送的所述指定路径的完整路径信息以及所述指定路径对应的路径标识,形成路径标识转发条目,其中所述路径标识转发条目包括本节点到下一跳节点的出接口信息以及所述指定路径的路径标识。
  16. 根据权利要求15所述的装置,其中,所述第二转发条目生成模块形成路径标识转发条目包括:
    所述第二转发条目生成模块根据所述指定路径的完整路径信息获知所述指定路径中本节点的下一跳节点,根据本地已建立的本节点到下一跳节点的转发条目信息,形成所述指定路径的路径标识转发条目。
  17. 一种报文传输装置,其特征在于,位于指定路径上的末节点,所述装置包括:
    第二接收模块,设置为接收报文,所述报文的目的地址字段或者外层标签或者报文头扩展层中携带所述指定路径的路径标识,所述路径标识用于指导所述报文的转发;以及
    第三转发模块,设置为依据路径标识转发条目转发所述报文时,移除携带所述路径标识的报文头或者报文头扩展层,所述转发模块转发的数据报文为原始数据报文。
  18. 根据权利要求17所述的装置,所述第三转发模块还设置为:
    当所述报文为单层封装时,将置于目的地址字段中的所述路径标识还原为原始报文中的目的地址。
  19. 一种报文传输系统,包括:指定路径上的首节点、中间节点和末节点,其中:所述首节点包括权利要求10-13中任一项所述装置,所述中间节点包括权利要求14-16中任一项所述装置,所述末节点包括权利要求17-18中任一项所述装置。
PCT/CN2016/086904 2015-11-02 2016-06-23 一种报文传输的方法、装置和系统 WO2016198015A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510738041.5 2015-11-02
CN201510738041.5A CN106656781B (zh) 2015-11-02 2015-11-02 一种报文传输的方法、装置和系统

Publications (1)

Publication Number Publication Date
WO2016198015A1 true WO2016198015A1 (zh) 2016-12-15

Family

ID=57503050

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/086904 WO2016198015A1 (zh) 2015-11-02 2016-06-23 一种报文传输的方法、装置和系统

Country Status (2)

Country Link
CN (1) CN106656781B (zh)
WO (1) WO2016198015A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110225046A (zh) * 2019-06-18 2019-09-10 北京大豪科技股份有限公司 数据传输方法、装置、电子设备及存储介质
CN111600797A (zh) * 2019-02-21 2020-08-28 华为技术有限公司 一种数据传输方法、节点以及系统
CN112491729A (zh) * 2020-09-22 2021-03-12 中兴通讯股份有限公司 一种数据处理方法、装置、存储介质及电子装置
CN112714061A (zh) * 2019-10-24 2021-04-27 华为技术有限公司 路由方法和装置
CN113395735A (zh) * 2020-03-11 2021-09-14 华为技术有限公司 一种报文传输方法、装置和网络设备
EP3886375A4 (en) * 2018-12-28 2022-01-12 Huawei Technologies Co., Ltd. MESSAGE PROCESSING METHOD, MESSAGE FORWARDING METHOD, EQUIPMENT AND DEVICE

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107612835A (zh) * 2016-07-11 2018-01-19 中兴通讯股份有限公司 信息的通告方法、转发条目的生成方法及装置
CN107612831B (zh) * 2017-09-28 2020-07-14 奇安信科技集团股份有限公司 一种访问源站的数据报文的传输方法及装置
CN107566272B (zh) * 2017-10-17 2021-10-12 新华三技术有限公司 转发表建立方法及数据转发方法
CN109361600B (zh) * 2018-04-20 2021-08-10 中国移动通信有限公司研究院 一种获取路径标识的方法和设备
CN112804146B (zh) * 2018-05-25 2022-05-10 华为技术有限公司 报文传输方法、通信装置和系统
EP3815313A4 (en) 2018-07-13 2021-08-18 Huawei Technologies Co., Ltd. MPLS EXPANSION HEADS FOR INTERNAL NETWORK SERVICES
CN110784402B (zh) * 2018-07-30 2023-07-04 中兴通讯股份有限公司 路径标识传输方法、装置和计算机可读存储介质
CN109347740B (zh) * 2018-11-19 2022-03-01 新华三技术有限公司 报文转发方法和装置
CN112152924A (zh) * 2019-06-29 2020-12-29 华为技术有限公司 一种在数据中心网络中转发报文的方法及相关装置
CN112468396B (zh) * 2019-09-06 2022-05-31 华为技术有限公司 主机网络性能需求可编程化的方法、设备和系统
CN112558504B (zh) * 2019-09-10 2021-11-02 中国电信股份有限公司 基于ospf协议的关键路径信息转发方法、装置和系统
CN112887205B (zh) * 2019-11-29 2022-04-26 中国电信股份有限公司 报文传输方法、装置及计算机可读存储介质
CN113765791B (zh) * 2020-06-02 2023-01-13 华为技术有限公司 一种确定处理能力的方法、节点和系统
CN112272144B (zh) * 2020-10-28 2022-11-25 北京轻网科技股份有限公司 报文转发方法及装置
CN114666259A (zh) * 2020-12-22 2022-06-24 华为技术有限公司 报文传输的方法、装置、设备、存储介质及系统
CN115277524A (zh) * 2021-04-29 2022-11-01 华为技术有限公司 路径学习方法、装置、业务节点及存储介质
CN114827006B (zh) * 2022-06-21 2022-11-18 广州慧睿思通科技股份有限公司 数据业务数据发送方法、对讲机、系统及存储介质
CN115242885B (zh) * 2022-07-15 2023-10-13 天翼云科技有限公司 云数据中心系统、数据报文传输方法、设备和介质
CN116545909B (zh) * 2023-07-03 2023-09-26 成都数维通信技术有限公司 一种报文转发方法、流量牵引方法、介质、设备及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103560951A (zh) * 2013-11-13 2014-02-05 华为技术有限公司 报文处理方法及物理转发设备
CN103841022A (zh) * 2014-03-12 2014-06-04 华为技术有限公司 用于建立隧道的方法及装置
WO2015161780A1 (en) * 2014-04-21 2015-10-29 Hangzhou H3C Technologies Co., Ltd. Forwarding data packets

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232460A (zh) * 2005-03-10 2008-07-30 华为技术有限公司 接入网实现综合业务接入的方法
CN101299723B (zh) * 2008-07-02 2010-08-25 杭州华三通信技术有限公司 标签交换路径隧道信息管理方法及装置
KR20140117993A (ko) * 2013-03-27 2014-10-08 한국전자통신연구원 링크 장애 추적을 위한 mpls-tp 네트워크 및 방법
WO2015109486A1 (zh) * 2014-01-23 2015-07-30 华为技术有限公司 报文的隧道处理方法、交换设备及控制设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103560951A (zh) * 2013-11-13 2014-02-05 华为技术有限公司 报文处理方法及物理转发设备
CN103841022A (zh) * 2014-03-12 2014-06-04 华为技术有限公司 用于建立隧道的方法及装置
WO2015161780A1 (en) * 2014-04-21 2015-10-29 Hangzhou H3C Technologies Co., Ltd. Forwarding data packets

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3886375A4 (en) * 2018-12-28 2022-01-12 Huawei Technologies Co., Ltd. MESSAGE PROCESSING METHOD, MESSAGE FORWARDING METHOD, EQUIPMENT AND DEVICE
CN111600797A (zh) * 2019-02-21 2020-08-28 华为技术有限公司 一种数据传输方法、节点以及系统
CN111600797B (zh) * 2019-02-21 2022-12-30 华为技术有限公司 一种数据传输方法、节点以及系统
US11570093B2 (en) 2019-02-21 2023-01-31 Huawei Technologies Co., Ltd. Data transmission method, node and system
CN110225046A (zh) * 2019-06-18 2019-09-10 北京大豪科技股份有限公司 数据传输方法、装置、电子设备及存储介质
CN112714061A (zh) * 2019-10-24 2021-04-27 华为技术有限公司 路由方法和装置
CN113395735A (zh) * 2020-03-11 2021-09-14 华为技术有限公司 一种报文传输方法、装置和网络设备
CN113395735B (zh) * 2020-03-11 2023-07-07 华为技术有限公司 一种报文传输方法、装置和网络设备
CN112491729A (zh) * 2020-09-22 2021-03-12 中兴通讯股份有限公司 一种数据处理方法、装置、存储介质及电子装置

Also Published As

Publication number Publication date
CN106656781B (zh) 2020-12-11
CN106656781A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
WO2016198015A1 (zh) 一种报文传输的方法、装置和系统
CN110912795B (zh) 一种传输控制方法、节点、网络系统及存储介质
US9525619B2 (en) Scalable edge node protection using segment routing
US9444677B2 (en) Scalable edge node protection using IPv6 segment routing extension header
US10484203B2 (en) Method for implementing communication between NVO3 network and MPLS network, and apparatus
EP3249865B1 (en) Method and devices for constructing label and forwarding label packet
US7693047B2 (en) System and method for PE-node protection
US7664013B2 (en) Loop prevention technique for MPLS using service labels
WO2020063201A1 (zh) 网络切片的创建方法及装置
US10237175B2 (en) Entropy prefix segment identifier for use with entropy label in segment routing networks
US7936780B1 (en) Hierarchical label distribution protocol for computer networks
US8467411B1 (en) Service-specific forwarding in an LDP-RSVP hybrid network
US7633859B2 (en) Loop prevention technique for MPLS using two labels
US11431618B2 (en) Flexible path encoding in packet switched networks
US11671352B2 (en) Message sending method, binding relationship advertising method, apparatus, and storage medium
US9253084B2 (en) Neighbor-label distribution with label distribution protocol
US11323371B1 (en) Micro SID packet processing with operations, administration, and management

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16806913

Country of ref document: EP

Kind code of ref document: A1