Overlay Networks Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101

Slides:



Advertisements
Similar presentations
Lecture 6 Overlay Networks CPE 401/601 Computer Network Systems slides are modified from Jennifer Rexford.
Advertisements

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.
CS 1251 Electronic MAIL Outline/Goals Chapter 9.
1 Electronic Mail u Three major components: u user agents u mail servers u simple mail transfer protocol: SMTP u User Agent u a.k.a. “mail reader” u composing,
1 Electronic Mail Reading: COS 461: Computer Networks Spring 2006 (MW 1:30-2:50 in Friend 109) Jennifer Rexford Teaching Assistant: Mike Wawrzoniak.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
Layer Aplikasi Risanuri Hidayat. Applications and application-layer protocols Application: communicating, distributed processes –e.g., , Web, P2P.
1 Overlay Networks Reading: 9.4 COS 461: Computer Networks Spring 2008 (MW 1:30-2:50 in COS 105) Jennifer Rexford Teaching Assistants: Sunghwan Ihm and.
1 Overlay Networks Reading: 9.4 COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Jennifer Rexford Teaching Assistant: Ioannis Avramopoulos.
New Routing Architectures Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
CPSC 441: FTP & SMTP1 Application Layer: FTP & Instructor: Carey Williamson Office: ICT Class.
Chapter 2: Application layer  2.1 Web and HTTP  2.2 FTP 2-1 Lecture 5 Application Layer.
Electronic Mail and SMTP
1 Electronic Mail Reading: COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Jennifer Rexford Teaching Assistant: Ioannis Avramopoulos.
Chapter 30 Electronic Mail Representation & Transfer
Esimerkki: Sähköposti. Lappeenranta University of Technology / JP, PH, AH Electronic Mail Three major components: user agents mail servers simple mail.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
Simple Mail Transfer Protocol
Introduction 1 Lecture 7 Application Layer (FTP, ) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
Mail Server Fitri Setyorini. Content SMTP POP3 How mail server works IMAP.
1 Lecture #3 Electronic Mail Protocols HAIT Summer 2005 Shimrit Tzur-David.
Electronic Mail Three major components: SMTP user agents mail servers
Introduction 1-1 Chapter 2 FTP & Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 IC322 Fall.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
2: Application Layer1 Chapter 2 Application Layer These slides derived from Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross.
Electronic Mail (SMTP, POP, IMAP, MIME)
SMTP, POP3, IMAP.
1 Application Layer Lecture 5 Imran Ahmed University of Management & Technology.
Trying out HTTP (client side) for yourself
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
CSE401N: Computer Networks Lecture-5 Electronic Mail S. M. Hasibul Haque Lecturer Dept. of CSE, BUET.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.
Intro to Computer Networks Bob Bradley The University of Tennessee at Martin.
Review: –How do we address “a network end-point”? –What services are provided by the Internet? –What is the network logical topology observed by a network.
Application Layer Protocols Simple Mail Transfer Protocol.
1 Computer Communication & Networks Lecture 27 Application Layer: Electronic mail and FTP Waleed.
SMTP PROTOCOL CONFIGURATION AND MANAGEMENT Chapter 8.
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
FTP (File Transfer Protocol) & Telnet
Simple Mail Transfer Protocol (SMTP)
Overlay network concept Case study: Distributed Hash table (DHT) Case study: Distributed Hash table (DHT)
The Internet 8th Edition Tutorial 2 Basic Communication on the Internet: .
File Transfer Protocol (FTP)
OVERVIEW Lecture 6 Overlay Networks. 2 Focus at the application level.
1 Client Software and Mail Hosts Client PC has client software that communicates with user’s mail host Mail hosts deliver outgoing mail to.
CS 3830 Day 9 Introduction 1-1. Announcements r Quiz #2 this Friday r Demo prog1 and prog2 together starting this Wednesday 2: Application Layer 2.
TCP/IP (Transmission Control Protocol / Internet Protocol)
26.1 Chapter 26 Remote Logging, Electronic Mail, and File Transfer Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or.
A Quick Look At How Works Understanding the basics of how works can make life a lot easier for any user. Especially those who are interested.
CITA 310 Section 6 Providing Services (Textbook Chapter 8)
Slides based on Carey Williamson’s: FTP & SMTP1 File Transfer Protocol (FTP) r FTP client contacts FTP server at port 21, specifying TCP as transport protocol.
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.
COMP 431 Internet Services & Protocols
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Dr. Adil Yousif University of Alneelian – Master of CS - IT Electronic Mail.
Chapter 11 Panko and Panko Business Data Networks and Security, 11 th Edition Copyright © 2016 Pearson Finally, Layer 5!
Application Layer instructors at St. Clair College in Windsor, Ontario for their slides. Special thanks to instructors at St. Clair College in Windsor,
Spring 2006 CPE : Application Layer_ 1 Special Topics in Computer Engineering Application layer: Some of these Slides are Based on Slides.
درس مهندسی اینترنت – مهدی عمادی مهندسی اینترنت برنامه‌نویسی در اینترنت 1 SMTP, FTP.
Application layer 1 Principles of network applications 2 Web and HTTP
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
SMTP, POP3, IMAP.
CPE 401/601 Computer Network Systems
Chapter 2: Application layer
Lecture 6 Overlay Networks
The Application Layer: SMTP, FTP
Lecture 6 Overlay Networks
Chapter 7 Network Applications
Chapter 2 Application Layer
Presentation transcript:

Overlay Networks Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101

Skype 2

Niklas Zennström and Janus Friis in 2003 Developed by KaZaA Instant Messenger (IM) with voice support Based on peer-to-peer (P2P) networking technology 3

Skype Network Architecture Login server is the only central server Both ordinary host and super nodes are clients Any node with public IP address and resources can become a super node 4

Challenges of Firewalls and NATs Firewalls – Often block UDP traffic – Usually allow hosts to initiate connections on port 80 (HTTP) and 443 (HTTPS) Network Address Translation (NAT) – Cannot easily initiate traffic to a host behind a NAT Skype must deal with these problems – Discovery: client exchanges messages with super node – Traversal: sending data through an intermediate peer 5

6 Data Transfer UDP directly between the two hosts – Both hosts have public IP addresses, no UDP blocks – Easy: the hosts can exchange UDP packets directly UDP between an intermediate peer – One or both hosts with a NAT – Neither host’s network blocks UDP traffic – Solution: direct UDP packets through another node TCP between an intermediate peer – Hosts behind NAT and UDP-restricted firewall – Solution: TCP connections through another node

Silence Suppression What to transfer during quiet periods? – Could save bandwidth by reducing transmissions Skype does not appear to do silence suppression – Maintain the UDP bindings in the NAT boxes – Provide background noise to play at the receiver – Avoid drop in the TCP window size Skype sends data when call is “on hold” – Send periodic messages as a sort of heartbeat – Maintain the UDP bindings in the NAT boxes 7

Skype Data Transfer Audio compression – Voice packets around 67 bytes – Up to 140 packets per second – Around 5 KB/sec (40 kbps) in each direction Encryption – Data packets are encrypted in both directions – To prevent snooping on the phone call – … by someone snooping on the network – … or by the intermediate peers forwarding data 8

Overlay Networks 9

10

Overlay Networks 11 Focus at the application level

12 IP Tunneling to Build Overlay Links IP tunnel is a virtual point-to-point link – Illusion of direct link between two separated nodes Encapsulation of packet inside an IP datagram – Node B sends a packet to node E – … containing another packet as the payload A B E F tunnel Logical view: Physical view: A B E F

13 Tunnels Between End Hosts A C B Src: A Dest: B Src: A Dest: B Src: A Dest: C Src: A Dest: B Src: C Dest: B

Overlay Networks Logical network built on top of physical network – Overlay link is tunnel through underlying network Many logical networks may coexist at once – Over the same underlying network Nodes are often end hosts – Acting as intermediate nodes that forward traffic Who controls the nodes providing service? – The party providing the service – Distributed collection of end users 14

Case Study: Resilient Overlay Networks 15

RON: Resilient Overlay Networks 16 Premise: by building application overlay network, can increase performance and reliability of routing Two-hop (application-level) Berkeley-to-Princeton route application-layer router Princeton Yale Berkeley

RON Circumvents Policy Restrictions IP routing depends on AS routing policies – But hosts may pick paths that circumvent policies 17 USLEC PU Patriot ISP me My home computer

18 RON Adapts to Network Conditions Start experiencing bad performance – Then, start forwarding through intermediate host A C B

19 RON Customizes to Applications VoIP traffic: low-latency path Bulk transfer: high-bandwidth path A C B voice bulk transfer

20 How Does RON Work? Keeping it small to avoid scaling problems – A few friends who want better service – Just for their communication with each other – E.g., VoIP, gaming, collaborative work, etc. Send probes between each pair of hosts A C B

21 How Does RON Work? Exchange the results of the probes – Each host shares results with every other host – Essentially running a link-state protocol! – So, every host knows the performance properties Forward via intermediate host when needed A C B B

RON Works in Practice Faster reaction to failure – RON reacts in a few seconds – BGP sometimes takes a few minutes Single-hop indirect routing – No need to go through many intermediate hosts – One extra hop circumvents the problems Better end-to-end paths – Circumventing routing policy restrictions – Sometimes the RON paths are actually shorter 22

RON Limited to Small Deployments Extra latency through intermediate hops – Software and propagation delays for forwarding Overhead on the intermediate node – Imposing CPU and I/O load on the host Overhead for probing the virtual links – Bandwidth consumed by frequent probes – Trade-off between probe overhead & detection speed Possibility of causing instability – Moving traffic in response to poor performance – May lead to congestion on the new paths 23

Electronic Mail 24

25 Mail Servers and User Agents Mail servers – Always on and always accessible – Transferring to and from other servers User agents – Sometimes on and sometimes accessible – Intuitive interface for the user user agent mail server user agent mail server user agent user agent

26 Store-and-Forward Model Messages sent through a series of servers – A server stores incoming messages in a queue – … to await attempts to transmit them to next hop If the next hop is not reachable – The server stores the message and tries again later Each server adds a Received header – To aid in diagnosis of problems user agent mail server user agent mail server

27 Scenario: Alice Sends Message to Bob 1) Alice uses UA to compose message “to” 2) Alice’s UA sends message to her mail server; message placed in message queue 3) Alice’s mail server opens TCP connection with Bob’s mail server 4) Alice’s mail server sends Alice’s message over the TCP connection 5) Bob’s mail server places the message in Bob’s mailbox 6) Bob invokes his user agent to read message user agent mail server mail server user agent

Identifying the Mail Server Alice identifying her mail server – User-agent configuration (e.g., smtp.cs.princeton.edu) Alice’s mail server identifying Bob’s mail server – From name in Bob’s address (e.g., yale.edu) Domain name is not necessarily the mail server – Mail server may have longer/cryptic name – Multiple servers may exist to tolerate failures Identifying the mail server for a domain – DNS query asking for MX records (Mail eXchange) – Then, a regular DNS query to learn the IP address 28

Simple Mail Transfer Protocol Client-server protocol – Client is sender, server is receiver Reliable data transfer – Built on top of TCP (on port 25) Push protocol – Sending server pushes file to the receiving server – … rather than waiting for the receiver to request it 29 user agent mail server user agent mail server SMTP access protocol

30 Sample SMTP interaction S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: S: 250 Sender ok C: RCPT TO: S: 250 Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C:. S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection

Try SMTP For Yourself Running SMTP – Run “telnet servername 25” at UNIX prompt – See 220 reply from server – Enter HELO, MAIL FROM, RCPT TO, DATA commands Spoofing is easy! – Just forge the argument of the “FROM” command – … leading to all sorts of problems with spam Spammers can be even more clever – E.g., using open SMTP servers to send – E.g., forging the “Received” header 31

Multiple Server Hops Typically at least two mail servers – Sending and receiving servers May be more – Separate servers for key functions Spam filtering, virus scanning – Servers that redirect the message From to Messages to princeton.edu go through extra hops – Electronic mailing lists Mail delivered to the mailing list’s server … and then the list is expanded to each recipient 32

33 Example With Received Header Return-Path: Received: from ribavirin.CS.Princeton.EDU (ribavirin.CS.Princeton.EDU [ ]) by newark.CS.Princeton.EDU ( / ) with SMTP id k04M5R7Y for ; Wed, 4 Jan :05: (EST) Received: from bluebox.CS.Princeton.EDU ([ ]) by ribavirin.CS.Princeton.EDU (SMSSMTP ) with SMTP id M for ; Wed, 04 Jan :05: Received: from smtp-roam.Stanford.EDU (smtp-roam.Stanford.EDU [ ]) by bluebox.CS.Princeton.EDU ( / ) with ESMTP id k04M5XNQ for ; Wed, 4 Jan :05: (EST) Received: from [ ] (adsl dsl.pltn13.pacbell.net [ ]) (authenticated bits=0) by smtp-roam.Stanford.EDU ( / ) with ESMTP id k04M5W (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 4 Jan :05: Message-ID: Date: Wed, 04 Jan :05: From: Martin Casado User-Agent: Mozilla Thunderbird 1.0 (Windows/ ) MIME-Version: 1.0 To: CC: Martin Casado Subject: Using VNS in Class Content-Type: text/plain; charset=ISO ; format=flowed Content-Transfer-Encoding: 7bit

Retrieving From the Server Server stores incoming by mailbox – Based on the “From” field in the message Users need to retrieve – Asynchronous from when the message was sent – With a way to view and organize messages In the olden days… – User logged on to machine where mail was delivered – Users received on their main work machine Now, user agent typically on a separate machine – And sometimes on more than one such machine 34

Influence of PCs on Retrieval Separate machine for personal use – Users did not want to log in to remote machines Resource limitations – Most PCs did not have enough resources to act as a full-fledged server Intermittent connectivity – PCs only sporadically connected to the network – Too unwieldy to have sending server keep trying Led to the creation of new agents – POP, IMAP, and Web-based 35

Post Office Protocol (POP) POP goals – Support users with intermittent connectivity – Retrieve messages when connected Typical user-agent interaction with a POP server – Connect to the server – Retrieve all messages – Store messages on the user’s PCs as new messages – Delete the messages from the server – Disconnect from the server 36

Limitations of POP Does not handle multiple mailboxes easily – Designed to put user’s incoming in one folder Not designed to keep messages on the server – Instead, designed to download messages to client Poor handling of multi-client access to mailbox – Increasingly important as users have home PC, work PC, laptop, cyber café computer, PDA, etc. High network bandwidth overhead – Transfers all of messages, often well before they are read (and they might not be read at all!) 37

Interactive Mail Access Protocol (IMAP) Supports connected and disconnected operation – Users can download message contents on demand Multiple clients can connect to mailbox at once – Detects changes made to mailbox by other clients – Server keeps message state (e.g., read, replied to) Access to parts of messages and partial fetch – Clients can retrieve individual parts separately – E.g., message text without attachments Multiple mailboxes on the server Server-side searches 38

Web-Based User agent is an ordinary Web browser – User communicates with server via HTTP – E.g., Gmail, Yahoo mail, and Hotmail Reading – Web pages display the contents of folders – “GET” request to retrieve the various Web pages Sending – User types text into a form and submits to server – “POST” request to upload data to the server – Server uses SMTP to deliver message to other servers 39

40 Conclusions Overlay networks – Tunnels between host computers – Build networks “on top” of the Internet – Deploy new protocols and services Benefits of overlay networks – Customization to the applications and users – Incremental deployment of new technologies – May perform better than the underlying network Precept: Distributed Hash Tables