CS519: Computer Networks Lecture 8: Apr 21, 2004 VPNs VPN - - PowerPoint PPT Presentation

cs519 computer networks
SMART_READER_LITE
LIVE PREVIEW

CS519: Computer Networks Lecture 8: Apr 21, 2004 VPNs VPN - - PowerPoint PPT Presentation

CS519: Computer Networks Lecture 8: Apr 21, 2004 VPNs VPN Taxonomy CS519 VPN Network Client Provider-based Customer-based Provider-based Customer-based L3 L2 Compulsory Voluntary Virtual Router BGP/MPLS ATM Frame Relay Secure


slide-1
SLIDE 1

CS519: Computer Networks

Lecture 8: Apr 21, 2004 VPNs

slide-2
SLIDE 2

CS519

VPN Taxonomy

VPN Client Network Provider-based Customer-based Provider-based Customer-based Compulsory Voluntary Secure Non-secure L3 L2 ATM Frame Relay LAN Virtual Router BGP/MPLS Secure Non-secure

slide-3
SLIDE 3

CS519

What is a VPN?

Making a shared network look like a private

network

Why do this? Private networks have all kinds of

advantages

  • (we’ll get to that)

But building a private network is expensive

  • (cheaper to have shared resources rather than

dedicated)

slide-4
SLIDE 4

CS519

History of VPNs

Originally a telephone network concept Separated offices could have a phone

system that looked like one internal phone system

Benefits? Fewer digits to dial Could have different tariffs

  • Company didn’t have to pay for individual long

distance calls

Came with own blocking probabilities, etc.

  • Service guarantees better (or worse) than public

phone service

slide-5
SLIDE 5

CS519

Original data VPNs

Lots of different network technologies in those days Decnet, Appletalk, SNA, XNS, IPX, … None of these were meant to scale to global

proportions

Virtually always used in corporate settings Providers offer virtual circuits between customer

sites

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)

slide-6
SLIDE 6

CS519

VPN Taxonomy

VPN Client Network Provider-based Customer-based Provider-based Customer-based Compulsory Voluntary Secure Non-secure L3 L2 ATM Frame Relay LAN Virtual Router BGP/MPLS Secure Non-secure

slide-7
SLIDE 7

CS519

Advantages of original data VPNs

Repeat: a lot cheaper than dedicated

leased lines

Corporate users had no other choice This was the whole business behind frame-

relay and ATM services

Fine-grained bandwidth tariffs Bandwidth guarantees Service Level Agreements (SLA) “Multi-protocol”

slide-8
SLIDE 8

CS519

Frame Relay VPN Example

FR FR FR FR FR FR FR CE CE CE CE CE CE CE CE CE = Customer Equipment FR = Frame Relay

slide-9
SLIDE 9

CS519

Define circuits CE to CE (for given customer: purple)

FR FR FR FR FR FR FR CE1 CE2 CE3 CE4 CE1 CE2 CE3 CE4 CE = Customer Equipment FR = Frame Relay 24 31 12

slide-10
SLIDE 10

CS519

Customer establishes routing tables (per protocol)

FR FR FR FR FR FR FR CE1 CE2 CE3 CE4 CE1 CE2 CE3 CE4 CE = Customer Equipment FR = Frame Relay 24 31 12 dest circuit CE2 24 CE3 12 CE4 31

slide-11
SLIDE 11

CS519

Provider provisions underlying network

FR FR FR FR FR FR FR CE1 CE2 CE3 CE4 CE1 CE2 CE3 CE4 CE = Customer Equipment FR = Frame Relay Provider does queuing analysis of load through each link, determines, throughput characteristics, gives service guarantees to customers accordingly.

slide-12
SLIDE 12

CS519

How has the world changed?

Everything is IP now Some old stuff still around, but most

data networks are just IP

So, why do we still care about

VPNs???

slide-13
SLIDE 13

CS519

IP VPN benefits

IP not really global (private addresses) VPN makes separated IP sites look like one

private IP network

Security Bandwidth guarantees across ISP QoS, SLAs Simplified network operation ISP can do the routing for you

slide-14
SLIDE 14

CS519

Client VPNs

VPN Client Network Provider-based Customer-based Provider-based Customer-based Compulsory Voluntary Secure Non-secure L3 L2 ATM Frame Relay LAN Virtual Router BGP/MPLS Secure Non-secure

slide-15
SLIDE 15

CS519

Client VPNs

Solves problem of how to connect

remote hosts to a firewalled network

Security and private addresses

benefits only

Not simplicity or QoS benefits

slide-16
SLIDE 16

CS519

Client VPNs

Solves problem of how to connect

remote hosts to a firewalled network

Site (private network) Internet Remote Host Remote Host FW/ VPN Site Host Site Host IPsec Tunnels

slide-17
SLIDE 17

CS519

Client VPNs: Configuration

Remote Host FW/ VPN Site Host Site Host VPN IP addr: 20.1.1.1 User name: joe Password: Rtu44!+3wyZ 20.1.1.1 joe: Rtu44!+3wyZ sally: 5Yee#34hB!2

slide-18
SLIDE 18

CS519

Client VPNs

VPN Client Network Provider-based Customer-based Provider-based Customer-based Compulsory Voluntary Secure Non-secure L3 L2 ATM Frame Relay LAN Virtual Router BGP/MPLS Secure Non-secure

slide-19
SLIDE 19

CS519

Client VPNs: Configuration

Remote Host FW/ VPN Site Host Site Host VPN IP addr: 20.1.1.1 User name: joe Password: Rtu44!+3wyZ joe: Rtu44!+3wyZ sally: 5Yee#34hB!2 20.1.1.1 AAA More likely AAA or LDAP backend has the passwords

slide-20
SLIDE 20

CS519

Client VPNs: Host gets local IP address

Remote Host FW/ VPN Site Host Site Host DHCP Router 20.1.1.1 30.1.1.1 AAA

slide-21
SLIDE 21

CS519

Remote Host FW/ VPN Site Host Site Host 20.1.1.1 30.1.1.1

Client VPNs: Host connects to VPN

IPsec RADIUS

VPN authenticates remote host through backend database (RADIUS or LDAP)

AAA

slide-22
SLIDE 22

CS519

Remote Host FW/ VPN Site Host Site Host 20.1.1.1 30.1.1.1

Client VPNs: VPN assigns site address

IPsec AAA RADIUS 10.1.1.1 10.1.1.1

As proprietary enhancement to IPsec,

  • r with PPP (over IPsec)
slide-23
SLIDE 23

CS519

Remote Host FW/ VPN Site Host Site Host 20.1.1.1 30.1.1.1

Client VPNs: Packets tunneled over IPsec

IPsec AAA RADIUS 10.1.1.1 10.1.1.2 10.1.1.1 10.1.1.2 10.1.1.1 10.1.1.2 30.1.1.1 20.1.1.2 30.1.1.1 20.1.1.2 IPsec Tunnel

slide-24
SLIDE 24

CS519

Remote Host FW/ VPN Site Host Site Host 20.1.1.1 30.1.1.1

Client VPNs: Packets tunneled over IPsec

IPsec AAA RADIUS 10.1.1.1 10.1.1.2 Public Host

Some VPN clients smart enough to avoid sending non-VPN traffic through the VPN tunnel Not this This

slide-25
SLIDE 25

CS519

IPsec

Two parts: Session Establishment (key

exchange) and Payload

IKE/ISAKMP is session establishment Negotiate encryption algorithms Negotiate payload headers (AH, ESP) Negotiate policies Keying can be either: Symmetric shared keys Public keys (in certificates) Either way, a session key is negotiated by

IKE

slide-26
SLIDE 26

CS519

IPsec Payloads

AH: Authentication Header Authenticates each packet but doesn’t

encrypt

Has fallen out of favor (redundant and no

more efficient)

ESP: Encapsulating Security Payload Encrypts (with authentication as side effect)

slide-27
SLIDE 27

CS519

IPsec transmission modes: Transport or Tunnel mode

ESP or AH TCP/UDP IP IPsec Transport

Transport mode. Used when IPsec tunnel is end-to-end. Operates over some of the IP fields, and doesn’t work with NAT!

ESP or AH TCP/UDP IP IPsec

Tunnel mode. Used when IPsec tunnel not end-to-end. Hides the IP identity of endpoints. Operates

  • ver inner IP fields…can work with

NAT.

IP Transport

slide-28
SLIDE 28

CS519

AH header format

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) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

slide-29
SLIDE 29

CS519

ESP header format

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) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

slide-30
SLIDE 30

CS519

New IPsec transmission modes

ESP or AH TCP/UDP IP IPsec Transport

Extra layer of UDP allows IPsec to work over NAT.

ESP or AH TCP/UDP IP IPsec IP Transport UDP UDP NAT NAT

slide-31
SLIDE 31

CS519

Client VPNs

VPN Client Network Provider-based Customer-based Provider-based Customer-based Compulsory Voluntary Secure Non-secure L3 L2 ATM Frame Relay LAN Virtual Router BGP/MPLS Secure Non-secure

slide-32
SLIDE 32

CS519

Client VPNs: Host gets local IP address

Remote Host FW/ VPN Site Host Site Host Access Router 30.1.1.1 AAA IPsec or GRE or L2TP

  • 1. Remote host connects to

Internet (dialup-PPP or PPPoE (cable) or DSL)

  • 2. 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) Compulsory if Access Router forces tunnel, voluntary if user requests it (through certain NAI). NAI = “user@domain”

slide-33
SLIDE 33

CS519

Provider-based client VPNs

Used for instance when enterprise pays for

employee access, wants it to go through enterprise network

I know Cisco did this But never used that much

  • Business model didn’t take off

Used even less now

  • In part because VPN client comes with windows

OS???

The tunneling technology commonly used

for roaming dialup though

slide-34
SLIDE 34

CS519

Network VPNs

VPN Client Network Provider-based Customer-based Provider-based Customer-based Compulsory Voluntary Secure Non-secure L3 L2 ATM Frame Relay LAN Virtual Router BGP/MPLS Secure Non-secure

slide-35
SLIDE 35

CS519

Reiterate network VPN benefits

Makes separated IP sites look like

  • ne private IP network

Security QoS guarantees Simplified network operation

slide-36
SLIDE 36

CS519

Customer-based Network VPNs

VPN Client Network Provider-based Customer-based Provider-based Customer-based Compulsory Voluntary Secure Non-secure L3 L2 ATM Frame Relay LAN Virtual Router BGP/MPLS Secure Non-secure

slide-37
SLIDE 37

CS519

Site

Customer-based Network VPNs

CE Site Site Site CE CE CE Internet

Customer buys own equipment, configures IPsec tunnels over the global internet, manages addressing and routing. ISP plays no role.

slide-38
SLIDE 38

CS519

Customer-based Network VPNs

Great for enterprises that have the

resources and skills to do it

Large companies More control, better security model Doesn’t require trust in ISP ability and

intentions

Can use different ISPs at different

sites

But not all enterprises have this skill

slide-39
SLIDE 39

CS519

Provider-based Network VPNs (aka

Provider Provisioned: PPVPN)

VPN Client Network Provider-based Customer-based Provider-based Customer-based Compulsory Voluntary Secure Non-secure L3 L2 ATM Frame Relay LAN Virtual Router BGP/MPLS Secure Non-secure

slide-40
SLIDE 40

CS519

Site

Provider-based Network VPNs

PE Site Site Site PE PE PE ISP

Provider manages all the complexity of the VPN. Customer simply connects to the provider equipment.

CE CE CE CE

slide-41
SLIDE 41

CS519

Site

Same provider equipment used for multiple customers

PE Site Site Site PE PE PE ISP CE CE CE CE Site CE Site CE Site CE

slide-42
SLIDE 42

CS519

Model for customer

Attach to ISP router (PE) as though it

was one of your routers

Run routing algorithm with it OSPF, RIP, BGP PE will advertise prefixes from other

sites of same customer

slide-43
SLIDE 43

CS519

Various PPVPN issues

Tunnel type? IPsec (more secure, more expensive) GRE etc. How to discover which customer is at which

PE?

Don’t want PEs without given customer to

participate in routing for that customer

How to distinguish overlapping private

address spaces

slide-44
SLIDE 44

CS519

BGP/MPLS VPNs (RFC2547)

VPN Client Network Provider-based Customer-based Provider-based Customer-based Compulsory Voluntary Secure Non-secure L3 L2 ATM Frame Relay LAN Virtual Router BGP/MPLS Secure Non-secure

slide-45
SLIDE 45

CS519

BGP/MPLS VPNs (RFC2547)

Cisco invention Leverage Cisco’s investment in both BGP

and MPLS (Multi-Protocol Label Switching)

What is MPLS? Link-layer technology

  • Tags like circuit switching
  • But with some IP awareness

How Cisco killed Epsilon Initially marketed as high performance

switching

Later became “traffic engineering” and VPN

slide-46
SLIDE 46

CS519

Recall this frame-relay traffic engineered L2 VPN…

FR FR FR FR FR FR FR CE1 CE2 CE3 CE4 CE1 CE2 CE3 CE4 CE = Customer Equipment FR = Frame Relay

slide-47
SLIDE 47

CS519

ISPs historically used L2 networks in their core

ATM ATM ATM ATM ATM ATM ATM ER ER ER ER ER ER ER ER ATM = Asynchronous Transfer Mode ER = Edge Router

slide-48
SLIDE 48

CS519

ATM Cloud

Logically, ISPs were structured like this

ER ER ER ER ER ER ER ER

Every router was “adjacent” to every other

slide-49
SLIDE 49

CS519

Why L2 (ATM)?

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

  • n virtual circuits than based on

destination IP address

IP wasn’t the only network protocol

slide-50
SLIDE 50

CS519

But there were problems…

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

Scaled poorly Basic idea of MPLS was to elevate

ATM intelligence to L3, while doing switching at L2!

Epsilon business model…

slide-51
SLIDE 51

CS519

MPLS tried to get the best of both worlds

Forwarding:

Label Swapping

Control:

IP Router Software

Control:

IP Router Software

Forwarding:

Longest- match

Control:

ATM Forum Software

Forwarding:

Label Swapping

IP Router MPLS ATM Switch

slide-52
SLIDE 52

CS519

MPLS Operation

  • 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

  • 2. Ingress LER receives packet

and “label”s packets

IP I P

1

  • 3. LSR forwards

packets using label swapping

IP 20 IP 40

  • 4. LER at egress

removes label and delivers packet

IP

slide-53
SLIDE 53

CS519

Original business model failed

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

Finally found it in MPLS-BGP

PPVPNs

slide-54
SLIDE 54

CS519

Basic difficulty with PPVPN: private addresses

slide-55
SLIDE 55

CS519

MPLS Label identifies VPN

slide-56
SLIDE 56

CS519

How BGP/MPLS VPNs work

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

VPN identifier distinguishes overlapping address MPLS tag says how to encapsulate customer’s IP

  • ver MPLS

Within MPLS, the tag both routes the packet and

identifies the customer

Tunnels are typically not secure Customer assumes provider links are physically

secure

slide-57
SLIDE 57

CS519

A few more MPLS details

Headers are stackable Uses variant of RSVP for establishing label

values

Also used these days for Traffic

Engineering

Because can route on source and dest Allows per-customer Service Level

Aggrements

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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

slide-58
SLIDE 58

CS519

Virtual Router based L3 VPNs

VPN Client Network Provider-based Customer-based Provider-based Customer-based Compulsory Voluntary Secure Non-secure L3 L2 ATM Frame Relay LAN Virtual Router BGP/MPLS Secure Non-secure

slide-59
SLIDE 59

CS519

Virtual Router based L3 VPNs

BGP/MPLS gave Cisco a huge

advantage

Because Cisco was the BGP and

MPLS expert

Competitors’ counter argument: No need to couple routing technology

with tunneling technology…they are separate issues

Simpler to use virtual routers

slide-60
SLIDE 60

CS519

What is a virtual router (VR)?

Separate logical router within a single physical

router

Runs its own routing algorithm Has its own FIB (Forwarding Information Base) Basic idea: Incoming tunnel identifies which VR is

intended

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

slide-61
SLIDE 61

CS519

VR approach has discovery issues

No standard way to configure tunnels

and discover which PEs attach to which customers

All manually configured (via

management system)

Various proposals exist

Via BGP, OSPF, DNS, an LDAP

database, and even IP multicast

slide-62
SLIDE 62

CS519

Layer 2 LAN VPNs

VPN Client Network Provider-based Customer-based Provider-based Customer-based Compulsory Voluntary Secure Non-secure L3 L2 ATM Frame Relay LAN Virtual Router BGP/MPLS Secure Non-secure

slide-63
SLIDE 63

CS519

Layer 2 LAN VPNs

Model is for PE to look like LAN to CE CE broadcast over LAN reaches only other CEs of

the same customer

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: Ethernet is more common interface Supports broadcast/multicast

slide-64
SLIDE 64

CS519

What is a VLAN?

A “virtual LAN”: makes a single physical

look like multiple LANs

Virtual LAN and priority capabilities are

provided by 802.1Q/p:

a VLAN tag is provided by 802.1Q to identify

VLAN membership

  • Limited to 4096 VLANs – this is a potential

scalability issue

the VLAN tag has a 3-bit priority field that

allows 8 possible service classes (matches DiffServ’s 8 possible classes)

slide-65
SLIDE 65

CS519

Why VLANs?

LAN scalability: limits broadcast domains (limits broadcast storms); also limits multicast, chatty protocols, etc., reducing

  • verall network traffic.

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

slide-66
SLIDE 66

CS519

More to the point

Ethernet has gotten very fast 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!

slide-67
SLIDE 67

CS519

Typical site configuration (from Cisco)

slide-68
SLIDE 68

CS519

VLAN Header

Original Ethernet Frame Structure

Preamble Destination MAC Address Source MAC Address Length/ Type Data/LLC Frame Check Sequence 64 bits 48 bits 48 bits 16 bits 46 to 1500 Bytes 32 bits 32 bits 16 bits16 bits Preamble Dest MAC Address Source MAC Address 64 bits 48 bits 48 bits Length/ Type Data/LLC Frame Check Sequence 16 bits 46 to 1500 Bytes TPID TCI User Priority (3) CFI (1) VLAN ID (12)

Ethernet with VLAN

slide-69
SLIDE 69

CS519

Meta-Point: Its all about tunnels!

In this lecture we saw a lot of tunnels IPsec, MPLS, GRE, L2TP I said before that the Internet has two

ways to scale:

Hierarchy and caching It has a third way: Tunnels!

slide-70
SLIDE 70

CS519

Tunnels are scalable

Tunnels prevents the “middle” from having

to know details of the “edge”

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 We still don’t have a coherent architecture

for them . . .