In the computer networking field, a tunnel generally refers to a logical connection in which lower layer protocol data units or packets are transported across a network in higher layer packets. The packets being transported through the tunnel are not used in making routing decisions across the network. Only the encapsulating packet of the tunneling protocol is used to make routing decisions. As a result, the packets being tunneled are transmitted transparently across the underlying network. Such transparent communication enables logical networks to be set up across diverse geographic areas.
One example of a protocol that can be used to establish a tunnel across an IP network is multi-protocol label switching or MPLS. MPLS is a protocol defined by the Internet Engineering Task Force to transport packets across a network using label switching. A label is a fixed-length identifier included in a shim header that may be located between layer 2 and 3 headers in a packet. MPLS routers, referred to as label switching routers or LSRs, make routing decisions based on the labels, rather than network layer addresses. Labels are assigned to packets by label edge routers when packets enter the MPLS network. Once a label is assigned to a packet, routing in the MPLS network is based only on the MPLS label. Each LSR receives a packet, makes a forwarding decision based on the label, and replaces the label in the outgoing packet with a new label. The path that a packet follows through the MPLS network is referred to as a label switched path or LSP. Label switched paths may be set up in advance by MPLS routers using a protocol referred to as the label distribution protocol or LDP.
Label switched paths may be used to set up tunnels that interconnect geographically diverse networks. One type of logical network that may be interconnected using tunnels is a virtual local area network or VLAN. FIG. 1 illustrates the VLAN concept. In FIG. 1, local area networks 100 and 102 may be physical local area networks, such as Ethernets. A switch 104 interconnects local area networks 100 and 102. PCs 106 and 108 are located on different physical local area networks. However, PC 106 and PC 108 may be on the same logical network or VLAN using a VLAN identifier located in the layer 2 information in a packet header. Thus, box 110 represents a virtual local area network that spans two physical local area networks.
Virtual local area networks allow logical networks to be established within an organization for groups of individuals whose terminals are not on the same physical network. For example, the marketing department in a company may span several floors or buildings, each with its own physical network. In order to facilitate seamless communications between these individuals without requiring a restructuring of the organization's physical network, a VLAN may be established by assigning a VLAN identifier to the marketing department. The switches between the physical networks include VLAN forwarding tables used to forward packets to the proper physical LAN. Thus, VLANs facilitate seamless communication between different physical networks at the local level.
In large organizations, groups within the organization may be located in geographically diverse sites. Accordingly, it may be desirable to seamlessly interconnect logical networks or VLANs in the geographically diverse sites using tunnels. Once a tunnel has been established, two or more geographically diverse networks can communicate transparently and securely with each other over the tunnel.
FIG. 2 illustrates conventional VLAN interconnection using tunnels. In FIG. 2, the first VLAN 200 communicates with a geographically diverse VLAN 202 via MPLS network 204. VLAN 200 has a single logical connection 206 with its local label edge router 208. Connection 206 may be a VLAN connection. Similarly, VLAN 202 has a single logical connection with its local label edge router 212. Connection 210 may also be a VLAN connection.
In order to communicate VLAN traffic over MPLS network 204, label edge routers 208 and 212 may establish unidirectional label switched paths 214 and 216 across MPLS network 204 and a bi-directional tunnel 218 over LSPs 214 and 216. One specific example of a tunneling protocol suitable for use as bi-directional tunnel 218 is described in IETF Internet Drafts Draft-Martini-12-circuit-encap-MPLS-04.text, “Encapsulation Methods for Transport of Layer 2 Frames Over IP and MPLS Networks,” November 2001, and Draft-Martini-12-circuit-trans-MPLS-08.text, “Transport of Layer 2 Frames Over MPLS,” November 2001, the disclosures of each of which are incorporated herein by reference in their entirety. Bi-directional tunnels used to carry layer 2 traffic over MPLS networks are referred to as transparent LAN services (TLS) or virtual circuit (VC) tunnels.
While the above-referenced IETF Internet Draft documents describe tunneling protocols for sending layer 2 frames over an MPLS network, neither specifies a method by which redundant connectivity can be provided across the MPLS network. If a tunnel between label edge routers fails, e.g., due to a network connectivity or system failure, the standards to not provide any mechanism for detecting this failure or establishing a backup tunnel. Accordingly, there exists a long-felt need for methods and systems for providing redundant connectivity across a network using a tunneling protocol.