Download VPNs

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Lag wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Remote Desktop Services wikipedia , lookup

Wireless security wikipedia , lookup

Peering wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Deep packet inspection wikipedia , lookup

Net bias wikipedia , lookup

Distributed firewall wikipedia , lookup

Point-to-Point Protocol over Ethernet wikipedia , lookup

Network tap wikipedia , lookup

Computer network wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Airborne Networking wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Virtual LAN wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Transcript
VPN Taxonomy
CS519: Computer
Networks
CS519
VPN
Network
Client
Provider-based
Lecture 8: Apr 21, 2004
VPNs
Provider-based
Compulsory
Voluntary
Secure
Non-secure
What is a VPN?
Customer-based
Customer-based
L3
L2
ATM
Frame Relay
LAN
Virtual Router
BGP/MPLS
Secure
Non-secure
History of VPNs
CS519
|
|
Making a shared network look like a private
network
Why do this?
z
Private networks have all kinds of
advantages
• (we’ll get to that)
z
But building a private network is expensive
• (cheaper to have shared resources rather than
dedicated)
CS519
|
Originally a telephone network concept
z
|
Separated offices could have a phone
system that looked like one internal phone
system
Benefits?
z
z
Fewer digits to dial
Could have different tariffs
• Company didn’t have to pay for individual long
distance calls
z
Came with own blocking probabilities, etc.
• Service guarantees better (or worse) than public
phone service
1
Original data VPNs
VPN Taxonomy
CS519
|
z
z
z
|
z
|
VPN
Decnet, Appletalk, SNA, XNS, IPX, …
None of these were meant to scale to global
proportions
Virtually always used in corporate settings
Network
Client
Provider-based
Providers offer virtual circuits between customer
sites
z
|
CS519
Lots of different network technologies in those days
Provider-based
Frame Relay or ATM
A lot cheaper than dedicated leased lines
Customer runs whatever network technology over
these
These still exist (but being replaced by IP VPNs)
Compulsory
L3
L2
Voluntary
ATM
Frame Relay
LAN
Secure
Non-secure
Advantages of original data
VPNs
Customer-based
Customer-based
Virtual Router
Secure
Non-secure
Frame Relay VPN Example
CS519
|
Repeat: a lot cheaper than dedicated
leased lines
z
z
|
|
|
Corporate users had no other choice
This was the whole business behind framerelay and ATM services
CS519
CE
FR
CE
FR
FR
FR
CE
FR
Service Level Agreements (SLA)
“Multi-protocol”
CE
CE
Fine-grained bandwidth tariffs
Bandwidth guarantees
z
BGP/MPLS
FR
FR
CE
CE
CE
CE = Customer
Equipment
FR = Frame
Relay
2
Define circuits CE to CE
(for given customer: purple)
Customer establishes routing
tables (per protocol)
CS519
CS519
CE3
CE1
CE3
CE1
24
FR
FR
12
31
CE1
CE1
CE3
FR
dest
CE2
CE3
CE4
FR
24
circuit
24
12
31
FR
FR
12
31
CE3
FR
FR
CE4
FR
FR
CE4
FR
FR
CE2
CE4
CE2
CE = Customer
Equipment
FR = Frame
Relay
Provider provisions underlying
network
FR
FR
CE2
CE2
CE4
How has the world changed?
CS519
CE3
FR
CS519
|
CE1
CE1
FR
Provider does queuing analysis of
load through each link, determines,
throughput characteristics, gives
service guarantees to customers
accordingly. FR
FR
|
FR
Some old stuff still around, but most
data networks are just IP
So, why do we still care about
VPNs???
CE4
FR
CE2
CE2
Everything is IP now
z
CE3
FR
CE = Customer
Equipment
FR = Frame
Relay
CE4
CE = Customer
Equipment
FR = Frame
Relay
3
IP VPN benefits
Client VPNs
CS519
|
z
Security
Bandwidth guarantees across ISP
|
Simplified network operation
z
z
VPN
VPN makes separated IP sites look like one
private IP network
|
|
CS519
IP not really global (private addresses)
Network
Client
Provider-based
Provider-based
Customer-based
Customer-based
QoS, SLAs
Compulsory
ISP can do the routing for you
ATM
Frame Relay
LAN
Secure
Non-secure
Client VPNs
L3
L2
Voluntary
Virtual Router
BGP/MPLS
Secure
Non-secure
Client VPNs
CS519
|
Solves problem of how to connect
remote hosts to a firewalled network
CS519
|
Solves problem of how to connect
remote hosts to a firewalled network
Security and private addresses
benefits only
z Not simplicity or QoS benefits
z
FW/
VPN
Internet
IPsec
Tunnels
Remote
Host
Site (private
network)
Site
Host
Site
Host
Remote
Host
4
Client VPNs:
Configuration
Client VPNs
CS519
CS519
VPN
VPN IP addr: 20.1.1.1
User name: joe
Password: Rtu44!+3wyZ
Network
Client
20.1.1.1
Site
Host
FW/
VPN
Site
joe: Rtu44!+3wyZ
Host
sally: 5Yee#34hB!2
Remote
Host
Provider-based
Provider-based
Compulsory
L3
L2
Voluntary
Secure
Non-secure
Client VPNs:
Configuration
Customer-based
Customer-based
ATM
Frame Relay
LAN
Virtual Router
BGP/MPLS
Secure
Non-secure
Client VPNs:
Host gets local IP address
CS519
CS519
More likely AAA or LDAP
backend has the passwords
VPN IP addr: 20.1.1.1
User name: joe
Password: Rtu44!+3wyZ
AAA
20.1.1.1
FW/
VPN
DHCP
Site
Host
30.1.1.1
Remote
Host
Site
joe: Rtu44!+3wyZ
Host
sally: 5Yee#34hB!2
AAA
20.1.1.1
Remote
Host
Router
FW/
VPN
Site
Host
Site
Host
5
Client VPNs:
Host connects to VPN
Client VPNs:
VPN assigns site address
CS519
VPN authenticates remote
host through backend
database (RADIUS or LDAP)
As proprietary enhancement to IPsec,
or with PPP (over IPsec)
AAA
20.1.1.1
Remote
Host
CS519
FW/
VPN
10.1.1.1
Site
Host
RADIUS
20.1.1.1
10.1.1.1
IPsec
Site
Host
30.1.1.1
Remote
Host
Client VPNs:
Packets tunneled over IPsec
FW/
VPN
IPsec
AAA
RADIUS
Site
Host
30.1.1.1
Client VPNs:
Packets tunneled over IPsec
CS519
AAA
20.1.1.1
10.1.1.1
Remote
Host
10.1.1.1
10.1.1.2
30.1.1.1
20.1.1.2
FW/
VPN
Site
Host
RADIUS
IPsec
10.1.1.2
10.1.1.1
10.1.1.2
IPsec Tunnel
CS519
Some VPN clients smart enough to
avoid sending non-VPN traffic through
the VPN tunnel
Not this
This
Public
Host
Site
Host
30.1.1.1
30.1.1.1
20.1.1.2
Site
Host
AAA
20.1.1.1
10.1.1.1
Remote
Host
IPsec
30.1.1.1
FW/
VPN
RADIUS
Site
Host
10.1.1.2
Site
Host
6
IPsec
IPsec Payloads
CS519
|
|
Two parts: Session Establishment (key
exchange) and Payload
IKE/ISAKMP is session establishment
|
Negotiate encryption algorithms
Negotiate payload headers (AH, ESP)
z Negotiate policies
Keying can be either:
z Symmetric shared keys
z Public keys (in certificates)
Either way, a session key is negotiated by
IKE
z
z
|
|
|
IPsec transmission modes:
Transport or Tunnel mode
AH header format
CS519
Transport TCP/UDP
IPsec
ESP or AH
IP
Transport TCP/UDP
IP
IPsec
ESP or AH
IP
Transport mode. Used when IPsec
tunnel is end-to-end. Operates over
some of the IP fields, and doesn’t
work with NAT!
Tunnel mode. Used when IPsec
tunnel not end-to-end. Hides the
IP identity of endpoints. Operates
over inner IP fields…can work with
NAT.
CS519
AH: Authentication Header
z Authenticates each packet but doesn’t
encrypt
z Has fallen out of favor (redundant and no
more efficient)
ESP: Encapsulating Security Payload
z Encrypts (with authentication as side effect)
CS519
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Payload Len |
RESERVED
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Security Parameters Index (SPI)
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Sequence Number Field
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
+
Authentication Data (variable)
|
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
7
ESP header format
New IPsec transmission modes
CS519
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Security Parameters Index (SPI)
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Sequence Number
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Payload Data* (variable)
|
|
|
|
|
+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
Padding (0-255 bytes)
|
+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
Pad Length
| Next Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Authentication Data (variable)
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
CS519
Transport TCP/UDP
IPsec ESP or AH
NAT
UDP
IP
Extra layer of UDP allows
IPsec to work over NAT.
Transport TCP/UDP
IP
IPsec ESP or AH
NAT
UDP
IP
Client VPNs:
Host gets local IP address
Client VPNs
CS519
CS519
2.
VPN
Network
Client
If PPP, AAA tells Access
Router to tunnel user to VPN.
(If not PPP, Access Router
uses local configuration.)
3.
Tunnel established (or packets
forwarded over pre-established
tunnel)
AAA
Provider-based
Provider-based
Customer-based
30.1.1.1
Compulsory
Voluntary
Secure
Non-secure
Remote
Host
L3
L2
ATM
Frame Relay
LAN
Virtual Router
BGP/MPLS
Secure
Non-secure
Site
Host
FW/
VPN
Customer-based
1.
Access
Router
Remote host connects to
Internet (dialup-PPP or PPPoE
(cable) or DSL)
IPsec or
GRE or
L2TP
Site
Host
Compulsory if Access Router
forces tunnel, voluntary if user
requests it (through certain NAI).
NAI = “user@domain”
8
Provider-based client VPNs
Network VPNs
CS519
|
z
z
I know Cisco did this
But never used that much
z
VPN
Network
Client
Provider-based
Provider-based
• Business model didn’t take off
Customer-based
Customer-based
Used even less now
• In part because VPN client comes with windows
OS???
|
CS519
Used for instance when enterprise pays for
employee access, wants it to go through
enterprise network
Compulsory
The tunneling technology commonly used
for roaming dialup though
Voluntary
L3
L2
ATM
Frame Relay
LAN
Secure
Non-secure
Virtual Router
BGP/MPLS
Secure
Non-secure
Customer-based Network
VPNs
Reiterate network VPN benefits
CS519
Makes separated IP sites look like
one private IP network
| Security
| QoS guarantees
| Simplified network operation
CS519
VPN
|
Network
Client
Provider-based
Provider-based
Compulsory
Customer-based
Customer-based
Voluntary
Secure
Non-secure
L3
L2
ATM
Frame Relay
LAN
Virtual Router
BGP/MPLS
Secure
Non-secure
9
Customer-based Network
VPNs
Customer-based Network
VPNs
CS519
CS519
Site
|
Great for enterprises that have the
resources and skills to do it
|
More control, better security model
Site
CE
CE
z
Internet
Doesn’t require trust in ISP ability and
intentions
z Can use different ISPs at different
sites
z
CE
CE
Site
Large companies
Site
Customer buys own equipment, configures IPsec
tunnels over the global internet, manages addressing
and routing. ISP plays no role.
|
Provider-based Network VPNs (aka
But not all enterprises have this skill
Provider-based Network VPNs
Provider Provisioned: PPVPN)
CS519
VPN
Provider-based
Site
CE
Network
Client
Provider-based
CS519
Site
CE
PE
PE
ISP
Customer-based
Customer-based
PE
Compulsory
Voluntary
Secure
Non-secure
PE
L3
L2
Site
ATM
Frame Relay
LAN
Virtual Router
CE
CE Site
BGP/MPLS
Provider manages all the complexity of the VPN.
Customer simply connects to the provider equipment.
Secure
Non-secure
10
Same provider equipment used
for multiple customers
Model for customer
CS519
Site
Site
CE
CE
PE
Site
CS519
Attach to ISP router (PE) as though it
was one of your routers
| Run routing algorithm with it
|
PE
ISP
CE
z
PE
PE
Site
|
CE Site
CE
CE
Site
OSPF, RIP, BGP
PE will advertise prefixes from other
sites of same customer
CE
Site
Various PPVPN issues
BGP/MPLS VPNs (RFC2547)
CS519
|
z
z
|
VPN
IPsec (more secure, more expensive)
GRE etc.
How to discover which customer is at which
PE?
z
|
CS519
Tunnel type?
Don’t want PEs without given customer to
participate in routing for that customer
How to distinguish overlapping private
address spaces
Network
Client
Provider-based
Provider-based
Compulsory
Customer-based
Customer-based
Voluntary
Secure
Non-secure
L3
L2
ATM
Frame Relay
LAN
Virtual Router
BGP/MPLS
Secure
Non-secure
11
Recall this frame-relay traffic
engineered L2 VPN…
BGP/MPLS VPNs (RFC2547)
CS519
|
z
|
CS519
Cisco invention
CE3
Leverage Cisco’s investment in both BGP
and MPLS (Multi-Protocol Label Switching)
What is MPLS?
z
CE1
CE1
FR
Link-layer technology
FR
• Tags like circuit switching
• But with some IP awareness
z
z
z
CE3
FR
FR
How Cisco killed Epsilon
Initially marketed as high performance
switching
Later became “traffic engineering” and VPN
ISPs historically used L2
networks in their core
CE4
FR
FR
FR
CE2
CE4
CE2
CE = Customer
Equipment
FR = Frame
Relay
Logically, ISPs were structured
like this
CS519
CS519
ER
ER
ER
ER
ATM
ER
ER
ATM
ER
ER
ATM
ATM Cloud
ATM
ER
ATM
ATM
ATM
ER
ER
ER
ATM =
Asynchronous
Transfer Mode
ER = Edge Router
ER
ER
ER
ER
Every router was “adjacent” to every other
12
Why L2 (ATM)?
But there were problems…
CS519
ATM was, at least until 4-5 years ago,
faster than IP forwarding
| ATM switches were better matched to
the underlying SONET transmission
links
| It was easier to traffic engineer based
on virtual circuits than based on
destination IP address
| IP wasn’t the only network protocol
|
MPLS tried to get the best of
both worlds
Control:
IP Router
Software
MPLS
Control:
IP Router
Software
ISPs had 100’s of routers, each of
which logically had a link to all others
Was difficult to manage and run
routing over all of these logical links
z Scaled poorly
z
|
Basic idea of MPLS was to elevate
ATM intelligence to L3, while doing
switching at L2!
z
Epsilon business model…
MPLS Operation
CS519
IP Router
CS519
|
ATM Switch
1a. Routing protocols (e.g. OSPF-TE, IS-IS-TE)
exchange reachability to destination networks
1b. Label Distribution Protocol (LDP)
establishes label mappings to destination
network
IP
Control:
IP
ATM Forum
Software
Forwarding:
Forwarding:
Forwarding:
Longestmatch
Label
Swapping
Label
Swapping
4. LER at egress
removes label and
deliversCS519
packet
2. Ingress LER receives packet
and “label”s packets
10
IP
20
IP
40
IP
3. LSR forwards
packets using label
swapping
13
Original business model failed
Basic difficulty with PPVPN:
private addresses
CS519
|
z
|
CS519
Simple reason:
People figured out how to make IP
fast…as fast as ATM
MPLS spent a long time looking for a
reason to exist
z
Finally found it in MPLS-BGP
PPVPNs
MPLS Label identifies VPN
How BGP/MPLS VPNs work
CS519
CS519
|
|
BGP updates normally carry a set of IP prefixes in
the routing path
With MPLS VPN, they carry a VPN identifier, and an
MPLS tag
z
z
|
|
VPN identifier distinguishes overlapping address
MPLS tag says how to encapsulate customer’s IP
over MPLS
Within MPLS, the tag both routes the packet and
identifies the customer
Tunnels are typically not secure
z
Customer assumes provider links are physically
secure
14
A few more MPLS details
Virtual Router based L3 VPNs
CS519
|
|
|
CS519
Headers are stackable
Uses variant of RSVP for establishing label
values
Also used these days for Traffic
Engineering
z
z
Because can route on source and dest
Allows per-customer Service Level
Aggrements
VPN
Provider-based
Provider-based
Compulsory
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Label
| Exp |S|
TTL
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Network
Client
Customer-based
Customer-based
Voluntary
Secure
Non-secure
L3
L2
ATM
Frame Relay
LAN
Virtual Router
BGP/MPLS
Secure
Non-secure
What is a virtual router (VR)?
Virtual Router based L3 VPNs
CS519
|
BGP/MPLS gave Cisco a huge
advantage
z
|
Because Cisco was the BGP and
MPLS expert
Competitors’ counter argument:
No need to couple routing technology
with tunneling technology…they are
separate issues
z Simpler to use virtual routers
CS519
|
Separate logical router within a single physical
router
z
z
|
Basic idea: Incoming tunnel identifies which VR is
intended
z
z
z
z
|
Runs its own routing algorithm
Has its own FIB (Forwarding Information Base)
If GRE, then GRE key field
If IPsec, then IPsec SPI field
If L2TP, then L2TP key field
This is how overlapping addresses are distinguished
15
VR approach has discovery
issues
Layer 2 LAN VPNs
CS519
|
z
|
CS519
No standard way to configure tunnels
and discover which PEs attach to
which customers
All manually configured (via
management system)
VPN
Network
Client
Provider-based
Provider-based
Various proposals exist
z Via BGP, OSPF, DNS, an LDAP
database, and even IP multicast
Compulsory
Customer-based
Customer-based
Voluntary
Secure
Non-secure
L3
L2
ATM
Frame Relay
LAN
Virtual Router
BGP/MPLS
Secure
Non-secure
What is a VLAN?
Layer 2 LAN VPNs
CS519
|
|
Model is for PE to look like LAN to CE
CE broadcast over LAN reaches only other CEs of
the same customer
z
z
z
|
|
Thus customer can run OSPF over LAN in standard
way
Supports multicast
Multi-protocol
Uses VLAN (Virtual LAN) tags to distinguish
customers
Advantages over FR and ATM are:
z
z
Ethernet is more common interface
Supports broadcast/multicast
CS519
|
|
A “virtual LAN”: makes a single physical
look like multiple LANs
Virtual LAN and priority capabilities are
provided by 802.1Q/p:
z
a VLAN tag is provided by 802.1Q to identify
VLAN membership
• Limited to 4096 VLANs – this is a potential
scalability issue
z
the VLAN tag has a 3-bit priority field that
allows 8 possible service classes (matches
DiffServ’s 8 possible classes)
16
Why VLANs?
More to the point
CS519
|
z
z
|
|
|
|
|
CS519
LAN scalability:
|
limits broadcast domains (limits broadcast storms);
also limits multicast, chatty protocols, etc., reducing
overall network traffic.
Ethernet has gotten very fast
z
z
Network efficiencies: traffic flows from different VLANS
can be segregated
Allows non-physical grouping of nodes that share
similar resources
Allows easy changing of LAN membership
Reduces the amount of level 3 (IP) routing
Security: limits snooping; authentication required (via
GVRP) to join VLAN
GigE common
10gig Ethernet coming (optical)
We can put much more on an
Ethernet, so we need to segregate
| These days, site networks are
composed of ethernet switches and
VLANs, not routers and subnets!
|
Typical site configuration (from
Cisco)
VLAN Header
CS519
CS519
64 bits
Preamble
48 bits
48 bits
16 bits
46 to 1500 Bytes
Destination Source
Length/
MAC
MAC
Type
Address
Address
32 bits
Frame
Check
Sequence
Data/LLC
Original Ethernet Frame Structure
64 bits
48 bits
48 bits 16 bits16 bits 16 bits
46 to 1500 Bytes
Dest
Source
Length/
Preamble MAC
MAC TPID TCI
Type
Address Address
User
Priority (3)
CFI
(1)
VLAN ID
(12)
Data/LLC
32 bits
Frame
Check
Sequence
Ethernet with VLAN
17
Meta-Point: Its all about
tunnels!
Tunnels are scalable
CS519
|
In this lecture we saw a lot of tunnels
|
I said before that the Internet has two
ways to scale:
z
z
|
IPsec, MPLS, GRE, L2TP
Tunnels!
Tunnels prevents the “middle” from having
to know details of the “edge”
z
z
z
Hierarchy and caching
It has a third way:
z
CS519
|
|
But in a manner that is more flexible than
hierarchy
Hierarchy forces a structure from the middle
(top)
Tunnels “cut through” the middle
transparently
Tunnels have been introduced piecemeal
z
We still don’t have a coherent architecture
for them . . .
18