Skype P2P Communication Overview

S
k
y
p
e
 
P
2
P
c
o
m
m
u
n
i
c
a
t
i
o
n
Group Members: Andre Tran, Balta Infante,
                            Priyanka Gangishetty, Irena Mao
 
 
  
I
n
 
t
h
i
s
 
p
r
e
s
e
n
t
a
t
i
o
n
.
.
.
1) Introduction to P2P
2) Skype Overview
3) Architecture
4) Key components of Skype software
5) Functions of Skype
P
2
P
 
A
r
c
h
i
t
e
c
t
u
r
e
No always-on server
Peers are both clients
and servers
Any peer can initiate a
connection and change
IP address
P
2
P
 
C
h
a
r
a
c
t
e
r
i
s
t
i
c
s
Clients are also servers and routers
Nodes are autonomous
Network is dynamic
Nodes collaborate directly with each other
P
2
P
 
B
e
n
e
f
i
t
s
Efficient use of resources
Scalability
Reliability
Ease of administration
S
k
y
p
e
VoIP application
services provided:
o
host-to-host VoIP
o
host-to-phone
o
phone-to-host
o
multi-party host-to-host video conferencing
S
k
y
p
e
 
P
2
P
 
C
o
m
p
o
n
e
n
t
s
Organization: hierarchical
overlay network
 P2P components:
o
clients: skype peers connect
directly to each other for VoIP call
o
super nodes (SN): skype peers
with special functions
o
overlay network: among SNs to
locate clients
o
login server
H
o
w
 
S
k
y
p
e
 
W
o
r
k
s
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
M
u
l
t
i
-
p
a
r
t
y
 
C
o
n
f
e
r
e
n
c
e
C
a
l
l
s
audio calls (N >2) :
instead of each peer send audio to all other peers
o
number of streams sent: N(N-1)
reduce bandwidth by:
o
all peers send audio to conference initiator
o
conference initiator combine all audio into one stream
o
sends combined steam to all other peers
o
number of stream sent: 2(
N -
1)
M
u
l
t
i
-
p
a
r
t
y
 
C
o
n
f
e
r
e
n
c
e
C
a
l
l
s
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
S
k
y
p
e
 
P
r
i
v
a
c
y
 
P
r
o
b
l
e
m
s
A peer to sniff IP address of another peer
After obtaining IP address:
o
use geo-location services to track location of
another peer
o
correlate to BitTorrent
partially decrypt a Skype call
A
r
c
h
i
t
e
c
t
u
r
e
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
A
r
c
h
i
t
e
c
t
u
r
e
Super nodes replaced by linux boxes
o
~10,000 boxes using grsecurity
o
More resilient to attacks
o
Accommodates more users
o
More centralized and more secure
A
r
c
h
i
t
e
c
t
u
r
e
Skype client keeps table of reachable nodes
o
Buddy lists and host cache
o
Shared over the super nodes
o
Contains IP addresses and port numbers
o
Stored in XML format
C
o
d
e
c
s
SILK codec replaces SVOPC (Sinusoidal
Voice Over Packet Coder)
o
Sampling frequency: 8, 12, 16, 24 kHz
o
Bit rate from 6 to 40 kbits/s
IETF currently developing Opus
o
based off the speech-oriented SILK and low latency
CELT
S
k
y
p
e
 
P
r
o
t
o
c
o
l
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
S
k
y
p
e
 
P
r
o
t
o
c
o
l
By default audio and video sent over UDP
Control packets are sent over TCP
o
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
S
k
y
p
e
 
P
r
o
t
o
c
o
l
Signaling is encrypted with RC4
o
obscures the traffic, but key can still be recovered
Voice data encrypted by AES
Skype client API is open to developers
R
e
l
a
y
s
Super nodes relay communications for
clients behind firewalls or NAT
o
NAT and firewalls may prevent client from receiving
o
UDP is not usable with NAT
o
Firewalls block many ports
o
TCP through many-to-one NAT is outward only
Three super nodes are needed, one for each
client and one to serve as relay
K
e
y
 
C
o
m
p
o
n
e
n
t
s
Ports
Host Cache
Codecs
Buddy List
Encryption
NAT and Firewall
P
o
r
t
s
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
P
o
r
t
s
 
s
n
a
p
s
h
o
t
H
o
s
t
 
C
a
c
h
e
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
C
o
d
e
c
s
iLBC, iSAC, iPCM
Developed by GlobalIPSound
For SC v1.4 allows frequencies from 50 to
8000 Hz
Thus, frequency range of a wideband codec
B
u
d
d
y
 
L
i
s
t
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
B
u
d
d
y
 
L
i
s
t
s
 
s
n
a
p
s
h
o
t
E
n
c
r
y
p
t
i
o
n
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
N
A
T
 
a
n
d
 
F
i
r
e
w
a
l
l
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
F
u
n
c
t
i
o
n
s
 
o
f
 
S
k
y
p
e
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
c
o
n
t
d
.
.
.
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
R
e
f
e
r
e
n
c
e
s
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
Slide Note
Embed
Share

Architecture, components, and benefits of Skype's peer-to-peer communication. Learn about the structure, characteristics, and functionalities of P2P networks, along with the services provided by Skype's VoIP application. Delve into how Skype works, from client operation to multi-party conference calls, and understand the efficient use of resources, scalability, and reliability that P2P offers.

  • Skype
  • P2P communication
  • Architecture
  • VoIP services
  • Multi-party conference

Uploaded on Feb 25, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


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

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

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

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

  5. P2P Benefits Efficient use of resources Scalability Reliability Ease of administration

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

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

  8. 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

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

  10. 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

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

  12. 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

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

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

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

  16. 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

  17. Skype Protocol By default audio and video sent over UDP Control packets are sent over TCP o 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

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

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

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

  21. 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

  22. Ports snapshot

  23. 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

  24. 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

  25. 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

  26. Buddy Lists snapshot

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#