婷婷激情丁香六月开心五月,最新欧美精品一区二区三区,最新国产精品精品视频 视频,亚洲国产成人爱av网站,中文字幕av无码一区二区三区电影

首頁>> 解決方案>>新聞詳情

Skype協(xié)議分析

2007-10-24 00:00  《4PS呼叫中心國際標(biāo)準(zhǔn)研究中心》  咨詢電話:17317241681(微信同號)  51callcenter


1、概述

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3、Skype的主要組成部分

  3.1 端口

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

  3.2 主機(jī)列表

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

  3.3 編解碼器

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

  3.4 好友列表

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

  3.5 加密

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

  3.6 NAT與防火墻

  Skype應(yīng)該是使用了STUN和TURN協(xié)議來檢測所處的NAT及防火墻環(huán)境。Skype定期的刷新這些信息,這些信息也是存儲在注冊表中的。與另外一個點(diǎn)對點(diǎn)文件共享系統(tǒng)Kazza不同,普通客戶端無法阻止自己成為Super Node(SN),就是說它隨時(shí)可能被征用成為別人登錄服務(wù)和廣播服務(wù)的提供者,就是類似于BT中的種子提供者的角色。

  4、Skype的主要功能

  Skype的功能主要可以分為:初始化,登錄,用戶搜索,呼叫建立與終止,媒體傳輸和狀態(tài)消息。

    4.1 初始化

  第一次安裝后,Skype會發(fā)送一段HTTP 1.1的請求給中 央服務(wù)器,包括關(guān)鍵字“installed”以及所裝Skype的版本號。以后的每次登錄Skype都會向中央服務(wù)器發(fā)送一小段包含關(guān)鍵字“getlatestversion”的HTTP 1.1請求,檢查是否有新版本的Skype。

  4.2 登錄

  登錄是Skype最重要的功能,如圖2所示。在這個過程中,Skype終端到登錄服務(wù)器上驗(yàn)證用戶名密碼,廣播給在線上的好友及其它節(jié)點(diǎn),檢查 NAT和防火墻的類型,發(fā)現(xiàn)擁有公網(wǎng)IP地址的在線Skype節(jié)點(diǎn),這些新發(fā)現(xiàn)的節(jié)被用于在所在Super Node無法使用后繼續(xù)保持本機(jī)與Skype網(wǎng)絡(luò)的連接。如果HC中所有的節(jié)點(diǎn)地址均不可用的話,登錄失敗。通過分析這些登錄失敗的過程,我們可以得出一個完整的Skype登錄過程:

Skype的登錄過程

圖2 Skype的登錄過程

  先發(fā)送UDP數(shù)據(jù)包,如果5秒后沒有響應(yīng),就用TCP,發(fā)送登錄請求到目標(biāo)節(jié)點(diǎn)的80端口;如果仍然失敗,就通過TCP發(fā)送登錄請求到443端口,等待6秒鐘,如果仍然失敗就顯示無法登錄。整個的登錄過程可以重復(fù)4次。連接的對象是保存在本機(jī)中Host Cache中的節(jié)點(diǎn)列表。

  4.3 用戶搜索

  S kype使用全球索引(Global Index,GI)技術(shù)進(jìn)行用戶搜索,在72小時(shí)內(nèi)登錄過的用戶,無論是處在公眾網(wǎng)還是私有網(wǎng)絡(luò)中都能找到??蛻舳丝梢酝ㄟ^發(fā)送TCP包向SC發(fā)送請求,也可以通過UDP包向其他SC發(fā)送查詢請求。SC將結(jié)果發(fā)回客戶端。

  4.4 呼叫建立與終止

  Skype采用了32kbps的語音編碼以保證語音質(zhì)量,其信令通過TCP傳遞,而語音數(shù)據(jù)則通過TCP和UDP進(jìn)行傳輸,信令和語音數(shù)據(jù)使用不同的端口號。Skype能夠向好友列表中的用戶發(fā)送呼叫請求。為了保證信令傳輸?shù)目煽啃?,信令始終是通過TCP進(jìn)行的。如果雙方都是在公眾網(wǎng)中,有獨(dú)立的公用IP,那么主叫用戶和被叫用戶通過challenge-response機(jī)制直接進(jìn)行數(shù)據(jù)交換。如果有一方位于私有網(wǎng)絡(luò)或者是防火墻之后,那么私有網(wǎng)絡(luò)一方需要首先同公眾網(wǎng)中的至少一個SN建立TCP鏈接,然后由SN進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。如果雙方都位于私有網(wǎng)絡(luò)中,那么雙方的數(shù)據(jù)都需要SN進(jìn)行轉(zhuǎn)發(fā)。

  4.5 媒體傳輸和狀態(tài)消息

  如果雙方都位于公眾網(wǎng)中,雙方可以使用UDP包直接進(jìn)行數(shù)據(jù)交換。Skype的語音數(shù)據(jù)包的大小一般是67 bytes,正好是UDP包的凈荷。對于100M bps的以太網(wǎng)來說,每秒可傳送140個語音數(shù)據(jù)包。一般來說,上下行語音傳輸所需的平均帶寬為5 kbps。如果有其中一方或者雙方都位于私有網(wǎng)絡(luò)中,就需要通過TCP同SN進(jìn)行數(shù)據(jù)交換,由SC充當(dāng)媒體代理服務(wù)器的角色,此時(shí)一個語音數(shù)據(jù)包的大小一般為69 bytes。在可能的情況下,Skype會優(yōu)先選擇UDP協(xié)議進(jìn)行通信。

  5、結(jié)束語

  Skype是第一個利用P2P技術(shù)進(jìn)行語音通信的VoIP工具,能夠提供較好的通話質(zhì)量。Skype能夠透過防火墻進(jìn)行無縫通信,安裝使用也很簡單。隨著互聯(lián)網(wǎng)的不斷普及。VoIP技術(shù)已經(jīng)取得了越來越多的應(yīng)用。有的運(yùn)營商甚至開始和Skype合作提供語音服務(wù),這是一個新的趨勢。如何在新技術(shù)不斷普及的同時(shí)保證運(yùn)營商在傳統(tǒng)通信網(wǎng)絡(luò)中的核心地位,是一個值得研究的課題。

 

 

共0條評論網(wǎng)友評論
  • 全部評論
共0條記錄(共頁)
向您推薦

新聞 按行業(yè)分類

廠商 按產(chǎn)品分類


        
總機(jī):021-51601170 直線:021-58307717,17317241681(微信同號) 電子郵件:cct@51callcenter.com  瀘ICP備10026114號-4  行業(yè)交流俱樂部QQ:2919157212
地址:上海市浦東新區(qū)牡丹路60號東辰大廈810室  郵編:201204 上海趨天網(wǎng)絡(luò)技術(shù)服務(wù)有限公司 版權(quán)所有(2002-2018)