yoichi shinoda japan advanced institute of science and technology
DESCRIPTION
MPLS: A Packet forwarding technology for the next generation Internet Internet routing primer and cutting edge technology in only 2+ hours. Yoichi Shinoda Japan Advanced Institute of Science and Technology. Lecture Structure. Concept of layering in network software/hardware - PowerPoint PPT PresentationTRANSCRIPT
MPLS: A Packet forwarding technology for the next generation Internet
Internet routing primer andcutting edge technology in only 2+ hours
Yoichi Shinoda
Japan Advanced Institute of Science and Technology
Lecture Structure
• Concept of layering in network software/hardware
• Internet address architecture
• Internet datagram forwarding
• MPLS: a new forwarding technology
• Introduction of the Ayame MPLS project
Layering in networking software
Layering in networking software/hardware
• We will learn:– Meaning of commonly used words such as:
• Layer• Layer Service• Service interface• Protocol
• We will also orient ourselves to the part of the Internet software/hardware hierarchy we will be learning for the rest of this lecture.
Layers in networking software (1) Layers, services and interfaces
Lower layer module
Upper layer module
“Provides” services“Use” Services
Rules when utilizingServices = interface
Layers in networking software (2)Layering : Use simple services provided by a lower layer, build more complex functions and provide them as services to an upper layer.
Layer 1: Physical computer (Bare computer system)
Layer 2: Operating system
Layer 3: System libraries
Layer 4: Window toolkit
Layer 2/3 interface
Layer 3/4 interface
Layer 2 services (Operating system calls)
Layer 3 services (C-runtime library functions)
Layer 1/2 interface Layer 1 services (Inst execution, I/O execution)
Layer 4 services ( Toolkit services )
Window based application
Layers in networking software (3)
A close-up ofa layer N
Proc A
Procedurecall & returnProc B
Proc C
Proc D Proc E
Proc F
Servicecall & return
A close-up ofa layer N indistributedimplementation
Proc A
Proc B
Proc C
Proc D Proc E
Proc F
Servicecall & return
Procedurecall & return
Intra-layer interface= protocol
Layers in networking software (4)
Layer 2
Layer 3
Layer 4
Layer 2
Layer 3
Layer 4
Layer 2 protocol
Layer 3 protocol
Layer 4 protocol
Layer 2/3 interface
Layer 3/4 interface
Layer 2 services
Layer 3 services
Layer 1/2 interface
APP APPAPP protocol
Layer 1 Layer 1Layer 1 protocol
Layer 1 services
Layers in networking software (5) A layering example: OSI reference model
Layer Provided service
7: Application The intended application.
6: Presentation Conversion of data representation.
5: Session Signification of a communication (start and end a communication).
4: Transport End-to-end transmission and receipt of messages and/or data streams with various characteristics.
3: Network End-to-end transmission and receipt of “datagram”s.
2: Datalink Transmission and receipt of datalink “frame”s over a particular media.
1: Physical Transmission and receipt of “bit” stream over a particular media.
Layers in networking software (6) Rough correspondence between the OSI model and TCP/IP protocols/applications
Datalink & Physical 1: Physical
2: Datalink
3: Network
4: Transport
5: Session
6: Presentation
7: Application
IP
TCP
app
ARP/RARPICMP
LCP
IPCP
RoutingProtocols
XDR
NIS/NFS
RPC
UDP
Internet Address Architecture
• We will learn:– What network addresses are.– Structure of Internet addresses.– How the structure influence datagram forwardi
ng.
Network (system) address examples
• Traditional surface addressJapan, Ishikawa, Nomi, Tatsunokuchi, Asahidai, 1-1
• ZIP codes923-1211
• Telephone numbers+81-761-51-1251
• Computer memory addresses– Usually linear, but sometimes divided into smaller units
(pages, segments, …)– Hardware assist for quickly locating a particular memor
y cell from its address.
Network addresses
• Network addresses are used to locate (uniquely identify) communication end-points (hosts) in a network system.
• Address architecture implies network architecture.
• Address space = A set of all possible address values.
• Different layers may have different address space.
Internet address
• Also called as IP address.
• Identifies a “network interface”.
• 32-bit fixed length (4G addressable range).
• Often denoted in dotted-decimal format (Four decimal notation of 8-bit units, concatenated with period as a separator, e.g.: 0x9641f211=150.65.242.17).
Internet address architecture Hierarchical addressing
• An IP address contains “network-ID” and “host-ID” with in the network identified by the “network-ID”.
Host IDNetwork ID
32-bit
Internet address architecture: Hierarchical routing
Network ID = 1
1 2
3
Network ID = 2
4
2
3
Network ID = 3
1 2
5
NetID = 2 HostID = 4
Inter-connecting
network
source
Host ID = 4
Internet address architecture Network classes
• Size of network-ID/host-ID?– Long network-ID and Short host-ID
• Larger number of networks, but smaller capacity of hosts within a network
– Short network-ID and long host-ID• Larger capacity of hosts within a network, but fewer number of net
works.
32-bit
net-ID host-ID
32-bit
net-ID host-ID
Internet address architecture Network classes
0 7-bits 24-bits
1 14-bits 16-bits0
1 21-bits 8-bits1 0
1 28-bits1 1 0
1 28-bits1 1 1
Net ID Host IDA 128 16M
B 16384 65534
C 2M 254
D ( Multicast )
E ( Experimental )
#Nets #Hosts/Net
Network mask
• A bit pattern with:– Bits of ‘1’s for network-ID
– Bits of ‘0’s for host-ID
• Used to extract network-ID from an address.
• Inverted pattern is called a host mask.
Class MSBpattern
Network mask # of ‘1’s
A 0 0xff000000 8
B 10 0xffff0000 16
C 110 0xffffff00 24
Datagram Forwarding in the Internet
• We will learn:– How a datagram destined for a particular addre
ss is forwarded through the Internet.
Datagram forwarding control
addr A
addr B
addr C
addr X
addr Y
addr Z
if#0
if#1
A mapping ofaddr B → (addr Y, if#1)
is required
addr B
if#2
• What is the information requiredfor correct forwarding?
Datagram forwarding with route table
if#0
if#1
if#2
addr B
datagramtable lookup
(key: destIP = addr B)
destIP
destIP nextIP if# (flags)
addr A X 0
addr B Y 1
addr C Z 2
Route table
Matchingentry
Route table entry types (1) --- by source
• Static– An entry is manually entered into the table.
• Dynamic– An entry is learned automatically through routin
g protocols.
• Redirected– An entry is created as a result of redirection by
another router (suggested better route).
Route table entry types (2) -- by route specific-ness
Type # of significant bits for comparison
Description
Network 8, 16 or 24
(# of 1’s in the network mask for this network )
Route to a network
Host 32
(full IP address, match only with one search key)
Route to a host
Default 0
(match with any search key)
Selected when no other entry match
Specific-ness of routes
X
Y
ZB
Entire Internet
Network WNetwork V
A
dest next B’s visibility from A
1 default X Member of the entire Internet
2 W Y Member of the network W
3 B Z Specific host
“Longest 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.
Simple 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);
}
Simple lookup algorithm (2)
// Single linear search
// Entries must be sorted in descending order of significance
// Entries are accompanied with comparison mask:
// Host route: all 1’s
// Network route: netmask(destIP)
// Default route: all 0’s
routeTableEntry lookup(key) {
routeTableEntry e;
foreach e in table
if (e.destIP == (key & e.cmpmask)) return(e);
}
Other factors in routing and forwarding
• Subnets– Sub-divide a network’s host-ID part into set of fixed siz
e 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 VLSM’s beyond network-ID bounda
ry to form larger a network.
Requirements for the Next Generation Internet forwarding
• Characteristics for QoS support– Low latency: Low forwarding overhead, regardl
ess of route table size (may vary from 1 to 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).
Requirements for the Next Generation Internet forwarding
• Multi-protocol capability to allow different protocols to pass through under the control of IP.
• You name it.
Current 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 expensiv
e.
Switched 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 switching functions.
– Layer 2.5 (switched network layer)• Route datagrams using simple “label”s.• Use layer 2 (datalink layer) function for actual trans
mission.
– Layer 2 (datalink layer)• Send and receive datalink frames.
Label switching framework
Label Mapping Table
5
4
Out-i/f
Out-label
4 2 1
5 1 2
i/f #1
i/f #2
X
Y
X
Y
X
Y
destIP Out-i/f
Out-label
Net(Y) 1 4
Net(X) 1 5
Dest-to-Label Mapping Table
IngressLSR
destIP
i/f #1
EgressLSR
2X
1Y
X
Y
Label switched network
The MPLS advantages
• Provides QoS support– Fast, consistent forwarding.
• Provides traffic engineering support– Different routes can be assigned to flows at ingre
ss routers.
• Provides multi-protocol support– Different protocols are only distinguished at ingre
ss and egress routers.– IPv4, IPv6– 802.3 (Ethernet), VLAN– IEEE1394(DV)
The Ayame project• AYAME
– MPLS core/edge LSR
– Software router (currently)
– 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, Zebo
s, Unispere
• http://www.ayame.org
The Ayame MPLS stack
(RSVPd)
AYAMEd
Ethernet ATM IP tunnel
TCP/IP stack
MPLS
NetBSD kernel
CR-LDPdLDPd
L3 routing(zebra)
bgpd ospfd
userland
Policy Network entities(COPS, etc..)
(Label allocation, Filter/flow spec insertion)
Moonbear/Ayame collaboration
• Moonbear 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
Ayame 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 e
nd-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.
Future Ayame related projects
• Star-BED and Ayame– Star-BED is the 500 physical node (5000 VM-si
mulated node) 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 Star-BED
• MPS and Ayame– Ayame is planned to be used as software devel
opment platform for wave-length () based DWDM switching.