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
![Page 1: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/1.jpg)
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
![Page 2: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/2.jpg)
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
![Page 3: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/3.jpg)
Layering in networking software
![Page 4: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/4.jpg)
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.
![Page 5: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/5.jpg)
Layers in networking software (1) Layers, services and interfaces
Lower layer module
Upper layer module
“Provides” services“Use” Services
Rules when utilizingServices = interface
![Page 6: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/6.jpg)
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
![Page 7: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/7.jpg)
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
![Page 8: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/8.jpg)
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
![Page 9: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/9.jpg)
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.
![Page 10: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/10.jpg)
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
![Page 11: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/11.jpg)
Internet Address Architecture
• We will learn:– What network addresses are.– Structure of Internet addresses.– How the structure influence datagram forwardi
ng.
![Page 12: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/12.jpg)
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.
![Page 13: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/13.jpg)
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.
![Page 14: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/14.jpg)
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).
![Page 15: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/15.jpg)
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
![Page 16: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/16.jpg)
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
![Page 17: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/17.jpg)
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
![Page 18: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/18.jpg)
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
![Page 19: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/19.jpg)
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
![Page 20: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/20.jpg)
Datagram Forwarding in the Internet
• We will learn:– How a datagram destined for a particular addre
ss is forwarded through the Internet.
![Page 21: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/21.jpg)
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?
![Page 22: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/22.jpg)
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
![Page 23: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/23.jpg)
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).
![Page 24: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/24.jpg)
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
![Page 25: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/25.jpg)
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
![Page 26: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/26.jpg)
“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.
![Page 27: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/27.jpg)
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);
}
![Page 28: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/28.jpg)
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);
}
![Page 29: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/29.jpg)
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.
![Page 30: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/30.jpg)
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).
![Page 31: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/31.jpg)
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.
![Page 32: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/32.jpg)
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.
![Page 33: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/33.jpg)
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.
![Page 34: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/34.jpg)
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
![Page 35: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/35.jpg)
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)
![Page 36: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/36.jpg)
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
![Page 37: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/37.jpg)
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)
![Page 38: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/38.jpg)
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
![Page 39: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/39.jpg)
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.
![Page 40: Yoichi Shinoda Japan Advanced Institute of Science and Technology](https://reader031.vdocuments.us/reader031/viewer/2022013101/56814553550346895db223a6/html5/thumbnails/40.jpg)
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.