296
29 October 2018 © 20042018 James P.G. Sterbenz rev. 18.0 Communication Networks The University of Kansas EECS 780 Network Routing James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications Research Center The University of Kansas [email protected] http://www.ittc.ku.edu/~jpgs/courses/nets

ITTC © James P.G. Sterbenz Communication Networks

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 © 2004–2018 James P.G. Sterbenzrev. 18.0

Communication NetworksThe University of Kansas EECS 780

Network Routing

James P.G. Sterbenz

Department of Electrical Engineering & Computer Science

Information Technology & Telecommunications Research Center

The University of Kansas

[email protected]

http://www.ittc.ku.edu/~jpgs/courses/nets

Page 2: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-2

Network RoutingOutline

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 3: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-3

Network RoutingNR.1 Functions and Services

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 4: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-4

Network Layer ControlHybrid Layer/Plane Cube

Layer 3:

routing in control plane

physical

MAC

link

network

transport

session

application

L1

L7

L5

L4

L3

L2

L1.5

data plane control plane

management plane

socialL8

virtual linkL2.5

Page 5: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-5

Network LayerService and Interfaces

• Network layer 3 is above link layer 2

– addressing : network layer identifier for end systems (hosts)

– forwarding : transfers packets hop-by-hop

• using link layer services

• network layer responsible for determining which next hop

– routing : determination of path to forward packets

– signalling : messages to control network layer behaviour

– traffic management : management of traffic and congestion

• Network layer service to transport layer (L4)

– deliver TPDUs to destination transport entity

Page 6: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-6

Network LayerForwarding vs. Routing

• Forwarding transfers packets hop-by-hop

– each switch (router) makes decision on which link to send

– forwarding table (generally) used to make decision

– forwarding is per packet decision

– [analogy: determining which exits to take on a drive]

• Routing determines the path to take

– routing algorithm independent of forwarding

– forwarding table entries populated by routing

– routing is (generally) not done per packet

– [analogy: planning trip from source to destination]

Forwarding and routing are very different

Page 7: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-7

SwitchesFunctions: Routing and Signalling

• Routing

– asynchronousw.r.t. forwarding

– not part ofcritical path

– may use topologyand link state

– uses signallingto coördinateamong nodes

data manipulation

transfer control

filter

classify

forwarding

table

cong

control

fabric

control

link

sched

input

processing

link decaps

output

processing

link encaps

switch fabric

routingtopology DB

signalling

network

management

traffic

management

routing and signalling

Page 8: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-8

RoutingGroup Communication Terminology1

• Unicast (point-to-point)

– single source [] single destination (uni- or bi-directional)

• Anycast

– single source any one (appropriate) destination

• k-cast

– single source k (appropriate) destinations

Page 9: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-9

RoutingGroup Communication Terminology2

• Multicast

– point-to-multipoint

single source multiple destinations

– reverse multicast (multipoint-to-point)

multiple sources single destination

– multipoint-to-multipoint

multiple sources [] multiple destinations

• Broadcast

– single source all destinations (in a given subnetwork)

Page 10: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-10

Network RoutingNR.2 Routing Algorithms

NR.1 Functions and services

NR.2 Routing algorithms

NR.2.1 Overview, static and source routing

NR.2.2 Link state routing

NR.2.3 Distance vector routing

NR.2.4 Comparison and hierarchy

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 11: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-11

RoutingNetwork Model1

• Network is modeled as a graph N = (V,E)

– nodes are vertices vi V

– links are edges eij = (vi , vj) E

• vi and vj are neighbours

• edge weights are costs

• Example:– V = {u, v, w, x, y, z}

– E = {(u,v),(u,w),(u,x),(v,x),(v,w),(x,w),(x,y),(w,y),(w,z),(y,z)}

u

v

w

x y

z

1

1

1

5

2

3

2 3

5

2

Page 12: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-12

RoutingNetwork Model2

• Each link (edge) has a cost c(vi , vj)

– cost is metric of interest, e.g. hop count, latency, capacity

– assume c (vi , vj) = c (vj , vi)

• graph is not directed

– (vi , vj) E , c (vj , vi) =

• Sequence of edges (links) is path between nodes– path(vj , vi+n) = (vi , vi+1 , … vj+n)

• Cost of a path is sum of link costs

– c(path(vj , vi+n)) = c(vi , vi+1)

• Routing algorithm goal (ideal): find least cost path

– shortest path if all link costs equal (measures hops)

Page 13: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-13

Network RoutingNR.2.1 Overview, Static and Source Routing

NR.1 Functions and services

NR.2 Routing algorithms

NR.2.1 Overview, static and source routing

NR.2.2 Link state routing

NR.2.3 Distance vector routing

NR.2.4 Comparison and hierarchy

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 14: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-14

Routing AlgorithmsClassification by State

• State (topology and link costs)

• Global

– complete* state located in each switch

* this will be relaxed for hierarchical routing

– example: link state routing

Page 15: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-15

Routing AlgorithmsClassification by State

• State (topology and link costs)

• Global

– complete* state located in each switch

* this will be relaxed for hierarchical routing

– example: link state routing

• Decentralised

– neighbourhood state only in each switch

– iterative process of route computation with neighbors

– example: distance vector routing

Page 16: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-16

Routing AlgorithmsClassification by Dynamicity

• Dynamicity: response to topology and traffic changes

• Static

– routes do not change (directly)

– changed by human operators or network management

• Dynamic (adaptive):

– routes change in response to topology and traffic

– route computation may occur

• periodically

• in direct response to changes in topology and traffic

Page 17: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-17

Routing AlgorithmsClassification by Load-Sensitivity

• Load-sensitivity

• Load-sensitive: routing responds to loads on links

– load contributes to link weight

– paths chosen along uncongested links

• Load-insensitive: routing doesn’t respond to link load

Page 18: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-18

Routing AlgorithmsCharacteristics and Goals

• Stability

– routes to do not oscillate between paths

– harder to maintain with capacity-based dynamic routing

• Low complexity and overhead

– processing load in switches

– signalling message overhead on links

• Optimality

– optimal paths for communicating nodes

– optimal use of network resources

Very difficult to achieve all of these!

Page 19: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-19

Static RoutingOverview

• Network engineering determines routes

– frequently based on traffic matrix

• Forwarding tables are provisioned by an operator

When does this make sense?

Page 20: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-20

Static RoutingOverview

• Network engineering determines routes

– frequently based on traffic matrix

• Forwarding tables are provisioned by an operator

• Logical choice for:

– small networks

– networks with predictable stable traffic

Page 21: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-21

Source RoutingOverview

• Node constructs entire path of packet– end system or edge node

– source route carried in packet headers

– routers simply pop source route stack to forward

Page 22: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-22

Source RoutingExample

• Source puts route in header

– each hop forwards to first address

u

v

w

x y

z

S

D

uvxyzDS

1

Page 23: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-23

Source RoutingExample

• Source puts route in header

– each hop forwards to first address

– rotates to end (why? )

u

v

w

x y

z

S

D

vxyzDSu

2

Page 24: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-24

Source RoutingExample

• Source puts route in header

– each hop forwards to first address

– rotates to end

u

v

w

x y

z

S

D

xyzDSuv

3

Page 25: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-25

Source RoutingExample

• Source puts route in header

– each hop forwards to first address

– rotates to end

u

v

w

x y

z

S

D

4

yzDSuvx

Page 26: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-26

Source RoutingExample

• Source puts route in header

– each hop forwards to first address

– rotates to end

u

v

w

x y

z

S

D

5

zDSuvxy

Page 27: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-27

Source RoutingExample

• Source puts route in header

– each hop forwards to first address

– rotates to end

u

v

w

x y

z

S

D

6

DSuvxyz

Page 28: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-28

Source RoutingExample

• Source puts route in header

– each hop forwards to first address

– rotates to end (why? )

u

v

w

x y

z

S

D

7

SuvxyzD

Page 29: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-29

Source RoutingExample

• Source puts route in header

– each hop forwards to first address

– rotates to end

– reverse path accumulated so D can reply to S

u

v

w

x y

z

S

D

8

zyxvuSD

Page 30: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-30

Source RoutingIssues

Issues?

Page 31: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-31

Source RoutingIssues

• Simple in theory– but some entity has to create the source route

– edge needs significant knowledge of topology

• Rarely used– almost never used IP option

– some specialised problem domains• e.g. MANET DSR Lecture MW

• Proposed for future Internet, e.g. PoMo

Page 32: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-32

Dynamic RoutingOverview

• Routes change in response to topology and traffic

• Classes of dynamic routing algorithms

– link state

– distance vector

Page 33: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-33

Network RoutingNR.2.2 Link State Routing Algorithms

NR.1 Functions and services

NR.2 Routing algorithms

NR.2.1 Overview, static and source routing

NR.2.2 Link state routing

NR.2.3 Distance vector routing

NR.2.4 Comparison and hierarchy

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 34: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-34

Link State RoutingOverview

• Use link state to compute optimal paths

• Steps:

– neighbor discovery

– determine cost of each link

• e.g. measure delay, load

– build local link state (for distribution)

– flood link state

– compute routes (e.g. Dijkstra algorithm)

Page 35: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-35

Link State RoutingDijkstra Algorithm

• Network topology and link costs known to all nodes

– accomplished via link state flooding (broadcast)

– all nodes have consistent information

• Computes least cost paths

– from one node (source) to all other nodes

– gives forwarding table for that node

• Iterative

– after k iterations, know least cost path to k destinations

Page 36: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-36

Link State RoutingDijkstra Algorithm Notation

• Notation:c(x,y) link cost from node x to y; = ∞ if not neighbours

D(v) current value of cost of path from source to dest. v

p(v) predecessor node along path from source to v

N set of nodes whose least cost path definitively known

[Kurose–Ross p.356]

Page 37: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-37

Link State RoutingDijkstra Algorithm

1 Initialisation:

2 N = {u}

3 for all nodes v

4 if v is neighbour of u

5 then D(v) = c(u,v) /* cost of neighbour known */

6 else D(v) = ∞ /* cost of others unknown */

7

[Kurose–Ross p.355]

Page 38: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-38

Link State RoutingDijkstra Algorithm

8 loop

9 find w not in N such that D(w) is a minimum

10 add w to N

11 update D(v) for all v adjacent to w and not in N :

12 D(v) = min( D(v), D(w) + c(w,v) )

13 /* new cost to v is either old cost to v or known

14 shortest path cost to w plus cost from w to v */

15 until all nodes in N

[Kurose–Ross p.355]

Page 39: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-39

step N D,p (v) D,p (w) D,p (x) D,p (y) D,p (z) notes

0 u 2,u 5,u 1,u ∞ ∞ 5 not min to w

Link State RoutingDijkstra Example

u

v

w

x y

z

1

1

1

5

2

3

2 3

5

2

0[Kurose–Ross p.356]

Page 40: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-40

step N D,p (v) D,p (w) D,p (x) D,p (y) D,p (z) notes

0 u 2,u 5,u 1,u ∞ ∞ 5 not min to w

1 ux 2,u 4,x 1,u 2,x ∞ shorter to w

Link State RoutingDijkstra Example

u

v

w

x y

z

1

1

1

5

2

3

2 3

5

2

1[Kurose–Ross p.356]

Page 41: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-41

step N D,p (v) D,p (w) D,p (x) D,p (y) D,p (z) notes

0 u 2,u 5,u 1,u ∞ ∞ 5 not min to w

1 ux 2,u 4,x 1,u 2,x ∞ shorter to w

2 uxy 2,u 3,y 1,u 2,x 4,y shorter to w

Link State RoutingDijkstra Example

u

v

w

x y

z

1

1

1

5

2

3

2 3

5

2

2[Kurose–Ross p.356]

Page 42: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-42

step N D,p (v) D,p (w) D,p (x) D,p (y) D,p (z) notes

0 u 2,u 5,u 1,u ∞ ∞ 5 not min to w

1 ux 2,u 4,x 1,u 2,x ∞ shorter to w

2 uxy 2,u 3,y 1,u 2,x 4,y shorter to w

3 uxyv 2,u 3,y 1,u 2,x 4,y w and x stay

Link State RoutingDijkstra Example

u

v

w

x y

z

1

1

1

5

2

3

2 3

5

2

3[Kurose–Ross p.356]

Page 43: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-43

step N D,p (v) D,p (w) D,p (x) D,p (y) D,p (z) notes

0 u 2,u 5,u 1,u ∞ ∞ 5 not min to w

1 ux 2,u 4,x 1,u 2,x ∞ shorter to w

2 uxy 2,u 3,y 1,u 2,x 4,y shorter to w

3 uxyv 2,u 3,y 1,u 2,x 4,y w and x stay

4 uxyvw 2,u 3,y 1,u 2,x 4,y x, y, and z stay

Link State RoutingDijkstra Example

u

v

w

x y

z

1

1

1

5

2

3

2 3

5

2

4[Kurose–Ross p.356]

Page 44: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-44

step N D,p (v) D,p (w) D,p (x) D,p (y) D,p (z) notes

0 u 2,u 5,u 1,u ∞ ∞ 5 not min to w

1 ux 2,u 4,x 1,u 2,x ∞ shorter to w

2 uxy 2,u 3,y 1,u 2,x 4,y shorter to w

3 uxyv 2,u 3,y 1,u 2,x 4,y w and x stay

4 uxyvw 2,u 3,y 1,u 2,x 4,y x, y, and z stay

5 uxyvwz 2,u 3,y 1,u 2,x 4,y w stays

Link State RoutingDijkstra Example

u

v

w

x y

z

1

1

1

5

2

3

2 3

5

2

5[Kurose–Ross p.356]

Page 45: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-45

step N D,p (v) D,p (w) D,p (x) D,p (y) D,p (z) notes

0 u 2,u 5,u 1,u ∞ ∞ 5 not min to w

1 ux 2,u 4,x 1,u 2,x ∞ shorter to w

2 uxy 2,u 3,y 1,u 2,x 4,y shorter to w

3 uxyv 2,u 3,y 1,u 2,x 4,y w and x stay

4 uxyvw 2,u 3,y 1,u 2,x 4,y x, y, and z stay

5 uxyvwz 2,u 3,y 1,u 2,x 4,y w stays

Link State RoutingDijkstra Example

u

v

w

x y

z

1

1

1

5

2

3

2 3

5

2

6

also keep track of next hop

for shortest paths

[Kurose–Ross p.356]

Page 46: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-46

Link State RoutingOscillations

• Oscillations between paths

– link cost = load carried on link in a given direction

– asymmetric: c(x,y) not necessarily equal to c(y,x)

• Traffic on a given flow changes link state

– and may cause it to switch to the other path

– and back-and-forth again

todo: figure

Page 47: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-47

Network RoutingNR.2.3 Distance Vector Routing Algorithms

NR.1 Functions and services

NR.2 Routing algorithms

NR.2.1 Overview, static and source routing

NR.2.2 Link state routing

NR.2.3 Distance vector routing

NR.2.4 Comparison and hierarchy

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 48: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-48

Distance Vector RoutingOverview

• In a fully distributed manner nodes:

– periodically send distance vector estimates to neighbours

– update their own estimate when received from neighbours

– algorithm converges and is self terminating

• Bellman-Ford equation:

– define dx(y) as cost of least-cost path from x to y

– dx(y) = minv{c(x,v) + dv(y)} over all neighbours of x

[Kurose–Ross p.358]

Page 49: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-49

Distance Vector RoutingBellman-Ford Example

dv(z) = 5, dx(z) = 3, dw(z) = 3 [by inspection]

du(z) = min { c(u,v)+dv(z), c(u,x)+dx(z), c(u,w)+dw(z)}

= min { 2 + 5, 1 + 3, 5 + 3}

= 4

u

v

w

x y

z

1

1

1

5

2

3

2 3

5

2

Page 50: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-50

Distance Vector RoutingNotation

• Notation:N set of all nodes

c(x,v) link cost from node x to v

Dx(y) estimate of least cost from x to y

Dx(y) distance vector = [Dx(y)] for all y N

Page 51: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-51

Distance Vector RoutingAlgorithm

• Node x knows cost to each neighbor v: c(x,v)

• Node x maintains Dx(y) = [Dx(y)] for all y N

• Node x also maintains neighbours’ distance vectors

– for each neighbour v, x maintains Dv(y) = [Dv(y)] for all y N

• Each node:

– wait for change in local link cost message from neighbour

– recompute estimates

– if D to any destination has changed, notify neighbours

[Kurose–Ross p.359]

Page 52: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-52

Distance Vector RoutingExample

X x y z

x 0 2 7

y ∞ ∞ ∞

z ∞ ∞ ∞

Y x y z

x ∞ ∞ ∞

y 2 0 1

z ∞ ∞ ∞

Z x y z

x ∞ ∞ ∞

y ∞ ∞ ∞

z 7 1 0

x

y

z

2

7

1

0[Kurose–Ross p.362]

Page 53: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-53

Distance Vector RoutingExample

X x y z

x 0 2 7

y ∞ ∞ ∞

z ∞ ∞ ∞

Y x y z

x ∞ ∞ ∞

y 2 0 1

z ∞ ∞ ∞

Z x y z

x ∞ ∞ ∞

y ∞ ∞ ∞

z 7 1 0

x

y

z

2

7

1

1

X x y z

x 0 2 7

y 2 0 1

z 7 1 0

Y x y z

x 0 2 7

y 2 0 1

z 7 1 0

Z x y z

x 0 2 7

y 2 0 1

z 7 1 0[Kurose–Ross p.362]

Note: node only have

estimates for all paths

in second step

because max path

between nodes is 2 in

this small example

Page 54: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-54

Distance Vector RoutingExample

X x y z

x 0 2 7

y ∞ ∞ ∞

z ∞ ∞ ∞

Y x y z

x ∞ ∞ ∞

y 2 0 1

z ∞ ∞ ∞

Z x y z

x ∞ ∞ ∞

y ∞ ∞ ∞

z 7 1 0

x

y

z

2

7

1

2

X x y z

x 0 2 3

y 2 0 1

z 7 1 0

Y x y z

x 0 2 7

y 2 0 1

z 7 1 0

Z x y z

x 0 2 7

y 2 0 1

z 3 1 0

Dx(z)= min{c(x,y)+Dy(z),

c(x,z)+Dz(z)}

= min{2+1,7+0} = 3

[Kurose–Ross p.362]

Page 55: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-55

Distance Vector RoutingExample

X x y z

x 0 2 7

y ∞ ∞ ∞

z ∞ ∞ ∞

Y x y z

x ∞ ∞ ∞

y 2 0 1

z ∞ ∞ ∞

Z x y z

x ∞ ∞ ∞

y ∞ ∞ ∞

z 7 1 0

x

y

z

2

7

1

3

X x y z

x 0 2 3

y 2 0 1

z 7 1 0

Y x y z

x 0 2 7

y 2 0 1

z 7 1 0

Z x y z

x 0 2 7

y 2 0 1

z 3 1 0

X x y z

x 0 2 3

y 2 0 1

z 3 1 0

Y x y z

x 0 2 3

y 2 0 1

z 3 1 0

Z x y z

x 0 2 3

y 2 0 1

z 3 1 0

Done

[Kurose–Ross p.362]

Page 56: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-56

Distance Vector RoutingAlgorithm

• Iterative and asynchronous –each local iteration caused by:

– local link cost change

– distance vector update message from neighbour

• Distributed:

– each node notifies neighbors only when its vector changes

– neighbours then notify their neighbours if necessary

• Self-terminating

– no messages when no changes need to be propagated

Page 57: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-57

Distance Vector RoutingLink Cost Changes

• Link cost changes

– node detects local link cost change

– updates routing information

– recalculates distance vector

– if distance vector changes notify neighbours

• Decrease in cost converges quickly

– “good news travels fast”

• Increase in cost converges slowly

– “bad news travels slowly”

– count to infinity problem

– routing loops

Page 58: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-58

Network RoutingNR.2.4 Comparison and Hierarchy

NR.1 Functions and services

NR.2 Routing algorithms

NR.2.1 Overview, static and source routing

NR.2.2 Link state routing

NR.2.3 Distance vector routing

NR.2.4 Comparison and hierarchy

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 59: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-59

Routing AlgorithmsComparison

• Link state vs. distance vector

• Comparison of characteristics

Characteristic Link State Distance Vector

Message complexity ? ?

State maintenance ? ?

Convergence time

Robustness to errors

Scalability

Page 60: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-60

Routing AlgorithmsComparison

• Link state vs. distance vector

• Comparison of characteristics

Characteristic Link State Distance Vector

Message complexity flooding link state neighbour exchange

State maintenance full (sub-)network neighbours

Convergence time ? ?

Robustness to errors

Scalability

Page 61: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-61

Routing AlgorithmsComparison

• Link state vs. distance vector

• Comparison of characteristics

Characteristic Link State Distance Vector

Message complexity flooding link state neighbour exchange

State maintenance full (sub-)network neighbours

Convergence time fast slow

Robustness to errors ? ?

Scalability

Page 62: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-62

Routing AlgorithmsComparison

• Link state vs. distance vector

• Comparison of characteristics

Characteristic Link State Distance Vector

Message complexity flooding link state neighbour exchange

State maintenance full (sub-)network neighbours

Convergence time fast slow

Robustness to errors errors limited to link(s) errors propagate

Scalability? ?

Page 63: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-63

Routing AlgorithmsComparison Summary

• Link state vs. distance vector

• Comparison of characteristics

Characteristic Link State Distance Vector

Message complexity flooding link state neighbour exchange

State maintenance full (sub-)network neighbours

Convergence time fast slow

Robustness to errors errors limited to link(s) errors propagate

Scalabilityreasonable

(with hierarchy)poor

(long convergence)

Page 64: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-64

Routing AlgorithmsComparison Details1

• Message complexity– LS: with n nodes, E links, O (nE) messages sent

– DV: exchange between neighbors only

• State maintenance

– LS: each node maintains state for entire (sub)network

• significant problem in large networks

– DV: each node maintains state only for neighbours

Page 65: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-65

Routing AlgorithmsComparison Details2

• Speed of Convergence– LS: O (n2) algorithm requires O (nE) messages

• may have oscillations

– DV: convergence time varies widely• may be routing loops

• count-to-infinity problem

• Robustness to switch malfunction– LS: node can advertise incorrect link cost

• each node computes only its own table

– DV: node can advertise incorrect path cost

• each node’s table used by others

• error propagate thru network

Page 66: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-66

Routing AlgorithmsScalability Challenges

• Scalability of routing algorithms

– processing and bandwidth: message complexity

– memory: state maintained

• Link state scalability challenges

– flooding of link state in large network

– large topology data bases

• Distance vector scalability challenges

– long path lengths

Solution?

Page 67: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-67

Routing AlgorithmsHierarchical Routing Concepts

• Hierarchy

– divide network into clusters

– isolate full topology and link state in lowest layers

– higher layersaggregate

A 1

2 3

4

B

3

1 2

C 9

6 8

4

Y 4

Page 68: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-68

Routing AlgorithmsResilience and Security

• Routing security– authentication to resist denial of service attacks

– encryption to resist traffic analysis

• Routing fault resilience– fault tolerant: robust to natural failures

• e.g. redundancy

– survivable: resilient to attack and disaster• e.g. geographic diversity

– resilient: tolerant to environmental challenges and traffic• survivable

• mobility, weak wireless channels, unpredictably large delay

• unusual but legitimate traffic (e.g. flash crowd)Lecture SR

Page 69: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-69

Network RoutingNR.3 PSTN Routing Architecture and Algorithms

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.3.1 Fixed HIERarchical routing

NR.3.2 DNHR: dynamic non-hierarchical routing

NR.3.3 RTNR: real–time network routing

NR.3.4 Other dynamic routing algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 70: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-70

PSTN RoutingBackground and Overview

• PSTN evolved from a strict hierarchy

– hierarchical E.164 addressing

– with a (almost) single entity in technical control in the US

• Initial routing algorithm matches hierarchy

– HIER

• Later algorithms relaxed strict hierarchy

– better load balancing

– necessary for NPA overlay and number portability

Page 71: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-71

US PSTNTraditional Local Network Structure

local (class 5)

switches

local tandem switches

5 5

T

direct trunk group

tandem trunk

group

5 5

T

local loops

local officetandem

office

final trunk group

(to class 4 long distance switching)

direct trunk group

direct trunk

group

Page 72: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-72

PSTN RoutingNR.3.1 Fixed Hierarchical Routing

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.3.1 Fixed HIERarchical routing

NR.3.2 DNHR: dynamic non-hierarchical routing

NR.3.3 RTNR: real–time network routing

NR.3.4 Other dynamic routing algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 73: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-73

PSTN Fixed Hierarchical RoutingOverview

• Fixed Hierarchical routing (HIER)

– static routing algorithm based on strict hierarchy

• Switch class hierarchy

5: local

4: toll

3: primary

2: regional

1: sectional

• Link types

– final

– high usage

Page 74: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-74

PSTN Hierarchical RoutingLink Types

• Final links– each switch homed

to single switch above

– top level interconnected

– ladder :vertical final link set

5 5

4 4

3 3

2 2

1 1

ladder

Page 75: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-75

PSTN Hierarchical RoutingLink Types

• High-usage links– additional direct trunks

– deployed as neededbased on traffic matrix

– reduce num. of hopsbelow max. of 9

– reduce bottlenecks in lower classes

5 5

4 4

3 3

2 2

1 1

Page 76: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-76

US PSTNTraditional Local Network Structure

local (class 5)

switches

local tandem switches

5 5

T

direct trunk group

tandem trunk

group

5 5

T

local loops

local officetandem

office

final trunk group

(to class 4 long distance switching)

direct trunk group

direct trunk

group

Page 77: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-77

PSTN Fixed Hierarchical RoutingRouting Design Rules

• Routing design rules define routing algorithm

– constrain space of alternate choice and prevent looping

• Rules

– two-ladder limit

– intraladder direction

– multiple switching function

– one-level limit

– switch low

– directional routing

– single route

– alternate-route selection

Page 78: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-78

PSTN Fixed Hierarchical RoutingDesign Rules: Two-Ladder Limit

• Two-ladder limit

– traffic only traverses origination and destination ladders

– traffic cannot pass through a 3rd (different) ladder

Page 79: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-79

PSTN Fixed Hierarchical RoutingDesign Rules: Intraladder Direction

• Intraladder direction

– traffic on originating ladder goes only upward

– traffic on destination ladder goes only downward

why?

Page 80: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-80

PSTN Fixed Hierarchical RoutingDesign Rules: Intraladder Direction

• Intraladder direction

– traffic on originating ladder goes only upward

– traffic on destination ladder goes only downward

– prevents looping

Page 81: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-81

PSTN Fixed Hierarchical RoutingDesign Rules: Multiple Switching Function

• Multiple switching function

– switch that performs switching for multiple classes

– assume internal ladder spanning classes

Page 82: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-82

PSTN Fixed Hierarchical RoutingDesign Rules: One-Level Limit

• One-level limit

Page 83: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-83

PSTN Fixed Hierarchical RoutingDesign Rules: Switch Low

• Switch low

– switch using the lowest possible level (highest class)

Page 84: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-84

PSTN Fixed Hierarchical RoutingDesign Rules: Directional Routing

• Directional routing

– choose terminating ladder path first

Page 85: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-85

PSTN Fixed Hierarchical RoutingDesign Rules: Single Route

• Single route

– choose direct interladder links before intraladder links

Page 86: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-86

PSTN Fixed Hierarchical RoutingDesign Rules: Alternate-Route Selection

• Alternate-route selection

– alternate to loaded link is same as if link didn’t exist

Page 87: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-87

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Goals

– minimise number of hops

– distribute load inlower classes

5 5

4 4

3 3

2 2

1 1

1

4

9

16

25

2 3

5 7

6 8

0

10 13

11 14

based on

[Girad-1990 Fig 2.24]

1512

21 17

1822

23

24

19

20

Page 88: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-88

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

• if switch LAMA capable(local automatic message accounting)

5 5

4 4

3 3

2 2

1 1

11

Page 89: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-89

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

5 5

4 4

3 3

2 2

1 1

2

2

Page 90: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-90

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

5 5

4 4

3 3

2 2

1 1

3

3

Page 91: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-91

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

5 5

4 4

3 3

2 2

1 1

4

4

Page 92: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-92

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

5 5

4 4

3 3

2 2

1 1

5

5

Page 93: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-93

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

5 5

4 4

3 3

2 2

1 1

6

6

Page 94: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-94

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

5 5

4 4

3 3

2 2

1 1

7

7

Page 95: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-95

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

5 5

4 4

3 3

2 2

1 1

8

8

Page 96: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-96

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

5 5

4 4

3 3

2 2

1 1

9

9

Page 97: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-97

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

5 5

4 4

3 3

2 2

1 1

10

10

Page 98: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-98

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

5 5

4 4

3 3

2 2

1 1

11

11

Page 99: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-99

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

5 5

4 4

3 3

2 2

1 1

12

12

Page 100: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-100

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

5 5

4 4

3 3

2 2

1 1

13

13

Page 101: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-101

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

5 5

4 4

3 3

2 2

1 1

14

14

Page 102: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-102

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

5 5

4 4

3 3

2 2

1 1

15

15

Page 103: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-103

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

5 5

4 4

3 3

2 2

1 1

16

16

Page 104: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-104

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

– high-usage class 1 links

5 5

4 4

3 3

2 2

1 1

17

17

Page 105: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-105

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

– high-usage class 1 links

5 5

4 4

3 3

2 2

1 1

18

18

Page 106: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-106

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

– high-usage class 1 links

5 5

4 4

3 3

2 2

1 1

19

19

Page 107: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-107

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

– high-usage class 1 links

5 5

4 4

3 3

2 2

1 1

20

20

Page 108: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-108

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

– high-usage class 1 links

5 5

4 4

3 3

2 2

1 1

21

21

Page 109: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-109

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

– high-usage class 1 links

5 5

4 4

3 3

2 2

1 1

22

22

Page 110: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-110

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

– high-usage class 1 links

5 5

4 4

3 3

2 2

1 1

23

23

Page 111: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-111

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

– high-usage class 1 links

5 5

4 4

3 3

2 2

1 1

24

24

Page 112: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-112

PSTN Fixed Hierarchical RoutingInterladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

• Hunt sequence

– direct high-usage link

– high-usage class 4 links

– high-usage class 3 links

– high-usage class 2 links

– high-usage class 1 links

– final links (9 hops)

• final choice possible5 5

4 4

3 3

2 2

1 1

25

25

Page 113: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-113

PSTN Fixed Hierarchical RoutingIntraladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

– given intra-link selection

• Goals

– minimise number of hops

– reduce final link load

5

4

3

2

1

0

1

2

4

6

7

5

3

3

Page 114: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-114

PSTN Fixed Hierarchical RoutingIntraladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

– given intra-link selection

• Hunt sequence

– direct high-usage trunk

5

4

3

2

1

1

1

Page 115: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-115

PSTN Fixed Hierarchical RoutingIntraladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

– given intra-link selection

• Hunt sequence

– direct high-usage trunk

– reduce class 1 hops

5

4

3

2

1

2

2

Page 116: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-116

PSTN Fixed Hierarchical RoutingIntraladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

– given intra-link selection

• Hunt sequence

– direct high-usage trunk

– reduce class 1 hops

5

4

3

2

1

3

3

3

Page 117: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-117

PSTN Fixed Hierarchical RoutingIntraladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

– given intra-link selection

• Hunt sequence

– direct high-usage trunk

– reduce class 1 hops

– reduce total/class 2 hops

5

4

3

2

1

4

4

Page 118: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-118

PSTN Fixed Hierarchical RoutingIntraladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

– given intra-link selection

• Hunt sequence

– direct high-usage trunk

– reduce class 1 hops

– reduce class 2 hops

5

4

3

2

1

5

5

Page 119: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-119

PSTN Fixed Hierarchical RoutingIntraladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

– given intra-link selection

• Hunt sequence

– direct high-usage trunk

– reduce class 1 hops

– reduce class 2 hops

5

4

3

2

1

6

6

Page 120: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-120

PSTN Fixed Hierarchical RoutingIntraladder Route Selection

• Order of link selection

– assuming trunk exists

– capacity available

– given intra-link selection

• Hunt sequence

– direct high-usage trunk

– reduce class 1 hops

– reduce class 2 hops

5

4

3

2

1

7

7

Page 121: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-121

PSTN Fixed Hierarchical RoutingSummary

Advantages?

Page 122: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-122

PSTN Fixed Hierarchical RoutingSummary

• Advantages

– simple: directly related to network topology

– easy to implement in early relay-logic switches

Disadvantages?

Page 123: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-123

PSTN Fixed Hierarchical RoutingSummary

• Advantages

– simple: directly related to network topology

– easy to implement in early relay-logic switches

• Disadvantages

– inflexible: class 5 switches cannot serve as transit nodes

– unable to support overlay area codes and number portability

– unable to adapt to time-varying load

Alternatives?

Page 124: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-124

PSTN RoutingNR.3.2 Dynamic Non-Hierarchical Routing

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.3.1 Fixed HIERarchical routing

NR.3.2 DNHR: dynamic non-hierarchical routing

NR.3.3 RTNR: real–time network routing

NR.3.4 Other dynamic routing algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 125: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-125

PSTN RoutingNon-Hierarchical Topology

• Modern PSTN lacks strict hierarchy of Bell System

– divestiture and deregulation

• multiple IXCs connecting ILECs and CLECs

– NPA overlays

– LNP (local number portability)

Page 126: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-126

PSTN RoutingNon-Hierarchical Topology

IXCs

ILECs incumbent LECS

local ILEC loops: analog or DSL, fiber

interIXC trunks

CATVInternet VoIPGW

GWInternet–PSTN gateways

GW

Page 127: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-127

PSTN RoutingNon-Hierarchical and Dynamic Routing

• Non-Hierarchical routing

– removes requirement routing matches physical hierarchy

– note: different from hierarchy for scalability (e.g. PNNI)

Page 128: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-128

PSTN RoutingNon-Hierarchical and Dynamic Routing

• Non-Hierarchical routing

– removes requirement routing matches physical hierarchy

– note: different from hierarchy for scalability (e.g. PNNI)

– planned before divestiture to increase efficiency of network

• Dynamic routing

– permit routing to adapt to traffic

Page 129: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-129

PSTN Non-Hierarchical RoutingDNHR Overview

• DNHR (dynamic non-hierarchical routing)

• AT&T long distance network

– Bell Labs research in early 1980s

– deployed in AT&T long distance network 1984–1991

– former classes 3 – 1 switches

Page 130: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-130

PSTN Non-Hierarchical RoutingDNHR Topology

• Network is a mesh of switches

• Each switch pair connected by:

– direct primary path

– alternate two-hop paths

Page 131: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-131

PSTN Non-Hierarchical RoutingDNHR Forwarding Tables

• Forwarding tables

– max of 15 paths/destination

– limited by switch computing power & memory of early 1980s

• Engineered paths

– ≤ 10 preplanned paths (typically 3 or 4)

– computed off-line every other weekend

• Real-time paths

– used in case of congestion

– computed by NOC every 5 minutes based on actual traffic

• NOC = network operations center

Page 132: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-132

PSTN Non-Hierarchical RoutingDNHR Time-Dependent Routing

• Forwarding tables swapped

• Time-dependent routing

– tables changed several times per day

why?

Page 133: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-133

PSTN Non-Hierarchical RoutingDNHR Time-Dependent Routing

• Forwarding tables swapped

• Time-dependent routing

– tables changed several times per day

– traffic patterns change with business hours

• e.g. mid-morning peak direct links congested within time zone

• Coarse time granularity for engineered paths

– 10 periods during weekdays

– 5 periods during weekend days

Page 134: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-134

PSTN Non-Hierarchical RoutingDNHR Routing Algorithm

• DNHR routing algorithm

– attempt to use primary path

– if fully loaded (congested), hunt alternatives

• engineered or real-time paths

– crankback if 2nd hop loaded

– metasatbility problems…

Page 135: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-135

PSTN Non-Hierarchical RoutingDNHR Routing Stability

• DHNR alternate path problem:

– each 2-hop path reduces capacity on two primary paths

– as more alternate paths used…less likely primary path available

• DNHR Metastability

– converge on majority of 2-hop alternate paths

– sub-optimal stable state

– solution: reserve fraction of traffic for primary paths

Page 136: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-136

PSTN Non-Hierarchical RoutingDNHR Example

• Example 7-node mesh network

SF

DE

LA

KC

DA

DC

NY [MR2007]

0

Page 137: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-137

PSTN Non-Hierarchical RoutingDNHR Example

• NY LA next hop

– simplified to

• 4 periods; 7 paths

– engineered

– dynamic

SF

DE

LA

KC

DA

DC

NY [MR2007]

0

Period NY Forwarding Sequence

Morning LA KC DA DC DE SF

Afternoon LA DA KC KC DE SF

Evening LA DC DA KC DE SF

Weekend DA DC LA KC DE SF

Page 138: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-138

PSTN Non-Hierarchical RoutingDNHR Example

• NY LA next hop

– morning period

SF

DE

LA

KC

DA

DC

NY [MR2007]

0

Period NY Forwarding Sequence

Morning LA KC DA DC DE SF

Afternoon LA DA KC KC DE SF

Evening LA DC DA KC DE SF

Weekend DA DC LA KC DE SF

Page 139: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-139

PSTN Non-Hierarchical RoutingDNHR Example

• NY LA next hop

1. try direct NYLA

SF

DE

LA

KC

DA

DC

NY [MR2007]

1

Period NY Forwarding Sequence

Morning LA KC DA DC DE SF

Afternoon LA DA KC KC DE SF

Evening LA DC DA KC DE SF

Weekend DA DC LA KC DE SF

Page 140: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-140

PSTN Non-Hierarchical RoutingDNHR Example

• NY LA next hop

1. try direct NYLA else

2. try NYKC

SF

DE

LA

KC

DA

DC

NY [MR2007]

2

Period NY Forwarding Sequence

Morning LA KC DA DC DE SF

Afternoon LA DA KC KC DE SF

Evening LA DC DA KC DE SF

Weekend DA DC LA KC DE SF

Page 141: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-141

PSTN Non-Hierarchical RoutingDNHR Example

• NY LA next hop

1. try direct NYLA else

2. try NYKCLA

SF

DE

LA

KC

DA

DC

NY [MR2007]

4

Period NY Forwarding Sequence

Morning LA KC DA DC DE SF

Afternoon LA DA KC KC DE SF

Evening LA DC DA KC DE SF

Weekend DA DC LA KC DE SF

Page 142: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-142

PSTN Non-Hierarchical RoutingDNHR Example

• NY LA next hop

1. try direct NYLA else

2. try NYKCLA

(attempt crankback KC_)

SF

DE

LA

KC

DA

DC

NY [MR2007]

5

Period NY Forwarding Sequence

Morning LA KC DA DC DE SF

Afternoon LA DA KC KC DE SF

Evening LA DC DA KC DE SF

Weekend DA DC LA KC DE SF

Page 143: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-143

PSTN Non-Hierarchical RoutingDNHR Example

• NY LA next hop

1. try direct NYLA else

2. try NYKCLA

(attempt crankback KC_)

SF

DE

LA

KC

DA

DC

NY [MR2007]

6

Period NY Forwarding Sequence

Morning LA KC DA DC DE SF

Afternoon LA DA KC KC DE SF

Evening LA DC DA KC DE SF

Weekend DA DC LA KC DE SF

Page 144: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-144

PSTN Non-Hierarchical RoutingDNHR Example

• NY LA next hop

1. try direct NYLA else

2. try NYKCLA else

3. try NYDA

SF

DE

LA

KC

DA

DC

NY [MR2007]

7

Period NY Forwarding Sequence

Morning LA KC DA DC DE SF

Afternoon LA DA KC KC DE SF

Evening LA DC DA KC DE SF

Weekend DA DC LA KC DE SF

Page 145: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-145

PSTN Non-Hierarchical RoutingDNHR Example

• NY LA next hop

1. try direct NYLA else

2. try NYKCLA else

3. try NYDALA

SF

DE

LA

KC

DA

DC

NY [MR2007]

8

Period NY Forwarding Sequence

Morning LA KC DA DC DE SF

Afternoon LA DA KC KC DE SF

Evening LA DC DA KC DE SF

Weekend DA DC LA KC DE SF

Page 146: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-146

PSTN Non-Hierarchical RoutingDNHR Example

• NY LA next hop

1. try direct NYLA else

2. try NYKCLA else

3. try NYDALA done!

SF

DE

LA

KC

DA

DC

NY [MR2007]

9

Period NY Forwarding Sequence

Morning LA KC DA DC DE SF

Afternoon LA DA KC KC DE SF

Evening LA DC DA KC DE SF

Weekend DA DC LA KC DE SF

Page 147: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-147

PSTN RoutingNR.3.3 Real-Time Network Routing

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.3.1 Fixed HIERarchical routing

NR.3.2 DNHR: dynamic non-hierarchical routing

NR.3.3 RTNR: real–time network routing

NR.3.4 Other dynamic routing algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 148: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-148

PSTN Real-Time Network RoutingRTNR Overview

• RTNR (real-time network routing)

– developed by Bell Labs in late 1980s to improve on DNHR

– deployed in AT&T voice network 1991–present

• Motivation

– DNHR was not adaptive enough

– off-line computations and administration costly

– increased switch processing and memory capabilities

Page 149: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-149

PSTN Real-Time Network RoutingRTNR Forwarding and Routing

• Forwarding tables

– change dynamically based on traffic conditions

• Routing

– fully distributed algorithm

– paths computed per call

• used for next call to reduce call-setup delay

Page 150: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-150

PSTN RoutingNR.3.4 Other Dynamic Routing Algorithms

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.3.1 Fixed HIERarchical routing

NR.3.2 DNHR: dynamic non-hierarchical routing

NR.3.3 RTNR: real–time network routing

NR.3.4 Other dynamic routing algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 151: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-151

PSTN Routing AlgorithmsOther Dynamic Algorithms

• DCR: dynamically controlled routing

– developed by BNR (Bell-Northern Research) for Canada

• DAR: dynamic alternate routing

– developed by BT Labs (British Telecom)

Page 152: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-152

Network RoutingNR.4 Internet Routing

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.4.1 Intradomain routing: RIP and OSPF

NR.4.2 Interdomain routing: BGP

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 153: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-153

Internet Routing TopologyCurrent Internet Structure

tier-1 providers

IXP IXP

tier-2

providers

local ISPs

access lines

peering points

Page 154: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-154

Internet Routing TopologyAS Intra/Inter-Domain Hierarchy

• Autonomous systems (ASs) or domains– administrative autonomy

– improves scalability

• Two-layer major hierarchy

– intradomain within AS

– interdomain between ASs

• Routing protocols loads forwarding tables

Page 155: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-155

Network RoutingNR.4.1 Internet Intradomain Routing

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.4.1 Intradomain Routing: RIP and OSPF

NR.4.2 Interdomain Routing: BGP

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 156: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-156

Internet RoutingIntradomain Routing and Forwarding

• Intra-AS or intradomain routing

– IGP (interior gateway protocol)

• IGP determines intra-AS entries

– determines paths within AS

– loads forwarding tables within AS

– IP forwards

• Each AS can choose the IGP of its choice

– may be hierarchical within AS

• Example IGPs

– RIP, OSPF, ISIS, IGRP/EIGRP

Page 157: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-157

Internet RoutingInterdomain Routing and Forwarding

• Inter-AS or interdomain routing

– EGP (exterior gateway protocol)

• EGP determines inter-AS entries in edge nodes

– determines inter-AS reachability for particular AS IP blocks

– loads edge router forwarding tables

– must also propagate within AS and load forwarding tables

• All Internet ASs must agree on the EGP

– BGP-4: border gateway protocol is de facto standard

– evolution difficult; replacement probably impossible

Page 158: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-158

Intradomain RoutingIntradomain Protocols

• RIP: routing information protocol

– original IGP

• EIGRP: (enhanced) interior gateway routing protocol

– Cisco proprietary replacement for RIP

• ISIS: intermediate system – intermediate system

– OSI IGP

• OSPF: open shortest path first

– IETF replacement for RIP

• OSPF or ISIS used by virtually all service providers

– distance vector convergence too slow

Page 159: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-159

Intradomain RoutingRIP Overview

• RIP: routing information protocol [RFC 2453]

• Early intradomain routing protocol

– derived from XNS (Xerox Network Systems) architecture

– included in BSD Unix in 1982 as routed

– largely replaced by L2 switching

• Distance vector routing protocol

– distance metric: number of subnet hops

• maximum of 15

• limits RIP to small networks

– distance vectors advertised every 30 sec.

– transported over UDP

Page 160: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-160

Intradomain RoutingIGRP/EIGRP Overview

• IGRP: interior gateway routing protocol

• Cisco replacement for RIP

– initially developed before OSPF

– more complex “distance” metrics

• delay, bandwidth, load, reliability, hop count, MTU

– multiple paths to destination

– improved convergence

• triggered updates, split horizon, holddown

– runs directly over IP: protocol ID = 88

• EIGRP: enhanced IGRP (E exterior!)

– CIDR route aggregation and other features

Page 161: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-161

Intradomain RoutingISIS Overview

• ISIS: intermediate system to intermediate system

– used by many service providers

– was available before OSPF

• OSI routing protocol

– derived from DECnet phase V routing

– adopted by ISO for CLNP (connectionless networking)

• Link state routing protocol

– messages transported directly over IP

– ISIS protocol ID = 124

– very similar to OSPF in operation

Page 162: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-162

Intradomain RoutingOSPF Link State

• OSPF is a link state routing protocol [RFC 2328/5340v6]

– IETF open development process

– messages transported directly over IP: protocol ID = 89

• Dijkstra least-cost path algorithm

– shortest path first (SPF)

– link costs

• configured by network administrator

• set to 1 for minimum hop routing

Page 163: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-163

Intradomain RoutingOSPF Initialisation and Operation

• Initialisation– hello establishes link adjacencies to all neighbours

– and maintains liveness

– database description loads topology information

• Operation

– link state advertisements flooded to AS

• directed link weights use multiple parameters

• link costs configured by network administrator

• 1 for minimum hop routing

– Dijkstra least-cost path algorithm

Page 164: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-164

Intradomain RoutingOSPF Common Header

• Common header (20 B)– version #– type:

1 = hello2 = database description (initialisation)3 = link state request4 = link state update 5 = link state acknowledgement (for reliable flooding)

– packet length (OSPF header + payload)– router ID of message source– area ID– checksum– authentication type– authentication todo: packet format figure

Page 165: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-165

Intradomain RoutingOSPF Link State Advertisements

• LSAs (link state advertisements)

– reliable flooding within AS

• ACKs returned

• LSAs flooded

– whenever link state changes

– periodically (at least 30 min. interval)

Page 166: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-166

Intradomain RoutingOSPF LSA Header

• LSA header (after common header)

– LS age: time since LSA originated [s]

– options

– type

– link state ID

– advertising router

– LS sequence number

– LS checksum

– length

todo: packet format figure

Page 167: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-167

Intradomain RoutingOSPF Features

• Security:

– all OSPF messages authenticated

• Multipath routing

– multiple equal-cost paths supported

– can cause problems to end-to-end protocols

• effect on TCP packet ordering

• Hierarchy

– 2-level scales to larger ASs

• Multicast routing

– MOSPF: multicast OSPF [RFC 1584]

Page 168: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-168

Intradomain RoutingOSPF Hierarchy

• OSPF supports 2-layer hierarchy

• AS divided into areas connected by the backbone– backbone area ID 0.0.0.0

• LSAs flooded only within area

– or within backbone

• Border routers summarise costs within area

– advertise to other border routers

• Boundary routers connect to other ASs

– results in 3-layer Internet hierarchy:BGP / OSPF backbone / OSPF area

todo: figure

Page 169: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-169

Network RoutingNR.4.1 Internet Interdomain Routing

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.4.1 Intradomain Routing: RIP and OSPF

NR.4.2 Interdomain Routing: BGP

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

Page 170: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-170

AS Routing HierarchyMotivation for Different Protocols1

• Motivation for different inter- and intra-AS protocols

• Scalability

– additional EGP over IGP hierarchy enhances scalability

– but fixed 2-level hierarchy limits benefits

• Flexibility

• Policy

Page 171: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-171

AS Routing HierarchyMotivation for Different Protocols2

• Motivation for different inter- and intra-AS protocols

• Scalability

• Flexibility

– AS boundaries are administrative reality

– allows each AS to choose its own IGP

– but doesn’t allow integrated hierarchy with IGPs

• Policy

Page 172: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-172

AS Routing HierarchyMotivation for Different Protocols3

• Motivation for different inter- and intra-AS protocols

• Scalability

• Flexibility

• Policy

– inter-AS peering and transit a business decision

– BGP policy not well designed from beginning

• policies may never converge

• convergence dependent on message order and link state

• not possible to compute if policies will converge

Page 173: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-173

Interdomain RoutingBGP Overview

• Border gateway protocol (BGP) [RFC 2328 / STD 0054]

• IETF interdomain routing protocol (EGP)

– de facto standard; all ASs must use to interconnect

– current version is BGP4

– BGP replaced initial EGP [RFC 0904]

• BGP has many flaws

– many papers on how BGP is broken and proposals to fix

– but BGP is part of the (interdomain) Internet hourglass

• as hard to evolve or replace as IP

Page 174: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-174

Interdomain RoutingCurrent Internet Structure

tier-1 providers

IXP IXP

tier-2

providers

local ISPs

access lines

peering points

Page 175: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-175

Interdomain RoutingBGP Path Vector

• Path vector routing protocol

• Some similarity to distance vector– paths advertised instead of distance metrics

– sequence of AS numbers

• assigned by RIPE, ARIN, etc.

• Propagates reachability information– ASs advertise their existence to Internet

– policy determines which choices an AS makes

• Messages transported over TCP

Page 176: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-176

Interdomain RoutingBGP Sessions

• BGP session is association between peers– eBGP: exterior BGP session between ASs

– iBGP: interior BGP session within AS

• fully connected mesh

• multihop TCP if direct link doesn’t exist (app layer protocol? )

• allows route advertisements to reach every node

1A

1C 1B

1D

AS1

3A

AS3

2A

AS2

eBGP eBGP

iBGP

[Kurose–Ross p.380]

Page 177: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-177

Interdomain RoutingBGP Route Advertisements

• Route advertisements– promise to forward to destination

– IP prefixes are aggregated

1A

1C 1B

1D

AS1

3A

AS3

2A

AS2

Page 178: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-178

Interdomain RoutingBGP Reachability Example

• BGP advertisement example– propagation of AS3:3A reachability into AS2

1A

1C 1B

1D

AS1

3A

AS3

2A

AS2

0

Page 179: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-179

Interdomain RoutingBGP Reachability Example

• BGP advertisement example– propagation of AS3:3A reachability into AS2

• AS3 prefix reachability to AS1 using eBGP 3A1C

1A

1C 1B

1D

AS1

3A

AS3

2A

AS2

1

Page 180: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-180

Interdomain RoutingBGP Reachability Example

• BGP advertisement example– propagation of AS3:3A reachability into AS2

• AS3 prefix reachability to AS1 using eBGP 3A1C

• 1C distributes new prefix route using iBGP in AS1

1A

1C 1B

1D

AS1

3A

AS3

2A

AS2

2

Page 181: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-181

Interdomain RoutingBGP Reachability Example

• BGP advertisement example– propagation of AS3:3A reachability into AS2

• AS3 prefix reachability to AS1 using eBGP 3A1C

• 1C distributes new prefix route using iBGP in AS1

• 1B re-advertise new prefix to AS2 using eBGP 1B2A

1A

1C 1B

1D

AS1

3A

AS3

2A

AS2

3

Page 182: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-182

Interdomain RoutingBGP Reachability Example

• BGP advertisement example– propagation of AS3:3A reachability into AS2

• AS3 prefix reachability to AS1 using eBGP 3A1C

• 1C distributes new prefix route using iBGP in AS1

• 1B re-advertise new prefix to AS2 using eBGP 1B2A

• New prefix received creates fwd table entry to AS3

1A

1C 1B

1D

AS1

3A

AS3

2A

AS2

4

AS3

Page 183: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-183

Intradomain RoutingRoutes and Path Attributes

• BGP prefix advertisements include BGP attributes

– prefix + attributes = route

• Important attributes:

– AS-PATH

• AS numbers through which advertisement passed

– NEXT-HOP

• specific internal-AS router to next-hop AS

• may be multiple links from current AS to next-hop-AS

• When edge router receives route advertisement

– use import policy to accept/decline

Page 184: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-184

Intradomain RoutingBGP Route Selection

• Router may learn about multiple routes to a prefix

• Elimination rules:

– local preference value attribute

• policy decision

– shortest AS-PATH

– closest NEXT-HOP router

• hot potato routing

– additional policy criteria

Page 185: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-185

Intradomain RoutingBGP Messages

• BGP messages exchanged over TCP

– OPEN

• opens TCP connection to peer & authenticates sender

– UPDATE

• advertises new path (or withdraws old)

– KEEPALIVE

• keeps connection alive in absence of UPDATES

• also acknowledges OPEN request

– NOTIFICATION

• reports errors in previous message

• also used to close connection

todo: packet format figure

Page 186: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-186

Intradomain RoutingBGP Example

• Topology

– provider networks AS 1,2,3

• e.g. tier-1 or tier-2

– subscriber networks AS 70,80,90

• e.g. tier-3, enterprise, campus

– AS80 dual-homed

why?

AS2

AS1

AS3

AS70

AS90

AS80

[Kurose–Ross p.382]

Page 187: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-187

Intradomain RoutingBGP Example: Multihoming

• Topology

– provider networks AS 1,2,3

• e.g. tier-1 or tier-2

– subscriber stub networks AS 70,80,90

• e.g. tier-3,enterprise, campus

– AS80 dual-homed

• for resilience if one service provider fails or link goes down

AS2

AS1

AS3

AS70

AS90

AS80

[Kurose–Ross p.382]

Page 188: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-188

Intradomain RoutingBGP Policy Example: Transit Traffic

• Subscriber network policy: transit traffic

is AS80 likely to want to route between AS2 and AS3?

why?

AS2

AS1

AS3

AS70

AS90

AS80

[Kurose–Ross p.382]

Page 189: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-189

Intradomain RoutingBGP Policy Example: Transit Traffic

• Subscriber network policy: transit traffic

– AS80 is unlikely to route transit traffic between AS2 and AS3

• stub network only sources or sinks traffic

– tier-3 not engineered to transit tier-2 traffic

– no economic benefit

How is this accomplished?

AS2

AS1

AS3

AS70

AS90

AS80

[Kurose–Ross p.382]

Page 190: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-190

Intradomain RoutingBGP Policy Example: Transit Traffic

• Subscriber network policy: transit traffic

– AS80 is unlikely to route transit traffic between AS2 and AS3

• AS80 route advertisements

– will not advertise 80390 to AS2

AS2

AS1

AS3

AS70

AS90

AS80

[Kurose–Ross p.382]

Page 191: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-191

Intradomain RoutingBGP Policy Example: Provider Policy

• Provider policy examples

– AS1 advertises 170 to AS2

– AS2 advertises 2170 to AS80

should AS2 advertise 2170 to AS3?

AS2

AS1

AS3

AS70

AS90

AS80

[Kurose–Ross p.382]

Page 192: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-192

Intradomain RoutingBGP Policy Example: Provider Policy

• Provider policy examples

– AS1 advertises 170 to AS2

– AS2 advertises 2170 to AS80

– AS2 not likely to advertise 2170 to AS3

• neither AS70 nor AS3 are AS2’s customers

• AS2 wants to force AS3 to route to AS70 via AS1

• AS2 wants to route only to and from its own customers

AS2

AS1

AS3

AS70

AS90

AS80

[Kurose–Ross p.382]

Page 193: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-193

Network RoutingNR.5 Broadcast and Multicast Routing

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routingNR.5.1 Overview and motivationNR.5.2 Broadcast algorithmsNR.5.3 Multicast algorithmsNR.5.4 Internet multicast protocolsNR.5.5 Reliable multicastNR.5.6 Anycast algorithms and protocols

NR.6 Overlay routing and DHTs

Page 194: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-194

Network RoutingNR.5.1 Broadcast and Multicast Overview

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routingNR.5.1 Overview and motivationNR.5.2 Broadcast algorithmsNR.5.3 Multicast algorithmsNR.5.4 Internet multicast protocolsNR.5.5 Reliable multicastNR.5.6 Anycast algorithms and protocols

NR.6 Overlay routing and DHTs

Page 195: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-195

Broadcast and MulticastGroup Communication

• Multicast

– point-to-multipoint

single source multiple destinations

– reverse multicast (multipoint-to-point)

multiple sources single destination

– multipoint-to-multipoint

multiple sources [] multiple destinations

• Broadcast

– single source all destinations (in a given subnetwork)

Page 196: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-196

Broadcast and MulticastMotivation and ALM

• Application-layer multicast (ALM) or broadcast

advantages and disadvantages?

Page 197: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-197

Broadcast and MulticastMotivation and ALM

• Application-layer multicast (ALM) or broadcast

– source sends multiple times: once to each destination

– necessary if network-layer multicast not available

• note: BGP does not support multicast

• most ISPs do not enable multicast

Alternative?

S

RR

AR R

R R

BCR R

Page 198: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-198

Broadcast and MulticastNetwork Multicast Motivation

• Application-layer multicast (ALM) or broadcast

• Network-layer multicast or broadcast

– source sends once to single address

– network duplicates packets as necessary

• requires multicast algorithms and protocols

• significant benefits ofmulticast switches Lecture NL

– significant bandwidthconservation possible

• but ISPs don’t do it

S

RR

A

BCR R

R R

R R

Page 199: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-199

Network RoutingNR.5.2 Broadcast Algorithms

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routingNR.5.1 Overview and motivationNR.5.2 Broadcast algorithmsNR.5.3 Multicast algorithmsNR.5.4 Internet multicast protocolsNR.5.5 Reliable multicastNR.5.6 Anycast algorithms and protocols

NR.6 Overlay routing and DHTs

Page 200: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-200

Broadcast AlgorithmsOverview

• Broadcast capable LAN

– native broadcast transparent to layer 3

What is the simplest broadcast algorithm?(assuming a non-broadcast mesh)

Page 201: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-201

Broadcast AlgorithmsFlooding

• Broadcast capable LAN

– native broadcast transparent to layer 3

• Flooding– every node duplicates to all destinations

• except one from which packet received

problem?

Page 202: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-202

Broadcast AlgorithmsFlooding

• Broadcast capable LAN

– native broadcast transparent to layer 3

• Flooding

– every node duplicates to all destinations

• except one from which packet received

– only suitable if no cycles in network graph

• otherwise broadcast storm

Alternative?

Page 203: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-203

Broadcast AlgorithmsControlled Flooding

• Broadcast capable LAN

– native broadcast transparent to layer 3

• Flooding

– every node duplicates to all destinations

• except one from which packet received

– only suitable if no cycles in network graph

• otherwise broadcast storm

• Controlled flooding– only duplicate and forward if packet arrives for the 1st time

Page 204: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-204

Broadcast AlgorithmsControlled Flooding: Sequence Number

• Sequence-number controlled-flooding

– each node inserts its address & sequence number in packet

– each node maintains list of previously forwarded packets

how long to keep the sequence number?

– forward only if not in list

– examples:

• OSPF and ISIS LSA flooding

• Gnutella (application layer) broadcast

Page 205: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-205

Broadcast AlgorithmsControlled Flooding: Sequence Number

• Sequence-number controlled-flooding

– each node inserts its address & sequence number in packet

– each node maintains list of previously forwarded packets

• soft state: keep longer than expected packet life in network

– forward only if not in list

– examples:

• OSPF and ISIS LSA flooding

• Gnutella (application layer) broadcast

Page 206: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-206

Broadcast AlgorithmsControlled Flooding: RPF

• Reverse path forwarding

0

A

BC

DEF

G

[Kurose–Ross p.388]

Page 207: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-207

Broadcast AlgorithmsControlled Flooding: RPF

• Reverse path forwarding

• Each node in tree

– find shortest path to root

1

A

BC

DEF

G

[Kurose–Ross p.388]

Page 208: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-208

Broadcast AlgorithmsControlled Flooding: RPF

• Reverse path forwarding

• Each node in tree

– find shortest path to root

– duplicate and forwardonly if receivedon shortest path

2

A

BC

DEF

G

[Kurose–Ross p.388]

Page 209: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-209

Broadcast AlgorithmsControlled Flooding: RPF

• Reverse path forwarding

• Each node in tree

– find shortest path to root

– duplicate and forwardonly if receivedon shortest path

– otherwise discard

3

A

BC

DEF

G

[Kurose–Ross p.388]

Page 210: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-210

Broadcast AlgorithmsControlled Flooding: RPF

• Reverse path forwarding

• Each node in tree

– find shortest path to root

– duplicate and forwardonly if receivedon shortest path

– otherwise discard

4

A

BC

DEF

G

[Kurose–Ross p.388]

Page 211: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-211

Broadcast AlgorithmsControlled Flooding: RPF

• Reverse path forwarding

• Each node in tree

– find shortest path to root

– duplicate and forwardonly if receivedon shortest path

– otherwise discard

• Self-terminating

– no cycles possible

5

A

BC

DEF

G

[Kurose–Ross p.388]

Page 212: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-212

Broadcast AlgorithmsSpanning Tree

• Spanning tree

– tree that contains every node in graph

– no cycles

0

A

BC

DEF

G

[Kurose–Ross p.388]

Page 213: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-213

Broadcast AlgorithmsSpanning Tree

• Spanning tree

– tree that contains every node in graph

– no cycles

• Packet forwarded

– from any node in tree

1

A

BC

DEF

G

[Kurose–Ross p.388]

Page 214: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-214

Broadcast AlgorithmsSpanning Tree

• Spanning tree

– tree that contains every node in graph

– no cycles

• Packet forwarded

– from any node in tree

– does not need to be root

2

A

BC

DEF

G

Page 215: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-215

Broadcast AlgorithmsSpanning Tree Construction

• Spanning tree construction

– main complexity of approach

• Various approaches

– center-based

– source-based

examples later

A

BC

DEF

G

Page 216: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-216

Network RoutingNR.5.3 Multicast Algorithms

NR.1 Functions and servicesNR.2 Routing algorithmsNR.3 PSTN routing architecture and algorithmsNR.4 Internet routing architecture and protocolsNR.5 Broadcast, multicast, and anycast routing

NR.5.1 Overview and motivationNR.5.2 Broadcast algorithmsNR.5.3 Multicast algorithmsNR.5.4 Internet multicast protocolsNR.5.5 Reliable multicastNR.5.6 Anycast algorithms and protocols

NR.6 Overlay routing and DHTs

Page 217: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-217

Multicast Overview

• Communication among subset of nodes is multicast

• Multicast addressing

why is an address needed?

• Multicast routing

– construct a multicast tree connecting group members

– not all links among switches between participating nodes

• Multicast forwarding

– forward packets to all group members on multicast tree

Page 218: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-218

Multicast Overview

• Communication among subset of nodes is multicast

• Multicast addressing

– group address for subset of nodes

• Multicast routing

– construct a multicast tree connecting group members

– not all links among switches between participating nodes

• Multicast forwarding

– forward packets to all group members on multicast tree

Page 219: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-219

Multicast TreesGroup Shared

• Group shared

– all senders in group use same tree

– permits multipoint-to-multipoint

– difficult to implement and manage

• Source-based

– each sender uses its own tree

A

BC

A

BC

DEF

Page 220: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-220

Multicast TreesSource Based

• Group shared

– all senders in group use same tree

• Source-based

– each sender uses its own tree

– simpler to manage than shared

– point-to-multipoint groups

A

BC

A

BC

DEF

1

Page 221: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-221

Multicast AlgorithmsTree Alternatives: Source Based

• Group shared

– all senders in group use same tree

• Source-based

– each sender uses its own tree

– simpler to manage than shared

– point-to-multipoint groups

– multipoint-to-multipoint

• multiple groups needed

A

BC

A

BC

DEF

2

Page 222: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-222

Multicast AlgorithmsSteiner Tree

• Steiner tree– minimum cost spanning tree among group members

• Construction algorithm is NP-complete– not solvable in polynomial time

– but excellent heuristics exist

• Not used in Internet practice

– computational complexity of heuristics

– information about entire network needed

– monolithic: rerun whenever a router needs to join/leave

• proposed in the context of ATM [Waxman]

Page 223: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-223

Multicast AlgorithmsCenter-Based Tree

• Center-based tree:

– single delivery tree shared by all

– one router identified as center of tree (core)

• To join:– edge router sends unicast join-msg addressed to core

– join-msg processed by intermediates & forwarded to center

– join-msg either

• hits existing tree branch for this center, or

• arrives at center

– join-msg path becomes new branch of tree for this router

todo: add K&R examples

Page 224: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-224

Network RoutingNR.5.4 Internet Multicast Protocols

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routingNR.5.1 Overview and motivationNR.5.2 Broadcast algorithmsNR.5.3 Multicast algorithmsNR.5.4 Internet multicast protocolsNR.5.5 Reliable multicastNR.5.6 Anycast algorithms and protocols

NR.6 Overlay routing and DHTs

Page 225: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-225

Internet MulticastProtocols and Algorithms

• Internet IP multicast

• Addressing

– IGMP: internet group multicast protocol [RFC 3376]

– does not include multicast routing algorithm

• Multicast routing algorithm and protocol

– e.g. DVMRP, PIM, MOSPF

• AS dependent multicast• recall that BGP does not support multicast

• inter-AS multicast must be tunneled

– but rarely is

Page 226: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-226

Internet MulticastAddressing: IGMP

• IGMP: internet group multicast protocol [RFC 3376]

– carried in IP datagram: protocol ID = 2

• Receiver driven– multicast receivers join group

• Messages

– membership query

– membership report (join group)

– leave group (optional)

Page 227: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-227

Internet MulticastRouting Protocols

• Internet IP multicast consists of two components:

• IGMP: internet group multicast protocol [RFC 3376]

– way for end system (host) to join multicast tree

– does not include multicast routing algorithm Lecture NL

• Multicast routing protocols

– DVMRP: distance vector multicast routing protocol

– PIM: protocol independent multicast

– MOSPF: multicast OSPF

Page 228: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-228

Internet Multicast ProtocolsMulticast Tunneling

• Not all routers support IP multicast

– no interdomain (BGP) multicast

– allows selective deployment or enabling within AS

How to support multicast?

A

BC

DEF

0

Page 229: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-229

Internet Multicast ProtocolsMulticast Tunneling

• Not all routers support IP multicast

– no interdomain (BGP) multicast

– allows selective deployment or enabling within AS

• IGMP datagram tunneled between multicast routers

– multicast overlay virtual topology A

BC

DEF

1

Page 230: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-230

Internet Multicast ProtocolsMulticast Tunneling

• Not all routers support IP multicast

– no interdomain (BGP) multicast

– allows selective deployment or enabling within AS

• IGMP datagram tunneled between multicast routers

– multicast overlay virtual topology

– multicast tunnel source encapsulatesIGMP in IP unicast datagram

A

BC

DEF

2

Page 231: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-231

Internet Multicast ProtocolsMulticast Tunneling

• Not all routers support IP multicast

– no interdomain (BGP) multicast

– allows selective deployment or enabling within AS

• IGMP datagram tunneled between multicast routers

– multicast overlay virtual topology

– multicast tunnel source encapsulatesIGMP in IP unicast datagram

– IP datagram addressed totunnel destination

– receiving multicast routerdecapsulates IGMP datagram

A

BC

DEF

3

Page 232: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-232

Internet Multicast ProtocolsDVMRP Overview

• DVMRP: distance vector multicast routing protocol[RFC 1075]

– first Internet multicast routing protocol

• but not first multicast! [Kadaba 1983]

– used in MBone (Internet multicast backbone)

• Distance vector algorithm

– to compute shortest path from source

• Source-based trees: flood and prune

– initial datagram flooded

– RPF tree constructed with DVMRPs own routing tables

– pruning to eliminate unnecessary nodes

Page 233: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-233

Internet Multicast ProtocolsDVMRP Soft State

• Soft state

– DVMRP router periodically forgets branches are pruned

– 1 min. interval

– multicast data again flows down unpruned branches

– downstream router: reprune or else continue to receive data

• Routers can quickly regraft to tree

– following IGMP join at leaf

Page 234: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-234

Internet Multicast ProtocolsPIM Overview

• PIM: protocol independent multicast [RFC 2362]

– not dependent on any particular unicast routing algorithm

– compatible with RIP, IGRP, OSPF, ISIS, etc.

• Dense mode

– multicast group members densely located

– example: within campus or enterprise

• Sparse mode

– multicast group members widely dispersed

– most nodes do not need to multicast (to a particular group)

– example: users scattered about the Global Internet

Page 235: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-235

Internet Multicast ProtocolsPIM Dense Mode

• PIM dense mode

– densely located group members

• Data-driven tree construction

– RPF: underlying unicast provides forwarding information

– flood and prune: membership assumed until pruning

– less complicated downstream flood than DVMRP

– protocol mechanism for router to detect it is a leaf-node

• Bandwidth and node processing assumed plentiful

– within AS

– particularly within enterprise or campus

Page 236: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-236

Internet Multicast ProtocolsPIM Sparse Mode

• PIM sparse mode

– widely-scattered sparsely-connected group members

• Control-driven tree construction

– no group membership until nodes explicitly join

– receiver-driven to center-based tree

• rendezvous point (RP)

• Bandwidth and node processing assumed scarce

– across entire Internet

• although core over-provisioned, not enough for dense-mode

– constrained access link bandwidth

todo: add PIM examples based on K&R

Page 237: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-237

Network RoutingNR.5.5 Reliable Multicast

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routingNR.5.1 Overview and motivationNR.5.2 Broadcast algorithmsNR.5.3 Multicast algorithmsNR.5.4 Internet multicast protocolsNR.5.5 Reliable multicastNR.5.6 Anycast algorithms and protocols

NR.6 Overlay routing and DHTs

Page 238: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-238

Reliable Multicast Overview

• Internet multicast is not reliable

– IP datagrams used by IGMP are unreliable

• Some applications require reliable multicast– e.g. multicast of software distributions

Problems and issues?

Page 239: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-239

Reliable Multicast Overview

• Internet multicast is not reliable

– IP datagrams used by IGMP are unreliable

• Some applications require reliable multicast– e.g. multicast of software distributions

• Problems

– reliability must be provided end-to-end (E2E arguments)

– network support needed to get benefits of network multicast

Page 240: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-240

Reliable Multicast Alternatives

• Transport layer reliable multicast

– end-to-end reliability

– no benefits of network traffic aggregation

• unless interacts directly with network layer multicast trees

Page 241: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-241

Reliable Multicast ACK Implosion

• ACK implosion problem

– reverse of multicast bandwidth problem

– even when routers split forward multicast

• Alternative:network-layer reliable multicast

– multicast nodesmanage ACKs or NAKs

• ACK aggregation complexity

• NAK timer management

• Lots of research has been done

– but no consensus on solutions

S

RR

AR R

R R

BCR R

Page 242: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-242

Network RoutingNR.5.6 Anycast Algorithms and Protocols

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routingNR.5.1 Overview and motivationNR.5.2 Broadcast algorithmsNR.5.3 Multicast algorithmsNR.5.4 Internet multicast protocolsNR.5.5 Reliable multicastNR.5.6 Anycast algorithms and protocols

NR.6 Overlay routing and DHTs

Page 243: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-243

Anycast Overview

• Communication to any receiver within anycast group– k-cast when destined to k nodes in group

– anycast is k=1

• Anycast addressing

– group address for anycast receiver nodes

• Internet anycast [RFC 1546, 4786, 7094]

– conceptual model

– does not solve routing and hard problems

• Increasingly used by DNS

Page 244: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-244

Network RoutingNR.6 Overlay Routing and DHTs

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

NR.6.1 Motivation and application for overlay routing

NR.6.2 Distributed hash tables and chord routing

Page 245: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-245

Overlay Routing and DHTsNR.6.1 Motivation and Application

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

NR.6.1 Motivation and application for overlay routing

NR.6.2 Distributed hash tables and chord routing

Page 246: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-246

Overlay NetworksMotivating Example

• Applications frequently need unique network services

– not supported by IP

– not offered or allowed by ISP

• Examples

– ALM or reliable multicast

– other addressing schemes

Solution?

Page 247: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-247

Overlay NetworksMotivating Example

• Applications frequently need unique network services

– not supported by widely deployed protocols such as IP

– Internet hourglass waist restricts functionality to

• IP addressing

• BGP interdomain routing

• Examples

– VLANs (virtual local area networks)

– encrypted tunnels

– applications needing other addressing/routing/forwarding

– reliable multicast

Page 248: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-248

Overlay NetworksDefinition

• Overlay

– any instance of a protocol P over protocol Q

– for which layer(P) ≯ layer(Q)

• Examples:

– IP (L3) over ATM (L3)

– IPv6 (L3) over IPv4 (L3)

– P2P (L7 over L3) over TCP (L4) over IP (L3)

Page 249: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-249

Overlay NetworksMotivating Example

• End systems on Internet 1

2

3

4

5

6

7

8

Page 250: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-250

Overlay NetworksMotivating Example

• End systems on Internet

• Information forwarded in circular order

1

2

3

4

5

6

7

8

Page 251: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-251

Overlay NetworksMotivating Example

• End systems on Internet

• Information forwarded in circular order

– but not supported by IP

solution?

1

2

3

4

5

6

7

8

Page 252: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-252

Overlay NetworksMotivating Example

• End systems on Internet

• Information forwarded in circular order

• Build circular overlay

– over TCP connections between ESi and ESi+1

– probably multiple IP hops

1

2

3

4

5

6

7

8

Page 253: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-253

Overlay NetworksMotivating Example

• End systems on Internet

• Information forwarded in circular order

• Build circular overlay

– over TCP connections between ESi and ESi+1

– ESs perform L3 functions:

• address

• route

• forward

– as layer 7 over layer 4 (TCP)

1

2

3

4

5

6

7

8

Page 254: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-254

Overlay Routing and DHTsNR.6.2 Distributed Hash Tables and Chord

NR.1 Functions and services

NR.2 Routing algorithms

NR.3 PSTN routing architecture and algorithms

NR.4 Internet routing architecture and protocols

NR.5 Broadcast, multicast, and anycast routing

NR.6 Overlay routing and DHTs

NR.6.1 Motivation and application for overlay routing

NR.6.2 Distributed hash tables and chord routing

Page 255: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-255

Peer-to-Peer File Sharing Improving Growth Complexity

• Question: can we do better?

– O (n) node state of centralised and hybrid

– poor resilience of centralised

– O (hn2) comm. overhead of distributed flooding

What is the goal?

Page 256: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-256

Peer-to-Peer File Sharing Improving Growth Complexity

• Question: can we do better?

– O (n) node state of centralised and hybrid

– poor resilience of centralised

– O (hn2) comm. overhead of distributed flooding

• Goal: locate information by content– avoid flooding for search query

• CAMs (content addressable memories)

– return value in 1 cycle by simultaneous matching all entries

– but how to distribute?

Page 257: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-257

Peer-to-Peer File Sharing Background: Hashing

• Hashing is a mapping to a fixed-size string– hash function H(x) = a

– important property:x y H(x) H(y) with high probability

• otherwise a hash collision must be resolved

• Examples:

– CRC (cyclic redundancy check)

– message digest, e.g. MD5

– hash table for content-based addressing

Can we exploit this for P2P?

Page 258: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-258

Structured P2P File Sharing DHT Overview

• Traditional hash tables index by content locally

• Observation:

– divide hash-space among distributed systems

– DHTs: distributed hash tables [Stoica 2001]

• Mechanisms

– self-organisation of P2P overlay

• node arrival, departure, failure

– routing of DHT lookups

Page 259: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-259

Circular DHTAddressing

• Nodes arranged logical circle– in increasing hash value H

– modulo n

• Nodes link to successor

– may be virtual link

• e.g. IP address

– sparse ring with gaps allows new node insertion

1

3

4

5

8

10

12

15

Page 260: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-260

Circular DHTNaïve Circular Routing

• Queries travel ring

– each node either:

• serves query

or

• passes to successor

1

3

4

5

8

10

12

15

Page 261: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-261

Circular DHTNaïve Circular Forwarding Example

• Queries travel ring

– each node either:

• serves query

• passes to successor

• Example:– node 3 wants H=11

1

3

4

5

8

10

12

15

0

Page 262: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-262

Circular DHTNaïve Circular Forwarding Example

• Queries travel ring

– each node either:

• serves query

• passes to successor

• Example: 3 wants H=11

1. 11 > succ(4)

1

3

4

5

8

10

12

15

1

Page 263: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-263

Circular DHTNaïve Circular Forwarding Example

• Queries travel ring

– each node either:

• serves query

• passes to successor

• Example: 3 wants H=11

1. 11 > succ(4)

2. 11 > succ(5)

1

3

4

5

8

10

12

15

2

Page 264: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-264

Circular DHTNaïve Circular Forwarding Example

• Queries travel ring

– each node either:

• serves query

• passes to successor

• Example: 3 wants H=11

1. 11 > succ(4)

2. 11 > succ(5)

3. 11 > succ(8)

1

3

4

5

8

10

12

15

3

Page 265: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-265

Circular DHTNaïve Circular Forwarding Example

• Queries travel ring

– each node either:

• serves query

• passes to successor

• Example: 3 wants H=11

1. 11 > succ(4)

2. 11 > succ(5)

3. 11 > succ(8)

4. 11 ≤ succ(10)

1

3

4

5

8

10

12

15

4

Page 266: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-266

Circular DHTNaïve Circular Forwarding Example

• Queries travel ring

– each node either:

• serves query

• passes to successor

• Example: 3 wants H=11

1. 11 > succ(4)

2. 11 > succ(5)

3. 11 > succ(8)

4. 11 ≤ succ(10)

5. return query(11) to 3

1

3

4

5

8

10

12

15

5

Page 267: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-267

Circular DHTCircular Forwarding Complexity

Number of query hops?1

3

4

5

8

10

12

15

Page 268: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-268

Circular DHTCircular Forwarding Complexity

• # of hops for N nodes:

– max = N – 1

– average = N /2

– O (N )

problem?

1

3

4

5

8

10

12

15

Page 269: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-269

Circular DHTCircular Forwarding Complexity

• # of hops for N nodes:

– max = N – 1

– average = N /2

– O (N )

• poor performance for large N

• single end systemfailure breaks ring

improvement?

1

3

4

5

8

10

12

15

Page 270: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-270

Circular DHTChord Routing

• Chords : shortcuts

– 2-hop shortcutshalve search time

• average = N /4

• cost: add chord pointer

1

3

4

5

8

10

12

15

Page 271: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-271

Circular DHTChord Routing

• Chords: shortcuts

– 2-hop shortcutshalve search time

• average = N /4

• cost: add chord pointer

– 4-hop shortcuts

1

3

4

5

8

10

12

15

Page 272: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-272

Circular DHTChord Routing

• Chords: shortcuts

– 2-hop shortcutshalve search time

• average = N /4

• cost: add chord pointer

– 4-hop shortcuts

optimal solution?

1

3

4

5

8

10

12

15

Page 273: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-273

Circular DHTChord Routing

• Chords: shortcuts

– optimal solution

• multiple shortcuts of 2i

to half ring circumference

note: generally based on node id rather than actual hop count shown in example diagram

1

3

4

5

8

10

12

15

Page 274: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-274

Circular DHTChord Routing

• Chords: shortcuts

– optimal solution

• multiple shortcuts of 2i

to half ring circumference

– finger table

• log (N ) entries

• entry i points tosuccessor(n + 2i)

1

3

4

5

8

10

12

15

Page 275: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-275

Circular DHTChord Routing and Forwarding

• Chord routing?–

• Chord forwarding?–

1

3

4

5

8

10

12

15

Page 276: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-276

Circular DHTChord Routing and Forwarding

• Chord routing– builds and maintains finger

table

– updates finger table on node insertion or deletionfrom ring

• Chord forwarding– index lookup in

finger table

– forward to next hoporserve locally

1

3

4

5

8

10

12

15

Page 277: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-277

Circular DHTChord Forwarding Example

• Queries travel ring using chord shortcuts

– each node either:

• serves query

• passes to successor

• Example:– node 3 wants H=1

0

1

3

4

5

8

10

12

15

Page 278: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-278

Circular DHTChord Forwarding Example

• Example: 3 wants H=1

1. lookup(1) i=2, succ=10

1

1

3

4

5

8

10

12

15

i succ

0 04

1 05

2 10

[succ(2)=10] ≤mod 1 <mod nil

Page 279: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-279

Circular DHTChord Forwarding Example

• Example: 3 wants H=1

1. lookup(1) i=2, succ=10

2

1

3

4

5

8

10

12

15

i succ

0 04

1 05

2 10

[succ(2)=10] ≤mod 1 <mod nil

Page 280: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-280

Circular DHTChord Forwarding Example

• Example: 3 wants H=1

1. lookup(1) i=2, succ=10

2. lookup(1) i=1, succ=15

3

1

3

4

5

8

10

12

15

i succ

0 12

1 15

2 03

[succ(1)=15] ≤mod 1 <mod [succ(2)=03]

Page 281: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-281

Circular DHTChord Forwarding Example

• Example: 3 wants H=1

1. lookup(1) i=2, succ=10

2. lookup(1) i=1, succ=15

4

1

3

4

5

8

10

12

15

i succ

0 12

1 15

2 03

[succ(1)=15] ≤mod 1 <mod [succ(2)=03]

Page 282: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-282

Circular DHTChord Forwarding Example

• Example: 3 wants H=1

1. lookup(1) i=2, succ=10

2. lookup(1) i=1, succ=15

3. lookup(1) i=0, succ=01

5

1

3

4

5

8

10

12

15

i succ

0 01

1 03

2 05

[succ(0)=01] ≤mod 1 <mod [succ(1)=03]

Page 283: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-283

Circular DHTChord Forwarding Example

• Example: 3 wants H=1

1. lookup(1) i=2, succ=10

2. lookup(1) i=1, succ=15

3. lookup(1) i=0, succ=01

6

1

3

4

5

8

10

12

15

i succ

0 01

1 03

2 05

[succ(0)=01] ≤mod 1 <mod [succ(1)=03]

Page 284: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-284

Circular DHTChord Forwarding Example

• Example: 3 wants H=1

1. lookup(1) i=2, succ=10

2. lookup(1) i=1, succ=15

3. lookup(1) i=0, succ=01

4. lookup(1) match

7

1

3

4

5

8

10

12

15

Page 285: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-285

P2P File SharingStructured vs. Unstructured

• Unstructured file sharing

– schemes without underlying address structure

• centralised e.g. napster

• decentralised e.g. Gnutella 0.4

• hybrid e.g. Gnutella 0.6

• Structured file sharing– schemes that use address structure

• DHTs e.g. Chord, Pastry, Tapestry

Page 286: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-286

Unstructured P2P File Sharing Growth Complexity

O(1)

O(log n)

O(n log n)

O(n2)

O(n)

O(n2)O(n)

Nodestate

Commoverhd.

Fuzzy queries

Robustness

Central O (n) O (1) yes poor

Flooding O (1) O (hn2) yes excellent

Chord ? ? ? ?central

flood

• Scaling complexity measured as number of nodes n

Page 287: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-287

Structured P2P File Sharing Growth Complexity

O(1)

O(log n)

O(n log n)

O(n2)

O(n)

O(n2)O(n)

Nodestate

Commoverhd.

Fuzzy queries

Robustness

Central O (n) O (1) yes poor

Flooding O (1) O (hn2) yes excellent

Chord O (log n) O (log n) no goodcentral

flood

• Scaling complexity measured as number of nodes n– per node state: log n

– communication overhead: log n

Chord

Page 288: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-288

DHT P2PNetwork Layer Issues

Are servents IS or ES?

Page 289: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-289

DHT P2PNetwork Layer Issues

• Nodes serve dual roles– end system (servent)

and

– intermediate system (routing and forwarding)

Page 290: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-290

DHT P2PNetwork Layer Issues

• Nodes serve dual roles– end system (servent)

and

– intermediate system (routing and forwarding)

• DHT generally deployed as overlay

why?

Page 291: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-291

DHT P2PNetwork Layer Issues

• Nodes serve dual roles– end system (servent)

and

– intermediate system (routing and forwarding)

• DHT generally deployed as overlay

– P2P servents are Internet-connected hosts

TCP

IP

link

L4

L3

L2

Page 292: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-292

DHT P2PNetwork Layer Issues

• Nodes serve dual roles– end system (servent)

and

– intermediate system (routing and forwarding)

• DHT generally deployed as overlay

– queries useDHT overlay on TCP/IP

– responsesbypass overlay

how?

P2P

DHT

TCP

IP

file sharing

address /route / forward

E2E servent–servent

servent–servent path

link

L7

L3

L4

L3

L2 HBH servent–servent

Page 293: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-293

DHT P2PNetwork Layer Issues

• Nodes serve dual roles– end system (servent)

and

– intermediate system (routing and forwarding)

• DHT generally deployed as overlay

– queries useDHT overlay on TCP/IP

– responsesbypass overlay

• directly to originatingIP address

P2P

DHT

TCP

IP

file sharing

address /route / forward

E2E servent–servent

servent–servent path

link

L7

L3

L4

L3

L2 HBH servent–servent

Page 294: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-294

RoutingAdditional References1

• Radia Perlman,Interconnections:

Bridges, Routers, Switches, and Internetworking Protocols,

2nd ed., Addison-Wesley, 2000

• Gerald R. Ash,Dynamic Routing in Telecommunications Networks,

Mc-Graw-Hill, 1998

• André Girard,Routing and Dimensioning in Circuit-Switched Networks,

Addison-Wesley, 1990

• Deep Medhi and Karthikeyan RamasamyNetwork Routing: Algorithms, Protocols, and Architectures,

Morgan Kaufmann 2007

Page 295: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-295

RoutingAdditional References2

• Jeff Doyle and Jennifer Carroll,Routing TCP/IP, Volume I, second ed.,

Cisco Press, Indianapolis, 2006

• Jeff Doyle and Jennifer DeHaven Carroll,Routing TCP/IP, Volume II,

Cisco Press, Indianapolis, 2001

• Ralph Wittmann & Martina Zitterbart,Multicast Communication:

Protocols and Applications,

Morgan-Kaufmann, 2001

• S. Keshav,An Engineering Approach to Computer Networking,

Addison-Wesley 1997

Page 296: ITTC © James P.G. Sterbenz Communication Networks

© James P.G. SterbenzITTC

29 October 2018 KU EECS 780 – Comm Nets – Routing NET-NR-296

Communication NetworksAcknowledgements

Some material in these foils comes from the textbook supplementary materials:

• Kurose & Ross,Computer Networking:

A Top-Down Approach Featuring the Internet, 5th ed.http://wps.aw.com/aw_kurose_network_5

• Sterbenz & Touch,High-Speed Networking:

A Systematic Approach to

High-Bandwidth Low-Latency Communication

http://hsn-book.sterbenz.org