Abstract:
A method for setting up a VPN is described. The VPN is set up in a backbone network having a plurality of PE routers for controlling the transfer of IP traffic to and from CE routers in satellite networks. In a PE router, a VRF is configured for the VPN and populated with local routes for the VPN. A VRF IP loopback address is assigned for the VRF, and a PE IP loopback address is assigned for the ingress PE router. A local route with the VRF and PE IP loopback addresses is then advertised to other PE routers in the backbone network.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to a method and apparatus for setting up a virtual private network. In particular, the apparatus relates to a method for providing routing and addressing information in virtual private networks. 
       BACKGROUND 
       [0002]    Many enterprises operate from a number of different locations. They may have networks such as Local Area Networks (LANs) operating at each location. It is often desirable for such enterprises to interconnect these “satellite” networks so that all users can access resources from all of the satellite networks. To such users, it would appear that the enterprise operates a single network incorporating all of the satellite networks. 
         [0003]    This can be facilitated by the use of a Virtual Private Network (VPN). A VPN is a communications network “tunnelled” through another network. One common application is secure communications through the public Internet, but many other applications can be envisaged. 
         [0004]    Different VPN service models have been proposed over the last several years in order to satisfy diverse requirements. These models include traditional Frame Relay or Asynchronous Transfer Mode (ATM) VPNs, customer equipment based VPNs, such as those using Layer 2 Tunnelling Protocol (L2TP) and/or IP Security (IPSec) and provider provisioned VPNs (Layer 2 (L2) and Layer 3 (L3) VPNs). In the provider provisioned network based L3 VPNs, Provider Edge (PE) routers contain the VPN functionality needed to transfer L3 (IP) traffic between different sites of a customer. 
         [0005]    L3VPN technology has many potential uses, including in the Internet. Furthermore, the 3rd Generation Partnership Project (3GPP) is discussing a Long Term Evolution (LTE) wireless communication standard, in which the core network architecture is known as System Architecture Evolution (SAE). The backbone networks for this architecture may well be IP-based, and it can be envisaged that VPNs may be required for applications such as core network nodes for signalling or Operations, Administration and Maintenance (OAM) traffic; base stations for radio signalling or OAM traffic; base stations, SAE Gateways (GWs) and Mobility Management Entities (MMEs) within the same pool; all non-3GPP serving nodes; fixed access edge routers; and Video on Demand (VoD) servers and clients. 
         [0006]      FIG. 1  depicts a general schematic view of a PE-based, provider provisioned L3 VPN architecture. Four LANs  11 - 14  are connected to a provider&#39;s IP network (backbone network)  15 . Two of the LANs  11 ,  12  belong to a first customer, and are linked to provide a first VPN. The other two LANs  13 ,  14  belong to a second customer, and are linked to form a second VPN. Each LAN includes a Customer Edge (CE) router CE 1 -CE 4 . The backbone network  15  includes two PE routers PE 1 , PE 2 , to which the CE routers CE 1 -CE 4  are connected. The backbone network further includes Provider (P) routers P 1 -P 5  that forward data (including VPN data), but which do not provide VPN functionality to the CE routers CE 1 -CE 4 . 
         [0007]    An IP packet  16  is sent from a source node (not shown) within a LAN  11  belonging to the first customer, and is intended for a destination node (also not shown) within the other LAN  12  of that customer. The packet  16  contains an IP payload  17  and destination IP address information  18 . The packet  16  is sent from the CE router CE 1  at the edge of the LAN  11  to an “ingress” PE router PE 1 . The package is encapsulated, and inner and outer headers  19 ,  20  added, to route it, via P routers P 1 , P 2  to an egress PE router PE 2 . At the egress router PE 2  the inner and outer headers  19 ,  20  are removed. The packet is then forwarded to the CE router CE  2  at the edge of the second LAN  12 , and on from there to the destination node within the second LAN. 
         [0008]    Two provider-provisioned L3VPN solutions have been proposed in recent years. The first is the Border Gateway Protocol/Multi-Protocol Label Switching (BGP/MPLS) VPN described in RFC 4364 and U.S. Pat. No. 6,339,595. The second is the Virtual Router based IP VPN described in the ietf draft “Network based IP VPN Architecture Using Virtual Routers”, http://www.ietf.org/internet-drafts/draft-ietf-l3vpn-vpn-vr-03.txt, March 2006. 
         [0009]    Two issues have to be handled by a “provider provisioned” L3 VPN, such as that shown in  FIG. 1 . The first issue is that the addressing within VPN sites (e.g. the LANs  11 ,  12  shown in  FIG. 1 ) may be such that their private address spaces overlap. The second issue is that P routers are not aware of VPN addressing and are not directly capable of routing traffic to a VPN internal address. 
         [0010]    The first issue means that the IP header&#39;s destination field of the packet received from a customer is not enough to route the packet. Overlap is handled using different forwarding tables (Virtual Routing and Forwarding tables (VRFs)) for different VPNs and encapsulating (tunnelling) VPN data packets (using the inner header  19  shown in  FIG. 1 ). Based on the inner header  19 , the egress PE router PE  2  can look up the packet destination address in the appropriate VRF. In the BGP/MPLS VPN this inner header  19  is an MPLS label, while in the Virtual Router based VPN any encapsulation method can be used (e.g. IP-in-IP, IPSec, Generic Routing Encapsulation (GRE)). However, the main difference between these methods is how PE routers exchange routes of a particular VPN. 
         [0011]      FIG. 2  is a schematic illustration of a BGP/MPLS VPN arrangement. Similar elements to those of  FIG. 1  are represented with the same reference numerals. VPNs for two customers (# 1  and # 2 ) are shown. The ingress and egress PE routers PE 1 , PE  2  are connected to the CE routers CE 1 -CE 4  (not shown in  FIG. 2 ). Each PE router contains a VRF (# 1 , # 2 ) for each VPN (# 1 , # 2 ). BGP with Multiprotocol Extensions (MP-BGP, described in RFC 2283)  21  is used to exchange routes for each VPN (# 1  or # 2 ). This involves exchanging the routes using the VPN-IPv4 address family. This address family contains, besides an IPv4 address field, a Route Distinguisher (RD) field which is different for each VPN. This ensures that, if the same address is used in several different VPNs, it is possible for BGP to carry several completely different routes to that address, one for each VPN. The relevant VRF is identified by an inner Label Switched Path (LSP) label  22  which is appended to the IP packet. 
         [0012]      FIG. 3  is a schematic illustration of a Virtual Router (VR) based VPN arrangement. In this case, not only a VRF is allocated for each VPN, but a whole routing instance  31  that emulates all the functionality of a physical router. Routing information is exchanged between VRs of the same VPN using the same tunnels  32  as those used by VPN data flow. Therefore the forwarding tables of virtual routers can be populated using any standard routing protocol (e.g. BGP, Open Shortest Path First (OSPF), Intermediate System to Intermediate System (IS-IS)). However in order to enable a PE to dynamically discover the set of remote VRs which are in common VPNs, and in order to discover the connectivity between these VRs, BGP-4 multiprotocol extensions have also been proposed in “Using BGP as an Auto-Discovery Mechanism for VR-based Layer-3 VPNs”, http://www.ietf.org/internet-drafts/draft-ietf-l3vpn-bgpvnpn-08.txt, September 2006. These are similar to the BGP/MPLS VPN solution discussed above. 
         [0013]    The second issue that has to be handled by a provider provisioned L3 VPN is that P routers should not maintain VPN site related routing information, i.e. packets cannot be routed based on VPN sites&#39; private IP addresses. Using only the inner header for this purpose, the number of routing states in P routers would be related to the number of VPNs and the number of their sites. In order to overcome this, in both VPN solutions an outer tunnel  23  is proposed, and any encapsulation method can be used for this purpose (e.g. MPLS, IP-in-IP, GRE, IPSec). 
         [0014]    A special case of the Virtual Router based VPN is when PE routers are directly connected using an Ethernet network. In this case the outer header is not needed and the virtual LAN (VLAN) tag (defined in IEEE 802.1Q) can be used as an inner header in order to separate the VPNs in the provider&#39;s network. This architecture can be achieved for instance with current Juniper or Cisco products (http://www.avaya.com/master-usa/en-us/resource/assets/applicationnotes/vrf_jun-cis.pdf) using the so-called Multi-VRF feature (“Building Trusted VPNs with Multi-VRF”, http://www.foundrynet.com/pdf/wp-vpn-multi-vrf.pdf). 
         [0015]    Thus the most commonly used VPN technology, BGP/MPLS VPN, relies on MPLS functionality in the PE routers. The alternative is to use a virtual router approach, which eliminates the LSP requirement for the inner header. However, it has scalability limitations since, for each VPN, a different routing instance  31  (a different routing daemon) runs in the PE router. Moreover it requires the manual configuration of the inner tunnels  32  (an IP-in-IP or a GRE tunnel needs the configuration of two tunnel endpoint virtual interfaces, both of them with at least 3 parameters), which enormously increases the configuration complexity compared to BGP/MPLS VPN. The Multi-VRF solution does not require the configuration of bi-directional tunnels, but suffers from similar scalability limitations to the virtual router concept. In addition, it requires that the PE routers are directly connected with a L2 Ethernet network. 
       SUMMARY 
       [0016]    In accordance with a first aspect of the present invention there is provided a method for setting up a VPN in a backbone network having a plurality of PE routers for controlling the transfer of IP traffic to and from CE routers in satellite networks. In a PE router, a VRF is configured for the VPN and populated with local routes for the VPN. A PE IP address is assigned for the PE, and a VRF IP loopback address is assigned for the VRF. A local route with the PE and VRF IP loopback addresses is then advertised to other PE routers in the backbone network. 
         [0017]    Thus each VPN has a dedicated VRF, and other PE routers in the backbone network can identify the correct PE by using the PE IP loopback address, and the VRF by using the VRF IP loopback address. 
         [0018]    The local routes may be populated from a customer site which is directly connected to the PE router. This process may be carried out manually or dynamically using standard routing protocols. 
         [0019]    Other PE routers in the backbone network can then receive the advertised local route with VRF and PE IP loopback addresses, and populate local VRFs with the local route. The advertisement may be carried out using Border Gateway Protocol with Multiprotocol Extensions “MP-BGP” 
         [0020]    Preferably the PE router encapsulates IP packets relating to the VPN before forwarding the encapsulated packets through the backbone network. The encapsulation may be carried out using IP-in-IP, IPSec or GRE, for example. 
         [0021]    The encapsulation preferably includes the addition of one or more encapsulation headers to encapsulated IP packets, the encapsulation header(s) including the VRF and PE IP loopback addresses. The encapsulation may be a double encapsulation so that each IP packet has an inner IP header and an outer IP header, the inner IP header including the VRF IP loopback address, and the outer IP header including the PE IP loopback address. Alternatively, the encapsulation may provide a single header including the VRF IP loopback address as a source IP address and a destination PE IP loopback address for an egress PE router as a destination IP address. 
         [0022]    In accordance with a second aspect of the present invention there is provided a PE router for controlling the transfer of IP traffic between a backbone network and CE routers in satellite networks. The PE router comprises a processor arranged to configure a VRF for a VPN, populate the VRF with local routes for the VPN and assign a VRF IP loopback address for the VRF and a PE IP loopback address for the PE router. The PE router also comprises a storage medium for storing the VRF, and a transmitter arranged to advertise a local route with the PE and VRF IP loopback addresses to other PE routers in the backbone network. 
         [0023]    In accordance with a third aspect of the present invention there is provided a network for supporting a VPN. The network comprises a backbone network comprising a plurality of PE routers, and a plurality of satellite networks, each having at least one CE router operatively connected to a PE router in the backbone network. A PE router maintains a VRF for the VPN, the VRF being populated with local routes for the VPN. A PE IP loopback address is assigned for the PE router, and a VRF IP loopback address is assigned for the VRF. A local route with the VRF and PE IP loopback addresses is advertised to other PE routers in the backbone network. 
         [0024]    Where a message is stated as being sent from or to a particular node, for example, it is to be understood that this is intended as including the case where the message is not sent directly from or to the particular node, but via other nodes as well. 
         [0025]    According to a fourth aspect of the present invention there is provided apparatus for use in a network, the apparatus comprising means for performing a method according to the first aspect of the present invention. 
         [0026]    According to a fifth aspect of the present invention there is provided a program for controlling an apparatus to perform a method according to the first aspect of the present invention or which, when loaded into an apparatus, causes the apparatus to become an apparatus according to the fourth aspect of the present invention. The program may be carried on a carrier medium. The carrier medium may be a storage medium. The carrier medium may be a transmission medium. 
         [0027]    According to a sixth aspect of the present invention there is provided an apparatus programmed by a program according to the fifth aspect of the present invention. 
         [0028]    According to a seventh aspect of the present invention there is provided a storage medium containing a program according to the fifth aspect of the present invention. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0029]      FIG. 1  is a schematic illustration of a provider provisioned L3 VPN architecture; 
           [0030]      FIG. 2  is a schematic illustration of a BGP/MPLS VPN; 
           [0031]      FIG. 3  is a schematic illustration of a virtual router based VPN′ 
           [0032]      FIG. 4  is a schematic illustration of a BGP-IP VPN architecture; 
           [0033]      FIG. 5  illustrates the Multiprotocol Extension attribute for a BGP/MPLS VPN; 
           [0034]      FIG. 6  illustrates the Multiprotocol Extension attribute for a BGP-IP VPN; 
           [0035]      FIG. 7  illustrates a double encapsulated IP packet; 
           [0036]      FIG. 8  illustrates a single encapsulated IP packet; and 
           [0037]      FIG. 9  is a flow chart illustrating the actions taken by an ingress PE router. 
       
    
    
     DETAILED DESCRIPTION 
       [0038]      FIG. 4  is a schematic illustration of a BGP-IP VPN architecture, As before, each PE router PE 1 , PE 2  maintains one or more forwarding tables (VRF) for each VPN. In this example each PE router has a VRF # 1  and VRF # 2  for the VPNS # 1  and # 2  respectively. This is similar to the situation for the BGP/MPLS VPN approach described above. Each VRF is populated with customer routes using manually entered static routes using e.g. RIPv2, OSPF or eBGP, and the local customer routes are advertised to other PE routers using the MP-BGP protocol, as described in RFC 2283. 
         [0039]    In the BGP/MPLS VPN approach previously described, the advertisement messages of the MP-BGP protocol contain MPLS labelled VPN-IPv4 routes. MP-BGP for BGP/MPLS VPN advertises the following information:
       PE loopback address (as the next-hop)   VPN-IPv4 address prefix:
           Route distinguisher, which includes an ID of the VPN customer (8 bytes)   IP address prefix (4 bytes)   
           MPLS label (which identifies the VPN-IPv4 address prefix or the VRF)       
 
         [0045]      FIG. 5  illustrates how this information is included in the Multiprotocol extension optional attribute (RFC 2283). The Address Family Identifier (AFI) field  51  is set to 1 and the Subsequent Address Family Identifier (SAFI) field to is set to 128. These values confirm that the Network Layer Reachability Information (NLRI) field  53  contains a VPN-IPv4 address  54  labelled using an MPLS label  55  (RFC 3107). 
         [0046]    In the BGP-IP architecture, instead of the MPLS label  55 , IP addresses are used to identify the VRF that should be used for a specific VPN. This is illustrated with reference to  FIG. 6 . The IP addresses used to identify the correct VRF are addresses of loopback interfaces  65 , assigned for each VRF in a PE router. In other words, each VRF is configured with a loopback interface. These interfaces can be configured manually, or alternatively the configuration can be automated each time VRF is created. In a PE router the loopback address associated with each VRF must be unique. The loopback addresses are advertised in the PE routers, but not the P routers P 1 -P 4 , in the providers&#39; backbone. 
         [0047]    The information to be advertised is the following:
       PE loopback address (as the next-hop)   VPN-IPv4 address prefix (12 bytes)
           Route distinguisher (8 bytes)   IP address prefix (4 bytes)   
           VRF loopback address  65  (which identifies the VRF instance to be used for this specific VPN).       
 
         [0053]    It will also be noted from  FIG. 6  that a new SAFI code  61  and a new NLRI format will be required. 
         [0054]    When this kind of MP-BGP advertisement is received by a PE router, it will:
       populate the VRFs with the customer routes; and   bind the customer routes to an encapsulation interface that will encapsulate all customer packets and add an encapsulation header so that
           the encapsulation header&#39;s destination points to the PE next-hop (the PE loopback interface address received in the message), and   it fills into the encapsulating header the loopback address of the egress PE router&#39;s appropriate VRF.   
               
 
         [0059]    Besides the configuration of loopback addresses, the PE configurations will be the same as those used for the BGP/MPLS VPN method. After starting BGP sessions between PE nodes, the protocol will automatically advertise the IP “labelled” routes of VRFs and will automatically configure the required IP-in-IP, IPSec or GRE tunnels. 
         [0060]    Assuming that the VRFs have been populated with remote VPN routes based on the new MP-BGP messages, and the required tunnels have been configured, the packet forwarding will happen as follows. Based on the incoming VPN site (e.g. VPN # 2 , see  FIG. 4 ), the ingress PE router PE 1  chooses the proper VRF (VRF # 2 ) in order to find the next-hop PE based on the packet&#39;s destination address. If the next-hop address is a different PE router, IP-in-IP, IPSec or GRE encapsulation is used, with the loopback address of the egress PE router PE 2  as the destination address. Two methods are possible to encode the VPN identity, i.e. the per-VRF loopback address, into the packet. 
         [0061]    The first method is illustrated in  FIG. 7 . In this method the original IP packet  71  is double encapsulated. It uses two IP headers: an outer IP header  72  to route the packet to the appropriate egress PE router PE 2 , and an inner IP header  73  to find the appropriate VRF (e.g. the VRF # 2 ) in the egress PE 2 . 
         [0062]    This method generates an overhead of two IP headers. However, IP uses destination-based forwarding, i.e. the two source IP addresses are superfluous information. The second method is illustrated in  FIG. 8 , and in this method only single encapsulation is used. In this case, one IP header  81  is used, with destination address  82  set to the PE loopback address of the egress PE router PE  2 , and the source address  83  set to the VRF related loopback address (for VRF # 2 ) at the egress router PE 2 . 
         [0063]    The egress PE router PE 2  requires a function, similar to policy based routing, where after decapsulation, the packet is routed using the external header&#39;s source address into the appropriate VRF. Once in the VRF, the customer packet can be routed based on the original IP packet destination address. 
         [0064]    The actions taken by the ingress PE router to advertise the VPN routes are illustrated in  FIG. 9 , as follows: 
         [0065]    S 1 : When a VPN is configured, a VRF is configured at the ingress PE router for that VPN. 
         [0066]    S 2 : The VRF is populated with local routes for that VPN. 
         [0067]    S 3 : PE and VRF loopback addresses are assigned. The PE loopback address should be unique to the backbone network, so that each PE router has a different PE loopback address. The VRF loopback address is unique to the individual VRF, and thus unique to each VPN. 
         [0068]    S 4 : Local routes with the PE and VRF loopback addresses are advertised to other PE routers in the backbone network using MG-BGP. 
         [0069]    Previous PE based provider provisioned L3 VPN solutions either assume MPLS capabilities at least in PE routers, or require per-VPN routing daemons in PE routers. The arrangements described above enable the implementation of L3 VPN using pure IP technology and a new MP-BGP message type with the same configuration simplicity as in the BGP/MPLS VPN. These arrangements thus offer the best of the two previously known L3 VPN variant Virtual Routers (featuring the potential of pure IP implementation) and BGP/MPLS VPN (featuring ease of management and low overhead). 
         [0070]    It will be appreciated that operation of one or more of the above-described components can be controlled by a program operating on the device or apparatus. Such an operating program can be stored on a computer-readable medium, or could, for example, be embodied in a signal such as a downloadable data signal provided from an Internet website. The appended claims are to be interpreted as covering an operating program by itself, or as a record on a carrier, or as a signal, or in any other form. 
         [0071]    It will also be appreciated by the person of skill in the art that various modifications may be made to the above-described embodiments without departing from the scope of the present invention as defined by the appended claims.