WO2022160666A1 - 一种信息泛洪方法及设备 - Google Patents

一种信息泛洪方法及设备 Download PDF

Info

Publication number
WO2022160666A1
WO2022160666A1 PCT/CN2021/112683 CN2021112683W WO2022160666A1 WO 2022160666 A1 WO2022160666 A1 WO 2022160666A1 CN 2021112683 W CN2021112683 W CN 2021112683W WO 2022160666 A1 WO2022160666 A1 WO 2022160666A1
Authority
WO
WIPO (PCT)
Prior art keywords
flooding
network device
information
instance
packet
Prior art date
Application number
PCT/CN2021/112683
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 JP2023544747A priority Critical patent/JP2024505209A/ja
Priority to EP21922261.9A priority patent/EP4274124A4/en
Publication of WO2022160666A1 publication Critical patent/WO2022160666A1/zh
Priority to US18/356,407 priority patent/US20230362089A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/026Details of "hello" or keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/03Topology update or discovery by updating link state protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical 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/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Definitions

  • the present application relates to the field of communications, and in particular, to an information flooding method and device.
  • IGP Interior Gateway Protocols
  • the embodiments of the present application provide an information flooding method and device, which are used to improve the flooding efficiency.
  • a first aspect provides an information flooding method, which can be applied to a first network device, and specifically includes the following steps: the first network device acquires a set of flooding information.
  • the set of flooding information includes flooding information corresponding to each of the multiple flooding instances, the multiple flooding instances belong to one IGP instance, and the one IGP instance may be, for example, IGP No. 0 instance.
  • the first network device sends multiple packets to one or more network devices, wherein each packet in the multiple packets respectively carries the corresponding flooding instance identifier and flooding information, and the flooding The instance identifier is used to identify the flooding instance. That is to say, the first network device divides an IGP instance into multiple flooding instances, and sends the flooding information corresponding to the multiple flooding instances through multiple packets.
  • the embodiments of the present application can flexibly manage the flooding information of an IGP instance, are suitable for flooding requirements in different scenarios, improve flooding efficiency, save network resources, and improve the efficiency of flooding information. processing efficiency.
  • the flooding information carried in the multiple packets may include routing information and non-routing information.
  • routing information and non-routing information.
  • the multiple flooding instances include a first flooding instance, and the flooding information of the first flooding instance includes routing information.
  • the routing information may include one or more of the following: prefix, traffic engineering (Traffic Engineering, TE) information, device capability information, link information, and the like.
  • the sending of multiple packets by the first network device includes: the first network device sends a first packet to the second network device, where the first packet includes the identifier of the first flooding instance and all the routing information, and the second network device is any neighbor network device of the first network device. That is, the first network device can flood the routing information and the corresponding flooding instance identifier to its neighbor devices, and optionally, the first network device can flood all neighbor devices.
  • the multiple flooding instances include a second flooding instance, and the flooding information of the second flooding instance includes non-routing information.
  • the non-routing information includes one or more of the following: application program information, device capability information, slice information, and the like.
  • the sending of multiple packets by the first network device includes: the first network device sends a second packet to the second network device, where the second packet includes the identifier of the second flooding instance and the Describe non-routing information. That is, the first network device can flood the non-routing information and the corresponding flooding instance identifier.
  • the second network device is the next hop network device in the shortest path tree (Shortest Path Tree, SPT) of the first network device, and the shortest path tree is based on the first network device.
  • SPT Shortest Path Tree
  • the shortest path tree of the first network device may be generated according to the flooding information of the first flooding instance, where the flooding information of the first flooding instance includes routing information.
  • the flooding information of the first flooding instance may include routing information of the first network device itself, or may include routing information from other network devices.
  • the flooding instance corresponding to the flooding information of the first flooding instance is the same as the flooding instance corresponding to the flooding information of other network devices.
  • the first network device receives a third packet from a second network device, where the third packet includes flooding information of a first flooding instance of the second network device, and the second network device
  • the flooding information of the first flooding instance includes routing information of the second network device.
  • the first network device may generate the shortest path tree according to the flooding information of the first flooding instance of the second network device.
  • the first network device may send a hello packet to the second network device, the hello The message is used to establish a neighbor relationship between the first network device and the second network device. Based on the neighbor relationship, the first network device sends the plurality of packets to the second network device. It should be noted that, the first network device may establish a neighbor relationship with the second network device, so as to implement sending multiple packets carrying flooding information of different flooding instances to the second network device.
  • each flooding instance of the multiple flooding instances has a corresponding flooding parameter, and the flooding parameter is used to send a message corresponding to the flooding instance.
  • the flooding parameters include one or more of the following: maximum lifetime, maximum LSP generation interval, minimum LSP generation interval, minimum LSP transmission interval, CSNP transmission interval and PSNP transmission interval, and retransmission interval (retransmission interval) , refresh timer, etc. That is, the flooding information of multiple flooding instances under one IGP instance can be flooded according to different flooding parameters to realize resource isolation.
  • each flooding instance of the plurality of flooding instances has a corresponding priority, and the priority corresponds to the flooding parameter.
  • the first network device may send multiple packets through different processes, that is, the flooding information of multiple flooding instances of one IGP instance is sent through multiple different processes, so as to improve the flooding efficiency .
  • the message includes an Intermediate System-to-Intermediate System (ISIS) message or an Open Shortest Path First (Open Shortest Path First, OSPF) message.
  • ISIS Intermediate System-to-Intermediate System
  • OSPF Open Shortest Path First
  • the ISIS message includes one or more of the following: Link State Protocol Data Unit (Link State Protocol Data Unit, LSP) message, Partial Sequence Number Packet (Partial Sequence Number Packet, PSNP) and complete sequence number data Packet (Complete Sequence Number Packet, CSNP).
  • the OSPF message includes one or more of the following: a database description (Database Description, DD) message, a link state request (Link State Request, LSR) message, and a link state update (Link State Update, LSU) message message and Link State Acknowledgment (LSAck) message.
  • the flooding instance identifier may be carried in an ISIS message or an OSPF message in the format of a type length value (type length value, TLV) field.
  • TLV field may be carried in a variable length field (variable length fields) of the ISIS message; or, the flooding instance identifier may be carried in the header or data part of the OSPF message.
  • the flooding instance identifier is carried in the first TLV field of the variable length fields, so as to realize the purpose of confirming the flooding instance corresponding to the message as soon as possible and improve the efficiency of message processing.
  • the flooding instance identifier is carried in the LSP identifier (identifier, ID) ID field of the LSP as a new type of LSP.
  • the packet may further include indication information, and the indication letter is used to indicate that the packet includes the flooding instance identifier.
  • the indication information is carried in a protocol data unit (protocol data unit, PDU) type (type) field of the ISIS message. That is to say, a new type of ISIS message is provided, and the ISIS message is an ISIS message that carries an identifier of a flooding instance.
  • PDU protocol data unit
  • the first packet of the plurality of packets also carries a flooding topology identifier, and the flooding topology identifier is used to identify the network topology for flooding the flooding information in the first packet , so that the multiple packets can be flooded in the corresponding network topology, so as to realize the purpose of on-demand flooding and saving network resources.
  • a method for information flooding is provided, and the method can be applied to a second network device.
  • the method includes: the second network device receives multiple packets from the first network device, and the multiple packets are received by the second network device.
  • Each of the multiple packets carries a flooding instance identifier and flooding information corresponding to the packet, and the multiple flooding instances corresponding to the multiple packets belong to the same IGP instance.
  • the IGP instance may be, for example, IGP instance No. 0.
  • the second network device After receiving multiple packets, stores the flooding information corresponding to the flooding instance identifiers respectively.
  • the embodiments of the present application can flexibly manage the flooding information of an IGP instance, are suitable for flooding requirements in different scenarios, improve flooding efficiency, save network resources, and improve the processing efficiency of flooding information.
  • storing the flooding information corresponding to the flooding instance identifier by the second network device respectively includes: the second network device updates the flooding instance identifier corresponding to the flooding instance identifier according to the flooding information.
  • Link State Data Base LSDB
  • different flooding instance identifiers correspond to different processes, and the second network device can receive and update multiple packets through multiple different processes, thereby improving packet processing efficiency.
  • the second network device uses an update process corresponding to the flood instance identifier to update the flood information to the link state database corresponding to the update process.
  • the flooding information carried in multiple packets may include routing information and non-routing information.
  • the two types of messages are described below:
  • the multiple packets include a first packet, the first packet includes the first flooding instance identifier and first flooding information, and the first flooding information includes a route information.
  • the types of routing information are referred to above, and are not repeated here.
  • the method further includes: the second network device sending a first packet to a third network device, where the third network device is any neighbor network of the second network device except the first network device equipment. That is, the second network device can flood routing information to all neighbor devices except the first network device.
  • the plurality of packets include a second packet, the second packet includes a second flooding instance identifier and second flooding information, and the second flooding information includes non-routing information .
  • the types of non-routing information are referred to above, and are not repeated here.
  • the method further includes: the second network device sending a second packet to the third network device.
  • the third network device is a next-hop network device in a shortest path tree of the second network device
  • the shortest path tree is a network device that takes the second network device as a root node to reach the network Shortest paths to other network devices in the topology. That is, for non-routing information, the second network device can perform flooding according to the shortest path tree, so as to save network resources.
  • the shortest path tree of the second network device is generated according to flooding information corresponding to the first flooding instance identifier, where the flooding information corresponding to the first flooding instance identifier includes routing information.
  • the flooding information of the first flooding instance may include routing information of the second network device itself, or may include routing information from other network devices, including routing information of the third network device.
  • the first flooding instance may be a flooding instance carrying routing information.
  • the multiple packets include a first packet, and the first packet carries a flooding topology identifier corresponding to the flooding instance, and the flooding topology identifier is used to identify the first flooding The network topology of the flood information in a packet.
  • the method further includes: the second network device determines a next-hop network device according to the flooding topology identifier, and sends the first packet to the next-hop network device, so as to realize on-demand flooding and save energy. purpose of network resources.
  • the second network device receiving multiple packets from the first network device includes: receiving, by the second network device, a Hello packet from the first network device, according to the Hello packet. establishes a neighbor relationship with the first network device; the second network device receives multiple packets from the first network device based on the neighbor relationship. It should be noted that, the first network device may establish a neighbor relationship with the second network device, so as to implement sending multiple packets carrying flooding information of different flooding instances to the second network device.
  • a method is provided. The method is applied to a first network device.
  • the first network device creates different flooding instances based on the same IGP instance, and the first network device sends different flooding instances through different flooding instances.
  • flooding information For the flooding information, refer to the foregoing embodiments.
  • a network device for use in a network system including multiple network devices, the multiple network devices include a first network device, the network device is the first network device, the network device It includes: a processing unit, configured to obtain a flooding information set, where the flooding information set includes flooding information corresponding to each flooding instance in the multiple flooding instances, and the multiple flooding instances belong to an internal gateway A protocol IGP instance; a sending unit, configured to send multiple packets, each of the multiple packets carries a corresponding flooding instance identifier and flooding information, and the flooding instance identifier is used to identify all Describe the flooding example.
  • the multiple flooding instances include a first flooding instance, and the flooding information of the first flooding instance includes routing information; the sending unit is configured to send the first flooding instance to the second network device.
  • the multiple flooding instances include a second flooding instance, and the flooding information of the second flooding instance includes non-routing information; the sending unit is configured to send to the second network device A second packet, where the second packet includes the identifier of the second flooding instance and the non-routing information.
  • the second network device is a next-hop network device in a shortest path tree of the first network device, and the shortest path tree is a network device that takes the first network device as a root node to reach the network Shortest paths to other network devices in the topology.
  • the shortest path tree of the first network device is generated according to the flooding information of the first flooding instance, and the flooding information of the first flooding instance includes routing information.
  • the network device further includes: a receiving unit, configured to receive a third packet from the second network device, where the third packet includes the first flooding instance of the second network device
  • the flooding information of the first flooding instance of the second network device includes the routing information of the second network device; the processing unit is further configured to The flooding information of the flooding instance generates the shortest path tree.
  • the sending unit is configured to send a hello packet to the second network device, where the hello packet is used to establish a neighbor relationship between the first network device and the second network device ; the sending unit is configured to send the multiple packets to the second network device.
  • each flooding instance of the multiple flooding instances has a corresponding flooding parameter, and the flooding parameter is used to send a message corresponding to the flooding instance.
  • each flooding instance of the plurality of flooding instances has a corresponding priority, and the priority corresponds to the flooding parameter.
  • the message includes an intermediate system-to-intermediate system ISIS message or an Open Shortest Path First OSPF message.
  • the first packet of the plurality of packets also carries a flooding topology identifier, and the flooding topology identifier is used to identify the network topology for flooding the flooding information in the first packet .
  • a network device for use in a network system including multiple devices, the multiple network devices include a first network device and a second network device, and the network device is the second network device,
  • the network device includes: a receiving unit configured to receive multiple packets from the first network device, where each packet in the multiple packets respectively carries a flooding instance identifier and a flooding instance corresponding to the packet information, the multiple flooding instances corresponding to the multiple packets belong to the same interior gateway protocol IGP instance; the storage unit is used to store the flooding information corresponding to the flooding instance identifiers respectively.
  • the storage unit is configured to update the link state database corresponding to the flooding instance identifier according to the flooding information.
  • the storage unit is configured to update the flooding information to the link state database corresponding to the update process by using the update process corresponding to the flood instance identifier.
  • the multiple packets include a first packet, the first packet includes the first flooding instance identifier and first flooding information, and the first flooding information includes a route information;
  • the network device further includes: a sending unit configured to send a first packet to a third network device, where the third network device is any neighbor network of the second network device except the first network device equipment.
  • the plurality of packets include a second packet, the second packet includes a second flooding instance identifier and second flooding information, and the second flooding information includes non-routing information ;
  • the network device further includes: a sending unit configured to send the second packet to the third network device.
  • the third network device is a next-hop network device in a shortest path tree of the second network device, and the shortest path tree is a network device that takes the second network device as a root node to reach the network Shortest paths to other network devices in the topology.
  • the multiple packets include a first packet, and the first packet carries a flooding topology identifier corresponding to the flooding instance, and the flooding topology identifier is used to identify the first flooding A network topology of flood information in a packet;
  • the processing unit is further configured to determine the next hop network device according to the flooding topology identifier
  • the network device further includes: a sending unit configured to send the first packet to the next-hop network device.
  • the receiving unit is further configured to receive a Hello message from the first network device, and establish a neighbor relationship with the first network device according to the Hello message;
  • the receiving unit is configured to receive multiple packets from the first network device based on the neighbor relationship.
  • the message includes an intermediate system-to-intermediate system ISIS message or an Open Shortest Path First OSPF message.
  • a device which is applied to a network system including multiple network devices, the multiple network devices include a first network device and a second network device, the network device is a first network device, and the first network device Includes: processor and network interface.
  • the network interface is used for receiving and sending packets.
  • the processor is configured to execute the method in the foregoing first aspect or any possible design of the first aspect, or execute the method in the foregoing third aspect or any possible design of the third aspect.
  • the first network device further includes a memory, which may be used to store instructions or program codes.
  • the processor is used to invoke the instructions or program codes in the memory to execute the method in the foregoing first aspect or any possible design of the first aspect, or to execute the foregoing third aspect or any possible design of the third aspect. method.
  • a network device is provided, applied to a network system including multiple network devices, the multiple network devices include a first network device and a second network device, the network device is a second network device, the second network device
  • the device includes: a processor and a network interface.
  • the network interface is used for receiving and sending packets.
  • the processor is configured to perform the method in the aforementioned second aspect or any one possible design of the second aspect.
  • the second network device further includes a memory, which may be used to store instructions or program codes.
  • the processor is configured to invoke the instructions or program codes in the memory to execute the method in the foregoing second aspect or any possible design of the second aspect.
  • a network system in an eighth aspect, includes the first network device according to the fourth aspect and the second network device according to the fifth aspect, or, includes the sixth aspect.
  • a computer-readable storage medium comprising instructions, programs or codes that, when executed on a computer, cause the computer to perform any one of the aforementioned first or second or third aspects method described in one of the possible implementations.
  • a tenth aspect provides a computer program product comprising computer instructions, which, when the computer program product runs on a network device, enables the network device to perform any possible implementation of the first aspect or the second aspect or the third aspect method provided by one of the ways.
  • a chip including a memory and a processor.
  • Memory is used to store instructions or program code.
  • the processor is used to call and run the instruction or program code from the memory to execute the method in the first aspect or any possible design of the first aspect; or, the processor executes the second aspect or any one of the second aspect a method in one possible design; or, the processor executes the method of the third aspect.
  • a twelfth aspect provides a chip, the chip includes a processor, but does not include a memory, the processor is configured to read and execute instructions or program codes stored in the off-chip memory, and when the instructions or program codes are executed When , the processor executes the first aspect or the method in any possible design of the first aspect; or, the processor executes the second aspect or the method in any possible design of the second aspect; or, the processor executes method of the third aspect.
  • FIG. 1 is a schematic diagram of an ISIS network architecture provided by an embodiment of the present application.
  • FIG. 2 is a schematic diagram of an OSPF network architecture provided by an embodiment of the present application.
  • FIG. 3 is a flowchart of an information flooding method provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of the format of a TLV carrying a flooding instance identifier provided by an embodiment of the present application
  • FIG. 5 is a schematic diagram of a format of an LSP provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of the format of the PSNP provided by the embodiment of the present application.
  • FIG. 7 is a schematic diagram of the format of CSNP provided by the embodiment of the present application.
  • FIG. 8 is a schematic diagram of the format of an LSP including an MFI-ID field provided by an embodiment of the present application;
  • FIG. 9 is a schematic diagram of a format of a PSNP including an MFI-ID field provided by an embodiment of the present application.
  • FIG. 10 is a schematic diagram of a format of a CSNP including an MFI-ID field provided by an embodiment of the present application;
  • FIG. 11 is a schematic diagram of the format of a message header of a DD message provided by an embodiment of the present application.
  • FIG. 12 is a schematic diagram of the format of a packet header of an LSR packet provided by an embodiment of the present application.
  • FIG. 13 is a schematic diagram of the format of a packet header of an LSU packet provided by an embodiment of the present application.
  • FIG. 14 is a schematic diagram of the format of a packet header of an LSAck packet provided by an embodiment of the present application.
  • FIG. 15 is a schematic diagram of a network architecture provided by an embodiment of the present application.
  • 16 is a schematic diagram of a shortest path tree provided by an embodiment of the present application.
  • FIG. 17 is a schematic structural diagram of a first device according to an embodiment of the application.
  • FIG. 18 is a schematic structural diagram of a second device according to an embodiment of the application.
  • FIG. 19 is a schematic structural diagram of a network system provided by an embodiment of the present application.
  • FIG. 20 is a schematic structural diagram of a device provided by an embodiment of the present application.
  • FIG. 21 is a schematic structural diagram of a device provided by an embodiment of the present application.
  • the embodiments of the present application provide an information flooding method and device, which are used to solve the traditional problem of low flooding efficiency caused by taking all the flooding information of an IGP instance as a whole flood.
  • the information flooding method provided by the embodiment of the present application can be applied to the ISIS network architecture, and can also be applied to the open shortest path first OSPF network architecture.
  • ISIS was originally a dynamic routing protocol designed by the International Organization for Standardization (ISO) for its ConnectionLess Network Protocol (CLNP).
  • IS-IS is used inside an autonomous system and is a link state protocol that uses the Shortest Path First (SPF) algorithm for route calculation.
  • SPF Shortest Path First
  • the network architecture includes a network device 101 , a network device 102 , a network device 103 , a network device 104 and a network device 105 .
  • the network device 101 and the network device 105 belong to the non-backbone area, and the network device 101 belongs to the area 1 of the non-backbone area, and the network device 105 belongs to the area 2 of the non-backbone area.
  • the network device 102, the network device 103, and the network device 104 belong to a backbone area, and the network device 102 and the network device 104 are edge network devices in the backbone area.
  • the network devices in the non-backbone area are called Level 1 (L1 for short) devices
  • the non-edge network devices in the backbone area are called Level 2 (L2) devices
  • the edge network devices in the backbone area are called Level 1- 2 (L12 for short) equipment.
  • the information flooding method provided in this embodiment of the present application may be performed by a first network device, and the first network device may be one of the network device 101 , the network device 102 , the network device 103 , the network device 104 , and the network device 105 in FIG. 1 . anyone.
  • OSPF is an IP-based routing protocol used to make routing decisions within a single AS. It is an implementation of a link-state routing protocol. OSPF supports load balancing and routing based on service types, as well as multiple routing forms, such as specific host routing and subnet routing.
  • the network architecture includes a network device 201 , a network device 202 , a network device 203 , a network device 204 , and a network device 205 .
  • the network device 203 is the network device in the backbone area (Area 0)
  • the network device 201 and the network device 205 are network devices in the non-backbone area, wherein the network device 201 belongs to the area 1, and the network device 205 belongs to the area 2.
  • the network device 202 and the network device 204 are border network devices, which belong to both the backbone area and the non-backbone area.
  • the information flooding method provided in this embodiment of the present application may be performed by a first network device, where the first network device may be the network device 201 , the network device 202 , the network device 203 , the network device 204 , and the network device 205 in FIG. 2 . anyone.
  • it may be a router, a switch, or other physical device that supports a routing function, or it may be a server that deploys a virtual router or a virtual switch.
  • FIG. 3 is a flowchart of an information flooding method provided by an embodiment of the present application, the method includes the following steps:
  • the first network device acquires the flooding information set of the IGP instance.
  • This embodiment of the present application creates multiple flooding instances (flooding instances) according to one IGP instance, that is, multiple flooding instances belong to one Level or area.
  • the IGP instance may be, for example, IGP instance No. 0.
  • each of the multiple flooding instances has corresponding flooding information, and the flooding information of the multiple flooding instances forms a flooding information set.
  • the flooding information corresponding to multiple flooding instances may include routing information and non-routing information.
  • the routing information includes, for example, one or more of prefixes, traffic engineering (Traffic Engineering, TE) information, device capability information, link information, and the like.
  • the device capability information includes the capability of processing segment routing (SR) information, and the like.
  • the link information includes link overhead, bandwidth, and the like.
  • the non-routing information may include one or more of application information, capability information of the device supporting certain applications, and slice information.
  • the information of the application program may include information such as the identifier of the application program, the user name, the password, and the like.
  • the device capability information includes the capability of the network device to process In-situ Flow Information Telemetry (IFIT) packets, the processing capability of the Central Processing Unit (CPU), and the storage capability.
  • the slice information is the information of the network slice (network slice) used by the network device to transmit the message, such as slice identifier, resource requirement information corresponding to the slice, and so on. Different slices correspond to different network resource requirements, such as high bandwidth, high reliability, and low latency.
  • different flooding instances correspond to different flooding information.
  • the corresponding relationship between the flooding instance and the flooding information can be specifically expressed as the corresponding relationship between the flooding instance identifier and the flooding information.
  • the flooding instance identifier is used to identify the flooding instance.
  • the flooding instance identifier may also be referred to as multiple flooding instance identifiers (multiple flooding instance identifiers, MFI-ID) or specific flooding instance identifiers (instance-specific flooding identifiers, IFID).
  • the multiple flooding instances include flooding instance 0, flooding instance 1, and flooding instance 2.
  • the identification of flooding instance 0 is MFI-ID
  • the identification of flooding instance 1 is MFI-ID 1
  • the identification of flooding instance 2 is MFI-ID 2.
  • the flooding information corresponding to the flooding instance 0 may be the above routing information
  • the flooding information corresponding to the flooding instance 1 and the flooding instance 2 may be the above non-routing information.
  • different flooding instances may have different flooding parameters
  • the flooding parameters may include, for example, a maximum age (maximum age, MaxAge), a maximum LSP generation interval (maximum LSP Generation Interval), a minimum LSP Generation interval (minimum LSP Generation Interval), minimum LSP transmission interval (minimum LSP Transmission Interval), CSNP transmission interval (Complete SNP Interval), PSNP transmission interval (partial SNP Interval), retransmission interval (retransmission interval), refresh time (refresh) timer), etc. one or more of them.
  • the maximum time to live refers to the maximum amount of time that can elapse before the LSP is considered expired.
  • the maximum LSP generation interval refers to the maximum time interval between the generation of two adjacent LSPs.
  • the minimum LSP generation interval refers to the minimum time interval between the generation of two adjacent LSPs.
  • the minimum LSP sending interval refers to the minimum time interval between the generation of two adjacent LSPs.
  • CSNP sending interval refers to the time between devices periodically sending CSNP packets on the broadcast link.
  • the PSNP sending interval refers to the time between devices periodically sending PSNP packets on the broadcast link.
  • the flooding information of multiple flooding instances may be sent through multiple packets. These packets may be ISIS packets or OSPF packets.
  • the ISIS message includes Link State Protocol Data Unit (LSP) message, Partial Sequence Number Packet (PSNP) and Complete Sequence Number Packet (CSNP) ).
  • LSP message includes link state information of the directly connected link of the network device, such as the identifier of the neighbor network device, link type, link bandwidth, etc.
  • PSNP includes the link state database (Link State Data Base, The summary information of some LSPs in the LSDB) is used to synchronize the LSDB corresponding to the carried flooding instance identifier
  • CSNP includes the summary information of all LSPs in the LSDB of the network device, and is used to synchronize the LSDB corresponding to the carried flooding instance identifier.
  • the LSP packet can establish or disconnect the neighbor relationship between network devices (down), the interface of the network device is valid (up) or failure (down), the imported IP route changes, and the IP route between areas changes. , when the interface is assigned a new metric value, etc., it is generated and sent, or it can be sent periodically.
  • the message type of the above-mentioned ISIS message is an L1 ISIS message
  • the first network device is an L2 device
  • the message type of the above-mentioned ISIS message is an L2 ISIS message.
  • the LSP packets sent by the L1 device are L1 LSP packets
  • the LSP packets sent by the L2 device are L2 LSP packets.
  • OSPF packets include Database Description (DD) packets, Link State Request (LSR) packets, Link State Update (LSU) packets, and Link State Confirmation (Link State) packets. Acknowledgment, LSAck) message.
  • DD Database Description
  • LSR Link State Request
  • LSU Link State Update
  • Link State Link State Confirmation
  • LSAck Link State Confirmation
  • the packet type of the above OSPF message is the backbone network OSPF message; if the first network device is located in the non-backbone network area (for example, area 1 or area 2), then The packet types of the above OSPF packets are non-backbone network OSPF packets.
  • the flooding parameters of the same type of message carrying different multiple flooding instances may be different.
  • the retransmission interval of a DD packet carrying MFI-ID 0 is 5 seconds (S)
  • the retransmission interval of a DD packet carrying MFI-ID 1 is 10 seconds.
  • the flooding parameters corresponding to the same type of packets carrying the same flooding instance identifier are the same, and the flooding parameters corresponding to different types of packets carrying the same flooding instance identifier may be different.
  • the transmission interval of PSNP carrying MFI-ID 0 is 2S
  • the transmission interval of PSNP carrying MFI-ID 1 is 20S.
  • different flooding instances can have different priorities, and different priorities correspond to different flooding parameters.
  • the table shows an example of the correspondence between the flooding instance identifier and the flooding information, the flooding parameter and the priority by taking the ISIS message as an example.
  • S102 The first network device sends multiple packets.
  • the first network device floods the flooding information of multiple flooding instances by sending multiple packets to other network devices.
  • each of the multiple packets respectively includes a flooding instance identifier and corresponding flooding information.
  • the flooding information may be carried in the data content part of the message.
  • the form of the flooding instance identifier carried in the message can be implemented in various ways.
  • the locations of the flooding instance identifiers carried in the packets are also different.
  • the flooding instance identifier is carried in the message in a TLV format.
  • the TLV includes a type (type, T) field, a length (length, L) field, and a value (value, V) field.
  • the value of the T field is used to indicate that the TLV is a TLV that carries the flooding instance identifier, the value of the L field is the length of the TLV, and these two fields may occupy one octet respectively.
  • the value of the V field includes a flooding instance identifier, for example, the V field includes an MFI-ID field, and the flooding instance identifier may occupy 2 octets.
  • the TLV carrying the flooding instance identifier can be carried in the variable length fields of the ISIS message, specifically the first TLV of the variable length fields.
  • Subsequent TLVs of the variable length fields may include flooding information corresponding to the flooding instance identifier in the first TLV.
  • LSP includes the following fields: Intradomain Routing Protocol Discriminator, Length Indicator, Version/Protocol ID Extension, ID Length, PDU Type (PDU Type), Version (Version), Reserved Bit (Reserved, R), Maximum Area Addresses (Maximum Area Addresses), PDU Length (PDU Length), Remaining Lifetime, LSP ID (LSP ID), Sequence Number (Sequence Number), Checksum (Checksum), Partition (Partition, P), Area Association (Attached, ATT), LSDB Overload (Overload, OL), Intermediate System Type (IS Type), and variable length fields. See Figure 4 for the number of bytes occupied by each field, and will not be repeated here.
  • the TLV carrying the flooding instance identifier can be carried in the variable length fields field of the LSP in Figure 1.
  • PSNP includes the following fields: Intradomain Routing Protocol Discriminator, Length Indicator, Version/Protocol ID Extension, ID Length, PDU Type, R, Version, Reserved, Maximum Area Addresses, PDU Length, Source ID (Source ID), and variable length fields. See Figure 5 for the number of bytes occupied by each field, and will not be repeated here.
  • the TLV carrying the flooding instance identifier can be carried in the variable length fields field of PSNP in Figure 5.
  • CSNP includes the following fields: Intradomain Routing Protocol Discriminator, Length Indicator, Version/Protocol ID Extension, ID Length, PDU Type, R, Version, Reserved, Maximum Area Addresses, PDU Length, Source ID, Start LSP ID (Start LSP ID), End LSP ID (End LSP ID), and variable length fields. See Figure 6 for the number of bytes occupied by each field, and will not be repeated here.
  • the TLV carrying the flooding instance identifier can be carried in the variable length fields field of CSNP in Figure 6.
  • the TLV carrying the ID of the flooding instance can be carried in the data part of the OSPF packet.
  • the data content part may also include flooding information corresponding to the flooding instance identifier.
  • a field whose value includes a flooding instance identifier may be added to the message, and the field may be called an MFI-ID field, for example.
  • MFI-ID field for example.
  • a new message type may be defined, and the message type is a message that includes an MFI-ID field in the message. That is, the ISIS message may carry indication information, where the indication information is used to indicate that the ISIS message carries the flooding instance identifier. Wherein, the indication information may be carried in the PDU type field of the ISIS message. The specific location of the MFI-ID field carrying the flooding instance identifier in different ISIS packets is different.
  • the MFI-ID field may be located in the LSP ID field of the LSP.
  • the original LSP ID field includes the Source ID field, the pseudo node ID (Pseudonode ID) and the LSP fragment number (LSP Number).
  • the MFI-ID field is added to the improved LSP ID field.
  • the new MFI-ID field can occupy 1 byte, which carries the flooding instance identifier.
  • the LSP including the improved LSP ID field is also a new LSP, and the value of the PDU type field included in the new LSP may include indication information, and the indication information is used to indicate that the LSP packet carries the MFI-ID field. the LSP packets.
  • This embodiment of the present application does not limit the value of the PDU type field, and those skilled in the art can design it by themselves. For example, the value is TBA1.
  • the MFI-ID field may be located after the Source ID field of the PSNP, and certainly may also be located in other places of the PSNP, which is not specifically limited in this embodiment of the present application.
  • the value of the PDU type field of the new PSNP message carrying the MFI-ID field includes indication information, indicating that the PSNP message is a PSNP message carrying the MFI-ID field.
  • This embodiment of the present application does not limit the value of the PDU type field, which can be designed by those skilled in the art. For example, the value is TBA2.
  • the MFI-ID field may be located after the End LSP ID field of the CSNP, to indicate that all LSPs in the range from the Start LSP ID to the End LSP ID belong to the flooding instance corresponding to the MFI-ID.
  • the MFI-ID field may also be located in other places of the CSNP, which is not specifically limited in this embodiment of the present application.
  • the value of the PDU type field of the new PSNP message carrying the MFI-ID field includes indication information, indicating that the PSNP message is a PSNP message carrying the MFI-ID field.
  • This embodiment of the present application does not limit the value of the PDU type field, and those skilled in the art can design it by themselves.
  • the value is TBA3.
  • the MFI-ID field carrying the flooding instance identifier can be added to the OSPF packet header to form a new OSPF packet.
  • FIG. 11 is a schematic diagram of the format of the packet header of the DD packet.
  • the header of the DD packet includes the following fields: Packet Length, Router ID, Area ID, Checksum, Instance ID, and Options (options), interface maximum transmission unit (Interface Maximum Transmission Unit, Interface MTU), DD sequence number (sequence number) and LSA header (LSA Header).
  • the header of the DD packet also includes the MFI-ID field, which carries the flooding instance identifier.
  • the packet header of the LSR packet includes the following fields: Packet Length, Router ID, Area ID, checksum, instance ID, Link-State Advertisement (LSA) type (LS type), and link state identifier (Link). State ID) and Advertisement Router.
  • the packet header of the LSR packet also includes the MFI-ID field, which carries the flooding instance identifier.
  • the packet header of the LSU packet includes the following fields: Packet Length, Router ID, Area ID, checksum, instance ID, #LSAs, and LAs.
  • the packet header of the LSU packet also includes the MFI-ID field, which carries the flooding instance identifier.
  • the packet header of the LSAck packet includes the following fields: Packet Length, Router ID, Area ID, checksum, instance ID, and LSA Header.
  • the packet header of the LSAck packet also includes the MFI-ID field, which carries the flooding instance identifier.
  • the flooding instance identifier may be carried in other locations in the ISIS message or OSPF message, or may be carried in other messages other than the ISIS message or OSPF message. This embodiment of the present application does not Make specific restrictions.
  • the second network device receives one or more packets from the first network device.
  • Each of the multiple packets carries a flooding instance identifier and flooding information corresponding to the packet, respectively.
  • the first network device may send multiple packets to the outside.
  • the first network device may send multiple packets to the same network device, or may send packets to different network devices.
  • the second network device receives one or more packets from the multiple packets sent from the first network device.
  • the flooding instance identifiers carried in these packets and corresponding flooding instances belong to the same IGP instance.
  • the first network device Before sending the message to the second network device, the first network device may first establish a neighbor relationship with the second network device by sending a Hello message to the second network device. After establishing the neighbor relationship, the first network device may send the one or more packets to the second network device based on the neighbor relationship. Since the flooding information carried in the multiple packets belongs to one IGP instance, it is only necessary to establish a neighbor relationship with the second network device.
  • the message sent by the first network device may be an ISIS message or an OSPF message.
  • ISIS message may be an ISIS message or an OSPF message.
  • OSPF message may be an ISIS message or an OSPF message.
  • Different types of packets need to establish neighbor relationships in different ways.
  • ISIS Hello ISIS Hello, IIH
  • ISIS supports point-to-point and broadcast networks.
  • the first network device can send an IIH packet to the second network device, and the second network device receives the IIH packet After the message, verify the validity of the IIH message. If the verification is passed, it means that the neighbor relationship between the two is established.
  • the second network device can The status is set to online (up). This embodiment of the present application does not limit how the second network device verifies the validity of the IIH message, and those skilled in the art can design it by themselves according to the actual situation.
  • the second network device can determine whether the Internet Protocol (IP) address of the first network device carried in the IIH packet is in the same network segment as the IP address of the second network device, and if so, it is considered that the IP address of the first network device is in the same network segment.
  • IP Internet Protocol
  • the IIH message is valid; if not, it is considered that the IIH message is invalid, and the establishment of the neighbor relationship between the first network device and the second network device fails.
  • the first network device and the second network device can respectively send an IIH packet 1 to each other.
  • the destination address is empty.
  • the first network device After receiving the IIH packet 1 sent by the second network device, the first network device sends an IIH packet 2 to the second network device, where the destination address carried in the IIH packet 2 is the IP address of the second network device.
  • the second network device After receiving the second IIH packet from the first network device, the second network device may set the neighbor state with the second network device to up.
  • the second network device respectively stores the flooding information corresponding to the flooding instance identifier.
  • the second network device may store the flooding instance identifier and the corresponding flooding information carried in the message.
  • one or more LSDBs may be stored in the second network device, and the LSDBs are used to store flooding information.
  • the second network device After the second network device receives the message from the first network device, it can search for the corresponding LSDB according to the flooding instance identifier carried in the message (if the second network device stores an LSDB, it can search for the corresponding LSDB according to the flooding instance identifier).
  • the corresponding sub-LSDB if it can be found, the LSDB is updated with the flooding information in the message; if it cannot be found, a new LSDB is established, the flooding information in the message is stored in the LSDB, and Stores the correspondence between the LSDB and the flooding instance ID.
  • the second network device stores LSDB0, LSDB1 and LSDB2, wherein LSDB0 is used to store the flooding information corresponding to MTI-ID 0, LSDB1 is used to store the flooding information corresponding to MTI-ID 1, and LSDB2 is used to store the flooding information corresponding to MTI-ID 1. - Flooding information corresponding to ID 2.
  • the packet may also carry the identifier of the network device, such as a router identifier (router identifier, router ID).
  • the router ID can be configured as the IP address of the loopback interface.
  • the first network device divides an IGP instance into multiple flooding instances, and sends the flooding information corresponding to the multiple flooding instances through multiple packets.
  • the embodiments of the present application can flexibly manage the flooding information of an IGP instance, are suitable for flooding requirements in different scenarios, improve flooding efficiency, save network resources, and improve flooding.
  • the processing efficiency of flood information is not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to sending flooding information as a whole.
  • the flooding information of multiple flooding instances under one IGP instance can be sent to different network devices through different packets, so as to achieve the purpose of sending on demand and save network resources (described in detail below).
  • the flooding information of multiple flooding instances under one IGP instance can be flooded according to different flooding parameters to realize resource isolation.
  • the sending interval can be larger; for the flooding information of the flooding instance that requires a higher LSDB update frequency, the sending interval can be smaller. and many more.
  • the flooding information of multiple flooding instances of an IGP instance can be sent, received or updated through multiple different processes, and each process corresponds to a unique flooding instance, which enhances resource isolation and achieves the purpose of parallel processing. Improve flooding efficiency and flooding information processing efficiency.
  • the MFI-ID field may be located in the LSP ID field.
  • the original LSP ID field includes the LSP Number field. The value of this field ranges from 0 to 255. That is to say, the traditional LSP supports up to 256 LSPs of different types.
  • the MFI-ID field is added to the LSP ID field, it means that the embodiment of the present application can support sending up to 256*n types of LSPs to meet more application requirements.
  • n is the number of values that the MFI-ID field can take, that is, the n is an integer greater than 1.
  • each MFI-ID may correspond to an LSP ID, so that the network device can uniquely determine a process according to the LSP ID. The latter can be applied to network devices that do not support MFI-ID.
  • Mode 1 For networking that does not support or partially supports MFI devices, all flooding instances under an IGP instance share the LSP Number space, and the total number of LSPs corresponding to all flooding instances cannot exceed 256.
  • Mode 2 For networking that supports MFI devices, different flooding instances have their own LSP Number space, and the number of LSPs corresponding to each flooding instance can reach 256. Use LSP ID+MFI-ID to uniquely identify an LSP.
  • the routing information of the network device can be flooded in the whole network first, and then the network device calculates the shortest path tree with the network device as the root node ( Shortest Path Tree, SPT), which floods other flooding information according to the shortest path tree.
  • SPT Shortest Path Tree
  • the shortest path tree describes the shortest path from the root node to other nodes.
  • the first network device may flood its neighbor network device (eg, the second network device) with a first packet, where the first packet includes the first flooding instance identifier and flooding information, which is the same as the first packet.
  • the flooding information corresponding to a flooding instance identifier includes routing information.
  • the routing information may be routing information of the first network device, or may be routing information of other network devices learned by the first network device.
  • the neighbor network device eg, the second network device
  • the neighbor network device also floods the first packet to its neighbor network device, so as to achieve the purpose of flooding the first packet in the entire network.
  • Other network devices in the network architecture also perform steps similar to those of the first network device, and thus, the first network device can obtain routing information of other network devices in the network architecture.
  • the first network device may calculate the shortest path tree with the first network device as the root node according to the obtained routing information, and send the second message to the next-hop network device (for example, the second network device) in the shortest path tree.
  • the second includes a second flooding instance identifier and flooding information, and the flooding information corresponding to the second flooding instance identifier includes one or more kinds of non-routing information.
  • the next-hop network device may perform steps such as the first network device, and so on, so as to achieve the purpose of saving flooding traffic on the basis of flooding the entire network.
  • FIG. 15 is a schematic diagram of a network architecture provided by an embodiment of the present application.
  • the network architecture includes a network device 301 , a network device 302 , a network device 303 , a network device 304 , and a network device 305 .
  • the network device 301 is respectively connected to the network device 302 and the network device 304
  • the network device 302 is respectively connected to the network device 303 and the network device 305
  • the network device 305 is respectively connected to the network device 303 and the network device 304.
  • the network device 301 sends the packet 1 to the network device 302 and the network device 304 respectively, and the packet carries the MTI-ID 0 and the routing information of the network device 301, so that the network device 302 and the network device 304 flood the packet 1 to the network device. 303 and network equipment 305.
  • the network device 301 receives packets carrying its routing information from other network devices.
  • the routing information includes a prefix and a link cost (cost) value between two adjacent network devices.
  • the network device 301 determines that the cost between the network device 301 and the network device 302 is 1, the cost between the network device 301 and the network device 304 is 5, and the cost between the network device 302 and the network device 302 is 5.
  • the cost between 303 is 6, the cost between network device 302 and network device 305 is 2, the cost between network device 304 and network device 305 is 1, and the cost between network device 303 and network device 305 The value is 1.
  • the network device 301 can obtain the shortest path tree with the network device 301 as the root node according to the above cost value, and the shortest path tree is the network device 301-network device 302-network device 305-network device 303 and the network device 304 , that is to say, the next-hop network device of the root node network device 301 in the shortest path tree is the network device 302 .
  • the network device 301 may send a packet 2 to the network device 302 based on the shortest path tree, where the packet 2 carries the MTI-ID1 and non-routing information (eg, application program information). After receiving the packet 2, the network device 302 can send the packet 2 to the next-hop network device based on the shortest path tree with the network device 302 as the root node, so as to achieve the purpose of flooding the entire network and saving flooding traffic.
  • the network device 302 can send the packet 2 to the next-hop network device based on the shortest path tree with the network device 302 as the root node, so as to achieve the purpose of flooding the entire network and saving flooding traffic.
  • each network device in the network architecture can pre-determine in which network topology the flooding information needs to be flooded, and carry the flooding topology identifier used to identify the network topology in the outgoing message, So that the network device receiving the message can send the message to the corresponding network device according to the flooding topology identifier.
  • the first network device may carry the flooding topology identifier in the message sent to the second network device, and after receiving the flooding topology identifier, the second network device searches for the identifier with the flooding topology.
  • the flooding topology identifies the corresponding next-hop network device, and sends the message to the next-hop network device, thereby realizing the purpose of flooding the message in a specific network topology.
  • the network device 301 can obtain the message 1, the message.
  • the file carries flooding topology ID 1, MTI-ID 1 and flooding information.
  • the network topology corresponding to the flooding topology identifier 1 is network device 301 - network device 302 - network device 305 .
  • the network device 301 sends the packet 1 to the network device 302 .
  • the network device 302 After receiving the packet 1, the network device 302 confirms that the next-hop network device is the network device 305 according to the flooding topology identifier 1 in the packet 1. Therefore, the network device 302 can send the packet 1 to the network device 305.
  • the network device 305 After receiving the message 1, the network device 305 confirms that the correspondence between the flooding topology identifier 1 and the next-hop network device is not stored, or finds that the next-hop network device corresponding to the flooding topology identifier 1 is empty ( null), so the packet 1 will not be flooded to other devices.
  • the message 1 can only be flooded in the network topology of the network device 301-network device 302-network device 305, without the purpose of flooding to the network device 303 and the network device 304, thereby saving network resources.
  • the manner in which the flooding topology identifier is carried in the message is similar to the manner in which the flooding instance identifier is carried in the message.
  • the flooding topology identifier may be carried in an existing field of the packet in the form of TLV, or a new field may be added to the packet to obtain a new type of packet.
  • the flooding topology identifier When the flooding topology identifier is carried in the message in TLV format, it can be the same TLV with the TLV carrying the flooding instance identifier, that is, the V field in the TLV includes both the flooding instance identifier and the flooding topology identifier. .
  • the TLV carrying the flooding topology identifier is a different TLV from the TLV carrying the identifier of the flooding instance. For the latter, if the packet is an ISIS packet, the TLV field carrying the flooding topology identifier can be located in the variable length fields of the ISIS packet; if the packet is an OSPF packet, the TLV carrying the flooding topology identifier Fields can be located in the data part of an OSPF message.
  • the newly added field may be called, for example, a specific flooding instance topology identifier (Instance-specific Flooding Topology Identifiers, IFTID) field.
  • IFTID Instance-specific Flooding Topology Identifiers
  • the LSDBs corresponding to the same flooding instance are distinguished according to different flooding topology identifiers, that is, when the second network device stores the flooding information, the The flooding topology identifier determines the corresponding LSDB, and stores the flooding information in the LSDB.
  • process 1 is used to update the flooding information of flooding topology 1 of flooding instance 1
  • process 2 is used to update the flooding information of flooding topology 2 of flooding instance 1
  • process 3 is used to update the flooding information of flooding instance 0.
  • FIG. 17 shows a possible schematic structural diagram of the first network device involved in the above embodiment, and the device 1700 can implement the functions of the first network device in the example shown in FIG. 3 .
  • the network device 1700 includes: a processing unit 1701 and a sending unit 1702 . These units may perform the corresponding functions of the first network device in the above method examples.
  • the processing unit 1701 is configured to support the device 1700 to perform S101 in FIG. 3 ; the sending unit 1702 is configured to support the network device 1700 to perform S102 in FIG. 3 .
  • the processing unit 1701 is configured to acquire a flooding information set, where the flooding information set includes flooding information corresponding to each flooding instance in the multiple flooding instances, and the multiple flooding instances belong to An interior gateway protocol IGP instance;
  • the sending unit 1702 is configured to send multiple packets, each of the multiple packets respectively carries a corresponding flooding instance identifier and flooding information, and the flooding instance identifier Used to identify the flooding instance.
  • the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 3 , which will not be repeated here.
  • FIG. 18 shows a possible schematic structural diagram of the second network device involved in the above embodiment, and the device 1800 can implement the functions of the second network device in the example shown in FIG. 3 .
  • the network device 1800 includes: a receiving unit 1801 and a storage unit 1802 . These units may perform the corresponding functions of the second network device in the above method examples.
  • the receiving unit 1801 is configured to support the device 1800 to perform S103 in FIG. 3 ;
  • the storage unit 1802 is configured to support the network device 1800 to perform S104 in FIG. 3 .
  • the receiving unit 1801 is configured to receive multiple packets from the first network device, where each packet in the multiple packets respectively carries a flooding instance identifier and flooding information corresponding to the packet , the multiple flooding instances corresponding to the multiple packets belong to the same interior gateway protocol IGP instance; the storage unit 1802 is configured to store the flooding information corresponding to the flooding instance identifiers respectively.
  • the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 3 , which will not be repeated here.
  • each functional unit in the embodiments of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the acquiring unit and the processing unit may be the same unit or different units.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • an embodiment of the present invention provides a network system 1900, where the system 1900 is configured to implement the packet forwarding method and the packet processing method in the foregoing method embodiments.
  • the system 1900 includes a network device 1901 and a network device 1902 .
  • the device 1901 may implement the function of the first network device in the embodiment shown in FIG. 3
  • the device 1902 may implement the function of the second network device in the embodiment shown in FIG. 3 .
  • For the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 3 , which will not be repeated here.
  • FIG. 20 is a schematic structural diagram of a device 2000 provided by an embodiment of the present application.
  • the network device 1700 in FIG. 17 and the network device 1800 in FIG. 18 may be implemented by the devices shown in FIG. 20 .
  • the device 2000 includes at least one processor 2001 , a communication bus 2002 and at least one network interface 2004 , and optionally, the device 2000 may further include a memory 2003 .
  • the processor 2001 may be a general-purpose central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits (integrated circuits) used to control the execution of the programs of the present application. , IC).
  • the processor may be configured to process the packet, so as to implement the packet forwarding method and the packet processing method provided in the embodiments of the present application. For example, when the first network device in FIG. 3 is implemented by the device shown in FIG. 20 , the processor can be used to acquire the flooding information set, and send multiple packets, each of which is in the multiple packets. Each packet carries the corresponding flooding instance identifier and flooding information respectively. For another example, when the second network device in FIG. 2 is implemented by the device shown in FIG.
  • the processor may be configured to receive multiple packets from the first network device, and store the flooding instance identifier corresponding to the flooding instance identifier. Hung information.
  • reference may be made to the processing part of the second network device in the method embodiment.
  • Communication bus 2002 is used to transfer information between processor 2001 , network interface 2004 and memory 2003 .
  • the memory 2003 can be a read-only memory (read-only memory, ROM) or other types of static storage devices that can store static information and instructions, and the memory 2003 can also be a random access memory (random access memory, RAM) or can store information and other types of dynamic storage devices for instructions, also can be compact disc read-only Memory (CD-ROM) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, Blu-ray optical disks, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, without limitation.
  • the memory 2003 can exist independently and is connected to the processor 2001 through the communication bus 2002 .
  • the memory 2003 may also be integrated with the processor 2001 .
  • the memory 2003 is used to store program codes or instructions for executing the solutions of the present application, and the execution is controlled by the processor 2001 .
  • the processor 2001 is used to execute program codes or instructions stored in the memory 2003 .
  • One or more software modules may be included in the program code.
  • the processor 2001 may also store program codes or instructions for executing the solutions of the present application, in which case the processor 2001 does not need to read the program codes or instructions from the memory 2003 .
  • the network interface 2004 may be a device such as a transceiver for communicating with other devices or a communication network, and the communication network may be an Ethernet network, a radio access network (RAN), or a wireless local area network (wireless local area network, WLAN).
  • the network interface 2004 may be configured to receive packets sent by other nodes in the segment routing network, and may also send packets to other nodes in the segment routing network.
  • the network interface 2004 may be an ethernet (ethernet) interface, a fast ethernet (FE) interface, or a gigabit ethernet (GE) interface, or the like.
  • the device 2000 may include multiple processors, such as the processor 2001 and the processor 2005 shown in FIG. 20 .
  • processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor.
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • FIG. 21 is a schematic structural diagram of a device 2100 provided by an embodiment of the present application.
  • the first network device and the second network device in FIG. 3 may be implemented by the devices shown in FIG. 21 .
  • the device 2100 includes a main control board and one or more interface boards.
  • the main control board communicates with the interface board.
  • the main control board is also called the main processing unit (MPU) or the route processor card (route processor card).
  • the main control board includes a CPU and memory.
  • the main control board is responsible for the control and management of various components in the device 2100, including Route calculation, device management and maintenance functions.
  • Interface boards also known as line processing units (LPUs) or line cards, are used to receive and send messages.
  • LPUs line processing units
  • the communication between the main control board and the interface board or between the interface board and the interface board is through a bus.
  • the interface boards communicate through a switch fabric board.
  • the device 2100 also includes a switch fabric board.
  • the switch fabric board is communicatively connected to the main control board and the interface board.
  • the switch fabric board is used for forwarding the interface board.
  • the data between them, the switch fabric board can also be called a switch fabric unit (SFU).
  • the interface board includes a CPU, a memory, a forwarding engine, and an interface card (IC), wherein the interface card may include one or more network interfaces.
  • the network interface can be an Ethernet interface, an FE interface, or a GE interface.
  • the CPU is connected in communication with the memory, the forwarding engine and the interface card, respectively.
  • the memory is used to store the forwarding table.
  • the forwarding engine is used to forward the received packet based on the forwarding table stored in the memory. If the destination address of the received packet is the IP address of the device 2100, the packet is sent to the CPU of the main control board or the interface board for processing. Processing; if the destination address of the received message is not the IP address of the device 2100, then look up the forwarding table according to the destination, if the next hop and outgoing interface corresponding to the destination address are found from the forwarding table, the message Forwarding to the outbound interface corresponding to the destination address.
  • the forwarding engine may be a network processor (NP).
  • the interface card also known as the daughter card, can be installed on the interface board and is responsible for converting photoelectric signals into data frames, and after checking the validity of the data frames, forwards them to the forwarding engine for processing or the interface board CPU.
  • the CPU can also perform the function of a forwarding engine, such as implementing soft forwarding based on a general-purpose CPU, so that a forwarding engine is not required in the interface board.
  • the forwarding engine may be implemented by an ASIC or a field programmable gate array (FPGA).
  • the memory that stores the forwarding table may also be integrated into the forwarding engine as part of the forwarding engine.
  • An embodiment of the present application further provides a chip system, including: a processor, where the processor is coupled with a memory, the memory is used to store a program or an instruction, and when the program or instruction is executed by the processor, the The chip system implements the method for the first network device or the second network device in the above-mentioned embodiment shown in FIG. 3 .
  • the number of processors in the chip system may be one or more.
  • the processor can be implemented by hardware or by software.
  • the processor may be a logic circuit, an integrated circuit, or the like.
  • the processor may be a general-purpose processor implemented by reading software codes stored in memory.
  • the memory may be integrated with the processor, or may be provided separately from the processor, which is not limited in this application.
  • the memory can be a non-transitory processor, such as a read-only memory ROM, which can be integrated with the processor on the same chip, or can be provided on different chips.
  • the setting method of the processor is not particularly limited.
  • the chip system may be an FPGA, an ASIC, a system on chip (system on chip, SoC), a CPU, an NP, or a digital signal processing circuit (digital signal processor, DSP), can also be a microcontroller (micro controller unit, MCU), can also be a programmable logic device (programmable logic device, PLD) or other integrated chips.
  • SoC system on chip
  • DSP digital signal processing circuit
  • MCU microcontroller
  • PLD programmable logic device
  • each step in the above method embodiments may be implemented by a hardware integrated logic circuit in a processor or an instruction in the form of software.
  • the method steps disclosed in conjunction with the embodiments of the present application may be directly embodied as being executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • Embodiments of the present application also provide a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the methods in the foregoing embodiments.
  • At least one item (piece) refers to one or more, and “multiple” refers to two or more.
  • At least one item(s) below” or similar expressions thereof refer to any combination of these items, including any combination of single item(s) or plural items(s).
  • at least one item (a) of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c may be single or multiple .
  • “A and/or B” is considered to include A alone, B alone, and A+B.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical module division.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be acquired according to actual needs to achieve the purpose of the solution in this embodiment.
  • each module unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit may be implemented in the form of hardware, or may be implemented in the form of software module units.
  • the integrated unit if implemented in the form of a software module unit and sold or used as a stand-alone product, may be stored in a computer-readable storage medium.
  • the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .
  • the functions described in the present invention may be implemented in hardware, software, firmware, or any combination thereof.
  • the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium.
  • Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
  • a storage medium can be any available medium that can be accessed by a general purpose or special purpose computer.

Landscapes

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

Abstract

本申请实施例公开了一种信息泛洪方法及设备,能够实现灵活的对该一个内部网关协议IGP实例的泛洪信息进行管理,适用于不同场景下的泛洪需求,提高泛洪效率,节约网络资源,提高泛洪信息的处理效率。所述方法包括:第一网络设备获取泛洪信息集合,所述泛洪信息集合包括多个泛洪实例中的每个泛洪实例分别对应的泛洪信息,所述多个泛洪实例属于一个IGP实例;所述第一网络设备发送多个报文,所述多个报文中的每个报文分别携带对应的泛洪实例标识和泛洪信息,所述泛洪实例标识用于标识所述泛洪实例。

Description

一种信息泛洪方法及设备
本申请要求于2021年1月26日提交国家知识产权局、申请号为202110102938.4、发明名称为“一种IGP信息发送的方法”的中国专利申请的优先权,并要求于2021年2月19日提交国家知识产权局、申请号为202110189742.3、发明名称为“一种信息泛洪方法及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,尤其涉及一种信息泛洪方法及设备。
背景技术
内部网关协议(Interior Gateway Protocols,IGP)是在自治系统(autonomous system,AS)内的网络设备之间泛洪信息所使用的协议。传统的信息泛洪方法将一个IGP路由协议实例(routing protocol instance)(以下简称IGP实例)的所有泛洪信息作为整体进行泛洪,这种泛洪方式较为僵化,影响泛洪效率。
发明内容
本申请实施例提供了一种信息泛洪方法及设备,用于提高泛洪效率。
第一方面,提供了一种信息泛洪方法,该方法可以应用于第一网络设备,具体包括如下步骤:第一网络设备获取泛洪信息集合。其中,所述泛洪信息集合包括多个泛洪实例中的每个泛洪实例分别对应的泛洪信息,所述多个泛洪实例属于一个IGP实例,该一个IGP实例例如可以是0号IGP实例。所述第一网络设备向一个或多个网络设备发送多个报文,其中,所述多个报文中的每个报文分别携带对应的泛洪实例标识和泛洪信息,所述泛洪实例标识用于标识所述泛洪实例。也就是说,第一网络设备将一个IGP实例划分为多个泛洪实例,通过多个报文发送该多个泛洪实例对应的泛洪信息,相对于传统的将一个IGP实例的泛洪信息作为整体发送的技术方案,本申请实施例能够灵活的对该一个IGP实例的泛洪信息进行管理,适用于不同场景下的泛洪需求,提高泛洪效率,节约网络资源,提高泛洪信息的处理效率。
在本申请实施例中,多个报文中携带的泛洪信息可以包括路由信息和非路由信息。下面分别进行介绍:
作为一种可能的设计,所述多个泛洪实例包括第一泛洪实例,所述第一泛洪实例的泛洪信息包括路由信息。其中,所述路由信息可以包括以下其中一种或多种:前缀、流量工程(Traffic Engineering,TE)信息、设备能力信息和链路信息等。
相应的,所述第一网络设备发送多个报文包括:所述第一网络设备向第二网络设备发送第一报文,所述第一报文包括所述第一泛洪实例标识和所述路由信息,所述第二网络设备为所述第一网络设备的任意一个邻居网络设备。也就是说,第一网络设备可以向其邻居设备泛洪路由信息和对应的泛洪实例标识,可选的,第一网络设备可以向所有邻居设备进 行泛洪。
作为一种可能的设计,所述多个泛洪实例包括第二泛洪实例,所述第二泛洪实例的泛洪信息包括非路由信息。其中,所述非路由信息包括以下一种或多种:应用程序信息、设备能力信息和切片信息等。
相应的,所述第一网络设备发送多个报文包括:所述第一网络设备向第二网络设备发送第二报文,所述第二报文包括所述第二泛洪实例标识和所述非路由信息。也就是说,第一网络设备可以泛洪非路由信息和对应的泛洪实例标识。可选的,所述第二网络设备为所述第一网络设备的最短路径树(Shortest Path Tree,SPT)中的下一跳网络设备,所述最短路径树为以所述第一网络设备为根节点到达网络拓扑中其他网络设备的最短路径。也就是说,对于非路由信息而言,第一网络设备可以根据最短路径树进行泛洪,以节约网络资源。
作为一种可能的设计,所述第一网络设备的最短路径树可以根据第一泛洪实例的泛洪信息生成,所述第一泛洪实例的泛洪信息包括路由信息。该第一泛洪实例的泛洪信息可以包括第一网络设备自己的路由信息,也可以包括来自其他网络设备的路由信息。第一泛洪实例的泛洪信息对应的泛洪实例和其他网络设备的泛洪信息对应的泛洪实例相同。
例如,所述第一网络设备接收来自第二网络设备的第三报文,所述第三报文包括所述第二网络设备的第一泛洪实例的泛洪信息,所述第二网络设备的第一泛洪实例的泛洪信息包括所述第二网络设备的路由信息。那么,所述第一网络设备可以根据所述第二网络设备的第一泛洪实例的泛洪信息生成所述最短路径树。
作为一种可能的设计,在所述第一网络设备向所述第二网络设备发送所述多个报文之前,所述第一网络设备可以向第二网络设备发送hello报文,所述hello报文用于建立所述第一网络设备与所述第二网络设备之间的邻居关系。基于该邻居关系,所述第一网络设备向所述第二网络设备发送所述多个报文。需要说明的是,第一网络设备可以与第二网络设备建立一个邻居关系,就可以实现向第二网络设备发送携带有不同的泛洪实例的泛洪信息的多个报文。
作为一种可能的设计,多个泛洪实例的每个泛洪实例具有对应的泛洪参数,所述泛洪参数用于发送对应泛洪实例的报文。其中,所述泛洪参数包括以下其中一项或多项:最大生存时间、最大LSP生成间隔、最小LSP生成间隔、最小LSP发送间隔、CSNP发送间隔和PSNP发送间隔、重传间隔(retransmission interval)、刷新时间(refresh timer)等。即,一个IGP实例下的多个泛洪实例的泛洪信息可以按照不同的泛洪参数进行泛洪,实现资源的隔离。
作为一种可能的设计,所述多个泛洪实例的每个泛洪实例具有对应的优先级,所述优先级与所述泛洪参数对应。
作为一种可能的设计,第一网络设备可以通过不同的进程发送多个报文,即,一个IGP实例的多个泛洪实例的泛洪信息通过多个不同的进程进行发送,提高泛洪效率。
作为一种可能的设计,所述报文包括中间系统到中间系统(Intermediate System-to-Intermediate System,ISIS)报文或开放式最短路径优先(Open Shortest Path First,OSPF)报文。
所述ISIS报文包括以下其中一种或多种:链路状态协议数据单元(Link State Protocol Data Unit,LSP)报文、部分序列号数据包(Partial Sequence Number Packet,PSNP)和完全序列号数据包(Complete Sequence Number Packet,CSNP)。所述OSPF报文包括以下其中一种或多种:数据库描述(Database Description,DD)报文、链路状态请求(Link State Request,LSR)报文、链路状态更新(Link State Update,LSU)报文以及链路状态确认(Link State Acknowledgment,LSAck)报文。
其中,所述泛洪实例标识可以以类型长度值(type length value,TLV)字段的格式携带在ISIS报文或OSPF报文中。具体的,该TLV字段可以携带在所述ISIS报文的可变长字段(variable length fields);或,所述泛洪实例标识携带在所述OSPF报文的报文头或数据部分。作为一种可能的设计,所述泛洪实例标识携带在所述variable length fields的第一个TLV字段中,以实现尽快确认该报文对应的泛洪实例的目的,提高报文处理效率。
或者,所述泛洪实例标识携带在所述LSP的LSP标识(identifier,ID)ID字段中,作为一个新类型的LSP。
作为一种可能的设计,所述报文还可以包括指示信息,所述指示信用于指示所述报文包括所述泛洪实例标识。可选的,所述指示信息携带在所述ISIS报文的协议数据单元(protocol data unit,PDU)类型(type)字段中。也就是说,提供一种新类型的ISIS报文,该ISIS报文为携带有泛洪实例标识的ISIS报文。
作为一种可能的设计,所述多个报文中的第一报文还携带泛洪拓扑标识,所述泛洪拓扑标识用于标识泛洪所述第一报文中泛洪信息的网络拓扑,以便该多个报文能够在对应的网络拓扑中进行泛洪,实现按需泛洪,节约网络资源的目的。
第二方面,提供了一种信息泛洪方法,该方法可以应用于第二网络设备,具体的,所述方法包括:第二网络设备接收来自第一网络设备的多个报文,所述多个报文中的每个报文分别携带对应所述报文的泛洪实例标识和泛洪信息,所述多个报文对应的多个泛洪实例属于同一个IGP实例。该IGP实例例如可以为0号IGP实例。在接收到多个报文之后,所述第二网络设备分别存储所述泛洪实例标识对应的泛洪信息。通过将一个IGP实例划分为多个泛洪实例,由多个报文携带该多个泛洪实例对应的泛洪信息,相对于传统的将一个IGP实例的泛洪信息作为整体发送的技术方案,本申请实施例能够灵活的对该一个IGP实例的泛洪信息进行管理,适用于不同场景下的泛洪需求,提高泛洪效率,节约网络资源,提高泛洪信息的处理效率。
作为一种可能的设计,所述第二网络设备分别存储所述泛洪实例标识对应的泛洪信息包括:所述第二网络设备根据所述泛洪信息更新与所述泛洪实例标识对应的链路状态数据库(Link State Data Base,LSDB)。可选的,不同的泛洪实例标识对应不同的进程,第二网络设备可以通过多个不同的进程实现对多个报文的接收以及更新,提高报文处理效率。
具体的,所述第二网络设备利用与所述泛洪实例标识对应的更新进程,将所述泛洪信息更新至与所述更新进程对应的链路状态数据库。
如前文所提,多个报文中携带的泛洪信息可以包括路由信息和非路由信息。下面分别对两种类型的报文进行介绍:
作为一种可能的设计,所述多个报文包括第一报文,所述第一报文包括所述第一泛洪实例标识和第一泛洪信息,所述第一泛洪信息包括路由信息。路由信息的类型参见上文,此处不再赘述。
所述方法还包括:所述第二网络设备向第三网络设备发送第一报文,所述第三网络设备为所述第二网络设备的除所述第一网络设备以外的任意一个邻居网络设备。也就是说,第二网络设备可以向除第一网络设备以外的所有邻居设备泛洪路由信息。
作为一种可能的设计,所述多个报文包括第二报文,所述第二报文包括第二泛洪实例标识和第二泛洪信息,所述第二泛洪信息包括非路由信息。非路由信息的类型参见上文,此处不再赘述。
所述方法还包括:所述第二网络设备向第三网络设备发送第二报文。作为一种可能的设计,所述第三网络设备为所述第二网络设备的最短路径树中的下一跳网络设备,所述最短路径树为以所述第二网络设备为根节点到达网络拓扑中其他网络设备的最短路径。也就是说,对于非路由信息而言,第二网络设备可以根据最短路径树进行泛洪,以节约网络资源。
可选的,所述第二网络设备的最短路径树根据与第一泛洪实例标识对应的泛洪信息生成,所述与第一泛洪实例标识对应的泛洪信息包括路由信息。该第一泛洪实例的泛洪信息可以包括第二网络设备自己的路由信息,也可以包括来自其他网络设备的路由信息,其中包括第三网络设备的路由信息。第一泛洪实例可以为携带路由信息的泛洪实例。
作为一种可能的设计,所述多个报文包括第一报文,所述第一报文携带对应泛洪实例的泛洪拓扑标识,所述泛洪拓扑标识用于标识泛洪所述第一报文中泛洪信息的网络拓扑。所述方法还包括:所述第二网络设备根据所述泛洪拓扑标识确定下一跳网络设备,并且向所述下一跳网络设备发送所述第一报文,实现按需泛洪,节约网络资源的目的。
作为一种可能的设计,所述第二网络设备接收来自第一网络设备的多个报文包括:所述第二网络设备接收来自所述第一网络设备的Hello报文,根据所述Hello报文建立与所述第一网络设备之间的邻居关系;所述第二网络设备基于所述邻居关系接收来自所述第一网络设备的多个报文。需要说明的是,第一网络设备可以与第二网络设备建立一个邻居关系,就可以实现向第二网络设备发送携带有不同的泛洪实例的泛洪信息的多个报文。
第三方面,提供了一种方法,该方法应用于第一网络设备,该第一网络设备基于同一个IGP实例创建不同的泛洪实例,所述第一网络设备通过不同的泛洪实例发送不同的泛洪信息。该泛洪信息参见前述实施例。
第四方面,提供了一种网络设备,用于包括多个网络设备的网络系统,所述多个网络设备包括第一网络设备,所述网络设备为所述第一网络设备,所述网络设备包括:处理单元,用于获取泛洪信息集合,所述泛洪信息集合包括多个泛洪实例中的每个泛洪实例分别对应的泛洪信息,所述多个泛洪实例属于一个内部网关协议IGP实例;发送单元,用于发送多个报文,所述多个报文中的每个报文分别携带对应的泛洪实例标识和泛洪信息,所述泛洪实例标识用于标识所述泛洪实例。
作为一种可能的设计,所述多个泛洪实例包括第一泛洪实例,所述第一泛洪实例的泛 洪信息包括路由信息;所述发送单元,用于向第二网络设备发送第一报文,所述第一报文包括所述第一泛洪实例标识和所述路由信息,所述第二网络设备为所述第一网络设备的任意一个邻居网络设备。
作为一种可能的设计,所述多个泛洪实例包括第二泛洪实例,所述第二泛洪实例的泛洪信息包括非路由信息;所述发送单元,用于向第二网络设备发送第二报文,所述第二报文包括所述第二泛洪实例标识和所述非路由信息。
作为一种可能的设计,所述第二网络设备为所述第一网络设备的最短路径树中的下一跳网络设备,所述最短路径树为以所述第一网络设备为根节点到达网络拓扑中其他网络设备的最短路径。
作为一种可能的设计,所述第一网络设备的最短路径树根据第一泛洪实例的泛洪信息生成,所述第一泛洪实例的泛洪信息包括路由信息。
作为一种可能的设计,所述网络设备还包括:接收单元,用于接收来自第二网络设备的第三报文,所述第三报文包括所述第二网络设备的第一泛洪实例的泛洪信息,所述第二网络设备的第一泛洪实例的泛洪信息包括所述第二网络设备的路由信息;所述处理单元,还用于根据所述第二网络设备的第一泛洪实例的泛洪信息生成所述最短路径树。
作为一种可能的设计,所述发送单元,用于向第二网络设备发送hello报文,所述hello报文用于建立所述第一网络设备与所述第二网络设备之间的邻居关系;所述发送单元,用于向所述第二网络设备发送所述多个报文。
作为一种可能的设计,多个泛洪实例的每个泛洪实例具有对应的泛洪参数,所述泛洪参数用于发送对应泛洪实例的报文。
作为一种可能的设计,所述多个泛洪实例的每个泛洪实例具有对应的优先级,所述优先级与所述泛洪参数对应。
作为一种可能的设计,所述报文包括中间系统到中间系统ISIS报文或开放式最短路径优先OSPF报文。
作为一种可能的设计,所述多个报文中的第一报文还携带泛洪拓扑标识,所述泛洪拓扑标识用于标识泛洪所述第一报文中泛洪信息的网络拓扑。
第五方面,提供了一种网络设备,用于包括多个设备的网络系统,所述多个网络设备包括第一网络设备和第二网络设备,所述网络设备为所述第二网络设备,所述网络设备包括:接收单元,用于接收来自第一网络设备的多个报文,所述多个报文中的每个报文分别携带对应所述报文的泛洪实例标识和泛洪信息,所述多个报文对应的多个泛洪实例属于同一个内部网关协议IGP实例;存储单元,用于分别存储所述泛洪实例标识对应的泛洪信息。
作为一种可能的设计,所述存储单元,用于根据所述泛洪信息更新与所述泛洪实例标识对应的链路状态数据库。
作为一种可能的设计,所述存储单元,用于利用与所述泛洪实例标识对应的更新进程,将所述泛洪信息更新至与所述更新进程对应的链路状态数据库。
作为一种可能的设计,所述多个报文包括第一报文,所述第一报文包括所述第一泛洪实例标识和第一泛洪信息,所述第一泛洪信息包括路由信息;
所述网络设备还包括:发送单元,用于向第三网络设备发送第一报文,所述第三网络设备为所述第二网络设备的除所述第一网络设备以外的任意一个邻居网络设备。
作为一种可能的设计,所述多个报文包括第二报文,所述第二报文包括第二泛洪实例标识和第二泛洪信息,所述第二泛洪信息包括非路由信息;
所述网络设备还包括:发送单元,用于向第三网络设备发送第二报文。
作为一种可能的设计,所述第三网络设备为所述第二网络设备的最短路径树中的下一跳网络设备,所述最短路径树为以所述第二网络设备为根节点到达网络拓扑中其他网络设备的最短路径。
作为一种可能的设计,所述多个报文包括第一报文,所述第一报文携带对应泛洪实例的泛洪拓扑标识,所述泛洪拓扑标识用于标识泛洪所述第一报文中泛洪信息的网络拓扑;
所述处理单元,还用于根据所述泛洪拓扑标识确定下一跳网络设备;
所述网络设备还包括:发送单元,用于向所述下一跳网络设备发送所述第一报文。
作为一种可能的设计,所述接收单元,还用于接收来自所述第一网络设备的Hello报文,根据所述Hello报文建立与所述第一网络设备之间的邻居关系;
所述接收单元,用于基于所述邻居关系接收来自所述第一网络设备的多个报文。
作为一种可能的设计,所述报文包括中间系统到中间系统ISIS报文或开放式最短路径优先OSPF报文。
第六方面,提供了一种设备,应用于包括多个网络设备的网络系统,多个网络设备包括第一网络设备和第二网络设备,该网络设备为第一网络设备,该第一网络设备包括:处理器和网络接口。网络接口用于报文的接收和发送。处理器用于执行前述第一方面或第一方面的任意一种可能的设计中的方法,或者执行前述第三方面或第三方面的任意一种可能的设计中的方法。
在一种可能的设计中,该第一网络设备还包括存储器,存储器可以用于存储指令或程序代码。处理器用于调用存储器中的指令或程序代码执行前述第一方面或第一方面的任意一种可能的设计中的方法,或者执行前述第三方面或第三方面的任意一种可能的设计中的方法。
第七方面,提供了一种网络设备,应用于包括多个网络设备的网络系统,多个网络设备包括第一网络设备和第二网络设备,该网络设备为第二网络设备,该第二网络设备包括:处理器和网络接口。网络接口用于报文的接收和发送。处理器用于执行前述第二方面或第二方面的任意一种可能的设计中的方法。
在一种可能的设计中,该第二网络设备还包括存储器,存储器可以用于存储指令或程序代码。处理器用于调用存储器中的指令或程序代码执行前述第二方面或第二方面的任意一种可能的设计中的方法。
第八方面,提供了一种网络系统,所述网络系统包括如第四方面所述的第一网络设备和如第五方面所述的第二网络设备,或,包括如第六方面所述的第一网络设备或如第七方面所述的第二网络设备。
第九方面,提供了一种计算机可读存储介质,包括指令、程序或代码,当其在计算机 上执行时,使得所述计算机执行如前述第一方面或第二方面或第三方面的任意一种可能的实现方式之一所述的方法。
第十方面,提供了一种包括计算机指令的计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行第一方面或第二方面或第三方面的任意一种可能的实现方式之一提供的方法。
第十一方面,提供了一种芯片,包括存储器和处理器。存储器用于存储指令或程序代码。处理器用于从存储器中调用并运行该指令或程序代码,以执行上述第一方面或第一方面的任意一种可能的设计中的方法;或,处理器执行第二方面或第二方面任意一种可能的设计中的方法;或,处理器执行第三方面的方法。
第十二方面,提供了一种芯片,上述芯片包括处理器,但不包括存储器,处理器用于读取并执行所述芯片外的存储器中存储的指令或程序代码,当指令或程序代码被执行时,处理器执行第一方面或第一方面的任意一种可能的设计中的方法;或,处理器执行第二方面或第二方面任意一种可能的设计中的方法;或,处理器执行第三方面的方法。
附图说明
图1为本申请实施例提供的ISIS网络架构示意图;
图2为本申请实施例提供的OSPF网络架构示意图;
图3为本申请实施例提供的信息泛洪方法的流程图;
图4为本申请实施例提供的携带泛洪实例标识的TLV的格式示意图;
图5为本申请实施例提供的LSP的格式示意图;
图6为本申请实施例提供的PSNP的格式示意图;
图7为本申请实施例提供的CSNP的格式示意图;
图8为本申请实施例提供的包括MFI-ID字段的LSP的格式示意图;
图9为本申请实施例提供的包括MFI-ID字段的PSNP的格式示意图;
图10为本申请实施例提供的包括MFI-ID字段的CSNP的格式示意图;
图11为本申请实施例提供的DD报文的报文头的格式示意图;
图12为本申请实施例提供的LSR报文的报文头的格式示意图;
图13为本申请实施例提供的LSU报文的报文头的格式示意图;
图14为本申请实施例提供的LSAck报文的报文头的格式示意图;
图15为本申请实施例提供的一种网络架构的示意图;
图16为本申请实施例提供的最短路径树的示意图;
图17为本申请实施例提供的一种第一设备的结构示意图;
图18为本申请实施例提供的一种第二设备的结构示意图;
图19为本申请实施例提供的一种网络系统的结构示意图;
图20是本申请实施例提供的一种设备的结构示意图;
图21是本申请实施例提供的一种设备的结构示意图。
具体实施方式
本申请实施例提供了一种信息泛洪方法及设备,用于解决传统的将一个IGP实例的所有泛洪信息作为整体泛洪导致的泛洪效率较低的问题。
本申请实施例提供的信息泛洪方法可以应用于ISIS网络架构,也可以应用于开放式最短路径优先OSPF网络架构中。
ISIS最初是国际标准化组织(the International Organization for Standardization,ISO)为它的无连接网络协议(ConnectionLess Network Protocol,CLNP)设计的一种动态路由协议。IS-IS用于自治系统内部,且是一种链路状态协议,使用最短路径优先(Shortest Path First,SPF)算法进行路由计算。
参见图1,该图为ISIS网络架构示意图,该网络架构包括网络设备101、网络设备102、网络设备103、网络设备104和网络设备105。其中,网络设备101和网络设备105属于非骨干区域,且网络设备101属于非骨干区域的区域(area)1,网络设备105属于非骨干区域的区域2。网络设备102、网络设备103和网络设备104属于骨干(backbone)区域,且网络设备102和网络设备104为骨干区域的边缘网络设备。在本申请实施例中,非骨干区域的网络设备称为Level 1(简称L1)设备,骨干区域的非边缘网络设备称为Level 2(L2)设备,骨干区域的边缘网络设备称为level 1-2(简称L12)设备。
本申请实施例提供的信息泛洪方法可以由第一网络设备执行,该第一网络设备可以是图1中的网络设备101、网络设备102、网络设备103、网络设备104和网络设备105中的任意一个。
OSPF是一种基于IP协议的路由协议,用于在单一AS内决策路由,是对链路状态路由协议的一种实现。OSPF支持负载均衡和基于服务类型的选路,也支持多种路由形式,如特定主机路由和子网路由等。
参见图2,该图为OSPF网络架构示意图,该网络架构包括网络设备201、网络设备202、网络设备203、网络设备204和网络设备205。其中,网络设备203为骨干区域(Area 0)的网络设备,网络设备201和网络设备205为非骨干区域的网络设备,其中,网络设备201属于区域1,网络设备205属于区域2。网络设备202和网络设备204为边界网络设备,既属于骨干区域,由属于非骨干区域。
本申请实施例提供的信息泛洪方法可以由第一网络设备执行,该第一网络设备可以是图2中的网络设备201、网络设备202、网络设备203、网络设备204和网络设备205中的任意一个。
此外,图1中的网络设备101、网络设备102、网络设备103、网络设备104和网络设备105,以及图2中的网络设备201、网络设备202、网络设备203、网络设备204和网络设备205例如可以是路由器(router)、交换机(switch)等支持路由功能的实体设备,也可以是部署虚拟路由器或虚拟交换机的服务器。
参见图3,该图为本申请实施例提供的信息泛洪方法的流程图,该方法包括如下步骤:
S101:第一网络设备获取IGP实例的泛洪信息集合。
本申请实施例根据一个IGP实例创建多个泛洪实例(flooding instances),即,多个泛洪实例属于一个Level或area。该IGP实例例如可以为0号IGP实例。其中,多个泛洪实例中的每个泛洪实例分别具有对应的泛洪信息,多个泛洪实例的泛洪信息形成泛洪信息集合。
按照泛洪信息的类型,多个泛洪实例对应的泛洪信息可以包括路由信息和非路由信息。
路由信息例如包括前缀、流量工程(Traffic Engineering,TE)信息、设备能力信息、链路信息等其中一种或多种。其中,设备能力信息包括处理段路由(segment routing,SR)信息的能力等。链路信息包括链路开销、带宽等。
非路由信息可以包括应用程序的信息、设备支持某些应用的能力信息和切片信息等其中一种或多种。其中,应用程序的信息可以包括应用程序的标识、用户名、密码等信息。设备能力信息包括网络设备能够处理随流信息遥测(In-situ Flow Information Telemetry,IFIT)报文的能力、中央处理器(Central Processing Unit,CPU)处理能力、存储能力等。切片信息为网络设备传输报文所使用的网络切片(network slice)的信息,例如切片标识、切片对应的资源需求信息等。不同的切片对应不同的网络资源需求,例如高带宽、高可靠性、低时延等。
在本申请实施例中,不同的泛洪实例对应不同的泛洪信息。泛洪实例与泛洪信息之间的对应关系具体可以表现为泛洪实例标识与泛洪信息之间的对应关系。其中,泛洪实例标识用于标识泛洪实例。在本申请实施例中,泛洪实例标识还可以称为多泛洪实例标识(multiple flooding instance Identifier,MFI-ID)或特定泛洪实例标识(instance-specific flooding identifiers,IFID)。
例如,多个泛洪实例包括泛洪实例0、泛洪实例1和泛洪实例2。其中,泛洪实例0的标识为MFI-ID 0,泛洪实例1的标识为MFI-ID 1,泛洪实例2的标识为MFI-ID 2。泛洪实例0对应的泛洪信息可以为上述路由信息,泛洪实例1和泛洪实例2对应的泛洪信息可以为上述非路由信息。
在本申请实施例中,不同的泛洪实例可以具有不同的泛洪参数,该泛洪参数例如可以包括最大生存时间(maximum age,MaxAge)、最大LSP生成间隔(maximum LSP Generation Interval)、最小LSP生成间隔(minimum LSP Generation Interval)、最小LSP发送间隔(minimum LSP Transmission Interval)、CSNP发送间隔(Complete SNP Interval)、PSNP发送间隔(partial SNP Interval)、重传间隔(retransmission interval)、刷新时间(refresh timer)等其中的一种或多种。其中,最大生存时间是指在LSP被认为过期之前可以经过的最大时间量。最大LSP生成间隔是指相邻两个LSP生成间的最大时间间隔。最小LSP生成间隔是指相邻两个LSP生成间的最小时间间隔。最小LSP发送间隔是指相邻两个LSP生成间的最小时间间隔。CSNP发送间隔是指设备在广播链路上周期性发送CSNP报文之间的时间。PSNP发送间隔是指设备在广播链路上周期性发送PSNP报文之间的时间。
在本申请实施例中,多个泛洪实例的泛洪信息可以通过多个报文发送。这些报文可以是报文ISIS报文或OSPF报文等。
其中,ISIS报文包括链路状态协议数据单元(Link State Protocol Data Unit,LSP)报文、 部分序列号数据包(Partial Sequence Number Packet,PSNP)和完全序列号数据包(Complete Sequence Number Packet,CSNP)。其中,LSP报文包括网络设备的直连链路的链路状态信息,例如邻居网络设备的标识、链路类型、链路带宽等;PSNP包括网络设备的链路状态数据库(Link State Data Base,LSDB)中部分LSP的摘要信息,用于同步与携带的泛洪实例标识对应的LSDB;CSNP包括网络设备的LSDB中所有LSP的摘要信息,用于同步与携带的泛洪实例标识对应的LSDB。其中,LSP报文可以在网络设备之间的邻居关系建立或断开(down)、网络设备的接口有效(up)或故障(down)、引入的IP路由发生变化、区域间的IP路由发生变化、接口被赋予了新的度量(metric)值等情况下生成并发送,也可以是周期性的发送。
若第一网络设备为L1设备,那么上述ISIS报文的报文类型为L1 ISIS报文;若第一网络设备为L2设备,那么上述ISIS报文的报文类型为L2 ISIS报文。例如,L1设备发送的LSP报文为L1 LSP报文,L2设备发送的LSP报文为L2 LSP报文。
OSPF报文包括数据库描述(Database Description,DD)报文、链路状态请求(Link State Request,LSR)报文、链路状态更新(Link State Update,LSU)报文和链路状态确认(Link State Acknowledgment,LSAck)报文。其中。DD报文用于发送链路状态数据库摘要,LSR报文用于请求特定的链路状态信息,LSU报文用于发送链路状态信息,LSAck报文用于确认接收到报文。
若第一网络设备位于骨干网区域(area 0),那么上述OSPF报文的报文类型为骨干网OSPF报文;若第一网络设备位于非骨干网区域(例如area 1或area 2),那么上述OSPF报文的报文类型为非骨干网OSPF报文。
在本申请实施例中,携带有不同多泛洪实例的同一种类的报文的泛洪参数可以不同。例如,携带有MFI-ID 0的DD报文的重传间隔为5秒(S),携带有MFI-ID 1的DD报文的重传间隔为10秒。携带有相同泛洪实例标识的同一种类报文对应的泛洪参数相同,携带有相同的泛洪实例标识的不同种类的报文对应的泛洪参数可以不同。例如,携带有MFI-ID 0的PSNP发送间隔为2S,携带有MFI-ID 1的PSNP发送间隔为20S。
此外,不同的泛洪实例可以具有不同的优先级,不同的优先级对应不同的泛洪参数。
参见表1,该表以ISIS报文为例示出了泛洪实例标识与泛洪信息、泛洪参数以及优先级之间的对应关系的示例。
表1
Figure PCTCN2021112683-appb-000001
Figure PCTCN2021112683-appb-000002
S102:第一网络设备发送多个报文。
在本申请实施例中,第一网络设备通过向其他网络设备发送多个报文来泛洪多个泛洪实例的泛洪信息。其中,多个报文中的每个报文分别包括泛洪实例标识和对应的泛洪信息。在本申请实施例中,泛洪信息可以携带在报文的数据内容部分。泛洪实例标识携带在报文中的形式可以有多种实现方式。并且,对于不同种类的报文,泛洪实例标识携带在报文中的位置也不同。
作为其中一种可能的实现方式,参见图4,泛洪实例标识以TLV的格式携带在报文中。其中,TLV包括类型(type,T)字段、长度(length,L)字段和值(value,V)字段。T字段的值用于指示该TLV是携带泛洪实例标识的TLV,L字段的值为TLV的长度,这两个字段可以分别占用1个八位位组(octets)。V字段的值包括泛洪实例标识,例如,V字段包括MFI-ID字段,该泛洪实例标识可以占2个八位位组(octets)。
当报文为ISIS报文时,该携带泛洪实例标识的TLV可以携带在ISIS报文的可变长字段(variable length fields)中,具体可以为该variable length fields的第一个TLV。该variable length fields后续的TLV可以包括与第一个TLV中泛洪实例标识对应的泛洪信息。
参见图5,该图为LSP的格式示意图。在该图中,LSP包括如下字段:域内路由协议鉴别符(Intradomain Routing Protocol Discriminator)、长度标识符(Length Indicator)、版本/协议ID扩展(Version/Protocol ID Extension)、ID长度(ID Length)、PDU类型(PDU Type)、版本(Version)、保留位(Reserved,R)、最多区域地址(Maximum Area Addresses)、PDU长度(PDU Length)、剩余时间(Remaining Lifetime)、LSP标识(LSP ID)、序列号(Sequence Number)、校验和(Checksum)、分区(Partition,P)、区域关联(Attached,ATT)、LSDB过载(Overload,OL)、中间系统类型(IS Type)以及variable length fields。各字段占用的字节数请参见图4,此处不再赘述。携带泛洪实例标识的TLV可以携带在图1中LSP的variable length fields字段中。
参见图6,该图为PSNP的格式示意图。在该图中,PSNP包括如下字段:Intradomain Routing Protocol Discriminator、Length Indicator、Version/Protocol ID Extension、ID Length、PDU Type、R、Version、Reserved、Maximum Area Addresses、PDU Length、源ID(Source ID)以及variable length fields。各字段占用的字节数请参见图5,此处不再赘述。携带泛洪实例标识的TLV可以携带在图5中PSNP的variable length fields字段中。
参见图7,该图为CSNP的格式示意图。在该图中,CSNP包括如下字段:Intradomain Routing Protocol Discriminator、Length Indicator、Version/Protocol ID Extension、ID Length、PDU Type、R、Version、Reserved、Maximum Area Addresses、PDU Length、Source ID、起始LSP ID(Start LSP ID)、结束LSP ID(End LSP ID)以及variable length fields。各字段占用的字节数请参见图6,此处不再赘述。携带泛洪实例标识的TLV可以携带在图6中CSNP的variable length fields字段中。
当报文为OSPF报文时,该携带泛洪实例标识的TLV可以携带在OSPF报文的数据部分。该数据内容部分除了包括泛洪实例标识以外,还可以包括与泛洪实例标识对应的泛洪信息。
作为另外一种可能的实现方式,报文中可以增加一个其值包括泛洪实例标识的字段,该字段可以例如称为MFI-ID字段。下面针对ISIS报文和OSPF报文两种情况分别进行介绍。
对于ISIS报文而言,可以新定义一种报文类型,该报文类型为报文中携带包括MFI-ID字段的报文。即,ISIS报文中可以携带有指示信息,该指示信息用于指示该ISIS报文中携带有泛洪实例标识。其中,该指示信息可以携带在ISIS报文的PDU类型字段中。不同的ISIS报文携带泛洪实例标识的MFI-ID字段的具体位置不同。
例如,参见图8,MFI-ID字段可以位于LSP的LSP ID字段中。原有的LSP ID字段包括Source ID字段、伪节点ID(Pseudonode ID)和LSP分片号(LSP Number)。改进后的LSP ID字段新增MFI-ID字段,该新增的MFI-ID字段可以占用1个字节,其中携带泛洪实例标识。包括改进之后的LSP ID字段的LSP也为一个新的LSP,该新的LSP中包括的PDU类型字段的值可以包括指示信息,该指示信息用于指示该LSP报文为携带有MFI-ID字段的LSP报文。本申请实施例不对PDU类型字段的值进行限定,本领域技术人员可以自行设计,例如该值为TBA1。
参见图9,MFI-ID字段可以位于PSNP的Source ID字段之后,当然还可以位于PSNP的其他地方,本申请实施例不做具体限定。携带MFI-ID字段的新的PSNP报文的PDU类型字段的值包括指示信息,指示该PSNP报文为携带有MFI-ID字段的PSNP报文。本申请实施例不对PDU类型字段的值进行限定,本领域技术人员可以自行设计,例如该值为TBA2。
参见图10,MFI-ID字段可以位于CSNP的End LSP ID字段之后,用于表示从Start LSP ID至End LSP ID范围内的所有LSP均属于该MFI-ID对应的泛洪实例。当然,该MFI-ID字段还可以位于CSNP的其他地方,本申请实施例不做具体限定。携带MFI-ID字段的新的PSNP报文的PDU类型字段的值包括指示信息,指示该PSNP报文为携带有MFI-ID字段的PSNP报文。本申请实施例不对PDU类型字段的值进行限定,本领域技术人员可以自行设计,例如该值为TBA3。
对于OSPF报文而言,可以在OSPF的报文头中增加携带泛洪实例标识的MFI-ID字段,形成新的OSPF报文。
例如,参见图11,该图为DD报文的报文头的格式示意图。该DD报文的报文头包括 如下字段:数据包长度(Packet Length)、路由器标识(Router ID)、区域标识(Area ID)、校验和(checksum)、实例标识(instance ID)、可选项(options)、接口最大传输单元(Interface Maximum Transmission Unit,Interface MTU)、DD序列号(sequence number)以及LSA头(LSA Header)。除了上述字段以外,DD报文的报文头还包括MFI-ID字段,该字段携带泛洪实例标识。
参见图12,该图为LSR报文的报文头的格式示意图。该LSR报文的报文头包括如下字段:Packet Length、Router ID、Area ID、checksum、instance ID、链路状态通告(Link-State Advertisement,LSA)类型(LS type)、链路状态标识(Link State ID)和通告路由器(Advertisement Router)。除了上述字段以外,LSR报文的报文头还包括MFI-ID字段,该字段携带泛洪实例标识。
参见图13,该图为LSU报文的报文头的格式示意图。该LSU报文的报文头包括如下字段:Packet Length、Router ID、Area ID、checksum、instance ID、#LSAs和LSAs。除了上述字段以外,LSU报文的报文头还包括MFI-ID字段,该字段携带泛洪实例标识。
参见图14,该图为LSAck报文的报文头的格式示意图。该LSAck报文的报文头包括如下字段:Packet Length、Router ID、Area ID、checksum、instance ID以及LSA Header。除了上述字段以外,LSAck报文的报文头还包括MFI-ID字段,该字段携带泛洪实例标识。
除了上述可能的实现方式以外,泛洪实例标识可以携带在ISIS报文或OSPF报文中的其他位置,或者可以携带在除ISIS报文或OSPF报文的其他报文中,本申请实施例不做具体限定。
S103:第二网络设备接收来自第一网络设备的一个或多个报文。所述多个报文中的每个报文分别携带对应所述报文的泛洪实例标识和泛洪信息。
在得到多个报文之后,第一网络设备可以向外发送多个报文。在本申请实施例,第一网络设备可以向同一个网络设备发送多个报文,也可以向不同的网络设备发送。第二网络设备作为多个报文的其中一个接收者,接收来自第一网络设备发送的上述多个报文中的一个或多个报文。当第二网络设备接收的是多个报文(第一网络设备发送的全部或部分报文)时,那么这些报文中携带的泛洪实例标识对应的泛洪实例属于相同的IGP实例。
第一网络设备在向第二网络设备发送报文之前,可以先通过向第二网络设备发送Hello报文建立与第二网络设备之间的邻居关系。在建立邻居关系之后,第一网络设备可以基于该邻居关系向第二网络设备发送该一个或多个报文。由于多个报文携带的泛洪信息均属于一个IGP实例,所以只与第二网络设备建立一个邻居关系即可。
如前文所提,第一网络设备发送的报文可以是ISIS报文,也可以是OSPF报文。不同种类的报文需要建立邻居关系的方式也不同。
例如,对于ISIS报文而言,网络设备之间通过发送ISIS Hello(ISIS Hello,IIH)报文建立和维持邻居关系。目前ISIS支持点到点型网络和广播型网络。
对于点到点型网络而言,以第一网络设备和第二网络设备之间建立邻居关系为例,第一网络设备可以向第二网络设备发送IIH报文,第二网络设备在接收到IIH报文之后,验证该IIH报文的合法性,若验证通过,则意味着建立了二者之间的邻居关系,在实现层面 上,第二网络设备可以将与第一网络设备之间的邻居状态置为在线(up)。本申请实施例不对第二网络设备如何验证IIH报文的合法性进行限定,本领域技术人员可以根据实际情况自行设计。例如,第二网络设备可以判断IIH报文中携带的第一网络设备的互联网协议(Internet Protocol,IP)地址是否与第二网络设备的IP地址在同一个网段中,如果是,则认为该IIH报文是合法的;如果否,则认为IIH报文不合法,第一网络设备与第二网络设备之间的邻居关系建立失败。
对于广播型网络而言,以第一网络设备和第二网络设备之间建立邻居关系为例,第一网络设备和第二网络设备可以分别向对方发送IIH报文1,该IIH报文1的目的地址为空。当第一网络设备接收到第二网络设备发送的IIH报文1之后,向第二网络设备发送IIH报文2,该IIH报文2中携带的目的地址为第二网络设备的IP地址。当第二网络设备接收到来自第一网络设备第二IIH报文之后,可以将与第二网络设备之间的邻居状态置为up。
S104:第二网络设备分别存储所述泛洪实例标识对应的泛洪信息。
当第二网络设备接收到来自第一网络设备的报文之后,可以对报文中携带的泛洪实例标识和对应的泛洪信息进行存储。
具体的,第二网络设备中可以存储一个或多个LSDB,LSDB用于存储泛洪信息。当第二网络设备接收到来自第一网络设备的报文之后,可以根据报文中携带的泛洪实例标识查找对应的LSDB(如果第二网络设备存储一个LSDB,那么可以根据泛洪实例标识查找对应的子LSDB),如果能够查到,则用报文中的泛洪信息更新该LSDB;如果查不到,则建立新的LSDB,将报文中的泛洪信息存储在该LSDB中,并存储该LSDB与泛洪实例标识之间的对应关系。
例如,第二网络设备存储LSDB0、LSDB1和LSDB2,其中LSDB0用于存储与MTI-ID 0对应的泛洪信息,LSDB1用于存储与MTI-ID 1对应的泛洪信息,LSDB2用于存储与MTI-ID 2对应的泛洪信息。
此外,为了在LSDB中区分泛洪信息来自的网络设备,报文中还可以携带网络设备的标识,例如路由器标识(router identifier,router ID)。路由器标识可以被配置为环回(loopback)接口的IP地址。当第二网络设备接收到报文之后,存储网络设备的标识、泛洪实例标识和泛洪信息之间的对应关系。
在本申请实施例中,第一网络设备将一个IGP实例划分为多个泛洪实例,通过多个报文发送该多个泛洪实例对应的泛洪信息,相对于传统的将一个IGP实例的泛洪信息作为整体发送的技术方案,本申请实施例能够灵活的对该一个IGP实例的泛洪信息进行管理,适用于不同场景下的泛洪需求,提高泛洪效率,节约网络资源,提高泛洪信息的处理效率。
例如,一个IGP实例下的多个泛洪实例的泛洪信息可以通过不同的报文发送给不同的网络设备,实现按需发送的目的,节约网络资源(下文详细介绍)。
再例如,一个IGP实例下的多个泛洪实例的泛洪信息可以按照不同的泛洪参数进行泛洪,实现资源的隔离。比如说,对于LSDB更新频率要求较低的泛洪实例的泛洪信息,发送间隔可以较大;对于LSDB更新频率要求较高的泛洪实例的泛洪信息,发送间隔可以较小。等等。
再例如,一个IGP实例的多个泛洪实例的泛洪信息可以通过多个不同的进程进行发送、接收或更新,每个进程对应唯一的泛洪实例,增强资源隔离,实现并行处理的目的,提高泛洪效率和泛洪信息的处理效率。
此外,对于LSP报文而言,如前文所提,MFI-ID字段可以位于LSP ID字段中。原有的LSP ID字段包括LSP Number字段,该字段的取值范围为0-255,也就是说,传统的LSP最多支持256个不同类型的LSP。但是由于在LSP ID字段中增加了MFI-ID字段,意味着本申请实施例可以支持最多发送256*n个类型的LSP,以满足更多的应用需求。其中,n为MFI-ID字段可以取的值的个数,即该n为大于1的整数。也就是说,LSP ID字段的值和MFI-ID字段的值唯一标识一个LSP,网络设备可以根据LSP ID和MFI-ID来唯一确定一个进程。当然,在一些示例中,每个MFI-ID可以对应一个LSP ID,这样,网络设备就可以根据LSP ID来唯一确定一个进程。后者可以适用于不支持MFI-ID的网络设备。
也就是说,考虑到支持和不支持MFI设备共组网的场景,可以有如下两种模式:
模式一:针对于不支持或部分支持MFI设备的组网,一个IGP实例下的所有泛洪实例共享LSP Number空间,所有泛洪实例对应的LSP数量加起来不能超过256。
模式二:针对于支持MFI设备的组网,不同泛洪实例有独自的LSP Number空间,每个泛洪实例对应的LSP数量都可以达到256,使用LSP ID+MFI-ID唯一标识一个LSP。
在本申请实施例中,为了节约泛洪流量,降低由于泛洪消耗的网络资源,可以先全网泛洪网络设备的路由信息,然后网络设备计算以该网络设备为根节点的最短路径树(Shortest Path Tree,SPT),根据最短路径树泛洪其他泛洪信息。其中,最短路径树描述了从根节点到其他节点的最短路径。
以第一网络设备为例,第一网络设备可以向其邻居网络设备(例如第二网络设备)泛洪第一报文,第一报文包括第一泛洪实例标识和泛洪信息,与第一泛洪实例标识对应的泛洪信息包括路由信息。该路由信息可以是第一网络设备的路由信息,也可以是第一网络设备学习到的其他网络设备的路由信息。邻居网络设备(例如第二网络设备)接收到第一报文之后,也向其邻居网络设备泛洪该第一报文,从而实现全网泛洪第一报文的目的。网络架构中的其他网络设备也执行与第一网络设备类似的步骤,因而,第一网络设备可以获取到网络架构中其他网络设备的路由信息。
然后,第一网络设备可以根据获取到的路由信息计算以第一网络设备为根节点的最短路径树,并向最短路径树中的下一跳网络设备(例如第二网络设备)发送第二报文。该第二包括第二泛洪实例标识和泛洪信息,与第二泛洪实例标识对应的泛洪信息包括一种或多种非路由信息。该下一跳网络设备可以执行如第一网络设备的步骤,以此类推,从而实现在全网泛洪的基础上节约泛洪流量(flooding traffic)的目的。
下面结合图15进行说明。该图15为本申请实施例提供的一种网络架构的示意图。在图15中,网络架构包括网络设备301、网络设备302、网络设备303、网络设备304和网络设备305。其中,网络设备301分别与网络设备302和网络设备304连接,网络设备302分别与网络设备303和网络设备305连接,网络设备305分别与网络设备303和网络设备 304连接。
网络设备301向网络设备302和网络设备304分别发送报文1,该报文携带MTI-ID 0和网络设备301的路由信息,以便网络设备302和网络设备304将报文1泛洪到网络设备303和网络设备305。并且,网络设备301接收来自其他网络设备的携带有其路由信息的报文。其中,路由信息包括前缀和相邻的两个网络设备之间的链路开销(cost)值。
根据获取到的路由信息,网络设备301确定网络设备301和网络设备302之间的开销(cost)值为1,网络设备301和网络设备304之间的cost值为5,网络设备302和网络设备303之间的cost值为6,网络设备302和网络设备305之间的cost值为2,网络设备304和网络设备305之间的cost值为1,网络设备303和网络设备305之间的cost值为1。
然后,参见图16,网络设备301可以根据上述cost值得到以网络设备301为根节点的最短路径树,该最短路径树为网络设备301-网络设备302-网络设备305-网络设备303和网络设备304,也就是说,该最短路径树中根节点网络设备301的下一跳网络设备为网络设备302。
网络设备301可以基于该最短路径树向网络设备302发送报文2,该报文2携带MTI-ID1以及非路由信息(例如应用程序信息)。网络设备302在接收到报文2之后,可以基于以网络设备302为根节点的最短路径树向下一跳网络设备发送该报文2,从而实现全网泛洪且节约泛洪流量的目的。
如前文所提,一个IGP实例的泛洪信息可以不向所有的网络设备泛洪,而只需要向需要的网络设备泛洪即可,以节约网络资源。因而,为了实现该目标,网络架构中的各网络设备可以预先确定泛洪信息需要在哪个网络拓扑中泛洪,并在向外发送的报文中携带用于标识网络拓扑的泛洪拓扑标识,以使接收报文的网络设备能够根据该泛洪拓扑标识将报文发送到对应的网络设备。
以第一网络设备和第二网络为例,第一网络设备可以在向第二网络设备发送的报文中携带泛洪拓扑标识,第二网络设备在接收到该泛洪拓扑标识之后,查找与该泛洪拓扑标识对应的下一跳网络设备,该并向该下一跳网络设备发送该报文,从而实现在特定的网络拓扑中泛洪报文的目的。
以图15所示的网络架构为例,假设网络设备301发送的与MTI-ID 1对应的泛洪信息需要被网络设备302以及网络设备305接收,那么网络设备301可以获取报文1,该报文携带泛洪拓扑标识1、MTI-ID 1和泛洪信息。其中,泛洪拓扑标识1所对应的网络拓扑为网络设备301-网络设备302-网络设备305。网络设备301确认与该泛洪拓扑标识1对应的下一跳网络设备为网络设备302,那么网络设备301向网络设备302发送该报文1。网络设备302在接收到报文1之后,根据报文1中的泛洪拓扑标识1确认下一跳网络设备为网络设备305,因而,网络设备302可以向网络设备305发送该报文1。网络设备305在接收到报文1之后,确认没有存储泛洪拓扑标识1与下一跳网络设备之间的对应关系,或者查找到与泛洪拓扑标识1对应的下一跳网络设备为空(null),所以就不向其他设备继续泛洪该报文1。由此,可以实现报文1仅在网络设备301-网络设备302-网络设备305的网络拓扑 中泛洪,而不需要向网络设备303和网络设备304泛洪的目的,从而节约网络资源。
在本申请实施例中,泛洪拓扑标识在报文中携带的方式和泛洪实例标识在报文中携带的方式类似。例如,泛洪拓扑标识可以以TLV格式的形式携带在报文的已有字段中,或者在报文中新增一个字段,得到一个新的类型的报文。
当泛洪拓扑标识以TLV格式的形式携带在报文中时,可以和携带泛洪实例标识的TLV为一个TLV,即该TLV中的V字段既包括泛洪实例标识,也包括泛洪拓扑标识。或者,携带泛洪拓扑标识的TLV为与携带泛洪实例的标识的TLV不同的TLV。对于后者而言,若报文为ISIS报文,该携带泛洪拓扑标识的TLV字段可以位于ISIS报文的variable length fields;若报文为OSPF报文,则该携带泛洪拓扑标识的TLV字段可以位于OSPF报文的数据部分。
当泛洪拓扑标识以新增字段的方式带在新类型的报文中时,该新增字段可以例如称为特定泛洪实例拓扑标识(Instance-specific Flooding Topology Identifiers,IFTID)字段。该IFTID字段在ISIS报文和OSPF报文的位置与MTI-ID字段的位置类似,此处不再赘述。
此外,在本申请实施例中,同一个泛洪实例对应的LSDB根据不同的泛洪拓扑标识进行区分,也就是说,第二网络设备在对泛洪信息进行存储时,根据泛洪实例标识和泛洪拓扑标识确定对应的LSDB,并将泛洪信息存储在该LSDB中。
为了实现泛洪信息的处理效率,同一个泛洪实例对应于不同的泛洪拓扑可以采用不同的进程进行发送、接收和更新。例如,进程1用于更新泛洪实例1的泛洪拓扑1的泛洪信息,进程2用于更新泛洪实例1的泛洪拓扑2的泛洪信息,进程3用于更新泛洪实例0的泛洪拓扑3的泛洪信息。
图17示出了上述实施例中所涉及的第一网络设备的一种可能的结构示意图,该设备1700可以实现图3所示实例中第一网络设备的功能。参阅图17,该网络设备1700包括:处理单元1701和发送单元1702。这些单元可以执行上述方法示例中第一网络设备的相应功能。处理单元1701,用于支持设备1700执行图3中S101;发送单元1702,用于支持网络设备1700执行图3中的S102。举例来说,处理单元1701,用于获取泛洪信息集合,所述泛洪信息集合包括多个泛洪实例中的每个泛洪实例分别对应的泛洪信息,所述多个泛洪实例属于一个内部网关协议IGP实例;发送单元1702,用于发送多个报文,所述多个报文中的每个报文分别携带对应的泛洪实例标识和泛洪信息,所述泛洪实例标识用于标识所述泛洪实例。具体执行过程请参考上述图3所示实施例中相应步骤的详细描述,这里不再一一赘述。
图18示出了上述实施例中所涉及的第二网络设备的一种可能的结构示意图,该设备1800可以实现图3所示实例中第二网络设备的功能。参阅图18,该网络设备1800包括:接收单元1801和存储单元1802。这些单元可以执行上述方法示例中第二网络设备的相应功能。接收单元1801,用于支持设备1800执行图3中S103;存储单元1802,用于支持网络设备1800执行图3中的S104。举例来说,接收单元1801,用于接收来自第一网络设备的多个报文,所述多个报文中的每个报文分别携带对应所述报文的泛洪实例标识和泛洪信 息,所述多个报文对应的多个泛洪实例属于同一个内部网关协议IGP实例;存储单元1802,用于分别存储所述泛洪实例标识对应的泛洪信息。具体执行过程请参考上述图3所示实施例中相应步骤的详细描述,这里不再一一赘述。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,获取单元和处理单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
参阅图19所示,发明实施例提供了一种网络系统1900,该系统1900用于实现前述方法实施例中的报文转发的方法和报文处理方法。该系统1900包括网络设备1901和网络设备1902。设备1901可以实现图3所示的实施例中的第一网络设备的功能,设备1902可以实现图3所示的实施例中第二网络设备的功能。具体执行过程请参考上述图3所示实施例中相应步骤的详细描述,这里不再一一赘述。
图20是本申请实施例提供的一种设备2000的结构示意图。图17中的网络设备1700、图18中的网络设备1800可以通过图20所示的设备来实现。参见图20,该设备2000包括至少一个处理器2001,通信总线2002以及至少一个网络接口2004,可选地,该设备2000还可以包括存储器2003。
处理器2001可以是一个通用中央处理器(central processing unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)或一个或多个用于控制本申请方案程序执行的集成电路(integrated circuit,IC)。处理器可以用于对报文进行处理,以实现本申请实施例中提供的报文转发的方法和报文处理的方法。比如,当图3中的第一网络设备通过图20所示的设备来实现时,该处理器可以用于获取泛洪信息集合,并发送多个报文,所述多个报文中的每个报文分别携带对应的泛洪实例标识和泛洪信息。又比如,当图2中的第二网络设备通过图20所示的设备来实现时,该处理器可以用于接收来自第一网络设备的多个报文,并存储泛洪实例标识对应的泛洪信息。具体功能实现可参考方法实施例中第二网络设备的处理部分。
通信总线2002用于在处理器2001、网络接口2004和存储器2003之间传送信息。
存储器2003可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,存储器2003还可以是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器2003可以是独立存在,通过通信总线2002与处理器2001相连接。存储器2003也可以和处理器2001集成在一起。
可选地,存储器2003用于存储执行本申请方案的程序代码或指令,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的程序代码或指令。程序代码中可以包括一个或多个软件模块。可选地,处理器2001也可以存储执行本申请方案的程序代码或指令,在这种情况下处理器2001不需要到存储器2003中读取程序代码或指令。
网络接口2004可以为收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。在本申请实施例中,网络接口2004可以用于接收分段路由网络中的其他节点发送的报文,也可以向分段路由网络中的其他节点发送报文。网络接口2004可以为以太接口(ethernet)接口、快速以太(fast ethernet,FE)接口或千兆以太(gigabit ethernet,GE)接口等。
在具体实现中,作为一种实施例,设备2000可以包括多个处理器,例如图20中所示的处理器2001和处理器2005。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
图21是本申请实施例提供的一种设备2100的结构示意图。图3中的第一网络设备和第二网络设备可以通过图21所示的设备来实现。参见图21所示的设备结构示意图,设备2100包括主控板和一个或多个接口板。主控板与接口板通信连接。主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板包括CPU和存储器,主控板负责对设备2100中各个组件的控制和管理,包括路由计算、设备管理和维护功能。接口板也称为线处理单元(line processing unit,LPU)或线卡(line card),用于接收和发送报文。在一些实施例中,主控板与接口板之间或接口板与接口板之间通过总线通信。在一些实施例中,接口板之间通过交换网板通信,在这种情况下设备2100也包括交换网板,交换网板与主控板、接口板通信连接,交换网板用于转发接口板之间的数据,交换网板也可以称为交换网板单元(switch fabric unit,SFU)。接口板包括CPU、存储器、转发引擎和接口卡(interface card,IC),其中接口卡可以包括一个或多个网络接口。网络接口可以为Ethernet接口、FE接口或GE接口等。CPU与存储器、转发引擎和接口卡分别通信连接。存储器用于存储转发表。转发引擎用于基于存储器中保存的转发表转发接收到的报文,如果接收到的报文的目的地址为设备2100的IP地址,则将该报文发送给主控板或接口板的CPU进行处理;如果接收到的报文的目的地址不是设备2100的IP地址,则根据该目的地查转发表,如果从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。转发引擎可以是网络处理器(network processor,NP)。接口卡也称为子卡,可安装在接口板上,负责将光电信号转换为数据帧,并对数据帧进行合法性检查后转发给转发引擎处理或接口板CPU。在一些实施例中,CPU也可执行转发引擎的功能,比如基于通用CPU实现软转发,从而接口板中不需要转发引擎。在一些实施例中,转发引擎可以通过ASIC或现场可编程门阵列(field programmable gate array,FPGA)实现。在一些实施例中,存储转发表的存储器也可以集成到转发引擎中,作为转发引擎的一部分。
本申请实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述图3所示实施例中第一网络设备或第二网络设备的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是FPGA,可以是ASIC,还可以是系统芯片(system on chip,SoC),还可以是CPU,还可以是NP,还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行前述实施例中的方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包括了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请中“至少一项(个)”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。本申请中认为“A和/或B”包括单独A,单独B,和A+B。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组 件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (59)

  1. 一种信息泛洪方法,其特征在于,所述方法包括:
    第一网络设备获取泛洪信息集合,所述泛洪信息集合包括多个泛洪实例中的每个泛洪实例分别对应的泛洪信息,所述多个泛洪实例属于一个内部网关协议IGP实例;
    所述第一网络设备发送多个报文,所述多个报文中的每个报文分别携带对应的泛洪实例标识和泛洪信息,所述泛洪实例标识用于标识所述泛洪实例。
  2. 根据权利要求1所述的方法,其特征在于,所述多个泛洪实例包括第一泛洪实例,所述第一泛洪实例的泛洪信息包括路由信息;
    所述第一网络设备发送多个报文包括:
    所述第一网络设备向第二网络设备发送第一报文,所述第一报文包括所述第一泛洪实例标识和所述路由信息,所述第二网络设备为所述第一网络设备的任意一个邻居网络设备。
  3. 根据权利要求2所述的方法,其特征在于,所述路由信息包括以下其中一种或多种:
    前缀、流量工程TE信息、设备能力信息和链路信息。
  4. 根据权利要求1所述的方法,其特征在于,所述多个泛洪实例包括第二泛洪实例,所述第二泛洪实例的泛洪信息包括非路由信息;
    所述第一网络设备发送多个报文包括:
    所述第一网络设备向第二网络设备发送第二报文,所述第二报文包括所述第二泛洪实例标识和所述非路由信息。
  5. 根据权利要求4所述的方法,其特征在于,所述第二网络设备为所述第一网络设备的最短路径树中的下一跳网络设备,所述最短路径树为以所述第一网络设备为根节点到达网络拓扑中其他网络设备的最短路径。
  6. 根据权利要求5所述的方法,其特征在于,所述第一网络设备的最短路径树根据第一泛洪实例的泛洪信息生成,所述第一泛洪实例的泛洪信息包括路由信息。
  7. 根据权利要求6所述的方法,其特征在于,所述方法还包括:
    所述第一网络设备接收来自第二网络设备的第三报文,所述第三报文包括所述第二网络设备的第一泛洪实例的泛洪信息,所述第二网络设备的第一泛洪实例的泛洪信息包括所述第二网络设备的路由信息;
    所述第一网络设备根据所述第二网络设备的第一泛洪实例的泛洪信息生成所述最短路径树。
  8. 根据权利要求4-6任一项所述的方法,其特征在于,所述非路由信息包括以下一种或多种:
    应用程序信息、设备能力信息和切片信息。
  9. 根据权利要求1-8任一项所述的方法,其特征在于,所述第一网络设备发送多个报文包括:
    所述第一网络设备向第二网络设备发送hello报文,所述hello报文用于建立所述第一网络设备与所述第二网络设备之间的邻居关系;
    所述第一网络设备向所述第二网络设备发送所述多个报文。
  10. 根据权利要求1-9任一项所述的方法,其特征在于,多个泛洪实例的每个泛洪实例具有对应的泛洪参数,所述泛洪参数用于发送对应泛洪实例的报文。
  11. 根据权利要求10所述的方法,其特征在于,所述多个泛洪实例的每个泛洪实例具有对应的优先级,所述优先级与所述泛洪参数对应。
  12. 根据权利要求10或11所述的方法,其特征在于,所述泛洪参数包括以下其中一项或多项:
    最大生存时间、最大LSP生成间隔、最小LSP生成间隔、最小LSP发送间隔、CSNP发送间隔、PSNP发送间隔、重传间隔和刷新时间。
  13. 根据权利要求1-12任一项所述的方法,其特征在于,所述报文包括中间系统到中间系统ISIS报文或开放式最短路径优先OSPF报文。
  14. 根据权利要求13所述的方法,其特征在于,所述ISIS报文包括以下其中一种或多种:
    链路状态协议数据单元LSP报文、部分序列号数据包PSNP和完全序列号数据包CSNP。
  15. 根据权利要求13所述的方法,其特征在于,所述OSPF报文包括以下其中一种或多种:
    数据库描述DD报文、链路状态请求LSR报文、链路状态更新LSU报文以及链路状态确认LSAck报文。
  16. 根据权利要求13所述的方法,其特征在于,所述泛洪实例标识携带在所述ISIS报文的可变长字段variable length fields;或,
    所述泛洪实例标识携带在所述OSPF报文的报文头或数据部分。
  17. 根据权利要求16所述的方法,其特征在于,所述泛洪实例标识携带在所述variable length fields的第一个类型长度值TLV字段中。
  18. 根据权利要求14所述的方法,其特征在于,所述泛洪实例标识携带在所述LSP的LSP标识ID字段中。
  19. 根据权利要求13-18任一项所述的方法,其特征在于,所述报文包括指示信息,所述指示信用于指示所述报文包括所述泛洪实例标识。
  20. 根据权利要求19所述的方法,其特征在于,所述指示信息携带在所述ISIS报文的协议数据单元类型PDU type字段中。
  21. 根据权利要求1-20任一项所述的方法,其特征在于,所述多个报文中的第一报文还携带泛洪拓扑标识,所述泛洪拓扑标识用于标识泛洪所述第一报文中泛洪信息的网络拓扑。
  22. 根据权利要求1-21任一项所述的方法,其特征在于,所述IGP实例为0号IGP实例。
  23. 一种信息泛洪方法,其特征在于,所述方法包括:
    第二网络设备接收来自第一网络设备的多个报文,所述多个报文中的每个报文分别携带对应所述报文的泛洪实例标识和泛洪信息,所述多个报文对应的多个泛洪实例属于同一个内部网关协议IGP实例;
    所述第二网络设备分别存储所述泛洪实例标识对应的泛洪信息。
  24. 根据权利要求23所述的方法,其特征在于,所述第二网络设备分别存储所述泛洪实例标识对应的泛洪信息包括:
    所述第二网络设备根据所述泛洪信息更新与所述泛洪实例标识对应的链路状态数据库。
  25. 根据权利要求24所述的方法,其特征在于,所述第二网络设备根据所述泛洪信息更新与所述泛洪实例标识对应的链路状态数据库包括:
    所述第二网络设备利用与所述泛洪实例标识对应的更新进程,将所述泛洪信息更新至与所述更新进程对应的链路状态数据库。
  26. 根据权利要求23所述的方法,其特征在于,所述多个报文包括第一报文,所述第一报文包括所述第一泛洪实例标识和第一泛洪信息,所述第一泛洪信息包括路由信息;
    所述方法还包括:
    所述第二网络设备向第三网络设备发送第一报文,所述第三网络设备为所述第二网络设备的除所述第一网络设备以外的任意一个邻居网络设备。
  27. 根据权利要求26所述的方法,其特征在于,所述路由信息包括以下其中一种或多种:
    前缀、流量工程TE信息、设备能力信息和链路信息。
  28. 根据权利要求23所述的方法,其特征在于,所述多个报文包括第二报文,所述第二报文包括第二泛洪实例标识和第二泛洪信息,所述第二泛洪信息包括非路由信息;
    所述方法还包括:
    所述第二网络设备向第三网络设备发送第二报文。
  29. 根据权利要求28所述的方法,其特征在于,所述第三网络设备为所述第二网络设备的最短路径树中的下一跳网络设备,所述最短路径树为以所述第二网络设备为根节点到达网络拓扑中其他网络设备的最短路径。
  30. 根据权利要求29所述的方法,其特征在于,所述第二网络设备的最短路径树根据与第一泛洪实例标识对应的泛洪信息生成,所述与第一泛洪实例标识对应的泛洪信息包括路由信息。
  31. 根据权利要求28-30任一项所述的方法,其特征在于,所述非路由信息包括以下一种或多种:
    应用程序信息、设备能力信息和切片信息。
  32. 根据权利要求23-31任一项所述的方法,其特征在于,所述多个报文包括第一报文,所述第一报文携带对应泛洪实例的泛洪拓扑标识,所述泛洪拓扑标识用于标识泛洪所述第一报文中泛洪信息的网络拓扑;
    所述方法还包括:
    所述第二网络设备根据所述泛洪拓扑标识确定下一跳网络设备;
    所述第二网络设备向所述下一跳网络设备发送所述第一报文。
  33. 根据权利要求23-32任一项所述的方法,其特征在于,所述第二网络设备接收来自 第一网络设备的多个报文包括:
    所述第二网络设备接收来自所述第一网络设备的Hello报文,根据所述Hello报文建立与所述第一网络设备之间的邻居关系;
    所述第二网络设备基于所述邻居关系接收来自所述第一网络设备的多个报文。
  34. 根据权利要求23-33任一项所述的方法,其特征在于,所述报文包括中间系统到中间系统ISIS报文或开放式最短路径优先OSPF报文。
  35. 根据权利要求34所述的方法,其特征在于,所述ISIS报文包括以下其中一种或多种:
    链路状态协议数据单元LSP报文、部分序列号数据包PSNP和完全序列号数据包CSNP。
  36. 根据权利要求34所述的方法,其特征在于,所述OSPF报文包括以下其中一种或多种:
    数据库描述DD报文、链路状态请求LSR报文、链路状态更新LSU报文以及链路状态确认LSAck报文。
  37. 根据权利要求34所述的方法,其特征在于,所述泛洪实例标识携带在所述ISIS报文的可变长字段variable length fields;或,
    所述泛洪实例标识携带在所述OSPF报文的报文头或数据部分。
  38. 根据权利要求37所述的方法,其特征在于,所述泛洪实例标识携带在所述variable length fields的第一个类型长度值TLV字段中。
  39. 根据权利要求35所述的方法,其特征在于,所述泛洪实例标识携带在所述LSP的LSP标识ID字段中。
  40. 根据权利要求36-39任一项所述的方法,其特征在于,所述报文包括指示信息,所述指示信用于指示所述报文包括所述泛洪实例标识。
  41. 根据权利要求40所述的方法,其特征在于,所述指示信息携带在所述ISIS报文的协议数据单元类型PDU type字段中。
  42. 根据权利要求23-41任一项所述的方法,其特征在于,所述IGP实例为0号IGP实例。
  43. 一种网络设备,其特征在于,用于包括多个网络设备的网络系统,所述多个网络设备包括第一网络设备,所述网络设备为所述第一网络设备,所述网络设备包括:
    处理单元,用于获取泛洪信息集合,所述泛洪信息集合包括多个泛洪实例中的每个泛洪实例分别对应的泛洪信息,所述多个泛洪实例属于一个内部网关协议IGP实例;
    发送单元,用于发送多个报文,所述多个报文中的每个报文分别携带对应的泛洪实例标识和泛洪信息,所述泛洪实例标识用于标识所述泛洪实例。
  44. 根据权利要求43所述的网络设备,其特征在于,所述多个泛洪实例包括第一泛洪实例,所述第一泛洪实例的泛洪信息包括路由信息;
    所述发送单元,用于向第二网络设备发送第一报文,所述第一报文包括所述第一泛洪实例标识和所述路由信息,所述第二网络设备为所述第一网络设备的任意一个邻居网络设 备。
  45. 根据权利要求43所述的网络设备,其特征在于,所述多个泛洪实例包括第二泛洪实例,所述第二泛洪实例的泛洪信息包括非路由信息;
    所述发送单元,用于向第二网络设备发送第二报文,所述第二报文包括所述第二泛洪实例标识和所述非路由信息。
  46. 根据权利要求45所述的网络设备,其特征在于,所述第二网络设备为所述第一网络设备的最短路径树中的下一跳网络设备,所述最短路径树为以所述第一网络设备为根节点到达网络拓扑中其他网络设备的最短路径。
  47. 根据权利要求46所述的网络设备,其特征在于,所述第一网络设备的最短路径树根据第一泛洪实例的泛洪信息生成,所述第一泛洪实例的泛洪信息包括路由信息。
  48. 根据权利要求47所述的网络设备,其特征在于,所述网络设备还包括:
    接收单元,用于接收来自第二网络设备的第三报文,所述第三报文包括所述第二网络设备的第一泛洪实例的泛洪信息,所述第二网络设备的第一泛洪实例的泛洪信息包括所述第二网络设备的路由信息;
    所述处理单元,还用于根据所述第二网络设备的第一泛洪实例的泛洪信息生成所述最短路径树。
  49. 根据权利要求43-48任一项所述的网络设备,其特征在于,
    所述发送单元,用于向第二网络设备发送hello报文,所述hello报文用于建立所述第一网络设备与所述第二网络设备之间的邻居关系;
    所述发送单元,用于向所述第二网络设备发送所述多个报文。
  50. 根据权利要求43-49任一项所述的网络设备,其特征在于,多个泛洪实例的每个泛洪实例具有对应的泛洪参数,所述泛洪参数用于发送对应泛洪实例的报文。
  51. 根据权利要求50所述的网络设备,其特征在于,所述多个泛洪实例的每个泛洪实例具有对应的优先级,所述优先级与所述泛洪参数对应。
  52. 一种网络设备,其特征在于,用于包括多个设备的网络系统,所述多个网络设备包括第一网络设备和第二网络设备,所述网络设备为所述第二网络设备,所述网络设备包括:
    接收单元,用于接收来自第一网络设备的多个报文,所述多个报文中的每个报文分别携带对应所述报文的泛洪实例标识和泛洪信息,所述多个报文对应的多个泛洪实例属于同一个内部网关协议IGP实例;
    存储单元,用于分别存储所述泛洪实例标识对应的泛洪信息。
  53. 根据权利要求52所述的网络设备,其特征在于,
    所述存储单元,用于根据所述泛洪信息更新与所述泛洪实例标识对应的链路状态数据库。
  54. 根据权利要求53所述的网络设备,其特征在于,
    所述存储单元,用于利用与所述泛洪实例标识对应的更新进程,将所述泛洪信息更新至与所述更新进程对应的链路状态数据库。
  55. 根据权利要求52所述的网络设备,其特征在于,所述多个报文包括第一报文,所 述第一报文包括所述第一泛洪实例标识和第一泛洪信息,所述第一泛洪信息包括路由信息;
    所述网络设备还包括:
    发送单元,用于向第三网络设备发送第一报文,所述第三网络设备为所述第二网络设备的除所述第一网络设备以外的任意一个邻居网络设备。
  56. 根据权利要求52所述的网络设备,其特征在于,所述多个报文包括第二报文,所述第二报文包括第二泛洪实例标识和第二泛洪信息,所述第二泛洪信息包括非路由信息;
    所述网络设备还包括:
    发送单元,用于向第三网络设备发送第二报文。
  57. 根据权利要求56所述的网络设备,其特征在于,所述第三网络设备为所述第二网络设备的最短路径树中的下一跳网络设备,所述最短路径树为以所述第二网络设备为根节点到达网络拓扑中其他网络设备的最短路径。
  58. 根据权利要求52-54任一项所述的网络设备,其特征在于,所述多个报文包括第一报文,所述第一报文携带对应泛洪实例的泛洪拓扑标识,所述泛洪拓扑标识用于标识泛洪所述第一报文中泛洪信息的网络拓扑;
    所述处理单元,还用于根据所述泛洪拓扑标识确定下一跳网络设备;
    所述网络设备还包括:
    发送单元,用于向所述下一跳网络设备发送所述第一报文。
  59. 一种网络系统,其特征在于,所述网络系统包括如权利要求43至51任一项所述的第一网络设备和如权利要求52至58任一项所述的第二网络设备。
PCT/CN2021/112683 2021-01-26 2021-08-16 一种信息泛洪方法及设备 WO2022160666A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2023544747A JP2024505209A (ja) 2021-01-26 2021-08-16 情報フラッディング方法およびデバイス
EP21922261.9A EP4274124A4 (en) 2021-01-26 2021-08-16 METHOD AND DEVICE FOR INFORMATION FLOODING
US18/356,407 US20230362089A1 (en) 2021-01-26 2023-07-21 Information flooding method and device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202110102938.4 2021-01-26
CN202110102938 2021-01-26
CN202110189742.3A CN114793208A (zh) 2021-01-26 2021-02-19 一种信息泛洪方法及设备
CN202110189742.3 2021-02-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/356,407 Continuation US20230362089A1 (en) 2021-01-26 2023-07-21 Information flooding method and device

Publications (1)

Publication Number Publication Date
WO2022160666A1 true WO2022160666A1 (zh) 2022-08-04

Family

ID=82460684

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/112683 WO2022160666A1 (zh) 2021-01-26 2021-08-16 一种信息泛洪方法及设备

Country Status (5)

Country Link
US (1) US20230362089A1 (zh)
EP (1) EP4274124A4 (zh)
JP (1) JP2024505209A (zh)
CN (1) CN114793208A (zh)
WO (1) WO2022160666A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792987B1 (en) * 2003-04-21 2010-09-07 Juniper Networks, Inc. Supporting virtual private networks using a first network topology for forwarding and a subset of the first network topology or a smaller topology for signaling
CN107666438A (zh) * 2016-07-27 2018-02-06 中兴通讯股份有限公司 报文转发方法及装置
CN109150716A (zh) * 2017-06-27 2019-01-04 中兴通讯股份有限公司 拓扑变化响应方法、路径计算客户端及路径计算系统
CN110099002A (zh) * 2019-04-12 2019-08-06 烽火通信科技股份有限公司 一种路径计算方法及装置
WO2020165627A1 (en) * 2019-02-12 2020-08-20 Telefonaktiebolaget Lm Ericsson (Publ) Limited flooding in dense graphs

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792987B1 (en) * 2003-04-21 2010-09-07 Juniper Networks, Inc. Supporting virtual private networks using a first network topology for forwarding and a subset of the first network topology or a smaller topology for signaling
CN107666438A (zh) * 2016-07-27 2018-02-06 中兴通讯股份有限公司 报文转发方法及装置
CN109150716A (zh) * 2017-06-27 2019-01-04 中兴通讯股份有限公司 拓扑变化响应方法、路径计算客户端及路径计算系统
WO2020165627A1 (en) * 2019-02-12 2020-08-20 Telefonaktiebolaget Lm Ericsson (Publ) Limited flooding in dense graphs
CN110099002A (zh) * 2019-04-12 2019-08-06 烽火通信科技股份有限公司 一种路径计算方法及装置

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN114793208A (zh) 2022-07-26
JP2024505209A (ja) 2024-02-05
EP4274124A4 (en) 2024-06-05
EP4274124A1 (en) 2023-11-08
US20230362089A1 (en) 2023-11-09

Similar Documents

Publication Publication Date Title
US8989048B2 (en) Node system ID change in link state protocol network
JP6250825B2 (ja) データネットワークに最大冗長木(maximally redundant tree)をデプロイする方法およびシステム
Savage et al. Cisco's enhanced interior gateway routing protocol (EIGRP)
RU2457627C2 (ru) Узловое устройство и программа
CN106921579B (zh) 基于业务功能链sfc的通信方法和装置
EP2399370B1 (en) Maximum transmission unit, MTU, size discovery method for data-link layers
US9143431B2 (en) Hiding a service node in a network from a network routing topology
US7388862B2 (en) Technique for notifying EIGRP neighbors when destroying adjacencies in a computer network
WO2012103731A1 (zh) 路由器邻居建立方法和设备
US7957380B2 (en) Support of unidirectional link in IS-IS without IP encapsulation and in presence of unidirectional return path
EP3157211B1 (en) Isis-based flooding method and device
Przygienda et al. RIFT: Routing in Fat Trees
US10999183B2 (en) Link state routing protocol adjacency state machine
WO2020167790A1 (en) System and method for interior gateway protocol (igp) fast convergence
EP3975511A1 (en) Neighbor discovery for border gateway protocol in a multi-access network
CN107231249B (zh) 转发节点的物理拓扑信息的获取方法、控制器和转发节点
US20230198897A1 (en) Method, network device, and system for controlling packet sending
WO2017000566A1 (zh) 一种获取设备接口mru值的方法及装置
WO2022160666A1 (zh) 一种信息泛洪方法及设备
US11784919B2 (en) Method for sending BIERv6 packet and first network device
US9226219B2 (en) System and method for route learning and auto-configuration
Adhikari Performance Analysis of protocols RIP & EIGRP
US12021734B2 (en) Network-topology discovery using packet headers
WO2022127154A1 (zh) 一种路由通告的方法及设备
US20220385560A1 (en) Network-topology discovery using packet headers

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2023544747

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 2021922261

Country of ref document: EP

Effective date: 20230804

NENP Non-entry into the national phase

Ref country code: DE