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?