240 likes | 373 Views
YOID -Your Own Internet Distribution. Bob Lindell Computer Networks Division USC/ISI http://www.isi.edu/div7/yoid. Yoid Fills an Important Need. IP Multicast is still not widely deployed Users need multicast type services Multiparty conferencing Multipoint file transfers
E N D
YOID -Your Own Internet Distribution Bob Lindell Computer Networks Division USC/ISI http://www.isi.edu/div7/yoid
Yoid Fills an Important Need • IP Multicast is still not widely deployed • Users need multicast type services • Multiparty conferencing • Multipoint file transfers • Yoid can provide this functionality without waiting for IP multicast deployment • Direct applicability to DoD needs for multipoint data dissemination
Yoid Architecture • Host-based distribution tree • Tunnelled over IP unicast (and multicast) • Buffering in hosts • DNS name-based group addressing • Dynamically self-configuring topologies • This is the challenge! Efficient dynamic content distribution without infrastructure support
Tree First • Screen known members for tree neighbor validity • Explicitly select proximal tree neighbor • Run algorithm to detect loops • Good for dynamic peer to peer groups Tree Building Approaches Mesh First • Build proximal mesh • Run classical routing algorithm over mesh • Tree falls out • Good for a stable set of routers
Yoid Topologies • Dynamically configured Tree and Mesh • Use IP multicast where available • Both can carry content frames • Tree Topology • Optimized for efficiency, but fragile • Mesh Topology • Optimized for robustness, but inefficient Tree Link (Tunnelled) Member (host with buffer) Cluster (IP multicast) Mesh Link
Yoid Group Lifecycle • Rendezvous Nodes: • Uses DNS for naming • Bootstrap members into tree-mesh • Member Nodes: • Dynamically configure into tree-mesh • Loop detection and repair • Send, receive, and forward frames • Quality of Service (QoS) measurements
Yoid Functionality • Multicast distribution using a bi-directional tree • Group and Host addressing • Message sequence numbers • Buffering for late joins
Tree Formation Issues • Simultaneous joins could generate unwanted loops in the topology • Poor quality links, which should be at the leaves of the tree, are instead at branches of the distribution tree • Excessive fan-out at one node may exceed link capacities
Loop Detection • Novel approach using a “switchstamp” • Quickly detects loops • Algorithm finds a node which needs to switch parents and break the loop • Chosen node is picked from those that recently joined the tree so as not to penalize established tree participants
QoS Adaptation • Uses novel “lossprint” technique • Neighbors exchange information necessary to localize where in the tree the problem is rooted • Nodes take action to change tree topology to improve desired QoS metrics
Yoid 2 Protocol • Designed and implemented a second generation protocol • Base header was simplified and reduced to only 16 bytes • Other functionality was pushed into header options • Initial attempt to support nodes behind NATs • Many peers will be located behind NATs
Current Applications • Audio/Video conferencing using vat/rat/vic • Distributed Whiteboard using wb, wbd • Audio/Video conferencing using MS NetMeeting (H.323) and Unix using ohphone • IP multicast gateway application • Traffic generator • Monitoring tools
Future Applications • Instant Messaging • File Transfer
Research Directions • Naming • Addresses behind NATs, dynamic NAT rules • No domain names • Tree Construction • Robust Rendezvous • Security • Tree Topologies • Policies, Constraints • Improved QoS algorithms based on lossprint work
Status • Porting Yoid software to MS Windows • Testing syscall interception on MS Windows to allow Netmeeting to run unmodified with “Yoidized” H.323 MCU • H.323 Video support • Research into algorithms for multiple RPs including recovery after network partitioning
Status (Cont) • Yoid is being used in the FTN Cossack project • Distributed Denial of Service • Support for Windows, Linux, FreeBSD, and Solaris • Release imminent • H.323 release to follow shortly
Personnel • Staff • Bob Lindell: Acting PI • Yuri Pryadkin • Fabio Silva • Students • Pavlin Radoslavov: Graduated • MIA • Paul Francis • Ramesh Govindan
Conclusion • Demand for small virtual groups • Tree based distributions are important • NATs are a reality • QoS matters • Rich application suite needed