Project EKAM

Project-ekam-1

このプロジェクトは、小規模オフィス向けインターネット接続のための基盤となる製品をオープンソースの形式で提供し、様々なユーザーのニーズに、各種サービス提供会社が対応できるようなプラットフォームを提供します。

企業などで、在宅勤務や、サテライトオフィスなどで利用する場合など、市販のルーターで機能的には問題がないけど、ISP契約のパスワードはエンドユーザーに入力させて、職場のVPNのアドレスや、パスワードは、職場一律で設定してユーザーに知られたくない場合など、環境に応じた設定項目の変更などにも耐えうるシステムを構築できるプラットフォームの提供を目標としています。

IMG_5410

このプロジェクトの成果物は、リファレンスプラットフォームとなるプリント基板と、フリーソフトの集合体、コンパイル方法や、構築方法のドキュメントとなります。ルーターの製品として販売するためには、筐体や電源ユニットなどを準備する必要がありますが、安全基準などは、使用する環境によって異なりますので、OEMユーザーが環境に合わせて準備したうえで安全基準などをクリアする必要があります。

プロジェクト自体は、複数のオープンソースのプログラムやシステムを利用し、リファレンスプラットフォーム上で実行させることを目標にします。開発したリファレンスプラットフォームは、そのままOEM向けに販売もしますが、他社がリファレンスプラットフォームを参考に似たようなプラットフォームを作成することを制限するものではありません。このプロジェクトのキーワードとして

1.OpenWRT

2.x86ネットワークプロセッサ

3.XENバーチャルマシン

4.マネジメントスイッチ内蔵

メーカーが販売している既存の製品は、個人宅向けの安価な製品や、エンタープライズ向けの高価な製品がありますが、昨今のユーザーのニーズに対応するための柔軟性に欠けているものが多く、クローズドソースの製品であるため、ユーザーの手によるカスタマイズにも制限があるのが現状です。

このプロジェクトは、チップメーカーのNDAに依存して公開できない部分を除いてすべてのコードをオープンソースとし、誰もが好きなようにカスタマイズして利用できることを目標としています。

また、ハードウェアに関しては、リファレンス(OEM) プラットフォームを提供できるよう準備中です。当然、ユーザーの手によって他のハードウェアへの移植も可能です。

OpenWRTについて

OpwnWRTは、オープンソースのWirelessRouTerのソフトウェア開発プロジェクトです。

http://www.openwrt.org

このOpenWRTのソフトウェアで、一般的なルーター、ファイヤーウォール、VPNの機能のほとんどを実装することができ、且つ、各社専用VPN装置との接続のためのツール群も充実しています。

OpenWRTの対応ハードウェアのほとんどは、SOHO向けルーター兼アクセスポイントとなっているため、メモリ使用量の多いアプリケーションについて動作制限がありますが、このプロジェクトのリファレンスプラットフォームは、PC用のメモリが使用できるためOpenWRTのほとんどの機能を同時に使用することができます。

x86プロセッサ

PC用の高性能プロセッサです。

このプロジェクトで、x86プロセッサを利用するメリットとして

・SOHOルーターで使用しているSoCに比べて圧倒的なパフォーマンスが得られること。

・既存ソフトウェアとの互換性が高いこと

・WindowsやLinuxといったバーチャルマシンがそのまま動作すること

・専用ハードウェアを持つエンタープライズ製品に伍する機能の実装が可能なこと

・PC用の周辺機器が利用できること

があります。デメリットには

・使用しないPC用の機能がCPUに実装されているため、SOHOルーター用SoCに比べてコスト的に高価である。

・専用SoCに比べて消費電力が多めである

があります。

オープンソースプラットフォームを提供するには、多々の種類があるSoCより、x86プラットフォームのほうが汎用性が高いために、今回のプロジェクトではx86プラットフォームを選定しました。

XENバーチャルマシン

フリーの仮想マシンプラットフォーム

ユーザーやサードパーティ提供のバーチャルマシンを動作させることができます。

ルーターに内蔵することによって、ローカル専用、DMZ専用のバーチャルマシンを、ソフトウェアの設定変更のみで構築できます。

また、24時間常時稼動しておくべきアプリケーションをルーター側のバーチャルマシンで実行することによって、常時稼動機器の数を減らすことができるため、小規模のオフィス環境の消費電力、管理コストの低減が可能です。

EKAM-XEN

マネジメントスイッチ

L2のマネジメントスイッチを内蔵します。これによって、個々のポートを、ローカル用、DMZ用に設定することが可能になります。また、複数のセグメントを設定することが可能なので、業務単位でセグメント分けすることも可能です。

リファレンスプラットフォーム

今回のプロジェクトの開始に当たって、リファレンスボード(EKAMボード)を開発しました。

このプロジェクトのメインラインの開発は、リファレンスボード上で行うものとします。

ユーザーは、リファレンスボードだけでなく、汎用筐体を利用することもできますし、ぽよんテックでは、リファレンスボードの専用筐体の作成や、OEM用のロット販売にも対応可能です。
EKAM Block 12-2

EKAMボードではCPUにIntelのネットワーク機器向けマルチコアCPUであるC2358プロセッサを使用します。このプロセッサは、PC用のx86コードを実行できるだけでなく、複数のGigabitイーサネットポートと、専用の暗号コプロセッサを内蔵することによって、専用機に匹敵するVPNパフォーマンスを実現することが可能です。

また、マネジメントL2スイッチを内蔵しているため、VLAN機能を使用することによって個々のポートをセグメント化することが可能となっています。

このプラットフォームは、アプリケーション開発を開始するにあたっての投資額を最小化することと、FANなどの機械部品を必要としない構成にするために、安価なCPUとスイッチを選定しています。今後、プロジェクトの進捗によって、よりポート数の多いもの、高性能なプロセッサを使用したものへと発展させていく予定です。

サードパーティソフトウェアについて

ルーター上でサードパーティのライセンスが必要な有料のソフトウェアを動作させたい場合には、ルーター上のTPMと機器のIDを利用してライセンス管理を行うことが可能です。

リファレンスプラットフォームではTPMをオプションとして提供しています。

TPMを使用することによって機器のIDを偽装することができなくなりますので、ソフトウェアのライセンス管理を行うことができます。

WiFiについて

リファレンスプラットフォームでは、オプションとしてMiniPCIeスロットにWiFiインターフェイスを搭載することができます。また、OpenWRTの機能を用いて、WiFiコントローラとして複数のWiFi APの統合管理し、ローミング、認証統合などを行うことも可能です。

また、オプションとして、専用のアクセスポイントの開発も計画しております。これらを利用することによって、WiFi専用メーカーが出しているような、コントローラ、アクセスポイントの統合管理や、無線のチャネル制御などを行うことを予定しています。

ユーザーインターフェイスについて

本プロジェクトでは、オープンソースのソフトウェアの構成をユーザーに任せることを前提にしているため、エンドユーザー向けのユーザーインターフェイスは原則として提供しません。

したがって、各OEMは、どの構成をエンドユーザーにやらせるのかを確定して、それに従ったユーザーインターフェイスを作成する必要があります。プロジェクト内では、Webユーザーインターフェイスのプラットフォームと基本設定の部分をサンプルとして提供します。

構成例

ここでは、OEM側での構成の例を示します。

例として、まったく毛色の違う構成を挙げていますが、それぞれの組み合わせ変更なども可能です。

構成例1 在宅勤務者向けサービス構成

上記の例の通り、Ekamボードの特定のポートに接続されたPCのみを職場のVPNへの接続を許可し、他のポートは家庭用のインターネットアクセスに割り当てる設定です。

EKAM-HGW

このような設定をすることによって、職場で支給したPCと家庭用のPCを完全に分離したネットワークに配置することが可能です。ネットワークが分離されているため、家庭用のPCがウィルスなどに感染した場合でも、職場のPCが影響を受けることはありません。

また、職場支給のPC側で、Windowsグループポリシーや、サードパーティのセキュリティツールなどを用いてUSBメモリなどの利用を制限すれば、家庭用PCからの情報漏えいのリスクを下げることも可能となります。

サービス提供者側は、ユーザーに提供するインターフェイスを制限することによって、VPN接続設定やISPへの接続設定を行ったものをユーザーに配布する方法も、設定をユーザーにやらせる方法をとることも可能です。

より高度なセキュリティ設定が必要な場合には、Port1のみに、802.1x認証機能や、Microsoft NAP検疫Proxy機能などを実装することによって、Port1に職場支給PC以外の機器を接続することを制限する機能を実装することも可能です。

構成例2 OpenFlowプラットフォーム

リファレンスプラットフォーム上で、ソフトウェアベースのオープンフローを実行することが可能です。OpenFlowの実験環境を準備するには、高価でうるさいネットワーク機器やサーバを複数台準備する必要がありますが、リファレンスプラットフォーム上で、スイッチや、OpenFlowコントローラの仮想マシンを動作させることが可能です。

リファレンスプラットフォームは、そのままで、スイッチとしても、コントローラとしても動作せせることが可能です。

構成例3 ネットストレージサービスプラットフォーム

リファレンスプラットフォーム上にSATAのポートが準備されているため、そのまま、NASとして使用することができます。またRAIDだけでなく、個々の物理的なDISKドライブを、それぞれの仮想マシンに割り当てることによって、動画配信サーバや、ネットコマースサーバなどを実装することができます。これらによって、小規模なオフィスで常時電源を入れておかねばならない機器の数を削減することができます。