Title: XCAST WG activity report in 2004 Authors: 今井 祐二(kimai@labs.fujitsu.com) 鈴木 恒一(metal@fuka.info.waseda.ac.jp) Date: 1/31/2005 はじめに Explicit Multi-Unicastは、従来のISM(Internet Standard Multicast)でのグ ループアドレスに変えて、パケットヘッダに到達すべき複数のマルチキャスト アドレスを明記することで宛先を指定する配送方式である。XCASTはISMに比べ てグループメンバー数に制約がある一方で、グループ数に関するスケーラビリ ティに優れており、多地点ビデオ会議やネットワーク対戦型ゲームなど、多数 のエンドユーザーがプライベートなマルチキャストグループに対して発信する 事が必要な用途に有効である。 WIDE projectでは1999年度にXCASTの研究開発を開始して以来、IBM, KAIST, Soongsil University, IRISAなどとの協調により、統一XCASTプロトコルの策 定とInternet Draftの提案、派生プロトコルの開発、*BSDでのXCAST6実装、相 互接続実験、WIDE 6Bone上での試用を行ってきた。 2004年度は、これまでの実績を元に以下の目標を揚げて研究開発活動を行なっ た。 ・X6-Bone(XCAST実験網)の運用拡大によるノウハウの蓄積 ・オープンソースコミュニティとの連携 ・XCASTの啓蒙・普及活動 ・XCASTアプリケーションの使用環境向上 本報告書では2004年度のXCAST WGの活動を以下の順に報告する。 1 XCASTの呼称変更 2 X6-Bone実験網運用 3 オープンソースコミュニティ協調 4 インスタントメッセージシステムによるグループ管理 1 呼称変更 XCASTは明示的マルチキャスト(Explicit Multicast)と称していたが、機構と 性質がユニキャストにより近いことを強調するために、統一XCASTプロトコル 策定者間で協議し、eXplicit Multi-Unicastに呼称を変更した。略称は従来ど おりXCASTである。 2 X6-Bone実験網 2002年度から運用を行なっている仮想的XCAST6ネットワークX6-Boneは、半透 過トンネル手法に頼らない、XCAST6ルーター間を直接結ぶネットワーク上で、 各種実験を行なう目的で設置している。ネットワークトポロジーは慶応大学相 南藤沢キャンパス内に設置したXCAST6/NetBSD PCルーター(xgate.xcast.jp)を ハブとし、協力団体をdtcpによるv6/v4トンネルで接続するスター型としてい る。協力団体は昨年度より4件増加した。新規協力団体はこれまでのBSDユーザー 会とは異なる新しいタイプの組織である。 - SPUG XCASTの使用を目的に新たに組織された静岡Protocol User Group。 - xcast.alpha.co.jp KNOPPIXへのXCAST6搭載を目的としたグループ - IRISA フランス国家通信研究所。IETFにおいてXCASTの共同標準化研究を進めている。 - GPUG 関西以西のXCASTユーザーの収容を目的として組織された。Gyojya Protocol Users Group また、名古屋*BSDユーザーグループ(NBUG)の協力で、名古屋地区ルーターを会 員の自宅より、名古屋大学情報連携基盤センターに移設した。名古屋大学情報 連携基盤センターはJPIX名古屋を通じて中部地方のCATVプロバイダ各社と接続 している。これによりこれまで各協力組織間での会員間XCAST6トラフィックが、 実際にはv6/v4接続で東京経由となっていたものが、地理的にも地域内で閉じ ることができるようになった。GPUGもNSPIXP3を通じて同様の効果が得ること を目標として設置された。 3 オープンソースコミュニティとの協調 WIDEプロジェクトで作成したXCAST6成果物は、BSD形式のライセンスによるオー プンソースとして、sourceforge.netを通じて配布してきた。これにより、 WIDE外部のオープンソースコミュニティーが各種の派生プログラムが作成され た。WIDE XCAST WGは、これらのコミュニティ内で緩やかな連携を構成する目 的で、MLの運営、X6-Boneへの収容, ミーティング実験などで、成果を共有し あう場を提供した。 3.1 XCAST6-kit改版 上記のコミュニティの中で、NetBSD, FreeBSDの改版に対するxcast6-kitの追 随のためのupdateがWIDE外で行なわれるようになった。これらが一貫して継続 的に開発されていき、各BSDコミュニティのユーザーに便利に使用してもらう 状況を作る事を目的に、主要な開発者に対してXCAST6-kitの正式なdevelopper として活動していただくよう依頼し、以下の2名に承諾をいただいた。 梅本肇氏(CBUG, FreeBSD commiter) 濱嶋克臣氏(NBUG, NetBSD committer) 両名にはsourceforge.netのdevelopperに加わっていただき、NetBSD, FreeBSD それぞれへの権限を大幅に委譲した。この成果として2005年1月29日に XCAST6-kit version 0.2がリリースされた。今回より、リリース元はWIDE XCAST WGから、XCAST6 developers & XCAST fan clubになった。 付録としてリリースノートをつける。 3.2 XCAST6 Live CD さらに、XCAST6をより使いやすくするソフトウェアがXCAST6-kitを利用して作 成された。 - Ebifuryaa NBUG濱嶋克臣氏による、1枚のCDからブートして即時にXCAST6環境を作成できる ソフトウェア。NetBSD 1.6.2をベースに作成された。XCAST6対応カーネル でブートすることはもちろん、XCAST6ミーティング参加に必要な、USBドラ イバ、カメラ画像表示プログラム、メンバー管理クライアント・サーバー、 vic, ratなどをすべて包含している。このため、XCAST6を試してみたいが、 カーネルコンパイルなどの手間が割けなかったユーザーを掘り起こしたの みならず、WIDE XCAST WGメンバーなどの運用経験のあるユーザーでも、移 動先や新規のPCなどに、容易に安定した動作環境を得る手段として大変便 利に使用されている。現在はさらにNetBSD 2.0とXCAST-kit 0.2をベースと した版に改版中で、UIの洗練化、後述するfukidashi君の搭載などが行なわ れている。 - FreeSBIE w/ XCAST6 CBUG 後藤大地氏による、FreeBSD 5.3をベースにしたXCAST用Live CD。 FreeBSDを元にしたFreeSBIE Live CDをベースに、XCAST6-kit version 0.2 release candidate 2、各種ソフトウェアを搭載したものである。 Ebifuryaaと比較し、圧縮ファイルシステムによってソフト搭載量を増やせ る点を活用し、KDEなどの大き目のウィンドウマネージャーや、FreeWnnな どを搭載している。 - Fukidashi NBUG大島靖氏によるUSBカメラ画像合成表示プログラム。NBUGでは水野たか ふみ氏を中心にUSBカメラの解析と動作プログラム作成に大量のノウハウが 形成されている。これまでは各カメラに対する画像表示プログラムが個別 に作成され、Ebifuryaaなどに搭載されていた。 Fukidashiはこれらの画像取り込み部をshared libraryとしてモジュール化 する目的から始まったが、次第にこれが、vicによる画像コミュニケーショ ンを豊かにするツールであることが判明し、以下に述べる数々のユニーク な拡張が加えられるようになった。 ・イメージファイルの表示 ・透明イメージファイルのカメラ画像への重ね合わせ ・複数USBカメラのスイッチング ・時刻表示 ・テロップ表示 ・漫画的な吹き出しによる、つぶやき表現。 4 インスタントメッセージシステムによるグループ管理 Explicit Multi-Unicastの特徴でISMと異なるもののうち、エンドユーザーの アプリケーションに与える影響が最も大きいものは、メンバーシップの管理を Layer 3でなくアプリケーション層が行なうように分離している点にある。こ れにより、中間ルーターは経路情報とメンバーの所在情報を分離し、経路情報 についてはユニキャストに依存し、かつ所在情報については一切関与する必要 が無くなった。また、アプリケーションは、その用途と要求に応じて自由に所 在情報を管理できる。この点を活用するべく、XCASTの活動の初期より多くの 研究が行なわれ、WIDE XCAST WGでも多くの試みがなされてきた。 その一方で、現在最も活用されているメンバーシップ管理システムはxcgroup である。xcgroupはメンバー管理機構が無い時期に、クイックハックとして作 成された、simple and stupidシステムで、httpのCGIプログラムである xcgroupsrv.cgiに、httpクライアントが定期的に各ノードのIPv6アドレスを自 らグループに登録し、返り値として現在のメンバーのIPv6アドレスリストを送 り、それをmbone toolsにmbusで転送するものである。 このため、大変わかりやすいデザイン・プログラムである反面、機能・性能は 最低限に絞られている。 今回もう一度グループ管理に取り組むにあたり、これまでの研究を振り返り、 以下の要求があると考えた。 - 統合的な多地点マルチメディア会議の支援が可能であること - インスタントメッセージが持つテキストメッセージング - 即時性 - セキュリティ - 拡張性 また、これまで行なった各種試作が最終的に試用の段階に達し無かった点を反 省し、スクラッチからの構築でなく、既存のシステムの優れている点を取り入 れる事も考慮した。 その結果として我々はJabberをベースとしメンバー管理システムを構築する事 とした。Jabberははオープンソースのインスタントメッセージングシステムで 以下の特長を持つ。 - Jabber の仕様は、全てRFCおよびJEPs (Jabber Enhancement Proposals)にて 公開されており、オープン性に優れている。 - 仕様のオープン性により、仕様に沿った実装がクライアント・サーバーとも 数多く存在する。 - Jabber のユーザー間で交換されるデータは、基本的に全てXML で記述され ており、新規のアプリケーションに必要な情報を柔軟に取り入れて成長するこ とが可能である。 - TLS やSASL を使った通信の暗号化が仕様として定義され、実装も提供され ている。 - 1 対1 のメッセージ交換だけではなく、IRC のような多人数でのチャットも 行なえる。 - xcgroup ではグループの状態変更はユーザの自発的なサーバへの情報取得で 行なっており、メンバーの追加・削除に遅延が発生した。Jabber はインスタ ントメッセージでありサーバー側からのイベントとして即時にユーザーへの変 更が通知される。 本年度は、手始めとして現行のxcgroup機能のJabberによる置き換えを行なった。 ベースとした環境は以下である。 - FreeBSD - Jabberd/mu-conference - Psi サーバーには既存のJabberdが持つグループテキストチャットに加えて、 XCAST6に必要なアドレスリストを管理交換する機能を追加した。またクライ アントのPsiには、xcgroup と同様にmbone toolのアプリケーション間連携機 構mbusを経由してアドレスリストを通知する機能を付加した。 しかしながら Psi はまだ Jabberdとアドレスリストを交換する機能を持たず、 xcgroup サーバーを使用している状態であり、これは今後の課題である。 Copyright (C) 2005, WIDE Project. All Rights Reserved. 付録1: X6Bone協力組織 参加団体 割当prefix --------------------------------------------------------------------------- CBUG (調布/西東京*BSDユーザーグループ) 3ffe:051b:4400::/40 SBUG (Shikoku *BSDUsers Group) 3ffe:051b:4500::/40 NoBUG (北海道*BSDユーザーズグループ) 3ffe:051b:4600::/40 BAY-BSD (FreeBSDと飲もう会・BAY-BSDユーザーズグループ) 3ffe:051b:4700::/40 NBUG (名古屋*BSDユーザーズグループ) 3ffe:051b:4800::/40 → 3ffe:051b:4900::/40 GPUG (西日本XCAST Protocol Users Group) 3ffe:051b:4a00::/40 IRISA (irisa.fr) 3ffe:051b:4b00::/40 ALPHA (KNOPPIX w/ XCAST実験グループ) 3ffe:051b:400f::/48 SPUG (静岡 XCAST Protocol Users Group) 3ffe:051b:4105::/48 付録2: XCAST6-kit version 0.2 Release announcement Hi, XCASTees! We XCAST fan club release long waited update of XCAST6-kit for recent versions of FreeBSD and NetBSD with great pleasure. It's include - Kernel patches w/ a library for NetBSD 1.6.2 and 2.0 as well as FreeBSD 4.10, 4.11 and 5,3. - XCASTified mbone tools, vic and rat. - Improved system tools, ping6x, traceroute6x and tcpdump. You can get these from http://sourceforge.net/project/showfiles.php?group_id=30760&package_id=22808 Using the kit, very interesting variants are prepared by xcast fan to help your XCAST life start at ease. - NetBSD package and pkgsrc (Thanx by Hamajima) package for i386 ftp://ftp.nagoya.bug.gr.jp/pub/hamajima/xcast6/1.6.2/ ftp://ftp.nagoya.bug.gr.jp/pub/hamajima/xcast6/2.0/ for other maniac persons ftp://ftp.nagoya.bug.gr.jp/pub/hamajima/xcast6/pkgsrc-xcast6.tar.gz anoncvs CVSROOT=:pserver:anoncvs@www.nagoya.bug.gr.jp:/cvs password="anoncvs", module name=pkgsrc cvsweb http://www.nagoya.bug.gr.jp/cgi-bin/cvsweb.cgi/?cvsroot=pkgsrc - FreeBSD ports (Thanx by Ume) http://www.imasy.or.jp/~ume/FreeBSD/xcast6/ for XCAST6-kit http://www.imasy.or.jp/~ume/FreeBSD/ for fukidashi-kun - XCAST LiveCD Ebifuryaa V Edition Tiger (NetBSD 2.0.1) (Thanx by Hamajima) http://www.segausers.gr.jp/~hamajima/xcast6-nbug-20050202.iso.bz2 http://xmeet.xcast.jp/~kimai/nbug-mirror/xcast6-nbug-20050202.iso.bz2 [MD5] http://www.nagoya.bug.gr.jp/~hamajima/xcast6-nbug-20050202.iso.bz2.md5 FreeSBIE w/ XCAST (FreeBSD 5.3) (Thanx by Daichi of ongs.co.jp) TWM version: http://xmeet.xcast.jp/~kimai/FreeSBIE-xcast/FreeSBIE1.1_XCAST0.2_TWM.iso http://xmeet.xcast.jp/~kimai/FreeSBIE-xcast/FreeSBIE1.1_XCAST0.2_TWM.iso.md5 KDE version: http://xmeet.xcast.jp/~kimai/FreeSBIE-xcast/FreeSBIE1.1_XCAST0.2_KDE.iso http://xmeet.xcast.jp/~kimai/FreeSBIE-xcast/FreeSBIE1.1_XCAST0.2_KDE.iso.md5 And the most entatained program in XCAST community is - Fukidashi (Thanx by oshimaya & takam) Control various USB cameras. Display image files and text messages and clock on a caputured image. You look like TV anchor person. Put Fukidashi(Japanese comic style baloons) on the image to exchange emotion in humorous style. Original is available from http://www.nagoya.bug.gr.jp/~oshima/usbcam/ However it's already included in all above variants, because we love it so much. We believe you will fall in love with it. Trust us! Project homepage: http://sourceforge.net/projects/xcast6/ Thanx and enjoy! ---- XCAST6-kit team XCAST fan club