xcast6 @ki.nu

xcast6 って何 ? : ... IPv6 のマルチキャストの機能を指すが、 実際問題としてそれを利用した会議系 (vic + rat) のことを意味することが多い

URL

xcast6 解説等

Explicit Multicast (Xcast) Basic Specification
http://www.ietf.org/internet-drafts/draft-ooms-xcast-basic-spec-03.txt
たかのゆ〜じさんの 「XCAST6 で会議しよう」
非常に分りやすく書いてある
http://www.running-dog.net/bsd/46/xcast6.html
XCAST6/NetBSD関連情報 (濱嶋さん)
http://www.segausers.gr.jp/~hamajima/netbsd/xcast.html
JANOG8 会議資料
以下の中の 14:15 Explicit Multicast を参照
http://www.janog.gr.jp/meeting/janog8/program.html
広域無線ネットワークにおけるXCAST6接続実験を実施 (2002/07/30)
http://www.no.bug.gr.jp/nobug-20020726.html
BSD マガジン No. 8 に記事が
XCAST6でビデオ会議 二ノ方一生 098
http://www.ascii.co.jp/BSDmag/200211/contents.html
【draft-ooms-xcast-basic-spec-01】の訳♪
http://www.geocities.co.jp/SiliconValley-Bay/2599/xcastver1.html
「第 2 回夜の XCAST Meeting」
http://www.bsdbbq.org/info/20020511-midnightXCAST6Meeting.html

USB Camera

OV-511/OV-511+ USB Cameras
http://www.ki.nu/software/NetBSD/xcast6/camera-list.shtml
ov511 な USB カメラを使う(たかのゆ〜じさん)
http://www.running-dog.net/bsd/46/ov511.html
OV511/OV511+ Capture for FreeBSD/NetBSD
http://ovtvid-bsd.sourceforge.net/
InfoCamという製品を買いました。FreeBSD/NetBSDでキャプチャできるという噂をきいたの
http://key.unixmagic.org/cmptr/ov511+.html
Torica EE231s (OV511+)
http://store.yahoo.co.jp/tokka/4920159304308.html
ugen0: OmniVision OV511+ Camera, rev 1.00/1.00, addr 2
Creative Webcam Plus (OV511+)
http://japan.creative.com/products/discon/cameras/webcam-plus.asp

xcast6 Download

Project: XCAST over IPv6: File List (sourceforge)
http://sourceforge.net/project/showfiles.php?group_id=30760&release_id=85926
SourceForge ... Project: XCAST over IPv6
http://sourceforge.net/projects/xcast6/
XCAST6 on NetBSD-1.5.2
http://inet-lab.aist-nara.ac.jp/~kazuo-ni/xcast/
patches
http://xcast6.sourceforge.net/patches/
xcast6-0.1.2-README.txt
http://belnet.dl.sourceforge.net/sourceforge/xcast6/xcast6-0.1.2-README.txt
userland
xcast + vic + rat に必要な実行形式が置いてある。 下記 URL は powerpc 用の場合。
ftp://ftp.netbsd.org/pub/NetBSD/misc/hamajima/xcast6/ powerpc/
  1. xcgroup に必要な ruby と
  2. 同じく xcgroup に必要な ruby-mbus
  3. vic + rat + xcgroup
  4. xcast6-lib-0.0.2 (libxcast.so*, 7/13 日版)
  5. xcast6-lib (libxcast.so*, 7/10 日版)
  6. sbin (sysctl)
  7. usr.sbin (ping6x traceroute6x)
他に kernel だけを用意すれば使える。

その他

XCAST(Explicit Multicast) Porting Status
http://www.xcast.jp/status.html
XCAST IPv6 接続実験サービス規約
http://www.xcast.jp/rule-j.html
ratで使用したAudio card/chip
http://www2.starcat.ne.jp/~yaoshi/netbsd/rat.html

作業の実際

xcast6-0.1.1-README.txt に従って作業 (一部作業 20020610) ( 以下で、かっこ内は README.txt での作業の番号。 最新版は 0.1.2-README.txt)

上の userland の項目にある実行形式を使えば、 作業はとても簡単になるが、 それを知る前の作業(利用可能になる前の作業)を以下に。 ... 例によって自分の作業の覚えです。

カーネルと実行形式

xcast6 に対応した kernel と ping6x,traceroute6x, xcast6 対応 sysctl がまず必要になる。 1. のカーネルは別として、2. 以下のそれ以外のものは はまじまさんが用意している userland を使えば簡単に設置出来る。 (以下はこれを知る前に自分で用意しようとした時の覚え)
  1. kernel
  2. libxcast を作る ... header(3)
    cp -p {in6.h,xcast6.h} /usr/include/netinet6/
    ttyp1:makoto@ibook  17:25:39/020610(...include/netinet6)# ls -l in6.h* xcast6*
    -rw-r--r--  1 portable  wheel  23897 Jun 10 16:32 in6.h
    -r--r--r--  1 root      wheel  23461 Oct 24  2001 in6.h-1.27
    -r--r--r--  1 root      wheel  23415 Apr  8 05:08 in6.h-1.33
    -rw-r--r--  1 portable  wheel   6709 Jun 10 16:32 xcast6.h
    
    libxcast (4)
     tar zxvf xcast6-0.1.1-lib.tar.gz
     cd xcast6-lib/libxcast 
     make
     su root -c 'make install'
    
    ttyp2:makoto@ibook 17:37:25/020610(...xcast6-lib/libxcast)# make install
    install  -c  -r -o root -g wheel -m 444  -a "ranlib -t" libxcast.a /usr/lib/libxcast.a
    install  -c  -r -o root -g wheel -m 444  -a "ranlib -t" libxcast_p.a /usr/lib/libxcast_p.a
    install  -c  -r -o root -g wheel -m 444  -a "ranlib -t" libxcast_pic.a /usr/lib/libxcast_pic.a
    install  -c  -r -o root -g wheel -m 444  libxcast.so.0.0 /usr/lib/libxcast.so.0.0
    install  -l s -r libxcast.so.0.0  /usr/lib/libxcast.so.0
    install  -l s -r libxcast.so.0.0  /usr/lib/libxcast.so
    install  -c  -r -o root -g wheel -m 444  llib-lxcast.ln /usr/libdata/lint
    
    上に続いて
    ttyp2:makoto@ibook  17:37:34/020610(...xcast6-lib/libxcast)# cp -p libxcast.h /usr/include
    
  3. ping6x and traceroute6x ... (6)
     tar zxvf /path/to/xcast6-0.1.1-usr.sbin.tar.gz
     cd xcast6-usr.sbin
     make
     su root -c 'make install'
    
  4. sysctl .... (7)
     tar zxvf /path/to/xcast6-0.1.1-sbin.tar.gz
     cd xcast6-sbin
     make
     su root -c 'make install'
    
    all ===> sysctl
    cc -O2   -Werror  -DINET6 -DIPSEC   -c sysctl.c
    sysctl.c:59: vm/vm_param.h: No such file or directory
    *** Error code 1
    
    vm/vm_param.h -> uvm/uvm_param.h

IPv6

IPv6 の設定 (通常通り、つまり xcast6 だからと言って特別なことはなし) (設定 1)

xcast6 の設定と確認

設定

#! /bin/sh
   xcstif=xcst0
   xcast6rt=ff05::10
   ifconfig $xcstif up
   linklocal=`ifconfig $xcstif | grep inet6 | grep 'inet6 fe80' | head -1 | awk '{print $2}'`
   route add -host -inet6 $xcast6rt $linklocal

確認

ここまでで ping6x, traceroute6x が通るか確認する。
うーん、相手をどうやって見つけるのか ? (google で ping6x とやっても何も出て来ない ?) ... midnight xcast mailing list で見つけた名前
ttyp1:makoto@ibook  17:07:56/020629(...software/xcast6)# traceroute6x xgate.sfc.wide.ad.jp
traceroute6 to xgate.sfc.wide.ad.jp (ff05::10) from 2001:218:463:1:20a:27ff:feb6:8546, 30 hops max, 12 byte packets
 1  r1.ki.nu  0.77 ms  0.552 ms  0.433 ms
 2  2001:218:0:1011::1003  7.733 ms  15.245 ms  9.915 ms
 3  2001:218:0:1011::1001  9.748 ms  16.354 ms  8.334 ms
 4  fa-1-2.r01.tokyjp01.jp.b6.verio.net  9.845 ms  16.566 ms  9.879 ms
 5  fa-0-0.r00.tokyjp01.jp.b6.verio.net  9.853 ms  12.357 ms  8.255 ms
 6  pc6.otemachi.wide.ad.jp  19.83 ms  8.366 ms  9.832 ms
 7  pc1.notemachi.wide.ad.jp  150.45 ms  150.728 ms  149.95 ms
 8  pc1.fujisawa.wide.ad.jp  149.778 ms  150.305 ms  149.743 ms
 9  pc7.fujisawa.wide.ad.jp  149.737 ms  150.751 ms  149.841 ms

vic

Videoconferencing Tool (Network Research Group at the Lawrence Berkeley National Laboratory in collaboration with the University of California, Berkeley)
  1. http://www-mice.cs.ucl.ac.uk/multimedia/software/vic/
/usr/pkgsrc/mbone/vic で make
Invalid configuration `macppc-unknown-netbsd1.6A': machine `macppc-unknown' not recognized
macppc-unknown-1.6A 嫌とかいうが、 config.guess, config.sub が古いせい。 それらを(どこからか探して)入替えておく。
c++: Undefined PLT symbol "_init" (reloc type = 21, symnum = 25)
(これって実は単に自分の c++ がまずいだけ)。 他の機械で.. (c++ 3.0.4) ... 2.95.3 でも同様。
main.cc: In function `int main(int, const char**)':
main.cc:424: cannot convert `void (*)(...)' to `void (*)(int)' for argument `2' 
   to `void (* signal(int, void (*)(int)))(int)'
pkg_add という手があったので、入れて見る
	vic -n xcast6 -t 128 localhost/11000
        rat -t 128 localhost/11111
が、Abort (core dumped) になってしまう。signal 6 abort trap ... あまかった ... (abort とは関係ないが) patch を当てていない。

patch を当てて, egcs-1.1.2 を使うと、一応作ることが出来るが、 (これは xcast6 kernel でない機械で試しているのだけれど)

ttyq0:makoto@u  14:11:54/020703(~)> vic -n xcast6 host1,host2,host3/11000
vic: xcast6 not a recognized network type
Font -adobe-helvetica-bold-r-normal--*-100-75-75-*-*-*-* still in cache.
Font -adobe-helvetica-medium-r-normal--*-100-75-75-*-*-*-* still in cache.
Font -adobe-times-medium-r-normal--*-140-75-75-*-*-*-* still in cache.
Font -adobe-helvetica-bold-r-normal--*-120-75-75-*-*-*-* still in cache.
TkFontPkgFree: all fonts should have been freed already
Abort (core dumped)
http://www.ccp4.ac.uk/ccp4i/install_tcltkblt.html に 8.3.3 から 8.3.2 に戻せば解決という話が載っている。

(20020718) 濱嶋 さんが用意して下さった userland ftp://ftp.netbsd.org/pub/NetBSD/misc/hamajima/xcast6/ を使ったら、無事起動した。

Waiting for video ... 
となる。 /dev/ugen0.00: No such file or directory と言っている (実は この iBook は USB がこわれている)

rat

Robust Audio Tool
Robust Audio Tool (RAT)
http://www-mice.cs.ucl.ac.uk/multimedia/software/rat/
rat で使用した Audio card/chip
http://www2.starcat.ne.jp/~yaoshi/netbsd/rat.html

Last Update

19:53:06 03/12/08
claudebot
Apache/2.0.65 (Unix) mod_ssl/2.0.65 OpenSSL/1.0.1g DAV/2 PHP/5.4.26
Count.cgi
(since 2002/06/10)