Keeping the Focus
If overloading BGP for VPN is not the right answer, what approach should be used? The answer isit depends. There's really no silver bullet that can solve all the VPN problems. Let's take a step back and reexamine the fundamental issues behind the VPN application, taking Layer 3 MPLS-based VPN as an example.
There are two important aspects in implementing an MPLS-based VPN:
An MPLS label-switched path (LSP) is required to tunnel private IP packets across a shared network infrastructure.
Private IP address and routing must be preserved within the VPN.
The first issue is about MPLS, and the second issue is regarding intra-domain routing. Both are independent from inter-domain routingthe problem BGP is addressing.
These issues should be addressed separately, using mechanisms other than BGP. For example, the distribution of MPLS labels can be accomplished by the MPLS signaling protocol. The distribution of VPN routing information is best left to intra-domain routing protocols (such as OSPF) that are designed to handle that very issue.
By preserving the orthogonality of the solution, we can avoid the unnecessary cross-interaction between the two problems.