Performance Enhancement of TFRC in Wireless Networks

Performance Enhancement of TFRC in Wireless Networks

An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol Salman Baset and Henning Schuzrinne INFOCOMM 2006 Presenter - Bob Kinicki Outline Skype Overview Skype Components Review of NATs Experimental Set Up

Skype Functionality Login, Login Server, User Search, Call Establishment, Conferencing Super Node Facts Conclusions Advanced Computer Networks Analysis of Skype 2006 2 Skype Overview

Developed by Kazaa as an overlay P2P (peer-to-peer) network. Provides a VoIP client that supports voice calls, instant messaging, audio conferencing and buddy lists. {Currently supports video!} Uses TCP for signaling and TCP and UDP for transporting media traffic. Uses 256-bit AES encryption. Employs wideband codecs (iLBC, ISAC and iPCM) that allow frequencies between 50-8000 Hz. Advanced Computer Networks Analysis of Skype 2006 3

Skype Network Ordinary Host Skype Client (SC) Super Node (SN) Skype Client Must have public IP address Has sufficient capacity, CPU and memory Skype Login Server

Advanced Computer Networks Analysis of Skype 2006 4 Skype Overview Ordinary hosts (SC) must connect through a super node (SN) and authenticate itself via the Skype login server. Skype handles ordinary hosts behind a port-restricted NAT (Network Address Translation) and/or a UDP-restricted firewall.

Authors infer from experimentation that variant of STUN (Session Traversal Utilities for NAT [RFC5389) protocol is used by non-centralized Skype servers Advanced Computer Networks Analysis of Skype 2006 5 Skype Components SC randomly selects UDP listening port at install. SC also opens ports 80 and 443 to listen for incoming HTTP and HTTP-over-TLS* requests, respectively.

* Transport Layer Security supersedes and is an extension of SSL. Advanced Computer Networks Analysis of Skype 2006 6 SC Ports Advanced Computer Networks Analysis of Skype 2006 7 Host Cache Local table contains IP address, port

pairs for reachable SNs {max is 200 entries}. Host cache is populated on the first login. SNs are periodically added/dropped as Skype runs. [Keating 09] Advanced Computer Networks Analysis of Skype 2006 8 NAT: Network Address Translation rest of Internet local network (e.g., home network) 10.0.0/24 10.0.0.4

10.0.0.1 10.0.0.2 138.76.29.7 10.0.0.3 Datagrams with source or All datagrams leaving local network have same single source destination in this network have 10.0.0/24 address for NAT IP address: 138.76.29.7, different source port numbers source, destination (as usual) Computer Networks Network Layer 9 NAT: Network Address Translation

Motivation: local network uses just one IP address as far as outside world is concerned: range of addresses not needed from ISP: just one IP address for all devices. can change addresses of devices in local network without notifying outside world. can change ISP without changing addresses of devices in local network. devices inside local net not explicitly addressable, visible by outside world (a security plus). Computer Networks Network Layer 10 NAT: Network Address Translation

Implementation: NAT router must: outgoing datagrams: replace (source IP address, port #) of every outgoing datagram to (NAT IP address, new port #) . . . remote clients/servers will respond using (NAT IP address, new port #) as destination address. remember (in NAT translation table) every (source IP address, port #) to (NAT IP address, new port #) translation pair incoming datagrams: replace (NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table. Computer Networks Network Layer 11 NAT: Network Address Translation NAT translation table

WAN side addr LAN side addr 1: host 10.0.0.1 2: NAT router sends datagram to changes datagram 138.76.29.7, 5001 10.0.0.1, 3345 128.119.40.186, 80 source addr from 10.0.0.1, 3345 to 138.76.29.7, 5001, S: 10.0.0.1, 3345 D: 128.119.40.186, updates table 10.0.0.1 80

2 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, Reply arrives 5001 3 3: dest. address: 138.76.29.7, 5001

1 10.0.0.4 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 10.0.0.2 4 10.0.0.3 4: NAT router changes datagram dest addr from 138.76.29.7, 5001 to 10.0.0.1, 3345 Computer Networks Network Layer 12

NAT Traversal Problem client wants to connect to server with address 10.0.0.1 server address 10.0.0.1 local to LAN (client cant use it as destination addr) only one externally visible NATted address: 138.76.29.7 Solution 1: statically configure NAT to forward incoming connection requests at given port to server Client

10.0.0.1 ? 10.0.0.4 138.76.29.7 NAT router e.g., (123.76.29.7, port 2500) always forwarded to 10.0.0.1 port 25000 Computer Networks Network Layer 13 NAT Traversal Problem

Solution 2: Universal Plug and Play (UPnP) Internet 10.0.0.1 Gateway Device (IGD) IGD Protocol. Allows NATted 10.0.0.4 host to: learn public IP address 138.76.29.7 NAT (138.76.29.7) router add/remove port mappings (with lease times) i.e., automate static NAT port map configuration Computer Networks Network Layer 14

NAT Traversal Problem Solution 3: relaying (used in Skype) NATed client establishes connection to relay External client connects to relay relay bridges packets between to connections 2. connection to relay initiated by client Client 3. relaying established 1. connection to relay initiated

by NATted host 138.76.29.7 10.0.0.1 NAT router Computer Networks Network Layer 15 Skype Experimental Setup

Performed traffic analysis on Windows Skype version 1.4.0.84 and Linux Skype version 1.20.18 in November-December 2005. Windows XP machines (3 GHz Pentium 4 CPU, 1GB RAM) with 10/100 Mbps Ethernet card connected to 100 Mbps network. (Wireshark) Ethereal network protocol analyzer Captures all traffic passing over a network. NetPeeker Advanced Computer Networks Analysis of Skype 2006 16 Experimental Setup Taken from INFOCOMM06 Presentation

Advanced Computer Networks [Keating 09] Analysis of Skype 2006 17 Skype Functionality Login Login Server User Search Call Establishment Conferencing Advanced Computer Networks Analysis of Skype 2006 Skype Login

On the first login, Skype client establishes UDP connection with Bootstrap SuperNode (BN). Hard-coded into Skype client application. Logins routed through a SuperNode. If no SuperNodes are reachable, login fails. Attempts to use Ports 80 and 443 if behind firewall. Advanced Computer Networks Analysis of Skype 2006 19

Login {Public IP and NAT} SC->BN UDP Connection SC->SN TCP Connection SC->Login Server Auth 3-7 seconds [Keating 09] Advanced Computer Networks Analysis of Skype 2006

20 Skype ver 1.4 Login Experiment Copy of SC uninstalled; Windows registry cleared of Skype entries; new copy of SC installed. Advanced Computer Networks Analysis of Skype 2006 21 Mystery ICMP Packets USA Sweden Australia

Japan Advanced Computer Networks Analysis of Skype 2006 22 Login Server Login Server is ONLY central component in Skype P2P network. After SC connects to SN, SC authenticates with Login Server. Experiments show SC exchanging data over TCP with 212.72.49.141

or 195.215.8.141 (Login Servers). Advanced Computer Networks Analysis of Skype 2006 23 Skype User Search Uses Global Index technology. Skype guarantees it will find any user logged in (public or private IP) in last 72 hours. Search depends on where SC

resides. Experiments show SC performs user information caching at intermediate nodes. Advanced Computer Networks Analysis of Skype 2006 24 User Search from Public IP/NAT 16b P UD UDP UD P

TC P 101b Advanced Computer Networks [Keating 09] Analysis of Skype 2006 25 User Search from UDPRestricted Firewall SuperNode performs search 16B TC

P 52B 406B TC P 1104B [Keating 09] Advanced Computer Networks Analysis of Skype 2006 26 Call Establishment

Skype uses buddy list. Call signaling carried out with TCP. Initial message exchanges uses a challenge-reponse mechanism. Advanced Computer Networks Analysis of Skype 2006 27 Caller and Callee Public IP Addresses Advanced Computer Networks Analysis of Skype 2006 28

Caller behind NAT Advanced Computer Networks Analysis of Skype 2006 29 Caller and Callee behind NAT Users generally do not like that arbitrary traffic can flow across their machine!! Advanced Computer Networks Analysis of Skype 2006 30

Media Transfer Internet Speech Audio Codec (iSAC) Frequency range: 50-8000Hz Public IPs communicate directly. NAT/firewall users use an SN relay node. Uses UDP Transport if possible. 5 kilobytes/sec UDP-restricting firewall users communicate over TCP

Does not perform Silence Advanced Computer Networks Analysis of Skype 2006 31 Skype Conferencing A: 2GHz P4 w/ 512MB RAM B, C: 300MHz P2 w/ 128MB RAM A acts as mixer for both B and C Advanced Computer Networks Analysis of Skype 2006 32

Skype Super Nodes Advanced Computer Networks Analysis of Skype 2006 33 Super Node Behavior [Guha 06] Advanced Computer Networks Analysis of Skype 2006 34 Super Node Churn

[Guha 06] [Guha 06] Advanced Computer Networks Analysis of Skype 2006 35 Super Node Bandwidth Consumption [Guha 06] Advanced Computer Networks Analysis of Skype 2006 36 Conclusions

Skype can work behind NATs and firewalls using STUN protocol. Skype architecture relies on Super Nodes with public IP addresses. Skype uses TCP for signaling and prefers to use UDP for media transfer. Skype packets are encrypted and Skype uses a central Login Server to authenticate Skype users. Advanced Computer Networks Analysis of Skype 2006 37

References [Guha 06] S. Guha, N. Dawani and R. Jain, An Experimental Study of the Skype Peer to Peer VoIP System, The Fifth International Workshop on Peer-to-Peer Systems (IPTPS06), Santa Barbara, CA, February 2006. [Keating 09] Andrew Keating presentation in CS577 Fall 2009. Advanced Computer Networks Analysis of Skype 2006 38

Thanks! Questions? Advanced Computer Networks Analysis of Skype 2006

Recently Viewed Presentations

  • ICS 143 Principles of Operating Systems

    ICS 143 Principles of Operating Systems

    Interrupt Manipulation. Programmable interrupt controller (PIC) Combines different interrupt sources to one line. Interrupt priorities. Masking (ignoring) interrupts. Controlled through registers. Maskable vs. non-maskable interrupts. Maskable can be ignored. Non-maskable are critical. E.g., system reset button, hardware failures, etc.
  • Parte II  Tipos de Ataques Julho/2004 Joo Bosco
  • CHUCK CLOSE - Webs

    CHUCK CLOSE - Webs

    Title: CHUCK CLOSE Author: Chee Last modified by: PHOENIX MACBOOK Document presentation format: On-screen Show Other titles: Gill Sans MT MS Gothic Arial Times New Roman Wingdings 宋体 Osaka Times Arial Blank Presentation PowerPoint Presentation Enduring Understanding Essential Questions 5W1H...
  • The Stranger Anticipatory Guide

    The Stranger Anticipatory Guide

    Imagine you are the wife of the officer. What "meaning" can you get from this incident? Talk to a partner. You have one minute. Example: "This story shows how kindness is pointless because you die." "This story shows how being...
  • Document Title - GIOA

    Document Title - GIOA

    Money market funds rated Aa-mf have strong ability to meet the dual objectives of providing liquidity and preserving capital. ... COPIED OR OTHERWISE REPRODUCED, REPACKAGED, FURTHER TRANSMITTED, TRANSFERRED, DISSEMINATED, REDISTRIBUTED OR RESOLD, OR STORED FOR SUBSEQUENT USE FOR ANY SUCH...
  • Hva getur gerst  einni helgi Dr. sgeir Jnsson

    Hva getur gerst einni helgi Dr. sgeir Jnsson

    Hvað getur gerst á einni helgi Dr. Ásgeir Jónsson Maí 2008 „We note that if JPMorgan Chase-Morgan Stanley merger occurred, it would represent the historic reunion of The House of Morgan, which was forced to split up by the Glass-Steagall...
  • Chapter 10-1 Relationships Between Heat and Work

    Chapter 10-1 Relationships Between Heat and Work

    In an ideal gas, internal energy depends only on temperature; therefore, if temperature does not change, then internal energy cannot change either. Thus, in an isothermal process, internal energy does not change when energy is transferred to or from the...
  • STD & STI Prevention

    STD & STI Prevention

    ACID TESTS (NATS) Nucleic Acid Tests (NATs) look for HIV in the blood. NATs can detect HIV infection about 7 to 28 days after you have been infected with HIV. NATs are very expensive and not routinely used for HIV...