2008年9月1日 星期一

TeamViewer - 免費桌面分享, 遠端遙控軟體 !

  一般最常用的遠端遙控軟體有微軟的遠端桌面, RealVNC, UltraVNC, ..., 我是使用UltraVNC來遠端管理我的伺服器

  這裏介紹另一套性質不太相同的遠端遙控軟體 - TeamViewer, 它較合適用在遠端協助這個領域, 另外它有另一個好處 : 就是它能跨越NAT & 防火牆, 所以即使對方的電腦是在IP分享器內部, 它都能連線, 以下是它安裝後啟動的畫面 :


  左邊紅色框框部份是TeamViewer自動產生的 - 有 ID => 140 879 257, Password 2800, ID & Password是提供給他人遠端連線的代碼及密碼

  右邊紅色框框部份是給您要連線到別人電腦用的, 您可以輸入對方的ID, 按下Connect to partner, 然後系統會提示您輸入Password, 這樣就能連線到對方電腦

  TeamViewer操作很簡單, 優點是它能跨越NAT & 防火牆, 除了能遙控桌面外, 也能傳送檔案, 十分方便 !

TeamViewer為什麼能跨越NAT & 防火牆呢 ?
  我想它應該是在兩台遠端連線之間, 利用了第3台在Internet上的伺服器, 當成轉接器, 來轉送兩邊電腦的資料, 這原理不難懂, 只要了解TCP協定及NAT, 防火牆的特性即可, 我們簡單的分述如下 :

1.TCP協定 :
  TCP協定的第1個步驟, 就是建立連線, 它的方法是採用3-way hand-shake方式, 建立完連線後, 雙方就能開始互傳資料了

2.NAT :
  它是參照位址轉譯表, 來做內部私有IP及外部真實IP之間的轉換, 當內部私有IP要連線到Internet時, NAT會在位址轉譯表產生一組對照資料(內部和外部的IP&Port), 以便進行兩邊通信時位址轉譯使用; 而相反的, 外部要主動請求連線時就不可能建立連線, 原因有兩個 : 一是私有IP無法通過路由器, 二是NAT的位址轉譯表根本不會產生

3.防火牆 :
  對TCP協定來說, 防火牆只控管連線的建立, 連線的建立有兩個方向 : 一是內部網路連到外部, 二是外部網路連到內部, 防火牆通常是保護內部網路, 所以對於連外的TCP連線是不會阻檔的, 只會針對外部網路連線至內部會加以管控

4.結論
  TeamViewer就是利用這個特性, 連外的TCP連線是不會阻檔, NAT也是只能連外, 所以就利用了第3台轉接伺服器當資料轉送, 讓兩邊的電腦都是對外連線(都對轉接伺服器連線), 這樣兩台電腦就能跨越NAT&防火牆, 進行遠端連線 !

0 意見: