新聞中心

Skype協(xié)議分析

——
作者: 時間:2007-10-24 來源:Skype協(xié)議分析 收藏
1、概述

  是由Kazaa于2003年發(fā)明的基于技術(shù)的客戶端,用戶可以通過通過互聯(lián)網(wǎng)進行語音和文本的傳輸。 協(xié)議是不公開的,而且內(nèi)容是加過密的,哥倫比亞大學(xué)的Baset和Schulzrinne完全在實驗的基礎(chǔ)上對Skype的機制進行分析,通過分析得出的結(jié)論主要有三個:

?。?)Skype的通話質(zhì)量較MSN和Yahoo的即時通信工具要好;

 ?。?)可以無縫的在NATs和防火墻后使用;

  (3)安裝使用起來非常簡單。

  2、Skype的結(jié)構(gòu)

  Skype的節(jié)點有兩種:客戶端(ordinary node)和超級節(jié)點(super node,SN)??蛻舳吮仨氭溄拥匠壒?jié)點,并且在Skype的中央服務(wù)器登錄。中央服務(wù)器保存用戶的用戶名和密碼,完成登錄的認(rèn)證工作。圖1中的小黑點是客戶端,大黑點是超級節(jié)點(用于為其它客戶端提供登錄跳板及廣播服務(wù)),灰色的點是Skype的登錄服務(wù)器。

  Skype可以看作是一個疊加在互聯(lián)網(wǎng)之上的。與以往MSN等IM工具最大的不同在于其除了用戶登錄,其余工作基本不依賴中央服務(wù)器。 Skype在穿透防火墻通訊時完全使用了Peer to Peer,而沒用到中央服務(wù)器。每一個客戶端都維護一個可以到達(dá)的主機列表(host cache,HC),包括其IP地址和端口號。

Skype的網(wǎng)絡(luò)結(jié)構(gòu)

圖1 Skype的結(jié)構(gòu)

  用戶下載安裝完Skype后,Skype客戶端會發(fā)送一段HTTP 1.1的請求到中央服務(wù)器,告訴它我裝完了一個什么樣的版本,服務(wù)器會返回一個200 OK的信息??蛻舳藭M行登錄初始化工作,針對三種不同類型的網(wǎng)絡(luò)情況有三種不同的登錄方式:

 ?。?)直接有公眾網(wǎng)的IP

  (2)在內(nèi)部網(wǎng),可以通過TCP訪問外部網(wǎng)絡(luò)

  (3)在內(nèi)部網(wǎng),但只能通過有限的幾個端口(例如80和443)訪問外部網(wǎng)絡(luò)

  Skype在登錄的時候會先使用UDP請求HC中的IP,如果不行,就用TCP請求HC中的IP及端口,如果還不行。就用TCP請求HC中的 IP及80端口,如果又不行,就再請求HC中的IP及443端口。如果這時候還不行,那就登錄不了了。整個過程中傳輸?shù)臄?shù)據(jù)量大概在8k-10k,持續(xù)的時間在3至35秒。

  3、Skype的主要組成部分

  3.1 端口

  在Skype的連接屬性對話框中可以設(shè)置監(jiān)聽的端口號,在安裝的時候Skype會隨機的選擇一個端口作為監(jiān)聽的端口,這一點與HTTP協(xié)議等不同,Skype沒有默認(rèn)的服務(wù)端口。同時,它還會打開對80和443端口的監(jiān)聽。80是常見的HTTP服務(wù)默認(rèn)端口,而443則是HTTPS服務(wù)的默認(rèn)端口。

  3.2 主機列表

  這里的主機指的是可以提供跳板及廣播服務(wù)的SN的IP地址和端口號,這是Skype最重要的部分之一,HC中至少要有一個可用的主機地址和端口號。通常它被存儲在注冊表里的HKEY_CURRENT_USER/SOFTWARE/Skype/PHONE/LIB/CONNEC- TION/HOSTCACHE中。一般情況下,在Skype運行兩天后,HC中的SN地址及對應(yīng)的端口號會達(dá)到約200個。

  3.3 編解碼器

  Skype采用了iLBC、iSAC和一個保密的編解碼器,能夠?qū)?0-8,000 Hz范圍內(nèi)的語音信號進行編碼。Global IP Sound已經(jīng)實現(xiàn)了iLBC和iSAC編解碼器,其網(wǎng)站表明了Skype是他們的合作伙伴。由此來看Skype應(yīng)該是使用了Global IP Sound的編解碼器實現(xiàn)的語音通訊。

  3.4 好友列表

  Skype的好友列表沒有保存在服務(wù)器上,而是保存在本地的注冊表中,并進行了加密。這就使得用戶如果更換了另外一臺電腦之后需要重新構(gòu)建好友列表。

  3.5 加密

  Skype使用AES(Advanced Encryption Standard)加密標(biāo)準(zhǔn),這也是美國政府使用的一個加密標(biāo)準(zhǔn)。Skype采用了256比特加密,可能的密鑰有1.1



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉