Sunteți pe pagina 1din 68

ATM and Multi-Protocol Label

Switching
(MPLS)

By
Behzad Akbari
Fall 2008

These slides are based in parts on the slides of J. Kurose (UMASS) and Shivkumar (RPI)

1
Outline

ATM basics
IP over ATM
MPLS basics
MPLS VPN
MPLS traffic engineering

2
Asynchronous Transfer Mode:
ATM
1990s/00 standard for high-speed (155Mbps to
622 Mbps and higher) Broadband Integrated
Service Digital Network architecture
Goal: integrated, end-end transport of carry voice,
video, data
meeting timing/QoS requirements of voice,

video (versus Internet best-effort model)


next generation telephony: technical roots in

telephone world
packet-switching (fixed length packets, called

cells) using virtual circuits


3
ATM architecture
AAL AAL

ATM ATM ATM ATM

physical physical physical physical

end system switch switch end system


adaptation layer: only at edge of ATM network
data segmentation/reassembly

roughly analagous to Internet transport layer

ATM layer: network layer


cell switching, routing

physical layer

4
ATM: network or link layer?
Vision: end-to-end transport:
ATM from desktop to IP
desktop network
ATM is a network ATM
network
technology
Reality: used to connect IP
backbone routers
IP over ATM

ATM as switched link

layer, connecting IP
routers

5
ATM Adaptation Layer (AAL)
ATM Adaptation Layer (AAL): adapts upper
layers (IP or native ATM applications) to ATM layer
below
AAL present only in end systems, not in switches
AAL layer segment (header/trailer fields, data)
fragmented across multiple ATM cells
analogy: TCP segment in many IP packets

AAL AAL

ATM ATM ATM ATM

physical physical physical physical


end system switch switch end system
6
ATM Adaptation Layer (AAL)
[more]
Different versions of AAL layers, depending on ATM
service class:
AAL1: for CBR (Constant Bit Rate) services, e.g. circuit emulation
AAL2: for VBR (Variable Bit Rate) services, e.g., MPEG video
AAL5: for data (eg, IP datagrams)

User data

AAL PDU

ATM cell

7
ATM Layer
Service: transport cells across ATM network
analogous to IP network layer

very different services than IP network layer


Guarantees ?
Network Service Congestion
Architecture Model Bandwidth Loss Order Timing feedback

Internet best effort none no no no no (inferred


via loss)
ATM CBR constant yes yes yes no
rate congestion
ATM VBR guaranteed yes yes yes no
rate congestion
ATM ABR guaranteed no yes no yes
minimum
ATM UBR none no yes no no
8
ATM Layer: Virtual Circuits
VC transport: cells carried on VC from source to dest
call setup, teardown for each call before data can flow
each packet carries VC identifier (not destination ID)
every switch on source-dest path maintain state for each
passing connection
link,switch resources (bandwidth, buffers) may be allocated to
VC: to get circuit-like perf.
Permanent VCs (PVCs)
long lasting connections

typically: permanent route between to IP routers

Switched VCs (SVC):


dynamically set up on per-call basis

9
ATM VCs
Advantages of ATM VC approach:
QoS performance guarantee for connection

mapped to VC (bandwidth, delay, delay jitter)


Drawbacks of ATM VC approach:
Inefficient support of datagram traffic

one PVC between each source/dest pair) does

not scale (N*2 connections needed)


SVC introduces call setup latency, processing

overhead for short lived connections

10
ATM Layer: ATM cell
5-byte ATM cell header
48-byte payload
Why?: small payload -> short cell-creation

delay for digitized voice


halfway between 32 and 64 (compromise!)

Cell header

Cell format

11
ATM cell header
VCI: virtual channel ID
will change from link to link thru net

PT: Payload type (e.g. RM cell versus data cell)


CLP: Cell Loss Priority bit
CLP = 1 implies low priority cell, can be

discarded if congestion
HEC: Header Error Checksum
cyclic redundancy check

12
ATM Physical Layer (more)

Two pieces (sublayers) of physical layer:


Transmission Convergence Sublayer (TCS): adapts
ATM layer above to PMD sublayer below
Physical Medium Dependent: depends on physical

medium being used

TCS Functions:
Header checksum generation: 8 bits CRC

Cell delineation

With unstructured PMD sublayer, transmission

of idle cells when no data cells to send


13
ATM Physical Layer

Physical Medium Dependent (PMD) sublayer


SONET/SDH: transmission frame structure (like a
container carrying bits);
bit synchronization;

bandwidth partitions (TDM);

several speeds: OC3 = 155.52 Mbps; OC12 = 622.08


Mbps; OC48 = 2.45 Gbps, OC192 = 9.6 Gbps
TI/T3: transmission frame structure (old telephone
hierarchy): 1.5 Mbps/ 45 Mbps
unstructured: just cells (busy/idle)

14
IP-Over-ATM
IP over ATM
Classic IP only
3 networks (e.g., LAN segments)

MAC (802.3) and IP addresses


replace network

(e.g., LAN segment)


with ATM network
ATM addresses, IP

addresses
ATM
network

Ethernet Ethernet
LANs LANs
15
IP-Over-ATM
app
app transport
transport IP IP
IP AAL AAL
Eth Eth ATM
ATM
phy phy phy ATM phy
phy
ATM
phy

16
Datagram Journey in IP-over-ATM
Network
at Source Host:
IP layer maps between IP, ATM dest address (using ARP)
passes datagram to AAL5
AAL5 encapsulates data, segments cells, passes to ATM layer
ATM network: moves cell along VC to destination
at Destination Host:
AAL5 reassembles cells into original datagram

if CRC OK, datagram is passed to IP

17
IP-Over-ATM

Issues: ATM
IP datagrams into network

ATM AAL5 PDUs


from IP addresses to

ATM addresses
just like IP

addresses to 802.3 Ethernet


MAC addresses! LANs

18
Re-examining Basics: Routing vs
Switching

19
IP Routing vs IP Switching

20
MPLS: Best of Both
PACKET
ROUTING Worlds HYBRID CIRCUIT
SWITCHING

IP MPLS ATM TDM


+IP
Caveat: one cares about combining the best of both worlds
only for large ISP networks that need both features!
Note: the hybrid also happens to be a solution that
bypasses IP-over-ATM mapping woes! 21
History: Ipsilons IP Switching:
Concept

Hybrid: IP routing (control plane) +


ATM switching (data plane)
22
Ipsilons IP Switching
ATM VCs setup when new IP flows seen, I.e.,
data-driven VC setup

23
Issues with Ipsilons IP
switching

24
Tag Switching

Key difference: tags can be setup in the background


using IP routing protocols (I.e. control-driven VC setup)
25
Multi-Protocol Label Switching (MPLS)

26
Background
It was meant to improve routing performance on the
Internet
Routing is difficult using CIDR (longest prefix matching)
Using the label-swapping paradigm to optimize network
performance
MPLS is similar to virtual circuits
Only a fixed-sized label is used (like a VCID) with local
scope
It is very datagram oriented though
It uses IP addressing and IP routing protocols

27
Goals of MPLS
To enable IP capability on devices that cannot handle IP traffic
Making cell switches behave as routers

Increased performance
Using the label-swapping paradigm to optimize network

performance
Forward packets along explicit routes (pre-calculated routes not
used in regular routing)
MPLS also permits explicit backbone routing, which specifies in

advance the hops that a packet will take across the network.
This should allow more deterministic, or predictable, performance

that can be used to guarantee QoS


To support certain virtual private network services

28
IP Regular Destination Based
Forwarding
Address I/F Address I/F Address I/F
Prefix Prefix Prefix
128.89 1 128.89 0 128.89 0
171.69 1 171.69 1

0 128.89
0
1
128.89.25.4 Data
0 128.89.25.4 Data
1

128.89.25.4 Data 128.89.25.4 Data

Packets Forwarded 171.69


Based on IP Address
29
MPLS Example: Routing
Information
In Address Out Out In Address Out Out In Address Out Out
Label Prefix Iface Label Label Prefix Iface Label Label Prefix Iface Label

128.89 1 128.89 0 128.89 0


171.69 1 171.69 1

0 128.89
0
1
You Can Reach 128.89 Thru
Me
You Can Reach 128.89 and 1
171.69 Thru Me

Routing Updates You Can Reach 171.69 Thru 171.69


(OSPF, EIGRP, ) Me
30
Labels for Destination-Based
Forwarding
A label is allocated for each prefix in its table
The label is chosen locally
Think of them as indices into the routing table

Router advertises this to its neighbors


label distribution protocol (LDP)

Packets addressed to the prefix should, for


efficiency, be tagged with the label.

The label of an incoming packet is swapped


before being forwarded to the next router.
31
MPLS Example: Assigning
Labels
In Address Out Out In Address Out Out In Address Out Out
Label Prefix Iface Label Label Prefix Iface Label Label Prefix Iface Label

- 128.89 1 4 4 128.89 0 9 9 128.89 0 -


- 171.69 1 5 5 171.69 1 7

0 128.89
0
1

Use Label 9 for 128.89


Use Label 4 for 128.89 and 1
Use Label 5 for 171.69

Label Distribution 171.69


Protocol (LDP) Use Label 7 for 171.69
(downstream allocation)
32
MPLS Example: Forwarding
Packets
In Address Out Out In Address Out Out In Address Out Out
Label Prefix Iface Label Label Prefix Iface Label Label Prefix Iface Label

- 128.89 1 4 4 128.89 0 9 9 128.89 0 -


- 171.69 1 5 5 171.69 1 7

0 128.89
0
1
128.89.25.4 Data

9 128.89.25.4 Data
1

128.89.25.4 Data 4 128.89.25.4 Data

Label Switch Forwards


Based on Label
33
MPLS Operation
1a. Existing routing protocols (e.g. OSPF, IS-IS) 4. Edge LSR at egress
establish reachability to destination networks. removes(POP) label
and delivers packet.
1b. Label Distribution Protocol (LDP)
establishes label to destination
network mappings.

2. Ingress Edge LSR receives packet,


performs Layer 3 value-added 3. LSR switches packets using
services, and labels(PUSH) packets. label swapping(SWAP) .
34
Remarks
Rather than longest prefix-matching we use label
matching
Labels can be very efficient, simply an index into the
routing table

Regular IP routing is still used


E.g., we could use OSPF to determine the routes
Then we use labels for efficiency in per-hop routing

Note that a Setup phase (like in VCs) is not used


35
Placement of labels

For Ethernet, the protocol number used is 0x8847 for MPLS


I.e., the protocol number of IP is not used.

Thus, IP never sees the message!

36
Label Header

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

Label = 20 bits EXP = Class of Service, 3 bits


S = Bottom of Stack, 1 bit TTL = Time to Live, 8 bits

Header= 4 bytes, Label = 20 bits.


Can be used over Ethernet, 802.3, or PPP
links
Contains everything needed at forwarding
time
37
Some Definitions
Forwarding Equivalence Class (FEC): a group of IP
packets which are forwarded in the same manner
(e.g., over the same path, with the same forwarding
treatment)

Labeled Switched Router (LSR): A router capable of


supporting MPLS labels.

Labeled Switched Path: a sequence of LSRs so that


data can traverse the entire path using labels.

38
Traffic Aggregates: Forwarding
Equivalence Classes
LSR LSR
LER LER

LSP

IP1 IP1
IP1 #L1 IP1 #L2 IP1 #L3
IP2 #L1 IP2 #L2 IP2 #L3
IP2 IP2

Packets are destined for different address prefixes, but can be


mapped to common path

FEC = A subset of packets that are all treated the same way by a router
The concept of FECs provides for a great deal of flexibility and scalability
In conventional routing, a packet is assigned to a FEC at each hop (i.e. L3 look-up),
in MPLS it is only done once at the network ingress

39
Label Switched Path
(LSP)
Intf Label Dest Intf Label Intf Label Dest Intf
In In Out Out In In Out
3 0.50 47.1 1 0.40 3 0.40 47.1 1

Intf Dest Intf Label IP 47.1.1.1


1 47.1
3 3
In Out Out
3 47.1 1 0.50 2
1
1 2
47.3 3 47.2
2
IP 47.1.1.1

40
Label Merging
When multiple input streams corresponding to the
same FEC exit using the same MPLS label.
InLabel NextHop Label
10 Port 3 30
25 Port 3 30
Netw D
Dest NextHop Label
D Port 1 10 R2 R4
Port 3
R1 Port 1

Port 5

Dest NextHop Label R3


D Port 5 25

41
Non-Label Merging
Each source-destination pair has its own label at
each LSR router.

InLabel NextHop Label


10 Port 3 5
25 Port 3 8
Netw D
Dest NextHop Label
D Port 1 10 R2 R4
Port 3
R1 Port 1

Port 5

Dest NextHop Label R3


D Port 5 25

42
Pushing-Requesting Labels
R2 can push a label to R1, indicating which label
to use to reach D
R1 can request a label from R2 to be used to
reach D.
If using non-merging, usually R1 requests a label
from R2
Netw D

R2 R4

R1

43
ATM

Most importantly, we can use ATM switches


for IP

We can turn ATM Cell switches into label


switching routers usually only by changing
the software and not the hardware of the
switch.

44
IP over ATM (Before MPLS)
We had every router with a VC over an ATM network to every other router
Known as an overlay network
Whole ATM network looked like a single subnet to the IP Routers
ATM switches are not aware that the payload is an IP packet

45
IP disassembly into ATM
cells
IP becomes an application to the ATM layer.
IP packets have to be broken into small 48-byte pieces, and placed
into ATM Cells
Cells are sent over the ATM circuit (e.g. from R1 to R6), the
switches only see ATM Cells, not IP packet
At R6, the cells are regrouped and the IP packet restored

46
ATM switches as LSRs (using
MPLS)
ATM switches are now peers of MPLS routers
No longer viewed as a single subnet, each link is now a
subnet

47
Advantages of MPLS vs
overlay
Each MPLS router has fewer adjacencies (i.e. neighbors)
This reduces the OSPF traffic to the router significantly
In OSPF you receive the topology of the entire network via each
of your neighbors.

Each router now has a view of the entire topology


Not possible in overlay networks (ATM network black box)
Routers have better control of paths in case of link failures
In overlay networks, the ATM switches would do the rerouting

ATM switches may still support native ATM if desired.

48
How to route IP packets?
Can we send IP messages to our neighbors?
We can use a special VCID (say 0) to send IP
messages to our neighbor.
Each node has a VCID 0 with each of its neighbors (a
single hop VCID
Thus, to send an IP message to a neighbor
Disassemble the IP packet into ATM Cells
Send them on VCID 0 of the link of the desired neighbor
The neighbor reassembles the IP packet
Since we can send an IP message to any
neighbor
This implies ATM LSRs can execute ANY Internet
protocol based on IP (e.g., OSPF, RIP, etc) and forward
IP datagrams

49
End-to-end VCs
Disassembly/reassembly at each hop is wasteful
It is better to establish an e-2-e VC for each
source/destination pair, e.g., from R1 to R6
From OSPF (or other mechanism), each router knows
which other router is ATM or regular router
R1 requests a label from LSR1 for destination R6
LSR1 requests a label from LSR3 for destination R6
LSR3 requests a label from R6

50
GMPLS

Generalized MPLS

Used in optical networks


Turn an optical switch (e.g. SONET) into a LSR

Give the IP routers a better view/control of


the optical network

51
Explicit Routing
Similar to source routing but done by a router
Fish network due to its shape
R1 -> R7 : R1 R3 R6 R7
R2 -> R7 : R2 R3 R4 R5 R7
Perhaps we want to balance the load somehow
Cannot be done with regular IP
IP routing does not look at the source of the message

52
Explicitly Routed (ER-) LSP

Route=
{A,B,C}
#14 #972
#216
B
#14
A C
#972

#462

ER-LSP follows route that source chooses. In other words, the


control message to establish the LSP (label request) is source
routed.

53
Explicitly Routed (ER-) LSP
Contd
Intf Label Dest Intf Label Intf Label Dest Intf
In In Out Out In In Out
3 0.50 47.1 1 0.40 3 0.40 47.1 1
Intf Dest Intf Label
In Out Out IP 47.1.1.1
1 47.1
3 47.1.1 2 1.33 3
3 47.1 1 0.50 3
2
1
1 2
47.3 3 47.2
2
IP 47.1.1.1

54
Explicit Route Advantages
Traffic Engineering
You can control how much traffic travels through some
point in the network
This is done by controlling the paths taken by traffic

Fast-rerouting
You can bypass broken links quickly with explicit routing.
No need to wait for a routing protocol (OSPF) to react.
How?
Keep track of two paths, regular path and backup path
If the regular path fails use the backup

55
Virtual Private Networks
We can do VPNs with MPLS.
Let us review VPNs with regular IP first.
Goal
Controlled connectivity
Virtual Private Network
A group of connected networks
Connections may be over multiple networks not belonging
to the group (e.g. over the Internet)
E.g., joining the networks of several branches of a
company into a private internetwork

56
Virtual Private Networks

C
A B

K L
M

C
K L

A B
M

57
Tunneling

IP Tunnel
Virtual point-to-point link between an arbitrarily
connected pair of nodes

Network
Network Network
Network
11 Internetwork
Internetwork 22
R1 R2
IP Tunnel

10.0.0.1
IP Dest = 2.x IP Dest = 10.0.0.1 IP Dest = 2.x
IP Payload IP Dest = 2.x IP Payload
IP Payload

58
Tunneling
Advantages of tunneling
Transparent transmission of packets over heterogeneous
networks
The data carried may not even be IP messages!
Only need to change relevant routers (end points)
Coupled with encryption, gives you a secure private
internetwork.
End-points of tunnels my have features not available in other
Internet routers.
Multicast
Local Addresses
Useful for mobile routing.
Disadvantages
Increases packet size
Processing time needed to encapsulate and decapsulate
packets
Management at tunnel-aware routers

59
Virtual Private Networks

We can do similarly with MPLS


We can connect different sites with an MPLS
tunnel
We can send regular IP traffic through the
tunnel, or any other type of traffic.

60
Layer 2 tunnel
Use MPLS to provide a tunnel between two
LANs (Ethernet, etc)
ATM points
Any data can be wrapped with a label
It need not be IP datagrams
LSR does not look beyond the label

61
Demultiplexing Label

What to do with the packet once it


reaches the other side of the tunnel?

A demultiplexing label needs to be added


to inform the end-point router what to do
with the packet.

62
E.g., Emulate a VC

ATM cells with a specific VCID come in at the


entrance of the tunnel

ATM cells at the end of the tunnel should


have the appropriate VCID for the next switch
after the router.

63
64
Emulate a VC (steps)

1. An ATM cell arrives to the input LSR with VCID 101


2. The head router attaches the demultiplexing label
and identifies the emulated circuit
3. The head router attaches the tunnel label (to reach
the tail router)
4. Routers in the middle forward as usual
5. The tail router removes the tunnel label, finds the
demultiplexing label, and identifies the VC
6. The tail router modifies the VCID to the next ATM
switch value (202) and sends it to the ATM switch.

65
Label Stacks

The previous example has a stack of two


labels

You can have larger stacks of labels in the


header.

In the example
It enables to have a tunnel
And many types of traffic within the tunnel

66
Layer 3 VPNs
The packet being carried is an IP packet
Hence the name layer 3 VPNs

Service provider (see picture next ..)


Has many customers
Each customer has many sites
These sites are linked with tunnels to appear to be one large
Internetwork
Each customer can only reach its own sites
The customer is isolated from the rest of the Internet and from
other customers

67
68

S-ar putea să vă placă și