WO2022133646A1 - 一种路由传输方法及装置 - Google Patents

一种路由传输方法及装置 Download PDF

Info

Publication number
WO2022133646A1
WO2022133646A1 PCT/CN2020/137999 CN2020137999W WO2022133646A1 WO 2022133646 A1 WO2022133646 A1 WO 2022133646A1 CN 2020137999 W CN2020137999 W CN 2020137999W WO 2022133646 A1 WO2022133646 A1 WO 2022133646A1
Authority
WO
WIPO (PCT)
Prior art keywords
network device
bgp route
route
node
network
Prior art date
Application number
PCT/CN2020/137999
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 JP2023538138A priority Critical patent/JP2024500907A/ja
Priority to EP20966227.9A priority patent/EP4254881A4/en
Priority to CN202080107543.7A priority patent/CN116648885A/zh
Priority to PCT/CN2020/137999 priority patent/WO2022133646A1/zh
Priority to MX2023007422A priority patent/MX2023007422A/es
Publication of WO2022133646A1 publication Critical patent/WO2022133646A1/zh
Priority to US18/338,820 priority patent/US20230336458A1/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
    • 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/16Multipoint 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/22Alternate 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/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a routing transmission method and device.
  • an autonomous area includes 4 routers (IBGP peers), and to ensure connectivity between routers, 6 IBGP connections need to be established.
  • the AS includes many routers, a large number of IBGP connections need to be established, which consumes a lot of network resources and controller resources.
  • a route reflection scheme is proposed. Specifically, in an AS, one of the routers is used as a route reflector (router reflector, RR), and the other routers are used as clients to establish IBGP connections with the RR respectively. There is no need to establish an IBGP connection between the clients. Routing information, or reflected routing information. As shown in Figure 1b, R0 is used as RR to establish IBGP connections with R1, R2 and R3 respectively.
  • a network device After a network device receives a route, it needs to use the next hop information carried in the route to verify the reachability of the next hop of the route. Only the next hop of the route can be confirmed. The route is forwarded only when it is reachable. In this way, for the RR that supports the BGP protocol, after receiving the route, the RR also needs to check the reachability of the next hop of the route, and only reflects the route when it is determined that the next hop route is reachable. For example, as shown in Figure 1b, after the RR receives the routing information sent by R1, it needs to check whether the route from the RR to R1 is in an active state.
  • the RR When the route from the RR to R1 is active, the RR reflects the routing information sent by R1 to R2 and R3. However, in some application scenarios, the RR only provides the route reflection function and does not need to forward data packets. The operation of the RR to perform verification affects the efficiency of route advertisement. In addition, in some possible application scenarios, such as using the segment routing on internet protocol version 6 (SRv6) public network to transmit data of internet protocol version 4 (IPv4) In the scenario, the network device checks the reachability of the route through the segment identity (SID) attribute. However, RRs usually do not have locator information, so that RRs cannot iterate routes by SID. To ensure the normal reflection of routing information, you need to configure a default route for the RR, so that when the default route is determined to be active, the RR reflects the received route. In this way, the workload of additional deployment services is increased.
  • SRv6 segment routing on internet protocol version 6
  • IPv4 internet protocol version 4
  • the embodiments of the present application provide a route transmission method and apparatus, which eliminates the need to verify the reachability of the next hop and reduces the deployment of additional services.
  • a first aspect provides a packet transmission method, the method includes: a first network device obtains a first border gateway protocol BGP route; the first network device does not iterate the first BGP route, but directly forwards the first BGP route to the second network device. Alternatively, the first network device iterates the first BGP route, and when the iteration fails, the first network device still forwards the first BGP route to the second network device. That is, in this implementation solution, the first network device can be any network device in the network. When the first BGP route needs to be broadcast, the first network device can decide according to the locally configured policy after acquiring the first BGP route. Whether to iterate the first BGP route.
  • the first network device can forward the received first BGP route to the second network device, so that the second network device can learn the first BGP route , there is no need to deploy additional services, and the efficiency of the first network device to advertise the first BGP route is improved. For example, if the first network device is a route reflector, if the route reflector does not participate in subsequent packet forwarding, the first BGP route may not be iterated, and the first BGP route may be directly forwarded to the second network device.
  • the method further includes: the first network device knows the traffic forwarding according to the first BGP route.
  • the first network device participates in subsequent packet forwarding, after it successfully iterates on the first BGP route, it can deliver the first BGP route to the forwarding plane, so that when traffic is received, it can A BGP route forwards traffic.
  • the first network device has a route reflection function.
  • the first network device is a route reflector, after receiving the first BGP route, it may directly reflect the received first BGP route to the second network device without iterating the first BGP route.
  • the first BGP route is applied to a segment routing SRv6 network based on Internet Protocol version 6, and the first BGP route includes a first segment identifier SID used to indicate a destination network device.
  • the first BGP route since each network device forwards packets according to segment identifiers, when broadcasting the first BGP route, the first BGP route will include the first segment identifier SID indicating the destination network device, So that other network devices can forward the packet to the destination network device according to the first segment identification SID.
  • the first network device when the first network device fails to iterate the first BGP route, the first network device still forwards the first BGP route to the second network device, including: the first network device according to the local The first SID is stored, and it is determined that the first BGP route iteration fails; the first network device forwards the first BGP route to the second network device. That is, in the SRv6 network, if the first network device does not store the first SID, it does not have the ability to perceive the SID, and cannot perform route iteration according to the SID, it is determined that the first BGP route iteration fails.
  • the method when the first network device iterates the first BGP route successfully, the method further includes: the first network device replaces the first SID in the first BGP route with the second SID to obtain The updated first BGP route; the first network device sends the updated first BGP route to the second network device.
  • the first network device when the first network device iterates the first BGP route successfully, it indicates that the first network device has the ability to perceive the SID, and if the first network device allocates a corresponding second SID, the first BGP route is The first SID in is replaced with the second SID, and the first BGP route is updated, so that the second network device can learn the route to the first network device.
  • the obtaining, by the first network device, the first BGP route includes: the first network device obtains the first BGP route from a third network device; the first network device obtains the first BGP route according to the
  • the first BGP route instructing traffic forwarding includes: determining, by the first network device, an egress port for reaching the third network device according to the first BGP route, so as to direct traffic destined for the third network device 's forwarding.
  • the first network device and the second network device are network devices on a segment routing best effort SRv6-BE tunnel based on Internet Protocol Version 6; or, the first network device The network device and the second network device are network devices on the SRv6-TE tunnel of segment routing traffic engineering based on Internet Protocol Version 6.
  • the first BGP route is received from a third network device, and a segment routing best effort based on Internet Protocol version 6 is established between the third network device and the second network device Instead, it is an SRv6-BE tunnel; or, a segment routing traffic engineering SRv6-TE tunnel based on Internet Protocol version 6 is established between the third network device and the second network device.
  • the first network device and the second network device are external border gateway protocol EBGP neighbors, or the first network device and the second network device are internal border gateway protocol IBGP Neighbor.
  • the first network device is a first route reflector RR.
  • the first network device is a primary RR or a secondary RR.
  • the third network device is an edge PE device of the first operator, and the second network device is a second RR or a second PE device.
  • the first network device and the second network device are network devices applied in a multicast virtual private network (MVPN) scenario.
  • MVPN virtual private network
  • an embodiment of the present application provides a message transmission device, characterized in that the device includes: an obtaining unit, where a user obtains a first border gateway protocol BGP route; a sending unit, configured to The BGP route is iterated, and the first BGP route is directly forwarded to the second network device; the sending unit is further configured to forward the first BGP route to the second network device when the iteration of the first BGP route fails.
  • BGP routing configured to forward the first BGP route to the second network device when the iteration of the first BGP route fails.
  • the sending unit when the iteration of the first BGP route is successful, is further configured to direct traffic forwarding according to the first BGP route.
  • the device has a route reflection function.
  • the first BGP route is applied to a segment routing SRv6 network based on Internet Protocol version 6, and the first BGP route includes a first segment identifier SID used to indicate a destination network device.
  • the sending unit when the iteration of the first BGP route fails, is specifically configured to determine that the iteration of the first BGP route fails according to the first SID not being stored locally;
  • the second network device forwards the first BGP route.
  • the apparatus when the iteration of the first BGP route is successful, the apparatus further includes: a processing unit configured to replace the first SID in the first BGP route with a second SID , to obtain the updated first BGP route; the sending unit is configured to send the updated first BGP route to the second network device.
  • the acquiring unit is specifically configured to acquire the first BGP route from a third network device; the sending unit is specifically configured to determine a route for reaching the first BGP route according to the first BGP route.
  • the outgoing port of the third network device to guide the forwarding of the traffic sent to the third network device.
  • the apparatus and the second network device are network devices on a segment routing best effort SRv6-BE tunnel based on Internet Protocol Version 6; or, the apparatus and the second network device are The second network device is a network device on the SRv6-TE tunnel of segment routing traffic engineering based on Internet Protocol Version 6.
  • the first BGP route is received from a third network device, and a segment routing best effort based on Internet Protocol version 6 is established between the third network device and the second network device Instead, it is an SRv6-BE tunnel; or, a segment routing traffic engineering SRv6-TE tunnel based on Internet Protocol version 6 is established between the third network device and the second network device.
  • the apparatus and the second network device are external border gateway protocol EBGP neighbors, or the apparatus and the second network device are internal border gateway protocol IBGP neighbors.
  • the device is a first route reflector RR.
  • the device is a primary RR or a secondary RR.
  • the third network device is an edge PE device of the first operator, and the second network device is a second RR or a second PE device.
  • the apparatus and the second network device are network devices applied in a multicast virtual private network (MVPN) scenario.
  • MVPN virtual private network
  • a communication device comprising: a processor, a memory; the memory, for storing computer-readable instructions or a computer program; the processor, for reading the computer-readable instructions or the computer program
  • the computer program is used to enable the communication device to implement the message transmission method described in the first aspect.
  • a computer-readable storage medium comprising an instruction or a computer program that, when executed on a computer, causes the computer to execute the message transmission method described in the first aspect.
  • the first network device when the first network device obtains the first BGP route, it may not perform an iterative operation on the first BGP route, and directly send the first BGP route to the second network device.
  • the first network device performs an iterative operation on the first BGP route, and when the iteration of the first BGP route fails, the first network device still sends the first BGP route to the second network device. That is, regardless of whether the first network device is iterating, or if the iteration fails, the first network device can forward the received first BGP route to the second network device, so that the second network device can learn the first BGP route.
  • One BGP route does not need to deploy additional services, thereby improving the efficiency of the first network device to advertise the first BGP route.
  • Fig. 1a is a schematic diagram of full connection in a BGP network architecture
  • Figure 1b is a schematic diagram of route reflection in a BGP network architecture
  • FIG. 2a is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • FIG. 2b is a schematic diagram of another application scenario provided by an embodiment of the present application.
  • FIG. 3 is a flow chart of routing transmission provided by an embodiment of the present application.
  • FIG. 4 is another routing transmission flowchart provided by an embodiment of the present application.
  • FIG. 5 is a structural diagram of a message transmission apparatus provided by an embodiment of the present application.
  • FIG. 6 is a structural diagram of a communication device provided by an embodiment of the present application.
  • FIG. 7 is a structural diagram of another communication device provided by an embodiment of the present application.
  • the segment routing (SR) protocol is a source routing protocol.
  • the source node specifies the path for the application packet, and converts the path into an ordered segment (Segment) list and encapsulates it in the packet header. Intermediate nodes only need to forward according to the path specified in the packet header.
  • the basic idea of SR is to divide the network into different segments (Segments), and guide packets to be forwarded according to the specified path by splicing these segments together. Specifically, a segment identifier (SID) is used to identify a segment.
  • SID segment identifier
  • forwarding path information is carried by a segment routing header (SRH) that includes a segment identification list (SID list).
  • SID list includes multiple segment identifiers (SIDs) arranged in sequence, respectively representing multiple segments, and each segment is an instruction or instruction set for processing the message.
  • Each SID may include a locator field and a function field.
  • the content of the locator field may also be referred to as a locator for short, which is an identifier allocated to a network node in the network topology and used to identify the network node in the network topology.
  • the content of the function field can also be referred to as function for short, which is used to represent the instruction or instruction set for processing the message, which is equivalent to the opcode of the computer instruction.
  • Multicast virtual private network refers to the implementation of multicast services in the virtual private network (VPN) of the border gateway protocol (BGP)/multi-protocol label switching (multi-protocol label switching, MPLS) network .
  • BGP border gateway protocol
  • MPLS multi-protocol label switching
  • MPLS multi-protocol label switching
  • BGP border gateway protocol
  • MPLS multi-protocol label switching
  • MPLS multi-protocol label switching
  • Route recursion means that due to the particularity of the BGP protocol itself, the next hop of the route it generates may not be a network device directly connected to the current router.
  • a common reason is: for any two adjacent routers, when they are internal border gateway protocol (Internal BGP, IBGP) neighbors, the next hop is not changed when routing information is advertised. In this case, in order to correctly forward the packet, the router must first find a directly reachable address, and use this address to reach the network device corresponding to the next hop indicated in the routing forwarding table.
  • routes to directly reachable addresses are called dependent routes. BGP routes rely on these routes to guide packet forwarding. The process of finding dependent routes based on the next hop address is called route iteration.
  • a first-level route reflection device is used as an example for description. Specifically, it includes route reflection device RR1, network device PE1, network device PE2, and network device P, wherein network device PE1 and network device PE2 serve as clients corresponding to route reflection device RR1, PE1 and PE2 are peers, and network device P is
  • the forwarding device between the network device PE1 and the network device PE2 may be, for example, a backbone device in a service provider network.
  • RR1, PE1 and PE2 can be network devices on IPv6-based segment routing best-effort (SRv6-BE) tunnels; or, RR1, PE1 and PE2 can be IPv6-based segment routing A network device on a (segment routing traffic engineering SRv6-TE) tunnel.
  • SRv6-BE segment routing best-effort
  • RR1, PE1 and PE2 can be IPv6-based segment routing A network device on a (segment routing traffic engineering SRv6-TE) tunnel.
  • the route reflection device RR1 has the function of route reflection but does not have the function of traffic forwarding.
  • RR1 reflects the BGP route received from PE1 to PE2, but does not guide subsequent traffic forwarding.
  • RR1 has both route reflection and forwarding functions.
  • RR1 not only sends the BGP route received from PE1 to PE2, but also establishes a route to PE1 to guide subsequent Traffic forwarding.
  • RR1 can actually act as a forwarding node between PE1 and PE2.
  • RR1 and the P device in Figure 2a can be the same network device in this case, and the P device therefore has both the route reflection function and the traffic forwarding function. functional parts.
  • the network system includes two-stage route reflection devices as an example for description.
  • the network system includes a first-level route reflection device RR1 and a second-level route reflection device RR2.
  • the first-level route reflection device RR1 is connected to PE1 and RR2 respectively.
  • PE1 and RR2 may also be called clients of RR1 relative to RR1, and PE1 and RR2 are peers of each other.
  • the secondary route reflection device RR2 is connected to PE2 and PE3 respectively.
  • PE2 and PE3 are network devices that perform the client role relative to RR2, and PE2 and PE3 are peers.
  • PE1, RR1, RR2 and PE2 may be network devices on one SRv6-BE tunnel; PE1, RR1, RR2 and PE3 may be network devices on another SRv6-BE tunnel.
  • PE1, RR1, RR2 and PE2 may be network devices on one SRv6-TE tunnel; PE1, RR1, RR2 and PE3 may be network devices on another SRv6-TE tunnel.
  • each network device included in the system shown in FIG. 2a and FIG. 2b may also be referred to as a node, which is a device with a route reflection function and/or a message forwarding function in the network system, for example, a router, a switch, a forwarding
  • a node which is a device with a route reflection function and/or a message forwarding function in the network system, for example, a router, a switch, a forwarding
  • the functions that can be realized by each node can be set according to the actual application scenarios and requirements.
  • a route transmission path PE1-RR-PE2 there is a route transmission path PE1-RR-PE2.
  • there are two route transmission paths namely PE1-RR1-RR2-PE2 and PE1-RR1-RR2-PE3.
  • PE1 is the first node 201
  • RR1 is the second node 202
  • RR2 is the third node 203
  • PE2 or PE3 is the fourth node. 204.
  • the roles of the first node 201 , the second node 202 , the third node 203 and the fourth node 204 named in the following embodiments are mainly used to distinguish the corresponding functions that can be performed by network devices with different roles in the process of publishing BGP routes, and
  • the location and number of network devices with different roles in the network topology can be specifically determined in combination with different business scenarios. In some possible scenarios, the number of network devices that play a certain role on the transmission path can be 0.
  • FIG. 3 is a flowchart of a routing transmission method provided by an embodiment of the present application. As shown in FIG. 3 , the method may include:
  • the first node 201 obtains the first BGP route.
  • the first node 201 when the first node 201 is an egress device corresponding to packet transmission, the first node 201 may generate a first BGP route, and the first BGP route may carry the device identifier of the first node 201, and the device The identifier can uniquely identify the first node 201 , such as an interface Internet protocol (Internet protocol, IP) address or a loopback (loopback) address of the first node 201 .
  • the private network route in the first BGP route can also carry the service identifier allocated by the first node 201, such as the VPN identifier, so that the neighbor nodes in the network can learn the private network to reach the first node 201.
  • network routing and can carry the service identifier in the message of the service sent to the first node 201, such as in a destination address (destination address, DA) field, to instruct the first node 201 to receive and forward the message arts.
  • the device identifier carried in the next hop attribute field in the first BGP route may be the interface address of the first node 201, or the loopback address or the like.
  • the first node 201 is a network device PE1
  • the loopback address corresponding to the network device PE1 is 1::1 ⁇ 128, then the next hop field in the first BGP route is 1::1 ⁇ 128.
  • the device identifier may be a segment identifier SID indicating a network device, that is, a segment identifier SID corresponding to the first node 201 .
  • the first node 201 is a network device PE1
  • the segment identifier SID of the network device PE1 is 1001::1
  • the first segment identifier SID in the first BGP route is 1001::1.
  • the segment identifier SID corresponding to the destination address DA field in the first BGP route remains unchanged. , all indicate the first node 201 , so that each node in the network can learn the route to the first node 201 .
  • the segment identifier corresponding to the destination address DA field in the first BGP route is constantly changing.
  • the intermediate node can update the DA field in the first BGP route, so that the segment identifier corresponding to the DA field is the segment identifier of the current node, so that when the neighbor node corresponding to the intermediate node receives the BGP route sent by the intermediate node, it can learn the route to the intermediate node.
  • the first node 201 sends the first BGP route to the second node 202.
  • the first node 201 obtains the first BGP route corresponding to itself, then advertises the first BGP route to other neighbor nodes in the network according to the BGP routing protocol, so that other neighbor nodes can learn the route to the first node 201, and then establish a route to reach the first node 201.
  • the forwarding path of the first node 201 may be external border gateway protocol (external BGP, EBGP) neighbors, that is, the first node 201 and the second node 202 belong to different autonomous systems (autonomous systems, AS), for example,
  • the first node 201 is located in the AS1 domain
  • the second node 202 is located in the AS2 domain.
  • the first node 201 and the second node 202 may also be IBGP neighbors, that is, the first node 201 and the second node 202 belong to the same AS domain.
  • S303 The second node 202 determines whether to iterate the first BGP route, and if so, executes S304, otherwise, executes S306.
  • the second node 202 in order to solve the problem that the second node 202 forwards the received first BGP route to other nodes only when the iteration is successful, resulting in low route reflection efficiency in some possible application scenarios, the second node 202 can The node 202 configures a forwarding policy for the first BGP route, for example, the second node 202 is configured to not perform an iterative operation on the first BGP route when receiving the first BGP route; or, the second node 202 is configured to When the first BGP route is received, an iterative operation is performed on the first BGP route, and when the iteration fails, the received first BGP route is still forwarded to other nodes.
  • a forwarding policy for the first BGP route for example, the second node 202 is configured to not perform an iterative operation on the first BGP route when receiving the first BGP route; or, the second node 202 is configured to When the first BGP route is received, an iterative operation is performed on the first BGP route, and when the iter
  • the second node 202 when the second node 202 only has a route reflection function, for example, the second node 202 is a route reflector, the second node 202 may be configured not to perform an iterative operation on the first BGP route.
  • the second node 202 when the second node 202 has both a route reflection function and a forwarding function, for example, the second node 202 is RR1 with a route reflection function in FIG. 2b and RR1 also serves as a packet forwarding node in the network at the same time , then the second node 202 is configured to perform an iterative operation on the first BGP route. In this case, in order to ensure the normal forwarding of the route, it may be further configured that when the second node 202 performs the iterative operation on the first BGP route, even if the iteration fails, the second node 202 also executes S306, according to the first BGP route Obtain a second BGP route.
  • the user can configure the second node 202 differently according to the actual application.
  • the second node 202 receives the first node 201
  • the second node 202 defaults that the state of the first BGP route is an active state, and does not need to perform an iterative operation, and directly executes S306 to obtain the second BGP route.
  • the second node 202 When the second node 202 acquires the first BGP route, it may determine whether to perform an iterative operation on the first BGP route according to its own configuration. The second node 202 determines that the iterative operation needs to be performed on the first BGP route, and executes S304; if the iterative operation does not need to be performed on the first BGP route, executes S306. Wherein, iterating the first BGP route includes that the second node 202 searches, according to the first BGP route, whether there is an egress port reaching the first node 201 from the routing forwarding table.
  • the second node 202 searches whether there is an egress port to the first node 201 according to the next hop information in the first BGP route; or, in the SRv6 network, the second node 202 searches according to the first BGP route
  • the first segment in identifies the SID to find out whether there is an egress port to the first node 201 .
  • the second node 202 searches the routing forwarding table according to the device identifier in the first BGP route to see if there is a next-hop node (the first node 201) of the outgoing port. If there is no egress port to the first node 201 in the routing forwarding table of the second node 202, the second node 202 fails to iterate the first BGP route, and the second node 202 executes S306; If there is an egress port reaching the first node 201, the second node 202 successfully iterates the first BGP route, and the second node 202 executes S305.
  • each node in the network directs packet forwarding based on the SID carried in the packet, rather than directing packet forwarding based on next-hop information. Therefore, during the route advertisement process, the nodes in the SRv6 network iterate routes based on the SID.
  • some nodes in the SRv6 network such as nodes that only perform route reflection, do not have the ability to perceive the SID and cannot perform route iteration according to the SID. That is, for this type of node, when iterating routes according to SID, the iteration will fail.
  • the second node 202 determines that the iteration of the first BGP route fails according to the fact that the first SID is not stored locally. That is, the second node 202 obtains the first SID from the first BGP route, and searches for the egress port corresponding to the first SID from the routing forwarding table corresponding to itself. If the entry of the SID cannot hit the routing forwarding table, the routing iteration fails.
  • the outgoing port that reaches the network device corresponding to the first SID can be searched, and the iteration is successful, so that the second node 202 can subsequently direct traffic to the first SID according to the outgoing port. Node 201 forwards.
  • the failure of the second node 202 to iterate the first BGP route may be that the second node 202 fails to iterate the route according to the next hop information carried in the first BGP route.
  • S305 The second node 202 instructs traffic forwarding according to the first BGP route.
  • the second node 202 when the second node 202 successfully iterates the first BGP route and the second node 202 also has the forwarding function, the second node 202 delivers the forwarding route reaching the first node 201 to the forwarding plane, so that the forwarding plane can The delivered route sends traffic to the first node 201 .
  • S306 The second node 202 obtains the second BGP route according to the first BGP route.
  • the second node 202 if it iterate the first BGP route, it directly obtains the second BGP route according to the first BGP route; or, when the second node 202 fails to iterate the first BGP route, it can also The first BGP route obtains the second BGP route; or when the second node 202 iterates the first BGP route successfully, the second BGP route can be obtained according to the first BGP route.
  • the second node 202 when the second node 202 does not iterate the first BGP route and directly obtains the second BGP route according to the first BGP route, or when the second node 202 fails to iterate the first BGP route, the second node 202 only Modify the content of the BGP attribute in the first BGP route, for example, add the router identifier (router identifier) or other identification information of the second node 202 in the BGP attribute to the BGP cluster list (cluster list) attribute, the cluster list can be used to avoid loop.
  • the second node 202 does not modify the next hop information or segment identification in the first BGP route to obtain the second BGP route.
  • the second node 202 may only have a route reflection function, or may also set the second node 202 to not iterate the BGP route based on other requirements, or to forward the route when the iteration fails.
  • the second node 202 when the second node 202 successfully iterates the first BGP route, the second node 202 can obtain the second BGP route in the following manner.
  • the second node 202 may modify the next hop information or the segment identifier in the first BGP route to obtain the second BGP route.
  • the following scenarios may be included.
  • the second node 202 has both a route reflection function and a forwarding function.
  • the second node 202 and the third node 203 are EBGP neighbors, the second node 202 sends the first BGP route to the third node 203.
  • the next hop information or segment identifier in the first BGP route was modified from the first node 201 to the second node 202 .
  • the second node 202 when the second node 202 is a node in the MVPN network, the second node 202 can modify the next hop information in the first BGP route to the device identifier corresponding to the second node 202, and the device identifier can be the second node 202 interface address or loopback address, etc.
  • the second node 202 when the second node 202 is a node in the SRv6 network and the second node 202 has a corresponding second segment identifier SID, the second node 202 uses the second SID to replace the first SID in the first BGP route to obtain an update
  • the first BGP route is the second BGP route.
  • the second node 202 may only modify the content of the BGP attribute in the first BGP route, for example, modify the information about forwarding the BGP route, without modifying the next hop information or segment in the first BGP route ID to obtain the second BGP route.
  • not modifying the next hop information or segment identifier in the first BGP route may include the following application scenarios: the second node 202 and the first node 201 belong to different BGP domains, that is, are EBGP neighbors, and the second node 202 and the first node 201 belong to different BGP domains.
  • the three nodes 203 belong to the same BGP domain, that is, the two are IBGP neighbors.
  • the second node 202 when the second node 202 sends the route learned from the EBGP neighbor to the IBGP neighbor, the second node 202 does not modify the next BGP route in the first BGP route. Hop information or segment identification. For example, if the first node 201 belongs to the autonomous area AS65022, and the second node 202 and the third node 203 belong to the autonomous area AS65300, the second node 202 may not modify the next hop information or segment identifier in the first BGP route. The next hop in the BGP route is still the first node 201 .
  • the second node 202 usually does not modify the next hop information in the first BGP route, even if the second node 202 and the third node 203 are EBGP neighbors.
  • S307 The second node 202 sends the second BGP route to the third node 203.
  • the second node 202 After the second node 202 obtains the second BGP route, it advertises the second BGP route to the EBGP neighbor or IBGP neighbor according to the BGP routing protocol, so that other nodes can learn the route to the first node 201 or the route to the second node 202 . Specifically, when the next hop in the second BGP route is the first node 201, the third node 203 can learn the route to the first node 201; when the next hop in the second BGP route is the second node 202 , the third node 203 can learn the route to the second node 202 .
  • S308 The third node 203 determines whether to iterate the second BGP route, and if so, executes S309; otherwise, executes S311.
  • the third node 203 when it obtains the second BGP route, it may determine whether to perform an iterative operation on the second BGP route according to its own configuration. For example, when the third node 203 only has a route reflection function, the third node 203 may be configured not to iterate over the second BGP route. When the third node 203 has both the route reflection function and the forwarding function, the third node 203 may be configured to iterate on the second BGP route. For the specific implementation of the configuration iteration operation of the third node 203, reference may be made to the relevant description of S303.
  • the third node 203 may search the routing forwarding table whether there is a route to the next BGP route according to the next hop information or segment identifier in the second BGP route.
  • the egress port of the hop node (the first node 201 or the second node 202). If the route forwarding table of the third node 203 does not have an egress port to the next hop node, the third node 203 fails to iterate the second BGP route, and the third node 203 executes S310.
  • the third node 203 If there is an egress port to the next-hop node in the routing forwarding table of the third node 202, the third node iterates the second BGP route successfully, and the third node 203 executes S309.
  • the third node 203 may also iterate according to the SID information, and the iteration of the second BGP route fails.
  • the third node 203 may determine that the iteration of the second BGP route fails according to the first SID or the second SID not stored locally. For the specific implementation of the failure of the third node 203 to iterate the second BGP route, reference may be made to the relevant description of S304.
  • S310 The third node 203 directs traffic forwarding according to the second BGP route.
  • the third node 203 when the third node 203 iterates the second BGP route successfully and the third node 203 is also used for traffic forwarding, the third node 203 delivers the forwarding path reaching the first node 201 to the forwarding plane or will arrive at the forwarding plane
  • the forwarding path of the second node 202 is delivered to the forwarding plane, so that the forwarding plane sends traffic to the first node 201 or the second node 202 according to the path information.
  • the third node 203 obtains the third BGP route according to the second BGP route.
  • the third node 203 if iterate the second BGP route, it directly obtains the third BGP route according to the second BGP route; or, the third node 203 iterates the second BGP route, and when the iteration fails, the third BGP route is The three nodes 203 may obtain the third BGP route according to the second BGP route; or, when the third node 203 iterates the second BGP route successfully, the third node 203 may obtain the third BGP route according to the second BGP route.
  • the third node 203 obtains the third BGP route according to the second BGP route.
  • the process of obtaining the third BGP route according to the second BGP route reference may be made to the relevant description in S306 about the second node 202 obtaining the second BGP route according to the first BGP route.
  • S312 The third node 203 sends the third BGP route to the fourth node 204.
  • the fourth node 204 may perform the following operations: after receiving the third BGP route, the fourth node 204 no longer forwards the route.
  • the fourth node 204 is a network device connected to the user equipment, such as PE2 or PE3 in FIG. 2b.
  • the fourth node 204 can iterate the third BGP route, and when the iteration is successful, it can establish a route to the third node 203, and deliver the relevant information of the route to the forwarding plane, so that the forwarding faces the third node 203 Send traffic.
  • This embodiment is described by taking the network system shown in FIG. 2b as an example.
  • PE1 as the first node 201 sends the first BGP route to RR1 as the second node 202, where in FIG. 2a RR1 is a route reflector with only route reflection function.
  • the second node 202 may not iterate the first BGP route, but directly obtain the second BGP route according to the first BGP route, and then send the second BGP route to the fourth node 204.
  • the method provided in this embodiment may also be applied to a possible network system architecture.
  • the network system includes more than three levels of RRs, and each level of RR can use the corresponding method provided by this embodiment to go to the next level.
  • the next-level network device sends a BGP route, and the next-level network device may be, for example, an RR with a route reflection function, or a client without a route reflection function.
  • FIG. 4 is a flowchart of another routing transmission method provided by the embodiments of the present application. As shown in FIG. 4 , the method may include:
  • the first network device obtains the first BGP route.
  • the first network device may be the first node 201, the second node 202, or the third node 203 described in the foregoing embodiments.
  • obtaining the first BGP route by the first network device may be that the first network device generates the first BGP route, or obtains the first BGP route from the controller.
  • obtaining the first BGP route may be that the first network device generates the first BGP route, or obtains the first BGP route from the controller.
  • the first network device may receive the BGP route sent by the third network device, which is an upper-level neighbor node.
  • the first network device is the second node 202
  • the upper-level neighbor node is the first node 201
  • the first node 201 sends the first BGP route to the first network device after generating the first BGP route.
  • S302 For the specific implementation of acquiring the first BGP route by the first network device, reference may be made to S302.
  • the first network device may receive the BGP route sent by the third network device that is an upper-level neighbor node.
  • the first network device is the third node 203
  • the upper-level neighbor node is the second node 202.
  • the second node 202 After acquiring the second BGP route, the second node 202 sends the second BGP route to the first network device.
  • S306 For the specific implementation of acquiring the first BGP route by the first network device, reference may be made to S306.
  • the first BGP route when the first BGP route is applied to the SRv6 network, the first BGP route includes a first segment identifier SID used to indicate the destination network device.
  • the first network device does not iterate the first BGP route, but directly forwards the first BGP route to the second network device.
  • the first BGP route may be directly forwarded to the second network device.
  • the first network device only has a route reflection function.
  • reference may be made to S306 or S311.
  • the first network device when the first network device needs to iterate the first BGP route and the iteration fails, in order to ensure that the first BGP route can still be advertised to other neighbor nodes, in this case, the first network device continues to the second network The device forwards the first BGP route.
  • the specific implementation of the first network device continuing to forward the first BGP route to the second network device may refer to or S306 or S311.
  • the first network device when the first network device fails to iterate the first BGP route, the first network device still forwards the first BGP route to the second network device, including: the first network device does not store the first BGP route locally. SID, it is determined that the first BGP route iteration fails; then the first network device forwards the first BGP route to the second network device.
  • the first network device may also perform route iteration according to the next hop information carried in the first BGP route, and determine that the first BGP route iteration fails.
  • the first network device may guide traffic forwarding according to the first BGP route. For example, the first network device searches for the egress port reaching the next hop in the first BGP route according to the first BGP route, and delivers information on the egress port reaching the next hop to the forwarding plane for subsequent traffic forwarding.
  • the first network device when the first network device is an intermediate node, the first network device obtains the first BGP route from the third network device; then the first network device instructs traffic forwarding according to the first BGP route to be, The first network device determines an egress port for reaching the third network device according to the first BGP route, so as to direct the forwarding of traffic destined for the third network device according to the egress port.
  • the first network device when the first network device is the third node 203, the first network device may obtain the second BGP route from the second node 202, and the first network device determines the egress port to the second node 202 according to the second BGP route.
  • an SRv6-BE-based tunnel is established between the third network device and the second network device; or an SRv6-TE-based tunnel is established between the third network device and the second network device.
  • the third network device is PE1 in Figure 2b
  • the second network device is PE2 or PE3 in Figure 2b
  • an SRv6-BE tunnel is established between PE1 and PE2
  • an SRv6-TE tunnel is established between PE1 and PE3.
  • the first network device when the first network device iterates the first BGP route successfully and the first network device has a corresponding segment identifier, that is, the second SID, the first network device is forwarding the first network device to the second network device. Before a BGP route, the first network device replaces the first SID in the first BGP route with the second SID to obtain an updated first BGP route, and then forwards the updated first BGP route to the second network device.
  • obtaining the updated first BGP route reference may be made to the relevant description of S306 or S310.
  • the first network device and the second network device are network devices based on the SRv6-BE tunnel; or, the first network device and the second network device are network devices based on the SRv6-TE tunnel .
  • the first network device and the second network device are EBGP neighbors, or the first network device and the second network device are IBGP neighbors.
  • the first network device may be the first route reflector RR.
  • the first network device is RR1 in Fig. 2a or RR1 or RR2 in Fig. 2b.
  • the first network device is a primary RR or a secondary RR.
  • the first network device is RR1 or RR2 in FIG. 2b.
  • the third network device may be a first operator edge (provider equipment, PE) device, and the second network device may be a second RR or a second PE device.
  • PE provider equipment
  • the third network device may be PE1 in FIG. 2a, and the second network device may be RR1 or PE2 in FIG. 2a.
  • the first network device and the second network device are applied to network devices in a multicast virtual private network MVPN scenario.
  • the apparatus 500 can be applied to a first network device to perform the functions of the first network device in the embodiment shown in FIG. 4 .
  • the apparatus 500 may include: an obtaining unit 501 and a sending unit 502 .
  • the obtaining unit 501 the user obtains the first border gateway protocol BGP route.
  • the specific implementation of the obtaining unit 201 obtaining the first BGP route may refer to S301 in the embodiment described in FIG. 3 .
  • the specific implementation of the obtaining unit 501 obtaining the first BGP route may refer to S302, S307 or S312.
  • the sending unit 502 is configured to directly forward the first BGP route to the second network device without iterating the first BGP route.
  • the sending unit 502 is further configured to forward the first BGP route to the second network device when the iteration of the first BGP route fails.
  • the sending unit 502 is further configured to direct traffic forwarding according to the first BGP route.
  • the apparatus has a route reflection function.
  • the first network device to which the apparatus 500 is applied may have a route reflection function, for example, the first network device is the second node 202 or the third node 203 .
  • the first BGP route is applied to a segment routing SRv6 network based on Internet Protocol version 6, and the first BGP route includes a first segment identifier SID used to indicate a destination network device.
  • the sending unit 502 when the iteration of the first BGP route fails, is specifically configured to determine that the iteration of the first BGP route fails according to the first SID not being stored locally; The second network device forwards the first BGP route.
  • the apparatus when the iteration of the first BGP route is successful, the apparatus further includes: a processing unit 503, configured to replace the first BGP route with the second SID to obtain the updated first BGP route; the sending unit 502 is configured to send the updated first BGP route to the second network device.
  • processing unit 503 and the sending unit 502 For the specific implementation of the processing unit 503 and the sending unit 502, reference may be made to the relevant description of S306 or S311.
  • the obtaining unit 501 is specifically configured to obtain the first BGP route from a third network device; the sending unit 502 is specifically configured to determine, according to the first BGP route, the route for reaching the destination.
  • the egress port of the third network device is used to guide the forwarding of the traffic sent to the third network device.
  • the apparatus and the second network device are network devices on a segment routing best-effort SRv6-BE tunnel based on Internet Protocol version 6; or, the apparatus and the second network device are The second network device is a network device on the SRv6-TE tunnel of segment routing traffic engineering based on Internet Protocol Version 6.
  • the first BGP route is received from a third network device, and segment routing based on Internet Protocol version 6 is established between the third network device and the second network device.
  • it is an SRv6-BE tunnel; or, a segment routing traffic engineering SRv6-TE tunnel based on Internet Protocol version 6 is established between the third network device and the second network device.
  • the apparatus and the second network device are external border gateway protocol EBGP neighbors, or the apparatus and the second network device are internal border gateway protocol IBGP neighbors.
  • the apparatus is the first route reflector RR.
  • the first network device applied by the apparatus 500 is the first route reflector RR, it is, for example, the second node 202 or the third node 203 .
  • the apparatus is a primary RR or a secondary RR.
  • the first network device applied by the apparatus 500 is a first-level RR or a second-level RR, for example, the first network device is the second node 202 or the third node 203 .
  • the third network device is an edge PE device of the first operator, and the second network device is a second RR or a second PE device.
  • the third network device is the first node 201
  • the second network device is the second node 202 or the third node 203 .
  • the apparatus and the second network device are network devices applied in a multicast virtual private network (MVPN) scenario.
  • MVPN virtual private network
  • the first network device and the second network device applied by the apparatus 500 may be network devices in the MVPN network.
  • FIG. 6 is a schematic structural diagram of a communication device provided by an embodiment of the present application, and the communication device may be, for example, the first node 201 , the second node 202 , the third node 203 or the fourth node 204 in the embodiment shown in FIG. 3 . , or may also be the first network device, the second network device, or the third network device in the embodiment shown in FIG. 4 , or may also be a device implementation of the packet transmission apparatus 500 in the embodiment shown in FIG. 5 .
  • the communication device 600 includes at least a processor 610 .
  • Communication device 600 may also include communication interface 620 and memory 630 .
  • the number of processors 610 in the communication device 600 may be one or more, and one processor is taken as an example in FIG. 6 .
  • the processor 610, the communication interface 620, and the memory 630 may be connected through a bus system or other manners, wherein the connection through the bus system 640 is taken as an example in FIG. 6 .
  • Processor 610 may be a CPU, NP, or a combination of CPU and NP.
  • the processor 610 may further include hardware chips.
  • the above-mentioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof.
  • the above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.
  • the processor 610 may perform related functions such as acquiring the first BGP route and iterating the first BGP route in the foregoing method embodiments.
  • the communication interface 620 is used for receiving and sending messages.
  • the communication interface 620 may include a receiving interface and a sending interface.
  • the receiving interface may be used to receive packets, and the sending interface may be used to send packets.
  • the number of communication interfaces 620 may be one or more.
  • the memory 630 may include a volatile memory (English: volatile memory), such as random-access memory (RAM); the memory 630 may also include a non-volatile memory (English: non-volatile memory), such as a fast memory A flash memory (English: flash memory), a hard disk drive (HDD) or a solid-state drive (SSD); the memory 630 may also include a combination of the above-mentioned types of memory.
  • the memory 630 may store the foregoing first BGP route, for example.
  • the memory 630 stores an operating system and programs, executable modules or data structures, or their subsets, or their extended sets, wherein the programs may include various operation instructions for implementing various operations.
  • the operating system may include various system programs for implementing various basic services and handling hardware-based tasks.
  • the processor 610 may read the program in the memory 630 to implement the message transmission method provided by the embodiment of the present application.
  • the memory 630 may be a storage device in the communication device 600 , or may be a storage device independent of the communication device 600 .
  • the bus system 640 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus or the like.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus system 640 can be divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, only one thick line is used in FIG. 6, but it does not mean that there is only one bus or one type of bus.
  • FIG. 7 is a schematic structural diagram of another communication device 700 provided by an embodiment of the present application.
  • the communication device 700 may be configured as the first node 201, the second node 202, the third node 203, or the fourth node 204 in the foregoing embodiments, Alternatively, it may also be the first network device, the second network device, or the third network device in the foregoing embodiment, or the device implementation of the packet transmission apparatus 500 in the embodiment shown in FIG. 5 .
  • the communication device 700 includes: a main control board 710 and an interface board 730 .
  • the main control board 710 is also called the main processing unit (main processing unit, MPU) or the route processing card (route processor card).
  • the main control board 710 controls and manages each component in the communication device 700, including route calculation, Equipment maintenance, protocol processing functions.
  • the main control board 710 includes: a central processing unit 711 and a memory 712 .
  • the interface board 730 is also referred to as a line processing unit (LPU), a line card or a service board.
  • the interface board 730 is used to provide various service interfaces and realize data packet forwarding.
  • the service interface includes, but is not limited to, an Ethernet interface, a POS (Packet over SONET/SDH) interface, etc.
  • the Ethernet interface is, for example, a flexible Ethernet service interface (Flexible Ethernet Clients, FlexE Clients).
  • the interface board 730 includes: a central processing unit 731 , a network processor 732 , a forwarding table entry memory 734 and a physical interface card (ph8sical interface card, PIC) 733 .
  • the central processing unit 731 on the interface board 730 is used to control and manage the interface board 730 and communicate with the central processing unit 711 on the main control board 710 .
  • the network processor 732 is used to implement packet forwarding processing.
  • the network processor 732 may be in the form of a forwarding chip.
  • the processing of the uplink packet includes: processing of the incoming interface of the packet, and searching of the forwarding table; processing of the downlink packet: searching of the forwarding table, and so on.
  • the physical interface card 733 is used to realize the interconnection function of the physical layer, the original traffic enters the interface board 730 through this, and the processed packets are sent from the physical interface card 733 .
  • the physical interface card 733 includes at least one physical interface, and the physical interface is also called a physical port.
  • the physical interface card 733 corresponds to the FlexE physical interface 204 in the system architecture 200 .
  • the physical interface card 733 is also called a daughter card, which can be installed on the interface board 730 , and is responsible for converting the photoelectric signal into a message, checking the validity of the message and forwarding it to the network processor 732 for processing.
  • the central processor 731 of the interface board 730 can also perform the functions of the network processor 732 , such as implementing software forwarding based on a general-purpose CPU, so that the network processor 732 is not required in the physical interface card 733 .
  • the communication device 700 includes a plurality of interface boards.
  • the communication device 700 further includes an interface board 740 .
  • the interface board 740 includes a central processing unit 741 , a network processor 742 , a forwarding table entry storage 744 and a physical interface card 743 .
  • the communication device 700 further includes a switch fabric board 720 .
  • the switch fabric unit 720 may also be referred to as a switch fabric unit (switch fabric unit, SFU).
  • SFU switch fabric unit
  • the switching network board 720 is used to complete data exchange between the interface boards.
  • the interface board 730 and the interface board 740 can communicate through the switch fabric board 720 .
  • the main control board 710 and the interface board 730 are coupled.
  • the main control board 710 , the interface board 730 , the interface board 740 , and the switch fabric board 720 are connected to the system backplane through a system bus to achieve intercommunication.
  • an inter-process communication (IPC) channel is established between the main control board 710 and the interface board 730, and the main control board 710 and the interface board 730 communicate through the IPC channel.
  • IPC inter-process communication
  • the communication device 700 includes a control plane and a forwarding plane
  • the control plane includes a main control board 710 and a central processing unit 731
  • the forwarding plane includes various components that perform forwarding, such as forwarding entry storage 734, physical interface card 733, and network processing device 732.
  • the control plane performs functions such as routers, generating forwarding tables, processing signaling and protocol packets, and configuring and maintaining the status of devices.
  • the control plane issues the generated forwarding tables to the forwarding plane.
  • the network processor 732 is based on the control plane.
  • the delivered forwarding table forwards the packets received by the physical interface card 733 by looking up the table.
  • the forwarding table issued by the control plane may be stored in the forwarding table entry storage 734 .
  • the control plane and forwarding plane may be completely separate and not on the same device.
  • the central processor 711 may obtain the first BGP route, and iterate over the first BGP route.
  • the network processor 732 may trigger the physical interface card 733 to forward the first BGP route to the second network device.
  • the sending unit 502 and the like in the message transmission apparatus 500 may be equivalent to the physical interface card 733 or the physical interface card 743 in the communication device 700; the acquiring unit 501 and the processing unit 503 and the like in the message transmission apparatus 700 may be equivalent to The central processing unit 711 or the central processing unit 731 in the communication device 700 .
  • the operations on the interface board 740 in the embodiments of the present application are the same as the operations on the interface board 730 , and for brevity, details are not repeated here.
  • the communication device 700 in this embodiment may correspond to the first network device, the second network device, or the third network device in the foregoing method embodiments, and the main control board 710 , the interface board 730 and the /or the interface board 740 may implement the functions and/or various steps performed by the first network device, the second network device, or the third network device in the above method embodiments, which are not repeated here for brevity .
  • main control boards there may be one or more main control boards, and when there are more than one main control board, it may include an active main control board and a backup main control board.
  • a network device may have at least one switching network board, and the switching network board realizes data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of network devices in a distributed architecture are greater than those in a centralized architecture.
  • the form of the network device can also be that there is only one board, that is, there is no switching network board, and the functions of the interface board and the main control board are integrated on this board.
  • the central processing unit on the board can be combined into a central processing unit on this board to perform the functions of the two superimposed, the data exchange and processing capacity of this form of equipment is low (for example, low-end switches or routers and other networks. equipment).
  • the specific architecture used depends on the specific networking deployment scenario.
  • the above-mentioned first network device, second network device or third network device may be implemented as a virtualized device.
  • the virtualization device may be a virtual machine (English: Virtual Machine, VM) running a program for sending a message, and the virtual machine is deployed on a hardware device (for example, a physical server).
  • a virtual machine refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment.
  • the virtual machine can be configured as a first network device or a second network device.
  • the first network device, the second network device, or the third network device may be implemented based on a general-purpose physical server in combination with a network function virtualization (Network Functions Virtualization, NFV) technology.
  • Network Functions Virtualization Network Functions Virtualization
  • the first network device, the second network device or the third network device is a virtual host, a virtual router or a virtual switch.
  • Those skilled in the art can virtualize a first network device, a second network device or a third network device having the above functions on a general physical server in combination with the NFV technology by reading this application, and details are not described herein again.
  • network devices of the various product forms mentioned above respectively have any of the functions of the first network device, the second network device or the third network device in the above method embodiments, which will not be repeated here.
  • An embodiment of the present application also provides a chip, including a processor and an interface circuit, where the interface circuit is used to receive instructions and transmit them to the processor; the processor, for example, may be one of the message transmission apparatuses 500 shown in FIG. 5 .
  • the specific implementation form can be used to execute the above method for message transmission.
  • the processor is coupled to a memory, and the memory is used to store programs or instructions, and when the programs or instructions are executed by the processor, the chip system enables the method in any of the foregoing method embodiments.
  • 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 system-on-chip may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or a system on chip (SoC), It can also be a central processing unit (CPU), a network processor (NP), a digital signal processing circuit (DSP), or a microcontroller (microcontroller).
  • controller unit, MCU it can also be a programmable logic device (PLD) or other integrated chips.
  • Embodiments of the present application also provide a computer-readable storage medium, including instructions or computer programs, which, when executed on a computer, cause the computer to execute the message transmission method provided by the above embodiments.
  • the embodiments of the present application also provide a computer program product including an instruction or a computer program, which, when running on a computer, enables the computer to execute the message transmission method provided by the above embodiments.
  • At least one (item) refers to one or more, and "a plurality” refers to two or more.
  • “And/or” is used to describe the relationship between related objects, indicating that there can be three kinds of relationships, for example, “A and/or B” can mean: only A, only B, and both A and B exist , where A and B can be singular or plural.
  • the character “/” generally indicates that the associated objects are an “or” relationship.
  • 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 (a) of a, b or c can mean: a, b, c, "a and b", “a and c", “b and c", or "a and b and c" ", where a, b, c can be single or multiple.
  • a software module can be placed in random access memory (RAM), internal memory, read only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other in the technical field. in any other known form of storage medium.
  • RAM random access memory
  • ROM read only memory
  • electrically programmable ROM electrically erasable programmable ROM
  • registers hard disk, removable disk, CD-ROM, or any other in the technical field. in any other known form of storage medium.

Landscapes

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

Abstract

本申请实施例公开了一种报文传输方法及装置,当第一网络设备获取到第一BGP路由时,可以不对第一BGP路由进行迭代操作,直接将第一BGP路由发送给第二网络设备。或者,第一网络设备对第一BGP路由进行迭代操作,在第一BGP路由迭代失败时,第一网络设备仍向第二网络设备发送第一BGP路由。也就是,无论第一网络设备是否进行迭代,或者在迭代失败的情况下,第一网络设备均可以将所接收的第一BGP路由转发给第二网络设备,以使得第二网络设备可以学习第一BGP路由,无需部署额外业务,提高第一网络设备发布第一BGP路由的效率。

Description

一种路由传输方法及装置 技术领域
本申请涉及通信技术领域,具体涉及一种路由传输方法及装置。
背景技术
在数据传输过程中,为保证内部边界网关协议(internal border gateway protocol,IBGP)对等体(peer)之间的连通性,需要在IBGP对等体之间建立全连接。如图1a所示,在一个自治域(AS)中包括4个路由器(IBGP对等体),为保证路由器之间的联通性,需要建立6条IBGP连接。当AS包括较多的路由器时,需要建立的IBGP连接数较大,对网络资源和控制器资源的消耗非常大。为解决上述问题,提出利用路由反射方案。具体为,在一个AS内,将其中一个路由器作为路由反射器(router reflector,RR),其它路由器作为客户机分别与RR建立IBGP连接,客户机之间无需建立IBGP连接,RR向各个客户机传递路由信息,或称反射路由信息。如图1b所示,将R0作为RR,分别与R1、R2和R3之间建立IBGP连接。
在实际应用中,按照当前BGP协议标准,一台网络设备在接收到路由后,需要通过路由中携带的下一跳信息,校验该路由下一跳的可达性,只有确认路由下一跳可达时,才对该路由进行转发。如此,对于支持BGP协议的RR而言,RR在接收到路由后,也需对路由下一跳的可达性进行校验,仅当确定下一跳路由可达时对该路由进行反射。例如,图1b所示,RR接收到R1发送的路由信息后,需要校验RR到达R1的路由是否处于活跃状态。当RR到达R1的路由处于活跃状态时,RR将R1发送的路由信息反射给R2和R3。然而,在一些应用场景中,RR仅提供路由反射功能,无需对数据报文进行转发,RR执行校验的操作影响路由发布效率。此外,在一些可能的应用场景中,如利用基于互联网协议版本6的段路由协议(segment routing on internet protocol version 6,SRv6)公网传输互联网协议版本4(internet protocol version 4,IPv4)的数据的场景下,网络设备通过段标识(segment identity,SID)属性检验路由的可达性。然而,RR通常没有位置(locator)信息,导致RR无法通过SID迭代路由。为保证路由信息的正常反射,需要为RR配置缺省路由,以便在确定缺省路由处于活跃状态时,RR再将接收的路由反射出去。这样,增加额外部署业务的工作量。
发明内容
有鉴于此,本申请实施例提供一种路由传输方法及装置,无需校验下一跳可达性,减少额外业务的部署。
为解决上述问题,本申请实施例提供的技术方案如下:
第一方面,提供了一种报文传输方法,该方法包括:第一网络设备获取第一边界网关协议BGP路由;第一网络设备不对第一BGP路由进行迭代,直接将第一BGP路由转发给第二网络设备。或者,第一网络设备对第一BGP路由进行迭代,在迭代失败时,第一网络设备仍向第二网络设备转发第一BGP路由。也就是,在该实现方案中,第一网络设备可以为网络中的任意网络设备,当需要广播第一BGP路由时,第一网络设备在获取第一BGP路由后,可以根据本地配置的策略决定是否对第一BGP路由进行 迭代。无论第一网络设备是否进行迭代,或者在迭代失败的情况下,第一网络设备均可以将所接收的第一BGP路由转发给第二网络设备,以使得第二网络设备可以学习第一BGP路由,无需部署额外业务,提高第一网络设备发布第一BGP路由的效率。例如,第一网络设备为路由反射器,在路由反射器不参与后续报文转发的情况下,可以不对第一BGP路由进行迭代,直接将该第一BGP路由转发给第二网络设备。
在一种具体的实施方式中,在第一网络设备对第一BGP路由迭代成功时,所述方法还包括:第一网络设备根据第一BGP路由知道流量转发。在该实现方式中,在第一网络设备参与后续报文转发时,其对第一BGP路由迭代成功后,可以将第一BGP路由下发至转发面,以便在接收到流量时,可以根据第一BGP路由转发流量。
在一种具体的实施方式中,第一网络设备具有路由反射功能。例如,第一网络设备为路由反射器,其在接收到第一BGP路由后,可以不对第一BGP路由进行迭代,直接将接收到第一BGP路由反射给第二网络设备。
在一种具体的实施方式中,所述第一BGP路由应用于基于第六版互联网协议的段路由SRv6网络,所述第一BGP路由包括用于指示目的网络设备的第一段标识SID。在该实现方式中,对于SRv6网络,由于各网络设备是根据段标识转发报文,因此,在广播第一BGP路由时,该第一BGP路由将包括指示目的网络设备的第一段标识SID,以使得其它网络设备可以根据该第一段标识SID将报文转发至目的网络设备。
在一种具体的实施方式中,在第一网络设备对第一BGP路由迭代失败时,所述第一网络设备仍向第二网络设备转发第一BGP路由,包括:第一网络设备根据本地未存储第一SID,确定第一BGP路由迭代失败;第一网络设备向第二网络设备转发第一BGP路由。也就是,在SRv6网络中,如果第一网络设备未存储第一SID,其不具备感知SID的能力,无法根据SID进行路由迭代,则确定第一BGP路由迭代失败。
在一种具体的实施方式中,在第一网络设备对第一BGP路由迭代成功时,所述方法还包括:第一网络设备使用第二SID替换第一BGP路由中的第一SID,以获取更新的第一BGP路由;所述第一网络设备向第二网络设备发送更新的第一BGP路由。在该实现方式中,在第一网络设备对第一BGP路由迭代成功时,表明第一网络设备具有感知SID的能力,如果第一网络设备分配由对应的第二SID,则将第一BGP路由中的第一SID替换为第二SID,更新第一BGP路由,从而使得第二网络设备可以学习到达第一网络设备的路由。
在一种具体的实施方式中,所述第一网络设备获取第一BGP路由,包括:所述第一网络设备从第三网络设备获取所述第一BGP路由;所述第一网络设备根据所述第一BGP路由指导流量转发,包括:所述第一网络设备根据所述第一BGP路由确定用于到达所述第三网络设备的出端口,以指导发往所述第三网络设备的流量的转发。
在一种具体的实施方式中,所述第一网络设备和所述第二网络设备为基于第六版互联网协议的段路由尽力而为SRv6-BE隧道上的网络设备;或者,所述第一网络设备和所述第二网络设备为基于第六版互联网协议的段路由流量工程SRv6-TE隧道上的网络设备。
在一种具体的实施方式中,所述第一BGP路由是从第三网络设备接收的,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由尽力而为SRv6-BE隧道;或者,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由流量工程SRv6-TE隧道。
在一种具体的实施方式中,所述第一网络设备与所述第二网络设备为外部边界网关协议EBGP邻居,或者所述第一网络设备与所述第二网络设备为内部边界网关协议IBGP邻居。
在一种具体的实施方式中,所述第一网络设备为第一路由反射器RR。
在一种具体的实施方式中,所述第一网络设备为一级RR或二级RR。
在一种具体的实施方式中,所述第三网络设备为第一运营商边缘PE设备,所述第二网络设备为第二RR或第二PE设备。
在一种具体的实施方式中,所述第一网络设备和所述第二网络设备为应用于组播虚拟专用网MVPN场景的网络设备。
第二方面,本申请实施例提供了一种报文传输装置,其特征在于,所述装置包括:获取单元,用户获取第一边界网关协议BGP路由;发送单元,用于在不对所述第一BGP路由进行迭代,直接向第二网络设备转发所述第一BGP路由;所述发送单元,还用于在对所述第一BGP路由迭代失败时,仍向第二网络设备转发所述第一BGP路由。
在一种具体的实施方式中,在对所述第一BGP路由迭代成功时,所述发送单元,还用于根据所述第一BGP路由指导流量转发。
在一种具体的实施方式中,所述装置具有路由反射功能。
在一种具体的实施方式中,所述第一BGP路由应用于基于第六版互联网协议的段路由SRv6网络,所述第一BGP路由包括用于指示目的网络设备的第一段标识SID。
在一种具体的实施方式中,在对所述第一BGP路由迭代失败时,所述发送单元,具体用于根据本地未存储所述第一SID,确定第一BGP路由迭代失败;向所述第二网络设备转发所述第一BGP路由。
在一种具体的实施方式中,在对所述第一BGP路由迭代成功时,所述装置还包括:处理单元,用于使用第二SID替换所述第一BGP路由中的所述第一SID,以获取更新的第一BGP路由;所述发送单元,用于向所述第二网络设备发送更新的第一BGP路由。
在一种具体的实施方式中,所述获取单元,具体用于从第三网络设备获取所述第一BGP路由;所述发送单元,具体用于根据第一BGP路由确定用于到达所述第三网络设备的出端口,以指导发往所述第三网络设备的流量的转发。
在一种具体的实施方式中,所述装置和所述第二网络设备为基于第六版互联网协议的段路由尽力而为SRv6-BE隧道上的网络设备;或者,所述装置和所述第二网络设备为基于第六版互联网协议的段路由流量工程SRv6-TE隧道上的网络设备。
在一种具体的实施方式中,所述第一BGP路由是从第三网络设备接收的,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由尽力而为SRv6-BE隧道;或者,所述第三网络设备和所述第二网络设备之间建立基于第六版互 联网协议的段路由流量工程SRv6-TE隧道。
在一种具体的实施方式中,所述装置与所述第二网络设备为外部边界网关协议EBGP邻居,或者所述装置与所述第二网络设备为内部边界网关协议IBGP邻居。
在一种具体的实施方式中,所述装置为第一路由反射器RR。
在一种具体的实施方式中,所述装置为一级RR或二级RR。
在一种具体的实施方式中,所述第三网络设备为第一运营商边缘PE设备,所述第二网络设备为第二RR或第二PE设备。
在一种具体的实施方式中,所述装置和所述第二网络设备为应用于组播虚拟专用网MVPN场景的网络设备。
第三方面,提供了一种通信设备,包括:处理器,存储器;所述存储器,用于存储计算机可读指令或者计算机程序;所述处理器,用于读取所述计算机可读指令或所述计算机程序,以使得所述通信设备实现第一方面所述的报文传输方法。
第四方面,提供了一种计算机可读存储介质包括指令或计算机程序,当其在计算机上运行时,使得计算机执行第一方面所述的报文传输方法。
根据本申请实施例提供的技术方案,当第一网络设备获取到第一BGP路由时,可以不对第一BGP路由进行迭代操作,直接将第一BGP路由发送给第二网络设备。或者,第一网络设备对第一BGP路由进行迭代操作,在第一BGP路由迭代失败时,第一网络设备仍向第二网络设备发送第一BGP路由。也就是,无论第一网络设备是否进行迭代,或者在迭代失败的情况下,第一网络设备均可以将所接收的第一BGP路由转发给第二网络设备,以使得第二网络设备可以学习第一BGP路由,无需部署额外业务,提高第一网络设备发布第一BGP路由的效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为一种BGP网络架构中全连接示意图;
图1b为一种BGP网络架构中路由反射示意图;
图2a为本申请实施例提供的一种应用场景示意图;
图2b为本申请实施例提供的另一种应用场景示意图;
图3为本申请实施例提供的一种路由传输流程图;
图4为本申请实施例提供的另一种路由传输流程图;
图5为本申请实施例提供的一种报文传输装置结构图;
图6为本申请实施例提供的一种通信设备结构图;
图7为本申请实施例提供的另一种通信设备结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附 图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,都应当属于本发明保护的范围。
为便于理解本申请的具体实现,下面将先对本申请涉及的网元和技术名称进行说明。
段路由(segment routing,SR)协议是一种源路由协议,由源节点为应用报文指定路径,并将路径转换成一个有序的段(Segment)列表封装到报文头中,路径上的中间节点只需要根据报文头中指定的路径进行转发。SR的基本理念是把网络分为不同的段(Segment),通过将这些段拼接起来指导报文按指定的路径转发,具体利用段标识(segment identifier,SID)来标识一个段。当SR部署在IPv6数据平面上时,可称为SRv6技术。
在SRv6应用中,转发路径信息由包含段标识列表(SID list)的段路由头(segment routing header,SRH)携带。SID list包括依次排列的多个段标识(SID),分别表示多个段,每个段为处理报文的指令或指令集合。每个SID可以包括位置(locator)字段和功能(function)字段。其中,locator字段的内容也可以简称为locator,是在网络拓扑中分配给一个网络节点的标识,用于在网络拓扑中标识该网络节点。function字段的内容也可以简称为function,用于表示处理报文的指令或指令集合,相当于计算机指令的操作码。当function所表示的指令或指令集合在网络节点上被执行时,将使得网络节点执行相应的转发行为(behavior)。
组播虚拟专用网(multicast virtual private network,MVPN),是指在边界网关协议(BGP)/多协议标签交换(multi-protocol label switching,MPLS)网络的虚拟专用网(VPN)中实现组播业务。在MVPN网络中,提供了基于BGP或隧道的信令传递模式和独立组播稀疏模式(protocol independent multicast-sparse mode,PIM-SM)、独立组播-源特定组播(protocol independent multicast-source specific multicast,PIM-SSM)、组播标签分发协议(multicast label distribution protocol,MLDP)等多种数据承载模式。
路由迭代(route recursion),是指由于BGP协议本身的特殊性,它产生的路由的下一跳可能不是当前路由器直接相连的网络设备。常见的一个原因是:对于任意两个相邻的路由器,在其为内部边界网关协议(Internal BGP,IBGP)邻居时,发布路由信息时不改变下一跳。这种情况下为了能够将报文正确转发出去,路由器必须先找到一个直接可达的地址,通过这个地址到达路由转发表中指示的下一跳所对应的网络设备。在上述过程中,去往直接可达地址的路由被称为依赖路由,BGP路由依赖这些路由指导报文转发,根据下一跳地址找到依赖路由的过程即可称为路由迭代。
参见图2a所示的一种应用场景示意图,在该网络系统中,以包括一级路由反射设备为例进行说明。具体包括,路由反射设备RR1、网络设备PE1和网络设备PE2和网络设备P,其中,网络设备PE1和网络设备PE2作为路由反射设备RR1对应的客户机,PE1与PE2互为peer,网络设备P为网络设备PE1与网络设备PE2之间的转发设备,例如可以是服务提供商网络中的骨干设备。其中,RR1、PE1与PE2可以为基于IPv6的段路由尽力而为而为(segment routing best-effort,SRv6-BE)隧道上的网络设备;或者,RR1、PE1和PE2可以为基于IPv6的段路由流量工程((segment routing traffic engineering SRv6-TE)隧道上的网络设备。
在一种可能的情况下,路由反射设备RR1具备路由反射功能,但不具备流量转发功能, 则在该情况下,RR1将从PE1接收的BGP路由反射给PE2,但并不指导后续流量转发。或者,在另一种可能的情况下,RR1同时具有路由反射功能和转发功能,在该情况下,RR1不仅将从PE1接收的BGP路由发送给PE2,还要建立到达PE1的路由,以便指导后续流量转发。该情况下,RR1实际可作为PE1与PE2之间的转发节点,例如,图2a中的RR1和P设备在此情况下可以为同一网络设备,该P设备因此同时具有实现路由反射功能和流量转发功能的部件。
再例如图2b所示的另一种应用场景示意图,在该网络系统中以包括两级路由反射设备为例进行说明。具体地,该网络系统包括一级路由反射设备RR1和二级路由反射设备RR2。其中,一级路由反射设备RR1分别与PE1、RR2连接,此时PE1和RR2相对于RR1也可以称为RR1的客户机,PE1与RR2互为peer。二级路由反射设备RR2分别与PE2和PE3连接,此时PE2和PE3相对于RR2为执行客户机角色的网络设备,PE2与PE3互为peer。其中,PE1、RR1、RR2以及PE2可以为一条SRv6-BE隧道上的网络设备;PE1、RR1、RR2以及PE3可以为另一条SRv6-BE隧道上的网络设备。或者,PE1、RR1、RR2以及PE2可以为一条SRv6-TE隧道上的网络设备;PE1、RR1、RR2以及PE3可以为另一条SRv6-TE隧道上的网络设备。
其中,图2a和图2b示出的系统所包括的各个网络设备也可以称为节点,为网络系统中具有路由反射功能和/或报文转发功能的设备,例如,可以为路由器、交换机、转发器、反射器或者标签交换路由器(label switching router,LSR)等,具体可以根据实际应用场景和需求设置各个节点可实现的功能。在图2a所示的应用场景下,存在一条路由传输路径PE1-RR-PE2。在图2b所示的应用场景下,存在两条路由传输路径,即PE1-RR1-RR2-PE2和PE1-RR1-RR2-PE3。
为便于理解,下面将结合图2b所示的网络系统结构为例进行说明,例如,PE1为第一节点201、RR1为第二节点202、RR2为第三节点203、PE2或PE3为第四节点204。下述实施例中命名的第一节点201、第二节点202、第三节点203和第四节点204角色主要用于区分描述发布BGP路由的过程中不同角色的网络设备可以执行的相应功能,而不同角色的网络设备在网络拓扑中所处的位置及个数可以结合不同的业务场景具体确定,其中,在一些可能的场景下,承担某种角色的网络设备在传输路径上的个数可以为0。
参见图3,该图为本申请实施例提供的一种路由传输方法的流程图,如图3所示,该方法可以包括:
S301:第一节点201获取第一BGP路由。
本实施例中,在第一节点201为报文传输时对应的出口设备时,第一节点201可以生成第一BGP路由,该第一BGP路由中可以携带第一节点201的设备标识,该设备标识可以唯一地标识第一节点201,如第一节点201的接口互联网协议(Internet protocol,IP)地址或环回(loopback)地址。作为发布路由的第一节点201,第一BGP路由中的私网路由还可以携带第一节点201分配的业务标识,如VPN标识,以使得网络中的邻居节点可以学习到达第一节点201的私网路由,并可以在向第一节点201发送的该业务的报文中携带该业务标识,如携带在诸如目的地址(destination address,DA)字段,以指示该第一节点201接收并转发该报文。
在一种示例中,当第一节点201位于MVPN网络时,第一BGP路由中的下一跳属性字段 所携带的设备标识可以为第一节点201的接口地址、或环回loopback地址等。例如,以图2b为例,第一节点201为网络设备PE1,该网络设备PE1对应的loopback地址为1::1\128,则第一BGP路由中的下一跳字段为1::1\128。
在另一种示例中,当第一节点201位于SRv6网络时,设备标识可以为指示网络设备的段标识SID,即第一节点201对应的段标识SID。例如,以图2b为例,第一节点201为网络设备PE1,该网络设备PE1的段标识SID为1001::1,则第一BGP路由中的第一段标识SID为1001::1。进一步地,当第一节点201为SRv6-BE隧道上的网络设备时,第一节点201在发布第一BGP路由时,该第一BGP路由中目的地址DA字段所对应的段标识SID保持不变,均指示第一节点201,以使得网络中各个节点均可以学习到达第一节点201的路由。当第一节点201为SRv6-TE隧道上的网络设备时,第一节点201在发布第一BGP路由的过程中,第一BGP路由中目的地址DA字段所对应的段标识是在不断变化的,位于网络中的各个节点在接收到其邻居节点发送的BGP路由时,当中间节点存在对应的段标识时,中间节点可以更新第一BGP路由中的DA字段,以使得DA字段所对应的段标识为当前节点的段标识,进而使得该中间节点对应的邻居节点接收到该中间节点发送的BGP路由时,可以学习到达该中间节点的路由。
S302:第一节点201向第二节点202发送第一BGP路由。
在第一节点201获得自身对应的第一BGP路由,则根据BGP路由协议向网络中的其他邻居节点发布第一BGP路由,以使得其他邻居节点可以学习到达第一节点201的路由,进而建立到达第一节点201的转发路径。其中,第一节点201与第二节点202可以为外部边界网关协议(external BGP,EBGP)邻居,即第一节点201与第二节点202分别属于不同的自治系统(autonomous system,AS),例如,第一节点201位于AS1域,第二节点202位于AS2域。或者,第一节点201与第二节点202也可以为IBGP邻居,即第一节点201与第二节点202属于同一AS域。
S303:第二节点202确定是否对第一BGP路由进行迭代,如果是,执行S304,否则,执行S306。
本实施例中,为解决第二节点202仅在迭代成功时,将所接收的第一BGP路由转发给其他节点,导致在一些可能的应用场景下路由反射效率低下的问题,可以预先在第二节点202配置针对该第一BGP路由的转发策略,例如,将第二节点202配置为在接收到第一BGP路由时,不对第一BGP路由进行迭代操作;或者,将第二节点202配置为在接收到第一BGP路由时,对第一BGP路由进行迭代操作,当迭代失败时,也仍向其他节点转发所接收的第一BGP路由。
在一种示例中,当第二节点202仅具备路由反射功能时,例如,第二节点202为路由反射器,可以在第二节点202配置不对第一BGP路由进行迭代操作。
在另一种示例中,当第二节点202既具备路由反射功能以及转发功能时,例如,第二节点202为图2b中具有路由反射功能的RR1且RR1也同时作为网络中的报文转发节点,则在该第二节点202配置对第一BGP路由进行迭代操作。在该情况下,为保证路由的正常转发,还可进一步地配置,在第二节点202对第一BGP路由进行迭代操作时,即使迭代失败,第二 节点202也执行S306,根据第一BGP路由获得第二BGP路由。
以上示例仅作为一种实现方式,在其他可能的应用场景或设计方式中,用户可以根据实际应用情况,对第二节点202进行不同的配置,例如,在第二节点202接收到第一节点201发送的第一BGP路由时,第二节点202默认该第一BGP路由的状态为活跃状态,无需进行迭代操作,直接执行S306,获得第二BGP路由。
在第二节点202在获取第一BGP路由时,可以根据自身的配置确定是否对第一BGP路由进行迭代操作。在第二节点202确定需要对第一BGP路由进行迭代操作,执行S304;如果不需要对第一BGP路由进行迭代操作,则执行S306。其中,迭代第一BGP路由包括,第二节点202根据第一BGP路由从路由转发表中查找是否存在到达第一节点201的出端口。例如,在MVPN网络中,第二节点202根据第一BGP路由中的下一跳信息查找是否存在到达第一节点201的出端口;或者,在SRv6网络中,第二节点202根据第一BGP路由中的第一段标识SID查找是否存在到达第一节点201的出端口。
S304:第二节点202对第一BGP路由进行迭代,在迭代结果为迭代失败时,执行S306;在迭代结果为迭代成功时,执行S305。
本实施例中,当第二节点202需要对第一BGP路由进行迭代时,第二节点202根据第一BGP路由中的设备标识从路由转发表中查找是否存在到达下一跳节点(第一节点201)的出端口。如果第二节点202的路由转发表中不存在到达第一节点201的出端口,则第二节点202迭代第一BGP路由失败,第二节点202执行S306;如果第二节点202的路由转发表中存在到达第一节点201的出端口,则第二节点202迭代第一BGP路由成功,第二节点202执行S305。
其中,迭代路由失败,可以包括以下示例:
一种示例,在SRv6网络中,网络中各个节点基于报文所携带的SID指导报文转发,并非基于下一跳信息指导报文转发。因此,在路由发布过程中,SRv6网络中的节点基于SID迭代路由。而对于SRv6网络中的一些节点,例如只执行路由反射的节点,其不具备感知SID的能力,无法根据SID进行路由迭代。也就是,对于该类节点,其在根据SID迭代路由时,将迭代失败。基于此,第二节点202迭代第一BGP路由失败,可以为第二节点202根据本地未存储第一SID,则确定迭代第一BGP路由失败。也就是,第二节点202从第一BGP路由中获取第一SID,并从自身对应的路由转发表中查找与该第一SID所对应的出端口,如果路由转发表中未存储包括该第一SID的表项,则无法命中该路由转发表,因而路由迭代失败。如果路由转发表的表项中存在第一SID时,则可以查找确定到达第一SID所对应网络设备的出端口,迭代成功,以使得第二节点202后续可以根据该出端口指导流量向第一节点201转发。
在另一种示例中,在MVPN网络中,第二节点202迭代第一BGP路由失败可以为,第二节点202根据第一BGP路由中携带的下一跳信息迭代路由失败。
S305:第二节点202根据第一BGP路由指导流量转发。
本实施例中,当第二节点202迭代第一BGP路由成功且第二节点202还具有转发功能时,第二节点202将到达第一节点201的转发路由下发至转发面,以便转发面根据下发的路由向第一节点201发送流量。
S306:第二节点202根据第一BGP路由获得第二BGP路由。
在本实施例中,如果第二节点202不对第一BGP路由进行迭代,则直接根据第一BGP路由获得第二BGP路由;或者,第二节点202对第一BGP路由迭代失败时,也可以根据第一BGP路由获得第二BGP路由;或者第二节点202对第一BGP路由迭代成功时,可以根据第一BGP路由获得第二BGP路由。
其中,对于第二节点202根据第一BGP路由获取第二BGP路由,可以分为以下应用场景:
在一种示例中,当第二节点202不对第一BGP路由进行迭代,直接根据第一BGP路由获得第二BGP路由,或者第二节点202对第一BGP路由迭代失败时,第二节点202仅修改第一BGP路由中BGP属性的内容,例如在BGP属性中添加第二节点202的路由器标识(router identifier)或其他标识信息到BGP簇列表(cluster list)属性中,该簇列表可以用于避免环路。在该示例中,第二节点202不修改第一BGP路由中的下一跳信息或段标识,以获得第二BGP路由。在该示例中,第二节点202可以只具有路由反射功能,或者也可以基于其他需求设置第二节点202不对BGP路由进行迭代,或者迭代失败时仍转发。
在另一种示例中,当第二节点202对第一BGP路由迭代成功时,第二节点202可以通过以下方式获得第二BGP路由。在一种可能的情形中,第二节点202可以修改第一BGP路由中的下一跳信息或段标识,以获得第二BGP路由。具体地可以包括以下场景,第二节点202同时具有路由反射功能和转发功能,当第二节点202与第三节点203为EBGP邻居时,第二节点202将第一BGP路由发送给第三节点203之前,将第一BGP路由中的下一跳信息或段标识由第一节点201修改为第二节点202。例如,第二节点202为MVPN网络中的节点时,第二节点202可以将第一BGP路由中的下一跳信息修改为第二节点202对应的设备标识,该设备标识可以为第二节点202的接口地址或loopback地址等。或者,当第二节点202为SRv6网络中的节点且第二节点202存在对应的第二段标识SID时,第二节点202使用第二SID替换第一BGP路由中的第一SID,以获取更新的第一BGP路由,即第二BGP路由。在另一种可能的情形中,第二节点202可以仅修改第一BGP路由中BGP属性的内容,例如修改关于转发BGP路由的信息,而不修改第一BGP路由中的下一跳信息或段标识,从而获得第二BGP路由。其中,不修改第一BGP路由中的下一跳信息或段标识可以包括以下应用场景:第二节点202与第一节点201分别属于不同的BGP域,即为EBGP邻居,第二节点202与第三节点203属于同一BGP域,即二者为IBGP邻居,也就是,第二节点202将从EBGP邻居学习到的路由发送给IBGP邻居时,第二节点202不修改第一BGP路由中的下一跳信息或段标识。例如,第一节点201属于自治域AS65022,第二节点202和第三节点203属于自治域AS65300,则第二节点202可以不修改第一BGP路由中的下一跳信息或段标识,该第一BGP路由中的下一跳仍为第一节点201。
在MVPN网络中,第二节点202通常情况下不修改第一BGP路由中的下一跳信息,即使第二节点202和第三节点203为EBGP邻居。
S307:第二节点202向第三节点203发送第二BGP路由。
在第二节点202获得第二BGP路由后,根据BGP路由协议向EBGP邻居或IBGP邻居发布第二BGP路由,以使得其他节点可以学习到达第一节点201的路由或者到达第二节点202的路由。具体地,当第二BGP路由中的下一跳为第一节点201时,第三节点203可以学习到达 第一节点201的路由;当第二BGP路由中的下一跳节点为第二节点202时,第三节点203可以学习到达第二节点202的路由。
S308:第三节点203确定是否迭代第二BGP路由,如果是,执行S309;否则,执行S311。
本实施例中,第三节点203在获取到第二BGP路由时,可以根据自身的配置确定是否对第二BGP路由进行迭代操作。例如,当第三节点203仅具备路由反射功能时,可以将第三节点203配置为不对第二BGP路由迭代。当第三节点203同时具备路由反射功能和转发功能时,可以将第三节点203配置为对第二BGP路由迭代。其中,关于第三节点203配置迭代操作的具体实现可以参见S303的相关描述。
S309:第三节点203对第二BGP路由进行迭代,在迭代结果为迭代失败时,执行S311;在迭代结果为迭代成功时,执行S310。
本实施例中,当第三节点203需要对第二BGP路由进行迭代时,第三节点203可以根据第二BGP路由中的下一跳信息或段标识从路由转发表中查找是否存在到达下一跳节点(第一节点201或第二节点202)的出端口。如果第三节点203的路由转发表中不存在到达下一跳节点的出端口,则第三节点203迭代第二BGP路由失败,则第三节点203执行S310。如果第三节点202的路由转发表中存在到达下一跳节点的出端口,则第三节点迭代第二BGP路由成功,则第三节点203执行S309。在SRv6网络中,第三节点203也可以根据SID信息进行迭代,迭代第二BGP路由失败,可以为第三节点203根据本地未存储第一SID或第二SID,确定第二BGP路由迭代失败。关于第三节点203迭代第二BGP路由失败的具体实现可以参见S304的相关描述。
S310:第三节点203根据第二BGP路由指导流量转发。
本实施例中,当第三节点203对第二BGP路由迭代成功且第三节点203还用于流量转发时,第三节点203将到达第一节点201的转发路径下发至转发面或者将到达第二节点202的转发路径下发至转发面,以便转发面根据路径信息向第一节点201或第二节点202发送流量。
S311:第三节点203根据第二BGP路由获得第三BGP路由。
在本实施例中,如果第三节点203不对第二BGP路由迭代,则直接根据第二BGP路由获得第三BGP路由;或者,第三节点203对第二BGP路由进行迭代,迭代失败时,第三节点203可以根据第二BGP路由获得第三BGP路由;或者,第三节点203对第二BGP路由迭代成功时,可以根据第二BGP路由获得第三BGP路由。
其中,第三节点203根据第二BGP路由获取第三BGP路由。该根据第二BGP路由获取第三BGP路由的过程可以参考S306中关于第二节点202根据第一BGP路由获取第二BGP路由的相关描述。
S312:第三节点203向第四节点204发送第三BGP路由。
在本实施例中,第四节点204接收到第三BGP路由后,可以执行以下操作:第四节点204在接收到第三BGP路由后不再进行转发。例如,当第四节点204为与用户设备连接的网络设备时,如图2b中的PE2或PE3。该情况下,第四节点204可以迭代第三BGP路由,在迭代成功时,可以建立到达第三节点203的路由,并将该路由的相关信息下发至转发面,以便转发面向第三节点203发送流量。
可以理解的,上述情形仅作为示例,第四节点204对第三BGP路由进行的处理操作可结合具体应用场景确定。
本实施例以图2b所示的网络系统为例进行说明。当实际应用场景为图2a所示的网络系统架构时,作为第一节点201的PE1在获取到第一BGP路由后,将第一BGP路由发送给作为第二节点202的RR1,其中图2a中的RR1为仅具有路由反射功能的路由反射器。第二节点202可以不对第一BGP路由进行迭代,而直接根据第一BGP路由获取第二BGP路由后,并将第二BGP路由发送给第四节点204,具体实现可以参见S301-S305和S311中的相关描述。或者,本实施例提供的方法也可以应用在可能的网络系统架构中,如网络系统中包括三级以上的RR,其中每一级RR均可利用本实施例可提供的相应的方法向下一级网络设备发送BGP路由,该下一级网络设备例如可以是具有路由反射功能的RR,也可以是不具有路由反射功能的客户机。
为便于理解本申请实施例提供的技术方案,参见图4,该图为本申请实施例提供的另一种路由传输方法流程图,如图4所示,该方法可以包括:
S401:第一网络设备获取第一BGP路由。
本实施中,第一网络设备可以为前述实施例中描述的第一节点201、第二节点202或第三节点203。
当第一网络设备为第一节点201时,第一网络设备获取第一BGP路由可以为,第一网络设备生成第一BGP路由,或者从控制器获取。关于第一网络设备获取第一BGP路由的具体实现可以参见S301。
当第一网络设备为第二节点202时,第一网络设备可以从作为上一级邻居节点的第三网络设备接收其发送的BGP路由。例如,第一网络设备为第二节点202、该上一级邻居节点为第一节点201,第一节点201在生成第一BGP路由后,将该第一BGP路由发送给第一网络设备。其中,关于第一网络设备获取第一BGP路由的具体实现可以参见S302。
当第一网络设备为第三节点203时,第一网络设备可以从作为上一级邻居节点的第三网络设备接收其发送的BGP路由。例如,第一网络设备为第三节点203、上一级邻居节点为第二节点202,第二节点202在获取第二BGP路由后,将第二BGP路由发送给第一网络设备。其中,关于第一网络设备获取第一BGP路由的具体实现可以参见S306。
在一种具体的实现方式中,当第一BGP路由应用于SRv6网络时,第一BGP路由包括用于指示目的网络设备的第一段标识SID。
S402:第一网络设备不对第一BGP路由进行迭代,直接向第二网络设备转发第一BGP路由。
本实施例中,在第一网络设备不需要对第一BGP路由迭代时,可以直接将第一BGP路由转发给第二网络设备。例如,第一网络设备仅具有路由反射功能。其中,关于第一网络设备直接向第二网络设备转发第一BGP路由的具体实现可以参见S306或S311。
S403:第一网络设备对第一BGP路由迭代失败时,第一网络设备仍向第二网络设备转发第一BGP路由。
本实施例中,当第一网络设备需要对第一BGP路由迭代且迭代失败时,为保证第一BGP 路由仍可以向其他邻居节点发布,在该情况下,第一网络设备继续向第二网络设备转发第一BGP路由。其中,第一网络设备继续向第二网络设备转发第一BGP路由的具体实现可以参见或S306或S311。
在一种具体的实现方式中,第一网络设备对第一BGP路由失败迭代时,第一网络设备仍向第二网络设备转发第一BGP路由,包括:第一网络设备根据本地未存储第一SID,确定第一BGP路由迭代失败;则第一网络设备向第二网络设备转发第一BGP路由。或者,在一些可能的应用场景中,如MVPN网络中,第一网络设备也可以根据第一BGP路由中携带的下一跳信息进行路由迭代,并确定第一BGP路由迭代失败。
在一种具体的实现方式中,当第一网络设备对第一BGP路由迭代成功时,第一网络设备可以根据第一BGP路由指导流量转发。例如,第一网络设备根据第一BGP路由查找到达第一BGP路由中下一跳的出端口,并将到达下一跳的出端口信息下发至转发面,以便后续进行流量转发。
在一种具体的实现方式中,当第一网络设备为中间节点时,第一网络设备从第三网络设备获取第一BGP路由;则第一网络设备根据第一BGP路由指导流量转发可以为,第一网络设备根据第一BGP路由确定用于到达第三网络设备的出端口,以根据该出端口指导发往第三网络设备的流量的转发。例如,第一网络设备为第三节点203时,第一网络设备可以从第二节点202获取第二BGP路由,第一网络设备根据第二BGP路由确定到达第二节点202的出端口。
其中,第三网络设备和第二网络设备之间建立基于SRv6-BE隧道;或者,第三网络设备和第二网络设备之间建立基于SRv6-TE隧道。例如,第三网络设备为图2b中的PE1,第二网络设备为图2b中的PE2或PE3,PE1与PE2之间建立SRv6-BE隧道、PE1与PE3之间建立SRv6-TE隧道。
在一种具体的实现方式中,当第一网络设备对第一BGP路由迭代成功且第一网络设备存在对应的段标识,即第二SID时,第一网络设备在向第二网络设备转发第一BGP路由之前,第一网络设备使用第二SID替换第一BGP路由中的第一SID,以获得更新的第一BGP路由,进而向第二网络设备转发更新后的第一BGP路由。关于获得更新后的第一BGP路由的实现可以参见S306或S310的相关描述。
在一种具体的实现方式中,第一网络设备和第二网络设备为基于SRv6-BE隧道上的网络设备;或者,第一网络设备和第二网络设备为基于SRv6-TE隧道上的网络设备。
在一种具体的实现方式中,第一网络设备和第二网络设备为EBGP邻居,或者,第一网络设备和第二网络设备为IBGP邻居。
在一种具体的实现方式中,第一网络设备可以为第一路由反射器RR。例如第一网络设备为图2a中的RR1或图2b中的RR1或RR2。
在一种具体的实现方式中,第一网络设备为一级RR或二级RR。例如,第一网络设备为图2b中的RR1或RR2。
在一种具体的实现方式中,第三网络设备可以为第一运营商边缘(provider equipment,PE)设备,第二网络设备可以为第二RR或第二PE设备。例如,第三网络设备可以为图2a 中的PE1,第二网络设备可以为图2a中的RR1或者PE2。
在一种具体的实现方式中,第一网络设备和第二网络设备应用于组播虚拟专用网MVPN场景的网络设备。
基于上述各方法实施例,本申请实施例提供了一种报文传输装置,下面将结合附图进行说明。
参见图5,该图为本申请实施例提供的一种报文传输装置结构图,该装置500能够应用于第一网络设备,执行图4所示实施例中的第一网络设备的功能,该装置500可以包括:获取单元501、发送单元502。
获取单元501,用户获取第一边界网关协议BGP路由。
当装置500所应用的第一网络设备为第一节点201时,获取单元201获取第一BGP路由的具体实现可以参见图3所述实施例中的S301。当装置500所应用的第一网络设备为第二节点202、第三节点203或第四节点204时,获取单元501获取第一BGP路由的具体实现可以参见S302、S307或S312。
发送单元502,用于在不对所述第一BGP路由进行迭代,直接向第二网络设备转发所述第一BGP路由。
所述发送单元502,还用于在对所述第一BGP路由迭代失败时,仍向第二网络设备转发所述第一BGP路由。
其中,关于发送单元502的具体实现可以参见S306-S307或S311-S312的相关描述。
在一种可能的实现方式中,在对所述第一BGP路由迭代成功时,所述发送单元502,还用于根据所述第一BGP路由指导流量转发。
其中,关于发送单元502根据第一BGP路由指导流量转发的具体实现可以参见S305或S310的相关描述。
在一种可能的实现方式中,所述装置具有路由反射功能。
装置500所应用的第一网络设备可以具有路由反射功能,例如,第一网络设备为第二节点202或第三节点203。
在一种可能的实现方式中,所述第一BGP路由应用于基于第六版互联网协议的段路由SRv6网络,所述第一BGP路由包括用于指示目的网络设备的第一段标识SID。
在一种可能的实现方式中,在对所述第一BGP路由迭代失败时,所述发送单元502,具体用于根据本地未存储所述第一SID,确定第一BGP路由迭代失败;向所述第二网络设备转发所述第一BGP路由。
其中,关于发送单元502的具体实现可以参见S304或S309的相关描述。
在一种可能的实现方式中,在对所述第一BGP路由迭代成功时,所述装置还包括:处理单元503,该处理单元503,用于使用第二SID替换所述第一BGP路由中的所述第一SID,以获取更新的第一BGP路由;所述发送单元502,用于向所述第二网络设备发送更新的第一BGP路由。
其中,关于处理单元503和发送单元502的具体实现可以参见S306或S311的相关描述。
在一种可能的实现方式中,所述获取单元501,具体用于从第三网络设备获取所述第 一BGP路由;所述发送单元502,具体用于根据第一BGP路由确定用于到达所述第三网络设备的出端口,以指导发往所述第三网络设备的流量的转发。
其中,关于获取单元501的具体实现可以参见S307或S312的相关描述,关于发送单元502的具体实现可以参见S305或S310的相关描述。
在一种可能的实现方式中,所述装置和所述第二网络设备为基于第六版互联网协议的段路由尽力而为SRv6-BE隧道上的网络设备;或者,所述装置和所述第二网络设备为基于第六版互联网协议的段路由流量工程SRv6-TE隧道上的网络设备。
在一种可能的实现方式中,所述第一BGP路由是从第三网络设备接收的,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由尽力而为SRv6-BE隧道;或者,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由流量工程SRv6-TE隧道。
在一种可能的实现方式中,所述装置与所述第二网络设备为外部边界网关协议EBGP邻居,或者所述装置与所述第二网络设备为内部边界网关协议IBGP邻居。
在一种可能的实现方式中,所述装置为第一路由反射器RR。
其中,装置500所应用的第一网络设备为第一路由反射器RR时,例如为第二节点202或第三节点203。
在一种可能的实现方式中,所述装置为一级RR或二级RR。
其中,装置500所应用的第一网络设备为一级RR或二级RR,例如第一网络设备为第二节点202或为第三节点203。
在一种可能的实现方式中,所述第三网络设备为第一运营商边缘PE设备,所述第二网络设备为第二RR或第二PE设备。例如,第三网络设备为第一节点201、第二网络设备为第二节点202或第三节点203。
在一种可能的实现方式中,所述装置和所述第二网络设备为应用于组播虚拟专用网MVPN场景的网络设备。
其中,装置500所应用的第一网络设备和第二网络设备可以为MVPN网络中的网络设备。
关于报文传输装置500具体可执行的功能和实现,可以参见图4所示实施例中关于第一网络设备的相应描述,此处不再赘述。
图6为本申请实施例提供的一种通信设备的结构示意图,该通信设备例如可以是图3所示实施例中的第一节点201、第二节点202、第三节点203或第四节点204,或者也可以是图4所示实施例中的第一网络设备、第二网络设备或第三网络设备,或者也可以是图5所示实施例中的报文传输装置500的设备实现。
请参阅图6所示,通信设备600至少包括处理器610。通信设备600还可以包括通信接口620和存储器630。其中通信设备600中的处理器610的数量可以一个或多个,图6中以一个处理器为例。本申请实施例中,处理器610、通信接口620和存储器630可通过总线系统或其它方式连接,其中,图6中以通过总线系统640连接为例。
处理器610可以是CPU、NP、或者CPU和NP的组合。处理器610还可以进一步包括硬 件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
当通信设备为第一网络设备时,处理器610可以执行上述方法实施例中获取第一BGP路由以及对第一BGP路由进行迭代等的相关功能。
通信接口620用于接收和发送报文,具体地,通信接口620可以包括接收接口和发送接口。其中,接收接口可以用于接收报文,发送接口可以用于发送报文。通信接口620的个数可以为一个或多个。
存储器630可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器630也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器630还可以包括上述种类的存储器的组合。存储器630例如可以存储前文第一BGP路由。
可选地,存储器630存储有操作系统和程序、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,程序可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。处理器610可以读取存储器630中的程序,实现本申请实施例提供的报文传输方法。
其中,存储器630可以为通信设备600中的存储器件,也可以为独立于通信设备600的存储装置。
总线系统640可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线系统640可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图7是本申请实施例提供的另一种通信设备700的结构示意图,通信设备700可以配置为前述实施例中的第一节点201、第二节点202、第三节点203或第四节点204,或者也可以是前述实施例中的第一网络设备、第二网络设备或第三网络设备,或图5所示实施例中的报文传输装置500的设备实现。
通信设备700包括:主控板710和接口板730。
主控板710也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板710对通信设备700中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板710包括:中央处理器711和存储器712。
接口板730也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板730用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板730包括:中央处理器731、网络处理器732、 转发表项存储器734和物理接口卡(ph8sical interface card,PIC)733。
接口板730上的中央处理器731用于对接口板730进行控制管理并与主控板710上的中央处理器711进行通信。
网络处理器732用于实现报文的转发处理。网络处理器732的形态可以是转发芯片。具体而言,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡733用于实现物理层的对接功能,原始的流量由此进入接口板730,以及处理后的报文从该物理接口卡733发出。物理接口卡733包括至少一个物理接口,物理接口也称物理口,物理接口卡733对应于系统架构200中的FlexE物理接口204。物理接口卡733也称为子卡,可安装在接口板730上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器732处理。在一些实施例中,接口板730的中央处理器731也可执行网络处理器732的功能,比如基于通用CPU实现软件转发,从而物理接口卡733中不需要网络处理器732。
可选地,通信设备700包括多个接口板,例如通信设备700还包括接口板740,接口板740包括:中央处理器741、网络处理器742、转发表项存储器744和物理接口卡743。
可选地,通信设备700还包括交换网板720。交换网板720也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板730的情况下,交换网板720用于完成各接口板之间的数据交换。例如,接口板730和接口板740之间可以通过交换网板720通信。
主控板710和接口板730耦合。例如。主控板710、接口板730和接口板740,以及交换网板720之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板710和接口板730之间建立进程间通信协议(inter-process communication,IPC)通道,主控板710和接口板730之间通过IPC通道进行通信。
在逻辑上,通信设备700包括控制面和转发面,控制面包括主控板710和中央处理器731,转发面包括执行转发的各个组件,比如转发表项存储器734、物理接口卡733和网络处理器732。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器732基于控制面下发的转发表对物理接口卡733收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器734中。在一些实施例中,控制面和转发面可以完全分离,不在同一设备上。
如果通信设备700被配置为第一网络设备,中央处理器711可以获取第一BGP路由,以及对第一BGP路由进行迭代。网络处理器732可以触发物理接口卡733向第二网络设备转发第一BGP路由。
应理解,报文传输装置500中的发送单元502等可以相当于通信设备700中的物理接口卡733或物理接口卡743;报文传输装置700中的获取单元501和处理单元503等可以相当于通信设备700中的中央处理器711或中央处理器731。
应理解,本申请实施例中接口板740上的操作与接口板730的操作一致,为了简洁,不再赘述。应理解,本实施例的通信设备700可对应于上述各个方法实施例中的第一网络设备、第二网络设备或第三网络设备,该通信设备700中的主控板710、接口板730和/或接口板740 可以实现上述各个方法实施例中的第一网络设备、第二网络设备或第三网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
应理解,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景。
在一些可能的实施例中,上述第一网络设备、第二网络设备或第三网络设备可以实现为虚拟化设备。例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(英文:Virtual Machine,VM),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为第一网络设备或第二网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(Network Functions Virtualization,NFV)技术来实现第一网络设备、第二网络设备或第三网络设备。第一网络设备、第二网络设备或第三网络设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的第一网络设备、第二网络设备或第三网络设备,此处不再赘述。
应理解,上述各种产品形态的网络设备,分别具有上述方法实施例中第一网络设备、第二网络设备或第三网络设备的任意功能,此处不再赘述。
本申请实施例还提供了一种芯片,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器;处理器,例如可以是图5示出的报文传输装置500的一种具体实现形式,可以用于执行上述报文传输的方法。其中,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
本申请实施例还提供了一种计算机可读存储介质,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上实施例提供的报文传输方法。
本申请实施例还提供了一种包含指令或计算机程序的计算机程序产品,当其在计算机上运行时,使得计算机执行以上实施例提供的报文传输方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (30)

  1. 一种报文传输方法,其特征在于,所述方法包括:
    第一网络设备获取第一边界网关协议BGP路由;
    所述第一网络设备不对所述第一BGP路由进行迭代,而直接向第二网络设备转发所述第一BGP路由;或者,在所述第一网络设备对所述第一BGP路由迭代失败时,所述第一网络设备仍向所述第二网络设备转发所述第一BGP路由。
  2. 根据权利要求1所述的方法,其特征在于,在所述第一网络设备对所述第一BGP路由迭代成功时,所述方法还包括:
    第一网络设备根据所述第一BGP路由指导流量转发。
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一网络设备具有路由反射功能。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述第一BGP路由应用于基于第六版互联网协议的段路由SRv6网络,所述第一BGP路由包括用于指示目的网络设备的第一段标识SID。
  5. 根据权利要求4所述的方法,其特征在于,在所述第一网络设备对所述第一BGP路由迭代失败时,所述第一网络设备仍向所述第二网络设备转发所述第一BGP路由,包括:
    所述第一网络设备根据本地未存储所述第一SID,确定所述第一BGP路由迭代失败;
    所述第一网络设备向所述第二网络设备转发所述第一BGP路由。
  6. 根据权利要求4或5所述的方法,其特征在于,在所述第一网络设备对所述第一BGP路由迭代成功时,所述方法还包括:
    所述第一网络设备使用第二SID替换所述第一BGP路由中的所述第一SID,以获取更新的第一BGP路由;
    所述第一网络设备向所述第二网络设备发送所述更新的第一BGP路由。
  7. 根据权利要求3所述的方法,其特征在于,
    所述第一网络设备获取第一BGP路由,包括:所述第一网络设备从第三网络设备获取所述第一BGP路由;
    所述第一网络设备根据所述第一BGP路由指导流量转发,包括:所述第一网络设备根据所述第一BGP路由确定用于到达所述第三网络设备的出端口,以指导发往所述第三网络设备的流量的转发。
  8. 根据权利要求2-7任一项所述的方法,其特征在于,所述第一网络设备和所述第二网络设备为基于第六版互联网协议的段路由尽力而为SRv6-BE隧道上的网络设备;或者,所述第一网络设备和所述第二网络设备为基于第六版互联网协议的段路由流量工程SRv6-TE隧道上的网络设备。
  9. 根据权利要求1所述的方法,其特征在于,所述第一BGP路由是从第三网络设备接收的,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由尽力而为SRv6-BE隧道;或者,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由流量工程SRv6-TE隧道。
  10. 根据权利要求1-9任一项所述的方法,其特征在于,所述第一网络设备与所述第二网络设备为外部边界网关协议EBGP邻居,或者所述第一网络设备与所述第二网络设备为内部边界网关协议IBGP邻居。
  11. 根据权利要求1-10任一项所述的方法,其特征在于,所述第一网络设备为第一路由反射器RR。
  12. 根据权利要求11所述的方法,其特征在于,所述第一网络设备为一级RR或二级RR。
  13. 根据权利要求7-11任一项所述的方法,其特征在于,所述第三网络设备为第一运营商边缘PE设备,所述第二网络设备为第二RR或第二PE设备。
  14. 根据权利要求1所述的方法,其特征在于,所述第一网络设备和所述第二网络设备为应用于组播虚拟专用网MVPN场景的网络设备。
  15. 一种报文传输装置,其特征在于,所述装置包括:
    获取单元,用户获取第一边界网关协议BGP路由;
    发送单元,用于在不对所述第一BGP路由进行迭代,直接向第二网络设备转发所述第一BGP路由;
    所述发送单元,还用于在对所述第一BGP路由迭代失败时,仍向第二网络设备转发所述第一BGP路由。
  16. 根据权利要求15所述的装置,其特征在于,在对所述第一BGP路由迭代成功时,所述发送单元,还用于根据所述第一BGP路由指导流量转发。
  17. 根据权利要求15或16所述的装置,其特征在于,所述装置具有路由反射功能。
  18. 根据权利要求15-17任一项所述的装置,其特征在于,所述第一BGP路由应用于基于第六版互联网协议的段路由SRv6网络,所述第一BGP路由包括用于指示目的网络设备的第一段标识SID。
  19. 根据权利要求18所述的装置,其特征在于,在对所述第一BGP路由迭代失败时,所述发送单元,具体用于根据本地未存储所述第一SID,确定第一BGP路由迭代失败;向所述第二网络设备转发所述第一BGP路由。
  20. 根据权利要求18或19所述的装置,其特征在于,在对所述第一BGP路由迭代成功时,所述装置还包括:
    处理单元,用于使用第二SID替换所述第一BGP路由中的所述第一SID,以获取更新的第一BGP路由;
    所述发送单元,用于向所述第二网络设备发送更新的第一BGP路由。
  21. 根据权利要求17所述的装置,其特征在于,所述获取单元,具体用于从第三网络设备获取所述第一BGP路由;
    所述发送单元,具体用于根据第一BGP路由确定用于到达所述第三网络设备的出端口,以指导发往所述第三网络设备的流量的转发。
  22. 根据权利要求16-21任一项所述的装置,其特征在于,所述装置和所述第二网络设备为基于第六版互联网协议的段路由尽力而为SRv6-BE隧道上的网络设备;或者,所述装 置和所述第二网络设备为基于第六版互联网协议的段路由流量工程SRv6-TE隧道上的网络设备。
  23. 根据权利要求15所述的装置,其特征在于,所述第一BGP路由是从第三网络设备接收的,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由尽力而为SRv6-BE隧道;或者,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由流量工程SRv6-TE隧道。
  24. 根据权利要求15-23任一项所述的装置,其特征在于,所述装置与所述第二网络设备为外部边界网关协议EBGP邻居,或者所述装置与所述第二网络设备为内部边界网关协议IBGP邻居。
  25. 根据权利要求15-24任一项所述的装置,其特征在于,所述装置为第一路由反射器RR。
  26. 根据权利要求25所述的装置,其特征在于,所述装置为一级RR或二级RR。
  27. 根据权利要求21-25任一项所述的装置,其特征在于,所述第三网络设备为第一运营商边缘PE设备,所述第二网络设备为第二RR或第二PE设备。
  28. 根据权利要求15所述的装置,其特征在于,所述装置和所述第二网络设备为应用于组播虚拟专用网MVPN场景的网络设备。
  29. 一种通信设备,其特征在于,包括:处理器,存储器;
    所述存储器,用于存储计算机可读指令或者计算机程序;
    所述处理器,用于读取所述计算机可读指令或所述计算机程序,以使得所述通信设备实现如权利要求1-14中任意一项所述的报文传输方法。
  30. 一种计算机可读存储介质包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上权利要求1-14任意一项所述的报文传输方法。
PCT/CN2020/137999 2020-12-21 2020-12-21 一种路由传输方法及装置 WO2022133646A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2023538138A JP2024500907A (ja) 2020-12-21 2020-12-21 ルート伝送方法および装置
EP20966227.9A EP4254881A4 (en) 2020-12-21 2020-12-21 METHOD AND APPARATUS FOR ROUTING TRANSMISSION
CN202080107543.7A CN116648885A (zh) 2020-12-21 2020-12-21 一种路由传输方法及装置
PCT/CN2020/137999 WO2022133646A1 (zh) 2020-12-21 2020-12-21 一种路由传输方法及装置
MX2023007422A MX2023007422A (es) 2020-12-21 2020-12-21 Método y aparato de transmisión de rutas.
US18/338,820 US20230336458A1 (en) 2020-12-21 2023-06-21 Route Transmission Method and Apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/137999 WO2022133646A1 (zh) 2020-12-21 2020-12-21 一种路由传输方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/338,820 Continuation US20230336458A1 (en) 2020-12-21 2023-06-21 Route Transmission Method and Apparatus

Publications (1)

Publication Number Publication Date
WO2022133646A1 true WO2022133646A1 (zh) 2022-06-30

Family

ID=82157087

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/137999 WO2022133646A1 (zh) 2020-12-21 2020-12-21 一种路由传输方法及装置

Country Status (6)

Country Link
US (1) US20230336458A1 (zh)
EP (1) EP4254881A4 (zh)
JP (1) JP2024500907A (zh)
CN (1) CN116648885A (zh)
MX (1) MX2023007422A (zh)
WO (1) WO2022133646A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752205A (zh) * 2012-07-04 2012-10-24 杭州华三通信技术有限公司 一种路由迭代的方法和装置
US20140003227A1 (en) * 2012-06-30 2014-01-02 Juniper Networks, Inc. Selective bgp graceful restart in redundant router deployments
CN106911549A (zh) * 2017-02-28 2017-06-30 新华三技术有限公司 一种数据报文处理方法及装置
CN110971516A (zh) * 2019-10-25 2020-04-07 华为技术有限公司 路由信息的处理方法和装置
CN111385204A (zh) * 2018-12-27 2020-07-07 中国移动通信集团贵州有限公司 业务传输方法、装置、设备及介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500369A (zh) * 2019-01-07 2022-05-13 华为技术有限公司 控制路由迭代的方法、设备和系统
CN113273156B (zh) * 2019-01-07 2022-12-30 华为技术有限公司 路由发布的方法、设备和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140003227A1 (en) * 2012-06-30 2014-01-02 Juniper Networks, Inc. Selective bgp graceful restart in redundant router deployments
CN102752205A (zh) * 2012-07-04 2012-10-24 杭州华三通信技术有限公司 一种路由迭代的方法和装置
CN106911549A (zh) * 2017-02-28 2017-06-30 新华三技术有限公司 一种数据报文处理方法及装置
CN111385204A (zh) * 2018-12-27 2020-07-07 中国移动通信集团贵州有限公司 业务传输方法、装置、设备及介质
CN110971516A (zh) * 2019-10-25 2020-04-07 华为技术有限公司 路由信息的处理方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP4254881A4 *
T. BATES CISCO SYSTEMS R. CHANDRA CISCO SYSTEMS: "BGP Route Reflection An alternative to full mesh IBGP; rfc1966.txt", BGP ROUTE REFLECTION AN ALTERNATIVE TO FULL MESH IBGP; RFC1966.TXT, INTERNET ENGINEERING TASK FORCE, IETF; STANDARD, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 GENEVA, SWITZERLAND, 1 June 1996 (1996-06-01), Internet Society (ISOC) 4, rue des Falaises CH- 1205 Geneva, Switzerland , XP015007750 *

Also Published As

Publication number Publication date
US20230336458A1 (en) 2023-10-19
CN116648885A (zh) 2023-08-25
EP4254881A4 (en) 2024-01-17
EP4254881A1 (en) 2023-10-04
MX2023007422A (es) 2023-08-25
JP2024500907A (ja) 2024-01-10

Similar Documents

Publication Publication Date Title
US10333836B2 (en) Convergence for EVPN multi-homed networks
US11012355B2 (en) Route processing method, device, and system
CN108574639B (zh) Evpn报文处理方法、设备及系统
CN108574630B (zh) Evpn报文处理方法、设备及系统
US9858163B2 (en) Dual adjacency between edge devices at a network site
CN111064596B (zh) 对于用于多宿主节点故障的bum流量的节点保护
CN112688873B (zh) 在evpn中部署安全邻居发现
WO2021143279A1 (zh) 段路由业务处理方法和装置、路由设备及存储介质
WO2019196562A1 (zh) 报文处理方法、装置、存储介质及处理器
WO2022048418A1 (zh) 一种转发报文的方法、设备和系统
EP4325777A1 (en) Method and device for electing designated forwarder (df)
WO2022133646A1 (zh) 一种路由传输方法及装置
WO2022188530A1 (zh) 一种路由处理方法及网络设备
WO2022037330A1 (zh) 传输虚拟专用网的段标识vpn sid的方法、装置和网络设备
WO2022061561A1 (zh) 一种报文传输方法及装置
WO2024032187A1 (zh) 一种路由信息传输方法及装置
US9712650B2 (en) PIM fast failover using PIM graft message
WO2024007762A1 (zh) 一种路由发布方法、通信方法及装置
WO2022143572A1 (zh) 一种报文处理方法及相关设备
WO2022161061A1 (zh) 一种故障检测方法、网络设备及系统
WO2024093306A1 (zh) 通信方法及装置
WO2024061184A1 (zh) 对应关系的获取方法、参数通告方法、装置、设备及介质
CN117692384A (zh) 一种实现虚拟专用网vpn本地互访的方法以及相关装置
CN114157531A (zh) 传输虚拟专用网的段标识vpn sid的方法、装置和网络设备
Jain Creating scalable, efficient and namespace independent routing framework for future networks

Legal Events

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

Ref document number: 20966227

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202080107543.7

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: MX/A/2023/007422

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2023538138

Country of ref document: JP

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112023012338

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2020966227

Country of ref document: EP

Effective date: 20230626

ENP Entry into the national phase

Ref document number: 112023012338

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20230620

NENP Non-entry into the national phase

Ref country code: DE