Yoichi Shinoda Japan Advanced Institute of Science and Technology

Preview:

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 Presentation

Citation preview

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.

Recommended