Date post: | 29-Dec-2015 |
Category: |
Documents |
Upload: | abel-carson |
View: | 217 times |
Download: | 1 times |
1
ATM and Multi-Protocol Label Switching(MPLS)
By
Behzad Akbari Spring 2011
These slides are based in parts on the slides of J. Kurose (UMASS) and Shivkumar (RPI)
2
Outline
ATM basics IP over ATM MPLS basics MPLS VPN MPLS traffic engineering
3
Asynchronous Transfer Mode: ATM 1990’s/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
4
ATM architecture
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
physical
ATM
AAL
physical
ATM
AAL
physical
ATM
physical
ATM
end system end systemswitch switch
5
ATM: network or link layer?Vision: end-to-end transport:
“ATM from desktop to desktop” ATM is a network
technology
Reality: used to connect IP backbone routers “IP over ATM” ATM as switched link
layer, connecting IP routers
ATMnetwork
IPnetwork
6
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
physical
ATM
AAL
physical
ATM
AAL
physical
ATM
physical
ATM
end system end systemswitch switch
7
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)
AAL PDU
ATM cell
User data
8
ATM LayerService: transport cells across ATM network analogous to IP network layer very different services than IP network layer
NetworkArchitecture
Internet
ATM
ATM
ATM
ATM
ServiceModel
best effort
CBR
VBR
ABR
UBR
Bandwidth
none
constantrateguaranteedrateguaranteed minimumnone
Loss
no
yes
yes
no
no
Order
no
yes
yes
yes
yes
Timing
no
yes
yes
no
no
Congestionfeedback
no (inferredvia loss)nocongestionnocongestionyes
no
Guarantees ?
9
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
10
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
11
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
12
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
13
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
14
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)
15
IP-Over-ATMClassic IP only 3 “networks” (e.g., LAN segments) MAC (802.3) and IP addresses
IP over ATM replace “network”
(e.g., LAN segment) with ATM network
ATM addresses, IP addresses
ATMnetwork
EthernetLANs
EthernetLANs
16
IP-Over-ATM
AALATMphyphy
Eth
IP
ATMphy
ATMphy
apptransport
IPAALATMphy
apptransport
IPEthphy
17
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
18
IP-Over-ATM
Issues: IP datagrams into
ATM AAL5 PDUs from IP addresses
to ATM addresses just like IP
addresses to 802.3 MAC addresses!
ATMnetwork
EthernetLANs
19
Re-examining Basics: Routing vs Switching
20
IP Routing vs IP Switching
21
MPLS: Best of Both WorldsPACKET
ROUTINGCIRCUITSWITCHING
MPLS+IP
IP ATM
HYBRID
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!
TDM
22
History: Ipsilon’s IP Switching: Concept
Hybrid: IP routing (control plane) + ATM switching (data plane)
23
Ipsilon’s IP SwitchingATM VCs setup when new IP “flows” seen, I.e., “data-driven” VC setup
24
Issues with Ipsilon’s IP switching
25
Tag Switching
Key difference: tags can be setup in the background using IP routing protocols (I.e. control-driven VC setup)
26
Multi-Protocol Label Switching (MPLS)
27
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
28
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
29
IP Regular Destination Based Forwarding
0
171.69Packets Forwarded Based on IP Address
Data
Address
Prefix128.89128.89
171.69
1
1
I/F
…
Address
Prefix128.89128.89
171.69
0
1
…
01
I/F
128.890
1
128.89.25.4 Data
Address
Prefix128.89128.89 0
… …
I/F
Data Data128.89.25.4128.89.25.4128.89.25.4128.89.25.4
128.89.25.4128.89.25.4
30
MPLS Example: Routing Information
128.89
1
01
0
Routing Updates (OSPF, EIGRP, …)
You Can Reach 128.89 and 171.69 Thru Me
You Can Reach 171.69 Thru Me
You Can Reach 171.69 Thru Me
You Can Reach 128.89 Thru Me
You Can Reach 128.89 Thru Me
In Label
Address
Prefix128.89
171.69
1
1
OutI’face
OutLabel
In Label
Address
Prefix128.89
171.69
0
1
OutI’face
OutLabel
In Label
Address
Prefix128.89 0
OutI’face
OutLabel
… … … … … …
171.69
31
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.
32
MPLS Example: Assigning Labels
128.89
1
01
0
Label Distribution Protocol (LDP)
(downstream allocation)
Use Label 4 for 128.89 and Use Label 5 for 171.69
Use Label 4 for 128.89 and Use Label 5 for 171.69
Use Label 7 for 171.69Use Label 7 for 171.69
Use Label 9 for 128.89Use Label 9 for 128.89
In Label
Address
Prefix128.89
171.69
1
1
OutI’face
OutLabel
In Label
Address
Prefix128.89
171.69
0
1
OutI’face
OutLabel
In Label
Address
Prefix128.89 0
OutI’face
OutLabel
-9
… … … … … …… …… … … …
9
7
4
5
4
5
-
-
171.69
33
In Label
Address
Prefix128.89128.89
171.69
1
1
OutI’face
OutLabel
… …… …
4
5
-
-
MPLS Example: Forwarding Packets
Label Switch Forwards Based on Label
In Label
Address
Prefix128.89
171.69
0
1
OutI’face
OutLabel
… …… …
9
7
44
5
In Label
Address
Prefix128.89 0
OutI’face
OutLabel
-9
… …… …
Data 128.89.25.4 Data
128.89.25.4 Data
128.89.25.4 Data
128.89
1
01
0
128.89.25.4128.89.25.4 44
99
34
MPLS Operation1a. Existing routing protocols (e.g. OSPF, IS-IS) establish reachability to destination networks.
1b. Label Distribution Protocol (LDP) establishes label to destination network mappings.
2. Ingress Edge LSR receives packet, performs Layer 3 value-added services, and labels(PUSH) packets.
3. LSR switches packets using label swapping(SWAP) .
4. Edge LSR at egress removes(POP) label and delivers packet.
35
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 VC’s) is not used
36
Placement of “labels”
For Ethernet, the “protocol number used” is 0x8847 for MPLSI.e., the “protocol number” of IP is not used.
Thus, IP never sees the message!
37
Label Header
• Header= 4 bytes, Label = 20 bits.• Can be used over Ethernet, 802.3, or PPP
links• Contains everything needed at forwarding
time
Label = 20 bits EXP = Class of Service, 3 bitsS = Bottom of Stack, 1 bit TTL = Time to Live, 8 bits
0 1 2 30 1 2 30 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 10 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
38
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 LSR’s so that data can traverse the entire path using labels.
39
Traffic Aggregates: Forwarding Equivalence Classes
• 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
Packets are destined for different address prefixes, but can bemapped to common pathPackets are destined for different address prefixes, but can bemapped to common path
IP1
IP2
IP1
IP2
LSRLSRLER LER
LSP
IP1 #L1
IP2 #L1
IP1 #L2
IP2 #L2
IP1 #L3
IP2 #L3
40
Label Switched Path (LSP)
IntfIn
LabelIn
Dest IntfOut
3 0.40 47.1 1
IntfIn
LabelIn
Dest IntfOut
LabelOut
3 0.50 47.1 1 0.40
47.1
47.247.3
1
2
31
2
1
23
3IntfIn
Dest IntfOut
LabelOut
3 47.1 1 0.50
IP 47.1.1.1
IP 47.1.1.1
41
Label Merging
When multiple input streams corresponding to the same FEC exit using the same MPLS label.
Dest NextHop LabelD Port 1 10
Dest NextHop LabelD Port 5 25
InLabel NextHop Label10 Port 3 3025 Port 3 30
R1
R2
R3
R4
Netw D
Port 1
Port 3
Port 5
42
Non-Label Merging
Dest NextHop LabelD Port 1 10
Dest NextHop LabelD Port 5 25
InLabel NextHop Label10 Port 3 525 Port 3 8
R1
R2
R3
R4
Netw D
Port 1
Port 3
Port 5
Each source-destination pair has its own label at each LSR router.
43
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
R1
R2 R4
Netw D
44
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.
45
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
46
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
47
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
48
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.
49
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 LSR’s can execute ANY Internet
protocol based on IP (e.g., OSPF, RIP, etc) and forward IP datagrams
50
End-to-end VC’s 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
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
#216
#14
#462
ER-LSP follows route that source chooses. In other words, the control message to establish the LSP (label request) is source routed.
#972
#14 #972
A
B
C
Route={A,B,C}
Explicitly Routed (ER-) LSP
53
IntfIn
LabelIn
Dest IntfOut
3 0.40 47.1 1
IntfIn
LabelIn
Dest IntfOut
LabelOut
3 0.50 47.1 1 0.40
47.1
47.247.3
1
23
1
2
1
23
3
IntfIn
Dest IntfOut
LabelOut
3 47.1.1 2 1.333 47.1 1 0.50
IP 47.1.1.1
IP 47.1.1.1
Explicitly Routed (ER-) LSP Contd
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 VPN’s with MPLS. 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
M
K L
C
A BM
K L
57
Tunneling
IP Tunnel Virtual point-to-point link between an arbitrarily
connected pair of nodes
Network 1
Network 1
Network 2
Network 2InternetworkInternetwork
R1 R2
IP Tunnel
IP Dest = 2.xIP Payload
IP Dest = 10.0.0.1
10.0.0.1
IP Dest = 2.xIP Payload
IP Dest = 2.xIP 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
Disadvantages Increases packet size Processing time needed to encapsulate and decapsulate
packets Management at tunnel-aware routers
59
Virtual Private Networks with MPLS 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 usual5. The tail router removes the tunnel label, finds the
demultiplexing label, and identifies the VC6. 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” VPN’s
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