轉 Skype的P2P原理

2021-06-20 06:21:33 字數 3480 閱讀 8514

從網路模型來看,這種混合模式的p2p是經過多年的發展和演進而來的,嚴格講,這已經不是純粹的對等網路結構了,只能稱做發展了的p2p。下面就介紹一下採用混合模式p2p網路模型的skype的通訊原理。

skype的通訊原理

1. skype網路結構

與常規的電信業務網路不同的是,skype的網路中除了註冊伺服器,沒有其他任何集中的伺服器,只是將使用者節點分為普通節點和超級節點。skype的系統連線結構如圖2所示。

註冊伺服器是skype惟一需要維護的裝置,它負責完成客戶端的註冊,儲存並管理使用者名稱和密碼資訊,當使用者登入系統時,對使用者進行身份認證。註冊伺服器還需要檢驗並保證使用者名稱的全球惟一性。

超級節點實際上是滿足某些要求的普通節點,這些要求包括:具有公網位址、具有足夠的cpu、儲存空間足夠大、具有足夠的網路頻寬。也就是說,任何符合條件的主機終端都可以成為超級節點,當然前提是載入了skype應用。

2. 通訊流程

skype的通訊流程分為:啟動、註冊(認證)、查詢使用者、呼叫和釋放的過程。其中註冊流程只是在使用者初次安裝了skype的客戶端軟體後進行註冊,後期使用的過程中該步驟就變成認證過程。

(1)啟動流程

skype的使用者終端啟動時,採用http協議連線到註冊伺服器,使用者初次安裝的啟動流程中攜帶「installed」的引數,使用時啟動流程則在訊息中攜帶「getlatestversion」引數,具體流程分別見圖3和圖4。

(2)註冊(認證)流程

一旦超級節點都不可用,skype的客戶端採用了盡力而為的方式進行註冊,即先用udp包試註冊,不成功超時則用tcp(80埠),再不成功則用tcp(443埠)。通常為防止其超級節點不可用,客戶端必須建立乙個可選連線節點列表,並定期維護該列表。

對於該流程通常會產生下面幾點疑問:

● 初次登入時如何連線到超級節點?

我們發現,使用者初次安裝了skype客戶端軟體後,該客戶端的主機快取中就已經初始化了乙個包含至少7個ip位址和埠組的列表,這些位址和埠組所代表的便是初始的超級節點。

由於skype採用路由快取機制,即使用者查詢其好友的過程中會在中間的超級節點快取其路由資訊(快取72小時),因此使用者登入後,其狀態資訊可以通過其超級節點通知到好友終端,並將好友的狀態返回給使用者。一旦快取超時,需要通過其他超級節點查詢使用者路由,這充分體現了skype的使用者路由資訊動態分布式儲存的特點。

● 如何判斷nat和防火牆型別?

客戶端軟體採用各種stun協議與超級節點之間交換資訊,從而判斷終端所處私網的nat和防火牆型別,客戶端軟體還採用定期重新整理機制來保證任何時候都能穿越nat和防火牆。

(3)查詢使用者

skype採用了一種稱做全球索引(global index)的技術來查詢使用者,該技術結合前面所述的分層網路,超級節點之間採用全分布式的連線,每個超級節點具有最小時延前提下所有可用的使用者和資源的全部資訊。具體來說,skype採用了下面兩種機制來保證順利完成使用者的查詢。

● 啟動後向所有列表中的使用者傳送其上線資訊,其他使用者響應各自的資訊;

● 在中間節點快取查詢到的使用者資訊

對於那些位於私網內的受限客戶端,其查詢使用者的過程則是首先客戶端將需要查詢的使用者資訊傳送給其sn,然後由sn完成查詢後返回給私網內的客戶端。

(4)呼叫建立和釋放

從上述流程圖可見,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的出現無疑給傳統電信業帶來一股強烈的衝擊波,它從2023年下半年出現以來便廣為流傳,截至目前,skype全球註冊使用者數已達2.5億,每天增加的會員有15.5萬人,而到2023年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完全可以開發並向使用者提供更豐富的業務形式

P2P打洞原理

首先我們明確現在我們有的裝置 1 客戶端a,閘道器nat a 2 客戶端b,閘道器nat b 3 伺服器s 這些裝置明確之後,就可以介紹tcp打洞的過程 1 首先伺服器s開啟兩個服務監聽,乙個主連線埠,和乙個協助打洞埠 2 a通過主連線埠連線伺服器s,b通過主連線埠連線伺服器s,這個是正常的伺服器通...

P2P技術原理

組織結構 點對點技術又稱對等網際網路絡技術,是一種網路新技術,依賴網路中參與者的計算能力和頻寬,而不是把依賴都聚集在較少的幾台伺服器上。p2p網路通常用於通過adhoc連線來連線節點。這類網路可以用於多種用途,各種檔案分享軟體已經得到了廣泛的使用。p2p技術也被使用在類似voip等實時 業務的資料通...

認識P2P,利用P2P

是peer to peer的縮寫 好象還看到過文章說是point to point,我也不清楚,網上的資料也不清楚,鬱悶 peer在英語裡有 地位 能力等 同等者 同事 和 夥伴 等意義。這樣一來,p2p也就可以理解為 夥伴對夥伴 的意思,或稱為對等聯網。目前人們認為其在加強網路上人的交流 檔案交換...