Peer-to-Peer Networks - Skype Hongli Luo CEIT, IPFW.

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

Lync /11/2017 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Understanding KaZaA Jian Liang Rakesh Kumar Keith Ross Polytechnic University Brooklyn, N.Y.
CCNA – Network Fundamentals
NAT/Firewall Traversal April NAT revisited – “port-translating NAT”
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,
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.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
An Analysis of the Skype Peer-to- Peer Internet Telephony Protocol Salman Baset and Henning Schulzrinne April 27, 2006.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Application layer (continued) Week 4 – Lecture 2.
Socket Programming.
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.
Peer-to-Peer Intro Jani & Sami Peltotalo.
Introduction to the Application Layer Computer Networks Computer Networks Spring 2012 Spring 2012.
Skype & its protocol Aaron Loar CPE 401. Introduction Skype’s Background Topology 3 Node Types Questions.
Dr. Philip Cannata 1 Principles of Network Applications.
Tracking down Traffic Dario Bonfiglio Marco Mellia Michela Meo Nicolo’ Ritacca Dario Rossi.
KaZaA: Behind the Scenes Shreeram Sahasrabudhe Lehigh University
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.
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.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 15 How VoIP and Skype Work.
ON THE STABILITY OF SKYPE SUPER NODES Anat Bremler-Barr Ran Goldschmidt Interdisciplinary Center Herzliya Haifa University
VoIP Case Study1 VoIP Case Study: Skype Dr. Danny Tsang Department of Electrical & Electronic Engineering Hong Kong University of Science and Technology.
Service Oriented VoIP (SOVoIP): True Convergence of Data and Voice Networks Presented By Mohammed Jubaer Arif Supervisors Dr Shanika Karunasekera and Dr.
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.
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.
Ch 2. Application Layer Myungchul Kim
 Introduction  VoIP  P2P Systems  Skype  SIP  Skype - SIP Similarities and Differences  Conclusion.
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.
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.
Computer Networks.  The OSI model is a framework containing seven layers that defines the protocols and devices used at each stage of the process when.
1 NAT Network Address Translation Motivation for NAT To solve the insufficient problem of IP addresses IPv6 –All software and hardware need to be updated.
Skype P2P Kedar Kulkarni 04/02/09.
What makes a network good? Ch 2.1: Principles of Network Apps 2: Application Layer1.
1 How Streaming Media Works Bilguun Ginjbaatar IT 665 Nov 14, 2006.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
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.
ﺑﺴﻢﺍﷲﺍﻠﺭﺣﻣﻥﺍﻠﺭﺣﻳﻡ. Group Members Nadia Malik01 Malik Fawad03.
Security in Skype Prepared by Prithula Dhungel. Security in Skype2 The Skype Service P2P based VoIP software Founded by the founders of Kazaa Can be downloaded.
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.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
E Multimedia Communications Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia.
Voice over IP B 林與絜.
Lecture 10. P2P VoIP D. Moltchanov, TUT, Fall 2014
Interactive Connectivity Establishment : ICE
An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
@Yuan Xue CS 283Computer Networks Spring 2011 Instructor: Yuan Xue.
SOSIMPLE: A Serverless, Standards- based, P2P SIP Communication System David A. Bryan and Bruce B. Lowekamp College of William and Mary Cullen Jennings.
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.
Skype.
An Experimental Study of the Skype Peer-to-Peer VoIP System
Chapter 2 Introduction Application Requirements VS. Transport Services
Skype P2P communication
Part 4: Peer to Peer - P2P Applications
Presentation transcript:

Peer-to-Peer Networks - Skype Hongli Luo CEIT, IPFW

Skype r Reference: An Analysis of the Skype Peer-to-peer Internet Telephony Protocol, S. Baset, H. Schulzrinne, 2004 r Use traffic analysis, shared library and system call interception techniques to analyze the various aspects of the Skype protocol

Voice over IP (VoIP) r VoIP – transport of voice over IP-based networks r Complexity ranges from m Hobbyists using Internet to get free phone calls on peer-to-peer basis to m Full scale PSTN replacement networks r VoIP must address m Types of end user terminals - IP phones, PC clients m Quality of Service – ensure agreed quality m Security risks must be clearly identified m Last mile bandwidth – which affects codec, packetization period and where to use compression to best meet service goals m Signaling protocol must support service set required

VoIP r Quality of Service (Delay, Jitter, Packet loss) m Use RSVP, DiffServ, MPLS, even ATM m RTP is used for media traffic m Signaling protocol: SIP r Video on Skype m Provide video calling on Skype m Need a web camera m Available on computer, mobile, TV

P2P Case study: Skype r A peer-to-peer (P2P) overlay network for VoIP and other applications, developed by founder of KaZaA r P2P (pc-to-pc, pc-to-phone, phone-to-pc) Voice-Over-IP (VoIP) application m also IM r SkypeOut and SkypeIn servers – PC-to-PSTN and PSTN-to-PC r proprietary application-layer protocol (inferred via reverse engineering) r Packet transmission (voice and control packets) are encrypted Skype clients (SC) Supernode (SN) Skype login server

The Skype Network hierarchical overlay

The Skype Network (contd…) r Ordinary host (SC) m A Skype client r Super nodes (SN) m A Skype client m Has public IP address, ‘sufficient’ bandwidth, CPU and memory r Login server m Stores Skype id’s, passwords, and buddy lists m Used at login for authentication m Version : and r Peer uses a variant of STUN protocol to determine the type of NAT and firewall it is behind

The Skype Network (contd…) r NAT and firewall traversal m Public IP address m Port-restricted NAT A port-restricted NAT allows an external host, with source IP address X and source port P, to send a packet to the internal host only if the internal host had previously sent a packet to IP address X and port P. m UDP-restricted firewall r Uses wideband codec to maintain reasonable call quality at an available bandwidth of 32 kbps r Uses TCP for signaling r Uses both UDP and TCP for transporting media traffic

Skype: making a call r User starts Skype Skype login server r SC registers with SN m list of bootstrap SNs r SC logs in (authenticate) r Call: SC contacts SN with callee ID m SN contacts other SNs (unknown protocol, maybe flooding) to find addr of callee; returns addr to SC r SC directly contacts callee, over TCP

Skype Components r Client listens on particular ports for incoming calls r Maintains a table of other Skype nodes called host cache r Wide codec r Buddy list r Encrypts messages end-to-end r Determines whether it is behind a NAT or a firewall

Skype Components r Ports m No default listening port m Randomly chooses a port (P1) on installation m Also opens TCP listener sockets at port 80 (HTTP) for incoming http requests and port 443 (HTTPS)

Skype Components (contd…) r Host cache (HC) m IP address and port number of online Skype nodes (SNs) m Maximum size: 200 entries m Liang, Kumar and Ross. Understanding KaZaA 200 entries for ordinary nodes (ON) m Login server IP address and port number m If unable to establish a connection with any HC entry Connect with one of the seven bootstrap IP address and port pairs hardcoded in the Skype executable m HC Windows location C:\Documents and Settings\All Users\Application Data\Skype\shared.xml

Skype HC

Skype Components (Contd…) r Codecs (GlobalIPSound) m Wide band codecs (50-8,000 Hz) m iLBC (packet size: 20 and 30 ms bitrate: 15.2 kbps and 13.3 kbps) m iSAC (packet size: ms bitrate: kbps) m G.729 for SkypeOut? r Buddy list m Stored in ‘config.xml’ file C:\Documents and Settings\ \Application Data\Skype\ f384d3a0:1 7d1dafc4:1

Skype Functions r Startup r Login r User search r Call establishment r Media transfer r Keep-alive r NAT and firewall traversal r Conferencing

Skype Functions: STARTUP r First time startup m Sent a HTTP 1.1 GET request to the Skype server (Skype.com) m GET /ui/0/97/en/installed HTTP/1.1 r Normal startup m To determine a newer version of Skype is available, during login GET /ui/0/97/en/getlatestversion?ver= HTTP/1.1

Skype Functions: LOGIN r Establishes a TCP connection with SN r Authenticates with the login server and gets a certified public key r Bootstrap super nodes - Hard-coded in Skype r A SC must establish a TCP connection with a SN in order to connect to Skype network r A SC is able to determine at login if it is behind a NAT and a firewall Bootstrap sn IP address and hostnames obtained by a reverse lookup IP address:portReverse lookup resultAuthority section :33033sss1.skype.netns1.hopone.net :33033No PTR resultns1.hopone.net :33033No PTR resultns07.customer.eu.level3.net :33033No PTR result ns3.DK.net :33033rs ev1.net ns2.ev1.net :33033rs ev1.net ns2.ev1.net :33033ev1s ev1servers.net ns1.ev1.net

Skype Functions: USER SEARCH r Claimed by Skype m Guaranteed to find a user if it exists and logged in the last 72 hours r Search results are cached at intermediate nodes r Unable to trace messages beyond SN r Cannot force a node to become a SN m Host cache is used for connection establishment and not for SN selection r User does not exist. How does search terminate? m Skype contacts login server for failed searches r SN searches for a user behind UDP-restricted firewall r Same wildcard (sal*) search query from two different machines initiated at the same time gives different results

Skype Functions: CALL ESTABLISHMENT r Call signaling always carried over TCP and goes e2e r Calls to non buddies=search+call r Initial exchange checks for blocked users r Public-public call m Caller SC establishes a TCP connection with callee SC r Public-NAT m Caller SC is behind port-restricted NAT m Caller---->Skype node (SN) ----> Callee m TCP connection established between caller, callee, and more than one Skype nodes m Unknown: How a node is selected to route calls from caller to callee? Perhaps determined at login r Firewall-firewall call m Same as public-NAT but no in-UDP packets

Skype Functions: CALL ESTABLISHMENT r Caller is behind port-restricted NAT and callee has a public IP address r Caller sent signaling to an online Skype node which forwarded it to callee (both over TCP) r Media flowed directly between caller and callee over UDP

Skype Functions: CALL ESTABLISHMENT r Caller and callee are behind port-restricted NAT and UDP-blocking firewall r Both caller and callee exchange signaling information over TCP with another online Skype node.

Skype Functions: Summary PublicNATFirewall Login10 KB11 KB7 KB Search1-2 KB 5-7 KB Call establishment6 KB8 KB PublicNATFirewall Login3-7 seconds seconds Search3-4 seconds5-6 seconds10-15 seconds

Skype Functions: MEDIA TRANSFER Public-publicNAT-publicFirewall-firewall Packet size bytes bytes30-90 bytes Stream bw5 kilobytes/s 5.5 kilobytes/s TransportUDP TCP r 10/100 Mbps Ethernet r iSAC codec was used (adaptive bit-rate)

Skype Functions: MEDIA TRANSFER r No silence suppression r Silence packets are used to m play background noise at the peer m maintain UDP NAT binding m avoid drop in the TCP congestion window r Putting a call on hold m Send 1 packet/3 seconds to call-peer or Skype node m same reasons as above r Codec frequency range m 50-8,000 Hz (total bw of 3 kilobytes/s) r Reasonable call quality at (4 kilobytes/s)

Skype Functions: KEEP ALIVE r Send refresh message over TCP to SN every 120 seconds r Refresh message size: 2 bytes

Skype Functions: CONFERENCING r A, B, and C have public IP addresses r B and C were sending traffic over UDP to A r A acts as a mixer B CA+B A+C A: 1.6 GHz Pentium4, 512 MB RAM B: 3 GHz Pentium4, 1 GB C: 3 GHz Pentium4, 1 GB

Skype, MSN, Yahoo and Talk Application 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 MB21 MB, 27 MBNormalHigh96ms MSN7.525 MB, 22 MB34 MB, 31 MBNormal 184ms Yahoo7.0 beta38 MB, 34 MB43 MB, 42 MBNormal 152ms GTalk MB, 9 MB13 MB, 13 MBNormal 109ms