IP Based VPNs - Protocol Engineering and Technology Unit

advertisement
Virtual Private Networks
Network Based IP VPN
03/10/2002
Agenda
Introduction
VPN – Introduction, Requirements, Categories and Types
Virtual Private Routed Networks – Introduction, Features, Requirements
Virtual Private Routed Networks – Architecture
Virtual Router – Concept, Objectives, Characteristics
VR Based Solution for IP VPN
VPN support on Linux
Introduction - Types of Private Networks
A Private network is a collection of hosts belonging to a common
administration or organization. Private connectivity between
geographically scattered networks is done through
• Dedicated WANs - permanently connected to multiple sites
• Dial Networks - on demand connections through PSTN to sites
High cost and complexity is involved in multi-site WAN services. In
order to overcome this constraint, the Internet is used to provide the
connectivity between private networks.
Introduction - Motivation and History
Some other factors that motivate in migrating to an Internet based
connectivity are as follows
• A need to extend the private network to offer services or
connectivity that is invisible to the external observers.
• Economics, in terms of aggregating the costs of individual
components or set ups into a single infrastructure and offer
services collectively over the public domain.
• Source of revenue generation for the ISPs.
What Is a VPN?
“A VPN is a communications environment in which access is
controlled to permit peer connections only within a defined community
of interest, and is constructed through some form of partitioning of a
common underlying communications medium, where this underlying
communications medium provides services to the network on a nonexclusive basis."
“A VPN is a private network constructed within a public network
infrastructure, such as the global Internet."
A Virtual Private Network is a connectivity object between two or
more private entities. It uses the Internet or public domain
infrastructure and connects private networks.
VPN Requirements
Opaque Transport
VPN traffic may be unrelated to the traffic in IP backbone
• Traffic can be multi-protocol
• Customer may be using IP addresses not related to backbone.
These addresses may be private and non-unique
Data Security
• No misdirection, misrouting, snooping
• Security against modification of traffic in transit
• Unauthorized analysis of traffic
VPN Requirements
QoS Guarantee
Need for IP based QoS similar to dedicated or dial lines or ATM/Frame
Relay
• Opaque transport requirement is fulfilled by using tunnels for
transport. Some tunneling mechanisms provide support for data
security and QoS.
• Some tunneling mechanisms are IP/IP, IPSec, GRE, L2TP, MPLS
VPN Requirements
Private connectivity between networks is an inherent characteristic
of a VPN implementation. This is achieved through the following
requirements
•
•
•
•
Opaque transport
Data Security
QoS guarantee
Tunneling mechanism
VPN Requirements
•
•
•
•
•
•
•
•
•
•
Tunneling Protocol Requirements
Support for Multiplexing
Signaling
Security
Multi-protocol traffic
Frame Sequencing
Maintenance
Large MTUs
Minimization of tunnel overhead
Flow/Congestion control
QoS/traffic management
VPN Requirements
IP/IP
IPSec
GRE
L2TP
MPLS
Multiplexing
y
y
y
y
Signaling
y
y
y
y
Security
y
Multi-protocol
traffic
y
y
y
Frame
Sequencing
y
y
y
y
Maintenance
Large MTUs
Minimization of
Tunnel overhead
Flow/Congestion
Control
QoS/Traffic
Management
y
y
VPN Categories
VPN services are provided at layer 2 and layer 3. IP based layer 3 VPN
implementations are broadly classified as follows
• Customer Premises Equipment (CPE) based Model
• Network based or Provider Provisioned Model
smitha:
change
CPE Based Model
Some characteristics of CPE based VPN model are as follows
• Provides VPN capabilities on firewalls, WAN edge routers and
specialized VPN termination devices
• Handles security, tunneling between customer ends, management
of services and devices, administrative responsibility and
operational costs
• Uses the ISP only for transmission of data over the backbone
Network Based Model
Some characteristics of network based VPN model are as follows
• ISPs provide services with no change in the subscriber equipment.
Services like fire-walling, data security, routing configuration,
QoS, tunnel establishment, management and maintenance are
handled by the provider
• No extra investment is needed, at the customer end, on dedicated
expensive CPE gear while subscribing to a VPN service
• Customer is provided the option of choosing various services at various
costs
Network Based Model
• Customer follows a trust model for security, where it trusts or does
not trust the provider
• Trust model extends across multiple providers if the VPN spans the
domain of multiple providers
• Forwarding of data between the provider edges takes place through
tunnels
• The complexity of operation and administrative responsibility rests
with the provider
Types of VPNs
• Virtual Leased Lines
• Virtual Private Dial Networks
• Virtual Private LAN Segment
• Virtual Private Routed Networks
Virtual Leased Lines
AT
M
CPE
V
C
C
AT
M
ISP
Edge
Router
IP
Backbone
10.0.0.5
ISP
Edge
Router
V
C
C
CPE
10.0.0.6
IP Tunnel
10.0.0.4/30
Provides a point to point link between
customer’s CPE devices
ISP edge binds ATM VCC to a tunnel
in IP backbone
e.g. AAL5 payload is encapsulated in
an IPSEC tunnel in backbone
Virtual Private Dial Networks
10.0.0.6
L2TP – Layer 2 Tunneling Protocol
CPE
LAC - L2TP Access Concentrator
LNS – L2TP Network Server
Dial Up Connection
NAS
IP
Backbone
Gateway
LNS
LAC
L2TP
Tunnel
PPP frames are tunneled across IP backbone using L2TP
Corporate Network
10.0.0.0 / 16
L2 connection terminating at LAC avoids long distance dialup connection
PPP session terminates at LNS
Virtual Private LAN Segment
- Transparent LAN Service
Stub Link
CPE
ISP
Edge
Router
10.0.0.5
Emulation of LAN over internet
IP Tunnel
ISP
Edge
Router
CPE can be a bridge or a router
ISP
Edge
Router
IP Tunnel
Full mesh connectivity between edge routers
Stub Link
Bridge CPE
•ISP edge routers do flooding and MAC learning
CPE
Router CPE
• Explicit link layer routes to CPE routers
10.0.0.9
CPE
10.0.0.6
IP
Backbone
IP Tunnel
Stub Link
Virtual Private Routed Networks
10.1.1.0 / 30
CPE 1
CPE 1
Stub Link
10.1.1.1
PE
Router
10.0.0.1
157.0.0.1
Provider
Backbone
IP Tunnel
Stub Link
PE
Router
10.5.5.0 / 30
10.5.5.1
Encapsulation in IP/IP
Stub Link
10.2.2.0 / 30
CPE 2
Stub Link
IP
CPE 2
P Header
Backbone
Outer IPPHeader
Inner IP
Destination AddressP Destination Address
157.0.0.1
10.5.5.1
IP Tunnel
10.6.6.0 / 30
IP Tunnel
PE
Customer data
Router
Stub Link
CPE 1
PE – Provider Edge
CPE – Customer Premises
Equipment
P – Provider/Interior
10.3.3.0 / 30
Virtual Private Routed Network (VPRN)
• VPRN is an IP based layer 3 VPN.
• Both CPE and network based implementations are possible.
• A VPRN is an emulation of a multi-site wide area routed network
using IP facilities
• VPN specific forwarding tables called the VPN Routing and
Forwarding tables or VRFs are present at the provider routers on
a per VPN basis. They contain network reachability information.
• VPRN operation is de-coupled from the mechanism used by the
customer to access the Internet
VPRN Generic Requirements
• Use of a globally unique identifier for each VPN
o VPN ID is a Globally Unique Identifier, which uniquely identifies
an instance of a VPRN.
o VPN ID can be used for management purposes in a MIB
o Used for tunnel establishment, to bind a VPRN to a particular
tunnel etc.
o Same ID can be used across different technologies e.g., IP and
ATM
VPRN Generic Requirements
• VPRN membership determination
o Determination of stub link belonging to a VPRN
o Through configuration for Static links e.g. ATM VCC
o As part of authentication for Dynamic Links e.g. PPP
o PEs participating in a particular VPRN must be known to each
other
o Membership determination is done using
• Directory Lookup
• Explicit Management Configuration
• Piggybacking in Routing Protocols
VPRN Generic Requirements
• Stub link reachability information
o Determine the set of VPRN addresses and address prefixes or
destinations reachable at each stub site or customer site
This exchange of information between the CE and PE can be through
•
•
•
•
Routing Protocol Instance on CE - PE
Configuration
ISP Administered Addresses
MPLS Label Distribution Protocol
VPRN Generic Requirements
• Intra - VPN reachability information
o Exchange of stub link reachability information between the
provider edges
o Set of reachable addresses within a VPRN are unique
Information dissemination is done through
• Directory Lookup
• Explicit Configuration
• Local intra-VPRN Routing Instantiations
• Link Reachability Protocol
• Piggybacking in IP backbone Routing Protocols e.g. BPG/MPLS
VPN
VPRN Generic Requirements
• Tunneling Mechanisms
o Tunnels comprising the VPRN cores, are established between PEs,
after membership determination
o Various mechanisms can be used for tunneling with the
requirements of security, authentication, confidentiality, sharing etc
o Tunneling mechanisms – IP/IP, IPSec, GRE, MPLS, L2TP etc
Implementation Issues
Summarizing some issues involved in building VPRNs
• Initial configuration
• Determining the set of links in each VPRN
• Identifying the member routers belonging to a VPRN
• Determining the set of IP addresses or address prefixes reachable
via each 'stub' link or customer
Implementation Issues
• Disseminate the 'stub' reachability information to the appropriate
set of PE routers
• Set of IP addresses reachable from the provider that is to be given
to the customer
• Establish, maintain, and manage the tunnels needed to carry the
data
• Provide secure data transfer and other features based on customer
requirements
VPRN Architecture
There are two fundamental architecture models for implementing
VPRNs.
• Overlay
• Piggyback
o The models differ in methods used to determine and disseminate
membership and reachability
o Overlay model constructs multiple routing protocol instances e.g.,
Multiple OSPF instances on a per VPRN basis, which overlay the
IP backbone
o Piggyback models make use of the existing routing protocol and
extend it to carry information e.g., BGP/MPLS in the backbone
IP VPN - Virtual Router Model
"A Virtual Router is an emulation of a physical router at the software
and/or hardware level."
• The overlay VPRN model uses the concept of Virtual Routers
• Each VR runs an instance of the routing protocol for determining and
exchanging reachability information with peer VRs
VR Model
CPE 1
CPE 2
CPE 3
S
T
U
B
L
I
N
K
S
CPE 1
VPRN 1
PE
Router
VPRN 2
PE
Router
VPRN 3
CPE 2
CPE 3
VRF
VRF
Backdoor Link
PE
Router
VRF – VPN Routing and
Forwarding Table
VR Instance for CE 1
CPE 1
CPE 3
VR Instance for CE 2
VR Instance for CE 3
VR Objectives
• The objective of this mechanism is to provide per-VPN routing,
forwarding, QoS, and service management capabilities
• To leverage and make use of the existing protocols for implementing
VPN functionality
• To isolate different VPN instances
• To isolate the underlying backbone protocol from the VPN protocols
VR Characteristics
• VRs that are members of a particular VPN must share the same
VPN ID.
• The VR architecture supports overlapping address spaces in
separate VPNs
• Each VPN can have its own routing protocol in the provider
backbone or the customer end if needed
VR Characteristics
• Supports VR to VR connectivity
• Over Layer 2 connections (ATM or Frame relay)
• Over IP based or MPLS tunnels
• Any routing protocol instance can be run between the PE and CE
to determine stub link reachability.
• CE – PE routing protocol is independent of routing protocol in the
backbone.
VR Advantages
• The Provider (P) routers or non-edge backbone routers need not be
VPN aware. In piggyback models, the provider/intermediate
routers may be VPN aware to determine if the packets sent belong
to the VPN or the backbone routing
• Backbone protocol can be independent of the VR protocol used
• No changes to existing protocols. In piggyback models, the routing
protocol for VPN must extend to accommodate information about
VPN membership, reachability etc.
• No changes are needed while deployment
VR Based Solution for IP VPN
• OSPF is run as a VR protocol for PE - PE routing
• For each VPN, towards the provider edge, an OSPF instance is run on
the Provider Edge router over tunnels in the backbone
• Routing protocol updates are exchanged between the PE routers
participating in a given VPN
Membership
• Membership information is used to identify and determine which VPN
a given VR belongs to
• Membership information is disseminated statically or dynamically
• A VPN Manager can have pre-configured or dynamically learnt VPN
IDs, which are assigned to each of the VR instances
• This can be used to map the VPN ID to the resources used by the
instance like the routing table associated with the interface
Routing
• The "stub link reachability", is learnt by the VR instance on the PE
associated with that customer end of the VPN site
• VRs belonging to the same VPN exchange this reachability
information with the help of the VR routing protocol
• Redistribution takes place at the Provider Edge Router between the
customer and the provider edges on a per-VR basis
• Each VR instance is associated with a routing table called the VRF.
Each VPN is mapped to a VRF
Routing
• Multiple routing tables are used to isolate routing information between
the VRs
• Multiple routing tables support on Linux is provided by the Advanced
Routing option
• On Linux, the input interface(s) from the customer end is/are mapped
to a VRF using 'ip rule' command
Routing
• VR instance on the customer end and provider end share the routing
table. Any addition/deletion of new routes is redistributed to the other
corresponding instance of routing protocol
• CE-CE or CE-PE routing is independent of the VR routing
• Multiple routing tables concept can be extended to support Traffic
Engineering
Tunneling
• The exchange of control and data plane information is done using
tunnels, established between member routers of a VPN
• Tunnels on Linux can be established by configuring the tunnel device
tunl0. This feature is provided using 'ip tunnel' commands
• Multiple VPNs can be mapped to a single tunnel depending on the
security constraints
• Tunnel aggregation can be done to minimize overhead in tunnel
establishment and maintenance
VPN Support On LINUX
• Multiple Routing table support
– A compile time Advanced Routing option
– Up to 255 routing tables
• Netlink support for associating network interfaces or tunnels with
routing tables
• IP/IP and GRE tunneling mechanism.
VPN Support On LINUX
• IP utility
– To configure IP/IP and GRE tunnels
• ip tunnel add mode ipip local 10.0.0.1 remote 10.0.0.2
– To configure routes in different routing tables
• ip route add 10.0.0.0/24 via 192.168.221.254 table 50
– To associate interfaces with routing tables
• ip rule add iif eth0 table 50
Issues in OSPF VR Model
Depending on configuration of customers, various issues related to
connectivity and duplication of information arise. Examples of
configuration scenarios are
•
•
•
•
Each customer belonging to a particular VPN
Customer belongs to multiple VPRNs over multiple stub links
Customer belongs to multiple VPRNs over a single stub link
Multiple VPRNs are established over a single stub link
Issues in OSPF VR Model
Stub information exchanged is AS External information. The routing
information or updates are exchanged as AS External information
between the customer ends
Membership information is statically configured by a VPN manager.
Manager must keep track of change in membership and disseminate
this information appropriately
Static configuration of tunnels, maintenance and management is also
done by the manager, which must keep track of changes and handle the
OSPF instances accordingly
Issues in OSPF VR Model
Various configuration scenarios of connection between CE-PE and the
way routing information is re-distributed between the customer and
provider edge of the PE router influences the kind of information
exchanged
E.g., if the customer ends are treated as belonging to same area or
different areas but belonging to the same AS, then the routes
exchanged become intra or inter area routes, which gain preference
over AS External routes according to OSPF protocol. In this case, the
VPN serves to seamlessly transfer the OSPF/routing information
between the customer ends.
Summary
• VPN is a connectivity object
• Objective of VPN is to provide private connectivity between customer
ends, over a public infrastructure
• VPN features and requirements include opaque transfer, security, QoS
etc
• Layer 3 VPN implementations are considered
• Different types of VPN types exist, of which VPRN is a IP-network
based layer 3 VPN implementation
• VR is an overlay concept for implementing VPRN
• OSPF is used as a VR protocol. Linux based model uses IP tunnels
and Advanced Routing options to build rule based routing tables
References
[VPN-RFC2764] Gleeson, B., et al, “A Framework for IP Based Virtual
Private Networks”, RFC 2764, February 2000.
[PPVPN] Ould-Brahim, H., et al., “Network based IP VPN Architecture
using Virtual Routers”, work in progress.
[PPVPN] Nagarajan Ananth., et al, “Applicability Statement for Virtual
Router-based Layer 3 PPVPN approaches”, August 2002
[RFC2685] Fox B., et al, “Virtual Private Network Identifier”, RFC 2685,
September 1999
[RFC2547bis] Rosen E., et al, “BGP/MPLS VPNs”, work in progress.
[VPN-BGP] Ould-Brahim, H., et al, “Using BGP as an Auto-Discovery
Mechanism for Network-based VPNs”, work in progress.
Download