WG LAST CALL on draft-ietf-ppvpn-vpn-vr-04.txt
Mark Duffy <[email protected]> Wed, 21 May 2003 17:30:07 -0400
| Newsgroups | gmane.ietf.ppvpn |
|---|---|
| Message-ID | <5.2.0.9.0.20030521170733.00b14f78@email> |
Hi, here are comments on draft-ietf-ppvpn-vpn-vr-04.txt.
General comment: Use of the VR approach in significant scale will require
the use of tunneling mechanisms that efficiently support many tunnel links
between a given pair of PEs, with some provision for binding a VPN-ID to
each tunnel link. This document reasonably leaves that to other
documents. However, the wg has no effort underway to produce any such
documents. :-(
In the Abstract, and similar text in the Introduction:
Virtual
routers can be deployed in different VPN configurations, direct VR
to VR connectivity through layer-2 or by aggregating multiple VRs
into a single VR combined with IP or MPLS based tunnels.
[md] This idea of "aggregating multiple VRs ..." seems confusing at the
least. (More comments on this below re sect 5.) How about "... through
layer-2 or by tunneling over a shared IP or MPLS based network."
1. Introduction
That is, the routing
protocol between the VRs may be the same or it might be different
than the routing mechanism used between the CE and VR.
[md] "... or it may be a different instance of the same protocol" (The
point being that if ospf is used CE-VR and VR-VR, they may be the same
instance, or separate instances with only reachability (not topology)
information redistributed between them.)
Likewise,
since the VR-to-VR connectivity can use tunnels, the inter-VR
routing protocol can be independent of the routing used in the
backbone network(s) over which the VR-based VPN runs.
[md] I think it is a fundamental part of the VR model that the routing
within the VPN is independent of that in the shared backbone. So I'd
suggest rephrasing the above more strongly:
Likewise, since the VR-to-VR connectivity uses tunnels or
independent L2 links, the inter-VR routing is independent of
the network layer routing used in the backbone network(s)
over which the VR-based VPN runs.
There are two fundamental architectures for implementing network-
based VPNs: virtual routers (VR) and piggybacking. The main
[md] s/network-based VPNs/network-based L3 VPNs/
2.1 Membership
All virtual routers that are members of a specific VPN MUST share
the same VPN identifier (VPN-ID). This should be the Globally Unique
Identifier (GID) defined in [VPN-GID] or the VPN-ID format defined
in [VPN-RFC2685].
[md] Accommodating two mechanisms here just muddies the water. Can we
please choose one?
2.2 Scalability
The use of the "backbone VR" (Section 5.3) improves
the scalability of the PE, since many VRs on the PE may use the
backbone VR for connectivity to other VPN sites.
[md] s/to other VPN sites/to other routers or VRs within the VPN/
2.4 Auto-discovery
It is required that the auto-
discovery mechanism take into consideration the case where the VPNs
are implemented across administrative domains. We assume in this
document that an auto-discovery mechanism which provides services
similar to BGP (as described in [VPN-BGP]) is used as the mechanism
to distribute membership, topology, and tunnel information among VRs
which are members of the same VPN.
[md] I don't see anything in this document that actually assumes that a
BGP-based discovery mechanism is used. The server-based approach of
draft-heinanen-radius-pe-discovery-04.txt seems to me at least as
attractive for use with VRs. In fact, I think that for those service
providers who chose a VR approach over a 2547 approach, not wanting to use
BGP for VPN support may be one of their primary motivations! I urge to
reference draft-heinanen in here also.
2.5.1 Routing between PE and CE
The routing protocol between the PE
and the CE can be independent of the PE-to-PE routing.
[md] s/PE-to-PE/VR-to-VR/
2.5.3 Routing between PEs
Any existing routing protocol can be used between PEs. The routing
protocol between the PEs can be independent of the CE-to-PE routing.
As with any network design, care must be taken when multiple routing
protocols are used, due to differences in metrics, detail of
information, etc.
[md] s/PEs/VRs/ (3 places in the above section, including the title)
2.6 Security
The architecture MUST accommodate different levels of security for
data, routing, and other control information.
[md] I hope this is intended to mean that different levels of security
must be accommodated, not that it must be possible to accommodate one level
for data and another level for routing. How about:
The architecture MUST accommodate security for VPN data, routing,
and other control information. Different levels of security must
be possible.
2.7 Topology
For example, in the case where the internal nodes (P devices) are
also VR aware (NOTE this is not required - see section 2.2) then it
is possible to have either tunnels from the PE or the CE connecting
to these internal VRs. This type of VPN deployment can be useful
when the internal nodes are geographically suitable to be a VPN hub.
[md] I would argue that VR aware P devices are actually not Ps at all but
PEs. So I suggest removing the above paragraph.
2.8 Tunneling
It should be possible to use IPSec, GRE [RFC-1701], IP in
IP, and MPLS tunnels.
[md] RFC 1701 is obsolescent. This should reference RFC 2784 (proposed
standard).
It should also be possible to allow multiple
VPNs to share a tunnel across a backbone. Therefore within a single
VPN, different types of tunnels can be used.
[md] I agree with the second sentence but I don't think it follows from the
first sentence. So s/Therefore//. I think the first sentence is
misleading. What matters to the VPN architecture is the virtual "links"
seen by the VRs. These cannot be shared across multiple VPNs! The virtual
links (aka tunnel links) are facilitated by some tunnelling
mechanism. Some tunnelling mechanisms support one or more levels of
multiplexing within the tunnelling mechanism itself (e.g. MPLS with
multiple-label stacks, L2TP). Other tunnelling mechanisms do not
themselves provide multiplexing (e.g. IP-in-IP). The fact that the
tunnelling mechanism may use the word "tunnel" to refer to an outer
aggregate (outer LSP, L2TP tunnel) containing multiple virtual links (inner
label, L2TP session) is just a distraction. I propose deleting the first
sentence.
3. Network Reference Model
A VPN customer site is connected to the provider backbone by means
of a connection between a Customer Edge (CE) device, (which can be a
bridge or a router) and a virtual router (VR).
[md] s/can be a bridge or a router/can be one or more hosts or and\/or routers/
Bridges and other layer 2 things should be transparent to the VR
scheme. (See the 4th and 5th paragraph of section 1.2 of
draft-ietf-ppvpn-rfc2547bis-03.txt. I think it is equally applicable to this.)
3.1 Backbone
Not all VPNs existing on the same PE are necessarily connected to
the same backbone. A single VPN can be built from multiple transport
technologies.
[md] in general the VPNs are not "connected to" the backbone. I would
s/connected to the same backbone/using the same backbone/
4. Virtual Router Definition
A given VR holds the routes only for the specific VPN configured for
that VR.
[md] s/configured for that VR/of which that VR is a member/
5. How VPNs are built and deployed using VRs
Three main VR deployment scenarios can be used for building virtual
private networks:
1) VR to VR connectivity over a layer 2 connection.
2) VR to VR connectivity tunneled over an IP or MPLS network.
3) Aggregating multiple virtual routers over a "backbone virtual
router," which will provide connectivity over a layer 2, IP, or
MPLS network.
[md] I believe that #2 and #3, as discussed in the following sections, are
one and the same thing and #3 should be dropped. More comments below.
The above VR deployment scenarios can coexist on a single PE and
they are not mutually exclusive.
[md] s/on a single PE/ on a single PE and\/or within a single VPN/
5.2 VR to VR Connectivity through IP or MPLS tunnels
Although it is clearly possible to use a topology similar to the
layer-2 model over an IP or MPLS backbone, the VR capability can
support a different network deployment besides full mesh tunnels
between VRs.
[md] By "layer-2 model" I presume you are referring to "VR to VR
Connectivity over Layer 2 Connections" as described in the preceding
section. There is nothing in that approach that requires a full mesh of
tunnels between VRs. The full mesh of tunnels may be used but is not
required, whether layer 2 connections or tunnelling over an IP or MPLS
backbone are used.
This is the creation (on each PE) of another VR facing
into the backbone network, which is used to build a kind of backbone
VPN that may be shared among multiple customer VPNs. This is
described below as the "backbone VR."
[md] I do not understand the above text, nor section 5.3 "Virtual Router
Backbone Aggregation" which follows. I think they are talking about the
same approach as 5.2 "VR to VR Connectivity through IP or MPLS tunnels"
which is to say, the VPN packets are tunneled across a shared (i.e. used by
more than just one particular VPN) IP or MPLS backbone. Presumably the
"outer packets" formed by the tunnel encapsulation are sent and received in
the routing context, supported by the PE, that is the native routing
context of the backbone. We can call this the "default router", "public
router", "backbone VR" or whatever. But, this should all be true anytime
tunneling is used. I.e. 5.2 and 5.3 are actually about the same approach. No?
5.3.1 Tunneling
A tunnel can be established per VPN or shared among many VPNs (VRs).
[md] I do not believe the tunnel can be shared, unless you're taking
advantage of the ambiguity in the term "tunnel" and using it here to refer
to an aggregate entity containing multiple 'tunnel links'. See my comment
above at sect. 2.8.
The backbone VR makes it appear as if each VR within a VPN is
directly connected (full and partial mesh configurations supported).
Each VR within the VPN exchanges routing information directly with
the other VRs in the VPN.
[md] s/with the other VRs/with the adjacent VRs/
Further work is needed to determine the requirements and usage of
the VPN-ID exchange within IPsec-based tunneling scenarios.
[md] actually within any tunneling scenarios, not just IPsec-based.
5.3.1.1 MPLS Tunnels
MPLS tunneling can be used in different forwarding scenarios. A
hierarchy of two labels can be used. One simple forwarding scenario
is where the inner label identifies the VR intended to receive the
private packet (to be forwarded to the CE).
[md] ok so far, although no one has so much as written a draft about how
the labels would be distributed and bound to VPN-IDs for this case...
Another forwarding
scenario is to distribute the inner label on a per-VPN basis across
the tunnel. In this case the label distribution process can be
achieved using BGP or an existing label distribution protocol on a
per-VPN basis. The inner label relates to the private VPN prefix.
The label and reachability distribution is done through the tunnels.
On the egress side traffic will be directed to the egress interface
by looking up the inner label.
[md] I cannot tell if this is talking about distributing 1 inner label per
VPN context, or one inner label per VPN route -- it seems to say both. And
how is the label distribution done through the tunnels? If MPLS is being
used to create the tunnels, they cannot exist until after the label has
been distributed.
[md] I think this section needs some rewriting. The key point in my mind
would be that MPLS technology is used to create tunnel links, whose
endpoints appear as logical IP interfaces to the routers (VRs) the tunnel
links terminate on.
5.3.2 Routing
VPN sites exchange routing
information through the tunnels over the backbone.
[md] That isn't correct. VPN sites exchange routing information with VRs
across CE-VR links, and VRs exchange routing information with adjacent VRs
in the same VPN across VR-VR links. (Though I'm not sure if all of that is
relevant in this section - maybe it is only trying to talk about the VR-VR
routing.)
6. VPN Auto-Discovery
[md] the above heading would tie better to the text if we
s/VPN Auto-Discovery/VPN Membership and Topology Auto-Discovery/
VPN topology represents the set of PEs and their
interconnectivity within the VPN. The topology can be a full-mesh of
PEs, a hub and spoke, or anything in between.
[md] s/PEs/VRs/ (2 occurrences)
VPN discovery can be achieved through different mechanisms, for
example:
- Directory server approach, in which VRs query a server to
determine their neighbors.
[md] draft-heinanen-radius-pe-discovery-04.txt would be good to reference here.
In this document it is assumed that a mechanism that provides
services similar to BGP is used to achieve auto-discovery of VPN
members. As described in [VPN-BGP], VR addresses are exchanged,
along with the information needed to enable the PEs to determine
which VRs are in the same VPN ("membership"), and which of those VRs
are to have VPN connectivity ("topology").
[md] I don't think the document "assumes" BGP-based discovery in the sense
that anything else in the document depends on that. Please see my comment
at sect. 2.4.
It is important to note that, for the VR architecture, the auto-
discovery mechanism is only used to automatically exchange VPN
control information between VRs.
[md] shouldn't that be s/between VRs/between PEs/ ?
8. VPNs across Domains
The main
requirement on the service provider in order to achieve end-to-end
cross-domain VPN connectivity is the ability for both domains to
support a common tunnel technology.
[md] ... plus the ability to support a common membership and topology
discovery technology.
Once the tunnel is established,
private data (e.g., routing information, and private customer data)
can flow from one domain to the other with the same level of
security as is provided in a single service provider network.
[md] s/security/isolation/ ?
Another possible scenario is to use two virtual routers configured
on each PE at the interconnection point.
[md] I would clarify that as follows:
Another possible scenario is to deploy PE devices at each side
of the interconnection point, with a virtual router configured
on each PE for each VPN that spans the interconnection point.
[md] I think this section (8) should also contain something along the
lines of:
An important consideration for VPNs spanning multiple
administrative domains is whether the domains involved are
always adjacent or whether there may be intervening domains
that are unaware of the VPN. Transitive techniques such as
deploying VPN-aware PE devices at the domain boundaries will
not work in the latter type of case.
The ability to use a standard VPN-ID format also allows unambiguous
VPN identification across domains.
[md] s/standard/standard, globally unique/
9. Internet Access
There are a number of ways to provide Internet access to a VPN using
the VR model. One way of providing VPN Internet access is to
configure the backbone VR to steer private traffic to the VPN VR,
and Internet traffic to the normal backbone/Internet forwarding
table.
[md] I don't understand that. My understanding of the backbone router
concept is that the relationship between a tunnel link within a VPN and the
backbone is an overlay one -- VPN packets only enter the backbone after
being encapsulated in a backbone-context packet and vice versa for packets
in the other direction. See my comment at sect. 5.2.
[md] An important way to provide Internet access, which I don't think is
included in the descriptions in this section, is simply to create a link
(real or virtual or internal or whatever) between the VPN-context VR and
any router (or virtual router) that is in the Internet context. Note that
this would be a routing adjacency relationship between the VPN and Internet
(virtual) routers as opposed to the overlay relationship used to tunnel
packets across the Internet (or SP backbone).
10. Carrier's Carrier Case
[md] It is very difficult to understand this section. I think this is
because it is difficult to tell whether each use of the terms (VPN, CE, VPN
service, etc.) refers to entities in the carrier's network or the carrier's
carrier's network.
11. Operations and Management
In some
implementations, it may be possible for a VR to be "rebooted" by a
customer without affecting other VRs.
[md] I suggest removing the words "by a customer", since it might just as
well be the service provider or an attacker :-) that would reboot the VR.
11.2 Troubleshooting
This access may provide only the privilege to
monitor (with no privilege to change) the layer 3 status of the
customer's VPN.
[md] s/VPN/VR/ ?
13. Scalability
Only the PEs are handling the VPN type information. The internal
backbone routers (the P routers) are usually not VPN aware.
[md] s/usually// (If it is VPN-aware than it _is_ a PE router.)
================================================