1 / 22

An analysis of Skype protocol

An analysis of Skype protocol. Presented by: Abdul Haleem. Agenda. Introduction Entities of Skype Network Key Components of Skype Software The communication process Skype Network Traffic. Introduction. Peer to peer application Chat Call Skype to Skype

hhewitt
Download Presentation

An analysis of Skype protocol

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An analysis of Skype protocol Presented by: Abdul Haleem

  2. Agenda • Introduction • Entities of Skype Network • Key Components of Skype Software • The communication process • Skype Network Traffic

  3. Introduction • Peer to peer application • Chat • Call • Skype to Skype • Skype to telephone/mobile network • Telephone/mobile network to Skype • User search (Find people)

  4. Key Entities • Skype Client (ordinary host) • Login Server • Super Node

  5. Key Entities

  6. Skype Client (ordinary host) • An ordinary host is a Skype application that can be used to place voice calls and send text messages

  7. Login Server • It is the only centralized server • User names and passwords are stored at the login server. User authentication at login is also done at this server. • This server also ensures that login names are unique across the Skype name space • An ordinary host must register itself with the Skype login server

  8. Super Node • Super nodes are the end points where Skype clients connect to. • Any node with a public IP address having sufficient CPU, memory, and network bandwidth is a candidate to become a super node.

  9. Key Components • Host Cache • Obfuscation Layer

  10. Host Cache • Every Skype client maintains a local list of super node IP address and port pairs. It is called Host Cache • Refreshed regularly • Upon startup the client reads an entry from the host cache, and tries to connect to this SN. • If connection fails (the SN is offline; it is no longer part of the network, etc) it reads next entry and tries to connect to it.

  11. Obfuscation Layer • Everything that is being transferred across the network is being encrypted to ensure privacy. • Uses AES algorithm for encryption.

  12. communication process • Logging in • Skype to Skype call – Both public IPs • Skype to Skype call - behind NAT • Call Between Skype and PSTN

  13. Logging in • Client authenticates its user name and password with the login server • advertises its presence to other peers • determines the type of NAT it is behind • discovers online Skype nodes with public IP addresses

  14. Logging in • Get an IP and port of a super node from HC • Send UDP packets to check availability • TCP connection on provided IP and port. • TCP connection on provided IP and port 80 (HTTP port). • TCP connection on provided IP and port 443 (HTTPS port) • Try next super node (total 5 attempts)

  15. Logging in

  16. Skype to Skype call – Both public IPs • If both caller and receiver are on public IPs then they establish a call through a direct TCP connection with each other. • Media is transferred using UDP.

  17. Skype to Skype call - behind NAT • NAT prevents an outside peer from initiating a call to insider peer rest of Internet local network (e.g., home network) 10.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3

  18. Skype to Skype call - behind NAT • Solution to NAT problem • Every client is connected to its super node which is non-NATed. • Client A asks its super node that she wants to call B. • Super node of A informs super node of B who in turn informs B. • If B accepts the call then a third non-NATed peer is chosen which relays data between A and B.

  19. Skype to Skype call - behind NAT • Solution to NAT problem

  20. Call Between Skype and PSTN • For Skype out (Skype to PSTN), the application initially contacts the super node and then the PSTN gateway at port 12340. • The gateway servers are a separate part of the architecture and not a part of the overlay network. • For Skype in (PSTN to Skype) the opposite is used.

  21. Skype Network Traffic • UDP Packets • For keep alive messages • To discover available super nodes • TCP Packets • For establishing connection with super node • For user authentication with login server

  22. References • An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol – By Salman A. Baset and Henning Schulzrinne Department of Computer Science Columbia University, New York NY 10027 {salman,hgs}@cs.columbia.edu September 15, 2004 • http://www.mjalali.com/blog/Skype101– Skype Architecture–Work in Progress.htm • http://www.skype.com/Skype P2P telephony explained.htm • http://en.wikipedia.org/wiki/Talk:Skype_protocol • http://technologyevangelist.com/2008/05/A bit about how Skype works.htm

More Related