AN ANALYSIS OF THE SKYPE PEER-TO-PEER INTERNET TELEPHONY PROTOCOL Presentation by Andrew Keating for CS577 Fall 2009 By Salman A. Baset and Henning Schulzrinne,

Slides:



Advertisements
Similar presentations
Johan Garcia Karlstads Universitet Datavetenskap 1 Datakommunikation II Signaling/Voice over IP / SIP Based on material from Henning Schulzrinne, Columbia.
Advertisements

CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 25 Introduction to Computer Networks.
©2012 ClearOne Communications. Confidential and proprietary. COLLABORATE ® Video Conferencing Networking Basics.
Understanding KaZaA Jian Liang Rakesh Kumar Keith Ross Polytechnic University Brooklyn, N.Y.
Network Certification Preparation. Module - 1 Communication methods OSI reference model and layered communication TCP/IP model TCP and UDP IP addressing.
NAT/Firewall Traversal April NAT revisited – “port-translating NAT”
Skype & Network Management Taken from class reference : An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol Salman A. Baset and Henning Schulzrinne.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 38 – Voice-over-IP/Skype Klara Nahrstedt Spring 2011.
Voice over IP Skype.
1 An Analysis of the Skype Peer-to- Peer Internet Telephony Protocol Speaker : zcchen.
Review of a research paper on Skype
Comparison between Skype and SIP- based Peer-to-Peer Voice-Over-IP Overlay Network Johnson Lee EECE 565 Data Communications.
1 © 2005 Cisco Systems, Inc. All rights reserved. Cisco Confidential Session Number Presentation_ID STUN, TURN and ICE Cary Fitzgerald.
An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol Salman Baset and Henning Schuzrinne INFOCOMM 2006 Presenter - Bob Kinicki Presenter -
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 41 – P2P Streaming (Part 5) Klara Nahrstedt.
1 Network Architecture and Design Advanced Issues in Internet Protocol (IP) IPv4 Network Address Translation (NAT) IPV6 IP Security (IPsec) Mobile IP IP.
An Analysis of the Skype Peer-to- Peer Internet Telephony Protocol Salman Baset and Henning Schulzrinne April 27, 2006.
An Empirical Study of Real Audio Traffic A. Mena and J. Heidemann USC/Information Sciences Institute In Proceedings of IEEE Infocom Tel-Aviv, Israel March.
How Green is IP-Telephony? Salman Abdul Baset*, Joshua Reich*, Jan Janak**, Pavel Kasparek**, Vishal Misra*, Dan Rubenstein*, Henning Schulzrinne* Department.
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture XV: Real P2P Systems.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
DYSWIS1 Managing (VoIP) Applications – DYSWIS Henning Schulzrinne Dept. of Computer Science Columbia University July 2005.
More about Skype. Overview Any node with a public IP address having sufficient CPU, memory and network bandwidth is a candidate to become a super node.
Understanding Networks. Objectives Compare client and network operating systems Learn about local area network technologies, including Ethernet, Token.
Peer-to-Peer Intro Jani & Sami Peltotalo.
Reliability and Relay Selection in Peer- to-Peer Communication Systems Salman A. Baset and Henning Schulzrinne Internet Real-time Laboratory Department.
Introduction to the Application Layer Computer Networks Computer Networks Spring 2012 Spring 2012.
Circuit & Application Level Gateways CS-431 Dick Steflik.
Skype & its protocol Aaron Loar CPE 401. Introduction Skype’s Background Topology 3 Node Types Questions.
Section 461.  ARP  Ghostbusters  Grew up in Lexington, KY  Enjoy stargazing, cycling, and mushroom hunting  Met Mario once (long time ago)
KaZaA: Behind the Scenes Shreeram Sahasrabudhe Lehigh University
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.
2: Application Layer1 Chapter 2 Application Layer These slides derived from Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross.
Copyright Security-Assessment.com 2005 VoIP 2 Is free too Expensive? by Darren Bilby and Nick von Dadelszen.
VoIP Case Study1 VoIP Case Study: Skype Dr. Danny Tsang Department of Electrical & Electronic Engineering Hong Kong University of Science and Technology.
23-Support Protocols and Technologies Dr. John P. Abraham Professor UTPA.
An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol Ai-Chun Pang Graduate Institute of Networking and Multimedia Dept. of Comp. Sci. and.
Throughput: Internet scenario
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.
VoIP: Skype architecture & complete call setup Seminar 2 By: Prateek Arora.
 Introduction  VoIP  P2P Systems  Skype  SIP  Skype - SIP Similarities and Differences  Conclusion.
Skype Bruce Maggs. 2 Gratuitous Quote of the Day "There have been members of the Maggs family in south east Suffolk since the great subsidy of 1327 but.
Objectives Configure routing in Windows Server 2008 Configure Routing and Remote Access Services in Windows Server 2008 Network Address Translation 1.
Skype P2P Kedar Kulkarni 04/02/09.
1 Chapter Overview Using the New Connection Wizard to configure network and Internet connections Using the New Connection Wizard to configure outbound.
What makes a network good? Ch 2.1: Principles of Network Apps 2: Application Layer1.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.

An Experimental Study of the Skype Peer-to-Peer VoIP System Saikat Guha, Cornell University Neil DasWani, Google Ravi Jain, Google IPTPS ’ 06 Presenter:
ﺑﺴﻢﺍﷲﺍﻠﺭﺣﻣﻥﺍﻠﺭﺣﻳﻡ. Group Members Nadia Malik01 Malik Fawad03.
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.
An analysis of Skype protocol Presented by: Abdul Haleem.
Voice over IP B 林與絜.
Lecture 10. P2P VoIP D. Moltchanov, TUT, Fall 2014
An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol
WebRTC Don McGregor Research Associate MOVES Institute
#16 Application Measurement Presentation by Bobin John.
Peer-to-Peer Networks - Skype Hongli Luo CEIT, IPFW.
@Yuan Xue CS 283Computer Networks Spring 2011 Instructor: 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 original slides that accompany the.
Firewalls. Overview of Firewalls As the name implies, a firewall acts to provide secured access between two networks A firewall may be implemented as.
Skype.
An Analysis on NAT Security
An Experimental Study of the Skype Peer-to-Peer VoIP System
Chapter 2 Introduction Application Requirements VS. Transport Services
Topic 5: Communication and the Internet
Skype P2P communication
Presentation transcript:

AN ANALYSIS OF THE SKYPE PEER-TO-PEER INTERNET TELEPHONY PROTOCOL Presentation by Andrew Keating for CS577 Fall 2009 By Salman A. Baset and Henning Schulzrinne, Columbia University 1

Outline  Skype Overview/Network and NAT Refresher  Experimental Setup  Skype Components  INFOCOMM ‘06 Paper  Conclusions 2

Skype Overview  Developed by Kazaa  VoIP client with support for (at time of paper):  Voice calling  Instant messaging  Audio conferencing  Overlay peer-to-peer network with global indexing  Able to traverse NAT and firewalls  256-bit AES Encryption 3

The Skype Network  Ordinary Host  Skype Client  Super Node  Also a Skype Client  Must have a public IP address  Determined to have sufficient bandwidth, CPU, memory  Login Server 4

The Skype Network (cont’d) 5

NAT Refresher  Originally a “quick fix” for limited IPv4 addresses  Re-mapping of network addresses at the router Tanenbaum 4th 6

NAT Refresher (cont’d) Port-restricted NAT  Assume Host A is behind a port-restricted NAT and Host B is behind a Public IP  Host B, which sits on Port P, can only communicate with Host A if Host A has previously sent a packet to Host B on Port P  What happens when Host B wants to call Host A?  This is a problem for Peer-to-Peer! 7

Outline  Skype Overview/Network and NAT Refresher  Experimental Setup  Skype Components  INFOCOMM ‘06 Paper  Conclusions 8

Experimental Setup Borrowed from INFOCOMM ‘06 Talk 9

Experimental Setup (cont’d) Software Tools  Skype v (Windows)  Skype was reinstalled for each experiment  As of 10/3/09, current Windows version is 4.1  NCH Tone Generator  Generated frequencies to measure the codec range  Ethereal network protocol analyzer (Wireshark)  Captures all traffic passing over a network  NetPeeker  Used to tune bandwidth levels 10

Experimental Setup (cont’d) Hardware and Network  Pentium II 200MHz with 128MB RAM  Windows 2000  10/100 Mb/s ethernet card  100 Mb/s network connection 11

Outline  Skype Overview/Network and NAT Refresher  Experimental Setup  Skype Components  INFOCOMM ‘06 Paper  Conclusions 12

Installation and Startup  No default ports  Random listening port selected at install  Install  GET /ui/0/97/en/installed HTTP/1.1  Startup  GET /ui/0/97/en/getlatestversion?ver= HTTP/1.1 13

Login  On the first login, Skype client establishes TCP connection with Bootstrap SuperNode  Hard-coded into Skype client application  Logins are routed through a SuperNode  If no SuperNodes are reachable, login fails  Attempts to use Ports 80 and 443 if behind firewall 14

Login (cont’d) 15

Host Cache  Local table of reachable nodes  These are actually “SuperNodes”  Host cache is populated on the first login  Dynamic; SNs are added/dropped as Skype runs 16

Login (cont’d) Public IP and NAT  SC->BN UDP Connection  SC->SN TCP Connection  SC->Login Server Auth  3-7 seconds 17

Login (cont’d) Mystery ICMP Packets  Sent during initial login, and not subsequent 18

Login (cont’d) Additional UDP Messages  Not entirely clear what these are for  Remember that all Skype traffic is encrypted – we can’t just inspect the packets  Possibly to announce the node’s presence on the Skype network  Possibly to determine NAT type (STUN) 19

STUN Protocol  Session Traversal Utilities for NAT [RFC 5389]  Commonly used by networked applications to determine the type of NAT/firewall they are behind  Requires a STUN server (outside the NAT)  Determined that there is no centralized STUN server used by Skype  So we can infer that Skype clients have STUN client and server functionality 20

Login (cont’d) UDP-Restricted Firewall  UDP Fails  TCP to Bootstraps  Select SuperNode  UDP Fails Again  Login Server Auth  34 seconds 21

After Authentication: Alternate Node Table Construction  Conjectured that these are alt nodes  Confirmed by further communication during call establishment  Used as replacement SuperNodes 22

User Search  Skype guarantees the ability to find any user who has logged on in the past 72 hours  Confirmed by experiments  Decentralized search algorithm  Does not involve use of login server  Intermediate node caching of search results 23

User Search (cont’d): Public IP/NAT 16b 101b TCP UDP … 24

User Search (cont’d): UDP-Restricted Firewall  SuperNode performs search TCP 16B 52B 406B 1104B … 25

Intermediate Node Search Caching  Local caches cleared on User B client User A User B User A User B Search “User B” (6-8 secs) (3-4 secs) Search Results ? 26

Call Signaling  TCP Challenge-Response Mechanism  If calling a non-buddy, search function is first performed  At the end of the Call Signaling phase, the Callee’s Skype client will “ring” 27

Call Signaling (cont’d) Public IP 28

Call Signaling (cont’d) Caller Behind NAT  Another online node relays TCP signaling packets NAT CallerCallee Online Node 29

Media Transfer  Internet Speech Audio Codec (iSAC)  Frequency range: Hz  Public IPs communicate directly  NAT users use a media proxy  Uses UDP Transport if possible  67 byte UDP voice packets  5 kilobytes/sec  UDP-restricting firewall users communicate over TCP  No Silence Suppression 30

Why No Silence Suppression?  Voice packets continue flowing during periods of silence  For UDP connections, this allows Skype to maintain NAT bindings  For TCP connections, it is ideal to avoid drops in congestion window 31

On the use of proxy nodes…  Enables users behind NAT and Firewall to talk  Natural solution for conferencing  However, creates lots of traffic on the proxy  Remember, these are regular (mostly unsuspecting) Skype users! 32

Conferencing  A: 2GHz P4 w/ 512MB RAM  B, C: 300MHz P2 w/ 128MB RAM  “Mixer” elections – A always wins 33

Additional Findings  If a Skype call is put on “hold,” a packet is sent every 3 seconds (think lack of silence suppression)  2-byte SN Keep-Alive messages every minute  To maintain reasonable call quality, Skype needs roughly 4 KB/s of available bandwidth  The same user can log in from multiple machines simultaneously  Buddy lists stored locally  Cannot select your own SuperNode by manually populating the Host Cache with a Skype Client’s IP 34

Outline  Skype Overview/Network and NAT Refresher  Experimental Setup  Skype Components  INFOCOMM ‘06 Paper  Conclusions 35

INFOCOMM ’06 Overview  Skype version 1.4 used  Re-performed experiments  Comparisons with Yahoo, MSN, GTalk  Closer look at SuperNodes 36

INFOCOMM ‘06 (cont’d) Skype vs Yahoo, MSN, Gtalk (Setup)  Measurement – Mouth-to-ear Latency Borrowed from INFOCOMM ‘06 Talk 37

INFOCOMM ‘06 (cont’d) Skype vs Yahoo, MSN, Gtalk (Results) Applicati on version Memory usage before call (caller, callee) Memory usage after call (caller, callee) Process priority before call Process priority during call Mouth- to-ear latency Skype MB, 19 MB 21 MB, 27 MB NormalHigh96ms MSN7.525 MB, 22 MB 34 MB, 31 MB Normal 184ms Yahoo7.0 beta38 MB, 34 MB 43 MB, 42 MB Normal 152ms GTalk MB, 9 MB13 MB, 13 MB Normal 109ms 38

INFOCOMM ‘06 (cont’d) Mystery ICMP Packets Revisited  * (USA)  * (Sweden)  * (Australia)  * (Japan)  The purpose of these packets is still unclear! 39

INFOCOMM ‘06 (cont’d) Super Nodes Revisited  Automated 8,153 Skype logins over 4 days to analyze SuperNode selection  Found that the top 20 SNs recv’d 43.8% of total connections Unique SNs per day Cumulative unique SNs Common SNs between previous and current day Day1224 Day Day Day

INFOCOMM ‘06 (cont’d) Super Node Map  35% of SuperNodes are from.edu! 41

INFOCOMM ‘06 (cont’d) Additional Findings  Host Cache moved from registry to XML file  Keep-alive messages are half as frequent  Buddy Lists now stored on login server  Voice packets increased to bytes 42

Outline  Skype Overview/Network and NAT Refresher  Experimental Setup  Skype Components  INFOCOMM ‘06 Paper  Conclusions 43

Conclusions  Search not entirely clear  Login server is centralized (but nothing else)  Best mouth-to-ear latency  ‘Selfish’ application 44

Further Research  INFOCOMM paper has 467 citations [Google Scholar]  PEDS Research Group on 10/5/09: Rapid Identification of Skype Traffic Flows  Able to identify Skype traffic by observing 5 sec flow  Looks at packet lengths and inter-arrival times  98% precise  But – codec-dependent! 45

Too popular?  Throttled on WPI campus internet 46

A Quick Test 47  Caller and Callee behind public IP addresses  Caller on wired WPI campus connection (throttled)  Callee on unrestricted home network connection  Video chat UDP:  15-25% packet loss  kilobytes per second avg.  Result – Jitter, “robotic” voice, low QoS  Video chat TCP  0% packet loss  36.7 kilobytes per second avg.

Questions/Discussion  Ideas on the mysterious ICMP packets?  Ideas on how the search algorithm works?  Why is WPI throttling Skype?  Feelings about assigning of unsuspecting supernodes? 48