Fault-Tolerant Broadcast of Routing Information Radia Perlman - - PowerPoint PPT Presentation

fault tolerant broadcast of routing information
SMART_READER_LITE
LIVE PREVIEW

Fault-Tolerant Broadcast of Routing Information Radia Perlman - - PowerPoint PPT Presentation

Fault-Tolerant Broadcast of Routing Information Radia Perlman Digital Equipment Corp. Computer Networks (1983) Presented by: Yusuf Sarwar 1 ARPANET routing Uses Link State Routing protocol link information (link state packets) to


slide-1
SLIDE 1

Fault-Tolerant Broadcast of Routing Information

Radia Perlman Digital Equipment Corp. Computer Networks (1983)

Presented by: Yusuf Sarwar

1

slide-2
SLIDE 2

ARPANET routing

  • Uses Link State Routing protocol

– link information (link state packets) to neighbors are broadcasted to all nodes

  • By “Flooding”
  • By “Flooding”
  • Issues link updates now and then
  • How to recognize the most recent info?

– Global clock

  • Not quite possible in practice

– Local clock

  • Can have arbitrary skew, and have no global meaning

2

slide-3
SLIDE 3

Sequence number

  • A counter

– Possibly large (64 bits) – Incremented each time a link packet is generated

  • Counter may reach to the maximum value

– Can be reset

  • How to tell all nodes to reset, …

– Wrap around

  • Which is newer, which is older, …
  • The problem: using seq field, how to manage link

updates in the presence of failures

3

slide-4
SLIDE 4

Circular sequence number

0 (n)

a

0 (n)

a b a > b or b < a?

a + n/2

a < #

#

4

slide-5
SLIDE 5

A quick test

0 (n)

a

Is a < b?

0 (n) 0 (n)

a b a b a b a

5

slide-6
SLIDE 6

A quick test

0 (n)

a

Is a < b?

0 (n) 0 (n)

a b a b a b a

YES

6

slide-7
SLIDE 7

A quick test

0 (n)

a

Is a < b?

0 (n) 0 (n)

a b a b a b a

YES NO

7

slide-8
SLIDE 8

A quick test

0 (n)

a

Is a < b?

0 (n) 0 (n)

a b a b a b a

YES NO YES

8

slide-9
SLIDE 9
  • Seq. number + Aging
  • Only sequence number is not enough
  • There are some problems:

– Node goes down and comes back – Network partition – Network partition – Corrupted sequence number

  • Aging is required

– A life-time after which link packet expires

  • Possibly before seq number wraps around

9

slide-10
SLIDE 10

ARPANET routing

  • MIN-INT: interval between two link packets
  • MAX-AGE: maximum age, set at source and

decremented at others (at every 8 seconds)

Seq Age … MAX-AGE MIN-INT

K K + 1 K + 2

Time

K + n/2 Should not issue more than n/2 packets within MAX-AGE

i.e., MAX-AGE / MIN-INT < n/2

Seq Age …

10

slide-11
SLIDE 11

Problems and fixes

  • Immortal packets:

– Packets that become neither older nor aged – Due to non-aging (holding packets less than 8 seconds) seconds) – Solution: Decrement age with some probability

  • Premature aging and old packets:

– Packets are aged out far before they reach all nodes, or already expired – Solution: Floods the packets with zero age

11

slide-12
SLIDE 12

RESTART-TIME

  • If node restarts after a failure, they cannot

send link packets immediately

– Don’t know what sequence to use – Have to wait until all previous packets die out – Have to wait until all previous packets die out

  • Usually, RESTART-TIME > MAX-AGE
  • This introduces delay in update propagation

12

slide-13
SLIDE 13

RESTART-TIME elimination

  • Three modifications eliminate this waiting

– ‘lollipop-shaped’ seq number instead of circular

  • Allows nodes to start with some seq right away

– Send a stored packet to neighbor in response to receipt of an older packet

  • catches the latest sequence number immediately

without waiting for long time

– Quick obtaining of all information upon restarting

13

slide-14
SLIDE 14

Lollipop-shaped seq space

  • Circular seq space does not have

the smallest seq number

  • Instead, nodes start from – K,

proceeds to 0-n cycle

0(n)

  • 1
  • 2

– Once in the cycle, remain there – # – K must be smaller than any on- going update

  • K > MAX-AGE / MIN-INT

– Node should not be in cycle until MAX-AGE elapses

  • K
  • K +1
  • 2

14

slide-15
SLIDE 15

How does “Lollipop”help?

0(n)

  • 1

B B A

# - K # b

A sent # b and # b+1 before failure A: # b …

  • K
  • K +1
  • 2

A

15

slide-16
SLIDE 16

How does “Lollipop”help?

0(n)

  • 1

B B A

# - K # b

A sent # b and # b+1 before failure A: # b …

  • K
  • K +1
  • 2

A C A

# b + 1

A: (b+1) …

# b + 1: confusion

# b + 1 < # b+1: confusion < # b + 2

16

slide-17
SLIDE 17

Obtaining info after restart

  • Two alternatives:

– The restarted node sends all neighbors “I haven’t ACKed any link state packet, so send them all” – Node A marks B, as line to B goes down and A does not receive ACKs to B

  • As soon as, B arrives, A sends all current link states to B

17

slide-18
SLIDE 18

Summary

  • Proposes a sequencing technique to handle

updated flooding of link state packets

– No artificial delay on restart – Less reliance of timers, timers are less prone to – Less reliance of timers, timers are less prone to fire, only on rare events

18

slide-19
SLIDE 19

Discussions

  • What could be the other alternatives to

“Lollipop” to eliminate RESTART-TIME?

  • How to choose parameter values, MAX-AGE
  • How to choose parameter values, MAX-AGE

and MIN-INT?

  • What are the security implications?

19

slide-20
SLIDE 20

Thanks

20

slide-21
SLIDE 21

ARPANET approach

  • Source node

– issues link packets at MIN-INT intervals – increments sequence number, seqnew = seqold +1 – sets the age field to MAX-AGE (64 seconds)

  • Receiving node

– accepts, stores and floods, if the packet is newer

  • If the same or older, discard!

– decrements ‘age’ in every 8 seconds (clock resolution)

  • If age becomes zero, holds in database, but does not flood

21

slide-22
SLIDE 22

Problems and fixes (cont.)

  • Old packets

– Nodes hold old packets, since they don’t get a new one from the source

  • But, update may not reach due to routing failure
  • But, update may not reach due to routing failure

– Node holds packets upto MAX-AGE, then? – Solution: Synchronized expiration

  • Expired packets are flooded with age = 0
  • If the seq number is matched with an unexpired one,

accept the zero-aged one and flood

– Otherwise, discard the packet

22

slide-23
SLIDE 23

Other issues

  • Packets checksum

– To detect duplicate of packets

  • Accidental change to confusion bits
  • Selecting parameter values
  • Selecting parameter values

– Conflicting goals in MAX-AGE, MAX-INT, MIN-INT

23