Transparent Interconnection of Lots of Links (TRILL) is a Layer-2 network technology set by Internet Engineering Task Force (IETF). TRILL is mainly applied in a data center network, and is used for solving issues that exist in a Spanning Tree Protocol (STP) network, such as an insufficient link issue, data streams that have been forwarded with a non-optimal path, and temporary emergence of loops.
Each device in a TRILL network supports TRILL functions, which also possesses switch functions and routing functions. These can be referred to as RBridges. Each RBridge in the TRILL network has a unique Nickname. The size of the Nickname is 16 bits. The Nickname may be automatically assigned by protocol.
The accompanying drawings illustrate various examples of the principles described herein and are a part of the specification. The examples do not limit the scope of the claims. As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” means based at least in part on. In addition, the terms “a” and “an” are intended to denote at least one of a particular element.
Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present systems and methods. It will be apparent, however, to one skilled in the art that the present apparatus, systems and methods may be practiced without these specific details. Reference in the specification to “an example” or similar language means that a particular feature, structure, or characteristic described in connection with the example is included in at least that one example, but not necessarily in other examples.
The disclosure relates to network communications technologies, and more particular, to a method, system and device of TRILL network communications across an IP network.
In the TRILL network shown in
In
Block 401, terminal A sends an Ethernet packet, the destination MAC address of which is B, to an RBridge directly connected with terminal A. In this example, the RBridge directly connected with terminal A is, S10. The source MAC address of the Ethernet packet may be denoted by an inner source MAC address as A. The destination MAC address of the Ethernet packet may be denoted by an inner destination MAC address as B.
Block 402, after receiving the Ethernet packet, S10 searches in the established MAC address table and learns that MAC address B corresponds to the nickname of S20.
Block 403, S10 takes the Nickname of S20 as a keyword and search in the generated Nickname forwarding table, such as the Nickname forwarding table of S10 shown in
Block 404, S10 may select an egress interface from egress interfaces L1 and L2 with a hash algorithm, take L1 as an example, and then performs TRILL encapsulation on the Ethernet packet. S10 may further send the packet processed with the TRILL encapsulation via egress interface L1.
The TRILL encapsulation process refers to adding a TRILL header and an outer Ethernet header to an Ethernet packet. The outer destination MAC address of the outer Ethernet header is the MAC address of the next hop such as the MAC address of S1 (denoted by M1). The outer source MAC address is the MAC address of S10 (denoted by M10). In the TRILL header, a ingress Nickname field is the Nickname of S10 while the egress Nickname field is the Nickname of S20.
Block 405, after receiving the TRILL packet sent by S10 via egress interface L1, S1 takes the Nickname in the egress Nickname field of the TRILL packet as the keyword to use in searching within the generated Nickname forwarding table, such as the Nickname forwarding table of S1 shown in
Block 406, after receiving the TRILL packet sent by S1, S20 takes the Nickname in the egress Nickname field of the TRILL packet as the keyword used to search in the generated Nickname forwarding table, such as the Nickname forwarding table of S20 shown in
Using this method, the unicast packet forwarding in the TRILL network is not limited in the local TRILL network. When the TRILL network is deployed within a Data Center Interconnection (DCI) to implement the core network of layer-2 networking, the two TRILL networks respectively in the two DC networks may be independent of each other. However, communications between a local TRILL network and a remote TRILL network can still be implemented.
In some examples, networking for TRILL network communications across an IP network may include more DC networks. A TRILL network may be deployed in each DC network included therein. Thus, the networking shown in
Based on the networking shown in
The method may begin with each RBridge in each TRILL network generating a Nickname forwarding table and learning routes to RBridges in local and remote TRILL networks. In this example, when two TRILL networks are connected with each other, a different Nickname may be assigned for each RBridge in the TRILL network to ensure that the Nickname of each RBridge is unique in the whole network.
Additionally, an RBridge may obtain the topology of the whole network by running Layer2 IS-IS. As a result, the RBridge may more easily learn the RBridges in the local and remote TRILL networks by using the obtained network topology structure. The RBridge may learn a route to an RBridge in the local TRILL network by utilizing an existing mode of learning the route to an RBridge in the local TRILL network. Regarding route to an RBridge in the remote TRILL network, since the local TRILL network is connected to the remote TRILL network via an IP network, the RBridge may learn a route to another RBridge in the remote TRILL network by utilizing a shortest path algorithm and a routing table learned via a routing protocol. Looking at
Therefore, each of the first DCI devices, (i.e. S1, S2 in
When an RBridge is the first DCI device, or the second DCI device, (i.e. S1 in
When the learned RBridge is located in a remote network, that is, the learned RBridge and S1 are located in different TRILL networks, then the routing information to the RBridge is IP address of next hop to the RBridge. Since S1 is located in DC1 and the learned RBridge is located in DC2 (i.e. S3 and S30 located in DC2) then the routing information to the RBridge is IP address of next hop to the RBridge. Here, the IP address of next hop is the IP address of the second DCI device.
When the RBridge is the first or second access layer device, (i.e. S10 in
After, each RBridge in each TRILL network generates (block 601) a Nickname forwarding table by learning routes to RBridge in local and remote TRILL networks, the first and second access layer devices may respectively generate (602) a MAC table by learning MAC addresses of the user terminals in the local and remote TRILL networks. In one example, the first and second access layer devices may learn (block 602) MAC addresses of the user terminals in the local and remote TRILL networks with a data plane. The MAC table may at least include a corresponding relationship between the MAC address and information about an RBridge directly connected with a user terminal of the MAC address. When the MAC address is a MAC address of a user terminal in the local TRILL network, the RBridge information corresponding to the MAC address is an egress interface destined for the user terminal having the MAC address started from an RBridge directly connected with the user terminal having the MAC address. When the MAC address is a MAC address of a user terminal in a remote TRILL network, the RBridge information corresponding to the MAC address is Nickname of an RBridge directly connected with the user terminal having the MAC address.
In one example, the method described in block 601 and 602 may be performed by beginning the process with the method described in block 601 followed by the method described in 602. In another example, the method described in block 601 and 602 may be performed by beginning the process with the method described in block 602 followed by the method described in block 601.
Block 603, when user terminal A connected with DC1 in
Block 604, after receiving the packet, S10 may obtain the Nickname corresponding to the inner destination MAC address of the packet from the MAC table. When user terminal A sends a packet to user terminal B (block 604) the inner destination MAC address is MAC address of user terminal B. User terminal B connects with DC2, which is a remote TRILL network compared with a local TRILL network DC1 located by S10. Based on foregoing descriptions about the MAC table, it can be seen that in the MAC table generated by S10, the MAC address of user terminal B corresponds to the Nickname of an RBridge directly connected with user terminal B. That is, S10 may search in the MAC table generated by S10 shown in
Block 605, S10 may determine an egress interface corresponding to the Nickname obtained in block 604, based on the generated Nickname forwarding table. For example, if the Nickname determined in block 604 is the Nickname of S30, in block 605, S10 may search in the Nickname forwarding table generated by S10 shown in
In block 606, when the number of the egress interface determined in block 605 is larger than 1, S10 may select one egress interface with the hash algorithm, encapsulate the received packet into a TRILL packet, and send the TRILL packet via the selected egress interface. When the number of egress interface determined in block 605 is 1, S10 may encapsulate the received packet into a TRILL packet and send the TRILL packet via the determined egress interface.
Based on the Nickname forwarding table generated by S10 in
Besides, in block 606, an outer MAC address header and TRILL header are encapsulated into the TRILL packet. In the outer MAC address header, the outer destination MAC address is the MAC address of the next hop, and the outer source MAC address is the MAC address of the sender of the TRILL packet. Regarding the TRILL header, the RBridge directly connected with user terminal B (i.e. S30) of the ingress Nickname in the TRILL header is the Nickname of S10.
In one example, the S10 may send a packet via the L1 interface. After receiving the TRILL packet sent by S10, S1 may search in the generated Nickname forwarding table for routing information corresponding to the egress Nickname of the TRILL packet.
Based on foregoing descriptions, the egress Nickname of the TRILL packet is the Nickname of S30. However, based on
In block 608, when the routing information determined by S1 is at least two IP addresses, one IP address according to the hash algorithm, S1 processes the received TRILL packet with an IP encapsulation used for transparent transmission in an IP network, and S1 send the TRILL packet with the IP encapsulation via the IP network. When the determined routing information comprises one IP address, S1 processes the received TRILL packet with the IP encapsulation used for transparent transmission in the IP network, and sends the TRILL packet with the IP encapsulation via the IP network.
In one example, the IP encapsulation used for transparent transmission in the IP network may be L2GRE encapsulation. Other similar encapsulations may be used. The use of the L2GRE encapsulation is taken as an example only, and in the following description is used for illustrative purposes.
Based on the Nickname forwarding table generated by S1 shown in
From description above regarding the method descried in block 608, it can be seen that traffic sharing of multiple DCI devices may be implemented in the example by using multi-path loading sharing capability of the TRILL network. That is, multi-homing capability of a DCI may be implemented.
Besides, in block 608, by performing the IP encapsulation on a TRILL packet, such as L2GRE encapsulation, at least source IP address (i.e. IP address of S1) and destination IP address (i.e. the IP address of the next hop) may be added to the TRILL packet.
Additionally, while performing the process described in block 608, the outer destination MAC address and outer source MAC address of the received TRILL packet may be replaced. That is, the outer destination MAC address may be replaced with the MAC address of the next hop and the outer source MAC address may be replaced with the MAC address of S1.
After receiving the L2GRE packet sent by S1, S3 may find (block 609) that the destination IP address in the L2GRE packet is the IP address of itself, and S3 may search in the Nickname forwarding table for the routing information corresponding to the egress Nickname in the L2GRE packet. Since the egress Nickname is the Nickname of S30, S30 and S3 are located in the same TRILL network. Consequently, the routing information corresponding to the egress Nickname searched out by S3 is an egress interface destined for S30 from S3.
Block 610, S3 then performs a L2GRE decapsulation on the L2GRE packet received, selects an egress interface utilizing the hash algorithm. When the routing information determined in block 609 is at least two egress interfaces, S3 sends the TRILL packet obtained after decapsulating the L2GRE packet via the selected egress interface. When the routing information determined in block 609 is one egress interface, S3 sends the TRILL packet via the egress interface.
Based on the Nickname forwarding table generated by S3 shown in
Additionally, while performing the process described in block 610, the outer destination MAC address, and outer source MAC address of the received TRILL packet may be replaced. That is, the outer destination MAC address may be replaced with the MAC address of the next hop and the outer source MAC address may be replaced with the MAC address of S3.
Block 611, after receiving the TRILL packet, S30 may search in the Nickname forwarding table and, according to the egress Nickname in the TRILL packet, find that the egress Nickname is itself. S30 may further obtain the egress interface corresponding to the inner destination MAC address from the MAC table, perform TRILL decapsulation and send the Ethernet packet via the obtained egress interface.
In this example, the inner destination MAC address is the MAC address of user terminal B. The user terminal B locates in the same TRILL network with S30. Thus, in the MAC table of S30, the MAC address of user terminal B corresponds to an egress interface of the RBridge directly connected with user terminal B. Consequently, S30 may search in the MAC table of S30 shown in
The first DCI device is located in DC1. DC1 connects with DC network DC2 via an IP network. Each of DC1 and DC2 is deployed with a TRILL network. The first DCI device is an RBridge located in core layer of TRILL network of DC1.
The first access layer device, which connects with the first DCI device, is any RBridge located in access layer of TRILL network of DC1. The first access layer device is used for sending a TRILL packet to the first DCI device.
A description of the first access layer device and the first DCI device will now be provided. The first DCI device may include a first memory, and a first processor in communication with the first memory. The first memory may store a first set of operation instructions executable by the first processor. The first set of operation instructions further include a Nickname forwarding table generating instruction and a packet processing instruction.
The Nickname forwarding table generating instructions, when executed by a processor, generate a Nickname forwarding table by learning routes to RBridges in local and remote TRILL networks. The nickname forwarding table includes a corresponding relationship between both the Nickname of a learned RBridge and routing information to the RBridge. When the learned RBridge is in the local TRILL network, the routing information to the RBridge is the egress interface destined for the RBridge. When the learned RBridge is in a remote TRILL network, the routing information to the RBridge is IP address of the next hop destined for the RBridge.
The packet processing instructions, when executed by a processor, search for the received packet after being forwarded according to the Nickname forwarding table.
The packet processing instructions further include a first packet processing instruction and a second packet processing instruction (not shown in the figure). The first packet processing instructions, when executed by a processor, receive a TRILL packet sent by the first access layer device, in which the egress Nickname of the TRILL packet is the Nickname of the second access layer device, searches in the Nickname forwarding table for the IP address of next hop corresponding to the egress nickname, and takes the IP address of next hop as destination IP address to be encapsulated into the L2GRE packet. The first packet processing instructions, when executed by a processor, further causes the L2GRE packet to be sent to the destination IP address via an IP network. The second access layer device may be any RBridge located in access layer of the TRILL network in DC2.
The second packet processing instructions, when executed by a processor, causes a L2GRE packet to be received from DC2, in which the egress Nickname of the L2GRE packet is the nickname of the first access layer device. The second packet processing instructions, when executed by a processor, further determines whether the destination IP address encapsulated in the L2GRE packet is IP address of itself. If yes, the second packet processing instructions, when executed by a processor, causes a search to be performed in Nickname forwarding table for the egress interface corresponding to the egress Nickname in the L2GRE packet and further causes the TRILL packet, which is obtained after decapsulating the L2GRE packet, to be sent via the egress interface.
As shown in
The Nickname forwarding table generating instructions, when executed by a processor, generates a Nickname forwarding table, by learning routes to RBridges in the local and remote TRILL networks. The Nickname forwarding table includes a corresponding relationship between both the Nickname of a learned RBridge and an egress interface destined for the RBridge.
The MAC table generating instructions, when executed by a processor, generates a MAC table by learning MAC addresses. The MAC table at least includes a corresponding relationship between both the learned MAC address and the Nickname of the RBridge directly connected with the MAC address.
The third packet processing instructions, when executed by a processor, causes an Ethernet packet sent by user terminal A to be received by user terminal B in DC2, in which the Ethernet packet includes an inner destination MAC address, namely, MAC address of user terminal B. The third packet processing instructions, when executed by a processor, may further determine a nickname corresponding to the inner destination MAC address of the Ethernet packet according to the MAC table.
The fourth packet processing instruction, when executed by a processor, determines an egress interface corresponding to the determined Nickname, according to Nickname forwarding table; encapsulates the Ethernet packet into a TRILL packet; and, causes the TRILL packet to be sent to the first DCI device via the determined egress interface. The TRILL packet includes a egress Nickname, which is the Nickname of the second access layer device directly connected with user terminal B.
As shown in
A first sending instruction, when executed by a processor, may cause the L2GRE packet to be sent to the destination IP address via the IP network. The L2GRE packet received from DC2 according to the second packet processing instructions is obtained after processing a TRILL packet with the IP encapsulation, that is, the L2GRE encapsulation, which may comprise the following. Decapsulating instructions, when executed by a processor, may cause a decapsulation to be performed corresponding to the L2GRE encapsulation on the received L2GRE packet, so as to obtain a TRILL packet. Second sending instructions, when executed by a processor, may cause an egress interface to be selected when the number of determined egress interfaces is larger than 1. Second sending instructions, when executed by a processor, may cause the TRILL packet to be sent via the selected egress interface. When number of determined egress interface is 1, the second sending instructions cause the TRILL packet to be sent via the determined egress interface.
From the description above, it can be seen that a Nickname forwarding table may be generated by enabling the first DCI device to learn routes to RBridges in local and remote TRILL networks. When receiving a TRILL packet to be encapsulated into an L2GRE packet and destined for DC2, or receiving an L2GRE packet sent by DC2, the L2GRE packet may be forwarded utilizing the Nickname forwarding table. Thus, interconnection and intercommunication between local and remote TRILL networks may be implemented. Additionally, the DCI devices of DC1 and DC2 in the disclosure, which are respectively the first and second DCI devices, no longer need to learn a large number of MAC addresses of user side. Thus, the load of DCI devices may be reduced.
Furthermore, in the disclosure, an RBridge in the core layer of TRILL network of DC1 may be taken as the DCI device of DC1, namely, the first DCI device. An RBridge in the core layer of TRILL network of DC2 may be taken as the DCI device of DC2, namely, the second DCI device. Consequently, functions of an RBridge in core layer of TRILL network may be integrated into the DCI device, and the cost to construction the network may be reduced.
While the first DCI device and the first access layer device have been described, by way of example, as having a memory storing machine readable instructions and a processor to execute said instructions. However, the same result could be achieved by having the functions implemented at a hardware level, e.g. in an ASIC, or a combination of instructions read by a processor and functions implemented by an ASIC or other logic circuitry. All of these variations are within the scope of the present disclosure. Thus where the claims make reference to a processor causing certain operations to take place, it is to be understood that the ‘processor’ may be a processor executing machine readable instructions stored in a memory, or the processor may be a processor of an ASIC or the like, or a combination thereof.
Number | Date | Country | Kind |
---|---|---|---|
201110272008.X | Sep 2011 | CN | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CN2012/080771 | 8/30/2012 | WO | 00 | 1/15/2014 |