IPA


IPAトップ





平成15年度未踏ソフトウェア創造事業(未踏ユース)  採択案件評価書


 




1.採択者氏名


代表者

登 大遊(筑波大学)

共同開発者

なし



2.担当プロジェクト管理組織


 三菱マテリアル(株)



3.委託支払金額


 3,000,000円



4.テーマ名


 イーサネットのソフトウェア実装とトンネリングシステムの開発



.関連Webサイトへのリンク


 http://www.softether.com/jp/



6.テーマ概要


 現在のネットワークにおけるNATやファイアウォール等の障壁,通信プロトコルの制約を意識することなく,コンピュータ同士が自由に通信可能な仮想ネットワークを構築するためのプロトコルとソフトウェアSoftEtherを開発する.

 本来,インターネットは,世界中のコンピュータ同士が自由に通信できることを目的として構築されたものである.しかし,現状ではグローバルIPアドレスの不足,NATやファイアウォールなどによるパケットの制限などにより,必ずしも自由な通信が行なえない状態にある.特に,インターネット上でTCP/IPによる通信を行なうためには,少なくとも片方はグローバルIPアドレスを持つ必要がある.

 本プロジェクトでは,IEEE802.3 (Ethernet) プロトコルに対応したLANカードやスイッチングHUBなどをソフトウェア上で仮想的に実装する.SoftEtherは,この仮想LANカードと仮想スイッチングHUB間の伝送をカプセル化されたフレームパケットにより実現する,新たなトンネリングシステムである.SoftEtherにより,仮想HUBソフトウェアをグローバルIPアドレス上で動作させておけば,インターネット上に自由な仮想ネットワークを構築可能であり,すべてのネットワークアプリケーションが透過的に使用可能となることを目標とする.

 当初のバージョンでは,(1) 直接的なTCP/IP接続,(2) HTTPプロキシ経由接続,(3) SSH経由接続,(4) SOCKS経由接続に対応した伝送モジュールを組み込む.また,(a) 簡単なインストールと接続ができる操作性,(b) ユーザー認証とパケットの128bit暗号化によるセキュリティ,(c) 一時的に接続が切れた際の双方でのバッファリングと再同期機能を実現する.

 本プロジェクトでは,Windows版 (Windows 2000 以降) を開発する,将来的にはLinuxなどにも対応する.また,開発成果は,フリーソフトウェアとして公開し,プロトコルなどの規格もすべてオープン化する.



7.採択理由


 とても若くて元気のいい学生.まだ18歳だが,PC関係の著書もすでに何冊かある.道理でプレゼンの発表もよく準備してあり,きちんと情報が伝わってきた.システム開発のための実力も十分に感じられる.ソフトウェアで作成する仮想ハブはそれをサービスする計算機をどこかが提供する必要があるが,現状でのIPv4ネットワークのつながりにくさに対する不満は少なくなく,仮想ハブの提供がビジネスになる可能性もあると思われる.勉強しないといけないことも多いけれど,ぜひ伸び伸びとやってほしい.


 

 
.成果概要(中間報告時)
 

 
 Windows上において,Ethernetに対応したネットワーク機器並びにネットワーク機器間の通信をソフトウェア (SoftEther) で実装した(登 図1).SoftEtherにより,既存のネットワークにおけるNATやファイアウォール等の障壁,通信プロトコルの制約を意識することなく,コンピュータ間あるいはネットワーク間を自由に通信できる仮想ネットワークを実現した.

 

SoftEtherの概念図

 

 

登 図1 SoftEtherの概念

 

 SoftEtherについて,公式Webサイト (http://www.softether.com/jp) で詳細なドキュメントを公開した.Windows SoftEtherは当初予定していた機能をほぼ実現できたため,ベータ版を12月中にも公開する予定である.公開後の利用者のコメントを参考に,より完成度を高めることとする.今後,Linux版についても仮想HUBソフトウェアから順次,対応していく予定である.
SoftEtherの実現のために,以下の開発作業を行なった.

(1) Ethernetフレームの解析,仕様調査

 SoftEtherの設計・開発に先立ち,IEEE802.3 CSMA/CD (Ethernet) フレームの解析並びに仕様調査を行なった.

(2) 仮想ネットワークの設計

 SoftEtherプロトコル並びにプログラミングインタフェースの詳細については,仮想LANカードや仮想HUBの実装と並行して,順次詰めた.

(3) 仮想LANカードデバイスドライバの開発

(4) 仮想HUBソフトウェアの開発

(5) SoftEtherプロトコルの実装

 仮想LANカードと仮想HUB間を接続するためのトランスポート層 (SoftEtherプロトコル) を実装した.なお,直接的なTCP/IP接続に加えて,HTTPプロキシ経由接続,SSH経由接続,SOCKS経由接続に対応した伝送モジュールを整備した.

(6) テスト並びに仕上げ

 中間報告時(11月末時点),並行して各種環境下での動作テスト,ストレステスト等を実施しているが,ベータ版として公開する準備が整った.

 

 
9.PMコメント(中間報告時)
 

 
 まったくとんでもない人が現われたものだ.18歳でこの腕前は現時点でもう未踏ユース枠を超えたスーパークリエータである.しかも,ガリガリのプログラミングオタクではなく,考え方も文章もしっかりしているし,なによりもユーモアが豊かだ.それは彼が高校生時代に書いたDirect Xの技術書や,SoftEtherのページを見てもお分かりいただけるだろう.このような逸材に伸び伸びとやってもらわなくては,日本のソフトは廃る.

 とんでもないのは登君だけではない.彼の生み出したSoftEtherもすごい.すでにネットの研究業界では筋が悪いと烙印を押されていたTCP over TCPを,小さい性能劣化で実現してしまったからだ.100メガが当り前になりつつあるいま,20〜40%程度の性能の落ちであれば,「仮想」という言葉をつけなくても十分通用する.ブースト会議の会場から,100Km程度離れた別のサイトに,同じ192.168.XXX.XXXのネットワークを張って,簡単に動画がダウンロードされたときには,みんな本当に驚いた.インフラ系のテーマでみんなを驚かすということ自体が珍しい.

 すごい,すごいと言っているだけでは,SoftEtherの正体がよくわからないかもしれないので登君の言葉を借りて特長をまとめておこう.

 SoftEther仮想LANカードは,OSや各ソフトウェアから見ると一般的なLANカードと同じに見えるので,SoftEtherによる仮想ネットワーク内ではOSがサポートしている全てのプロトコルを任意に使用することができる.たとえば,WindowsはTCP/IPやIPv6,NetBEUI,IPXなどをサポートしているが,これらはすべて仮想ネットワーク内で使用可能である.

 また,SoftEtherプロトコルはTCP/IPをベースにしており,OSやネットワーク機器,ファイアウォールから見ると,一般的なTCP/IPパケットと何ら変わりはなく,ファイアウォールやNATを通過できる.通過できない場合や,ネットワーク内で Proxyサーバーなどが唯一の外部とのゲートウェイである場合でも,SoftEtherプロトコルはProxyサーバーやSSHサーバー,SOCKSサーバーを経由して外側にある仮想HUBと接続可能である.

 このように,従来は,高価なハードウェアや専用ソフトウェアの導入が必須であったVPNやリモートアクセスが,SoftEtherにより容易に可能となった.また,仮想ネットワーク内では全てのプロトコルを使用できるため,LAN上の機器に対するアクセスと全く同等の操作が可能であり,一般の利用者でも容易に活用できるという利点がある.

 SoftEtherはオープンになるが,プロジェクト管理組織の後押しもあって,商用化への道を検討しているという.素晴らしいことである.ちなみに,こういうものを商用化に結び付けるのはいかがなものかという意見が世の中に少なからずあることは承知しているが,それが回り回って日本のソフトウェアをダメにしているのではないかと私は考えている.フリーにするか,商用化するかについては,ソフトウェアの作成者の自由意志を尊重すべきである.これが未踏ユースの基本姿勢である.



10.成果概要(終了時)


 すでにインターネットや雑誌記事などで, どのような成果が出たかは周知の事実になっている. 実際, 公式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).

仮想HUBと仮想LANカードとの間の通信方法図

 

登 図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) となる.

SoftEtherフレームのフォーマットについての図

 

登 図3 SoftEtherフレームのフォーマットについて

 

仮想HUBと仮想クライアント間の接続経路図

 

登 図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

から得ることができる.



11.PM評価とコメント(終了時)


 中間PMコメントを繰り返すことになるが, すごい人が現われたものだ. PMは2000年度からプロジェクトマネージャを未踏本ちゃん2年間, 未踏ユース2年間務め, 80人以上の人を見てきたが, つくったソフトウェアの品質の高さ, その若さ, 世の中に与えたインパクトの大きさ, ビジネス展開の可能性の高さを勘案すると, 断トツの人材を発掘できたと思っている. まだまだこんな人がいるのではないかと期待を抱かせるに十分なものがある. 登君に刺激を受けて, たくさんの若い人が発奮してくれるのではなかろうか.

 2003年12月17日の公開のあとに起こったいろいろな騒動についてここで詳細を述べることはしないが, PMは登君が公開をするといったときにある程度確信犯的な危惧 (期待?) を抱いていた. それをはるかに上回る騒動となったのでいささか焦ったものの, 2〜3日以内に完全な決着を得ることができてよかったと思っている. 関係各位のご努力に感謝する.

 2004年1月7〜9日の情報処理学会のプログラミングシンポジウムに登君を招待したが, ここでも話題が沸騰した. 彼の発表は最終日だったのだが, 待ちきれない参加者の熱意に押されて, その前の夜に登君のための特別セッションが開かれ, みんなが登君の話を聴いた. 聴衆の多くは大学や企業でネットワーク管理をしている人が多く, 彼の仕事に対して賛否両論的な反応があった. そのときの登君の応対は見事に大人, というより, 自然体であった. その場の最終的な結論が, このような研究は抑えるべきではなく, 伸ばすべきということになったのは参加者の良識というべきだろう. また, これを縁に情報処理学会誌から寄稿を求められた. 多分史上最年少の寄稿者になるであろう.

 SoftEtherについては, すでに本人以外がチュートリアルを書いている. そこまで一般化したということである. 2月末で70万ダウンロードは半端ではない. 英語のマニュアルができれば, 現在数パーセントしかない米国へのダウンロードは一挙に増えるだろう.

 取材も多数押しかけている. PMも取材攻勢に会っている. 登君はまだ19歳なので, 本来かなり配慮しないといけないのだが, 彼に限ってはどうも大丈夫そうだ. とはいえ, いろいろな雑音から彼を保護することも重要である. 彼が真直伸びていくことに, PMは責務を感じている. もっとも, 筑波大学には彼を見てくれている信頼できる先生がいるので, 彼の「大人」ぶりもあいまってあまり心配することもないと思う.

 これだけのソフトをつくってしまうと次はどうなるのかなと心配になる. しかし, 最終報告会で登君はSoftEther Ver 2.0の計画を話してくれた. 内容的にはちょっと挑戦的なものを含んでいるが, 彼のことだから1年以内に仕上げてしまうだろう. もっとも, これだけの実力をもっているのだから, 若いうちに別のジャンルのソフトに挑戦してみるのもいいと思うが….

 SoftEtherはフリーソフトであるが, プロジェクト管理組織の三菱マテリアルの池田さんは, これをベースにビジネスを展開する計画を立てている. 登君も協力的である. このビジネス化が成功すれば, 未踏ソフトウェア創造事業関係者にとっては夢のような展開になる.

★★スーパークリエータ:  繰り返しになるが,PMが未踏に関わって以来,つくったソフトウェアの品質の高さ,その若さ,世の中に与えたインパクトの大きさ,ビジネス展開の可能性の高さ,どれをとっても抜群.今後さらに伸びるだろう.




  ページトップへ   






  Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2004