network routing link state routing and bgp n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Network Routing : Link State Routing and BGP PowerPoint Presentation
Download Presentation
Network Routing : Link State Routing and BGP

Loading in 2 Seconds...

play fullscreen
1 / 51

Network Routing : Link State Routing and BGP - PowerPoint PPT Presentation


  • 116 Views
  • Uploaded on

Network Routing : Link State Routing and BGP. 4/2/2008. Admin. Course feedback two more written assignments one programming assignment (not assigned yet, but already linked on the schedule page just in case you want to play with it; read Chapter 7) Assignment 3.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Network Routing : Link State Routing and BGP' - garth


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
admin
Admin.
  • Course feedback
    • two more written assignments
    • one programming assignment (not assigned yet, but already linked on the schedule page just in case you want to play with it; read Chapter 7)
  • Assignment 3
recap distance vector routing
Implemented in RIP, IGRP, EIGRP

Many properties

Distributed

Asynchronous

Convergence in finite steps, independent of initial condition if network is connected

Good news propagate fast

Counting-to-infinity problem

reverse poison/split horizon

Recap: Distance Vector Routing
slide4

Outline

  • Recap
  • Distance vector protocols
    • synchronous Bellman-Ford (SBF)
    • asynchronous Bellman-Ford (ABF)
    • destination-sequenced distance vector (DSDV)
destination sequenced distance vector protocol dsdv
Destination-Sequenced Distance Vector protocol (DSDV)
  • An extension of distance vector protocol to address the counting-to-infinity problem
  • Extension
    • DSDV tags each route with a sequence number
    • each destination node D periodically advertises monotonically increasing even-numbered sequence numbers
    • when a node realizes that its link to a destination is broken, it advertises the route to D with an infinite metric and a sequence numberwhich is one greater than the previous route (i.e. an odd seq. number)
      • the route is repaired by a later even-number advertisement from the destination
dsdv more detail

route update

B

A

DSDV: More Detail
  • Let’s assume the destination node is D
  • There are optimizations but we present a simple version:
    • each node maintains only (SB, dB), where SB is the sequence number at B for destination D and dB is the best distance using a neighbor from B to D
  • Both periodical and triggered updates
    • periodically: D increases its seq. by 2 and broadcasts with (SD, 0)
    • if B is using C as next hop to D and B discovers that C is no longer reachable
      • B increases its sequence number SB by 1, sets dB to , and sends (SB, dB) to all neighbors
dsdv update

route update

B

A

DSDV: Update
  • Update after receiving a message
    • assume B sends to A its current state (SB, dB)
    • when A receives (SB, dB)
        • if SB > SA, then // always update if a higher seq#
          • SA = SB
          • if (dB == ) dA = ; else dA= dB + d(A,B)
        • else if SA == SB, then
          • if dA > dB + d(A,B) // update for the same seq# only if better route dA= dB + d(A,B) and uses B as next hop
example
Example
  • When C discovers that C-D link is down, it increases its seq# and broadcasts its cost to be 

1

1

1

1

claim dsdv does not form loop

A

B

Claim: DSDV Does Not Form Loop
  • what is a loop?
    • a loop is a global state (consisting of the nodes’ local states) at a global moment (observed by an oracle) such that there exist nodes A, B, C, … E such that A (locally) thinks B as down stream, B thinks C as down stream, … E thinks A as down stream
  • Initially no loop (no one has next hop so no loop)
  • Derive contradiction if a loop forms after a node processes an update,
    • e.g., when A receives theupdate from B, A decides to use B as next hop and forms a loop

update

background global invariants
Background: Global Invariants
  • This is a very effective method in understanding distributed asynchronous protocols
  • Invariants are defined over the states of the distributed nodes
  • Consider any node B.
  • Let’s identify some invariants over the state of node B, i.e., (SB, dB).
invariants of a single node b

time

Invariants of a Single Node B
  • Some invariants about the state of a node
    • SB is non-decreasing
    • dB is non-increasing for the same sequence number
invariants of if a considers b as next hop

B

A

Invariants of if A Considers B as Next Hop
  • Some invariants if A considers B as next hop
    • SA cannot be an odd number, dA is not 
    • SB  SA

because A is having the seq# which B last sent to A; B’s seq# might be increased after B sent its state

      • if SB == SA then dB < dAbecause dA is based on dB which B sent to A some time ago, dB < dA since all link costs are positive; dB might be decreased after B sent its state
slide13

A

B

Loop Freedom of DSDV

update

  • Consider a critical moment
    • A starts to consider B as next hop, and we have a loop
  • If any link in the loop (X considers Y as next hop) satisfies SY >SX
      • by transition along the loop SB >SB
  • If all nodes along the loop have the same sequence number
      • by transition along the loop dB >dB

X

Y

summary dsdv
Summary: DSDV
  • DSDV uses sequence number to avoid routing loops
    • seq# partitions routing updates from different outside events
    • within same event, no loop so long each node only decreases its distance
  • EIGRP: a routing protocol by Cisco routers
    • Diffusive Update Algorithm (DUAL)
discussion distance vector routing
Discussion: Distance Vector Routing
  • What do you like about distance vector routing?
  • What do you not like about distance vector routing?
churns of dv one example
Churns of DV: One Example
  • Problematic Message sequences
  • Node 2 tells 3. Node 3 tells 4…Node N tells N+1. (N-1 messages)
  • Node N+1 tells N+2, N+2 tells N+3,…,2N. (N-1 messages)
  • Now node N-1 tells node N+1
  • Step 2 repeats
  • Now node N-2 tells node N+1

2N

Initial Conditions + 

All links have cost 1

N+3

N+2

N+1

A total of N2 – 2 messages

N-1

1

2

3

N

Question to think about: is this the worst case?

slide17

Outline

  • Recap
  • Distance vector protocols
  • Link state protocols
link state routing
Net topology, link costs are distributed to all nodes

all nodes have same info

thus can compute any types of routes

Each node computes its shortest paths from itself to all other nodes

e.g., use Dijkstra’s algorithm (see backup slides)

Link state distribution accomplished via “link state broadcast”

Link-State Routing
link state broadcast
Link State Broadcast
  • The hard part is link state broadcast
    • basic approach: forward a link state (link ID, link status) to all links except the incoming link
  • Question: what are the problems the link state broadcast needs to handle?
    • broadcast loop (a problem in exam 1)
    • ordering of events (link up and down)
    • network partitioning and then merge
link state broadcast1
Link State Broadcast
  • Each link update is given a sequence number: (initiator, seq#, link, status)
    • the initiator should increase the seq# for each new update
  • If the seq# of an update of a link is not higher than the highest seq# a router has seen, drop the update
  • Otherwise, forward it to all links except the incoming link (see backup slides for the real implementation using packet buffer)
  • Each seq# has an age field (why?)
  • Updates are sent periodically (why?)
ospf open shortest path first
OSPF (Open Shortest Path First)
  • “Open”: publicly available
  • Uses Link State algorithm
    • link state (LS) packet dissemination
    • topology map at each node
    • route computation using Dijkstra’s algorithm

http://en.wikipedia.org/wiki/Open_Shortest_Path_First

ospf advanced features not in rip
OSPF “Advanced” Features (not in RIP)
  • Multiple same-cost paths allowed (only one path in RIP)
  • For each link, multiple cost metrics for different Type Of Service (eg, satellite link cost set “low” for best effort; high for real time)
  • Security: all OSPF messages authenticated (to prevent malicious intrusion); TCP connections used
  • Hierarchical OSPF
hierarchical ospf
Hierarchical OSPF

run OSPF routing limited to backbone.

“summarize” distances to nets in own area, advertise to other Area Border routers.

  • - Link-state advertisements only in area
  • each nodes has detailed area topology;- only know direction (shortest path) to nets in other areas.

Two-level hierarchy: local area, backbone.

slide24

Why Hierarchy?

  • Information hiding (filtered) => reduce computation, bandwidth, storage

slide25

Discussion: Link State Routing

  • What do you like about link state routing?
  • What do you not like about link state routing?

Question to think about: which routing protocol (DV or LS) should the Internet use?

slide26

Outline

  • Recap
  • Distance vector protocols
  • Link state protocols
  • Routing in the Internet
    • overview
slide27

Routing in the Internet

  • The Global Internet consists of Autonomous Systems (AS) interconnected with each other
    • An AS is identified by an AS Number (ASN), e.g. Yale ASN is 29
    • try %whois -h whois.arin.net “a Yale“
slide28

Routing with AS

  • Intra-AS
    • Different AS’s may run different routing protocols
    • A protocol running insides an AS is called an Interior Gateway Protocol (IGP)
      • RIP: Routing Information Protocol
      • OSPF: Open Shortest Path First
      • IS-IS: very similar to OSPF (or should we say OSPF is very similar to IS-IS?)
      • E/IGRP: Interior Gateway Routing Protocol (Cisco)
  • Inter-AS
    • a protocol runs among AS’s is also called an Exterior Gateway Protocol (EGP)
    • for global connectivity, a single interdomain routing protocol
slide29

AS C

(RIP intra

AS B

(OSPF intra

AS A

(OSPF intra

routing)

routing)

routing)

a

b

Routing in the Internet: Example

eBGP

iBGP

b

intra as and inter as routing

inter-AS

routing

between

A and B

b

c

a

a

C

b

B

b

a

c

d

Host

h1

A

A.a

A.c

C.b

B.a

Intra-AS and Inter-AS Routing

border (exterior gateway) routers

Host

h2

intra-AS routing

within AS B

Intra-AS routing

within AS A

interior (gateway) routers

slide31

RIP process

OSPF process

BGP process

RIP routing table

BGP routing table

Many Routing Processes on a Single Router

BGP

OSPF Routing table

OS kernel

RIP

domain

OSPF

domain

Forwarding Table Manager

Forwarding Table

slide32

Why Partition into Intra- and Inter-AS Routing?

  • This partition allows ASes flexibility to choose their own intra-AS routing protocols
    • autonomy
  • By aggregating many destinations inside an AS into a single destination in interdomain routing, it improves scalability
    • the partition is a type of hierarchical routing
    • hierarchical routing improves scalability: only a small number of routers are involved with outside
yale internet connectivity

Internet2

AT&T

Qwest

Yale Internet Connectivity

Yale

default routes 0.0.0.0/0

pointing to provider.

132.130.0.0/16

128.36.0.0/16

slide35

Outline

  • Recap
  • Distance vector protocols
  • Link state protocols
  • Routing in the Internet
  • BGP
slide37

Internet Interdomain Routing: BGP

  • BGP (Border Gateway Protocol):the de facto standard
  • Path Vector protocol:
    • similar to Distance Vector protocol
    • a border gateway sends to a neighbor entire path (i.e., a sequence of ASes) to a destination, e.g.,
      • gateway X sends to neighbor N its path to dest. Z:

path (X,Z) = X,Y1,Y2,Y3,…,Z

    • if N selects path(X, Z) advertised by X, then: path (N,Z) = N, path (X,Z)

Z

N

X

slide38

BGP Operations (Simplified)

Establish session on

TCP port 179

AS1

BGP session

Exchange all

active routes

AS2

while (connection is ALIVE) exchange UPDATE messageselect best available route

if route changes, export to neigh.

Exchange incremental

updates

bgp messages
BGP Messages
  • Four types of messages
    • OPEN: opens TCP connection to peer and authenticates sender
    • UPDATE: advertises new path (or withdraws old)
    • KEEPALIVE keeps connection alive in absence of UPDATES; also ACKs OPEN request
    • NOTIFICATION: reports errors in previous msg; also used to close connection
slide40

Why Path Vector?

  • Path vector prevents counting-to-infinity problem
  • Path vector allows an AS to define local policies on the ASes of a given path
bgp routing decision process
BGP Routing Decision Process

route selection policy: rank paths

select best path

routing cache

export policy: which paths export to which neighbors

export path to neighbors

bgp route selection policy

Internet2

AT&T

Qwest

BGP Route Selection Policy
  • Typical (Cisco) routeselection policy
    • Highest local pref
    • Shortest AS path length
    • Prefer eBGP over iBGP

Yale

default routes 0.0.0.0/0

pointing to provider.

slide43

2 1 0

2 0

2

4

0

preferred

3 2 0

3 0

1 3 0

1 0

3

3

1

less

preferred

Policy Interactions

The BAD GADGET example:

- 0 is the destination

- the route selection policy of each AS is to prefer its counter clock-wise neighbor

Policy interaction causes routing instability !

dijkstra s algorithm

Dijkstra’s Algorithm

See schedule page for animation

dijkstra s algorithm1
Notation:

c(i,j): link cost from node i to j; cost infinite if not direct neighbors

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

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

N: set of nodes whose least cost path definitively known

Dijkstra’s Algorithm
dijkstra s algorithm2
Dijkstra’s Algorithm

1 Initialization:

2 N = {A}

3 for all nodes v

4 if v adjacent to A

5 then D(v) = c(A,v)

6 else D(v) = infty

7

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

dijkstra s algorithm example

A

D

B

E

F

C

Dijkstra’s Algorithm: Example

D(B),p(B)

2,A

2,A

2,A

D(D),p(D)

1,A

D(C),p(C)

5,A

4,D

3,E

3,E

D(E),p(E)

infinity

2,D

Step

0

1

2

3

4

5

start N

A

AD

ADE

ADEB

ADEBC

ADEBCF

D(F),p(F)

infinity

infinity

4,E

4,E

4,E

5

3

5

2

2

1

3

1

2

1

use packet buffer to distribute link states
Use Packet Buffer to Distribute Link States
  • Add ACK for reliability
  • Avoid multiple update packets from the same source at the same router
  • When a router receives a link update from a source S from neighbor X
    • if no state for S or seq# higher than current, add the state for S, set Ack for X, set Send for other neighbors;
    • if has state for S and seq# of the received update is smaller, ignore;
    • if received seq# equals to the current seq#, set Ack for X, clear Send to X
  • Round-robin among the Ack and Send flags

The right figure shows the packet buffer at router BA, C, F are its neighbors

bgp route selection policy1

Internet2

AT&T

Qwest

BGP Route Selection Policy
  • Typical (Cisco) routeselection policy
    • Highest local pref
    • Shortest AS path length
    • Prefer eBGP over iBGP

Yale

default routes 0.0.0.0/0

pointing to provider.

slide51

The Gang of Four

Link State

Vectoring

OSPF

RIP

IGP

(IS-IS)

BGP

EGP