P2P應用的極致 從Skype看VOIP的技術(shù)優(yōu)勢
2007/07/02
Skype與 P2P
所謂P2P(Peer to Peer),其最本質(zhì)的含義即“對等”,該技術(shù)最早是用于網(wǎng)絡(luò )中對等節點(diǎn)之間的資源和信息共享的技術(shù),通常人們所知道的是將P2P技術(shù)用在文件下載過(guò)程中,即網(wǎng)絡(luò )上的對等終端在下載共享文件的同時(shí)又作為一個(gè)“種子”為其他對等終端提供資源和信息。后來(lái),Skype在網(wǎng)絡(luò )通話(huà)業(yè)務(wù)系統中靈活應用了該技術(shù)。由于沖擊了傳統通信領(lǐng)域,Skype在引起很多爭議的同時(shí)也使人耳目一新,可以說(shuō),Skype是發(fā)展和演進(jìn)了的P2P應用。目前對于P2P技術(shù)還沒(méi)有規范的定義,結合其已有的應用,就更廣泛的意義而言, P2P技術(shù)是指網(wǎng)絡(luò )中的所有節點(diǎn)都動(dòng)態(tài)參與到路由、信息處理和帶寬增強等工作中,而不是單純依靠服務(wù)器來(lái)完成這些工作。
Skype是P2P技術(shù)演進(jìn)到混合模式后的典型應用,它結合了集中式和分布式的特點(diǎn),在網(wǎng)絡(luò )的邊緣節點(diǎn)采用集中式的網(wǎng)絡(luò )結構,而在超級節點(diǎn)之間采用分布式的網(wǎng)絡(luò )結構,混合模式的P2P網(wǎng)絡(luò )模型如圖1所示。

從網(wǎng)絡(luò )模型來(lái)看,這種混合模式的P2P是經(jīng)過(guò)多年的發(fā)展和演進(jìn)而來(lái)的,嚴格講,這已經(jīng)不是純粹的對等網(wǎng)絡(luò )結構了,只能稱(chēng)做發(fā)展了的P2P。下面就介紹一下采用混合模式P2P網(wǎng)絡(luò )模型的Skype的通信原理。
Skype的通信原理
1. Skype網(wǎng)絡(luò )結構
與常規的電信業(yè)務(wù)網(wǎng)絡(luò )不同的是,Skype的網(wǎng)絡(luò )中除了注冊服務(wù)器,沒(méi)有其他任何集中的服務(wù)器,只是將用戶(hù)節點(diǎn)分為普通節點(diǎn)和超級節點(diǎn)。Skype的系統連接結構如圖2所示。

注冊服務(wù)器是Skype惟一需要維護的設備,它負責完成客戶(hù)端的注冊,存儲并管理用戶(hù)名和密碼信息,當用戶(hù)登錄系統時(shí),對用戶(hù)進(jìn)行身份認證。注冊服務(wù)器還需要檢驗并保證用戶(hù)名的全球惟一性。
普通節點(diǎn)即普通主機終端,只需要下載了Skype的應用,就具有提供語(yǔ)音呼叫和文本消息傳送的能力。
超級節點(diǎn)實(shí)際上是滿(mǎn)足某些要求的普通節點(diǎn),這些要求包括:具有公網(wǎng)地址、具有足夠的CPU、存儲空間足夠大、具有足夠的網(wǎng)絡(luò )帶寬。也就是說(shuō),任何符合條件的主機終端都可以成為超級節點(diǎn),當然前提是加載了Skype應用。
2. 通信流程
Skype的通信流程分為:?jiǎn)?dòng)、注冊(認證)、查找用戶(hù)、呼叫和釋放的過(guò)程。其中注冊流程只是在用戶(hù)初次安裝了Skype的客戶(hù)端軟件后進(jìn)行注冊,后期使用的過(guò)程中該步驟就變成認證過(guò)程。
(1)啟動(dòng)流程
Skype的用戶(hù)終端啟動(dòng)時(shí),采用HTTP協(xié)議連接到注冊服務(wù)器,用戶(hù)初次安裝的啟動(dòng)流程中攜帶“installed”的參數,使用時(shí)啟動(dòng)流程則在消息中攜帶“getlatestversion”參數,具體流程分別見(jiàn)圖3和圖4。


(2)注冊(認證)流程
注冊(認證)流程可能是Skype所有流程中最復雜的一個(gè),用戶(hù)啟動(dòng)Skype后,首先需要連接到超級節點(diǎn),通過(guò)超級節點(diǎn)向注冊服務(wù)器發(fā)送身份認證信息,注冊服務(wù)器驗證用戶(hù)名和密碼的合法性,然后向其他對等節點(diǎn)及其好友發(fā)送在線(xiàn)信息,同時(shí)還需要判斷該終端所在私網(wǎng)的NAT和防火墻類(lèi)型。如果該終端先前默認的超級節點(diǎn)已不可用,則還要查找具有公網(wǎng)地址的Skype節點(diǎn)來(lái)作為該終端的超級節點(diǎn),從而維持該終端與Skype網(wǎng)絡(luò )的連接。
一旦超級節點(diǎn)都不可用,Skype的客戶(hù)端采用了盡力而為的方式進(jìn)行注冊,即先用UDP包試注冊,不成功超時(shí)則用TCP(80端口),再不成功則用TCP(443端口)。通常為防止其超級節點(diǎn)不可用,客戶(hù)端必須建立一個(gè)可選連接節點(diǎn)列表,并定期維護該列表。
對于該流程通常會(huì )產(chǎn)生下面幾點(diǎn)疑問(wèn):
- 初次登錄時(shí)如何連接到超級節點(diǎn)?
我們發(fā)現,用戶(hù)初次安裝了Skype客戶(hù)端軟件后,該客戶(hù)端的主機緩存中就已經(jīng)初始化了一個(gè)包含至少7個(gè)IP地址和端口組的列表,這些地址和端口組所代表的便是初始的超級節點(diǎn)。
- 如何向好友發(fā)送在線(xiàn)信息?
由于Skype采用路由緩存機制,即用戶(hù)查找其好友的過(guò)程中會(huì )在中間的超級節點(diǎn)緩存其路由信息(緩存72小時(shí)),因此用戶(hù)登錄后,其狀態(tài)信息可以通過(guò)其超級節點(diǎn)通知到好友終端,并將好友的狀態(tài)返回給用戶(hù)。一旦緩存超時(shí),需要通過(guò)其他超級節點(diǎn)查找用戶(hù)路由,這充分體現了Skype的用戶(hù)路由信息動(dòng)態(tài)分布式存儲的特點(diǎn)。
- 如何判斷NAT和防火墻類(lèi)型?
客戶(hù)端軟件采用各種STUN協(xié)議與超級節點(diǎn)之間交換信息,從而判斷終端所處私網(wǎng)的NAT和防火墻類(lèi)型,客戶(hù)端軟件還采用定期刷新機制來(lái)保證任何時(shí)候都能穿越NAT和防火墻。
(3)查找用戶(hù)
Skype采用了一種稱(chēng)做全球索引(Global Index)的技術(shù)來(lái)查找用戶(hù),該技術(shù)結合前面所述的分層網(wǎng)絡(luò ),超級節點(diǎn)之間采用全分布式的連接,每個(gè)超級節點(diǎn)具有最小時(shí)延前提下所有可用的用戶(hù)和資源的全部信息。具體來(lái)說(shuō),Skype采用了下面兩種機制來(lái)保證順利完成用戶(hù)的查找。
- 啟動(dòng)后向所有列表中的用戶(hù)發(fā)送其上線(xiàn)信息,其他用戶(hù)響應各自的信息;
- 在中間節點(diǎn)緩存查找到的用戶(hù)信息
對于有公網(wǎng)地址的客戶(hù)端,其查找用戶(hù)的過(guò)程如下:點(diǎn)擊發(fā)送要查找的用戶(hù)信息->通過(guò)SN獲取四個(gè)節點(diǎn)地址->不成功->報告SN->獲取八個(gè)節點(diǎn)地址->……->成功(或失敗返回)。
對于那些位于私網(wǎng)內的受限客戶(hù)端,其查找用戶(hù)的過(guò)程則是首先客戶(hù)端將需要查找的用戶(hù)信息發(fā)送給其SN,然后由SN完成查找后返回給私網(wǎng)內的客戶(hù)端。
(4)呼叫建立和釋放
查找到希望連接的用戶(hù)后,可以將其加入好友列表,Skype用戶(hù)可以隨時(shí)與在線(xiàn)的好友進(jìn)行呼叫。經(jīng)過(guò)了稍微復雜的認證過(guò)程和用戶(hù)查找過(guò)程,呼叫建立和釋放的過(guò)程就變得簡(jiǎn)單了。用戶(hù)位于公網(wǎng)和位于私網(wǎng)內部的情況會(huì )有所不同,兩種情況下的呼叫建立和釋放流程分別見(jiàn)圖5和圖6所示。


從上述流程圖可見(jiàn),Skype的呼叫信令都采用TCP封裝,而媒體流則使用UDP封裝,當有任何一方用戶(hù)位于限制UDP包的防火墻內時(shí),媒體流就會(huì )采用TCP封裝。另外當Skype用戶(hù)至少有一方位于私網(wǎng)內時(shí),所有的信令和媒體消息都經(jīng)過(guò)一個(gè)或多個(gè)中間節點(diǎn)轉發(fā)。此時(shí)無(wú)需擔心用戶(hù)通話(huà)的媒體流因為經(jīng)過(guò)中間節點(diǎn)轉發(fā)而被竊聽(tīng),因為Skype采用了對消息進(jìn)行端到端加密的機制。
Skype的技術(shù)優(yōu)勢
Skype之所以引起了不小的轟動(dòng),是因為它的互聯(lián)網(wǎng)特性,即免費、開(kāi)放和較好的業(yè)務(wù)質(zhì)量。事實(shí)上,Skype最大的意義在于,它開(kāi)創(chuàng )了將P2P技術(shù)引入到話(huà)音通信的先河。也就是說(shuō),采用了網(wǎng)絡(luò )中的所有節點(diǎn)都動(dòng)態(tài)參與到路由、信息處理和帶寬增強等工作中的機制,而不是單純依靠服務(wù)器來(lái)完成這些工作,因此其管理成本大大降低,同時(shí)又保證了語(yǔ)音質(zhì)量。
從具體技術(shù)的角度來(lái)看,Skype的優(yōu)勢有下面幾點(diǎn):
(1) 較強的NAT和防火墻穿越能力。首先識別NAT和防火墻類(lèi)型,然后通過(guò)動(dòng)態(tài)的選擇信令和媒體代理,從而輕松實(shí)現NAT和防火墻的穿越。
(2) 快速路由機制,Skype采用了全球索引(Global Index)技術(shù)提供快速路由,其用戶(hù)路由信息分布式存儲于網(wǎng)絡(luò )節點(diǎn)中。
(3) 結合互聯(lián)網(wǎng)特點(diǎn)的語(yǔ)音編解碼算法。Skype通過(guò)與Global IP Sound公司合作,引入語(yǔ)音質(zhì)量增強軟件,專(zhuān)門(mén)針對互聯(lián)網(wǎng)的特點(diǎn),從而降低了業(yè)務(wù)對帶寬的要求。
(4) 很低的運行成本。很顯然,Skype將很多工作下放給網(wǎng)絡(luò )節點(diǎn)去完成,大大地降低了中心服務(wù)器的負擔,進(jìn)而減少了維護和管理的成本。
(5) 開(kāi)放性。Skype采取開(kāi)放的機制,鼓勵互聯(lián)網(wǎng)用戶(hù)自己開(kāi)發(fā)插件,目前此類(lèi)開(kāi)發(fā)如雨后春筍,在互聯(lián)網(wǎng)上遍地開(kāi)花。
其中第1條保證了通信無(wú)障礙,無(wú)論終端處于何種網(wǎng)絡(luò )條件,都不會(huì )影響用戶(hù)使用Skype提供的業(yè)務(wù)。第2條和第3條則保證了Skype較好的業(yè)務(wù)服務(wù)質(zhì)量。第4條使得Skype可以輕松面對挑戰。而第5條則給了Skype更強大的生命力,使其更加靈活,具有更高的可擴展性。
Skype給電信運營(yíng)帶來(lái)的思考
Skype的出現無(wú)疑給傳統電信業(yè)帶來(lái)一股強烈的沖擊波,它從2003年下半年出現以來(lái)便廣為流傳,截至目前,Skype全球注冊用戶(hù)數已達2.5億,每天增加的會(huì )員有15.5萬(wàn)人,而到2005年3月14日為止,Skype在全球的通話(huà)量累計已經(jīng)達到60億分鐘。Skype仍在迅速向各個(gè)國家滲透,最新的統計表明:使用Skype技術(shù)呼叫的分鐘數已經(jīng)占到美國VoIP分鐘數的46.2%,這部分用戶(hù)基本是“免費”享用電話(huà)業(yè)務(wù)的。
Skype畢竟是一種互聯(lián)網(wǎng)服務(wù),而不是真正的電信服務(wù),它也存在一些問(wèn)題,比如網(wǎng)絡(luò )的無(wú)管理性使得它只能通過(guò)這種免費的方式走向市場(chǎng),企業(yè)用戶(hù)也會(huì )因為擔心它的安全隱患而不采用等。但是無(wú)論如何,Skype的理念很可能給傳統的電信市場(chǎng)帶來(lái)突破性的變革,也引起業(yè)界對于VoIP的新的思考,傳統電信運營(yíng)商決不可忽視其挑戰。
首先,對于VoIP的態(tài)度問(wèn)題,該積極應對還是消極回避?答案已經(jīng)非常明顯——微軟公司的總裁曾說(shuō)過(guò)這樣的話(huà):即使沒(méi)有Skype,也會(huì )有另一個(gè)提供互聯(lián)網(wǎng)電話(huà)的企業(yè)出現。我國在上個(gè)世紀90年代末成功地開(kāi)展了VoIP的電信運營(yíng),到現在市場(chǎng)基本穩定,普通用戶(hù)對IP電話(huà)已經(jīng)不再陌生,然而幾年來(lái)VoIP的電信運營(yíng)卻沒(méi)有繼續發(fā)展,幾乎有點(diǎn)停滯不前了。事實(shí)上,VoIP應該具有更廣闊的空間和更靈活的表現形式。
技術(shù)的進(jìn)步往往是不可阻擋的,尤其是互聯(lián)網(wǎng)帶來(lái)的開(kāi)放時(shí)代,給了新技術(shù)更廣闊的發(fā)展空間,你不發(fā)展,別人會(huì )發(fā)展,因此國內電信運營(yíng)商應該積極地邁出這一步。
VoIP的發(fā)展可以采取開(kāi)放的思路,Skype的成功也有一些可借鑒之處。首先,積極研究P2P技術(shù)的利弊:一旦將P2P技術(shù)引入可運營(yíng)的VoIP系統,在降低運營(yíng)成本、具有更高的網(wǎng)絡(luò )可靠性(不依賴(lài)于集中的服務(wù)器)的同時(shí),是否會(huì )帶來(lái)不可預知的壞影響?另外,VoIP并不代表人們通常所理解的“低收費就一定提供低質(zhì)量服務(wù)”,電信運營(yíng)商可以結合IP網(wǎng)絡(luò )的特點(diǎn),引入相應的技術(shù),來(lái)保證可靠的服務(wù)質(zhì)量。最后,VoIP完全可以開(kāi)發(fā)并向用戶(hù)提供更豐富的業(yè)務(wù)形式。
CTI論壇編輯
相關(guān)鏈接:
亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩
巨野县|
南澳县|
勐海县|
台山市|
勃利县|
北宁市|
聂拉木县|
安陆市|
伊吾县|
泗洪县|
宣化县|
长兴县|
桓台县|
遂平县|
丰都县|
纳雍县|
屯昌县|
常德市|
珠海市|
赣州市|
安庆市|
呼玛县|
伊通|
白水县|
民权县|
巍山|
普安县|
苏尼特右旗|
五常市|
平谷区|
江门市|
定结县|
闸北区|
永春县|
渝北区|
瑞昌市|
云南省|
鹤庆县|
宣武区|
绥芬河市|
四子王旗|
http://444
http://444
http://444
http://444
http://444
http://444