Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.

Slides:



Advertisements
Similar presentations
8-1 Chapter 8 Security Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Advertisements

Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April A note on the use.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
No Class on Friday There will be NO class on: FRIDAY 1/30/15.
2: Application Layer P2P applications and Sockets.
CS 325 Computer Networks Sami Rollins Fall 2003.
1 Day 01 - The Internet. 2 Chapter 1 Introduction Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross.
CSE 124 Networked Services Fall 2009 B. S. Manoj, Ph.D 11/03/2009CSE 124 Network Services FA 2009 Some of these.
Introduction1-1 CS 325 Computer Networks Sami Rollins Fall 2005.
Dr. Philip Cannata 1 Principles of Network Applications.
Introduction 1 Lecture 8 Application Layer (DNS, p2p) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
Chapter 1 Introduction Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April A note on the use.
Domain Name System (DNS)
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 10 Omar Meqdadi Department of Computer Science and Software Engineering University.
1 Lecture05: Application layer r Principles of network applications r DNS r P2P and DHT.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)
Application Layer – Peer-to-peer UIUC CS438: Communication Networks Summer 2014 Fred Douglas Slides: Fred, Kurose&Ross (sometimes edited)
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP.
Introduction Protocol “layers” Networks are complex, with many “pieces”:  hosts  routers  links of various media  applications  protocols  hardware,
Application Layer2-1 Chapter 2: outline 2.1 principles of network applications – app architectures – app requirements 2.2 Web and HTTP 2.3 FTP 2.4 electronic.
Content Distribution March 6, : Application Layer1.
Introduction Chapter 1 Introduction Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley,
Computer Networks CSE 434 Fall 2009 Sandeep K. S. Gupta Arizona State University Research Experience.
Chapter 2: Application layer
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Chapter 3 Transport Layer
Chapter 1 Introduction Circuit/Packet Switching Protocols Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley,
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley,
Introduction1-1 Chapter 1 Computer Networks and the Internet Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose,
Content Distribution March 2, : Application Layer1.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
1 Peer-to-Peer Systems r Application-layer architectures r Case study: BitTorrent r P2P Search and Distributed Hash Table (DHT)
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP r.
Introduction1-1 Data Communications and Computer Networks Chapter 1 CS 3830 Lecture 1 Omar Meqdadi Department of Computer Science and Software Engineering.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July A.
CS 3830 Day 10 Introduction 1-1. Announcements r Quiz #2 this Friday r Program 2 posted yesterday 2: Application Layer 2.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Introduction1-1 Chapter 1 Computer Networks and the Internet Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose,
2: Application Layer 1 Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April.
Computer Networks CSE 434 Fall 2009 Sandeep K. S. Gupta Arizona State University Research Experience.
Advance Computer Networks Lecture#06
Chapter 2 Application Layer Application 2-1. Chapter 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic.
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
No Class on Friday There will be NO class on: FRIDAY 1/29/15 1.
2: Application Layer 1 CMPT 371 Data Communications and Networking Chapter 2 Application Layer - 2.
PEAR TO PEAR PROTOCOL. Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change.
Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Application Layer 2-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
05 - P2P applications and Sockets
Chapter 3 Transport Layer
Chapter 3 Transport Layer
Day 01 - The Internet.
Chapter 2 Application Layer
Server-client vs. P2P: example
Chapter 2: outline 2.1 principles of network applications
Chapter 3 Transport Layer
Chapter 2 Application Layer
Communication Networks
Part 4: Peer to Peer - P2P Applications
Chapter 2 Application Layer
Pure P2P architecture no always-on server
Chapter 2 Application Layer
Presentation transcript:

Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following:  If you use these slides (e.g., in a class) that you mention their source (after all, we’d like people to use our book!)  If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR All material copyright J.F Kurose and K.W. Ross, All Rights Reserved The course notes are adapted for Bucknell’s CSCI 363 Xiannong Meng Spring 2014

Application Layer 2-2 Chapter 2: outline 2.1 principles of network applications  app architectures  app requirements 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail  SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming with UDP and TCP

Application Layer 2-3 Pure P2P architecture  not depending on always-on server  arbitrary end systems directly communicate  peers are intermittently connected and change IP addresses examples:  file distribution (BitTorrent)  Streaming (KanKan)  VoIP (Skype)

Application Layer 2-4 File distribution: client-server vs P2P General model Some source information needs to be distributed to a number of peers usus uNuN dNdN server network (with abundant bandwidth) file, size F u s : server upload capacity (rate) u i : peer i upload capacity (rate) d i : peer i download capacity (rate) u2u2 d2d2 u1u1 d1d1 didi uiui

Application Layer 2-5 File distribution : client-server  server transmission: must sequentially send N copies of file size F to N clients :  time to send one copy: F/u s  time to send N copies: NF/u s increases linearly in N time to distribute F to N clients using client-server approach D c-s > max{NF/u s,,F/d min }  client: each client must download file copy  d min = min client download rate (slowest)  min client download time: F/d min usus network didi uiui F

Application Layer 2-6 File distribution time: P2P  server transmission: must upload at least one copy  time to send one copy: F/u s time to distribute F to N clients using P2P approach usus network didi uiui F D P2P > max{F/u s,,F/d min,,NF/( u s +  u i )}  client: each client must download file copy, many will forward copy or copies  min client download time: F/d min  clients: as aggregate must download NF bits  max upload rate (limiting max download rate) is u s +  u i … but so does this, as each peer brings service capacity increases linearly in N …

Application Layer 2-7 P2P file distribution: BitTorrent tracker: tracks peers participating in torrent torrent: group of peers exchanging chunks of a file Alice arrives …  file divided into 256Kb chunks  peers in torrent send/receive file chunks … obtains list of peers from tracker … and begins exchanging file chunks with peers in torrent

Application Layer 2-8  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”) P2P file distribution: BitTorrent  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

Application Layer 2-9 BitTorrent: 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 four peers currently sending her chunks at highest rate  other peers are choked by Alice (do not receive chunks from her)  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

Application Layer 2-10 BitTorrent: 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 !

Distributed Hash Table (DHT)  DHT: a distributed P2P database  database has (key, value) pairs; examples:  key: ss number; value: human name  key: movie title; value: IP address  Distribute the (key, value) pairs over the (millions of) peers  a peer queries DHT with key  DHT returns values that match the key  peers can also insert (key, value) pairs Application 2-11

Q: how to assign keys to peers?  central issue:  assigning (key, value) pairs to peers.  basic idea:  convert each key to an integer  Assign integer ID to each peer (separate from the key)  put (key, value) pair in the peer whose ID is closest to the key Application 2-12

DHT identifiers  assign integer identifier to each peer in range [0,2 n -1] for some n.  each identifier represented by n bits.  require each key to be an integer in same range  to get integer key, hash original key  e.g., key = hash(“Led Zeppelin IV”)  this is why its is referred to as a distributed “hash” table Application 2-13

Assign keys to peers  rule: assign key to the peer that has the closest ID.  convention in lecture: closest is the immediate successor of the key.  e.g., n=4; peers with IDs: 1,3,4,5,8,10,12,14;  key = 13, then successor peer ID = 14  key = 15, then successor peer ID = 1 Application 2-14

Circular DHT (1)  each peer only aware of immediate successor and predecessor, e.g., 3 knows only 1 and 4  “overlay network ” Application 2-15

Who’s responsible for key 1110 ? I am O(N) messages on avgerage to resolve query, when there are N peers 1110 Define closest as closest successor Application 2-16 Circular DHT (1I)

Circular DHT with shortcuts  each peer keeps track of IP addresses of predecessor, successor, short cuts.  reduced from 6 to 2 messages.  possible to design shortcuts so O(log N) neighbors, O(log N) messages in query Who’s responsible for key 1110? Application 2-17

Peer churn example: peer 5 abruptly leaves  peer 4 detects peer 5 departure; makes 8 its immediate successor; asks 8 who its immediate successor is; makes 8’s immediate successor its second successor.  what if peer 13 wants to join? handling peer churn:  peers may come and go (churn)  each peer knows address of its two successors  each peer periodically pings its two successors to check aliveness  if immediate successor leaves, choose next successor as new immediate successor Application 2-18