cs4700/cs5700 fundamentals of computer networksamislove/teaching/cs4700/spring11/... ·...
TRANSCRIPT
![Page 1: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/1.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University1
CS4700/CS5700 Fundamentals of Computer Networks
Lecture 22: Overlay networks
Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang
![Page 2: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/2.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University2
Abstract View of the Internet
• A collection of IP routers and point-to-point physical links connecting routers
• Point-to-point links between two routers are physically as direct as possible– A copper wire, a coax cable or a fiber laid from one router to
another
![Page 3: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/3.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University3
![Page 4: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/4.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University4
Reality
• Fibers and wires are laid with tremendous physical constraints– You can’t just dig up the ground everywhere and lay fibers– Right-of-way issue
– Most fibers are laid along railroads
• Physical fiber topology often very far from the topology you want
• IP Internet is over-laid on top of this physical fiber topology
• IP Internet topology is only logical!
• Concept: IP Internet is an overlay network
![Page 5: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/5.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University5
E.g. National Lambda Rail Project – Fiber Topology
![Page 6: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/6.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University6
E.g. An IP logical link overlaid on a circuit
![Page 7: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/7.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University6
E.g. An IP logical link overlaid on a circuit
IP logical link
![Page 8: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/8.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University6
E.g. An IP logical link overlaid on a circuit
Circuit
IP logical link
![Page 9: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/9.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University7
Made Possible by Layering• Layering hides the detail of lower layer from higher layer
• IP operates on datalink layer (say ATM or SONET) logical topology
• ATM/SONET creates point-to-point circuits on the fibers
Application
Presentation
Session
Transport
Network
Datalink
Physical
Application
Presentation
Session
Transport
Network
Datalink
Physical
Network
Datalink
Physical
Physical medium
Host A Host B
Router
![Page 10: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/10.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University8
Overlay
• Overlay is clearly a general concept– You can keep overlaying one network on another, it’s all
logical
• IP Internet overlays on top of physical topology– Why stop here?
• Something else can overlay on top of IP Internet– Use IP tunnels to create yet another logical topology– E.g. VPNs
![Page 11: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/11.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University9
Advanced Reasons to Overlay On IP Internet
![Page 12: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/12.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University9
Advanced Reasons to Overlay On IP Internet
• IP provides basic best effort datagram service
![Page 13: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/13.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University9
Advanced Reasons to Overlay On IP Internet
• IP provides basic best effort datagram service• Many things you may want in a network but not
supported
![Page 14: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/14.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University9
Advanced Reasons to Overlay On IP Internet
• IP provides basic best effort datagram service• Many things you may want in a network but not
supported• Like what?
![Page 15: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/15.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University9
Advanced Reasons to Overlay On IP Internet
• IP provides basic best effort datagram service• Many things you may want in a network but not
supported• Like what?
– Multicast
![Page 16: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/16.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University9
Advanced Reasons to Overlay On IP Internet
• IP provides basic best effort datagram service• Many things you may want in a network but not
supported• Like what?
– Multicast– Reliable performance-based routing
![Page 17: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/17.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University9
Advanced Reasons to Overlay On IP Internet
• IP provides basic best effort datagram service• Many things you may want in a network but not
supported• Like what?
– Multicast– Reliable performance-based routing– More… e.g. content addressing and distribution
![Page 18: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/18.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University9
Advanced Reasons to Overlay On IP Internet
• IP provides basic best effort datagram service• Many things you may want in a network but not
supported• Like what?
– Multicast– Reliable performance-based routing– More… e.g. content addressing and distribution
• Can you build can overlay network on IP Internet to provide QoS?
![Page 19: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/19.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University9
Advanced Reasons to Overlay On IP Internet
• IP provides basic best effort datagram service• Many things you may want in a network but not
supported• Like what?
– Multicast– Reliable performance-based routing– More… e.g. content addressing and distribution
• Can you build can overlay network on IP Internet to provide QoS?– How?
![Page 20: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/20.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University9
Advanced Reasons to Overlay On IP Internet
• IP provides basic best effort datagram service• Many things you may want in a network but not
supported• Like what?
– Multicast– Reliable performance-based routing– More… e.g. content addressing and distribution
• Can you build can overlay network on IP Internet to provide QoS?– How?– Overlay links must have guaranteed performance
characteristics, otherwise, the overlay network cannot guarantee anything!
![Page 21: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/21.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University10
Unicast Routing Overlay
• Internet routing is built upon Intra-domain and Inter-domain router protocols– OSPF/RIP; BGP
• OSPF/RIP routing based on shortest link weight routing– Link weights are typically very static– Does not necessarily give you best performance path (delay,
throughput, loss rate)
• BGP routing based mostly on policy– Policy may have nothing to do with performance– BGP very slow to react to failure (no reaction to high loss
rate, e.g.)
![Page 22: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/22.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University11
Resilient Overlay Network (RON)
• Install N computers all over the place on the Internet• Each computer acts as an overlay network router
– Between each overlay router is a IP tunnel (logical link)– Logical overlay topology is all-to-all (N^2)
• Computers actively measure each logical link in real time for– Packet loss rate, latency, throughput, etc
• Route overlay network traffic based on measured characteristics
• Able to consider multiple paths in addition to the default IP Internet path given by BGP/OSPF
![Page 23: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/23.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University12
Example
Default IP path determined by BGP & OSPF
Acts as overlay router
![Page 24: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/24.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University12
Example
Default IP path determined by BGP & OSPF
Acts as overlay router
![Page 25: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/25.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University12
Example
Default IP path determined by BGP & OSPF
Reroute traffic using red alternative overlay network path, avoid congestion point
Acts as overlay router
![Page 26: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/26.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University13
Potential Problems…
• Scalability of all these network measurements!– Overhead– Interference of measurements?– What if everyone has his/her own overlay network doing
this?
• Stability of the network? Oscillation? Keep rerouting back and forth?
• How much can you really gain?– In delay/bandwidth, may not be that much– But is much faster to react to complete link failures than
BGP
![Page 27: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/27.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University14
Multicast Overlay
• IP multicast supposed to provide one-to-many packet delivery
• IP multicast routers supposed to maintain group membership, duplicate packets appropriately and send to all members
• Why “supposed”? In the Internet today, we have none of that
![Page 28: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/28.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University15
Motivating Example:Conference Attendance
![Page 29: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/29.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University16
Solution based on Unicast
Stanford
Berkeley
Gatech
CMU(Source)
![Page 30: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/30.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University16
Solution based on Unicast
Stanford
Berkeley
Gatech
CMU(Source)
![Page 31: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/31.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University16
Solution based on Unicast
Stanford
Berkeley
Gatech
CMU(Source)
![Page 32: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/32.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University16
Solution based on Unicast
Stanford
Berkeley
Gatech
CMU(Source)
![Page 33: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/33.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University16
Solution based on Unicast
Stanford
Berkeley
Gatech
CMU(Source)
![Page 34: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/34.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University16
Solution based on Unicast
Stanford
Berkeley
Gatech
CMU(Source)
![Page 35: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/35.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University16
Solution based on Unicast
• Client-server architecture (the Web)
Stanford
Berkeley
Gatech
CMU(Source)
![Page 36: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/36.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University16
Solution based on Unicast
• Client-server architecture (the Web)• Does not scale well with group size
– Source host is the bottleneck
Stanford
Berkeley
Gatech
CMU(Source)
![Page 37: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/37.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University17
End System Multicast
Stan-Modem
CMUStan-Modem
Berk2Berk1
Overlay TreeStan-LAN
Gatech
Stanford
Berkeley
Gatech Stan-LAN
Berk1
Berk2
CMU
![Page 38: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/38.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University18
End System Multicast: Benefits
• Scalability– Routers do not maintain per-group state
• Easy to deploy– Works over the existing IP infrastructure
• Can simplify support for higher level functionality
CMU
Stan-Modem
Gatech Unicast congestion control
TranscodingStan-LAN
Berk1
Berk2
![Page 39: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/39.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University19
Concerns with End System Multicast
• Challenge to construct efficient overlay trees
• Performance concerns compared to IP Multicast– Increase in delay– Bandwidth waste (packet duplication)
Gatech Stanford
CMU
Berkeley
IP Multicast
Stanford-Modem
Gatech Stanford-LAN
Berk1
Berk2
CMU
End System Multicast
![Page 40: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/40.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University20
More Challenges
CMU
Stan-LAN
Stan-Modem
Berk2
Gatech
Berk1
CMU
Stan-LAN
Stan-Modem
Berk2
Gatech
Berk1
Overlays must adapt to network dynamics and congestion
Group membership is dynamic: members can join and leave
![Page 41: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/41.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University21
Inefficient Overlay Trees
Berk1
Berk2
Gatech
Stan2 CMU
Stan1-Modem
-Poor network usage-Potential congestion near CMU
CMU
High latencyBerk2
Gatech
Stan2
Stan1-Modem
Berk1
Gatech
CMU
Berk2
Stan-Modem
Stan-LAN
Berk1
Poor bandwidth to members
![Page 42: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/42.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University22
An Efficient Overlay Tree
Gatech
CMU
Berk2
Stan-LAN
Stan-Modem
Berk1
![Page 43: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/43.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University23
End System Multicast System
• Focus on video broadcast applications• Implementation
– Integrate with Apple QuickTime– Support for receiver heterogeneity– Support peers behind NAT and firewall – Run on Windows and Linux platforms
• Showcase– SIGCOMM (max 60 simultaneous users)– Several CMU Distinguished Lectures– Slashdot (max 180 simultaneous users)
![Page 44: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/44.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University24
Structured p2p overlays
One primitive:
route(M, X): route message M to the live node with nodeId closest to key X
• nodeIds and keys are from a large, sparse id space
![Page 45: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/45.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University25
Distributed Hash Tables (DHT)
k6,v6
k1,v1
k5,v5
k2,v2
k4,v4
k3,v3
nodes
Operations:insert(k,v)lookup(k)
P2P overlay network
• p2p overlay maps keys to nodes• completely decentralized and self-organizing• robust, scalable
![Page 46: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/46.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University26
Why structured p2p overlays?
• Leverage pooled resources (storage, bandwidth, CPU)
• Leverage resource diversity (geographic, ownership)• Leverage existing shared infrastructure• Scalability• Robustness• Self-organization
![Page 47: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/47.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University27
Pastry: Object distribution
objId
Consistent hashing [Karger et al. ‘97]
128 bit circular id space
nodeIds (uniform random)
objIds (uniform random)
Invariant: node with numerically closest nodeId maintains object
nodeIds
O2128-1
![Page 48: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/48.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University28
Pastry: Object insertion/lookup
X
Route(X)
Msg with key X is routed to live node with nodeId closest to X
Problem:
complete routing table not feasible
O2128-1
![Page 49: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/49.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University29
Pastry: Routing
Tradeoff
• O(log N) routing table size
• O(log N) message forwarding steps
![Page 50: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/50.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University30
Pastry: Routing table (# 65a1fcx)
log16 Nrows
Row 0
Row 1
Row 2
Row 3
![Page 51: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/51.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University31
Pastry: Routing
Properties• log16 N steps • O(log N) state
d46a1c
Route(d46a1c)
d462ba
d4213f
d13da3
65a1fc
d471f1
![Page 52: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/52.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University31
Pastry: Routing
Properties• log16 N steps • O(log N) state
d46a1c
Route(d46a1c)
d462ba
d4213f
d13da3
65a1fc
d471f1
![Page 53: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/53.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University31
Pastry: Routing
Properties• log16 N steps • O(log N) state
d46a1c
Route(d46a1c)
d462ba
d4213f
d13da3
65a1fc
d467c4d471f1
![Page 54: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/54.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University31
Pastry: Routing
Properties• log16 N steps • O(log N) state
d46a1c
Route(d46a1c)
d462ba
d4213f
d13da3
65a1fc
d467c4d471f1
![Page 55: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/55.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University
Pastry: Leaf sets
Each node maintains IP addresses of the nodes with the L/2 numerically closest larger and smaller nodeIds, respectively. • routing efficiency/robustness • fault detection (keep-alive)• application-specific local coordination
![Page 56: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/56.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University33
Pastry: Routing procedure
if (destination is within range of our leaf set) forward to numerically closest memberelse let l = length of shared prefix let d = value of l-th digit in D’s address if (Rl
d exists) forward to Rl
d
else forward to a known node that (a) shares at least as long a prefix (b) is numerically closer than this node
![Page 57: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/57.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University34
Pastry: Node addition
d46a1cd462ba
d4213f
d13da3
65a1fc
d467c4d471f1
New node: d46a1c
![Page 58: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/58.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University34
Pastry: Node addition
d46a1cd462ba
d4213f
d13da3
65a1fc
d467c4d471f1
New node: d46a1c
![Page 59: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/59.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University34
Pastry: Node addition
d46a1c
Route(d46a1c)
d462ba
d4213f
d13da3
65a1fc
d467c4d471f1
New node: d46a1c
![Page 60: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/60.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University34
Pastry: Node addition
d46a1c
Route(d46a1c)
d462ba
d4213f
d13da3
65a1fc
d467c4d471f1
New node: d46a1c
![Page 61: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/61.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University34
Pastry: Node addition
d46a1c
Route(d46a1c)
d462ba
d4213f
d13da3
65a1fc
d467c4d471f1
New node: d46a1c
![Page 62: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/62.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University34
Pastry: Node addition
d46a1c
Route(d46a1c)
d462ba
d4213f
d13da3
65a1fc
d467c4d471f1
New node: d46a1c
![Page 63: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/63.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University34
Pastry: Node addition
d46a1c
Route(d46a1c)
d462ba
d4213f
d13da3
65a1fc
d467c4d471f1
New node: d46a1c
![Page 64: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/64.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University34
Pastry: Node addition
d46a1c
Route(d46a1c)
d462ba
d4213f
d13da3
65a1fc
d467c4d471f1
New node: d46a1c
![Page 65: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/65.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University35
Node departure (failure)
Leaf set members exchange keep-alive messages
• Leaf set repair (eager): request set from farthest live node in set
• Routing table repair (lazy): get table from peers in the same row, then higher rows
![Page 66: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/66.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University36
PAST: File storage
fileId
Insert fileId
![Page 67: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/67.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University37
PAST: File storage
Storage Invariant: File “replicas” are stored on k nodes with nodeIdsclosest to fileId
(k is bounded by the leaf set size)
fileId
Insert fileId
k=4
![Page 68: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/68.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University38
PAST: File Retrieval
fileId file located in log16 N steps (expected)
usually locates replica nearest client C
Lookup
k replicasC
![Page 69: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/69.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University39
SCRIBE: Large-scale, decentralized multicast
• Infrastructure to support topic-based publish-subscribe applications
• Scalable: large numbers of topics, subscribers, wide range of subscribers/topic
• Efficient: low delay, low link stress, low node overhead
![Page 70: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/70.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
![Page 71: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/71.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
![Page 72: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/72.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
![Page 73: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/73.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
![Page 74: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/74.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
Publish topicId
![Page 75: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/75.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
Publish topicId
![Page 76: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/76.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
Publish topicId
![Page 77: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/77.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
Publish topicId
![Page 78: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/78.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
Publish topicId
![Page 79: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/79.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
Publish topicId
![Page 80: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/80.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
Publish topicId
![Page 81: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/81.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
Publish topicId
![Page 82: CS4700/CS5700 Fundamentals of Computer Networksamislove/teaching/cs4700/spring11/... · 2016-08-29 · Alan Mislove amislove at ccs.neu.edu Northeastern University1 CS4700/CS5700](https://reader035.vdocuments.mx/reader035/viewer/2022070823/5f2b1650c86692574115daa1/html5/thumbnails/82.jpg)
Alan Mislove amislove at ccs.neu.edu Northeastern University40
SCRIBE: Large scale multicast
topicId
Subscribe topicId
Publish topicId