Hamachi
出典: フリー百科事典『ウィキペディア(Wikipedia)』
開発元: | Applied Networking社(カナダ) |
---|---|
最新版: | 0.9.9.9 / 2005年9月 |
対応OS: | Windows, Linux |
種別: | ピア・ツー・ピア |
ライセンス: | フリーウェア |
公式サイト: | www.hamachi.cc |
Hamachiは、P2P技術を使用してVPN(仮想プライベートネットワーク)を 実現するソフトウェアである。カナダのApplied Networking社が開発し、Microsoft Windows、Linux上で動作するベータ版がフリーウェアとして公開されている。
このソフトは、NATの裏にある二つのホスト間のVPN接続を行うことが可能であることが特徴である。Applied Networking社の仲介サーバでNAT機器のグローバルIPアドレスを交換することで、P2PによるVPN接続を行う。
公式サイトで「ゼロコンフィギュレーション(設定不要)」を謳っているとおり、インストールと僅かな設定のみでVPN接続を行うことができる。
目次 |
[編集] 動作の仕組み
Hamachiをインストールすると、仮想ネットワークインターフェイスが生成され、そのインターフェイスに送信されたIPおよびIPXパケットは、実ネットワークのUDPプロトコルを使用して相手ホストに転送される。これにより、既存のTCP/IPのルーティングテーブルを用いてルーティングを行うことができる。
[編集] NATの内側(LAN側)にある2つのホストの接続
LAN側からWAN側に通信が開始される際、NAT機器はWAN側のIPアドレス:ポート番号を一時的にLAN側のIPアドレス:ポート番号に割り当てて双方向に通信を行う(IPマスカレード)。そのため、通常はWAN側からLAN側のホストに接続を確立できない。従って、2つのホストが互いに別のNATのLAN側にある場合は、どちらからも接続が確立できないため、直接通信することができない。
Hamachiでは下記の方法を用いて別のNATのLAN側にある2つのホストを直接通信可能にしている。
NAT機器は、LAN側のホストからWAN側のホストへのUDPパケット送信が開始された際、WAN側に返信用の不定なポート番号を一時的に割り当てる。Hamachiが通信を開始する際は、以前に割り当てられたWAN側のポート番号から、次に割り当てられるポート番号をお互いに推測し、2つのホストが同時に推測した相手方のポート番号に向かってUDPの送信を開始する。送受信が開始された後は、一定間隔で空のパケット(Keep Aliveパケット)を送り続け、タイムアウトにならないようにすることでその後の通信を継続する。
ポート番号の推測は、ほとんどのNAT機器がWAN側の返信用ポート番号を規則的に(たとえば1ずつ増やして)割り振る性質があることを利用している。従って、一部のNAT機器はHamachiを通さない物がある。
[編集] 関連項目
- UDPホールパンチング
- Simple Traversal of UDP over NATs (STUN)
- Traversal Using Relay NAT (TURN)
- port restricted cone NAT
[編集] 外部リンク
- www.hamachi.cc - 公式サイト
- www.eonet.ne.jp/~s600/hamachi - 日本語サイト(開発者公認)
カテゴリ: コンピュータ関連のスタブ項目 | フリーウェア | P2P | インターネット | インターネット技術 | インターネットセキュリティ