15-744: computer networking l-4 routers. l -4; 1-24-01© srinivasan seshan, 20012 routers how do...

62
15-744: Computer Networking L-4 Routers

Post on 22-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

15-744: Computer Networking

L-4 Routers

Page 2: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 2

Routers

• How do routers process IP packets• How do you build a router• Assigned reading

• [P+98] A 50 Gb/s IP Router• [D+97] Small Forwarding Tables for Fast

Routing Lookups

Page 3: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 3

Forwarding vs. Routing

• Forwarding: the process of moving packets from input to output• The forwarding table• Information in the packet

• Routing: process by which the forwarding table is built and maintained• One or more routing protocols• Procedures (algorithms) to convert routing info to

forwarding table.

Page 4: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 4

Outline

• Alternative methods for packet forwarding

• IP packet routing

• Variable prefix match

• IP router design

• Routing protocols – distance vector

Page 5: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 5

Techniques for Forwarding Packets

• Source routing• Packet carries path

• Table of virtual circuits• Connection routed through network to setup

state• Packets forwarded using connection state

• Table of global addresses (IP)• Routers keep next hop for destination• Packets carry destination address

Page 6: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 6

Source Routing

• List entire path in packet• Driving directions (north 3 hops, east, etc..)

• Router processing• Examine first step in directions• Strip first step from packet• Forward to step just stripped off

Page 7: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 7

Source Routing Example

Receiver

Packet 3,4,3

Sender

2

34

1

2

34

1

2

34

1

R1

R2

R1

4,3

3

Page 8: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 8

Source Routing

• Advantages• Switches can be very simple and fast

• Disadvantages• Variable (unbounded) header size• Sources must know or discover topology (e.g.,

failures)

• Typical use• Ad-hoc networks (DSR)• Machine room networks (Myrinet)

Page 9: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 9

Virtual Circuits/Tag Switching

• Connection setup phase• Use other means to route setup request • Each router allocates flow ID on local link• Creates mapping of inbound flow ID/port to outbound

flow ID/port• Each packet carries connection ID

• Sent from source with 1st hop connection ID• Router processing

• Lookup flow ID – simple table lookup• Replace flow ID with outgoing flow ID• Forward to output port

Page 10: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 10

Virtual Circuits Examples

Receiver

Packet

1,5 3,7

Sender

2

34

11,7 4,2

2

34

1

2

34

1

2,2 3,6

R1

R2

R1

5 7

2

6

Page 11: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 11

Virtual Circuits

• Advantages• More efficient lookup (simple table lookup)• More flexible (different path for each flow)• Can reserve bandwidth at connection setup• Easier for hardware implementations

• Disadvantages• Still need to route connection setup request• More complex failure recovery – must recreate

connection state• Typical uses

• ATM – combined with fix sized cells• MPLS – tag switching for IP networks

Page 12: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 12

IP Datagrams on Virtual Circuits

• Challenge – when to setup connections• At bootup time – permanent virtual circuits

(PVC)• Large number of circuits

• For every packet transmission• Connection setup is expensive

• For every connection• What is a connection?• How to route connectionless traffic?

Page 13: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 13

IP Datagrams on Virtual Circuits

• Traffic pattern• Few long lived flows• Flow – set of data packets from source to

destination• Large percentage of packet traffic• Improving forwarding performance by using

virtual circuits for these flows

• Other traffic uses normal IP forwarding

Page 14: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 14

Global Addresses (IP)

• Each packet has destination address• Each switch has forwarding table of

destination next hop• At v and x: destination east• At w and y: destination south• At z: destination north

• Distributed routing algorithm for calculating forwarding tables

Page 15: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 15

Global Address Example

Receiver

Packet R

Sender

2

34

1

2

34

1

2

34

1

R1

R2

R1

R

RR 3

R 4

R 3

R

Page 16: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 16

Router Table Size

• One entry for every host on the Internet• 100M entries,doubling every year

• One entry for every LAN• Every host on LAN shares prefix• Still too many, doubling every year

• One entry for every organization• Every host in organization shares prefix• Requires careful address allocation

Page 17: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 17

Outline

• Alternative methods for packet forwarding

• IP packet routing

• Variable prefix match

• IP router design

• Routing protocols – distance vector

Page 18: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 18

Original IP Route Lookup

• Address classes• A: 0 | 7 bit network | 24 bit host (16M each)• B: 10 | 14 bit network | 16 bit host (64K)• C: 110 | 21 bit network | 8 bit host (255)

• Address would specify prefix for forwarding table• Simple lookup

Page 19: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 19

Original IP Route Lookup – Example

• www.cmu.edu address 128.2.11.43• Class B address – class + network is 128.2• Lookup 128.2 in forwarding table• Prefix – part of address that really matters for

routing• Forwarding table contains

• List of class+network entries• A few fixed prefix lengths (8/16/24)

• Large tables• 2 Million class C networks

Page 20: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 20

CIDR Revisited

• Supernets• Assign adjacent net addresses to same org• Classless routing (CIDR)

• How does this help routing table?• Combine routing table entries whenever all

nodes with same prefix share same hop

Page 21: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 21

CIDR Example

• Network provide is allocated 8 class C chunks, 201.10.0.0 to 201.10.7.255• Allocation uses 3 bits of class C space• Remaining 21 bits are network number, written

as 201.10.0.0/21• Replaces 8 class C routing entries with 1

combined entry• Routing protocols carry prefix with destination

network address• Longest prefix match for forwarding

Page 22: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 22

CIDR Illustration

Provider is given 201.10.0.0/21

201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23

Provider

Page 23: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 23

CIDR Shortcomings

• Multi-homing• Customer selecting a new provider

201.10.0.0/21

201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23 or Provider 2 address

Provider 1 Provider 2

Page 24: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 24

Routing to the Network

H2

H3

H4

R1

10.1.1/24

10.1.1.210.1.1.4

Provider10.1/16 10.1.8/24

10.1.0/24

10.1.1.3

10.1.2/23

R2

10.1.0.2

10.1.8.4

10.1.0.110.1.1.110.1.2.2

10.1.8.110.1.2.110.1.16.1

H1

• Packet to 10.1.1.3 arrives

• Path is R2 – R1 – H1 – H2

Page 25: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 25

Routing Within the Subnet

Routing table at R2

H2

H3

H4

R1

10.1.1/24

10.1/16 10.1.8/24

10.1.0/24

10.1.1.3

10.1.2/23

R2

10.1.0.2

10.1.8.4

10.1.0.110.1.1.110.1.2.2

10.1.8.110.1.2.110.1.16.1

H1

Destination Next Hop Interface

127.0.0.1 127.0.0.1 lo0

Default or 0/0 provider 10.1.16.1

10.1.8.0/24 10.1.8.1 10.1.8.1

10.1.2.0/23 10.1.2.1 10.1.2.1

10.1.0.0/23 10.1.2.2 10.1.2.1

• Packet to 10.1.1.3

• Matches 10.1.0.0/23

10.1.1.210.1.1.4

Page 26: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 26

Routing Within the Subnet

H2

H3

H4

R1

10.1.1/24

10.1/16 10.1.8/24

10.1.0/24

10.1.1.3

10.1.2/23

R2

10.1.0.2

10.1.8.4

10.1.0.110.1.1.110.1.2.2

10.1.8.110.1.2.110.1.16.1

H1

Routing table at R1Destination Next Hop Interface

127.0.0.1 127.0.0.1 lo0

Default or 0/0 10.1.2.1 10.1.2.2

10.1.0.0/24 10.1.0.1 10.1.0.1

10.1.1.0/24 10.1.1.1 10.1.1.4

10.1.2.0/23 10.1.2.2 10.1.2.2

• Packet to 10.1.1.3

• Matches 10.1.1.1/31• Longest prefix match

10.1.1.2/31 10.1.1.2 10.1.1.2

10.1.1.210.1.1.4

Page 27: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 27

Routing Within the Subnet

H2

H3

H4

R1

10.1.1/24

10.1/16 10.1.8/24

10.1.0/24

10.1.1.3

10.1.2/23

R2

10.1.0.2

10.1.8.4

10.1.0.110.1.1.110.1.2.2

10.1.8.110.1.2.110.1.16.1

H1

Routing table at H1Destination Next Hop Interface

127.0.0.1 127.0.0.1 lo0

Default or 0/0 10.1.1.1 10.1.1.2

10.1.1.0/24 10.1.1.2 10.1.1.1

10.1.1.3/31 10.1.1.2 10.1.1.2

• Packet to 10.1.1.3

• Direct route• Longest prefix match

10.1.1.210.1.1.4

Page 28: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 28

Global Addresses

• Advantages• Stateless – simple error recovery

• Disadvantages• Every switch knows about every destination

• Potentially large tables

• All packets to destination take same route

Page 29: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 29

Comparison

Source Routing Global Addresses

Header Size Worst OK – Large address

Router Table Size NoneNumber of hosts

(prefixes)

Forward Overhead Best Prefix matching

Virtual Circuits

Best

Number of circuits

Pretty Good

Setup Overhead None None

Error Recovery Tell all hosts Tell all routers

Connection Setup

Tell all routers and Tear down circuit

and re-route

Page 30: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 30

How do we set up Routing Tables?

• Graph theory to compute “shortest path”• Switches = nodes• Links = edges• Delay, hops = cost

• Need to adapt to changes in topology

Page 31: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 31

Outline

• Alternative methods for packet forwarding

• IP packet routing

• Variable prefix match

• IP router design

• Routing protocols – distance vector

Page 32: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 32

How To Do Variable Prefix Match

128.2/16

10

16

19128.32/16

128.32.130/240 128.32.150/24

default0/0

0

• Traditional method – Patricia Tree• Arrange route entries into a series of bit tests

• Worst case = 32 bit tests• Problem: memory speed is a bottleneck

Bit to test – 0 = left child,1 = right child

Page 33: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 33

Speeding up Prefix Match (P+98)

• Cut prefix tree at 16 bit depth • 64K bit mask• Bit = 1 if tree continues below cut (root head)• Bit = 1 if leaf at depth 16 or less (genuine head)• Bit = 0 if part of range covered by leaf

Page 34: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 34

Prefix Tree

10

0 0 0 1 0 1 1 1 0 0 0 1 1 1 11 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Port 1 Port 5 Port 7Port 3

Port 9Port 5

Page 35: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 35

Prefix Tree

10

0 0 0 1 0 1 1 1 0 0 0 1 1 1 11 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Subtree 1 Subtree 2

Subtree 3

Page 36: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 36

Speeding up Prefix Match (P+98)

• Each 1 corresponds to either a route or a subtree• Keep array of routes/pointers to subtree• Need index into array – how to count # of 1s• Keep running count to 16bit word in base index

+ code word (6 bits)• Need to count 1s in last 16bit word

• Clever tricks

• Subtrees are handled separately

Page 37: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 37

Speeding up Prefix Match (P+98)

• Scaling issues• How would it handle IPv6

• Other possiblities• Why were the cuts done at 16/24/32 bits?• Improve data structure by shuffling bits

Page 38: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 38

Speeding up Prefix Match - Alternatives

• Route caches• Temporal locality• Many packets to same destination

• Other algorithms • Waldvogel – Sigcomm 97

• Binary search on hash tables• Works well for larger adresses

• Bremler-Barr – Sigcomm 99• Clue = prefix length matched at previous hop• Why is this useful?

Page 39: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 39

Speeding up Prefix Match - Alternatives

• Content addressable memory (CAM)• Hardware based route lookup• Input = tag, output = value associated with tag• Requires exact match with tag

• Multiple cycles (1 per prefix searched) with single CAM

• Multiple CAMs (1 per prefix) searched in parallel• Ternary CAM

• 0,1,don’t care values in tag match• Priority (I.e. longest prefix) by order of entries in

CAM

Page 40: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 40

Outline

• Alternative methods for packet forwarding

• IP packet routing

• Variable prefix match

• IP router design

• Routing protocols – distance vector

Page 41: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 41

What Does a Router Look Like?

• Line cards• Network interface cards

• Forwarding engine• Fast path routing (hardware vs. software)

• Backplane• Switch or bus interconnect

• Network controller• Handles routing protocols, error conditions

Page 42: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 42

Router Processing (P+88)

• Packet arrives arrives at inbound line card• Header transferred to forwarding engine

• 24/56 bytes of packet + link layer info

• Forwarding engine transmits result to line card

• Packet copied to outbound line card

Page 43: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 43

Forwarding Engine (P+88)

• General purpose processor + software• 8KB L1 Icache

• Holds full forwarding code

• 96KB L2 cache• Forwarding table cache

• 16MB L3 cache• Full forwarding table x 2 - double buffered for

updates

Page 44: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 44

Forwarding Engine (P+88)

• Checksum updated but not checked• Options handled by network proc• Fragmentation handed by network

processor• Multicast packets are copied on input line

card• Packet trains help route hit rate

• Packet train = sequence of packets for same/similar flows

Page 45: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 45

Network Processor

• Runs routing protocol and downloads forwarding table to forwarding engines• Two forwarding tables per engine to allow easy

switchover

• Performs “slow” path processing• Handles ICMP error messages• Handles IP option processing

Page 46: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 46

Switch Design Issues

• Have N inputs and M outputs• Multiple packets for same output – output

contention• Switch contention – switch cannot support

arbitrary set of transfers• Crossbar• Bus

• High clock/transfer rate needed for bus• Banyan net

• Complex scheduling needed to avoid switch contention

• Solution – buffer packets where needed

Page 47: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 47

Switch Buffering

• Input buffering• Which inputs are processed each slot – schedule?• Head of line packets destined for busy output blocks

other packets

• Output buffering• Output may receive multiple packets per slot• Need speedup proportional to # inputs

• Internal buffering• Head of line blocking• Amount of buffering needed

Page 48: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 48

Line Card Interconnect (P+88)

• Virtual output buffering• Maintain per output buffer at input• Solves head of line blocking problem• Each of MxN input buffer places bid for output

• Crossbar connect• Challenge: map of bids to schedule for

crossbar

Page 49: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 49

Switch Scheduling (P+88)

• Schedule for 128 byte slots • Greedy mapping of inputs to outputs

• Fairness• Order of greedy matching permuted randomly• Priority given to forwarding engine in schedule

(why?)

• Parallelized• Check independent paths simultaneously

Page 50: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 50

Outline

• Alternative methods for packet forwarding

• IP packet routing

• Variable prefix match

• IP router design

• Routing protocols – distance vector

Page 51: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 51

Factors Affecting Routing

4

3

6

21

9

1

1

D

A

FE

B

C

• Routing algorithms view the network as a graph

• Problem: find lowest cost path between two nodes

• Factors• Static topology• Dynamic load• Policy

Page 52: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 52

Two Main Approaches

• Distance-vector (DV) protocols

• Link state (LS) protocols

Page 53: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 53

Distance Vector Protocols

• Employed in the early Arpanet• Distributed next hop computation• Unit of information exchange

• Vector of distances to destinations

• Distributed Bellman-Ford Algorithm

Page 54: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 54

Distributed Bellman-Ford

• Start Conditions:•Each router starts with a vector of (zero) distances to all directly attached networks

• Send step:•Each router advertises its current vector to all neighboring routers

• Receive step:•Upon receiving vectors from each of its neighbors, router computes its own distance to each neighbor

•Then, for every network X, router finds that neighbor who is closer to X than any other neighbor

•Router updates its cost to X•After doing this for all X, router goes to send step

Page 55: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 55

Example - Initial Distances

A

B

E

C

D

Info atNode

A

B

C

D

A B C

0 7 ~

7 0 1

~ 1 0

~ ~ 2

7

1

1

2

28

Distance to Node

D

~

~

2

0

E 1 8 ~ 2

1

8

~

2

0

E

Page 56: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 56

E Receives D’s Routes; Updates Cost

Info atNode

A

B

C

D

A B C

0 7 ~

7 0 1

~ 1 0

~ ~ 2

Distance to Node

D

~

~

2

0

E 1 8 4 2

1

8

~

2

0

E

A

B

E

C

D

7

1

1

2

28

Page 57: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 57

A receives B’s; Updates Cost

Info atNode

A

B

C

D

A B C

0 7 8

7 0 1

~ 1 0

~ ~ 2

Distance to Node

D

~

~

2

0

E 1 8 4 2

1

8

~

2

0

E

A

B

E

C

D

7

1

1

2

28

Page 58: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 58

A receives E’s routes; Updates Costs

Info atNode

A

B

C

D

A B C

0 7 5

7 0 1

~ 1 0

~ ~ 2

Distance to Node

D

3

~

2

0

E 1 8 4 2

1

8

~

2

0

E

A

B

E

C

D

7

1

1

2

28

Page 59: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 59

Final Distances

Info atNode

A

B

C

D

A B C

0 6 5

6 0 1

5 1 0

3 3 2

Distance to Node

D

3

3

2

0

E 1 5 4 2

1

5

4

2

0

E

A

B

E

C

D

7

1

1

2

28

Page 60: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 60

View From a Node

dest

A

B

C

D

A B D

1 14 5

7 8 5

6 9 4

4 11 2

Next hop

E’s routing table

A

B

E

C

D

7

1

1

2

28

Page 61: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 61

Final Distances After Link Failure

Info atNode

A

B

C

D

A B C

0 7 8

7 0 1

8 1 0

10 3 2

Distance to Node

D

10

3

2

0

E 1 8 9 11

1

8

9

11

0

E

A

B

E

C

D

7

1

1

2

28

X

Page 62: 15-744: Computer Networking L-4 Routers. L -4; 1-24-01© Srinivasan Seshan, 20012 Routers How do routers process IP packets How do you build a router Assigned

L -4; 1-24-01© Srinivasan Seshan, 2001 62

Next Lecture: Intra-Domain Routing

• Routing algorithms• Distance vector routing – challenges • Link state routing

• How to make routing adapt to load• How to make routing scale• Assigned reading

• [KZ89] The revised ARPANET routing metric