SKYPE原理分析

不管傳統電信運營商願意看到與否,以Skype爲表明的VoIP軟件已經在全球擁有愈來愈多的擁躉。Skype的工做原理到底是什麼?爲何會掀起如此巨大的波瀾?從技術角度看它究竟有哪些優點?電信運營商在VoIP領域下一步該如何發展? 
Skype與 P2P 
所謂P2P(Peer to
Peer),其最本質的含義即「對等」,該技術最先是用於網絡中對等節點之間的資源和信息共享的技術,一般人們所知道的是將P2P技術用在文件下載過程
中,即網絡上的對等終端在下載共享文件的同時又做爲一個「種子」爲其餘對等終端提供資源和信息。後來,Skype在網絡通話業務系統中靈活應用了該技術。
因爲衝擊了傳統通訊領域,Skype在引發不少爭議的同時也令人耳目一新,能夠說,Skype是發展和演進了的P2P應用。目前對於P2P技術尚未規範
的定義,結合其已有的應用,就更普遍的意義而言,
P2P技術是指網絡中的全部節點都動態參與到路由、信息處理和帶寬加強等工做中,而不是單純依靠服務器來完成這些工做。 Skype是P2P技術演進到混合模式後的典型應用,它結合了集中式和分佈式的特色,在網絡的邊緣節點採用集中式的網絡結構,而在超級節點之間採用分佈式的網絡結構,混合模式的P2P網絡模型如圖1所示。 

從網絡模型來看,這種混合模式的P2P是通過多年的發展和演進而來的,嚴格講,這已經不是純粹的對等網絡結構了,只能稱作發展了的P2P。下面就介紹一下采用混合模式P2P網絡模型的Skype的通訊原理。 
Skype的通訊原理 
1. Skype網絡結構 
與常規的電信業務網絡不一樣的是,Skype的網絡中除了註冊服務器,沒有其餘任何集中的服務器,只是將用戶節點分爲普通節點和超級節點。Skype的系統鏈接結構如圖2所示。 

註冊服務器是Skype唯一須要維護的設備,它負責完成客戶端的註冊,存儲並管理用戶名和密碼信息,當用戶登陸系統時,對用戶進行身份認證。註冊服務器還須要檢驗並保證用戶名的全球唯一性。 
普通節點即普通主機終端,只須要下載了Skype的應用,就具備提供語音呼叫和文本消息傳送的能力。 
超級節點其實是知足某些要求的普通節點,這些要求包括:具備公網地址、具備足夠的CPU、存儲空間足夠大、具備足夠的網絡帶寬。也就是說,任何符合條件的主機終端均可以成爲超級節點,固然前提是加載了Skype應用。 
2. 通訊流程 
Skype的通訊流程分爲:啓動、註冊(認證)、查找用戶、呼叫和釋放的過程。其中註冊流程只是在用戶初次安裝了Skype的客戶端軟件後進行註冊,後期使用的過程當中該步驟就變成認證過程。 
(1)啓動流程 
Skype的用戶終端啓動時,採用HTTP協議鏈接到註冊服務器,用戶初次安裝的啓動流程中攜帶「installed」的參數,使用時啓動流程則在消息中攜帶「getlatestversion」參數,具體流程分別見圖3和圖4。 


(2)註冊(認證)流程 
註冊(認證)流程多是Skype全部流程中最複雜的一個,用戶啓動Skype後,首先須要鏈接到超級節點,經過超級
節點向註冊服務器發送身份認證信息,註冊服務器驗證用戶名和密碼的合法性,而後向其餘對等節點及其好友發送在線信息,同時還須要判斷該終端所在私網的
NAT和防火牆類型。若是該終端先前默認的超級節點已不可用,則還要查找具備公網地址的Skype節點來做爲該終端的超級節點,從而維持該終端與
Skype網絡的鏈接。 一旦超級節點都不可用,Skype的客戶端採用了盡力而爲的方式進行註冊,即先用UDP包試註冊,不成功超時則用TCP(80端口),再不成功則用TCP(443端口)。一般爲防止其超級節點不可用,客戶端必須創建一個可選鏈接節點列表,並按期維護該列表。 
對於該流程一般會產生下面幾點疑問: 
● 初次登陸時如何鏈接到超級節點? 
咱們發現,用戶初次安裝了Skype客戶端軟件後,該客戶端的主機緩存中就已經初始化了一個包含至少7個IP地址和端口組的列表,這些地址和端口組所表明的即是初始的超級節點。 
● 如何向好友發送在線信息? 
因爲Skype採用路由緩存機制,即用戶查找其好友的過程當中會在中間的超級節點緩存其路由信息(緩存72小時),所以
用戶登陸後,其狀態信息能夠經過其超級節點通知到好友終端,並將好友的狀態返回給用戶。一旦緩存超時,須要經過其餘超級節點查找用戶路由,這充分體現了
Skype的用戶路由信息動態分佈式存儲的特色。 ● 如何判斷NAT和防火牆類型? 
客戶端軟件採用各類STUN協議與超級節點之間交換信息,從而判斷終端所處私網的NAT和防火牆類型,客戶端軟件還採用按期刷新機制來保證任什麼時候候都能穿越NAT和防火牆。 
(3)查找用戶 
Skype採用了一種稱作全球索引(Global
Index)的技術來查找用戶,該技術結合前面所述的分層網絡,超級節點之間採用全分佈式的鏈接,每一個超級節點具備最小時延前提下全部可用的用戶和資源的
所有信息。具體來講,Skype採用了下面兩種機制來保證順利完成用戶的查找。 ● 啓動後向全部列表中的用戶發送其上線信息,其餘用戶響應各自的信息; 
● 在中間節點緩存查找到的用戶信息 
對於有公網地址的客戶端,其查找用戶的過程以下:點擊發送要查找的用戶信息->經過SN獲取四個節點地址->不成功->報告SN->獲取八個節點地址->……->成功(或失敗返回)。 
對於那些位於私網內的受限客戶端,其查找用戶的過程則是首先客戶端將須要查找的用戶信息發送給其SN,而後由SN完成查找後返回給私網內的客戶端。 
(4)呼叫創建和釋放 
查找到但願鏈接的用戶後,能夠將其加入好友列表,Skype用戶能夠隨時與在線的好友進行呼叫。通過了稍微複雜的認證
過程和用戶查找過程,呼叫創建和釋放的過程就變得簡單了。用戶位於公網和位於私網內部的狀況會有所不一樣,兩種狀況下的呼叫創建和釋放流程分別見圖5和圖6
所示。 


從上述流程圖可見,Skype的呼叫信令都採用TCP封裝,而媒體流則使用UDP封裝,當有任何一方用戶位於限制
UDP包的防火牆內時,媒體流就會採用TCP封裝。另外當Skype用戶至少有一方位於私網內時,全部的信令和媒體消息都通過一個或多箇中間節點轉發。此
時無需擔憂用戶通話的媒體流由於通過中間節點轉發而被竊聽,由於Skype採用了對消息進行端到端加密的機制。 Skype的技術優點 
Skype之因此引發了不小的轟動,是由於它的互聯網特性,即免費、開放和較好的業務質量。事實上,Skype最大的
意義在於,它開創了將P2P技術引入到話音通訊的先河。也就是說,採用了網絡中的全部節點都動態參與到路由、信息處理和帶寬加強等工做中的機制,而不是單
純依靠服務器來完成這些工做,所以其管理成本大大下降,同時又保證了語音質量。 從具體技術的角度來看,Skype的優點有下面幾點: 
(1) 較強的NAT和防火牆穿越能力。首先識別NAT和防火牆類型,而後經過動態的選擇信令和媒體代理,從而輕鬆實現NAT和防火牆的穿越。 
(2) 快速路由機制,Skype採用了全球索引(Global Index)技術提供快速路由,其用戶路由信息分佈式存儲於網絡節點中。 
(3) 結合互聯網特色的語音編解碼算法。Skype經過與Global IP Sound公司合做,引入語音質量加強軟件,專門針對互聯網的特色,從而下降了業務對帶寬的要求。 
(4) 很低的運行成本。很顯然,Skype將不少工做下放給網絡節點去完成,大大地下降了中心服務器的負擔,進而減小了維護和管理的成本。 
(5) 開放性。Skype採起開放的機制,鼓勵互聯網用戶本身開發插件,目前此類開發如雨後春筍,在互聯網上遍地開花。 
其中第1條保證了通訊無障礙,不管終端處於何種網絡條件,都不會影響用戶使用Skype提供的業務。第2條和第3條則
保證了Skype較好的業務服務質量。第4條使得Skype能夠輕鬆面對挑戰。而第5條則給了Skype更強大的生命力,使其更加靈活,具備更高的可擴展
性。 Skype給電信運營帶來的思考 
Skype的出現無疑給傳統電信業帶來一股強烈的衝擊波,它從2003年下半年出現以來便廣爲流傳,截至目
前,Skype全球註冊用戶數已達2.5億,天天增長的會員有15.5萬人,而到2005年3月14日爲止,Skype在全球的通話量累計已經達到60億
分鐘。Skype仍在迅速向各個國家滲透,最新的統計代表:使用Skype技術呼叫的分鐘數已經佔到美國VoIP分鐘數的46.2%,這部分用戶基本是「
免費」享用電話業務的。 Skype畢竟是一種互聯網服務,而不是真正的電信服務,它也存在一些問題,好比網絡的無管理性使得它只能經過這
種免費的方式走向市場,企業用戶也會由於擔憂它的安全隱患而不採用等。可是不管如何,Skype的理念極可能給傳統的電信市場帶來突破性的變革,也引發業
界對於VoIP的新的思考,傳統電信運營商決不可忽視其挑戰。 首先,對於VoIP的態度問題,該積極應對仍是消極迴避?答案已經很是明顯——微軟公司的總裁曾說過這樣的話:即
使沒有Skype,也會有另外一個提供互聯網電話的企業出現。我國在上個世紀90年代末成功地開展了VoIP的電信運營,到如今市場基本穩定,普通用戶對
IP電話已經再也不陌生,然而幾年來VoIP的電信運營卻沒有繼續發展,幾乎有點停滯不前了。事實上,VoIP應該具備更廣闊的空間和更靈活的表現形式。
技術的進步每每是不可阻擋的,尤爲是互聯網帶來的開放時代,給了新技術更廣闊的發展空間,你不發展,別人會發展,所以國內電信運營商應該積極地邁出這一步。 
VoIP的發展能夠採起開放的思路,Skype的成功也有一些可借鑑之處。首先,積極研究P2P技術的利弊:一旦將
P2P技術引入可運營的VoIP系統,在下降運營成本、具備更高的網絡可靠性(不依賴於集中的服務器)的同時,是否會帶來不可預知的壞影響?另
外,VoIP並不表明人們一般所理解的「低收費就必定提供低質量服務」,電信運營商能夠結合IP網絡的特色,引入相應的技術,來保證可靠的服務質量。最
後,VoIP徹底能夠開發並向用戶提供更豐富的業務形式。算法

相關文章
相關標籤/搜索