1 / 22

Overview of Yallcast Dynamic Topology Configuration

Overview of Yallcast Dynamic Topology Configuration. Paul Francis NTT PF Labs francis@slab.ntt.co.jp www.yallcast.com. Application. API. Yallcast Tree Protocol (YTP) (framing, forwarding, sequencing). yTCP. yRTP. yRMTP. Etc. Yallcast ID Protocol (YIDP). UDP. TCP.

kennethd
Download Presentation

Overview of Yallcast Dynamic Topology Configuration

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview of Yallcast Dynamic Topology Configuration Paul Francis NTT PF Labs francis@slab.ntt.co.jp www.yallcast.com

  2. Application API Yallcast Tree Protocol (YTP) (framing, forwarding, sequencing) yTCP yRTP yRMTP Etc... Yallcast ID Protocol (YIDP) UDP TCP Yallcast-specific Content Protocol Stack Challenges Sufficient generality Dealing with dynamic topologies Getting through NAT boxes IP Multicast IP Unicast

  3. Tree Terminology Root Parent of C Child of P Transit R A P C D Cluster Head L H Leaf B Cluster Feet F1 F2 F3 F4

  4. Multicast (Over Tree)

  5. Broadcast (Over Everything)

  6. Multicast with Mesh Repair* X *Dramatization

  7. Unicast, and Anycast (Over Tree and Mesh)

  8. Tree Building Approaches Tree First • Screen known members for tree neighbor validity • Explicitly select proximal tree neighbor • Run algorithm to detect loops • Yallcast Mesh First • Build proximal mesh • Run classical routing algorithm over mesh • Tree “falls out” • AMRoute, CMU

  9. Member Discovery • Learn of other members to build topologies • Contact Rendezvous (initial) • Parent-side tree anycast or mesh anycast discovery messages (background activity) • Navigate tree (as-needed foreground activity) • If root, broadcast “I am root” message, inform rendezvous

  10. Tree Loop Detection/Prevention • Yallcast tree may have transient loops • Pre- and post-topology change loop detection • Three basic mechanisms: • Root Path • Topology trace • Incompatible changes trace

  11. Root Path • Analogous to BGP AS-path • Transmitted parent to child • Each member appends itself to received root path • Discovers loops after tree change

  12. Root Path R A R P C R:A R:P R:P:C D R:A:D L R:P:H H R:A:L R:P:H:B B F1 F2 F3 F4 Root Path Flow of Root Path

  13. Root Path Loop Detection P:H:B:P!!! R A R P C R:A P R:P:C D R:A:D L P:H H R:A:L B F1 F2 F3 F4 P:H:B

  14. Valid Parents P’s parent-side members R A R P C R:A R:P R:P:C D R:A:D L R:P:H H R:A:L R:P:H:B B F1 F2 F3 F4 P’s child-side members

  15. How Loops Form “Simultaneous” changes by multiple members (e.g. P and L) R A R P C R:A R:P R:P:C D R:A:D L R:P:H H R:A:L R:P:H:B B

  16. Loop Avoidance Algorithms • Coordinated Loop Avoidance • Have parent, want to improve • Emergency Loop Avoidance • No parent, must find one quickly • Coordinated has stronger loop detection • Coordinated scales better

  17. Emergency Loop Avoidance • Send “Root Path Trace” along new Root Path • Root Path Trace follows path of “prospective parents” • Last member in path, or first to discover loop, replies to initiator

  18. Emergency Loop Avoidance:Only P Changing Parent X R:A R A R P C reply R:P trace R:P:C D trace R:A:D L R:P:H H R:A:L R:P:H:B B Prospective Parent

  19. Emergency Loop Avoidance:P and L Changing Parent X Loop Detected!!! R:A R A R P C reply R:P R:P:C D trace trace R:A:D L R:P:H H trace trace R:A:L R:P:H:B B

  20. Coordinated Loop Avoidance • Send “Intent to Join” along tree from joining member to new parent • Members along the path record intended change • Members along the path check for and block incompatible changes

  21. Coordinated Loop Avoidance:Only P Changing Parent R R:A R A itj itj P C R:P itj R:P:C D accept R:A:D L R:P:H H R:A:L R:P:H:B B

  22. Coordinated Loop Avoidance:P and L Changing Parent R itj R:A R A itj P C reject R:P itj R:P:C D accept R:A:D L R:P:H H R:A:L R:P:H:B B

More Related