Title: MPLS: A Packet forwarding technology for the next generation Internet Internet routing primer and cu
1MPLS A Packet forwarding technology for the
next generation InternetInternet routing primer
andcutting edge technology in only 2 hours
- Yoichi Shinoda
- Center for Information Science
- Japan Advanced Institute of
- Science and Technology
2Lecture Structure
- Internet datagram forwarding
- MPLS a new forwarding technology
- Introduction of the Ayame MPLS project
3Datagram Forwarding in the Internet
- We will learn
- How a datagram destined for a particular address
is forwarded through the Internet.
4Forwarding and Routing
- The two major functions of the Layer 3 (network
layer) function in the Internet are - Forwarding
- A datagram is forwarded to an appropriate
next-hop intermediate node (router). - Routing
- A datagrams is eventually delivered from its
source to destination as a result of repeated
forwarding.
5Forwarding and Routing
S
D
6Datagram forwarding control
- What is the information requiredfor correct
forwarding?
addr A
addr X
if0
router R
addr B
addr B
addr Y
if1
if2
A mapping ofaddr B ? (addr Y, if1)is required
addr C
addr Z
7Datagram forwarding with route table
X
if0
router R
destIP
Y
addr B
if1
datagram
table lookup (key destIP addr B)
Z
if2
Matchingentry
Route table
8Route table entry types (1) --- by source
- Static
- An entry is manually entered into the table.
- Dynamic
- An entry is learned automatically through routing
protocols. - Redirected
- An entry is created as a result of redirection by
another router (suggested better route).
9Route table entry types (2) -- by route
specific-ness
10Specific-ness of routes
Entire Internet
Network W
Network V
Z
B
A
Y
X
11Longest match first rule
- When multiple entries match for an address, then
more specific route (entries with more
significant bits in key field) must be chosen.
12Simple lookup algorithm (1)
- // 3 x linear search
- routeTableEntry lookup(key)
- routeTableEntry e
- // Search host route
- foreach e in table
- if (e.destIP key) return(e)
- // Search network route
- foreach e in table
- if (e.destIP key netmask(destIP)) return(e)
- // Search default route
- foreach e in table
- if (e.destIP 0) return(e)
13Simple lookup algorithm (2)
- // Single linear search
- // Entries must be sorted in descending order
of significance - // Entries are accompanied with comparison
mask - // Host route all 1s
- // Network route netmask(destIP)
- // Default route all 0s
- routeTableEntry lookup(key)
- routeTableEntry e
- foreach e in table
- if (e.destIP (key e.cmpmask)) return(e)
14In the reality Network mask variations
- Subnets
- Sub-divide a networks host-ID part into set of
fixed size subnets. - Introduced for higher utilization of a network.
- Subnets are only recognized in the subnetted
network. - Variable Length Subnet Mask (VLSM)
- Subnetting with variable sized subnets.
- Supernets and Classless Inter-Domain Routing
(CIDR) - Aggregate multiple VLSMs beyond network-ID
boundary to form a larger network.
15In the reality
- Route table size Todays Internet core routers
hold 90K110K route entries.
16Binary Tree based lookup
bit 0
bit 1
Route entryfor8.0.0.0 / 2
bit 2
Rest of the tree (For bits 3 - 31)
17How fast an IP router can be?
- Forwarding capacity of an IP router heavily
depends on the route table lookup speed. - Assume a 1Gbps input date rate.
- Also assume an average packet (datagram) size of
64 bytes (0.5Kbits). - Then packet arrival rate is 2Mpps (500nsec
arrival interval). - Assume 1-bit tree based lookup, with average
search depth of 20 bits. - Then each bit must be examined in 25nsec (almost
impossible).
18MPLS A new forwarding technology
19Requirements for the Next Generation Internet
forwarding (1)
- Characteristics for QoS support
- Low latency Low forwarding overhead, regardless
of route table size (may vary from 1 to tens of
thousands). - Low jitter Consistent forwarding overhead,
regardless of route table size (may vary from 1
to thousands). - Predictable and consistent transit time.
- Ability to distinguish flows or bundle of flows
and route them through different routes (called
traffic engineering).
20Requirements for the Next Generation Internet
forwarding (2)
- Multi-protocol capability to allow different
protocols to pass through the Internet under the
control of IP (the Internet as universal
communication infrastructure). - You name it.
21Current Approach
- Hardware assisted/implemented route lookup and
forwarding engines. - VERY expensive.
- Hard to incorporate new features.
- Distributed parallel forwarding engines.
- Makes expensive routers even more expensive.
22Switched inter-networking approach
- Combines advantages of layer 3 forwarding and
layer 2 switching - Layer 3 (network layer)
- End-to-end reachability.
- Exchange routing information.
- Control Layer 2.5 switching functions.
- Layer 2.5 (label switching layer)
- Route datagrams using simple labels.
- Use layer 2 (datalink layer) function for actual
transmission. - Layer 2 (datalink layer)
- Send and receive datalink frames
23Label Switching Framework
X
Label switched network
2
X
5
X
X
IngressLSR
i/f 1
i/f 1
i/f 2
destIP
EgressLSR
4
Y
Y
Y
1
Y
Dest-to-Label Mapping Table
Label Mapping Table
24A little history on switched internetworking
Policy Routing (VPN, Traffic Engineering)
ATM
l-switching
IPSwitch (Ipsilon)
CIPover ATM
MPLS
GMPLS
CSR (CellSwitchRouter)
TAG Switching
?
non-ATM (Ether, PPP, POS, )
25MPLS advantages (1) - Functionality
- Provides QoS support
- Fast, consistent forwarding.
- Provides traffic engineering support
- Different routes (LSPs) can be assigned to flows
at ingress LSRs. - Provides managable/flexible L1,L2,L3 pipes
(tunnels) - Multi-protocol support (IPv4, IPv6, 802.3
(Ethernet), VLAN, IEEE1394) - Different protocols are only distinguished at
ingress and egress routers. - Versatile/Flexible upper layer routing
26MPLS advantages (2) - Cost Performance
- Low cost of implementation
- Complex control functions are only required at
label distribution phase, and executed once. - Can be implemented and excuted in software with
least impact to performance. - Softwares can easily be updated
- Actual forwarding can be executed with simple
hardware. - Hardware switch for LSR is only L2-switch a
- Ingress LSRs must be intelligent and fast, but
required only at edge of an MPLS network.
27MPLS Network Elements
- LSR Label Switching Router.
- LSP Label Switched Path.
- Ingress-LSR Entry point into an MPLS net.
- Egress-LSR Exit point from an MPLS net.
- Core-LSR ! Ingress ! Egress.
- FEC (Forwarding Equivalence Class)
- LDPs Label distribution protocols.
28FECs and Labels
- FEC (Forwarding Equivalence Class)
- Represents a class of traffic with same
forwarding behavior within a given MPLS system. - Examples
- Protocol
- Destination source
- Service type
- QoS parameters
- Combinations of simple metrics
- Labels are assigned to FECs
29FECs and LSPs
LSPs
Rc
Re
dest
service
ip-X
telnet
ip-X
Rf
Rd
Ri
http
ip-X
any
ip-Y
Rb
ip-Y
Rg
mac-Z
Traffic are examined (classified) for their FEC,
and routed to corresponding LSP
mac-Z
30MPLS Applications
- Hop-by-hop routed LSP
- Direct deployment of MPLS for hop-by-hop routed
traffic. - Explicitly routed LSP (for TE)
- Managed LSP tunnels
- Between BGP border routers
- VPNs
- Multi-path routing
- Fast re-route
- LSP trees as point-multipoint entity
31Label Distribution Example
Net-A
X
2
Lblreq(Net-B)
LSR1
LSR2
Z
Y
Net-B
3
Lblmap(Net-B, 9)
Route table (LSR1)
2
Route table(LSR2)
1
3
Label table (LSR1)
Label table (LSR2)
32Concept of Control / Data Separation
Hop-by-hoprouted path
ControlPlane(e.g. IPv4)
Controlsignalling (LDPs)
Labelinstallation
Data(Forwarding)Plane
LSP
33Multiple Control Planes Single Data Plane
Route Control
Traditional Monolithic Control / Data Architecture
Route Table
Multiple Control / Single Data Plane Architecture
Route Control
Route Control
Route Control
.
- Multi-protocol
- Multi-control within a single protocol
LabelMappingTable
34MPLS Accerelates Media Convergence
voice
call
voice
call
voice
call
UDP
TCP
UDP
TCP
TCP
IP
IP
IP
DL
DL
MPLS
DL
MPLS
A. Call control andvoice transmissionover
traditionalTCP/UDP/IP.
B. Call control setsup an LSP for
voicetransmission overUDP/IP/MPLS.
C. Call control setsup an LSP for directvoice
transmissionover MPLS.
35The AYAME Project
- The AYAME is the open source MPLS stack,
developed at JAIST in corporation / collaboration
with - The WIDE Project (testbed)
- Moon-Bear Project (QoS/CoS support)
- DISTIX Project
- http//www.ayame.org
36What AYAME project provides
- AYAME software
- MPLS core/edge LSR
- Software switch (currently) label distribution
protocol handlers - Publically available
- Support protocols
- LDP, CR-LDP
- Static label allocation(TE)
- RSVP (planed)
- Co-operate with COPS
- Interoperable with
- Cisco, Juniper, Hitachi, Riverstone, Furukawa,
Fujitsu, Zebos, Unispere
37The Ayame MPLS stack structure
Policy Network Entities (COPS, etc..)
bgpd
ospfd
(RSVPd)
L3 routing (zebra)
LabelDistribution
CR-LDPd
LDPd
Label alloc,Filter/flowspecinsertion
AYAMEd
userland
NetBSD kernel
TCP/IP stack
MPLS switch code
ALTQ
Ethernet
ATM
IP tunnel
38Moonbear/Ayame collaboration
- Moon-Bear project
- QoS-enabling implementation based on COPS (Common
Open Policy Service) and DiffServ (Differentiated
Service) frameworks. - Ayame provides actual datagram forwarding
mechanism with QoS support. - http//www.moon-bear.net
39Ayame in DISTIX project
- DISTIX (Distributed Internet eXchange) project
- National project that exploits possibility of
MPLS-based Internet eXchange (IX). - Several dozen participants (router vendors, ISPs
and end-users such as contents providers). - http//www.distix.net (in Japanese)
- Ayame is playing an important role in the
project. - Provides inexpensive solution.
- Quickly modifiable software.
- Ayame testbed used for advance-inter-operability
test.
40Future Ayame related projects
- StarBED and Ayame
- StarBED is the 500 physical node (5000
VM-simulated node) fully programmable Internet
simulator being built next to JAIST, intended for
used as a versatile testbed for network oriented
products. - Ayame is expected to be one of the first and
heavy user of the StarBED - MPlS and Ayame
- Ayame is planned to be used as software
development platform for wave-length(l)based DWDM
switching.
41End of the Show