CS 268: Overlay Networks: Introduction and Multicast Ion Stoica April 15-17, 2003.

Slides:



Advertisements
Similar presentations
Dynamic Replica Placement for Scalable Content Delivery Yan Chen, Randy H. Katz, John D. Kubiatowicz {yanchen, randy, EECS Department.
Advertisements

Multicasting in Mobile Ad hoc Networks By XIE Jiawei.
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
Multicast in Wireless Mesh Network Xuan (William) Zhang Xun Shi.
UNIT-IV Computer Network Network Layer. Network Layer Prepared by - ROHIT KOSHTA In the seven-layer OSI model of computer networking, the network layer.
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
1 A Case For End System Multicast Yang-hua Chu, Sanjay Rao and Hui Zhang Carnegie Mellon University Largely adopted from Jonathan Shapiro’s slides at umass.
Computer Science ROMA: Reliable Overlay Multicast with Loosely Coupled TCP Connections Gu-In Kwon and John Byers Computer Science Dept. Boston University.
10/31/2007cs6221 Internet Indirection Infrastructure ( i3 ) Paper By Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Sharma Sonesh Sharma.
Opportunities and Challenges of Peer-to-Peer Internet Video Broadcast J. Liu, S. G. Rao, B. Li and H. Zhang Proc. of The IEEE, 2008 Presented by: Yan Ding.
15-441: Computer Networking Lecture 26: Networking Future.
Overlay Multicast Mechanism Student : Jia-Hui Huang Adviser : Kai-Wei Ke Date : 2006/5/9.
CS 268: Active Networks Ion Stoica May 6, 2002 (* Based on David Wheterall presentation from SOSP ’99)
CS 268: Lecture 5 (Project Suggestions) Ion Stoica February 6, 2002.
Internet Indirection Infrastructure Ion Stoica UC Berkeley.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Chapter 4 IP Multicast Professor Rick Han University of Colorado at Boulder
CS 268: Active Networks & Overlay Networks
Application Layer Multicast
CS 268: Project Suggestions Ion Stoica February 6, 2003.
CS 268: Overlay Networks: Introduction and Multicast Kevin Lai April 29, 2001.
1 EE 122: Multicast Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson, Jennifer.
1 IP Multicasting. 2 IP Multicasting: Motivation Problem: Want to deliver a packet from a source to multiple receivers Applications: –Streaming of Continuous.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Multicast Computer Science Division Department of Electrical Engineering and Computer Sciences.
Anonymous Gossip: Improving Multicast Reliability in Mobile Ad-Hoc Networks Ranveer Chandra (joint work with Venugopalan Ramasubramanian and Ken Birman)
CS 268: Overlay Networks: Distributed Hash Tables Kevin Lai May 1, 2001.
A Case for End System Multicast Author: Yang-hua Chu, Sanjay G. Rao, Srinivasan Seshan and Hui Zhang.
Internet Indirection Infrastructure (i3) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002.
Spanning Tree and Multicast. The Story So Far Switched ethernet is good – Besides switching needed to join even multiple classical ethernet networks Routing.
CSE679: Multicast and Multimedia r Basics r Addressing r Routing r Hierarchical multicast r QoS multicast.
Communication Part IV Multicast Communication* *Referred to slides by Manhyung Han at Kyung Hee University and Hitesh Ballani at Cornell University.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Application-Level Multicast.
CIS 725 Wireless networks. Low bandwidth High error rates.
Communication (II) Chapter 4
I T & S A e r o s p a c eD e f e n c e Content adaptation for gradual Quality of Service Vania Conan, Arnaud Pierre Thales
Prof. Younghee Lee 1 Computer networks u Lecture 12: Overlay network Prof. Younghee Lee u Some part of this teaching materials are prepared referencing.
Overcast: Reliable Multicasting with an Overlay Network CS294 Paul Burstein 9/15/2003.
Application-Layer Multicast -presented by William Wong.
PDNL Application Layer Multicast for Small Groups: Status and Research Direction Bobby Bhattacharjee University of Maryland John Buford Panasonic Digital.
Information-Centric Networks07a-1 Week 7 / Paper 1 Internet Indirection Infrastructure –Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh.
Higashino Lab. Maximizing User Gain in Multi-flow Multicast Streaming on Overlay Networks Y.Nakamura, H.Yamaguchi and T.Higashino Graduate School of Information.
Multicast Routing Algorithms n Multicast routing n Flooding and Spanning Tree n Forward Shortest Path algorithm n Reversed Path Forwarding (RPF) algorithms.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
Enabling Conferencing Applications on the Internet using an Overlay Multicast Architecture Yang-hua Chu, Sanjay Rao, Srini Seshan and Hui Zhang Carnegie.
#1 EETS 8316/NTU CC725-N/TC/ Routing - Circuit Switching  Telephone switching was hierarchical with only one route possible —Added redundant routes.
CIS679: Multicast and Multimedia (more) r Review of Last Lecture r More about Multicast.
Application-Level Multicast Routing Michael Siegenthaler CS 614 – Cornell University November 2, 2006 A few slides are borrowed from Swati Agarwal, CS.
NUS.SOC.CS5248 Ooi Wei Tsang Course Matters. NUS.SOC.CS5248 Ooi Wei Tsang Deadlines 11 Oct: Survey Paper Due 18 Oct: Paper Reviews Due.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 21: Multicast Routing Slides used with.
NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast.
CS 268: Project Suggestions Ion Stoica January 26, 2004.
Overlay Networks and Overlay Multicast May Definition  Network -defines addressing, routing, and service model for communication between hosts.
4: Network Layer4-1 Chapter 4: Network Layer Last time: r Internet routing protocols m RIP m OSPF m IGRP m BGP r Router architectures r IPv6 Today: r IPv6.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
Self-stabilizing energy-efficient multicast for MANETs.
A Case for End System Multicast 學號: 報告人:通訊所 吳瑞益 指導教授:楊峻權 日期: ACM SIGMETRICS.
1 A Case For End System Multicast Yang-hua Chu, Sanjay Rao and Hui Zhang Carnegie Mellon University.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Application-Level Multicast.
EE122: Multicast Kevin Lai October 7, Internet Radio  (techno station)
Distributed Systems Lecture 7 Multicast 1. Previous lecture Global states – Cuts – Collecting state – Algorithms 2.
Multicast Outline Multicast Introduction and Motivation DVRMP.
Overlay Networking Overview.
CPE 401/601 Computer Network Systems
Lecture 6 Overlay Networks
Lecture 6 Overlay Networks
EE 122: Lecture 22 (Overlay Networks)
Other Routing Protocols
EE 122: Lecture 13 (IP Multicast Routing)
Presentation transcript:

CS 268: Overlay Networks: Introduction and Multicast Ion Stoica April 15-17, 2003

Definition  Network -defines addressing, routing, and service model for communication between hosts  Overlay network -A network built on top of one or more existing networks -adds an additional layer of indirection/virtualization -changes properties in one or more areas of underlying network  Alternative -change an existing network layer

A Historical Example  Internet is an overlay network -goal: connect local area networks -built on local area networks (e.g., Ethernet), phone lines -add an Internet Protocol header to all packets

Benefits  Do not have to deploy new equipment, or modify existing software/protocols -probably have to deploy new software on top of existing software -e.g., adding IP on top of Ethernet does not require modifying Ethernet protocol or driver -allows bootstrapping expensive to develop entirely new networking hardware/software all networks after the telephone have begun as overlay networks

Benefits  Do not have to deploy at every node -Not every node needs/wants overlay network service all the time e.g., QoS guarantees for best-effort traffic -Overlay network may be too heavyweight for some nodes e.g., consumes too much memory, cycles, or bandwidth -Overlay network may have unclear security properties e.g., may be used for service denial attack -Overlay network may not scale (not exactly a benefit) e.g. may require n 2 state or communication

Costs  Adds overhead -Adds a layer in networking stack Additional packet headers, processing -Sometimes, additional work is redundant E.g., an IP packet contains both Ethernet ( bits) and IP addresses ( bits) Eliminate Ethernet addresses from Ethernet header and assume IP header(?)  Adds complexity -Layering does not eliminate complexity, it only manages it -More layers of functionality  more possible unintended interaction between layers -E.g., corruption drops on wireless interpreted as congestion drops by TCP

Applications  Mobility -MIPv4: pretends mobile host is in home network  Routing  Addressing  Security  Multicast

Applications: Routing  Flat space -Every node has a route to every other node -n 2 state and communication, constant distance  Hierarchy -Every node routes through its parent -Constant state and communication, log(n) distance -Too much load on root  Mesh (e.g., Content Addressable Network) -Every node routes through 2d other nodes -O(d) state and communication, distance  Chord -Every node routes through O(log n) other nodes -O(log n) state and communication, O(log n) distance

Applications: Increasing Routing Robustness  Resilient Overlay Networks [Anderson et al 2001] -Overlay nodes form a complete graph -Nodes probe other nodes for lowest latency -Knowledge of complete graph  lower latency routing than IP, faster recovery from faults

Applications: Security (VPN)  Provide more security than underlying network  Privacy (e.g., IPSEC) -Overlay encrypts traffic between nodes -Only useful when end hosts cannot be secure  Anonymity (e.g., Zero Knowledge) -Overlay prevents receiver from knowing which host is the sender, while still being able to reply -Receiver cannot determine receiver exactly without compromising every overlay node along path  Service denial resistance (e.g., FreeNet) -Overlay replicates content so that loss of a large set of node does not prevent content distribution

Problems with IP Multicast  Scales poorly with number of groups -A router must maintain state for every group that traverses it  Supporting higher level functionality is difficult -IP Multicast: best-effort multi-point delivery service -Reliability and congestion control for IP Multicast complicated Scalable, end-to-end approach for heterogeneous receivers is very difficult Hop-by-hop approach requires more state and processing in routers  Deployment is difficult and slow -ISP’s reluctant to turn on IP Multicast

Overlay Multicast  Provide multicast functionality above the IP layer  overlay or application level multicast  Challenge: do this efficiently  Narada [Yang-hua et al, 2000] -Multi-source multicast -Involves only end hosts -Small group sizes <= hundreds of nodes -Typical application: chat

Narada: End System Multicast Stanford CMU Stan1 Stan2 Berk2 Overlay Tree Gatech Berk1 Berkeley Gatech Stan1 Stan2 CMU Berk1 Berk2

Potential Benefits  Scalability -Routers do not maintain per-group state -End systems do, but they participate in very few groups  Easier to deploy -Only requires adding software to end hosts  Potentially simplifies support for higher level functionality -Use hop-by-hop approach, but end hosts are routers -Leverage computation and storage of end systems -E.g., packet buffering, transcoding of media streams, ACK aggregation -Leverage solutions for unicast congestion control and reliability

End System Multicast: Narada  A distributed protocol for constructing efficient overlay trees among end systems  Caveat: assume applications with small and sparse groups -Around tens to hundreds of members

Performance Concerns Duplicate Packets: Bandwidth Wastage CMU Stan1 Stan2 Berk2 Gatech Berk1 Delay from CMU to Berk1 increases Stanford Berkeley Gatech Stan1 Stan2 CMU Berk1 Berk2

Overlay Tree  The delay between the source and receivers is small  Ideally, -The number of redundant packets on any physical link is low  Heuristic: -Every member in the tree has a small degree -Degree chosen to reflect bandwidth of connection to Internet Gatech “Efficient” overlay CMU Berk2 Stan1 Stan2 Berk1 High degree (unicast) Berk2 Gatech Stan2 CMU Stan1 Stan2 High latency CMU Berk2 Gatech Stan1 Berk1

Overlay Construction Problems  Dynamic changes in group membership -Members may join and leave dynamically -Members may die  Dynamic changes in network conditions and topology -Delay between members may vary over time due to congestion, routing changes  Knowledge of network conditions is member specific -Each member must determine network conditions for itself

Solution  Two step design -Build a mesh that includes all participating end-hosts What they call a mesh is just a graph Members probe each other to learn network related information Overlay must self-improve as more information available -Build source routed distribution trees

Mesh  Advantages: -Offers a richer topology  robustness; don’t need to worry to much about failures -Don’t need to worry about cycles  Desired properties -Members have low degrees -Shortest path delay between any pair of members along mesh is small Berk2 Berk1 CMU Gatech Stan1 Stan2

Overlay Trees  Source routed minimum spanning tree on mesh  Desired properties -Members have low degree -Small delays from source to receivers Berk2 Gatech Berk1 Stan1 Stan2 Berk2 Berk1 CMU Gatech Stan1 Stan2

Narada Components/Techniques  Mesh Management: -Ensures mesh remains connected in face of membership changes  Mesh Optimization: -Distributed heuristics for ensuring shortest path delay between members along the mesh is small  Tree construction: -Routing algorithms for constructing data-delivery trees -Distance vector routing, and reverse path forwarding

Optimizing Mesh Quality  Members periodically probe other members at random  New link added if Utility_Gain of adding link > Add_Threshold  Members periodically monitor existing links  Existing link dropped if Cost of dropping link < Drop Threshold Berk1 Stan2 CMU Gatech1 Stan1 Gatech2 A poor overlay topology: Long path from Gatech2 to CMU

Definitions  Utility gain of adding a link based on -The number of members to which routing delay improves -How significant the improvement in delay to each member is  Cost of dropping a link based on -The number of members to which routing delay increases, for either neighbor  Add/Drop Thresholds are functions of: -Member’s estimation of group size -Current and maximum degree of member in the mesh

Desirable properties of heuristics  Stability: A dropped link will not be immediately re-added  Partition avoidance: A partition of the mesh is unlikely to be caused as a result of any single link being dropped Delay improves to Stan1, CMU but marginally. Do not add link! Delay improves to CMU, Gatech1 and significantly. Add link! Berk1 Stan2 CMU Gatech1 Stan1 Gatech2 Probe Berk1 Stan2 CMU Gatech1 Stan1 Gatech2 Probe

Example Used by Berk1 to reach only Gatech2 and vice versa: Drop!! Gatech1 Berk1 Stan2 CMU Stan1 Gatech2 Gatech1 Berk1 Stan2 CMU Stan1 Gatech2

Simulation Results  Simulations -Group of 128 members -Delay between 90% pairs < 4 times the unicast delay -No link caries more than 9 copies  Experiments -Group of 13 members -Delay between 90% pairs < 1.5 times the unicast delay

Summary  End-system multicast (NARADA) : aimed to small-sized groups -Application example: chat  Multi source multicast model  No need for infrastructure  Properties -low performance penalty compared to IP Multicast -potential to simplify support for higher layer functionality -allows for application-specific customizations

Other Projects  Overcast [Jannotti et al, 2000] -Single source tree -Uses an infrastructure; end hosts are not part of multicast tree -Large groups ~ millions of nodes -Typical application: content distribution  Scattercast (Chawathe et al, UC Berkeley) -Emphasis on infrastructural support and proxy-based multicast -Uses a mesh like Narada, but differences in protocol details  Yoid (Paul Francis, Cornell) -Uses a shared tree among participating members -Distributed heuristics for managing and optimizing tree constructions

Overcast  Designed for throughput intensive content delivery -Streaming, file distribution  Single source multicast; like Express  Solution: build a server based infrastructure  Tree building objective: high throughput

Tree Building Protocol  Idea: Add a new node as far away from the route as possible without compromising the throughput! Root Join (new, root) { current = root; do { B = bandwidth(new, current); B1 = 0; forall n in children(current) { B1 = bandwidth(new, n); if (B1 >= B) { current = n; break; } } while (B1 >= B); new->parent = root; }

Details  A node periodically reevaluates its position by measuring bandwidth to its -Siblings -Parent -Grandparent  The Up/Down protocol: track membership -Each node maintains info about all nodes in its sub-tree plus a log of changes Memory cheap -Each node sends periodical alive messages to its parent -A node propagates info up-stream, when Hears first time from a children If it doesn’t hear from a children for a present interval Receives updates from children

Details  Problem: root  single point of failure  Solution: replicate root to have a backup source  Problem: only root maintain complete info about the tree; need also protocol to replicate this info  Elegant solution: maintain a tree in which first levels have degree one -Advantage: all nodes at these levels maintain full info about the tree - Disadvantage: may increase delay, but this is not important for application supported by Overcast Nodes maintaining full Status info about tree

Some Results  Network load < twice the load of IP multicast (600 node network)  Convergence: a 600 node network converges in ~ 45 rounds

Summary  Overcast: aimed to large groups and high throughput applications -Examples: video streaming, software download  Single source multicast model  Deployed as an infrastructure  Properties -Low performance penalty compared to IP multicast -Robust & customizable (e.g., use local disks for aggressive caching)