13 p2p cdn - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • very first killer...

44
Lecture 13: Overlay, P2P and CDN Instructor: Kate Ching-Ju Lin (林靖茹) Multimedia Communications @CS.NCTU Ch. 2 “Computer Networking: A Top-Down Approach” http://www-users.cselabs.umn.edu/classes/Spring-2016/csci5221/

Upload: others

Post on 14-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Lecture 13: Overlay, P2P and CDNInstructor: Kate Ching-Ju Lin (林靖茹)

Multimedia [email protected]

Ch. 2 “Computer Networking: A Top-Down Approach” http://www-users.cselabs.umn.edu/classes/Spring-2016/csci5221/

Page 2: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Outline• Overlay networks• P2P System

• Unstructured P2P• Structured P2P• Example: P2P streaming

• Content delivery network (CDN)

2

Page 3: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Overlay Networks• A virtual network built on top of a physical network• Nodes in the overlay connected by logical links• Each logical link might go through many

underlying physical links• Example: Peer-to-peer, CDN

3

Physical network

Virtual link

physical link

Page 4: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Overlay Networks• A “logical” network built on top of a physical

network• Overlay links are tunnels through the underlying

network• Many logical networks may coexist at once

• Over the same underlying network• And providing its own particular service

• Nodes are often end hosts• Acting as intermediate nodes that forward traffic• Providing a service, such as access to files

• Who controls the nodes providing service?• The party providing the service (e.g., Akamai)• Distributed collection of end users (e.g., peer-to-

peer)4

Page 5: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Application-level Overlays

• One per application• Nodes are decentralized• Network operations/management may be centralized

ISP3

ISP1 ISP2

Site 1

Site 4

Site 3Site 2

N

N N

N

N

N

5

Page 6: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Example: End-System Multicast• IP multicast still is not widely deployed

• Technical and business challenges• Should multicast be a network-layer service?

• Multicast tree of end hosts• Allow end hosts to form their own multicast tree• Hosts receiving the data help forward to others

6

Page 7: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

IP Multicast

•No duplicate packets•Highly efficient bandwidth usage

Berkeley

CMU Stanford

UMN

Routers with multicast support

7

Page 8: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

End System Multicast

Stanford

CMU

Stan1Stan2

Berk1

Berkeley

CMUStan1

Stan2

Berk2

Overlay multicast tree

UMN Berk1

Berk2

UMN

Physical network

8

Page 9: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Outline• Overlay networks• P2P System

• Unstructured P2P• Structured P2P• Example: P2P streaming

• Content delivery network (CDN)

9

Page 10: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Pure P2P Architecture• No always-on server• Arbitrary end systems directly

communicate• Peers are intermittently

connected and change IP addresses

Examples:• File distribution (BitTorrent)• Streaming (PPstream)• VoIP (Skype)

10

Page 11: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Peer-to-Peer Networks

• Two Types of P2P• Unstructured Peer-to-Peer Networks

• Napster, Gnutella, KaZaA, BitTorrent, Skype, pplive, …• Structured Peer-to-Peer Networks

• Distributed Hash Tables, DHT• Chord, Kadmelia, CAN, …

• What are the Key Challenges in P2P?• Pros and Cons?

11

Page 12: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Peer-to-Peer Applications• Very first killer application: Naptser

• “free” music over the Internet• Key idea: share the content, storage and

bandwidth of individual (home) users

Internet

12

Page 13: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

P2P (Application) Model• Each user stores a subset of files (content)• Each user has access (can download) files from all

users in the system

Key Challenges in “pure” peer-to-peer model• How to locate your peer & find what you want?• Need some kind of “directory” or “look-up” service

– centralized – distributed, using a hierarchal

structure– distributed, using a flat structure – distributed, with no structure

(“flooding” based)– distributed, using a “hybrid”

structured/unstructured approach

AB

C

D

EF

E?

13

Page 14: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Other Challenges• Technical

• Scale: up to hundred of thousands or millions of machines

• Dynamics: machines can come and go any time• Social, economic and legal

• Incentive Issues: free-loader problem• Vast majority of users are free-riders• Most share no files and answer no queries• A few individuals contributing to the “public good”• Copyrighted content and piracy• Trust & security issues

14

Page 15: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Unstructured P2P Applications• Napster

• a centralized directory service • peers directly download from other peers

• Gnutella • fully distributed directory service• discover & maintain neighbors, ad hoc topology • flood & forward queries to neighbors (with bounded

hops)• KaZaA

• exploit heterogeneity, certain peers as “super nodes”• two-tier hierarchy: when join, contact a super-node • smart query flooding • peer may fetch data from multiple peers at once• used by Skype (for directory service)

15

Page 16: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Napster Architecture

AB

C

D

E

F

m1m2

m3

m4

m5

m6

m1 Am2 Bm3 Cm4 Dm5 Em6 F

E?m5

E? E

(centralized) directory service

16

Page 17: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Gnutella• Ad-hoc topology• Queries are flooded for bounded number of hops• No guarantees on recall

Query: “xyz”

xyz

xyz

17

Page 18: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

BitTorrent & Video Distribution• Designed for large file (e.g., video) downloads

• esp. for popular content, e.g. flash crowds• Focused on efficient fetching, not search

• Distribute same file to many peers• Single publisher, many downloaders

• Divide large file into many pieces• Replicate different pieces on different peers• A peer with a complete piece can trade with other

peers• Peer can (hopefully) assemble the entire file

• Allows simultaneous downloading• Retrieving different parts of the file from different peers at

the same time• Also includes mechanisms for preventing “free loading”

18

Page 19: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

BitTorrent Components• Seed

• Peer with entire file• Fragmented in pieces

• Leacher• Peer with an incomplete copy of the file

• Torrent file• Passive component• Store summaries of the pieces to allow peers to verify

their integrity• Tracker

• Allows peers to find each other• Returns a list of random peers

19

Page 20: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

P2P File Distribution: BitTorrent• File divided into 256Kb chunks• Peers in torrent send/receive file chunks

tracker: tracks peers participating in torrent

torrent: group of peers exchanging chunks of a file

Alice arrives …… obtains listof peers from tracker… and begins exchanging file chunks with peers in torrent

20

Page 21: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

P2P File Distribution: BitTorrent• Peer joining torrent:

• has no chunks, but will accumulate them over time from other peers

• registers with tracker to get list of peers, connects to subset of peers (“neighbors”)

• While downloading, peer uploads chunks to other peers• Peer may change peers with whom it exchanges chunks• Churn: peers may come and go• Once peer has entire file, it may (selfishly) leave or

(altruistically) remain in torrent

21

Page 22: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

BT: requesting, sending file chunks

requesting chunks:• at any given time,

different peers have different subsets of file chunks

• periodically, Alice asks each peer for list of chunks that they have

• Alice requests missing chunks from peers, rarest first

sending chunks: tit-for-tat• Alice sends chunks to those

peers currently sending her chunks at highest rate • other peers do not receive chunks

from Alice • re-evaluate top 4 every10 secs

• every 30 secs: randomly select another peer, starts sending chunks• “optimistically unchoke” this peer• newly chosen peer may join top 4

22

Page 23: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

BT: Tit-for-Tat(1) Alice “optimistically unchokes” Bob(2) Alice becomes one of Bob’s top-four providers; Bob reciprocates(3) Bob becomes one of Alice’s top-four providers

higher upload rate: find better trading partners, get file faster !

23

Page 24: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Structured P2P Networks• Introduce a structured logical topology• Abstraction: a distributed hash table data structure

• put (key, object); get (key)• key: identifier of an object• object can be anything: a data item, a node (host), a

document/file, pointer to a file, …

• Design Goals: guarantee on recall• i.e., ensure that an item (file) identified is always found• Also scale to hundreds of thousands of (or more) nodes • handle rapid join/leave and failure of nodes

• Proposals• Chord, CAN, Kademlia, Pastry, Tapestry, etc

24

Page 25: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Key Ideas (Concepts & Features)• Keys and node IDs map to the same “flat” ID

space• node IDs are thus also (special) keys!

• Management (organization, storage, lookup, etc) of keys using consistent hashing

• distributed, maintained by all nodes in the network• (Logical) distance defined on the ID space:

structured!• different DHTs use different distances/structures

25

Page 26: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Key Ideas (Concepts & Features)• Look-up/Routing Tables (“finger table” in Chord)

• each node typically maintains O(log n) routing entries

• organizing using structured ID space: more information about nodes closer-by; less about nodes farther away

• Bootstrap, handling node joins/leaves or failures• when node joins: needs to know at least one node in the

system

• Robustness/resiliency through redundancy

26

Page 27: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Lookup Service using DHTDHT : distributed hash table

Why hashing?

flat (“semantic-free”), circular (a ring) id (identifier) space

m bits (e.g., m=160), M = 2m id’sobject (name) space

often with its own semantic structure, e.g., domain

names

node (name/address) space

with its own physical topological structure

map to ID space via hashingH(obj_name) = id_k

H(node_addr) = id_n

27

Page 28: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

DHT-based Schemes• Chord• CAN (content addressable network)• Pastry• Tapestry• Viceroy • Leopard (locality-aware DHT)• ……

(e.g., look up & read “DHT” in wikipedia)

28

Page 29: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Outline• Overlay networks• P2P System

• Unstructured P2P• Structured P2P• Example: P2P streaming

• Content delivery network (CDN)

29

Page 30: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Demands of Video Streaming• Video traffic: major consumer of Internet

bandwidth• Netflix, YouTube: 37%, 16% of downstream

residential ISP traffic• ~1B YouTube users, ~75M Netflix users

• Challenge: scale - how to reach ~1B users?• single mega-video server won’t work (why?)

• Challenge: heterogeneity• different users have different capabilities (e.g.,

wired versus mobile; bandwidth rich versus bandwidth poor)

• Solution: distributed, application-level infrastructure à Content Distributed Networks (CDN)

30

Page 31: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Why CDNs?

• Challenge: how to stream content (selected from millions of videos) to hundreds of thousands of simultaneous users?

• Option 1: single, large “mega-server”• Reliability: single point of failure • Not enough bandwidth: point of network congestion• Far from users: long path to distant clients• multiple copies of video sent over outgoing link

…. quite simply: this solution doesn't scale

31

Page 32: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Why CDNs?

• Challenge: how to stream content (selected from millions of videos) to hundreds of thousands of simultaneous users?

• Option 2: store/serve multiple copies of videos at multiple geographically distributed sites (CDN)

• enter deep: push CDN servers deep into many access networks

• close to users• used by Akamai, 1700 locations

• bring home: smaller number (10’s) of larger clusters in POPs near (but not within) access networks

• used by Limelight

32

Page 33: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Content Distribution Networks• CDN: an application overlay (e.g., Akamai)• Design Space

• Caching (data-driven, passive)• explicit• transparent (hijacking connections)

• Replication (pro-active)• server farms• geographically dispersed (CDN)

• Three Main CDN Providers (in North America, Europe):

• Akamai, Limelight, Level 3 CDN

33

Page 34: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Key Idea of CDN• CDN: stores copies of content at CDN nodes

• e.g. Netflix stores copies of MadMen• Subscriber requests content from CDN

• directed to nearby copy, retrieves content• may choose different copy if network path congested

where’s Madmen?manifest file

34

Page 35: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

CDN: Schematic Illustration

Backendservers

Geographicallydistributedsurrogateservers

Redi rectors

Clients

Cache

aaa.com bbb.com ccc.com

35

Page 36: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Internet host-host communication as a service

Framework of CDN

OTT challenges: coping with a congested Internet• from which CDN node to retrieve content?• viewer behavior in presence of congestion?• what content to place in which CDN node?

“over the top”

36

Page 37: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Redirection Overlay

clients

RR

R

R

R

R

RInternet Backbone

Distributed request-redirectors

Geographically distributed server clusters

R

37

Page 38: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

CDN Content Access• Bob (client) requests video

http://netcinema.com/6Y7B23V• video stored in CDN at http://KingCDN.com/NetC6y&B23V

netcinema.com

KingCDN.com

1

1. Bob gets URL for video http://netcinema.com/6Y7B23Vfrom netcinema.com web page

22. resolve http://netcinema.com/6Y7B23Vvia Bob’s local DNS

netcinema’sauthoratative DNS

3

3. netcinema’s DNS returns URL http://KingCDN.com/NetC6y&B23V 4

4&5. Resolve http://KingCDN.com/NetC6y&B23via KingCDN’s authoritative DNS, which returns IP address of KingCDNserver with video

56. request video fromKINGCDN server,streamed via HTTP

KingCDNauthoritative DNS

Bob’s local DNSserver

38

Page 39: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Case Study: Netflix

1

1. Bob manages Netflix account

Netflix registration,accounting servers

Amazon cloud

CDNserver

2

2. Bob browsesNetflix video

3

3. Manifest filereturned for requested video

4. DASH streaming

upload copies of multiple versions of video to CDN servers

CDNserver

CDNserver

39

Page 40: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Redirection Techniques• URL Rewriting: embedded links• HTTP redirection: requires an extra round trip• DNS (anycast): one name maps onto many

addresses• esp. useful for finding nearby servers & (coarse-grained)

locality-based load balancing • Question: how to figure out geo-location of users (at DNS

query time)?• works for both servers and reverse proxies

• Router: IP Anycast• announce (via BGP) the same IP address prefixes at

multiple locations• “Layer 4/7” (application) switches

• one address, select a server (reverse proxy)• content-based routing (near client)

40

Page 41: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

CDN Cluster Selection Strategy• Challenge: how does CDN DNS select “good”

CDN node to stream to client• pick CDN node geographically closest to client• pick CDN node with shortest delay (or min # hops) to

client (CDN nodes periodically ping access ISPs, reporting results to CDN DNS)

• Alternative: let client decide - give client a list of several CDN servers

• client pings servers, picks “best”

41

Page 42: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Akamai CDN: quickie• pioneered creation of CDNs circa 2000• now: 61,000 servers in 1,000 networks in 70

countries• delivers est 15-20% of all Internet traffic• runs its own DNS service (alternative to public

root, TLD, hierarchy)• hundreds of billions of Internet interactions

daily• more shortly….

42

Page 43: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Akamai CDN Overview• More than 10s of thousands servers in more 1000s

networks globally• Support a variety of services

• DNS resolution, web content delivery, web search, large software update, media content distribution (music, video, etc), …

local DNSserver

Basic operations• User, local DNS &

Akamai DNS• User, Akamai

servers & content providers

43

Page 44: 13 P2P CDN - 首頁 - 國立交通大學資訊工程學系 · 2017-05-18 · • Very first killer application: Naptser • “free” music over the Internet • Key idea: ... P2P

Akamai CDN Architecture

44