Presentation is loading. Please wait.

Presentation is loading. Please wait.

RSVP Refresh Overhead Reduction by State Compression Lan Wang, Andreas Terzis, Lixia Zhang UCLA with input from Paxson, Braden, Berson, the interim meeting.

Similar presentations


Presentation on theme: "RSVP Refresh Overhead Reduction by State Compression Lan Wang, Andreas Terzis, Lixia Zhang UCLA with input from Paxson, Braden, Berson, the interim meeting."— Presentation transcript:

1 RSVP Refresh Overhead Reduction by State Compression Lan Wang, Andreas Terzis, Lixia Zhang UCLA with input from Paxson, Braden, Berson, the interim meeting and others

2 2 Goals Reduce the refresh overhead of RSVP –one refresh message per session per refresh period --> one message per RSVP neighbor Minimize re-synchronization delay –when sessions added/deleted –when two neighbors discover inconsistencies in RSVP state Keep the soft-state nature of RSVP –Refresh messages are sent periodically.

3 3 Approach Digest –a compressed version of the RSVP state shared between two nodes (made of a set of signatures) Digests sent periodically to neighbor nodes –refresh RSVP state –discover inconsistency Raw RSVP messages sent only when –state changes: e.g. Tspec/Rspec changes, session addition/deletion –re-synchronizing session state

4 4 Digest-capable neighbor discovery Request ACK when sending raw RSVP msgs –Add a D-bit to MESSAGE_ID object to indicate compression-capable Three cases: –Receive ACK with D-bit set in MESSAGE_ID neighbor is compression-capable –Receive ACK with D-bit off in MESSAGE_ID neighbor is compression-incapable –Receive PathErr or ResvErr message: “legacy” RSVP neighbor

5 5 Limitations Lost automatic route adaptability in original RSVP Rely on specific notification to adjust to –routing changes –multicast group membership changes do not handle non-RSVP cloud case SA B C D Non-RSVP Cloud Original Route New Route

6 6 Neighbor Data Structure Neighbor Struct +--------------- + | IP Address | +--------------- + | OutSession |--> Hash Table for outgoing sessions +--------------- + | OutDigest |--> top level of OutDigest tree +--------------- + |RefreshOutTimer | +----------------+ | IDLastSent | +----------------+ |OutDigestTimeout| +----------------+ | InSession |--> Hash Table of incoming sessions +----------------+ | InDigest |--> top level of InDigest tree +----------------+ | CleanupInTimer | +----------------+

7 7 Session Signature Computation Objects included in computation

8 8 digest Hash Table M Entries M: number of slots in the hash table multiple sessions may hash to the same slot compute a signature for each slot neighbor nodes send this list of M signatures in place of raw RSVP refresh msgs Digest Computation (simple version)

9 9 digest Hash Table Level-1 signatures Level-2 signatures M Entries M: number of entries in the hash table N: number of signatures contained in a digest (fit into one packet) neighbors exchange digest msg periodically Digest Computation (high compression version) Digest Tree:

10 10 MESSAGE_ID Object 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |A|D| Flags | Epoch | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Message_ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Object format defined in draft-berger-rsvp- refresh-reduct-03.txt We added D-bit in flags field for neighbor discovery

11 11 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Level | Group | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Number of Signatures | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | // signature list // | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Class in 10bbbbbb range Level: level of signatures in digest tree Group: Block of signatures inside level Number of Signatures: # of signatures in object Signature list: a list of checksums DIGEST Object

12 12 1. Digest Message (Msg Type 14) ::= [ ] [ ] –Digest message must contain a MESSAGE_ID object with Ack_Requested bit set 2. DigestErr Message (Msg Type 16) ::= [ ] –Negative ack, contains digest computed at receiver New Messages

13 13 Normal Case Example PATH ACK(d ) Digest ACK New Neighbor ! Set Digest Timer RSVP Msgs Received digest matches with local InDigest Digest Refresh timer times out

14 14 Recovery Procedure DigestErr contains set of (top level) signatures computed at the receiving side –Sender finds which of the N signatures differ Sends new Digest message(s) of next lower level rooted at mismatched signatures –Follow same procedure until reach the bottom of the digest tree –Refresh all sessions corresponding to the mismatched signatures

15 15 Digest (t 1 ) ACK(t 1 ) PATH DigestErr (t 2 ) Sync! Digest (t 2 ) More RSVP Msgs DigestErr ACK msgs Digest (t 3 ) ACK(t 3 ) Sync hronized! Recovery Example ACK Start recovery Lower-level Digest More lower-level Digest and DigestErr msgs Raw RSVP msgs

16 16 Digest Tree requires O(T+M) space. Computation cost of signature: depend on the compression algorithm –MD5 and CRC linear on the size of the message Update signature of a hash slot: f(T/M*s) –s is signature size, f() cost to compute signature –T/M: average number of sessions in a hash slot Update tree: (log N M – 1)* f(N*s) Digest Computation Costs

17 17 Summary of Changes Required Protocol –1 new object (DIGEST) –2 new message types (Digest, DigestErr) State –Neighbor Data Structure per neighbor hash table signature tree

18 18 Features Efficient state re-synchronization Allow individual nodes to choose original RSVP refreshes or the refresh reduction Backward compatibility with the current RSVP implementation Incremental digest computation when part of the session(s) changes state

19 19 PATH(Ad) Ad Ad’ PATH(Ad’) ADSPEC & POLICY_DATA POLICY & ADSPEC –These objects can change locally –Current RSVP spec keeps object received Need to keep copy of the forwarded object to calculate digest for that neighbor Digest refreshes trigger updates for these objects How to detect changes –always assume new –expect explicit notification


Download ppt "RSVP Refresh Overhead Reduction by State Compression Lan Wang, Andreas Terzis, Lixia Zhang UCLA with input from Paxson, Braden, Berson, the interim meeting."

Similar presentations


Ads by Google