1 routing distance vector routing link state routing hierarchical routing routing for mobile hosts

35
1 Routing • Distance Vector Routing • Link State Routing • Hierarchical Routing • Routing for Mobile Hosts

Upload: cameron-townsend

Post on 31-Dec-2015

249 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

1

Routing

• Distance Vector Routing

• Link State Routing

• Hierarchical Routing

• Routing for Mobile Hosts

Page 2: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

2

Overview• Forwarding vs Routing

– forwarding: to select an output port based on destination address and routing table

– routing: process by which routing table is built• Network as a Graph

• Problem: Find lowest cost path between two nodes• Factors

– static: topology– dynamic: load

4

3

6

21

9

1

1D

A

FE

B

C

Page 3: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

3

Desired Properties of Routing Algorithm

• Correctness• Simplicity• Robustness• Stability• Fairness• Optimality

– Minimizing mean packet delay

– Maximizing total network throughput

Page 4: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

4

Distance Vector• Each node maintains a set of triples

– (Destination, Cost, NextHop)

• Exchange updates directly connected neighbors– periodically (on the order of several seconds)– whenever table changes (called triggered update)

• Each update is a list of pairs:– (Destination, Cost)

• Update local table if receive a “better” route– smaller cost– came from next-hop

• Refresh existing routes; delete if they time out

Page 5: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

5

Example

Destination Cost NextHop B 1 B C 1 C D - E 1 E F 1 F G -

D

G

A

F

E

B

C

Page 6: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

6

Routing Loops• Example 1

– F detects that link to G has failed– F sets distance to G to infinity and sends update t o A– A sets distance to G to infinity since it uses F to reach G– A receives periodic update from C with 2-hop path to G– A sets distance to G to 3 and sends update to F– F decides it can reach G in 4 hops via A

• Example 2– link from A to E fails– A advertises distance of infinity to E– B and C advertise a distance of 2 to E– B decides it can reach E in 3 hops; advertises this to A– A decides it can read E in 4 hops; advertises this to C– C decides that it can reach E in 5 hops…

Page 7: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

7

Loop-Breaking Heuristics

• Set infinity to 16

• Split horizon

• Split horizon with poison reverse

• The Core of the Problem:– When X tells Y that it has a path somethere, Y has

no way of knowing whether it itself is on the path.

Page 8: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

8

Link State Routing• Strategy

– send to all nodes (not just neighbors) information about directly connected links (not entire routing table)

• Five Parts– Discover its neighbors and learn their network

addresses– Measure the delay or cost to each of its neighbors– Construct a packet telling all it has just learned– Send this packet to all other routers– Compute the shortest path to every other router

Page 9: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

9

Link State Routing …

• Measuing Line Cost– ECHO packet– Round Trip Time (RTT) divide by two– Load ??

• Link State Packet (LSP)– id of the node that created the LSP– cost of link to each directly connected neighbor– sequence number (SEQNO)– time-to-live (TTL) for this packet

Page 10: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

10

Reliable Flooding

• Reliable flooding– store most recent LSP from each node– forward LSP to all nodes but one that sent it– generate new LSP periodically

• increment SEQNO, no wrap

– start SEQNO at 0 when reboot– decrement TTL of each stored LSP

• discard when TTL=0

Page 11: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

11

Route Calculation• Dijkstra’s shortest path algorithm• Let

– N denotes set of nodes in the graph– l (i, j) denotes non-negative cost (weight) for edge (i, j)– s denotes this node– M denotes the set of nodes incorporated so far– C(n) denotes cost of the path from s to node n

M = {s}for each n in N - {s}

C(n) = l(s, n)while (N != M)

M = M union {w} such that C(w) is the minimum for all w in (N - M)

for each n in (N - M)C(n) = MIN(C(n), C (w) + l(w, n ))

Page 12: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

12

Shortest Path Algorithm

Page 13: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

13

Metrics • Original ARPANET metric

– measures number of packets enqueued on each link– took neither latency or bandwidth into consideration

• New ARPANET metric– stamp each incoming packet with its arrival time (AT)– record departure time (DT)– when link-level ACK arrives, compute

Delay = (DT - AT) + Transmit + Latency– if timeout, reset DT to departure time for retransmission – link cost = average delay over some time period

• Fine Tuning– compressed dynamic range– replaced Delay with link utilization

Page 14: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

14

Hierarchical Routing

Page 15: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

15

Routing for Mobile Hosts

Page 16: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

16

Route Optimization in Mobile IP

Page 17: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

17

How to Make Routing Scale

• Flat versus Hierarchical Addresses• Inefficient use of Hierarchical Address Space

– class C with 2 hosts (2/255 = 0.78% efficient)

– class B with 256 hosts (256/65535 = 0.39% efficient)

• Still Too Many Networks– routing tables do not scale

– route propagation protocols do not scale

Page 18: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

18

Internet StructureRecent Past

NSFNET backboneStanford

BARRNETregional

BerkeleyPARC

NCAR

UA

UNM

Westnetregional

UNL KU

ISU

MidNetregional…

Page 19: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

19

Internet Structure

Today

Backbone service provider

Peeringpoint

Peeringpoint

Large corporation

Large corporation

Smallcorporation

“Consumer ” ISP

“Consumer” ISP

“ Consumer” ISP

Page 20: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

20

Subnetting• Add another level to address/routing hierarchy: subnet• Subnet masks define variable partition of host part• Subnets visible only within site

Network number Host number

Class B address

Subnet mask (255.255.255.0)

Subnetted address

111111111111111111111111 00000000

Network number Host IDSubnet ID

Page 21: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

21

Subnet Example

Forwarding table at router R1Subnet Number Subnet Mask Next Hop

128.96.34.0 255.255.255.128 interface 0

128.96.34.128 255.255.255.128 interface 1

128.96.33.0 255.255.255.0 R2

Subnet mask: 255.255.255.128Subnet number: 128.96.34.0

128.96.34.15 128.96.34.1

H1R1

128.96.34.130Subnet mask: 255.255.255.128Subnet number: 128.96.34.128

128.96.34.129128.96.34.139

R2H2

128.96.33.1128.96.33.14

Subnet mask: 255.255.255.0Subnet number: 128.96.33.0

H3

Page 22: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

22

Forwarding Algorithm

D = destination IP addressfor each entry (SubnetNum, SubnetMask, NextHop) D1 = SubnetMask & D if D1 = SubnetNum if NextHop is an interface deliver datagram directly to D else deliver datagram to NextHop

• Use a default router if nothing matches• Not necessary for all 1s in subnet mask to be contiguous • Can put multiple subnets on one physical network• Subnets not visible from the rest of the Internet

Page 23: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

23

Supernetting

• Assign block of contiguous network numbers to nearby networks

• Called CIDR: Classless Inter-Domain Routing• Represent blocks with a single pair

(first_network_address, count)• Restrict block sizes to powers of 2• Use a bit mask (CIDR mask) to identify block size• All routers must understand CIDR addressing

Page 24: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

24

Route Propagation• Know a smarter router

– hosts know local router– local routers know site routers– site routers know core router– core routers know everything

• Autonomous System (AS)– corresponds to an administrative domain– examples: University, company, backbone network– assign each AS a 16-bit number

• Two-level route propagation hierarchy– interior gateway protocol (each AS selects its own)– exterior gateway protocol (Internet-wide standard)

Page 25: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

25

Popular Interior Gateway Protocols

• RIP: Route Information Protocol– developed for XNS– distributed with Unix– distance-vector algorithm– based on hop-count

• OSPF: Open Shortest Path First– recent Internet standard– uses link-state algorithm– supports load balancing – supports authentication

Page 26: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

26

EGP: Exterior Gateway Protocol• Overview

– designed for tree-structured Internet– concerned with reachability, not optimal routes

• Protocol messages– neighbor acquisition: one router requests that another be

its peer; peers exchange reachability information– neighbor reachability: one router periodically tests if the

another is still reachable; exchange HELLO/ACK messages; uses a k-out-of-n rule

– routing updates: peers periodically exchange their routing tables (distance-vector)

Page 27: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

27

BGP-4: Border Gateway Protocol• AS Types

– stub AS: has a single connection to one other AS• carries local traffic only

– multihomed AS: has connections to more than one AS• refuses to carry transit traffic

– transit AS: has connections to more than one AS• carries both transit and local traffic

• Each AS has:– one or more border routers– one BGP speaker that advertises:

• local networks• other reachable networks (transit AS only)• gives path information

Page 28: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

28

BGP Example• Speaker for AS2 advertises reachability to P and Q

– network 128.96, 192.4.153, 192.4.32, and 192.4.3, can be reached directly from AS2

• Speaker for backbone advertises– networks 128.96, 192.4.153, 192.4.32, and 192.4.3 can be reached along

the path (AS1, AS2).• Speaker can cancel previously advertised paths

Backbone network(AS 1)

Regional provider A(AS 2)

Regional provider B(AS 3)

Customer P(AS 4)

Customer Q(AS 5)

Customer R(AS 6)

Customer S(AS 7)

128.96192.4.153

192.4.32192.4.3

192.12.69

192.4.54192.4.23

Page 29: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

29

IP Version 6• Features

– 128-bit addresses (classless)– multicast– real-time service– authentication and security – autoconfiguration – end-to-end fragmentation– protocol extensions

• Header– 40-byte “base” header– extension headers (fixed order, mostly fixed length)

• fragmentation• source routing• authentication and security• other options

Page 30: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

30

Routing in Ad Hoc Networks

Possibilities when the routers are mobile:

• Military vehicles on battlefield.– No infrastructure.

• A fleet of ships at sea.– All moving all the time

• Emergency works at earthquake .– The infrastructure destroyed.

• A gathering of people with notebook computers.– In an area lacking 802.11.

Page 31: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

31

Route Discovery

Page 32: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

32

Route Discovery (2)

Format of a ROUTE REQUEST packet.

Format of a ROUTE REPLY packet.

Page 33: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

33

Route Maintenance

(a) D's routing table before G goes down.(b) The graph after G has gone down.

Page 34: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

34

Repeaters, Hubs, Bridges, Switches, Routers and Gateways

Page 35: 1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts

35

Repeaters, Hubs, Bridges, Switches, Routers and Gateways (2)

(a) A hub. (b) A bridge. (c) a switch.