Slide 1Network OverlaysUses of overlaysEarly OverlaysTunneling IllustratedWidely known overlaysVirtual Dial-up Example (1)Virtual Dial-up Example (2)Logical Network CreationOther uses for overlaysBasic idea…ComponentsFault-toleranceWhy an overlay?Outcome?Resilient Overlay NetworksFinal example for today: P6PHow P6P worksHow P6P worksHow well does it work?Summary: OverlaysNetwork Overlays.Ken BirmanCornell University. CS5410 Fall 2008.Network OverlaysConsider the InternetIt creates the illusion of a fully connected n x n world of addressable endpointsIn reality, packets must route through a complex infrastructure, but the end user doesn’t see that infrastructureOverlay concept takes this one step furtherWe focus on some application… and create a dedicated personal internet just for itThe dedicated network might have special propertiesUses of overlaysLoad balancing, other forms of quality of serviceDistributing files or data down some form of tree structure (allows massive fanouts without forcing any single node to send huge numbers of copies)Route around congestionContent routing: packets routed on the basis of the data inside them (could look at fields, or might do a whole xquery)Publish subscribe: packets route on the basis of topicDHT: In fact, even a DHT is an overlay!Early OverlaysThe first overlays were really Internet “tunnels”Idea was to encapsulate IP packets in some other network standard… then route them over a link that used non-IP technology… then unpack them and drop them back into IP-landThen we started to see fancier tunnelsIP multicast over TCPIPv6 over IPv4Tunneling IllustratedRouter AWorkstation XRouter BWorkstation YOriginal IPpacket dest YStep 1.Original, unroutableIP Packet sent to routerStep 2Original IPpacketencapsulatedin another IPpacketOriginal IPpacketNew IPPacketTunnelStep 3Original packetextracted, sentto destinationOriginal IPpacket dest YTunnelWidely known overlaysVirtual private networksEnd point computers need to have some form of certificate that they use to identify themselvesTypically: each machine has a private key and a public keyWith this can send “unforgeable” encrypted dataSo: edge machine authenticates itself to the VPN server, which sends back the current secret key of the VPN (a symmetric key)The edge machine tunnels traffic encrypted with the VPN key via the VPN server, which acts as a routerVirtual Dial-up Example (1)Worker dials ISP to get basic IP serviceWorker creates his own tunnel to Home NetworkInternetTunnelGatewayGateway(NAS)Internet Service ProviderPublic Switched Telephone Network (PSTN)WorkerMachineHome NetworkVirtual Dial-up Example (2)Remote worker connects to Home Network through ISP created tunnelAllows wholesale dial-upInternetTunnelGateway(NAC)Gateway(NAS)Internet Service ProviderPublic Switched Telephone Network (PSTN)Home NetworkLogical Network CreationRemote networks 1 and 2 create a logical networkSecure communication at lowest levelInternetTunnelGateway(NAC)Gateway(NAS)Network 1Network 2Other uses for overlaysNew York Stock Exchange Quote Distribution SystemBuilt around 1995Issue: needed a customizable way to route quotes to overhead displays over internal networkRequired fault-toleranceContent sources ran at higher speeds than most display end systems could sustainBasic idea…Build a routing tree for quotesThen replicate it for fault-tolerancesource source ComponentsThe source systems were the five or six “clearing” machines used by the NYSE to capture trades, bids, offered pricesThe routers were inexpensive dedicated computers with dual ethernet cards, one for each networkEach network was a separate ethernet with distinct IP addresses and no automated routingThe overhead displays were basically workstationsFault-toleranceThey used a virtual synchrony package (Isis) to replicate state within router pairs, and to track subscription patterns… lots of groupssource Replicate router stateReplicate subscription patternsWhy an overlay?Isis wasn’t capable of supporting very large groups with very high data ratesSo sending the actual trades/quotes wasn’t feasibleTotal number of routers was about 75… serving 1000 or more display systemsBy building a TCP-based overlay and using the Isis groups “out of band”, Isis wasn’t on the critical pathIsis knew about the dual IP network… TCP didn’t.Outcome?The solution was completely robust and was used from 1995 until mid 2006During that decade there were many failures and even entire network outages But the NYSE “rode them all out” absolutely unperturbed: traders saw no glitches at allSo here the overlay plays two rolesOverlay carries the heavy communication burdenOne overlay for each IP networkResilient Overlay NetworksRon Slideshttp://nms.lcs.mit.edu/ron/Final example for today: P6PResearch by Li Dong Zhou and Van RenesseIssue addressed by this workPeople want to use IPv6But the Internet itself is locked into IPv4So idea is to support IPv6 as an overlayFeatures of IPv6?Very long addresses (64 bits)Address doesn’t reveal location (unlike IPv4)How P6P worksAssumes two worldsAn IPv6 world, invisible to themAn IPv4 world, where P6P livesSome IPv6 nodes live in both, call them “internal gateway nodes”These have both an IPv6 and an IPv4 addressP6P itself implemented by what they call “external gateway” nodes that run in the IPv4 networkHow P6P worksThey designed a DHT based on ChordEach IPv6 node must have an associated IG So treat the (IPv6,IPv4) tuple as a (key,value) pair!IPv6 address is an index into ChordNew IPv6 node would create a new (key,value) pairTo send an IPv6 packet, look up the IPv4 helper node, then forward the IPv6 packet to the helperCache information for reusePlus many optimizations, and a security architecture…How well does it work?They designed a detailed simulation and looked at random traffic (perhaps unrealistic…)In this model, P6P performed extremely wellRapid routingFairly quick response when mobile nodes changed their associated IG nodeSome false routing, but then automatically recoversSeems to be a very practical way to roll IPv6 out…Summary: OverlaysWe’ve seen a
View Full Document