WO2021168818A1 - 路由更新方法和装置 - Google Patents
路由更新方法和装置 Download PDFInfo
- Publication number
- WO2021168818A1 WO2021168818A1 PCT/CN2020/077241 CN2020077241W WO2021168818A1 WO 2021168818 A1 WO2021168818 A1 WO 2021168818A1 CN 2020077241 W CN2020077241 W CN 2020077241W WO 2021168818 A1 WO2021168818 A1 WO 2021168818A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- route
- host
- sequence number
- arp
- host route
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/58—Caching of addresses or names
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Definitions
- This application relates to network communication technology, and in particular to a route update method and device.
- Host migration often occurs in the network.
- Examples of the host here can be a WLAN wireless terminal, a wired terminal, or a virtual machine.
- the aforementioned host migration may include: WLAN wireless terminal roaming.
- the aforementioned host migration may include: virtual machine migration.
- the aggregation device cannot detect the host migration in time, and will forward the message sent to the host to the access device that the host accesses before the migration. It is applied to a Spine-Leaf network, where the access device can be a Leaf node, and the aggregation device is a Spine node.
- This application provides a route update method and device to prevent the convergence device from forwarding the message sent to the host to the access device that the host accesses before the host migration.
- This application provides a route update method, which is applied to an access device, and includes: receiving a first host route and a first sequence number sent by the BGP peer of the device; the first sequence number is the first host The sequence number of the route is the basis for the BGP peer to determine to send the first host route; preferably, the first host route is used as the route used when the device forwards data to the host, and the recorded connection with the host is deleted.
- Corresponding ARP entry; the IP address in the ARP entry and the IP address of the host are the same as the prefix in the first host route.
- the method further includes: sending an ARP request to the host, where the destination IP address of the ARP request is the IP address in the deleted ARP table entry.
- the method further includes: if no ARP response is received within a specified time after the ARP request is sent, detecting whether the number of times the ARP request has been sent reaches a set number of times; when the set number is not reached When the number of times is reached, the ARP request is sent again.
- the method further includes: when an ARP response is received, learning ARP information according to the ARP response; generating a second host route using the ARP information, and the type of the second host route is a specified type, so The specified type is used to indicate that the second host route is generated according to the ARP information; the second sequence number of the second host route is determined, and the second host route and the second host route are sent to the BGP peer of the device. Second serial number, and update the route used when the device forwards data to the host from the first host route to the second host route.
- the determining the second sequence number of the second host route includes: checking whether a host route that satisfies a condition has been recorded, and the host route that satisfies the condition is: A host route that has the same prefix/prefix length and is sent by the BGP peer and has a sequence number; when no host route that meets the conditions is recorded, the pre-designated initial value of the sequence number is used as the second sequence number of the second host route; When the host route that meets the condition has been recorded, the second sequence number of the second host route is determined according to the recorded sequence numbers of all the host routes that meet the condition.
- the determining the second sequence number of the second host route according to the recorded sequence numbers of all host routes that meet the condition includes: selecting the largest value from the sequence numbers of all the host routes that meet the condition Maximum sequence number; the sum of the maximum sequence number and the specified value is used as the second sequence number of the second host route.
- the preferred first host route as the route used by the device to forward data to the host includes: checking whether the route used by the device to forward data to the host exists in the IP forwarding table, if If no, issue the first host route to the IP forwarding table; if yes, update the route used by the device in the IP forwarding table to forward data to the host to the first host route.
- the method further includes: revoking the recorded third host route, the third host route
- the route type of is a designated type, and the designated type is used to indicate that the third host route is generated based on the ARP information in the ARP table entry; send a route withdrawal message to the BGP Peer of the device, the route withdrawal message Used to indicate that the third host route is revoked.
- the present application also provides a route update device, which is applied to an access device, and includes: a receiving unit configured to receive a first host route and a first sequence number sent by a BGP peer of the device; the first sequence number Is the sequence number of the first host route, which is the basis for the BGP peer to determine to send the first host route; the routing unit is used to select the first host route as the one used when the device forwards data to the host Route, and delete the recorded ARP entry corresponding to the host; the IP address in the ARP entry and the IP address of the host are the same as the prefix in the first host route.
- the present application also provides an electronic device, which includes: a processor and a machine-readable storage medium; the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; To execute machine-executable instructions to implement any of the above method steps.
- the access device when the access device receives the first host route and the first sequence number sent by the BGP peer of the device, regardless of the value of the first sequence number, it will select the first host.
- the route is used when the device forwards data to the target host, and the recorded first ARP entry corresponding to the target host is deleted to trigger the BGP peer of the device according to the existing route revocation mechanism, that is, the convergence device revokes the first ARP entry.
- the host routing related to the ARP entry prevents the aggregation device from erroneously forwarding the message sent to the target host to the access device that the target host accesses before the migration after the target host is migrated, and ensures the correct data forwarding.
- FIG. 1 is a first method flowchart of a route update method provided by an embodiment of this application
- FIG. 2 is a flowchart when an ARP response is received according to an embodiment of the application
- FIG. 3 is a flow chart of the second method of the route update method provided by an embodiment of the application.
- FIG. 4 is a schematic diagram of networking of a route update method provided by an embodiment of the application.
- FIG. 5 is a schematic structural diagram of an extended community attribute field provided by an embodiment of the application.
- FIG. 6 is a schematic diagram of another networking of the route update method provided by an embodiment of the application.
- FIG. 7 is a structural diagram of a route update device provided by an embodiment of the application.
- FIG. 8 is a structural diagram of another route update apparatus provided by an embodiment of this application.
- FIG. 9 is a structural diagram of an electronic device provided by an embodiment of the application.
- Fig. 1 is a first method flowchart of a route update method provided in an embodiment of this application. This process is applied to the access device. Applied to the Spine-Leaf networking structure, the access device here can be a Leaf node.
- the process can include the following steps:
- Step 101 Receive the first host route and the first sequence number sent by the BGP peer of the device.
- the access device can establish BGP neighbors with its connected aggregation devices based on the Border Gateway Protocol (BGP: Border Gateway Protocol), and become BGP peers with each other. That is, the BGP peer of the access device is the aggregation device, and the BGP peer of the aggregation device is the access device.
- Border Gateway Protocol Border Gateway Protocol
- the first sequence number is the sequence number of the first host route, and is the basis for the BGP peer of the access device, such as the aggregation device, to determine to send the first host route.
- the BGP peer of the access device such as the aggregation device, determines to send the first host route according to the first sequence number, refer to step 302 of the process shown in FIG. 3 below for details, which will not be repeated here.
- the above-mentioned first host route and the first serial number are only named for ease of description, and are not used for limitation.
- Step 102 Preferably, the first host route is used as the route used when the device forwards data to the host, and the recorded ARP entry corresponding to the host is deleted.
- the host refers to a host whose IP address is the same as the prefix in the route of the first host. For ease of description, the host is recorded as the target host here.
- step 102 the IP address in the ARP entry is the same as the prefix in the first host route.
- the ARP entry is marked as the first ARP entry here.
- the IP forwarding table is used to guide data forwarding, and it records the route of the device forwarding data to each host.
- the preferred first host route as the route used when the device forwards data to the target host may include: checking whether the device forwards data to the target host in the IP forwarding table. The route used (recorded as the existing route), if not, the first host route is delivered to the IP forwarding table; if so, the above existing route in the IP forwarding table is updated to the first host route. It should be noted that the above-mentioned existing routes are not custom routes, but are named for ease of description.
- the first host route is preferably sent to the IP forwarding table as the route used when the device forwards data to the target host, and is used to guide the device to forward data to the target host.
- the first host route is received from the BGP peer of the device, which is equivalent to a remote route. Therefore, in step 102, when the preferred remote route, that is, the first host route, is used as the route used by the device to forward data to the host, the previously established first ARP entry corresponding to the target host (in the target The ARP entry created when the host is the local host does not need to exist, and the first ARP entry can be deleted at this time. Deleting the first ARP entry can trigger the withdrawal of the host route related to the first ARP entry. For details, refer to the description of the following embodiments to ensure that the aggregation device will no longer erroneously send messages to the target host after the above-mentioned target host is migrated. The message is forwarded to the access device that the target host accesses before the migration, but is directly sent to the access device that the target host accesses after the migration to ensure correct data forwarding.
- the access device when the access device receives the first host route and the first sequence number sent by the BGP peer of the device, it will be preferred regardless of the value of the first sequence number.
- the first host route (that is, the remote route) is used as the route used by the device to forward data to the target host, and the recorded first ARP entry corresponding to the target host is deleted to trigger the device's operation according to the existing route withdrawal mechanism.
- BGP peer means that the aggregation device cancels the host route related to the first ARP entry, which prevents the aggregation device from erroneously forwarding the packets sent to the target host to the connection that the target host accessed before the migration. Enter the device to ensure correct data forwarding.
- step 102 before/after deleting the first ARP entry, or when deleting the first ARP entry, it is possible to further detect whether the target host is still accessing locally.
- the purpose of detecting whether the target host is still connected locally is to prevent the first host route from being learned when the attacker pretends to be the target host. If the first host route is learned when the attacker pretends to be the target host, then the preferred first host route described in step 102 is the route used when the device forwards data to the target host, which will cause a lot of data to be lost. Forward to the attacker. Based on this, in order to correct the long-term forwarding of data to the attacker in time, it is necessary to further detect whether the target host is still connected locally.
- detecting whether the target host is still connected locally may include the following steps a:
- Step a Send an ARP request to the target host.
- the destination IP address of the ARP request is the IP address in the above-mentioned first ARP table entry.
- the above ARP request cannot reach the target host due to network instability and other influences.
- the ARP response is not received within the specified time after the ARP request is sent, it is checked whether the number of times the ARP request has been sent has reached the set number of times; when the set number of times has not been reached, again Send the above ARP request.
- the set number of times is reached, the current process of sending ARP requests is ended.
- the above specified time and set times can be set according to actual conditions, for example, the specified time is set to 200 milliseconds, and the set times is set to 3.
- the process shown in Figure 2 can be executed.
- the process can include the following steps:
- Step 201 Learn ARP information according to the received ARP response.
- ARP information The purpose of learning ARP information here is to establish an ARP table entry (in order to distinguish the above-mentioned first ARP table entry, it can be recorded as the second ARP table entry here).
- ARP table entry In order to distinguish the above-mentioned first ARP table entry, it can be recorded as the second ARP table entry here.
- the structure of ARP information and ARP table entries will be described below through specific embodiments, and will not be repeated here.
- Step 202 Generate a second host route using the above ARP information, the type of the second host route is a designated type, and the designated type is used to indicate that the second host route is generated based on the ARP information.
- generating the second host route by using the foregoing ARP information may include: generating a second host route that meets the rule requirements according to the ARP information in combination with the rule requirements of the host route.
- the ARP information and how to generate a host route based on the ARP information will be described below through embodiments, and will not be repeated here.
- Step 203 Determine the second sequence number of the second host route, send the second host route and the second sequence number to the BGP peer of the device, and route the route used by the device when forwarding data to the target host from the first host Update to the second host route.
- updating the route used by the device to forward data to the target host from the first host route to the second host route may include: The recorded route used when the device forwards data to the host is updated from the first host route to the second host route. Finally, the second host route is preferably recorded in the IP forwarding table for the route used when the device forwards data to the target host.
- One of the implementation methods may include: checking whether a host route that meets the condition has been recorded.
- the host route that meets the condition is: A host route with the same prefix/prefix length and a serial number advertised by the above BGP peer; when the host route that meets the conditions is not recorded, the pre-specified initial value of the serial number (such as 0) is used as the second host route
- the second sequence number of the second host route is determined according to the recorded sequence numbers of all host routes that meet the condition.
- determining the second sequence number of the second host route based on the recorded sequence numbers of all host routes that meet the condition may include: selecting the largest sequence number from the sequence numbers of all host routes that meet the condition ; The sum of the largest sequence number and the specified value (such as 1) is used as the second sequence number of the second host route.
- the route used by the device to forward data to the target host can be updated from the previously received first host route (i.e. remote route) to the second host route (i.e. local route) in time to prevent the above A lot of data is forwarded to the attacker.
- the above is a description of the route update method provided by the embodiment of the present application from the perspective of the access device.
- the following describes the route update method provided by the embodiment of the present application from the perspective of the convergence device.
- FIG. 3 is a flowchart of the second method of the route update method provided by the embodiment of the application. This process is applied to convergence equipment.
- the aggregation device here can be a Spine node.
- the process can include the following steps:
- Step 301 The aggregation device receives the host route and the serial number of the host route sent by any BGP peer of the device.
- the aggregation device can be a BGP peer with the access device connected to it. Therefore, the BGP peer of the aggregation device can be an access device, such as the access device involved in the processes shown in Figure 1 and Figure 2.
- Step 302 The aggregation device selects a host route whose sequence number meets the specified condition (denoted as the first host route) from the host route and other host routes that have the same prefix/prefix length as the host route that has been received.
- a host route with a selected sequence number that meets a specified condition may be recorded as the first host route.
- a host route whose sequence number meets the specified condition (denoted as the first host Routing)
- the route determination method determines a host route from the selected host routes as a host route whose sequence number meets the specified condition (denoted as the first host route).
- a host route (denoted as the first host route) whose sequence number meets the specified conditions is selected based on the sequence number. It should be noted that the finally selected first host route may be the host route received by the aggregation device in the foregoing step 301, or may not be the host route received by the aggregation device in the foregoing step 301.
- Step 303 The aggregation device sends the first host route and the sequence number (denoted as the first sequence number) of the first host route to other BGP peers except the first BGP peer that sends the first host route.
- FIG. 4 is a schematic diagram of networking of the route update method provided by an embodiment of the application.
- the networking shown in Figure 4 takes three access devices (Leaf11, Leaf12, and Leaf13) and one aggregation device (Spine21) as an example.
- Leaf11, Leaf12, Leaf13 and Spine21 are BGP peers for each other.
- the host 30 accesses Leaf11.
- the host 30 can directly access Leaf11, or can access Leaf11 through a layer 2 device AP.
- FIG. 4 takes the host 30 accessing Leaf 11 through the AP as an example.
- Leaf 11 learns the ARP information corresponding to host 30.
- Leaf 11 can learn the ARP information corresponding to the host 30 according to the existing ARP information method, for example, learn the ARP information corresponding to the host 30 by receiving an ARP response or an ARP request sent by the host 30.
- the ARP information mainly includes: the IP address of the host 30 (take 10.1.1.2 as an example), the MAC address (take 02e0-f102-00231 as an example), the VLAN to which the host 30 belongs (take VLAN 100 as an example), and Leaf1 The interface that accesses the host 30 (that is, the interface that learns the ARP information, here XGE1/0/1 is taken as an example).
- Leaf 11 establishes an ARP table entry (denoted as ARP table entry 4_1) corresponding to host 30 based on the learned ARP information.
- Table 1 shows the structure of ARP entry 4_1:
- 10.1.1.2 is the IP address of host 30
- 02e0-f102-00231 is the MAC address of host 30
- VLAN100 is the VLAN to which host 30 belongs
- XGE1/0/1 is the interface through which Leaf1 accesses host 30 (also That is, the interface to learn ARP information).
- Leaf11 generates the corresponding host route (denoted as route Rt1) according to the ARP table entry 4_1.
- Leaf11 can convert the ARP entry 4_1 into the corresponding route Rt1 according to the requirements of the routing rules, and the finally converted route Rt1 meets the requirements of the routing rules.
- the type of the route Rt1 can be set to a specified type to indicate that the route Rt1 is generated based on the ARP table entry.
- the route Rt1 can also be called "ARP host route" at this time.
- Leaf 11 adds the route Rt1 to the RIB (Routing Information Base), and sets the type of the newly added route Rt1 table item (referred to as the routing table item 4_2) in the RIB to the above-mentioned specified type.
- Table 2 shows the structure of routing table entry 4_2:
- Destination/Mask represents the prefix/prefix length of route Rt1.
- Proto/SubProto is a specified type such as Direct/ARP, which means that the protocol type used to generate the route Rt1 is ARP, and it is also used to indicate that the route Rt1 is generated based on the ARP information.
- Pre indicates the routing priority.
- Cost represents the routing metric value.
- NextHop represents the next hop.
- Interface represents the outgoing interface of the route.
- the route Rt1 can also be preferably sent to the IP forwarding table, so as to forward data according to the route Rt1 in the IP forwarding table when forwarding data to the host 30.
- Leaf11 determines the sequence number of route Rt1. In one example, Leaf11 checks whether a host route that meets the condition has been recorded in the RIB. The host route that meets the condition is: a host route that has the same prefix/prefix length as route Rt1 and is sent by Leaf1's BGP peer and has a sequence number. Leaf11 checks that it does not record a host route that meets the conditions, and uses the pre-specified initial value of the serial number (taking 0 as an example) as the serial number of Rt1.
- Leaf 11 sends route Rt1 (this embodiment takes the prefix/prefix length of route Rt1 as an example) and the sequence number of route Rt1 to the BGP peer (that is, Spine21).
- Leaf11 can send route Rt1 and the sequence number of route Rt1 (taking 0 as an example) to a BGP peer (ie Spine21) through a BGP UPDATE message.
- this embodiment may add an extended community attribute field to the BGP UPDATE message.
- the extended community attribute field may be set in the path attribute (Path attribute) of the BGP UPDATE message.
- the embodiment of the present application is not specifically limited.
- the length of the extended community attribute field is 8 bytes.
- Figure 5 shows an example of the structure of the extended community attribute field.
- the extended community attribute field includes:
- Type used to indicate the type, which is different from the type value defined by BGP.
- Figure 5 takes Type 0x07 as an example.
- Sub-Type used to indicate the sub-type, which is different from the type value defined by BGP.
- Figure 5 takes the Sub-Type of 0x00 as an example.
- Sequence Number used to carry the sequence number, such as the sequence number of the route Rt1.
- Spine21 sends the sequence numbers of route Rt1 and route Rt1 to other BGP peers (Leaf12 and Leaf13).
- Leaf12 and Leaf13 receive the sequence numbers of route Rt1 and route Rt1 sent by Spine21, they record the sequence numbers of route Rt1 and route Rt1 to RIB, and deliver route Rt1 to the local IP forwarding table for forwarding to host 30 Data is forwarded according to the route Rt1 in the local IP forwarding table.
- Figure 6 shows a schematic diagram of the host 30 migrating from Leaf11 to Leaf12.
- Leaf12 learns the ARP information corresponding to the host 30 and establishes the corresponding ARP information of the host 30.
- ARP table entry (denoted as ARP table entry 4_3).
- Table 3 shows the structure of ARP entry 4_3:
- Leaf12 generates the corresponding host route (denoted as route Rt2) according to ARP entry 4_3, adds route Rt2 to RIB (Routing Information Base), and adds the newly added route Rt2 entry in RIB (referred to as route entry 4_4)
- route entry 4_4 The type is set to the specified type above.
- Table 4 shows the structure of routing table entry 4_4:
- Leaf 12 After Leaf 12 adds the route Rt2 to the RIB, it can also update the route that forwards data to the host 30 in the IP forwarding table to the route Rt2, so as to forward data according to the route Rt2 in the IP forwarding table when forwarding data to the host 30.
- Leaf12 determines the sequence number of route Rt2. In one example, Leaf12 checks whether a host route that meets the condition has been recorded in the RIB.
- the host route that meets the condition is: a host route that has the same prefix/prefix length as route Rt2 and is sent by Leaf12's BGP peer and has a sequence number;
- the sequence number of the existing host route that meets the conditions is the sequence number of the above-mentioned route Rt1 (here, 0 is taken as an example)
- the sequence number of the route Rt1 is set to the specified value (For example, the sum of 1) is used as the sequence number of the route Rt2 (if the sequence number of the route Rt2 at this time is 1 as an example).
- Leaf12 sends route Rt2 (the prefix/prefix length of route Rt2 is taken as an example) and the sequence number of route Rt2 to the BGP peer (ie Spine21).
- route Rt2 the prefix/prefix length of route Rt2 is taken as an example
- sequence number of route Rt2 to the BGP peer ie Spine21
- the manner in which Leaf12 sends the sequence numbers of route Rt2 and route Rt2 to BGP peer is similar to the manner in which Leaf11 sends the sequence numbers of route Rt1 and route Rt1 to BGP peer (ie Spine21), which will not be repeated here.
- Spine21 When Spine21 receives the sequence numbers of route Rt2 and route Rt2 sent by Leaf12, it selects the route with the largest sequence number from route Rt2 and other host routes that have the same prefix/prefix length and sequence number as route Rt2 that it has received before. Host routing.
- Leaf13 receives the sequence numbers of route Rt2 and route Rt2 sent by Spine21, and records the sequence numbers of route Rt2 and route Rt2 to RIB, and updates the route Rt1 that forwards data to host 30 in the local IP forwarding table to route Rt2, to When data is forwarded to the host 30, the data is forwarded according to the route Rt2 in the IP forwarding table.
- Leaf11 receives the sequence numbers of route Rt2 and route Rt2 sent by Spine21, and records the sequence numbers of route Rt2 and route Rt2 to RIB, and updates the route Rt1 that forwards data to host 30 in the local IP forwarding table to route Rt2, to When data is forwarded to the host 30, the data is forwarded according to the route Rt2 in the IP forwarding table.
- Leaf 11 further uses the prefix/prefix length of the route Rt2 as the key to find the ARP table entry with the same IP address as the key (that is, the above-mentioned ARP table entry 4_1).
- Leaf 11 deletes the ARP table entry 4_1 and sends an ARP request (the destination IP address of the ARP request is the IP address in the ARP table entry 4_1, that is, the IP address of the host 30).
- Leaf11 does not receive the corresponding ARP response within the specified time (such as 200 milliseconds) after sending the ARP request, it will check whether the number of times the ARP request has been sent reaches the set number of times (such as 3 times), if not, send the above ARP request again, if so , The process of sending an ARP request is ended.
- the ARP response it means that the host whose IP address is the destination IP address of the ARP request (ie host 30) is currently still connected to Leaf11, then Leaf11 learns ARP information according to the ARP response, and then returns to Leaf11 to learn ARP The action performed after the message.
- Leaf11 has not received an ARP response all the time, it is determined that the above-mentioned host 30 determines that Leaf11 is no longer connected.
- Leaf11 when Leaf11 deletes the ARP entry 4_1, Leaf11 will also delete the routing table entry 4_2 corresponding to the ARP entry 4_1 in the RIB (Routing Information Base) (also means to withdraw the route Rt1).
- Leaf 11 sends a route withdrawal message to the BGP peer (that is, Spine21), and the route withdrawal message is used to indicate that the route Rt1 is withdrawn.
- the BGP peer that is, Spine21
- the route withdrawal message is used to indicate that the route Rt1 is withdrawn.
- Leaf12 When Leaf12 receives the sequence numbers of route Rt1 and route Rt1, it will follow the processing method when Leaf11 receives the sequence numbers of route Rt2 and route Rt2 sent by Spine21, and finally Spine21 will select route Rt2 and send it to host 30. The data is forwarded to Leaf12 to forward to the host 30 through Leaf12 to ensure correct data forwarding.
- any Leaf receives the host route sent by Spine, regardless of the sequence number of the host route, it is preferred that the host route sent by Spine is sent to the IP forwarding table to guide data forwarding, and the corresponding is deleted.
- the ARP entry (the IP address in the ARP entry is the same as the prefix of the host route), the host route corresponding to the deleted ARP entry will be revoked in time, and Spine will be triggered to revoke the route in time by sending a route revocation message to Spine.
- the message sent to the host is forwarded to the leaf that the host accesses after the migration.
- Leaf deletes the corresponding ARP entry it will also send an ARP request for the corresponding IP address (the same prefix as the host route, and the IP address in the deleted ARP entry) to detect whether the corresponding host is still there. Local access to prevent erroneous message forwarding.
- the route update method provided by the present application is described above, and the route update device provided by the present application is described below:
- the device is applied to an access device and includes: a receiving unit 701 and a routing unit 702.
- the receiving unit 701 is configured to receive the first host route and the first sequence number sent by the BGP peer of the device; the first sequence number is the sequence number of the first host route, and the BGP peer determines to send the The basis of the first host routing.
- the routing unit 702 is configured to select the first host route as the route used when the device forwards data to the host, and delete the recorded ARP entry corresponding to the host; the IP address in the ARP entry , The IP address of the host is the same as the prefix in the first host route.
- the device further includes: an ARP unit 703, configured to send an ARP request to the host, where the destination IP address of the ARP request is the same as the prefix in the first host route.
- an ARP unit 703 configured to send an ARP request to the host, where the destination IP address of the ARP request is the same as the prefix in the first host route.
- the ARP unit 703 if the ARP unit 703 does not receive an ARP response within a specified time after sending the ARP request, it detects whether the number of times the ARP request has been sent has reached the set number of times; when the set number of times has not been reached , And send the ARP request again.
- the ARP unit 703 when the ARP unit 703 receives the ARP response, it learns ARP information according to the ARP response.
- the routing unit 702 Based on this, the routing unit 702 generates a second host route using ARP information, determines the second sequence number of the second host route, sends the second host route and the second sequence number to the BGP peer of the device, and The route used when the device forwards data to the host is updated from the first host route to the second host route.
- the type of the second host route is a designated type, and the designated type is used to indicate that the second host route is generated according to the ARP information.
- the routing unit 702 determining the second sequence number of the second host route may include: checking whether a host route meeting a condition has been recorded, and the host route meeting the condition is: a route with the second host A host route with the same prefix/prefix length and a sequence number sent by the BGP peer; when no host route meeting the conditions is recorded, the pre-specified initial value of the sequence number is used as the second sequence of the second host route When the host route that meets the condition has been recorded, the second sequence number of the second host route is determined according to the recorded sequence numbers of all host routes that meet the condition.
- the routing unit 702 determining the second sequence number of the second host route according to the recorded sequence numbers of all host routes that meet the condition may include: selecting the largest sequence number from the sequence numbers of all the host routes that meet the condition. Serial number; the sum of the largest serial number and the specified value is used as the second serial number of the second host route.
- the routing unit 702 optimizing the first host route as the route used by the device to forward data to the host may include: checking whether the route used by the device to forward data to the host exists in the IP forwarding table (Recorded as an existing route), if not, the first host route is issued to the IP forwarding table; if so, the foregoing existing route in the IP forwarding table is updated to the first host route.
- the routing unit 702 further cancels the recorded third host route when deleting the recorded ARP entry or after deleting the recorded ARP entry.
- the route type of is a designated type, and the designated type is used to indicate that the third host route is generated based on the ARP information in the ARP table entry; send a route withdrawal message to the BGP Peer of the device, the route withdrawal message Used to indicate that the third host route is revoked.
- the device is applied to convergence equipment, and may include: a receiving unit 801 and a routing unit 802.
- the receiving unit 801 is configured to receive the host route and the serial number of the host route sent by the BGP peer of the device;
- the routing unit 802 is configured to select a host route (denoted as the first host route) whose sequence number meets the specified condition from the above host route and other host routes that have the same prefix/prefix length as the above host route.
- Other BGP peers other than the first BGP peer that sends the first host route send the first host route and the sequence number (denoted as the first sequence number) of the first host route.
- the routing unit 802 selects a host route whose sequence number meets the specified condition (denoted as the first host route) from the above host route and other received host routes with the same prefix/prefix length as the above host route. It can include: selecting the host route with the largest sequence number from the above host route and other host routes with the same prefix/prefix length as the above host route.
- the selected host route with the largest sequence number is regarded as a host route with the above sequence number meeting the specified conditions (recorded as the first host route); and when the number of the selected host route with the largest sequence number is greater than 1, Then, according to the set route determination method, a host route is determined from the selected host routes with the largest sequence number as a host route whose sequence number meets the specified condition (denoted as the first host route).
- a host route (denoted as the first host route) whose sequence number meets the specified conditions is selected based on the sequence number.
- the receiving unit 801 is further configured to receive a route cancellation message.
- the route withdrawal message is used to indicate the host route that has been revoked.
- the routing unit 802 may further cancel the host route indicated by the route withdrawal message.
- an embodiment of the present application also provides an electronic device.
- the structure of the electronic device is shown in Fig. 9 and may include a processor and a machine-readable storage medium.
- the machine-readable storage medium stores machine-executable instructions that can be executed by the processor.
- the processor is used to execute machine-executable instructions to implement the method disclosed in the above examples of the present application.
- the aforementioned machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device, and may contain or store information, such as executable instructions, data, and so on.
- the machine-readable storage medium can be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard drive), solid state hard drive, any type of storage disk (Such as CD, DVD, etc.), or similar storage media, or a combination of them.
- a typical implementation device is a computer.
- the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email receiving and sending device, and a game control A console, a tablet computer, a wearable device, or a combination of any of these devices.
- the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, this application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present application may adopt the form of computer program products implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- these computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device,
- the instruction device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
- These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
- the instructions provide steps for implementing the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了路由更新方法和装置。在本申请中,当接入设备接收到本设备的BGP peer发送的第一主机路由和第一序列号时,不管第一序列号取值多少,都会优选第一主机路由作为本设备向目标主机转发数据时所使用的路由,并删除已记录的与目标主机对应的第一ARP表项以按照现有路由撤销机制触发本设备的BGP peer即汇聚设备撤销与第一ARP表项相关的主机路由,防止了汇聚设备在上述目标主机迁移后错误地将发向该目标主机的报文转发至该目标主机在迁移之前接入的接入设备,保证数据转发正确。
Description
本申请涉及网络通信技术,特别涉及路由更新方法和装置。
在网络中常出现主机迁移的现象。这里的主机举例可为WLAN无线终端、有线终端或虚拟机等。以主机为WLAN无线终端为例,上述的主机迁移可包括:WLAN无线终端漫游。再以主机为虚拟机为例,上述的主机迁移可包括:虚拟机迁移。
当主机发生迁移后,常会出现如下问题:汇聚设备不能及时感知到主机迁移,还会将发向该主机的报文转发至该主机在迁移之前接入的接入设备。应用于架构为脊(Spine)-叶子(Leaf)的网络中,这里的接入设备可为Leaf节点,汇聚设备为:Spine节点。
发明内容
本申请提供了路由更新方法和装置,以防止汇聚设备在主机迁移后还将发向该主机的报文转发至该主机在迁移之前接入的接入设备。
本申请提供了一种路由更新方法,该方法应用于接入设备,包括:接收本设备的BGP peer发送的第一主机路由和第一序列号;所述第一序列号是所述第一主机路由的序列号,是所述BGP peer确定发送所述第一主机路由的依据;优选所述第一主机路由作为本设备向主机转发数据时所使用的路由,并删除已记录的与所述主机对应的ARP表项;所述ARP表项中的IP地址、所述主机的IP地址均与所述第一主机路由中的前缀相同。
作为一个实施例,该方法进一步包括:向所述主机发送ARP请求,所述ARP请求的目的IP地址为被删除的所述ARP表项中的IP地址。
作为一个实施例,该方法进一步包括:在发送所述ARP请求之后的指定时间内若没有收到ARP应答,则检测所述ARP请求的发送次数是否达到设定次数;当未达到所述设定次数时,再次发送所述ARP请求。
作为一个实施例,该方法进一步包括:当接收到ARP应答时,根据所述ARP应答学习ARP信息;利用所述ARP信息生成第二主机路由,所述第二主机路由的类型为指定类型,所述指定类型用于指示所述第二主机路由是依据所述ARP信息生成的;确定所述第二主机路由的第二序列号,向本设备的BGP peer发送所述第二主机路由和所述第二序列号,并将本设备向所述主机转发数据时所使用的路由从所述第一主机路由更新为所述第二主机路由。
作为一个实施例,所述确定所述第二主机路由的第二序列号包括:检查是否已记录了满足条件的主机路由,所述满足条件的主机路由为:与所述第二主机路由中的前缀/前缀长度相同且由所述BGP peer发送并具有序列号的主机路由;当未记录满足条件的主机路由,则将预先指定的序列号初始值作为所述二主机路由的第二序列号;当已记录满足条件的主机路由,则依据已记录的满足条件的所有主机路由的序列号确定所述第二主机路由的第二序列号。
作为一个实施例,所述依据已记录的满足条件的所有主机路由的序列号确定所述第二主机路由的第二序列号包括:从满足条件的所有主机路由的序列号中选择取值最大的 最大序列号;将所述最大序列号与指定值的和作为第二主机路由的第二序列号。
作为一个实施例,所述优选第一主机路由作为本设备向所述主机转发数据时所使用的路由包括:检查IP转发表中是否存在本设备向所述主机转发数据时所使用的路由,如果否,将所述第一主机路由下发至IP转发表;如果是,将所述IP转发表中存在的本设备向所述主机转发数据时所使用的路由更新为所述第一主机路由。
作为一个实施例,当删除已记录的所述ARP表项时,或者当删除已记录的所述ARP表项后,该方法进一步包括:撤销已记录的第三主机路由,所述第三主机路由的路由类型为指定类型,所述指定类型用于指示所述第三主机路由是依据所述ARP表项中的ARP信息生成的;向本设备的BGP Peer发送路由撤销消息,所述路由撤销消息用于指示所述第三主机路由被撤销。
本申请还提供了一种路由更新装置,该装置应用于接入设备,包括:接收单元,用于接收本设备的BGP peer发送的第一主机路由和第一序列号;所述第一序列号是所述第一主机路由的序列号,是所述BGP peer确定发送所述第一主机路由的依据;路由单元,用于优选所述第一主机路由作为本设备向主机转发数据时所使用的路由,并删除已记录的与所述主机对应的ARP表项;所述ARP表项中的IP地址、所述主机的IP地址均与所述第一主机路由中的前缀相同。
本申请还提供了一种电子设备,该电子设备包括:处理器和机器可读存储介质;所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述任一项的方法步骤。
由以上技术方案可以看出,本申请中,当接入设备接收到本设备的BGP peer发送的第一主机路由和第一序列号时,不管第一序列号取值多少,都会优选第一主机路由作为本设备向目标主机转发数据时所使用的路由,并删除已记录的与目标主机对应的第一ARP表项以按照现有路由撤销机制触发本设备的BGP peer即汇聚设备撤销与第一ARP表项相关的主机路由,防止了汇聚设备在上述目标主机迁移后错误地将发向该目标主机的报文转发至该目标主机在迁移之前接入的接入设备,保证数据转发正确。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本申请实施例的原理。
图1为本申请实施例提供的路由更新方法的第一方法流程图;
图2为本申请实施例提供的收到ARP应答时的流程图;
图3为本申请实施例提供的路由更新方法的第二方法流程图;
图4为本申请实施例提供的路由更新方法的组网示意图;
图5为本申请实施例提供的扩展团体属性字段的结构示意图;
图6为本申请实施例提供的路由更新方法的另一组网示意图;
图7为本申请实施例提供的路由更新装置结构图;
图8为本申请实施例提供的另一路由更新装置结构图;
图9为本申请实施例提供的电子设备结构图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
参见图1,图1为本申请实施例提供的路由更新方法的第一方法流程图。该流程应用于接入设备。应用于Spine-Leaf组网结构,这里的接入设备可为Leaf节点。
如图1所示,该流程可包括以下步骤:
步骤101,接收本设备的BGP peer发送的第一主机路由和第一序列号。
在应用中,接入设备可以基于边界网关协议(BGP:Border Gateway Protocol)与其连接的汇聚设备建立BGP邻居,并互为BGP对等体(peer)。即接入设备的BGP peer为汇聚设备,汇聚设备的BGP peer为接入设备。
在本实施例中,第一序列号是第一主机路由的序列号,是接入设备的BGP peer比如汇聚设备确定发送第一主机路由的依据。至于接入设备的BGP peer比如汇聚设备如何依据第一序列号确定发送第一主机路由,具体可参见下文图3所示流程的步骤302,这里暂不赘述。需要说明的是,上述第一主机路由、第一序列号只是为便于描述而命名的,并非用于限定。
步骤102,优选第一主机路由作为本设备向主机转发数据时所使用的路由,并删除已记录的与主机对应的ARP表项。
在步骤102中,主机是指IP地址与第一主机路由中的前缀相同的主机,为便于描述,这里将该主机记为目标主机。
在步骤102中,ARP表项中的IP地址与第一主机路由中的前缀相同。为便于描述,这里将该ARP表项记为第一ARP表项。
在一个例子中,IP转发表用于指导数据转发,其记录了本设备向各个主机转发数据的路由。基于此,作为一个实施例,本步骤102中,优选第一主机路由作为本设备向目标主机转发数据时所使用的路由可包括:检查IP转发表中是否存在本设备向目标主机转发数据时所使用的路由(记为现有路由),如果否,将第一主机路由下发至IP转发表;如果是,将IP转发表中的上述现有路由更新为第一主机路由。需要说明的是,上述现有路由并非自定义路由,而是为便于描述而进行的命名。最终,优选第一主机路由作为本设备向目标主机转发数据时所使用的路由下发至IP转发表,用于指导本设备向目标主机转发数据。
如步骤101描述,第一主机路由是从本设备的BGP peer接收的,相当于远端路由。因此,在步骤102中,当优选远端路由即上述第一主机路由作为本设备向主机转发数据时所使用的路由后,之前建立的与上述目标主机对应的第一ARP表项(在上述目标主机为本地主机时建立的ARP表项)就没有必要存在了,此时可删除第一ARP表项。而删除第一ARP表项即可触发撤销与第一ARP表项相关的主机路由,具体见下文实施例描述,以保证汇聚设备在上述目标主机迁移后不再错误地将发向该目标主机的报文转发至该目标主机在迁移之前接入的接入设备,而是直接发送至目标主机在迁移之后接入的接入设备,保证数据转发正确。
通过图1所示流程可以看出,在本申请中,当接入设备接收到本设备的BGP peer发送的第一主机路由和第一序列号时,不管第一序列号取值多少,都会优选第一主机路由(即远端路由)作为本设备向目标主机转发数据时所使用的路由,并删除已记录的与目标主机对应的第一ARP表项以按照现有路由撤销机制触发本设备的BGP peer即汇聚设备撤销与第一ARP表项相关的主机路由,防止了汇聚设备在上述目标主机迁移后错误地将发向该目标主机的报文转发至该目标主机在迁移之前接入的接入设备,保证数据 转发正确。
作为一个实施例,上述步骤102中,在删除上述第一ARP表项前/后,或者在删除上述第一ARP表项时,可进一步探测上述目标主机是否还在本地接入。这里之所以探测目标主机是否还在本地接入,其目的是为了防止上述第一主机路由有可能是在攻击者伪装成上述目标主机时学习到的。假若上述第一主机路由是攻击者伪装成上述目标主机时学习到的,则如步骤102描述的优选第一主机路由作为本设备向目标主机转发数据时所使用的路由,则会导致很多数据被转发至攻击者。基于此,为及时纠正数据长期被转发至攻击者,则需要进一步探测目标主机是否还在本地接入。
作为一个实施例,探测目标主机是否还在本地接入可包括以下步骤a:
步骤a:向目标主机发送ARP请求。在一个例子中,ARP请求的目的IP地址为上述第一ARP表项中的IP地址。
在应用中,有可能因为网络不稳定等影响而导致上述ARP请求无法到达目标主机。为避免这种情况,则在一个例子中,当在发送ARP请求之后的指定时间内没有收到ARP应答时,检测ARP请求的发送次数是否达到设定次数;当未达到设定次数时,再次发送上述ARP请求。当然,当达到设定次数,则结束当前发送ARP请求的流程。在具体实现时,上述指定时间、设定次数可根据实际情况设置,比如指定时间设置为200毫秒,设定次数设置为3。
作为一个实施例,在上述发送ARP请求后,若接收到ARP请求对应的ARP应答(ARP应答的源IP地址为上述目标主机的IP地址),则说明此时上述目标主机还接入在本地,基于此,可执行图2所示的流程。
如图2所示,该流程可包括以下步骤:
步骤201,根据接收到的ARP应答学习ARP信息。
这里之所以学习ARP信息,其目的是为了建立ARP表项(为了区分上述第一ARP表项,这里可记为第二ARP表项)。下文会通过具体实施例描述ARP信息、ARP表项的结构,这里暂不赘述。
步骤202,利用上述ARP信息生成第二主机路由,第二主机路由的类型为指定类型,指定类型用于指示所述第二主机路由是依据该ARP信息生成的。
作为一个实施例,本步骤202利用上述ARP信息生成第二主机路由可包括:依据ARP信息并结合主机路由的规则要求生成满足规则要求的第二主机路由。下文会通过实施例描述ARP信息、如何基于ARP信息生成主机路由,这里暂不赘述。
步骤203,确定第二主机路由的第二序列号,向本设备的BGP peer发送第二主机路由和第二序列号,并将本设备向目标主机转发数据时所使用的路由从第一主机路由更新为第二主机路由。
基于上述IP转发表的描述,在一个例子中,本步骤203中将本设备向目标主机转发数据时所使用的路由从第一主机路由更新为第二主机路由可包括:将IP转发表中已记录的本设备向所述主机转发数据时所使用的路由从第一主机路由更新为第二主机路由。最终,第二主机路由优选为本设备向目标主机转发数据时所使用的路由记录在IP转发表中。
在本步骤203中,确定第二主机路由的第二序列号有很多实现方式,其中一种实现方式可包括:检查是否已记录了满足条件的主机路由,满足条件的主机路由为:与第二主机路由中的前缀/前缀长度相同且由上述BGP peer通告并具有序列号的主机路由;当未记录满足条件的主机路由,则将预先指定的序列号初始值(比如0)作为第二主机路由的第二序列号;当已记录满足条件的主机路由,则依据已记录的满足条件的所有主机路由的序列号确定第二主机路由的第二序列号。
在一个例子中,上述依据已记录的满足条件的所有主机路由的序列号确定所述第二主机路由的第二序列号可包括:从满足条件的所有主机路由的序列号中选择最大的序列 号;将最大的序列号与指定值(比如1)的和作为第二主机路由的第二序列号。
至此,完成图2所示流程。
通过图2所示流程,能及时将本设备向目标主机转发数据时所使用的路由从之前接收的第一主机路由(即远端路由)更新为第二主机路由(即本地路由),防止上述很多数据被转发至攻击者。
以上是从接入设备角度描述本申请实施例提供的路由更新方法。下面从汇聚设备角度描述本申请实施例提供的路由更新方法。
参见图3,图3为本申请实施例提供的路由更新方法的第二方法流程图。该流程应用于汇聚设备。应用于Spine-Leaf组网结构,这里的汇聚设备可为Spine节点。
如图3所示,该流程可包括以下步骤:
步骤301,汇聚设备接收本设备的任一BGP peer发送的主机路由和主机路由的序列号。
在一个例子中,汇聚设备可与其连接的接入设备互为BGP peer。因此,汇聚设备的BGP peer可为接入设备,比如图1、图2所示流程涉及的接入设备。
步骤302,汇聚设备从上述主机路由和已接收的与上述主机路由具有相同前缀/前缀长度的其它各主机路由中选择序列号满足指定条件的一个主机路由(记为第一主机路由)。
为与图1所示流程对应,这里可将选择出的序列号满足指定条件的一个主机路由记为第一主机路由。作为一个实施例,本步骤302中,从上述主机路由和已接收的与上述主机路由具有相同前缀/前缀长度的其它各主机路由中选择序列号满足指定条件的一个主机路由(记为第一主机路由),有很多实现形式,比如:从上述主机路由和已接收的与上述主机路由具有相同前缀/前缀长度的其它各主机路由中选择序列号最大的主机路由,当选择出的主机路由的个数为1,则将该选择出的主机路由作为上述序列号满足指定条件的一个主机路由(记为第一主机路由);而当选择出的主机路由的个数大于1,则按照设定的路由确定方式从已选择出的各主机路由中确定一个主机路由作为上述序列号满足指定条件的一个主机路由(记为第一主机路由)。这里设定的路由确定方式有很多,比如路由优先级、路由下一跳可达等,本申请实施例并不具体限定。最终通过上面描述实现了以序列号为依据选择出序列号满足指定条件的一个主机路由(记为第一主机路由)。需要说明的是,最终选择出的第一主机路由有可能是汇聚设备在上述步骤301中收到的主机路由,也有可能不是汇聚设备在上述步骤301中收到的主机路由。
步骤303,汇聚设备向除发送上述第一主机路由的第一BGP peer之外的其它BGP peer发送第一主机路由和第一主机路由的序列号(记为第一序列号)。
至此,完成图3所示流程。通过图3所示流程可以看出,汇聚设备每接收到本设备的任一BGP peer发送的主机路由和序列号,都会触发执行上述步骤302至步骤303的步骤,以及时触发本设备的BGP peer及时更新路由(具体见上述图1所示流程)。
下面以Spine-Leaf组网结构为例,通过一个具体实施例对上述图1至图3所示流程进行实例描述:
参见图4,图4为本申请实施例提供的路由更新方法的组网示意图。图4所示的组网以3个接入设备(Leaf11、Leaf12、Leaf13)、1个汇聚设备(Spine21)为例。在图4中,Leaf11、Leaf12、Leaf13均与Spine21互为BGP peer。
初始,主机30接入Leaf11。本申请实施例中,主机30可以直接接入Leaf11,也可以通过二层设备AP接入Leaf11。图4以主机30通过AP接入Leaf11为例。
Leaf11学习主机30对应的ARP信息。本申请实施例中,Leaf11可按照现有ARP信息方式学习主机30对应的ARP信息,比如通过接收到主机30发送的ARP应答或ARP请求学习主机30对应的ARP信息。在一个例子中,ARP信息主要包括:主机30的IP地址(以10.1.1.2为例)、MAC地址(以02e0-f102-00231为例)、主机30所属 的VLAN(以VLAN100为例)、Leaf1接入主机30的接口(也即学习到ARP信息的接口,这里以XGE1/0/1为例)。
Leaf11基于学习到的上述ARP信息建立主机30对应的ARP表项(记为ARP表项4_1)。表1示出了ARP表项4_1的结构:
IP address | MAC address | VLAN | Interface |
10.1.1.2 | 02e0-f102-00231 | VLAN100 | XGE1/0/1 |
表1
在表1中,10.1.1.2是主机30的IP地址,02e0-f102-00231是主机30的MAC地址、VLAN100是主机30所属的VLAN、XGE1/0/1是Leaf1接入主机30的接口(也即学习到ARP信息的接口)。
Leaf11依据ARP表项4_1生成对应的主机路由(记为路由Rt1)。在一个例子中,Leaf11可按照路由规则要求将ARP表项4_1转换为对应的路由Rt1,最终转换得到的路由Rt1满足路由规则要求。需要说明的是,为和其它主机路由区分,这里,路由Rt1的类型可被设置为指定类型,以表示路由Rt1是依据ARP表项生成的。另外,由于路由Rt1是依据ARP表项生成的,此时路由Rt1也可称为“ARP主机路由”。
Leaf11将路由Rt1添加至RIB(路由信息库)中,并将RIB中新添加的路由Rt1的表项(简称路由表项4_2)的类型设置为上述指定类型。表2示出了路由表项4_2的结构:
表2
在表2中,Destination/Mask表示路由Rt1的前缀/前缀长度。Proto/SubProto(协议/子协议)为指定类型比如Direct/ARP,则表示生成路由Rt1的协议类型为ARP,也用于指示路由Rt1是依据ARP信息生成的。Pre(优先级)表示路由优先级。Cost(度量值)表示路由度量值。NextHop表示下一跳。Interface表示路由出接口。
在一个例子中,Leaf11将路由Rt1添加至RIB(路由信息库)后,还可优选路由Rt1下发至IP转发表,以在向主机30转发数据时依据IP转发表中的路由Rt1进行转发。
Leaf11确定路由Rt1的序列号。在一个例子中,Leaf11检查RIB中是否已记录了满足条件的主机路由,满足条件的主机路由为:与路由Rt1的前缀/前缀长度相同且由Leaf1的BGP peer发送并具有序列号的主机路由。Leaf11检查出未记录满足条件的主机路由,则将预先指定的序列号初始值(以0为例)作为Rt1的序列号。
Leaf11向BGP peer(即Spine21)发送路由Rt1(本实施例以发送路由Rt1的前缀/前缀长度为例)和路由Rt1的序列号。在一个例子中,Leaf11可通过BGP UPDATE报文向BGP peer(即Spine21)发送路由Rt1和路由Rt1的序列号(以0为例)。需要说明的是,为使BGP UPDATE报文携带序列号,本实施例可在BGP UPDATE报文中增加扩展团体属性字段。在一个例子中,扩展团体属性字段可设置在BGP UPDATE报文的路径属性(Path attribute)中。至于设置在Path attribute的具***置,本申请实施例并不具体限定。另外,作为一个实施例,扩展团体属性字段长度为8个字节。
图5举例示出了扩展团体属性字段的结构示意图。如图5所示,扩展团体属性字段包括:
Type,用于指示类型,与BGP已定义的类型值不同。图5以Type为0x07为例。
Sub-Type,用于指示子类型,与BGP已定义的类型值不同。图5以Sub-Type 为0x00为例。
Reserved,用于指示预留字段。
Sequence Number,用于携带序列号,比如路由Rt1的序列号。
当Spine21接收到Leaf11发送的路由Rt1和路由Rt1的序列号时,发现之前还没有收到其它BGP Peer发送的与路由Rt1具有相同前缀/前缀长度且带有序列号的主机路由,则将路由Rt1和路由Rt1的序列号添加到RIB(以由RIB添加到IP转发表)。
Spine21将路由Rt1和路由Rt1的序列号发送给其他BGP peer(Leaf12和Leaf13)。Leaf12和Leaf13接收到Spine21发送的路由Rt1和路由Rt1的序列号,则分别将路由Rt1和路由Rt1的序列号记录至RIB,并将路由Rt1下发至本地IP转发表,以在向主机30转发数据时根据本地IP转发表中的路由Rt1转发数据。
下面再以主机30发生迁移为例:
假若主机30从Leaf11迁移至Leaf12,图6示出了主机30从Leaf11迁移至Leaf12的示意图,则当主机30从Leaf11迁移至Leaf12后,Leaf12学习主机30对应的ARP信息,并建立主机30对应的ARP表项(记为ARP表项4_3)。表3示出了ARP表项4_3的结构:
IP address | MAC address | VLAN | Interface |
10.1.1.2 | 02e0-f102-00231 | VLAN100 | XGE1/1/1 |
表3
Leaf12依据ARP表项4_3生成对应的主机路由(记为路由Rt2),将路由Rt2添加至RIB(路由信息库)中,并将RIB中新添加的路由Rt2的表项(简称路由表项4_4)的类型设置为上述指定类型。表4示出了路由表项4_4的结构:
表4
Leaf12在将路由Rt2添加至RIB后,还可将IP转发表中向主机30转发数据的路由更新为路由Rt2,以在向主机30转发数据时依据IP转发表中的路由Rt2进行转发。
Leaf12确定路由Rt2的序列号。在一个例子中,Leaf12检查RIB中是否已记录了满足条件的主机路由,满足条件的主机路由为:与路由Rt2的前缀/前缀长度相同且由Leaf12的BGP peer发送并具有序列号的主机路由;当Leaf12检查出满足条件的主机路由,假若此时该存在的满足条件的主机路由的序列号为上述的路由Rt1的序列号(这里以0为例),则将路由Rt1的序列号与指定值(比如1)的和作为路由Rt2的序列号(假若此时路由Rt2的序列号以1为例)。
Leaf12向BGP peer(即Spine21)发送路由Rt2(本申请实施例以发送路由Rt2的前缀/前缀长度为例)和路由Rt2的序列号。这里,Leaf12向BGP peer(即Spine21)发送路由Rt2和路由Rt2的序列号的方式类似上述Leaf11向BGP peer(即Spine21)发送路由Rt1和路由Rt1的序列号的方式,这里不再赘述。
当Spine21接收到Leaf12发送的路由Rt2和路由Rt2的序列号,就从路由Rt2和之前已收到的与路由Rt2具有相同前缀/前缀长度且带有序列号的其它主机路由中选择序列号最大的主机路由。之前已收到的与路由Rt2具有相同前缀/前缀长度且带有序列号的其它主机路由假若为上述的路由Rt1,因为路由Rt1的序列号为0,而路由Rt2的序列号为1,则在一个实施例中,Spine21会选择序列号大的路由即路由Rt2添加到RIB(以由RIB添加到转发表),并将路由Rt2和路由Rt2的序列号发送给其他BGP peer(Leaf11和Leaf13)。
Leaf13接收到Spine21发送的路由Rt2和路由Rt2的序列号,则将路由Rt2和路由 Rt2的序列号记录至RIB,并将本地IP转发表中向主机30转发数据的路由Rt1更新为路由Rt2,以在向主机30转发数据时依据IP转发表中的路由Rt2进行转发。
Leaf11接收到Spine21发送的路由Rt2和路由Rt2的序列号,则将路由Rt2和路由Rt2的序列号记录至RIB,并将本地IP转发表中向主机30转发数据的路由Rt1更新为路由Rt2,以在向主机30转发数据时依据IP转发表中的路由Rt2进行转发。
Leaf11还进一步以路由Rt2的前缀/前缀长度为关键字查找到IP地址与该关键字相同的ARP表项(也即上述ARP表项4_1)。Leaf11删除ARP表项4_1,并发送ARP请求(ARP请求的目的IP地址为ARP表项4_1中的IP地址,也即主机30的IP地址)。Leaf11在发送ARP请求之后的指定时间(比如200毫秒)内没收到对应ARP应答,则检查ARP请求的发送次数是否达到设定次数(比如3次),如果否,再次发送上述ARP请求,如果是,则结束发送ARP请求的流程。当Leaf11收到ARP应答时,则说明IP地址为ARP请求的目的IP地址的主机(即主机30)当前还在Leaf11接入,则Leaf11根据ARP应答学习到ARP信息,之后返回上述Leaf11学习到ARP信息后执行的操作。而当Leaf11始终未收到ARP应答,则确定上述主机30确定已不再Leaf11接入。
需要说明的时,当Leaf11删除ARP表项4_1时,Leaf11还会将RIB(路由信息库)中与ARP表项4_1对应的路由表项4_2删除(也意味着撤销路由Rt1)。Leaf11向BGP peer(即Spine21)发送路由撤销消息,路由撤销消息用于指示路由Rt1被撤销。当Spine21接收到路由撤销消息,发现当前优选的主机路由为路由Rt2,不是路由撤销消息指示的被撤销路由Rt1,则删除已记录的路由Rt1。当然,假若Spine21接收到路由撤销消息,发现当前优选的主机路由为路由Rt2,正好是路由撤销消息指示的被撤销路由,则删除已记录的通过上述路由撤销消息指示的被撤销路由,并重新返回上述选择主机路由的操作。
还需要说明的是,在上面描述的主机30从Leaf11迁移至Leaf12过程中,常会出现一个特例:主机30在Leaf11上线后立即迁移到Leaf12,Leaf12还没有收到上述Spine21发送的路由Rt1和路由Rt1的序列号,或者Leaf12收到上述Spine21发送的路由Rt1和路由Rt1的序列号但还没来得及记录至RIB。在此特例下,假若此时Leaf12正好确定路由Rt2的序列号,则Leaf12确定路由Rt2的序列号就为序列号初始值(以0为例)。之后如上描述,Leaf12向BGP peer(即Spine21)发送路由Rt2和路由Rt2的序列号。当Spine21收到路由Rt2时,可能会发现与路由Rt2具有相同前缀/前缀长度的路由Rt1的序列号与路由Rt2的序列号相同,都为0,则此时,Spine21可随机选择一个路由,也可以按现有路由优选规则选择一个路由。当Spine21选择路由Rt1时,因为此时主机30从Leaf11迁移至Leaf12,则可能会导致暂时的数据转发错误比如将发送至主机30的数据转发至Leaf11。但这个数据转发错误的时间比较短暂,因为当Spine21选择路由Rt1时,Spine21还会将路由Rt1和路由Rt1的序列号发送给其他BGP peer(Leaf12和Leaf13)。当Leaf12收到路由Rt1和路由Rt1的序列号,其会按照上述Leaf11接收到Spine21发送的路由Rt2和路由Rt2的序列号时的处理方式处理,最终会使Spine21选择路由Rt2,将发向主机30的数据转发至Leaf12,以通过Leaf12转发至主机30,保证数据转发正确。
以上对本申请实施例提供的方法进行了描述。
通过上述实施例可以看出,当任一Leaf接收到Spine发送的主机路由时,不管主机路由的序列号是多少,都优选Spine发送的主机路由下发到IP转发表指导数据转发,并删除对应的ARP表项(ARP表项中的IP地址与该主机路由的前缀相同),以及时撤销与被删除ARP表项对应的主机路由并通过向Spine发送路由撤销消息触使Spine及时撤销路由,保证在主机迁移后及时将发向该主机的报文转发至该主机在迁移之后接入的Leaf。
进一步地,Leaf在删除对应的ARP表项时,还会发送对应IP地址(与该主机路由的前缀相同,也是被删除ARP表项中的IP地址)的ARP请求,以探测对应主机是否还 在本地接入,防止错误地报文转发。
以上对本申请提供的路由更新方法进行了描述,下面对本申请提供的路由更新装置进行描述:
参见图7,图7为本申请提供的路由更新装置结构图。该装置应用于接入设备,包括:接收单元701和路由单元702。
接收单元701,用于接收本设备的BGP peer发送的第一主机路由和第一序列号;所述第一序列号是所述第一主机路由的序列号,是所述BGP peer确定发送所述第一主机路由的依据。
路由单元702,用于优选所述第一主机路由作为本设备向主机转发数据时所使用的路由,并删除已记录的与所述主机对应的ARP表项;所述ARP表项中的IP地址、所述主机的IP地址均与所述第一主机路由中的前缀相同。
作为一个实施例,该装置进一步包括:ARP单元703,用于向所述主机发送ARP请求,所述ARP请求的目的IP地址与所述第一主机路由中的前缀相同。
在一个例子中,ARP单元703在发送所述ARP请求之后的指定时间内若没有收到ARP应答,则检测所述ARP请求的发送次数是否达到设定次数;当未达到所述设定次数时,再次发送所述ARP请求。
作为一个实施例,ARP单元703在接收到ARP应答时,根据ARP应答学习ARP信息。
基于此,路由单元702利用ARP信息生成第二主机路由,确定所述第二主机路由的第二序列号,向本设备的BGP peer发送所述第二主机路由和所述第二序列号,并将本设备向所述主机转发数据时所使用的路由从所述第一主机路由更新为所述第二主机路由。这里,第二主机路由的类型为指定类型,指定类型用于指示所述第二主机路由是依据所述ARP信息生成的。
在一个例子中,路由单元702确定所述第二主机路由的第二序列号可包括:检查是否已记录了满足条件的主机路由,所述满足条件的主机路由为:与所述第二主机路由中的前缀/前缀长度相同且由所述BGP peer发送并具有序列号的主机路由;当未记录满足条件的主机路由,则将预先指定的序列号初始值作为所述二主机路由的第二序列号;当已记录满足条件的主机路由,则依据已记录的满足条件的所有主机路由的序列号确定所述第二主机路由的第二序列号。
作为一个实施例,路由单元702依据已记录的满足条件的所有主机路由的序列号确定所述第二主机路由的第二序列号可包括:从满足条件的所有主机路由的序列号中选择最大的序列号;将所述最大的序列号与指定值的和作为第二主机路由的第二序列号。
作为一个实施例,路由单元702优选第一主机路由作为本设备向所述主机转发数据时所使用的路由可包括:检查IP转发表中是否存在本设备向所述主机转发数据时所使用的路由(记为现有路由),如果否,将所述第一主机路由下发至IP转发表;如果是,将所述IP转发表中的上述现有路由更新为所述第一主机路由。
在一个例子中,路由单元702进一步在删除已记录的所述ARP表项时,或者当删除已记录的所述ARP表项后,进一步撤销已记录的第三主机路由,所述第三主机路由的路由类型为指定类型,所述指定类型用于指示所述第三主机路由是依据所述ARP表项中的ARP信息生成的;向本设备的BGP Peer发送路由撤销消息,所述路由撤销消息用于指示所述第三主机路由被撤销。
至此,完成图7所示的路由更新装置结构描述。
参见图8,图8为本申请提供的另一路由更新装置结构图。该装置应用于汇聚设备,可包括:接收单元801和路由单元802。
接收单元801,用于接收本设备的BGP peer发送的主机路由和所述主机路由的序列号;
路由单元802,用于从上述主机路由和已接收的与上述主机路由具有相同前缀/前缀长度的其它各主机路由中选择序列号满足指定条件的一个主机路由(记为第一主机路由),向除发送上述第一主机路由的第一BGP peer之外的其它BGP peer发送第一主机路由和第一主机路由的序列号(记为第一序列号)。
作为一个实施例,路由单元802从上述主机路由和已接收的与上述主机路由具有相同前缀/前缀长度的其它各主机路由中选择序列号满足指定条件的一个主机路由(记为第一主机路由)可包括:从上述主机路由和已接收的与上述主机路由具有相同前缀/前缀长度的其它各主机路由中选择序列号最大的主机路由,当选择出的序列号最大的主机路由的个数为1,则将该选择出的序列号最大的主机路由作为上述序列号满足指定条件的一个主机路由(记为第一主机路由);而当选择出的序列号最大的主机路由的个数大于1,则按照设定的路由确定方式从已选择出的序列号最大的各主机路由中确定一个主机路由作为上述序列号满足指定条件的一个主机路由(记为第一主机路由)。这里设定的路由确定方式有很多,比如路由优先级、路由下一跳可达等,本申请并不具体限定。最终通过上面描述实现了以序列号为依据选择出序列号满足指定条件的一个主机路由(记为第一主机路由)。
作为一个实施例,接收单元801还用于接收路由撤销消息。路由撤销消息用于指示被撤销的主机路由。当接收单元801接收到路由撤销消息时,路由单元802可进一步撤销该路由撤销消息指示的主机路由。
至此,完成图8所示的装置结构图。
基于与上述方法同样的申请构思,本申请实施例还提供一种电子设备。该电子设备的结构如图9所示,可包括:处理器和机器可读存储介质。
其中,机器可读存储介质存储有能够被所述处理器执行的机器可执行指令。
处理器用于执行机器可执行指令,以实现本申请上述示例公开的方法。
示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
至此,完成图9所示电子设备的结构描述。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的 指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
- 一种路由更新方法,其特征在于,该方法应用于接入设备,包括:接收本设备的BGP peer发送的第一主机路由和第一序列号;所述第一序列号是所述第一主机路由的序列号,是所述BGP peer确定发送所述第一主机路由的依据;优选所述第一主机路由作为本设备向主机转发数据时所使用的路由,并删除已记录的与所述主机对应的ARP表项;所述ARP表项中的IP地址、所述主机的IP地址均与所述第一主机路由中的前缀相同。
- 根据权利要求1所述的方法,其特征在于,该方法进一步包括:向所述主机发送ARP请求,所述ARP请求的目的IP地址与所述第一主机路由中的前缀相同。
- 根据权利要求2所述的方法,其特征在于,该方法进一步包括:在发送所述ARP请求之后的指定时间内若没有收到ARP应答,则检测所述ARP请求的发送次数是否达到设定次数;当未达到所述设定次数时,再次发送所述ARP请求。
- 根据权利要求2或3所述的方法,其特征在于,该方法进一步包括:当接收到ARP应答时,根据所述ARP应答学习ARP信息;利用所述ARP信息生成第二主机路由,所述第二主机路由的类型为指定类型,所述指定类型用于指示所述第二主机路由是依据所述ARP信息生成的;确定所述第二主机路由的第二序列号,向本设备的BGP peer发送所述第二主机路由和所述第二序列号,并将本设备向所述主机转发数据时所使用的路由从所述第一主机路由更新为所述第二主机路由。
- 根据权利要求4所述的方法,其特征在于,确定所述第二主机路由的所述第二序列号包括:检查是否已记录了满足条件的主机路由,所述满足条件的主机路由为与所述第二主机路由中的前缀/前缀长度相同且由所述BGP peer发送并具有序列号的主机路由;当未记录满足条件的主机路由,则将预先指定的序列号初始值作为所述二主机路由的第二序列号;当已记录满足条件的主机路由,则依据已记录的满足条件的所有主机路由的序列号确定所述第二主机路由的第二序列号。
- 根据权利要求5所述的方法,其特征在于,所述依据已记录的满足条件的所有主机路由的序列号确定所述第二主机路由的第二序列号包括:从满足条件的所有主机路由的序列号中选择最大的序列号;将所述最大的序列号与指定值的和作为第二主机路由的第二序列号。
- 根据权利要求1所述的方法,其特征在于,所述优选第一主机路由作为本设备向所述主机转发数据时所使用的路由包括:检查IP转发表中是否存在本设备向所述主机转发数据时所使用的现有路由,如果否,将所述第一主机路由下发至IP转发表;如果是,将所述IP转发表中的所述现有路由更新为所述第一主机路由。
- 根据权利要求1所述的方法,其特征在于,当删除已记录的所述ARP表项时,或者当删除已记录的所述ARP表项后,该方法进一步包括:撤销已记录的第三主机路由,所述第三主机路由的路由类型为指定类型,所述指定类型用于指示所述第三主机路由是依据所述ARP表项中的ARP信息生成的;向本设备的BGP Peer发送路由撤销消息,所述路由撤销消息用于指示所述第三主机路由被撤销。
- 一种路由更新装置,其特征在于,该装置应用于接入设备,包括:接收单元,用于接收本设备的BGP peer发送的第一主机路由和第一序列号;所述第一序列号是所述第一主机路由的序列号,是所述BGP peer确定发送所述第一主机路由的依据;路由单元,用于优选所述第一主机路由作为本设备向主机转发数据时所使用的路由,并删除已记录的与所述主机对应的ARP表项;所述ARP表项中的IP地址、所述主机的IP地址均与所述第一主机路由中的前缀相同。
- 一种电子设备,其特征在于,该电子设备包括:处理器和机器可读存储介质;所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求1-8任一项的方法步骤。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20922374.2A EP4113916A4 (en) | 2020-02-28 | 2020-02-28 | METHOD AND DEVICE FOR ROUTE UPDATE |
CN202080000218.0A CN113574834B (zh) | 2020-02-28 | 2020-02-28 | 路由更新方法和装置 |
JP2022550979A JP7366283B2 (ja) | 2020-02-28 | 2020-02-28 | ルート更新方法及び装置 |
PCT/CN2020/077241 WO2021168818A1 (zh) | 2020-02-28 | 2020-02-28 | 路由更新方法和装置 |
US17/905,155 US12015587B2 (en) | 2020-02-28 | 2020-02-28 | Methods for updating route, access device, and convergence device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/077241 WO2021168818A1 (zh) | 2020-02-28 | 2020-02-28 | 路由更新方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021168818A1 true WO2021168818A1 (zh) | 2021-09-02 |
Family
ID=77490598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/077241 WO2021168818A1 (zh) | 2020-02-28 | 2020-02-28 | 路由更新方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US12015587B2 (zh) |
EP (1) | EP4113916A4 (zh) |
JP (1) | JP7366283B2 (zh) |
CN (1) | CN113574834B (zh) |
WO (1) | WO2021168818A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992583A (zh) * | 2021-10-26 | 2022-01-28 | 新华三信息安全技术有限公司 | 一种表项维护方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114841710B (zh) * | 2022-06-30 | 2022-10-04 | 深圳华锐分布式技术股份有限公司 | 交易***故障时的撤单方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014101708A1 (zh) * | 2012-12-26 | 2014-07-03 | 中兴通讯股份有限公司 | 二层网络数据传送方法及网络节点 |
CN107783815A (zh) * | 2016-08-30 | 2018-03-09 | 华为技术有限公司 | 一种确定虚拟机迁移的方法和装置 |
CN109587286A (zh) * | 2018-12-27 | 2019-04-05 | 新华三技术有限公司 | 一种设备接入控制方法及装置 |
CN110505621A (zh) * | 2019-08-30 | 2019-11-26 | 新华三技术有限公司 | 一种终端迁移的处理方法及装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6055561A (en) * | 1996-10-02 | 2000-04-25 | International Business Machines Corporation | Mapping of routing traffic to switching networks |
JP3613207B2 (ja) | 2001-06-29 | 2005-01-26 | 日本電気株式会社 | Arpテーブル形成方法及びこれを用いた経路制御方法 |
EP2104896B1 (en) * | 2007-01-17 | 2013-03-06 | Nortel Networks Limited | Border gateway protocol procedures for mpls and layer-2 vpn using ethernet-based tunnels |
CN101686455B (zh) | 2008-09-27 | 2012-12-12 | 华为技术有限公司 | 移动性管理方法、相关设备及通信*** |
JP4931888B2 (ja) | 2008-09-29 | 2012-05-16 | アラクサラネットワークス株式会社 | 転送装置、転送方法、およびコンピュータプログラム |
EP2767051B1 (en) * | 2011-11-03 | 2017-01-11 | Huawei Technologies Co., Ltd. | Border gateway protocol extension for the host joining/leaving a virtual private network |
US9191139B1 (en) * | 2012-06-12 | 2015-11-17 | Google Inc. | Systems and methods for reducing the computational resources for centralized control in a network |
CN104871495B (zh) * | 2012-09-26 | 2018-07-13 | 华为技术有限公司 | 用于叠加网络的虚拟叠加网关 |
US9246804B1 (en) | 2012-11-30 | 2016-01-26 | Hewlett Packard Enterprise Development Lp | Network routing |
CN104052666B (zh) | 2013-03-14 | 2018-05-11 | 新华三技术有限公司 | 实现主机路由可达的方法和装置 |
JP5980724B2 (ja) | 2013-05-24 | 2016-08-31 | 日本電信電話株式会社 | ネットワーク装置、中継管理方法、中継管理プログラムおよび通信システム |
US10616108B2 (en) * | 2014-07-29 | 2020-04-07 | Avago Technologies International Sales Pte. Limited | Scalable MAC address virtualization |
US9912584B2 (en) * | 2014-11-07 | 2018-03-06 | Cisco Technology, Inc. | Data center inbound routing optimization in the event of virtual machine mobility |
US10454877B2 (en) * | 2016-04-29 | 2019-10-22 | Cisco Technology, Inc. | Interoperability between data plane learning endpoints and control plane learning endpoints in overlay networks |
CN106998297B (zh) | 2017-03-22 | 2019-11-08 | 新华三技术有限公司 | 一种虚拟机迁移方法和装置 |
CN107070787B (zh) | 2017-04-25 | 2020-10-27 | 新华三技术有限公司 | 一种默认路由撤销方法和装置 |
CN107547349B (zh) * | 2017-07-31 | 2021-02-05 | 新华三技术有限公司 | 一种虚拟机迁移的方法及装置 |
CN107612834A (zh) | 2017-09-13 | 2018-01-19 | 杭州迪普科技股份有限公司 | 一种基于虚拟设备迁移的evpn路由更新方法 |
CN108418740B (zh) | 2018-02-28 | 2020-09-08 | 新华三技术有限公司 | 报文处理方法及装置 |
CN108718277B (zh) | 2018-04-11 | 2021-11-09 | 新华三技术有限公司 | 基于路由表的报文转发方法与路由表维护方法及相关装置 |
US10708125B1 (en) * | 2018-09-05 | 2020-07-07 | Amazon Technologies, Inc. | Gateway configuration using a network manager |
CN110768901B (zh) * | 2019-10-24 | 2022-02-25 | 新华三技术有限公司 | 路由发布方法、路由选择方法、相关装置及*** |
US20210211404A1 (en) * | 2020-01-08 | 2021-07-08 | Cisco Technology, Inc. | Dhcp snooping with host mobility |
-
2020
- 2020-02-28 EP EP20922374.2A patent/EP4113916A4/en active Pending
- 2020-02-28 US US17/905,155 patent/US12015587B2/en active Active
- 2020-02-28 JP JP2022550979A patent/JP7366283B2/ja active Active
- 2020-02-28 CN CN202080000218.0A patent/CN113574834B/zh active Active
- 2020-02-28 WO PCT/CN2020/077241 patent/WO2021168818A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014101708A1 (zh) * | 2012-12-26 | 2014-07-03 | 中兴通讯股份有限公司 | 二层网络数据传送方法及网络节点 |
CN107783815A (zh) * | 2016-08-30 | 2018-03-09 | 华为技术有限公司 | 一种确定虚拟机迁移的方法和装置 |
CN109587286A (zh) * | 2018-12-27 | 2019-04-05 | 新华三技术有限公司 | 一种设备接入控制方法及装置 |
CN110505621A (zh) * | 2019-08-30 | 2019-11-26 | 新华三技术有限公司 | 一种终端迁移的处理方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992583A (zh) * | 2021-10-26 | 2022-01-28 | 新华三信息安全技术有限公司 | 一种表项维护方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP4113916A1 (en) | 2023-01-04 |
JP7366283B2 (ja) | 2023-10-20 |
CN113574834B (zh) | 2022-11-25 |
US20230093310A1 (en) | 2023-03-23 |
US12015587B2 (en) | 2024-06-18 |
EP4113916A4 (en) | 2023-03-15 |
CN113574834A (zh) | 2021-10-29 |
JP2023515955A (ja) | 2023-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9456052B2 (en) | Source node and router in content centric network, and communication method thereof | |
US11303553B1 (en) | Return path trace | |
US10616175B2 (en) | Forwarding information to forward data to proxy devices | |
US20070230468A1 (en) | Method to support mobile devices in a peer-to-peer network | |
WO2021168818A1 (zh) | 路由更新方法和装置 | |
US10103988B2 (en) | Switching device, controller, method for configuring switching device, and method and system for processing packet | |
US20170272326A1 (en) | Determining service group based network topologies | |
US11445428B2 (en) | Method and device for setting up route path | |
JP2016110628A (ja) | 階層的キャッシュネットワークにおけるコンテンツ配置 | |
CN115079935A (zh) | 用于存储和查询数据的方法、电子设备和计算机程序产品 | |
US12021942B2 (en) | Directory assisted routing of content in an information centric network | |
CN112039775A (zh) | 一种实现kad网络节点快速路由的方法和*** | |
Garcia-Luna-Aceves et al. | A light-weight forwarding plane for content-centric networks | |
WO2021254173A1 (zh) | 一种路由处理方法及相关设备 | |
CN106789664B (zh) | 一种路由聚合方法及装置 | |
US10708295B1 (en) | Network route hijack protection | |
WO2021000619A1 (zh) | 报文转发方法及装置 | |
US20160337232A1 (en) | Flow-indexing for datapath packet processing | |
WO2021254079A1 (zh) | 园区网中路由发布方法及网络设备 | |
KR102287520B1 (ko) | 계층화된 도메인 기반의 네트워크 구조에서 라우터의 도메인 라우팅 테이블 관리 방법 | |
JP7289303B2 (ja) | ネットワーク通信方法および装置 | |
AU2022209249B2 (en) | Directory assisted routing of content in an information centric network | |
WO2022267056A1 (zh) | 路由通告方法和电子设备 | |
WO2024021896A1 (zh) | 数据传输方法、切片关系映射方法、电子设备和介质 | |
KR20050079459A (ko) | 보안 라우터 및 그 라우팅 방법 |
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: 20922374 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022550979 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2020922374 Country of ref document: EP Effective date: 20220928 |