PPT:PPP,ATM,MPLS
Download
Report
Transcript PPT:PPP,ATM,MPLS
PPP, ATM, MPLS
EECS 489 Computer Networks
http://www.eecs.umich.edu/courses/eecs489/w07
Z. Morley Mao
Monday March 12, 2007
Acknowledgement: Some slides taken from Kurose&Ross
More on Switches
cut-through switching: frame forwarded
from input to output port without first
collecting entire frame
slight reduction in latency
combinations of shared/dedicated,
10/100/1000 Mbps interfaces
Institutional network
to external
network
mail server
web server
router
switch
IP subnet
hub
hub
hub
Switches vs. Routers
both store-and-forward devices
routers: network layer devices (examine network layer
headers)
switches are link layer devices
routers maintain routing tables, implement routing
algorithms
switches maintain switch tables, implement
filtering, learning algorithms
Summary comparison
hubs
routers
switches
traffic
isolation
no
yes
yes
plug & play
yes
no
yes
optimal
routing
cut
through
no
yes
no
yes
no
yes
Point to Point Data Link Control
one sender, one receiver, one link: easier than
broadcast link:
no Media Access Control
no need for explicit MAC addressing
e.g., dialup link, ISDN line
popular point-to-point DLC protocols:
PPP (point-to-point protocol)
HDLC: High level data link control (Data link
used to be considered “high layer” in protocol
stack!
PPP Design Requirements [RFC 1557]
packet framing: encapsulation of network-layer
datagram in data link frame
carry network layer data of any network layer
protocol (not just IP) at same time
ability to demultiplex upwards
bit transparency: must carry any bit pattern in the
data field
error detection (no correction)
connection liveness: detect, signal link failure to
network layer
network layer address negotiation: endpoint can
learn/configure each other’s network address
PPP non-requirements
no error correction/recovery
no flow control
out of order delivery OK
no need to support multipoint links (e.g., polling)
Error recovery, flow control, data re-ordering
all relegated to higher layers!
PPP Data Frame
Flag: delimiter (framing)
Address: does nothing (only one option)
Control: does nothing; in the future possible
multiple control fields
Protocol: upper layer protocol to which frame
delivered (eg, PPP-LCP, IP, IPCP, etc)
PPP Data Frame
info: upper layer data being carried
check: cyclic redundancy check for error
detection
Byte Stuffing
“data transparency” requirement: data field must
be allowed to include flag pattern <01111110>
Q: is received <01111110> data or flag?
Sender: adds (“stuffs”) extra < 01111110> byte
after each < 01111110> data byte
Receiver:
two 01111110 bytes in a row: discard first byte,
continue data reception
single 01111110: flag byte
Byte Stuffing
flag byte
pattern
in data
to send
flag byte pattern plus
stuffed byte in
transmitted data
PPP Data Control Protocol
Before exchanging networklayer data, data link peers
must
configure PPP link (max.
frame length,
authentication)
learn/configure network
layer information
for IP: carry IP Control
Protocol (IPCP) msgs
(protocol field: 8021) to
configure/learn IP
address
Virtualization of networks
Virtualization of resources: a powerful abstraction in
systems engineering:
computing examples: virtual memory, virtual
devices
Virtual machines: e.g., java
IBM VM os from 1960’s/70’s
layering of abstractions: don’t sweat the details of
the lower layer, only deal with lower layers
abstractly
The Internet: virtualizing networks
1974: multiple unconnected
nets
ARPAnet
data-over-cable
networks
packet satellite network (Aloha)
packet radio network
ARPAnet
"A Protocol for Packet Network Intercommunication",
V. Cerf, R. Kahn, IEEE Transactions on Communications,
May, 1974, pp. 637-648.
… differing in:
addressing
conventions
packet formats
error recovery
routing
satellite net
The Internet: virtualizing networks
Internetwork layer (IP):
addressing: internetwork
appears as a single, uniform
entity, despite underlying local
network heterogeneity
network of networks
Gateway:
“embed internetwork packets in
local packet format or extract
them”
route (at internetwork level) to
next gateway
gateway
ARPAnet
satellite net
Cerf & Kahn’s Internetwork Architecture
What is virtualized?
two layers of addressing: internetwork and local
network
new layer (IP) makes everything homogeneous at
internetwork layer
underlying local network technology
cable
satellite
56K telephone modem
today: ATM, MPLS
… “invisible” at internetwork layer. Looks like a link
layer technology to IP!
ATM and MPLS
ATM, MPLS separate networks in their own
right
different service models, addressing, routing
from Internet
viewed by Internet as logical link connecting
IP routers
just like dialup link is really part of separate
network (telephone network)
ATM, MPSL: of technical interest in their
own right
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
ATM architecture
adaptation layer: only at edge of ATM network
data segmentation/reassembly
roughly analogous to Internet transport layer
ATM layer: “network” layer
cell switching, routing
physical layer
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
IP
network
ATM
network
Multiprotocol label switching (MPLS)
initial goal: speed up IP forwarding by using fixed
length label (instead of IP address) to do
forwarding
borrowing ideas from Virtual Circuit (VC) approach
but IP datagram still keeps IP address!
PPP or Ethernet
header
MPLS header
label
20
IP header
Exp S TTL
3
1
5
remainder of link-layer frame
MPLS capable routers
a.k.a. label-switched router
forwards packets to outgoing interface based
only on label value (don’t inspect IP address)
MPLS forwarding table distinct from IP forwarding
tables
signaling protocol needed to set up forwarding
RSVP-TE
forwarding possible along paths that IP alone would
not allow (e.g., source-specific routing) !!
use MPLS for traffic engineering
must co-exist with IP-only routers
MPLS forwarding tables
in
label
out
label dest
10
12
8
out
interface
A
D
A
0
0
1
in
label
out
label dest
out
interface
10
6
A
1
12
9
D
0
R6
0
0
D
1
1
R3
R4
R5
0
0
R2
in
label
8
out
label dest
6
A
out
interface
0
in
label
6
outR1
label dest
-
A
A
out
interface
0
Chapter 5: Summary
principles behind data link layer services:
error detection, correction
sharing a broadcast channel: multiple access
link layer addressing
instantiation and implementation of various link
layer technologies
Ethernet
switched LANS
PPP
virtualized networks as a link layer: ATM, MPLS
Outline
Circuit switching
Packet switching vs. circuit switching
Virtual circuits
MPLS
Labels and label-switching
Forwarding Equivalence Classes
Label distribution
MPLS applications
Feedback forms
Fill out during last 20 minutes
Multi-Protocol Label Switching
Multi-Protocol Label Switching
Multi-Protocol
Encapsulate a data packet
• Could be IP, or some other protocol (e.g., IPX)
Put an MPLS header in front of the packet
• Actually, can even build a stack of labels…
Label Switching
MPLS header includes a label
Label switching between MPLS-capable routers
MPLS header
IP packet
Pushing, Swapping, and Popping
Pushing: add the initial “in” label
Swapping: map “in” label to “out” label
Popping: remove the “out” label
Pushing
Popping
Swapping
IP
IP
A
IP
B
C
R2
R1
IP edge
IP
R4
R3
MPLS core
D
Forwarding Equivalence Class (FEC)
Rule for grouping packets
Packets that should be treated the same way
Identified just once, at the edge of the network
Example FECs
Destination prefix
• Longest-prefix match in forwarding table at entry point
• Useful for conventional destination-based forwarding
Src/dest address, src/dest port, and protocol
• Five-tuple match at entry point
• Useful for fine-grain control over the traffic
Sent by a particular customer site
• Incoming interface at entry point
• Useful for virtual private networks
A label is just a locally-significant identifier for a FEC
Label Distribution Protocol
Distributing labels
Learning the mapping from FEC to label
Told by the downstream router
Example: destination-based forwarding
I’m using
I’m using
Pick in-label
labelIn:
43 Link:
for Outlabel 10
for
10
for
43:
to
R4:
10
12.1.1.0/24
12.1.1.0/24
12.1.1.0/24
Map destinations in
12.1.1.0/24 to out-label
43 and link to R2
R2
12.1.1.0/24
R1
R4
R3
Supporting Explicitly-Routed Paths
Explicitly routing from ingress to egress
Set an explicit path (e.g., based on load)
Perhaps reserve resources along the path
Extend a protocol for resource reservation
Start with ReSource Reservation Protocol (RSVP)
• Used for reserving resources along an IP path
Extensions for label distribution & explicit routing
Extend a protocol for distributing labels
Start with Label Distribution Protocol (LDP)
Extensions for explicit routing & reservation
Two competing proposed standards
Applications of MPLS
TE With Constraint-Based Routing
Path calculation
Constrained shortest-path first
Compute shortest path based on weights
• But, exclude paths that do not satisfy constraints
• E.g., do not consider links with insufficient bandwidth
Information dissemination
Extend OSPF/IS-IS to carry the extra information
• E.g., link-state attributes for available bandwidth
Path signaling
Establish label-switched path on explicit route
Forwarding: MPLS labels
Surviving Failures: Path Protection
Path protection
Reserve bandwidth on an alternate route
• Protect a label-switched path by having a stand-by
Much better than conventional IP routing
• Precise control over where the traffic will go
• Stand-by path can be chosen to be disjoint
Surviving Failures: Fast Reroute
Ensure fast recovery from a link failure
Protect a link by having a protection sub-path
Much faster recovery than switching paths
Affected router can detect the link failure
… and start redirecting to the protection sub-path
BGP-Free Core
iBGP
eBGP
A
R2
R1
B
C
12.1.1.0/24
R4
R3
D
FEC based on the
destination prefix
Routers R2 and R3 don’t need to speak BGP
VPNs With Private Addresses
10.1.0.0/24
10.1.0.0/24
A
R2
R1
Direct traffic
to orange
Two FECs
R4
R3
B
10.1.0.0/24
C
D
10.1.0.0/24
MPLS tags can differentiate pink VPN from orange VPN.
Status of MPLS
Deployed in practice
BGP-free core
Virtual Private Networks
Traffic engineering
Challenges
Protocol complexity
Configuration complexity
Difficulty of collecting measurement data
Continuing evolution
Standards
Operational practices and tools
Conclusion
MPLS is an overlay
Tunneling on top of the network
• Built on top of an underlying routing algorithm
Flexibility in mapping traffic to paths
• Associating packets with FECs, and then labels
New protocols for creating label-switching tables
• Binding FECs to labels across a path
• Establishing explicit routes
Many open questions
Makes operations easier vs. harder?
Trade-offs in exploiting the flexibility?
Interdomain routing with MPLS?