Skype P2P communication

Slides:



Advertisements
Similar presentations
Caltech Proprietary Videoconferencing Security in VRVS 3.0 and Future Videoconferencing Security in VRVS 3.0 and Future Kun Wei California Institute of.
Advertisements

Lync /11/2017 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Security in VoIP Networks Juan C Pelaez Florida Atlantic University Security in VoIP Networks Juan C Pelaez Florida Atlantic University.
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.
Application layer (continued) Week 4 – Lecture 2.
Skype Connected to a SIP PBX
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.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Peer-to-Peer Intro Jani & Sami Peltotalo.
Hands-On Microsoft Windows Server 2003 Networking Chapter 1 Windows Server 2003 Networking Overview.
Skype & its protocol Aaron Loar CPE 401. Introduction Skype’s Background Topology 3 Node Types Questions.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
VoIP Case Study1 VoIP Case Study: Skype Dr. Danny Tsang Department of Electrical & Electronic Engineering Hong Kong University of Science and Technology.
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.
VoIP: Skype architecture & complete call setup Seminar 2 By: Prateek Arora.
 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.
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.
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.
Greg Van Dyne December 4, Agenda Introduction Technical Overview Protocols Demonstration Future Trends References.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
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.
An analysis of Skype protocol Presented by: Abdul Haleem.
Security, NATs and Firewalls Ingate Systems. Basics of SIP Security.
Lecture 10. P2P VoIP D. Moltchanov, TUT, Fall 2014
1 12-Jan-16 OSI network layer CCNA Exploration Semester 1 Chapter 5.
WebRTC Don McGregor Research Associate MOVES Institute
Peer-to-Peer Networks - Skype Hongli Luo CEIT, IPFW.
SOSIMPLE: A Serverless, Standards- based, P2P SIP Communication System David A. Bryan and Bruce B. Lowekamp College of William and Mary Cullen Jennings.
Skype.
HIP-Based NAT Traversal in P2P-Environments
1 28-Sep-16 S Ward Abingdon and Witney College CCNA Exploration Semester 1 OSI network layer CCNA Exploration Semester 1 Chapter 5.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI network layer CCNA Exploration Semester 1 – Chapter 5.
CS 3700 Networks and Distributed Systems
05 - P2P applications and Sockets
NAT (Network Address Translation)
IP Telephony (VoIP).
Installing TMG & Choosing a Client Type
An Experimental Study of the Skype Peer-to-Peer VoIP System
改良UDP洞穿技術設計物聯網通訊: 以遠端門鈴監控系統為例 Improving UDP Hole Punching Technique For IoT Communications: A Remote Door-bell Monitoring System 報告時間28~32分佳 楊凱勝 指導教授:柯開維.
Principles of Network Applications
SUBMITTED BY: NAIMISHYA ATRI(7TH SEM) IT BRANCH
Understand Networking Services
RTP: A Transport Protocol for Real-Time Applications
Chapter 6: Network Layer
NET323 D: Network Protocols
Client-Server Interaction
Chapter 2 Introduction Application Requirements VS. Transport Services
VPN-Implementation Using UBUNTU OS and OpenVPN and Hamachi in client-server environment. By Ruphin Byamungu, Kusinza United States International University-Nairobi.
Packet Sniffing.
NET323 D: Network Protocols
Part 4: Peer to Peer - P2P Applications
Chapter 15 – Part 2 Networks The Internal Operating System
Lecture 2: Overview of TCP/IP protocol
Network Architecture for Cyberspace
Chapter 11: Network Address Translation for IPv4
Exceptions and networking
Presentation transcript:

Skype P2P communication Group Members: Andre Tran, Balta Infante, Priyanka Gangishetty, Irena Mao

In this presentation... 1) Introduction to P2P 2) Skype Overview 3) Architecture 4) Key components of Skype software 5) Functions of Skype

P2P Architecture No always-on server Peers are both clients and servers Any peer can initiate a connection and change IP address

P2P Characteristics Clients are also servers and routers Nodes are autonomous Network is dynamic Nodes collaborate directly with each other

P2P Benefits Efficient use of resources Scalability Reliability Ease of administration

Skype VoIP application services provided: host-to-host VoIP host-to-phone phone-to-host multi-party host-to-host video conferencing

Skype P2P Components Organization: hierarchical overlay network clients: skype peers connect directly to each other for VoIP call super nodes (SN): skype peers with special functions overlay network: among SNs to locate clients login server

How Skype Works skype client operation: 1. joins skype network by contacting SN (IP address cached) using TCP 2. logs-in (usename, password) to centralized skype login server 3. obtains IP address for callee from SN, SN overlay or client buddy list 4. initiate call directly to callee

Multi-party Conference Calls audio calls (N >2) : instead of each peer send audio to all other peers number of streams sent: N(N-1) reduce bandwidth by: all peers send audio to conference initiator conference initiator combine all audio into one stream sends combined steam to all other peers number of stream sent: 2(N -1)

Multi-party Conference Calls video call (N > 2): each peer's video stream is routed to a server cluster server cluster relays to each peer the N-1 streams of other peers

Skype Privacy Problems A peer to sniff IP address of another peer After obtaining IP address: use geo-location services to track location of another peer correlate to BitTorrent partially decrypt a Skype call

Architecture Overlay network Can become super node if: Sufficient bandwidth Sufficient processing power Won’t be a super node if: Behind NAT Restrictive firewall Behind HTTP or SOCKS5 proxy

Architecture Super nodes replaced by linux boxes ~10,000 boxes using grsecurity More resilient to attacks Accommodates more users More centralized and more secure

Architecture Skype client keeps table of reachable nodes Buddy lists and host cache Shared over the super nodes Contains IP addresses and port numbers Stored in XML format

Codecs SILK codec replaces SVOPC (Sinusoidal Voice Over Packet Coder) Sampling frequency: 8, 12, 16, 24 kHz Bit rate from 6 to 40 kbits/s IETF currently developing Opus based off the speech-oriented SILK and low latency CELT

Skype Protocol Protocol is proprietary It is unknown how index mappings are organized across super nodes Claimed to have 3G P2P or Global Index technology Skype doesn’t support use of IPV6 protocol

Skype Protocol By default audio and video sent over UDP Control packets are sent over TCP Media packets over TCP when firewall blocks UDP FEC (Forward Error Correction) used for loss recovery of voice and video over UDP Skype client adapts by changing video quality and FEC overhead

Skype Protocol Signaling is encrypted with RC4 obscures the traffic, but key can still be recovered Voice data encrypted by AES Skype client API is open to developers

Relays Super nodes relay communications for clients behind firewalls or NAT NAT and firewalls may prevent client from receiving UDP is not usable with NAT Firewalls block many ports TCP through many-to-one NAT is outward only Three super nodes are needed, one for each client and one to serve as relay

Key Components Ports Host Cache Codecs Buddy List Encryption NAT and Firewall

Ports A SC opens TCP and UDP listening ports at the number configured in its connection dialog box In addition, SC also opens port number 80 and 443 as alternatives There is no default TCP or UDP listening port

Port’s snapshot

Host Cache List of super node IP address and port pairs that SC builds and refreshes regularly v0.97 stops and reports login failure if unable v1.2 and onwards, tries to establish a TCP connection with one of the seven bootstrap (hardcoded) Stored as XML files Maximum of 200 entries

Codecs iLBC, iSAC, iPCM Developed by GlobalIPSound For SC v1.4 allows frequencies from 50 to 8000 Hz Thus, frequency range of a wideband codec

Buddy List Stored in config.xml v1.2 and onwards for XP also stores it on a central Skype server: 212.72.49.142 Stored unencrypted on a computer

Buddy List’s snapshot

Encryption Skype uses AES 256-bit encryption with a total of 1.1 x 10^77 Uses 1024 bit RSA to negotiate symmetric AES keys User public keys certified by the Skype server at login using 1536 or 2048-bit RSA certificates

NAT and Firewall SC uses a variation of STUN and TURN protocols to determine the type of NAT and firewall it is behind SC refreshes info periodically Info also stored in shared.xml file Unlike Kaaza, a SC cannot prevent itself from becoming a super node

Functions of Skype 1) Login SC sends a UDP packet to the bootstrap super nodes If no response, it tries to establish a TCP connection, repeats the whole process after 6 seconds if this fails too Next step is to authenticate itself to a server which is done over a TCP connection 2) NAT traversal Skype uses STUN (Session traversal utilities for NAT) to detect and traverse NATs 3) User search Skype uses a distributed search on a Global index

contd... 4) Call establishment and teardown For a user not on the friends list, its a user search plus call signalling For a person on the friend’s list, the caller SC establishes a TCP connection with the callee via a challenge-response mechanism For a machine behind a NAT, caller establishes a connection with an online Skype node 5) Media transfer If both machines have public IP addresses, media is exchanged over UDP between caller and callee SC Otherwise, a TCP connection is used via an online node

References http://www.eecg.toronto.edu/~jacobsen/mie4 56/slides/p2p-mie.pdf Computer Networking: A Top Down Approach http://www1.cs.columbia.edu/~salman/public ations/skype1_4.pdf