你願意自己的電腦成為別人通話的交換機嗎?
作者:PK Chen
P2P技術是Skype成功的關鍵之一,但是你知道嗎,部份網友使用的Symmetric NAT (一般人稱NAT為IP分享器)是無法以單純的P2P技術貫穿,而需仰賴以真實IP上網的第三者轉送封包,Skype打破了這個限制。
這篇文章不是用來打擊Skype,也不是用來對Skype歌功頌德,不過,Skype真的敢人所不敢,由於P2P技術對於一種所謂的Symmetric NAT仍然沒有作用,或是容易失敗,於是Skype大膽啟用一種特別的封包轉送機制,它不設置特別的伺服器轉送封包,而是協同所有以真實IP上網的Skype用戶做為它的封包轉送器(Packet Relayer),Skype的官方網站中說,在沒有通話的狀態,Skype會佔用0至0.5K Bytes/Sec的流量,這些額外的頻寬只是用來傳送用戶與好友上網的狀態而已。
真的是這樣嗎?0.5K Bytes/Sec相當4K bits/sec,每秒4K bits只是用來傳送用戶狀態?
實情是這樣的,每一台使用Skype的電腦,它都會設法找到其它200台使用真實IP上網的Skype電腦,並將其接聽外部封包IP與Port記錄起來。如果你和遠方通話的朋友都是用NAT上網,而且其中有一台NAT是 Symmetric NAT,那麼,Skype就會從這200台電腦中挑出幾個做為轉送封包的主機,一起分工將通話時的語音的封包傳給對方。問題是,這些電腦不是真正的伺服主機,它只是一般的Skype用戶,而這些用戶根本不知道它正在幫別人傳話。
Skype的無伺服主機的P2P語音服務就在它的免費下載Skype軟體中實現了,在同時使用Skype的近百萬人中,有部份用真實IP上網的用戶正在免費為你轉送封包,也就是你私人的免費電信局機房,也許你用NAT上網,正在慶幸自己的頻寬不會被偷偷使用,下次,你用Skype與朋友盡情通話之餘,別忘了感謝那些無名英雄。
至於,你是那些自己花錢,用真實 IP 上網的人,提供自己網路的頻寬與 CPU 資源,在背後默默為別人奉獻,成為 Skype 龐大聯網中的無名英雄,我只能讚嘆你的偉大,再次感謝您!