Routing

pigeoneggtrainsNetworking and Communications

Oct 24, 2013 (3 years and 11 months ago)

64 views

1

Routing


Distance Vector Routing


Link State Routing


Hierarchical Routing


Routing for Mobile Hosts


Subnetting


Classless Inter
-
Domain Routing (Supernet)


Border Gateway Protocol


Routing in Ad
-
hoc Networks


IPv6

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

3

Desired Properties of Routing Algorithm


Correctness


Simplicity


Robustness


Stability


Fairness


Optimality


Minimizing mean packet delay


Maximizing total network throughput

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

5

Example





Destination Cost NextHop





B


1


B





C


1


C





D





-





E


1


E





F


1


F





G





-

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…

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.

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

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

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

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
))

12

Shortest Path Algorithm

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

14

Hierarchical Routing

15

Mobility


The ability to change locations, while connected to
the network, accessing information services.



Maintain connection during movement


All messages sent to the mobile node are redirected to its real
location


More than portability


Operate at any point of attachment


Connections have to be shutdown when nodes is moved.

16

Routing for Mobile Hosts

17

Route Optimization in Mobile IP

18

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

19

Internet Structure

Recent Past

NSFNET backbone

Stanford

BARRNET

regional

Berkeley

P

ARC

NCAR

UA

UNM

Westnet

regional

UNL

KU

ISU

MidNet

regional

20

Internet Structure

Today

Backbone service provider

Peering

point

Peering

point

Large corporation

Large corporation

Small

corporation



Consumer




ISP



Consumer




ISP



Consumer




ISP

21

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 ID

Subnet ID

22

Subnet Example

Forwarding table at router R1

Subnet 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.128

Subnet number: 128.96.34.0

128.96.34.15

128.96.34.1

H1

R1

128.96.34.130

Subnet mask: 255.255.255.128

Subnet number: 128.96.34.128

128.96.34.129

128.96.34.139

R2

H2

128.96.33.1

128.96.33.14

Subnet mask: 255.255.255.0

Subnet number: 128.96.33.0

H3

23

Forwarding Algorithm

D = destination IP address

for 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

24

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

25

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)

26

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

27

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)

28

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

29

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.96

192.4.153

192.4.32

192.4.3

192.12.69

192.4.54

192.4.23

30

Features of IPv6


Larger Address


128 bits


Extended Address Hierarchy


Increased addressing flexibility


concept of anycast address,
and improved scalability of multicast routing


Flexible Header Format, Improved Options


Provision For Protocol Extension


Support For Resource Allocation


real time services,
differentiated services


Support For Autoconfiguration and Renumbering


Support for authentication, data integrity and confidentiality at
the IP level

31

IPv6 Address Notation


128
-
bit addresses unwieldy in dotted decimal; requires 16
numbers

105.220.136.100.255.255.255.255.0.0.18.128.140.10.255.255



Groups of 16
-
bit numbers in hex separated
by colons


colon hexadecimal

69DC:8864:FFFF:FFFF:0:1280:8C0A:FFFF


FF05:0:0:0:0:0:0:B3 can be written


FF05::B3

32

IPv6 Address Space Allocation

Prefix

Use

0000 0000

Reserved (IPv4 compatibility)

……

…….

001

Aggregatable Global Unicast Addresses

……

……

1111 1110 00

Link local use addresses

1111 1110 11

Site local use addresses

1111 1111

Multicast Addresses

33

Aggregatable Global Unicast Addresses

001

Registry ID

Provider ID

Subscriber ID

Subnet ID

Interface ID


3


m


n


o



p



64

001

Global Routing Prefix


Subnet ID

Interface ID

RFC3587, August 2003

34

The IPv6 Header

version(4)

Traffic

class(8)

Flow Label (20)

Payload Length (16)

Next header(8)

Hop Limit (8)

Source IP address (128)

Destination IP address (128)

Bit 0

Bit 31

40

bytes

IPV6

version(4)

hlen

Total length

identification

flags

Frag offset

protocol

Source address

Bit 0

Bit 31

20

bytes

IPV4

TOS(8)

TTL

header checksum

Destination address

Options and padding

35

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.

36

Route Discovery

37

Route Discovery (2)

Format of a ROUTE REQUEST packet.

Format of a ROUTE REPLY packet.

38

Route Maintenance

(a) D's routing table before G goes down.

(b) The graph after G has gone down.

39

Repeaters, Hubs, Bridges, Switches, Routers
and Gateways

40

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

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