40
MPLS: A Packet forwarding techno logy for the next generation Inte rnet Internet routing primer and cutting edge technology in only 2+ hours Yoichi Shinoda Japan Advanced Institute of Science and Technology

Yoichi Shinoda Japan Advanced Institute of Science and Technology

  • Upload
    duke

  • View
    43

  • Download
    0

Embed Size (px)

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

Page 1: Yoichi Shinoda Japan Advanced Institute of Science and Technology

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

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

Layering in networking software

Page 4: Yoichi Shinoda Japan Advanced Institute of Science and Technology

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

“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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.