98
CDS270: Optimization, Game and Layering in Communication Networks Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006

Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Embed Size (px)

Citation preview

Page 1: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

CDS270: Optimization, Game and Layering in Communication Networks

Lectures 6-7: Network Routing and Path Algebra

Lijun Chen

11/15,17/2006

Page 2: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Agenda

2

Lecture 6: review on network routingInternetworkingIntradomain routingInterdomain routing

Lecture 7: an algebraic framework of network routing

Page 3: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Agenda

3

Lecture 6: review on network routingInternetworkingIntradomain routingInterdomain routing

Lecture 7: an algebraic framework of network routing

Page 4: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Acknowledgement

4

Thanks to Prof. Jennifer Rexford at Princeton for letting me use and modify her lecture slides on routing.

Page 5: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Simple Network: Nodes and a Link

5

Node Link NodeNode: computer

End host: general-purpose computer, cell phone, PDANetwork node: switch or router

Link: physical medium connecting nodesTwisted pair: the wire that connects to telephonesCoaxial cable: the wire that connects to TV setsOptical fiber: high-bandwidth long-distance linksSpace: propagation of radio waves, microwaves, …

Page 6: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Network Components

6

Fibers

Coaxial Cable

Links Interfaces Switches/routers

Ethernet card Large router

Wireless card

Telephoneswitch

Page 7: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Connecting More Than Two Hosts

7

Multi-access link: Ethernet, wirelessSingle physical link, shared by multiple nodesLimitations on distance and number of nodes

Point-to-point links: fiber-optic cableOnly two nodes (separate link per pair of nodes)Limitations on the number of adapters per node

multi-access linkpoint-to-point links

Page 8: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Beyond Directly-Connected Networks

8

Switched networkEnd hosts at the edgeNetwork nodes that switch trafficLinks between the nodes

MultiplexingMany end hosts communicate over the networkTraffic shares access to the same links

Page 9: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Circuit Switching (e.g., Phone Network)

9

Source establishes connection to destinationNodes along the path store connection infoNodes may reserve resources for the connection

Source sends data over the connectionNo destination address, since nodes know path

Source tears down connection when done

Page 10: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

10

Circuit Switching With Human Operator

Page 11: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Circuit Switching: Multiplexing a Link

11

Time-divisionEach circuit allocated certain time slots

Frequency-divisionEach circuit allocated certain frequencies

frequency

timetime

Page 12: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Advantages of Circuit Switching

12

Guaranteed bandwidth Predictable communication performanceNot “best-effort” delivery with no real guarantees

Simple abstractionReliable communication channel between hostsNo worries about lost or out-of-order packets

Simple forwarding Forwarding based on time slot or frequencyNo need to inspect a packet header

Low per-packet overheadForwarding based on time slot or frequencyNo IP (and TCP/UDP) header on each packet

Page 13: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Disadvantages of Circuit Switching

13

Wasted bandwidthBursty traffic leads to idle connection during silent periodUnable to achieve gains from statistical multiplexing

Blocked connectionsConnection refused when resources are not sufficientUnable to offer “okay” service to everybody

Connection set-up delayNo communication until the connection is set upUnable to avoid extra latency for small data transfers

Network stateNetwork nodes must store per-connection informationUnable to avoid per-connection storage and state

Page 14: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Packet Switching (e.g., Internet)

14

Data traffic divided into packetsEach packet contains a header (with address of the source and destination)

Packets travel separately through networkPacket forwarding based on the headerNetwork nodes may store packets temporarily

Destination reconstructs the message

Page 15: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Packet Switching: Statistical Multiplexing

15

Packets

Page 16: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

16

IP Service: Best-Effort Packet Delivery

Packet switchingDivide messages into a sequence of packetsHeaders with source and destination address

Best-effort deliveryPackets may be lostPackets may be corruptedPackets may be delivered out of order

source destination

IP network

Page 17: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

IP Service Model: Why Packets?

17

Data traffic is burstyLogging in to remote machinesExchanging e-mail messages

Don’t want to waste reserved bandwidthNo traffic exchanged during idle periods

Better to allow multiplexingDifferent transfers share access to same links

Packets can be delivered by almost anythingRFC 2549: IP over Avian Carriers (aka birds)

… still, packet switching can be inefficientExtra header bits on every packet

Page 18: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

IP Service Model: Why Best-Effort?

18

IP means never having to say you’re sorry…Don’t need to reserve bandwidth and memoryDon’t need to do error detection & correctionDon’t need to remember from one packet to next

Easier to survive failuresTransient disruptions are okay during failover

… but, applications do want efficient, accurate transfer of data in order, in a timely fashion

Page 19: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

IP Service: Best-Effort is Enough

19

No error detection or correctionHigher-level protocol can provide error checking

Successive packets may not follow the same pathNot a problem as long as packets reach the destination

Packets can be delivered out-of-orderReceiver can put packets back in order (if necessary)

Packets may be lost or arbitrarily delayedSender can send the packets again (if desired)

No network congestion control (beyond “drop”)Sender can slow down in response to loss or delay

Page 20: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Layering in the IP Protocols

20

Internet Protocol

Transmission ControlProtocol (TCP)

User Datagram Protocol (UDP)

TelnetHTTP

SONET ATMEthernet

RTPDNSFTP

Page 21: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

21

How to get to a destination: hop-by-hop Packet Forwarding

Each router has a forwarding tableMaps destination addresses…… to outgoing interfaces

Upon receiving a packetInspect the destination IP address in the headerIndex into the tableDetermine the outgoing interfaceForward the packet out that interface

Then, the next router in the path repeatsAnd the packet travels along the path to the destination

Page 22: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Where do Forwarding Tables Come From?

22

Routers have forwarding tablesMap address (prefix) to outgoing link(s)

Entries can be statically configuredE.g., “map 12.34.158.0/24 to Serial0/0.1”

But, this doesn’t adapt To failuresTo new equipmentTo the need to balance load…

That is where routing protocols come in…

Page 23: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

What’s routing?

23

A famous quotation from RFC 791“A name indicates what we seek.An address indicates where it is.A route indicates how we get there.”

-- Jon Postel

Page 24: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Routing vs. Forwarding

24

Routing: control planeComputing the paths the packets will followRouters talking amongst themselvesIndividual router creating a forwarding table

Forwarding: data planeDirecting a data packet to an outgoing linkIndividual router using a forwarding table

Page 25: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Internet Structure

25

Federated network of Autonomous SystemsRouters and links controlled by a single entityRouting between ASes, and within an AS

1

2

34

5

67

Web client Web server

Page 26: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Two-Tiered Internet Routing System

26

Interdomain routing: between ASesRouting policies based on business relationshipsNo common metrics, and limited cooperationBGP: policy-based, path-vector routing protocol

Intradomain routing: within an ASShortest-path routing based on link metricsRouters all managed by a single institutionOSPF and IS-IS: link-state routing protocolRIP and EIGRP: distance-vector routing protocol

Page 27: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Intradomain routing

27

Path-selection modelDestination-basedLoad-insensitive (e.g., static link weights)Shortest path: minimum hop count or sum of link weights

3

2

1

14

1

4

5

3

2

Page 28: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Shortest-Path Problem

28

Given: network topology with link costsc(x,y): link cost from node x to node yInfinity if x and y are not direct neighbors

Compute: least-cost paths to all nodesFrom a given source u to all other nodesp(v): predecessor node along path from source to v

32

2

1

14

1

4

5

3

u

v

p(v)

Page 29: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Ways to Compute Shortest Paths

29

Link-stateEvery node collects complete information about network topology and link costsEach computes shortest paths from itEach generates own routing table

Distance-vectorNo one has copy of graphNodes construct their own tables iterativelyEach sends information about its table to neighbors

Page 30: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Dijkstra’s Shortest-Path Algorithm

30

Iterative algorithmAfter k iterations, know least-cost path to k nodes

S: nodes whose least-cost path definitively known

Initially, S = {u} where u is the source nodeAdd one node to S in each iteration

D(v): current cost of path from source to node v

Initially, D(v) = c(u,v) for all nodes v adjacent to u… and D(v) = ∞ for all other nodes vContinually update D(v) as shorter paths are learned

Page 31: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Dijsktra’s Algorithm

31

1 Initialization:2 S = {u} 3 for all nodes v 4 if v adjacent to u {5 D(v) = c(u,v) 6 else D(v) = ∞7 8 Loop9 find w not in S with the smallest D(w)10 add w to S 11 update D(v) for all v adjacent to w and not in S: 12 D(v) = min{D(v), D(w) + c(w,v)} 13 until all nodes in S

Page 32: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Dijkstra’s Algorithm Example

32

32

2

1

14

1

4

5

3

32

2

1

14

1

4

5

3

32

2

1

14

1

4

5

3

32

2

1

14

1

4

5

3

Page 33: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Dijkstra’s Algorithm Example

33

32

2

1

14

1

4

5

3

32

2

1

14

1

4

5

3

32

2

1

14

1

4

5

3

32

2

1

14

1

4

5

3

Page 34: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Shortest-Path Tree

34

Shortest-path tree from u

Forwarding table at u

32

2

1

14

1

4

5

3

u

v

w

x

y

z

s

t

v (u,v)w (u,w)x (u,w)y (u,v)z (u,v)

link

s (u,w)t (u,w)

Page 35: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Link-State Routing

35

Each router keeps track of its incident linksWhether the link is up or downThe cost on the link

Each router broadcasts the link stateTo give every router a complete view of the graph

Each router runs Dijkstra’s algorithmTo compute the shortest paths… and construct the forwarding table

Example protocolsOpen Shortest Path First (OSPF)Intermediate System – Intermediate System (IS-IS)

Page 36: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Bellman-Ford Algorithm

36

Define distances at each node xdx(y) = cost of least-cost path from x to y

Update distances based on neighborsdx(y) = min {c(x,v) + dv(y)} over all neighbors

v3

2

2

1

14

1

4

5

3

u

v

w

x

y

z

s

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

Page 37: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Distance Vector Algorithm

37

c(x,v) = cost for direct link from x to vNode x maintains costs of direct links c(x,v)

Dx(y) = estimate of least cost from x to yNode x maintains distance vector Dx = [Dx(y): y є N ]

Node x maintains its neighbors’ distance vectors

For each neighbor v, x maintains Dv = [Dv(y): y є N ]Each node v periodically sends Dv to its neighbors

And neighbors update their own distance vectorsDx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N

Over time, the distance vector Dx converges

Page 38: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Distance Vector Algorithm

38

wait for (change in local link cost or message from neighbor)

recompute estimates

if DV to any destination has changed, notify neighbors

Each node:Iterative, asynchronous:

each local iteration caused by: Local link cost change Distance vector update message from neighbor

Distributed:Each node notifies neighbors only when its DV changesNeighbors then notify their neighbors if necessary

Page 39: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Distance Vector Example: Step 0

39

A

E

F

C

D

B

2

3

6

4

1

1

1

3

Table for A

Dst Cst Hop

A 0 A

B 4 B

C ∞ –

D ∞ –

E 2 E

F 6 F

Table for B

A4A

B0B

–∞C

D3D

–∞E

F1F

HopCstDst

Optimum 1-hop paths

Table for C

–∞A

–∞B

C0C

D1D

–∞E

F1F

HopCstDst

Table for D

–∞A

B3B

C1C

D0D

–∞E

–∞F

HopCstDst

Table for E

A2A

–∞B

–∞C

–∞D

E0E

F3F

HopCstDst

Table for F

A6A

B1B

C1C

–∞D

E3E

F0F

HopCstDst

Page 40: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Distance Vector Example: Step 2

40

Table for A

Dst Cst Hop

A 0 A

B 4 B

C 7 F

D 7 B

E 2 E

F 5 E

Table for B

A4A

B0B

F2C

D3D

F4E

F1F

HopCstDst

Optimum 2-hop paths

Table for C

F7A

F2B

C0C

D1D

F4E

F1F

HopCstDst

Table for D

B7A

B3B

C1C

D0D

–∞E

C2F

HopCstDst

Table for E

A2A

F4B

F4C

–∞D

E0E

F3F

HopCstDst

Table for F

B5A

B1B

C1C

C2D

E3E

F0F

HopCstDst

A

E

F

C

D

B

2

3

6

4

1

1

1

3

Page 41: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Distance Vector Example: Step 3

41

Optimum 3-hop paths

Table for A

Dst Cst Hop

A 0 A

B 4 B

C 6 E

D 7 B

E 2 E

F 5 E

Table for B

A4A

B0B

F2C

D3D

F4E

F1F

HopCstDst

Table for C

F6A

F2B

C0C

D1D

F4E

F1F

HopCstDst

Table for D

B7A

B3B

C1C

D0D

C5E

C2F

HopCstDst

Table for E

A2A

F4B

F4C

F5D

E0E

F3F

HopCstDst

Table for F

B5A

B1B

C1C

C2D

E3E

F0F

HopCstDst

A

E

F

C

D

B

2

3

6

4

1

1

1

3

Page 42: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Interdomain Routing

42

AS-level topologyNodes are Autonomous Systems (ASes)Links are connections & business relationships

1

2

34

5

67

Web client Web server

Page 43: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Shortest-Path Routing is Restrictive

43

All traffic must travel on shortest pathsAll nodes need common notion of link costsIncompatible with commercial relationships

RegionalISP1

RegionalISP2

Regional ISP3

Cust1Cust3 Cust2

NationalISP1

NationalISP2

YES

NO

Page 44: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Link-State Routing is Problematic

44

Topology information is floodedHigh bandwidth and storage overheadForces nodes to divulge sensitive information

Entire path computed locally per nodeHigh processing overhead in a large network

Minimizes some notion of total distanceWorks only if policy is shared and uniform

Typically used only inside an ASE.g., OSPF

Page 45: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Distance Vector is on the Right Track

45

AdvantagesHides details of the network topologyNodes determine only “next hop” toward the dest

DisadvantagesMinimizes some notion of total distance, which is difficult in an interdomain setting

Idea: extend the notion of a distance vector

Page 46: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Path-Vector Routing

46

Extension of distance-vector routingSupport flexible routing policies

Key idea: advertise the entire pathDistance vector: send distance metric per dest dPath vector: send the entire path for each dest d

3 2 1

d

“d: path (2,1)” “d: path (1)”

data traffic data traffic

Page 47: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Flexible Policies

47

Each node can apply local policiesPath selection: Which path to use?Path export: Which paths to advertise?

ExamplesNode 2 may prefer the path “2, 3, 1” over “2, 1”Node 1 may not let node 3 hear the path “1, 2”

2 3

1

Page 48: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Border Gateway Protocol

48

Interdomain routing protocol for the InternetPath-vector protocolPolicy-based routing based on AS PathsEvolved during the past 15 years

• 1989 : BGP-1 [RFC 1105]– Replacement for EGP (1984, RFC 904)

• 1990 : BGP-2 [RFC 1163]• 1991 : BGP-3 [RFC 1267]• 1995 : BGP-4 [RFC 1771]

– Support for Classless Interdomain Routing (CIDR)

Page 49: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

BGP Operations

49

Establish session onTCP port 179

Exchange allactive routes

Exchange incrementalupdates

AS1

AS2

While connection is ALIVE exchangeroute UPDATE messages

BGP session

Page 50: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Incremental Protocol

50

A node learns multiple paths to destinationStores all of the routes in a routing tableApplies policy to select a single active route… and may advertise the route to its neighbors

Incremental updatesAnnouncement • Upon selecting a new active route, add node id to path• … and (optionally) advertise to each neighbor

Withdrawal• If the active route is no longer available• … send a withdrawal message to the neighbors

Page 51: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

BGP Path Selection

51

Simplest caseShortest AS pathArbitrary tie break

ExampleFour-hop AS path preferred over a three-hop AS pathAS 12654 prefers path through Global Crossing

But, BGP is not limited to shortest-path routing

Policy-based routing

AS 3549Global Crossing

128.112.0.0/16AS Path = 3549 7018 88

AS 12654RIPE NCCRIS project

AS 1129Global Access

128.112.0.0/16AS Path = 1129 1755 1239 7018 88

Page 52: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

BGP Policy: Applying Policy to Routes

52

Import policyFilter unwanted routes from neighbor• E.g. prefix that your customer doesn’t own

Manipulate attributes to influence path selection• E.g., assign local preference to favored routes

Export policyFilter routes you don’t want to tell your neighbor• E.g., don’t tell a peer a route learned from other peer

Manipulate attributes to control what they see• E.g., make a path look artificially longer than it is

Page 53: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

BGP Policy: Influencing Decisions

53

ReceiveBGPUpdates

BestRoutes

TransmitBGP Updates

Apply Policy =filter routes & tweak attributes

Based onAttributeValues

Apply Policy =filter routes & tweak attributes

Open ended programming.Constrained only by vendor configuration language

Best RouteSelection

Apply ImportPolicies

Best Route Table

Apply ExportPolicies

Install forwardingEntries for bestRoutes.

IP Forwarding Table

Page 54: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Import Policy: Local Preference

54

Favor one path over anotherOverride the influence of AS path lengthApply local policies to prefer a path

Example: prefer customer over peer

AT&T Sprint

Yale

Tier-2

Tier-3

Local-pref = 100

Local-pref = 90

Page 55: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Import Policy: Filtering

55

Discard some route announcementsDetect configuration mistakes and attacks

Examples on session to a customerDiscard route if prefix not owned by the customerDiscard route that contains other large ISP in AS path

AT&T

Princeton

USLEC

128.112.0.0/16

Page 56: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Export Policy: Filtering

56

Discard some route announcementsLimit propagation of routing information

ExamplesDon’t announce routes from one peer to anotherDon’t announce routes for network-management hosts

AT&T

Princeton

SprintUUNET

network operator

128.112.0.0/16

Page 57: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Export Policy: Attribute Manipulation

57

Modify attributes of the active routeTo influence the way other ASes behave

Example: AS prependingArtificially inflate the AS path length seen by othersTo convince some ASes to send traffic another way

AT&T

Princeton

USLECSprint

88 88 88

128.112.0.0/16

Page 58: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

BGP Policies in Practice (Gao-Rexford model)

58

Mainly business relationshipsCustomer-providerPeer-peer……

Implementing in BGPImport policy

• Ranking customer routes over peer routesExport policy

• Export only customer routes to peers and providers

Page 59: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Customer-Provider Relationship

59

Customer pays provider for access to InternetProvider exports customer’s routes to everybodyCustomer exports provider’s routes to customers

Traffic to the customer Traffic from the customer

d

d

AT&T

Princeton

Princeton

AT&T

advertisements

traffic

Page 60: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Peer-Peer Relationship

60

Peers exchange traffic between customers AS exports only customer routes to a peerAS exports a peer’s routes only to its customers

Traffic to/from the peer and its customers

SprintAT&T

advertisements

traffic

dPrinceton UBC

Page 61: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

How Peering Decisions are Made?

61

Peer Don’t Peer

Reduces upstream transit costsCan increase end-to-end performanceMay be the only way to connect your customers to some part of the Internet (“Tier 1”)

You would rather have customersPeers are usually your competitionPeering relationships may require periodic renegotiation

Page 62: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Valid and invalid paths

62

AS relationships limit the kinds of valid pathsUphill portion: customer-provider relationshipsPlateau: zero or one peer-peer edgeDownhill portion: provider-customer relationships

Valid Invalid

Invalid

Page 63: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Internet Structure

63

Federated network of Autonomous Systems (AS)Routers and links controlled by a single entityRouting between ASes, and within an AS

1

2

34

5

67

Web client Web server

Page 64: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Two-Tiered Internet Routing System

64

Intradomain routing: within an ASShortest-path routing based on link metricsRouters all managed by a single institutionOSPF and IS-IS: link-state routing protocolRIP and EIGRP: distance-vector routing protocol

Interdomain routing: between ASesRouting policies based on business relationshipsNo common metrics, and limited cooperationBGP: policy-based, path-vector routing protocol

Page 65: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

65

BGP Modeling: What Problem Does BGP Solve?

Intradomain routings do shortest-path routingShortest path as sum of link weights

• Link-state routing (e.g., OSPF and IS-IS)• Distance vector routing (e.g., RIP)

Policy makes BGP more complicatedAn AS might not tell a neighbor about a path

• E.g., Sprint can’t reach UUNET through AT&TAn AS might prefer one path over a shorter one

• E.g., ISP prefers to send traffic through a customer

What is a good model for BGP?

Page 66: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Stable Paths Problem (SPP)

66

1

NodeBGP-speaking routerNode 0 is destination

EdgeBGP adjacency

Permitted pathsSet of routes to 0 at each node Ranking of the paths

2 5 5 2 1 0

0

2 1 02 0

1 3 01 0

3 0

4 2 04 3 0

3

42

1

most preferred…least preferred

Page 67: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

67

5 5 2 1 0

1

A Solution to a Stable Paths Problem

SolutionPath assignment per nodeCan be the “null” path

If node u has path uwP{u,w} is an edge in the graphNode w is assigned path wP

Each node is assigned The highest ranked path consistent with the assignment of its neighbors

A solution is an in-tree rooted at the destination

2

0

2 1 02 0

1 3 01 0

3 0

4 2 04 3 0

3

42

1

A solution need not represent a shortest path tree, or a spanning tree.

Page 68: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

A SPP May Have Multiple Solutions

68

First solution

1

0

2

1 2 01 0

2 1 02 0

1

0

2

1 2 01 0

2 1 02 0

Second solution

1 2 01 0

1

0

2

2 1 02 0

Page 69: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

A SPP May Have No Solution

69

2

0

1

2 1 02 0

1 3 01 0

4

33

3 2 03 0

Page 70: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Ensuring Convergence is Difficult

70

Create a global Internet routing registryDifficult to keep up to date

Require each AS to publish its routing policiesDifficult to get them to participate

Check for conflicting policies, and resolve conflicts

Checking is NP-completeRe-checking for each failure scenario

Page 71: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

71

Sufficient conditions for global convergenceRestrictions on the topology and routing policies that can be checked or ensured locallyE.g., based on common types of biz relationships

Game theoretic point of viewStable paths are a dominant strategy equilibriumBGP is a distributed algorithm (iterated elimination of dominated strategies) to seek dominant strategy equilibriumFind sufficient condition for the existence and convergence of dominant strategy equilibrium

Page 72: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Agenda

72

Lecture 6: review on network routingInternetworkingIntradomain routingInterdomain routing

Lecture 7: an algebraic framework of network routing

Page 73: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Algebra framework for network routing

73

GoalConvergence properties of dynamic routing protocolsCharacteristics of the paths the protocol converges to

ApproachFormulation in an algebraic frameworkDifferent protocols can be seen as different instantiations of this algebra

Page 74: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Shortest path routing as a path vector protocol

74

Given a weighted graph G=(V,E,w), find the shortest paths to a destination.

3

2

1

14

1

4

5

3

2

d

Page 75: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Shortest path routing as a path vector protocol

75

AbstractionsEach link is assigned a weight (label)

Each path has an aggregate weight (signature)

Path extension: path weight is the summation of weights of all its links (composition operation)

Preference/selection rule: choose the minimum weight path (ordering/preference)

3

2

1

14

1

4

5

3

2

d

Page 76: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Shortest path algebra

76

Set of labels: L +R

Set of signatures: Σ { }∞+∪+R

∞+Special signature: φ

),( pWTotally ordered set of weights: { } ),( ≤∞+∪+R

+Composition: Σ→Σ×⊕ L:

Weighing function: IdentityWf →Σ:

Page 77: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Path vector algebra

77

Defined as a seven-tupleLabels model link data-structure, amounts to applying edge policy to the path data-structure when the path is extended Signatures model the path data-structure, contain enough information to determine a path’s weight usingWeight ordering defines preference relation, heavier paths are less preferred

( )fLw ,,,,,, ⊕Σ φp

f

Page 78: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Path Vector protocol

78

Instantiating an algebra produces a protocolA node knows a path to when having a signature for (either for trivial path, or for a path extending a neighbor’s path)The best path to is a path with lowest weightTo advertise a path to node , is sent along signaling edge with some associated label , and is the signature of the imported, extended path at

)()( PsluPs ⊕=

v P dP )(ds )(Ps

P u )(Ps

),( uv

lu

d

Page 79: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

What we care

79

Convergence is the most important goalCharacteristics of the paths the protocol converges to (optimal? In what sense?)SP routing converges and is optimal. Let’s first check what properties SP algebra has, and then abstract them to general algebra and see whether they are necessary and/or sufficient for the convergence and optimality.

Page 80: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Maximality and Absorption

80

Usable path has finite weight- Maximality

Cannot extend an un-usable path to a usable one- Absorption

{ } )()( φαφα ff p−Σ∈∀

φφ =⊕∀ ∈ lLl

Page 81: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Monotonicity

81

)α()α(α signature and labelevery For -

⊕lffl

p

1 2 0

than lessnot weigh does 21 PPo

P, s(P)=α

The path weight is non-decreasing along the path

l

Page 82: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Isotonicity

82

Path ordering is kept when extended onto common link

)β(α)()β()α(β and α signatures and labelevery For -

⊕⊕⇒ lflfffl

pp

1 2 0

P, s(P)=α

Q, s(Q)=β

l

QPQPoo 21 morenot weigh does 21

then , than morenot weigh doesIf

Page 83: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Some Definitions

83

An optimal path from to is a usable path with minimum weight among all usable paths from to An optimal path in-tree rooted at node is an in-tree routed at satisfying, for every node that belongs to the in-tree, the only path in the in-tree is an optimal path

dudu

dd u

32

2

1

14

1

4

5

3

d

u

Page 84: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

84

2 3

0

5 6

4

1

The local-optimal path from to exists only with respect to a set of paths, which are advertised to u by its neighbors.Given in-tree rooted at , define as the set ofin-tree paths which has an out-neighbor of for originIn-tree is local-optimal-paths in-tree satisfying, for each of its node , the only path in the in-tree is a local-optimal path with respect to

du

dT d)( du TV

u

dTu

)( du TV

Page 85: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Freeness

85

( ){ }( ) ( ) wuulfwf

nifWwuuu

ii

ncycle

≠⊕⇒=Σ∈∀≤<∃−∈∀∀

− αααφ

)( 0

1

01L

given a cycle and a set of paths with origins at the nodes of the cycle, all with the same weight, at least one of these paths will see its weight change as it extends into the cycle.

for example, in shortest-path routing, the network is free, since the algebra is strictly monotone

Page 86: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Convergence

86

Convergence to local-optimal in-treeNetwork is free

If the algebra is monotone, then the path vector protocol can be made to converge to local-optimal in-tree.

Page 87: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Failure of monotonicity

87

0

l

)α()α( ⊕lff flP

s(P)=α

1 2

Qs(Q)=α

Page 88: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Isotonicity and optimality

88

If the signature/weight depends on some global property of the path, we may say something about it by this theorem. For example, SP routing is optimal.

Local-optimal in-trees

Optimal in-treesAlgebra is isotone =

Page 89: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Failure of isotonicity

89

)β(α)(but )β()α( ⊕⊕ lflfff fp

P, s(P)=α

0l

1 2

Q, s(Q)=β

A local-optimal-path in-tree that is not optimal

Page 90: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Gao-Rexford: import/export rules

90

Provider

Peer

Customer

X

Customerroutes

Peerroutes

Providerroutes

Prefer customer routes to peer routes, and thento provider routes Export only customer routes to peers/providers,and export all kinds of routes to customers

Page 91: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Algebra: labels

91

c

c cc

c

p

ppp

pp

r

r

r

rr

r

r

Each link carries a labelCustomer link, cProvider link, pPeer link, r

c

r

2 3

0

5 6

4

1

3 is a provider of 0; 0 is a customer of 3

3 and 4 are peers

Page 92: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Algebra: signatures

92

Each path has a signatureTrivial path, εUnusable path, φCustomer path, cProvider path, pPeer path, r

Page 93: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

93

Algebra: composition

A node exports to its peers routes learned from its customers

A node does not export to a provider a route learned from another provider

Signature

ε c r p φ

c c c φ φ φ

r r r φ φ φ

p p p p p φ

Labe

l

c

c

r5 6

4

1

2 3

0

pc

Page 94: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Algebra: weights

94

0 1 2 3

ε c r p φ

c c c φ φ φ

r r r φ φ φ

p p p p p φ

∞+ weights

f

Prefer customer routes to peer routes and then to provider routes

Page 95: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Algebra: properties

95

0 1 2 3

ε c r p φ

c c c φ φ φ

r r r φ φ φ

p p p p p φ

∞+f

The algebra isMonotoneIsotone

Page 96: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Network: freeness

96

L0 is empty, sinceL1={c}, sinceL2 is empty, sinceL3={p}, since

)()(0 εε ⊕= lff p

)()(1 ccfcf ⊕==

)()(2 rlfrf ⊕≠=

)()(3 ppfpf ⊕==

Non-free cycles:Only customer linksOnly provider links

Page 97: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

Gao-Rexford: convergence

97

The protocol converges, independent of whatever preference given to the paths with the same weight, if the network is free.Means that the ordering within one class (customer, provider) is not important for convergence. Any preference given to them will result in convergenceSince the algebra is also isotone, the path is optimal. But this says nothing about global property of the path, since the weight is only decided by the first link of the paths.

Page 98: Lectures 6-7: Network Routing and Path Algebra · Lectures 6-7: Network Routing and Path Algebra Lijun Chen 11/15,17/2006. ... Initially, S = {u}where u is the source node Add one

References

98

“Stable Internet routing without global coordination,” L. Gao, J. Rexford, ToN 2001“The stable paths problem and interdomain routing,” T. Griffin, F. Shepherd, G. Wilfong, ToN 2002“Algebra and algorithms for QoS path computation and hop-by-hop routing in the Internet,” J. Sobrinho ToN 2002“An algebraic theory of dynamic network routing,” J. Sobrinho, ToN 2005.