| 
すでにインターネットや雑誌記事などで, どのような成果が出たかは周知の事実になっている. 実際, 公式Web サイト (http://www.softether.com/jp)
で詳細なドキュメントが公開されている. 詳しくはこちらを参照願いたい. 以下では, 中間報告より詳細な概略を紹介する.
(1) Ethernet フレームの解析, 仕様調査
SoftEtherの設計・開発に先立ち, IEEE802.3 CSMA/CD (Ethernet) フレームの解析並びに仕様調査を行なった.
(2) 仮想ネットワークの設計
SoftEtherは, スイッチングHUBとLANカードをソフトウェア的にエミュレートすることにより, 仮想ネットワークを実現するソフトウェアである.
仮想HUBを特定のコンピュータ上で稼動させておき, そのコンピュータに対して, インターネット等を経由して仮想LANカードを接続する.
こうして接続された仮想HUBと仮想LANカードはあたかも仮想LANケーブルによって接続されているかのように振舞う.
仮想HUB並びに仮想LANカードは, Windows 上のシステムコンポーネントとしてインストールされる. したがって, 全ての通信アプリケーションは仮想HUBや仮想LANカードの存在を意識することなく,
仮想ネットワークを利用した通信が可能である.
(3) 仮想LANカードデバイスドライバの開発
仮想LANカードは, SoftEther仮想ネットワークに接続するコンピュータにインストールする仮想のデバイスドライバである.
ここでは仮想LANカードをインストールしたコンピュータを「仮想クライアント」, 仮想HUB機能を提供するサーバーを「仮想HUB」と称する.
SoftEther仮想LANカードの最大の特長は, OSやその上で動作するネットワーク通信を行なう全てのソフトウェアから, 物理的なLANカードと全く同一に認識されるという点にある.
(4) 仮想HUBソフトウェアの開発
仮想HUBは, 通常のスイッチングHUB (Ethernet 100Base-TX Switch) をエミュレートするソフトウェアであり,
仮想HUB機能を提供するコンピュータ上に常駐するサーバープロセスである.
IEEE802.3 (Ethernet) に準拠しており, 基本はレイヤー2の処理であるが, IP層, TCP/IP層, アプリケーション層での高度な処理
(セキュリティ機能) を搭載している (登 図2).
登 図2 仮想HUBと仮想LANカードとの間の通信方法
直接TCP/IP接続 ― 仮想HUBが, 仮想クライアントと同じネットワーク上に存在する場合や,
NATやファイアウォールなどを経由して直接接続可能な場合に適用
HTTPプロキシ経由接続 ― 外部との通信は全てHTTPプロキシサーバーを経由して行なう構成となっているネットワーク環境に適用
SOCKSサーバー経由接続 ― ・SOCKSサーバー (現在はSocks v4のみに対応) を経由して通信する
SSHサーバー経由接続 ― SSHのPort Forwarding機能を使用して, SSHサーバーを経由して通信する
現在, 仮想HUBを管理する方法として, 管理コンソールを提供している. 管理コンソールへ接続するためには, Telnetクライアント
(接続先ポート番号 8023) を利用する.
なお, 仮想HUBでは, セキュリティオプションとして以下のものをユーザーごとに設定可能である.
・接続を拒否する
・セッション再接続を禁止する
・DHCPサーバーが割り当てたIPアドレスを強制
・使用可能なIPアドレスを1つに制限
・使用可能なMACアドレスを1つに制限
・既存のIPアドレスとの重複を禁止
・既存のMACアドレスとの重複を禁止
・ブロードキャストパケットを禁止
・DHCPサーバーの動作を禁止
・すべてのDHCPパケットをフィルタリング
さらに, 128bit RC4互換暗号化と電子署名による盗聴・改ざん防止並びにユーザー認証をサポートしており, また, 256までのVLAN機能を用意している.
これにより仮想HUBを実装した1台のサーバー上で, 最大256 台のHUB機能を提供することが可能である.
(5) SoftEtherプロトコルの実装
仮想LANカードと仮想HUB間を接続するためのトランスポート層 (SoftEtherプロトコル) については, 登 図3に示すSoftEtherフレームを取扱い,
各伝送モジュールで送受信することとした. なお, 各仮想クライアントは, 仮想HUBとの接続経路がどの伝送モジュールに拠るかを意識することなく,
全く同等の扱い (登 図4) となる.
登 図3 SoftEtherフレームのフォーマットについて
登 図4 仮想HUBと仮想クライアント間の接続経路
(6) テスト並びに仕上げ
2003年12月17日のSoftEtherベータ版の公開開始に合わせて, 実験用公開仮想HUB (hub.softether.com,
220.110.189.11, ポート番号: 443, 7777) 並びにメーリングリスト (softether@ml.open.coins.tsukuba.ac.jp)
のサービスを開始し, 終了時(3月時点)も引き続き, テスト運用とユーザーニーズの収集, 開発へのフィードバックを行なっている.
終了時(3月時点)はWindows版 (Windows 2000以降) のみ公開しており, Versioin 0.50 beta3版
(1 月12 日リリース) が最新である. その他のOSのサポートについても準備を進めており, 仮想HUBについては, 未公開ではあるもののLinux版,
Free BSD版並びにMac OS X版を開発中であり, 一通りの動作について確認済みである.
ダウンロード数は, 累計で70万件を超えており, また, 実験用公開仮想HUBの利用も常時200ユーザー以上が接続している状況である.
これまでのところ, 公開仮想HUBの性能 (DELL社製PowerEdge 600SC, Intel Celeron 2GHz,
メモリ DDR SDRAM 1GB) では, 1,000 ユーザーを超えると並列処理のパフォーマンスが悪化するため, 300ユーザー程度が現実的な目安のようである.
当該仮想HUBの性能の限界値としては, トラフィックは60Mbps程度が上限と思われ, また, MACアドレステーブル登録数は3,000程度,
IPアドレステーブル登録数は20,000程度でパフォーマンスが悪化することがわかった.
関連情報は
http://www.softether.com/jp
から得ることができる.
|