mbc - みる会図書館


検索対象: UNIX MAGAZINE 2004年2月号
22件見つかりました。

1. UNIX MAGAZINE 2004年2月号

ー 0 連載 / 旧 v6 の実装 図 12 ハッシュ値の計算 hmac—init (&hmac MIP6_KBM_LEN , HMAC_SHAI) ; key—bm, 1720 Ctx, ー 100P (&hmac (u-int8 t *)addrl, hmac sizeof (*addrl) ) ; 1721 ctx, —loop(&hmac- (u—int8—t *)addr2, hmac sizeof (*addr2) ) ; 1725 Ctx, —loop(&hmac-ctx, (u—int8_t *)data, hmac exclude—offset) ; 1729 ぞれ、対応付け更新メッセージに指定されていたフラグ、通 し番号です。 lifetime はここで作成する対応付けキャッシ ュの肩効時間です。前回解説したとおり、 lifetime には移 1752 return ( 0 ) ; 動ノードが要求してきた値と、仕様で規定された最大時間 1753 1754 } (MAX-RR-BINDING-LIFETIME : 420 秒 ) のうち小 1 , 746 行目でハッシュ関数を終了し、結果を shal-re- さいほうが設定されて渡されます。 ifp は対応付け更新メ sult に取り出します。結果の頁 96 ビット (MIP6-AU- ッセージを受信したインターフェイスへのポインタです。 THENTICATOR-LEN : 12 オクテット ) を result にコ MALLOC(mbc , struct mip6_bc * , 785 ピーし、呼出し元に返します。呼び出した関数は、 sizeof (struct mip6_bc) , ・算されたハッシュ値と、移動ノードが対応付けメッセー M_TEMP , M_NOWAIT) ; 786 if (mbc = = NULL) { 787 ノロ帑内したハッシュ値とを比較し、完全性を検証します。 return (NULL) ; 791 対応付けキャッシュのキ嶽乍 792 bzero(mbc, sizeof (*mbc) ) ; 793 対応イ寸け更新メッセージを受信した固定ノードは、移動 対応付けキャッシュは、前回解説した mip6-bc 構造体 ノードの気付アドレスとホームアドレスの情報を対応付け で表現されます。 785 ~ 793 行目で構造体のオ内に必要な キャッシュにオ内します。以下では、対応付けキャッシュ メモリを確保します。 に関する次の操作を解説します。 mbc—>mbc—phaddr *phaddr ; 795 mbc —>mbc—pcoa = *pcoa; 796 ・対応付けキャッシュの作成 mbc—>mbc addr * addr ; 797 ・対応付けキャッシュの削除 mbc ->mbc—flags flags ; 798 mbc —>mbc 799 _seqno seqno; ・対応付けキャッシュの検索 mbc—>mbc_lifetime lifetime; 800 mbc—>mbc—state = MIP6_BC_FSM_STATE_BOUND ; 801 対応付けキャッシュの作成 対応付けキャッシュは mip6-bc-create() で作成されま す。 struct mip6—bc * 770 mip6—bc—create(phaddr, pcoa, addr, flags , 771 seqno, lifetime, ifp) struct sockaddr—in6 *phaddr ; struct sockaddr—in6 *pcoa; struct sockaddr_in6 *addr ; u-int8-t flags ; u—int16—t seqno ; u_int32_t lifetime; struct ifnet *ifp; bcopy (shal—result , result , MIP6_AUTHENTICATOR_LEN) ; 1748 mb c —>mbc-ifp = ifp; 804 mbc—>mbc—llmbc = NULL; 805 mbc ー >mb c refcnt = 0 ; 806 795 ~ 806 行目で、キャッシュの情報を初期化します。 mbc-state は対応付けキャッシュの状態を表します。初 期値は対応付けが確立している状態 (MIP6-BC-FSM- 772 773 STATE-BOUND) です。有効時間が少なくなると、対 774 775 応付けの再更新が必要な状態へ遷移し、再対応付け要求 776 777 (Binding Refresh Request) メッセージが送信されます。 778 mbc 」 lmbc と mbc-refcnt は、ホーム・エージェント 779 として動作しているときに利用される変数です。今回は説 mip6-bc-create() は 7 つの引数をもちます。 phaddr 明を省略します。 と pcoa は移動ノードのホームアドレスと気付アドレス、 addr は固定ノードのアドレスです。 flags 、 seqno はそれ 810 callout—init(&mbc—>mbc—timer_ch) ; 90 UNIX MAGAZINE 2004.2

2. UNIX MAGAZINE 2004年2月号

図 13 153 154 155 156 連載 / 旧 v6 の実装ー 0 ハッシュイ直の計算ア丿レゴリズム #def ine M 工 P6-IN6ADDR_HASH (addr) (addr)—>s6—addr32 [ 1 ] ( (addr)->s6-addr32 [ 0 ] (addr)—>s6—addr32 [ 2 ] (addr) ->s6-addr32 [ 3 ] ) #define M 工 P6—BC—HASH_ID (addr) (MIP6-IN6ADDR_HASH (addr) % MIP6-BC-HASH-SIZE) 対応付けキャッシュは個別にタイマーで状態を管理され ます。 810 行目でタイマーを初期化します。 mbc-timer- ch はタイマーの識別子です。 time_second 十 lifetime; 814 mbc—>mbc_expire if (mbc—>mbc_expire く time_second) mbc—>mbc—explre 0x7fffffff; 現在時刻 (time-second) に効時間 (lifetime) を加え た時刻をキャッシュの有効期限切れ時刻として設定します ( 814 行目 ) 。また、 mbc-expire は符号付き 32 ビット整 数 (time-t 型 ) として取り扱われるため、 816 ~ 817 行目 で上限を超えた値カ殳定されたときの処理をします。 818 mip6—bc—settimer(mbc, mip6—brr—time (mbc) ) ; mip6-bc-settimer() は対応付けキャッシュのタイマー 関数をスケジューリングします。タイマー関数は対応付け 再更新の送信と有効期限切れによるキャッシュの削除を受 け持ちます。 mip6-brr-time() は、次に対応付け再更新 メッセージを送信するまでの時間を言算する関数です。 の時間カ釜過したあとにタイマー関数カび出されます。 816 817 (mbc) を引数にとります。 903 int id = MIP6—BC—HASH—ID(&mbc->mbc-phaddr. sin6—addr) ; ハッシュ値は対応付けキャッシュ内の移動ノードのホー ムアドレスをもとに計算されます。アルゴリズムを図 13 に示します。 なお、現在のところハッシュ表のサイズ (MIP6-BC- HASH-SIZE) は 35 になっています。 905 906 907 908 910 909 if (mip6-bc—hash Cid] ! = NULL) { LIST_INSERT_BEFORE (mip6_bc_hash [id] , mbc, mbc—entry) ; } else { mbc—entry) ; LIST_INSERT_HEAD(mbc—1ist , mbc, mip6—bc—hash[id] = mbc ; 820 821 822 823 825 826 } if (mip6—bc—1ist—insert (&mip6—bc—1ist, mbc) ) { FREE(mbc , M-TEMP) ; return (NULL) ; return (mbc) ; 905 ~ 910 行目で対応付けキャッシュをリストに挿入し ます。すでに同じハッシュ値をもつ対応付けキャッシュが リストに挿入されている場合、新しい要素をその直前に挿 入します ( 905 ~ 906 行目 ) 。同じハッシュ値をもつ対応付 けキャッシュがまだハッシュ表に登録されていなければ、 908 行目でリストの頁に挿入します。要素の挿入後、 910 行目でハッシュ表のポインタを更新します。ハッシュ表と リストの関係を図 14 に示します。 912 915 916 } mbc—>mbc_refcnt + + ; return ( 0 ) ; 最後に、 mip6-bc 」 ist-insert() で対応付けキャッシュ をリストに挿入し、作成したキャッシュのポインタを返し て終了します。 対応付けキャッシュはハッシュリストで管理されます。 mip6-bc 」 ist-insert() は対応付けキャッシュをリストに 挿入する関数です。 898 static int 899 mip6—bc—Iist—insert (mbc—list , mbc) mbc-refcnt は、この対応付けキャッシュを参照してい るポインタの数を示します。リストに挿入したことでポイ ンタ参照が発生しているため、 912 行目で参照カウンタを 増やします。 対応付けキャッシュの削除 対応付けキャッシュは mip6-bc-Iist-remove() で削除 されます。 900 901 902 { struct mip6—bc—1ist *mbc—list ; struct mip6—bc *mbc ; mip6-bc 」 ist-insert() はハッシュリストへのポインタ (mbc 」 ist) と挿入する対応付けキャッシュへのポインタ UNIX MAGAZINE 2004.2 918 919 920 921 922 int mip6—bc—1ist—remove(mbc—Iist, mbc) struct mip6—bc—1ist *mbc—list ; struct mip6—bc *mbc ; 91

3. UNIX MAGAZINE 2004年2月号

連載 / v6 の実装ー② 図 14 対応付けキャッシュリストの構造 要素数は任意 ハッシュ値 32 ハッシュ値 0 / 、ツシュ値 1 3 対応付けキャッシュリスト 0000 00000000 (mip6_bc_Iist) / 、ツシュ表 (mip6_bc_hash) 32 33 34 要素数 35 図 15 930 931 932 933 934 935 936 937 938 939 ハッシュ表の更新 id = MIP6_BC_HASH_ID (&mbc->mbc_phaddr. sin6—addr) ; if (mip6—bc-hash [id] = mbc) { struct mip6—bc *next = LIST—NEXT(mbc, mbc—entry) ; if (next ! = NULL & & MIP6_BC_HASH_ID (&next—>mbc_phaddr. sin6_addr) ) { id mip6-bc—hash [id] = NULL ; } else { mip6—bc—hash [id] = next ; mip6-bc 」 ist-remove() は、対応付けキャッシュリス トへのポインタ (mbc 」 ist) と削除対象の対応付けキャッ シュへのポインタ (mbc) を引数にとります。 930 ~ 939 行目 ( 図 15 ) はハッシュ表の更新処理です。 対応付けキャッシュはハッシュリストで管理されているの で、リストから要素を削除するときはハッシュ表を適切に 更新する必要があります。 削除対象となる対応付けキャッシュがハッシュ表から参 照されている場合 ( 931 行目 ) 、キャッシュを削除したあと でハッシュ表のポインタを更新します。同じハッシュ値を もっ対応付けキャッシュがリスト内にあれば、 935 行目で その値を新しいハッシュ表の参照先に設疋し、同じハッシ ュ値をもつキャッシュがない場合は、 937 行目でハッシュ 表を NULL に言定します。 削除対象となる対応付けキャッシュがハッシュ表から直 接参照されていなければ、ハッシュ表の更新は不要です。 Local Address Compatibility) フラグが指定された対 応付け更新によって生成された、リンクローカル・アドレス に対する対応付けキャッシュに付くフラグです。通常、参 照カウンタは 0 以上の値をとりますが、このフラグをもつ 対応付けキャッシュは例外的に 1 以上の値をとります。固 定ノードの場合、参照カウンタが 0 にならないかぎり実際 には削除されません。 なお、 IP6MU-CLONED フラグはホーム・エージェ ントとして動作する場合にのみ利用されます。 949 950 981 977 mip6—bc—settimer(mbc , LIST_REMOVE (mbc , mbc—entry) ; ( ホーム・エージェントの処理 ( 951 ~ 976 行目 ) ) return (error) ; FREE (mbc , M—TEMP) ; 941 942 943 944 945 946 947 948 mbc—>mbc_refcnt— if (mbc->mbc—flags & IP6MU—CLONED) { if (mbc—>mbc—refcnt > 1 ) return ( 0 ) ; } else { if (mbc->mbc—refcnt > 0 ) return ( 0 ) ; 941 ~ 950 行目は参照カウンタの減算処理です。 IP6 MU-CLONED は、リンクローカル・アドレス互換 (Link- 92 982 } 949 行目で、削除される対応付けキャッシュに関連する タイマー関数を停止します。 950 行目でリストから要素を 削除し、 977 行目でメモリ領域を解放します。 951 ~ 976 行目はホーム・エージェントでの処理なので、今回は説明 しません。 対応付けキャッシュの検索 対応付けキャッシュは、固定ノードから移動ノード宛に バケットを送信する際に参照されます。対応付けキャッシ UN 工 X MAGAZINE 2004.2

4. UNIX MAGAZINE 2004年2月号

mip6-bc 」 ist-find-withphaddr() は、対応付けキャッ シュリストへのポインタ (mbc 」 ist) と、検索対象となる移 動ノードのホームアドレス (haddr) へのポインタを引数に とります。 990 int id = MIP6—BC—HASH_ID (&haddr—> sin6—addr) ; MIP6-BC-HASH-ID() で、検索対象となる対応付け キャッシュのハッシュ値を計算します ( 990 行目 ) 。 連載 / 旧 v6 の実装ー 0 ュの検索は mip6-bc 」 ist-find-withphaddr() で実装さ れます。 984 struct mip6_bc * 985 mip6—bc—1ist—find—withphaddr(mbc—Iist , 読者アンケートのお知らせ list 内で連続して保持されています。 mip6-bc-hash 配列 がハッシュ値ごとのキャッシュ要素の先頭位置を指してい るので、 992 ~ 996 行目で、同じハッシュ値をもつキャッ シュのなかから検索対象となるホームアドレスをもつキャ ッシュを探します。 986 987 988 { haddr ) struct mip6—bc—Iist *mbc—list ; struct sockaddr_in6 *haddr , 1000 1001 } return (mbc) ; 条件を満たす対応付けキャッシュがみつかればそのポイ ンタを、みつからなければ NULL を返します。 ☆ 992 for (mbc 993 994 995 996 997 998 } mbc if if mip6—bc-hash[id] ; mbc; LIST_NEXT(mbc, mbc_entry) ) { (MIP6_BC_HASH_ID(&mbc—> mbc—phaddr. sin6—addr) ! = id) return NULL ; (SA6—ARE-ADDR—EQUAL (&mbc-> mbc—phaddr , haddr) ) break; 同じハッシュ値をもつ対応付けキャッシュは、 mip6-bc- いつも弊誌をこ愛読いただき、ありがとうこざいます。 今後の企画・編集の参考とするため、読者アンケートを 実施しています。下記の Web ページにアクセスのうえ、必 要事項をこ記入ください ( 締切は 2004 年 2 月レ日です ) 。 皆様からお寄せいただいたこ意見は、責重な資料として 活用させていただきます。 こ回答をお寄せいただいた皆様のなかから、 5 名様に特 製 QUO カード ( 2 , OOO 円ぶん ) をさしあげます ( 応募者多 数の場合は抽選といたします。なお、当選者の発表は発送 をもって代えさせていただきます ) 。 次回は、固定ノードから移動ノードにバケットを送信す る際の、拡張ヘッダの挿入処理を解説します。 ( しま・けいいち IIJ) [ 赭文献 ] [ 1 ] Hugo Krawczyk, Mihir Bellare and Ran Canetti, 孖イ C. ・ Ke リ ed - 〃佖 s 房 7 四ル 7 、 Message A れ t ん e れ ca 0 れ , RFC2104 , February 1997 [ 2 ] National lnstitute of Standards and Techn010gy, Se- c 盟℃佖 s ん S れ d 佖 , FIPS PUB 180 ー 1 , April 1995 UNIX MAGAZINE 編集部 今後ともこ愛読のほど、よろしくお願い申し上げます。 リ 0 1000 ・アス← ASCII INTERNå UMX Sh@S.net autO ( デザインは変更されることがあります ) こ注意 . 雑誌公正競争規約の定めにより、この懸賞に当選された方は、本号のほかの懸賞に入選できない場合があります。 ・ ( 株 ) アスキー UNIX MAGAZINE 読者アンケート専用 U 日 L http://mkt.uz.ascii.co.jp/unixmag/ UN 工 X MAGAZINE 2004.2 93

5. UNIX MAGAZINE 2004年2月号

代がくるのでしようね、という感想記事です。 これに対して、以前に lntel の CPU を使った Macin- tosh 用のドーターボードがあったが、これを使うと Mac OS と Windows を同時に起動できたのではないか、 Mac OS は X86 アーキテクチャでは動かないのではないか、工 ミュレータはあるので著作権やライセンスの問題が解決さ れれば Mac OS 8 くらいまでは動作する、 Mac OS を X86 で動かすのではなく、 Windows のために専用ポード を使うという製品の情報がアップルコンピュータの Web サイトに載っている 12 これによるとキー操作で Mac OS と W ⅲ d 。 ws を切り替えられ、ファイル共有もできるよう だ、ソフトウェア・エミュレートよりは速いという使用者 の感想がある、ボードを差して異なる OS を動かすという ことなら、 ニコンに 680X0 ポードを差してミニコン OS と UNIX を動かすものがあったそうだ、日本電気の PC- 98 に 68000 ポードを差して動かす Smalltalk-80 もあっ た、 FM-II や PC-98DO 、 PlayStation 2 なども複数 のモードや OS に対応する路線ではないか、その Web 記 事にも書いてあるが、 Vanderpool の基本技術はすでにメ インフレームやミニコンで使われているものだそうだ、と いったフォローがきました。 Newsgroups. fj.comp.lang. c,fj. net. words Subject: イのバグ C 言語で配列の名前だけを書くと知頁要素のポインタに なるという仕様はバグだと思います、という記事に対する、 仕様の不具合は、バグ " ではなく、あえて英語で表現すれば 、、エラー " だと思いますがどうでしようか、という意見記事 です。 これに対して、自分の周囲でも、、仕様のバグ " という言 い方をする、ただし、これは仕様にもとづく実装があり、 それにはバグがつきものということを前提とした話である、 この言い方は半分プ朝炎のように使われているのではないか、 大手メーカーにも、、仕様のバグ " という表現を使っている 人がいる、この場合に、バグ " を、、エラー " と言い換えるの も変だろう、適切な表現は、、不備 " や、、設計ミス " ではない か、言気 1 者の意図と実際の動作の関係を考えれば、エラーは 意図とは関係なく動作カ坏正なこと、バグは設言 1 者の意図 に反した動作、設計ミスは設引者の意図自体に欠陥がある 12 http://www.apple ・ co ・ jp/datasheet/others/pccard. html UNIX MAGAZINE 2004.2 と解釈できる、、、仕様のエラー " だと製品カ坏適切な動作を するというより、その兼に沿って製品を作ること自体が 不可能な印象を受ける、、、仕様のバグ " という言い方は、は じめに、、この動作は仕様かバグか " という論議があり、そ のなかで、、バグではなく仕様である " という主張が出たと きに、、、仕様自体にバグがある " のようにレトリック的に 言い返すために使われてきたものだ、といったフォローが きました。 ・今月のニュースグループのヒ 今月は変化はありませんでした。 ・今月の . archives. * ダイジェスト Newsgroups: . archives. documents Subject: コンピュータの歴史 コンピュータの歴史を一覧にまとめた記事の最新版で す。前回の内容に加えて、新たに、、日本のコンピュータ・ プロジェクト " の歴史についての項目が増えています。そ のほかには、べンダー、ネットワーク、 OS 、プログラミン グ言第吾、 GUI 、テキスト処理、テキストエデイタ、パーソ ナル・コンピュータ、 DBMS 、トランザクション処理、表 計算と、 MPU の概要の変が一覧にまとめられています。 Newsgroups: . archives. documents Sub. 」 ect: CPU の歴史 CPU (MPU) の変遷をまとめた一覧表の最新版です。 ここには、各メーカーの CPU の名称と登場した年、そ れらの系譜が載っています。掲載されているのは、 lntel 、 Zilog 、 AMD 、第、 ansmeta 、 Cyrix 、 Motorola 、 DEC 、 IBM 、 HP 、 Sun 、 MIPS 、 ARM 、日本屯気、日立といっ た多くの種類の CPU / MPU を発売してきたメーカーのほ か、富士通、東芝、パナフアコムといった過去に 1 ~ 2 種類 を発売したメーカーなど多岐にわたっており、 TRON も 料泉されています。 Newsgroups: . archives. documents, 月 . comp 」 ang. misc,japan. comp 」 ang. misc Subject: comments-in-computer-languages vl. 25 各種のプログラム言語や設疋ファイル、データファイル などの、、コメント " ( 注釈 ) の表記方法一覧の最新版です。 一覧だけでなく、コンピュータ上のコメントーーー殳や、個別の 項目に関するミニ知識も載っています。今回、新たに 9 っ の言語 / プロトコル / ファイルの情報が追加されています。 151

6. UNIX MAGAZINE 2004年2月号

Bookshelf 『 IJNIX システムデスクトップリファレ 組み LINLJX システム驟』 ・疋 en Frisch 著 ・ Karim Yaghmour 著 ・林秀幸訳 ・ドキュメントシステム訳 ・オライリー・ジャパン ・オライリー・ジャパン ・ A5 申、 153 ページ ・ B5 半度型、 404 ページ ・ 1 , 400 円 ・ 4 , 400 円 ・ 2003 年 8 月 26 日 ・ 2003 年 11 月 19 日 Linux べースの糸目込みシステムの開発に利用される技術やツー UNIX システムを管理するうえで重要なコマンド、オプション、 ルを解説している。 3 音財冓成で、系旧囚み Linux システムを構築す 設疋ファイル、タスクをまとめたリファレンス。 AIX 、 Solaris 、 るために必要な基礎知識 ( 1 ~ 3 章 ) 、各種の開発ツールの使い方と HP-UX 、 FreeBSD 、 Linux カ寸象。 root アカウント、基本管 組込み Linux システム構築の手順 ( 4 ~ 9 章 ) 、ネットワーク・サー 理ツール、デバイスとデバイスファイル、ファイルの所有権とイ隻、 ビスの定とデバッグッールの使い方 ( 10 ~ 11 章 ) に分かれる。 システム・メッセージとログファイル、起動とシャットダウン、プ ロセスとリソース管理などの 15 章に分かれる。 組み込み LINUX システム伊築 UNIX システム管理 スクト 2 プリン′レス 0 当 0 第を一し Y ・ 『 unix システムパフォーマンスチューニング 引 Pv6 ネット』 第 2 制 ・ Gian-Paolo D. Musumeci 、 Mike Loukides 著 ・角月宗丘、金牀伸介、甫哲生 柴田ラ月、屠 ・砂原秀樹尺・岡島 5 、物攵日用尺 ・日経 BP ・オライリー・ジャパン ・ B5 半 371 ページ ・ A5 版、 195 ページ ・ 1 , 800 円 ・ 3 , 600 円 ・ 2003 年 1 0 月 20 日 ・ 2003 年 10 月 22 日 IPv6 誕生の背景、プロトコルの概要、 IPv6 を構成するさまざ Solaris 8 と Linux を文寸象に、システムのパフォーマンスを まな技術の標準化や製品化の状況などを紹介している。 IPv6 アド 向上させるためのチューニング方法を解説している。パフォーマン レスの仕組み、アドレス設疋、遍架索、トランスポート層プロト ス・チューニングの基礎的な原則、処理内容の管理、プロセッサ、メ コル (TCP と UDP) 、 IPv6 における名前解決、 IPv4 からの移 モリ、ディスク、ディスクアレイ、ネットワーク、コード・チュー 行、ルーティング、 IPsec 、モバイル IPv6 、マルチキャストなど ニング、インスタント・チューニングについて、それそれ章を設け の 11 章構成。 て説明している。 『プログラミング Mac OS X fo 「 Java 『 Web 懈アーキテクチャ第 2 制 ・ Louis RosenfeId 、 peter MorviIIe 著 ・ Wi 旧 verson 著 ・酒井島尺・日向あおい訳 ・篠原尺・ソシオメディア訳 ・オライリー・ジャパン ・オライリー・ジャノヾン ・ B5 半、 465 ページ ・ A5 判、 335 ページ ・ 3 , 800 円 ・ 4 , 400 円 ・ 2003 年 8 月 26 日 ・ 2003 年 8 月 14 日 Mac OS X 上で Java のさまざまな技術を利用したり開発を 情報アーキテクチャの観点から Web サイトの構築について解言 おこなう方法を解言 Mac OS X の歴史や基礎知識、 Mac OS 6 部構成で、う辭及アーキテクチャの概要、組織化された情報構造の構 X における Java プラットホームについて述べたあと、開発竟の 築、ラベリング / ナビゲーション・システム、検索システムの言妬 t 、 定や利用できるツールを紹介し、各種アプリケーション (GUI 、 サイト構築時に考慮すべき要素、制作工程、事例紹介 (MSWeb 、 web 、音声認識 / 生成、マルチメディアなど ) の作成方法やプログ evolt.org/ などの章から構成される。 ラミング手法を説明している。 入門ー Pv6 ネット い・ IPv6 5 ⅲ d を ング ・ 1 テオ一 Geeks 』 プロクラミング Mac OS Xfor Java Geeks で b 情報 アーキテクチャ ・・サイト講第のにめの・的アフローチ を第第 OR 赴上 157 UN 工 X MAGAZINE 2004.2

7. UNIX MAGAZINE 2004年2月号

BooksheIf 『 Java による Extreme Programming 『 Linux サーバセキュリテイ』 クックプック』 ・ Eric M. Burke 、 Brian M. Coyner 著 ・ Michael D. Bauer 著 ・長藤秀尺・テクノロジックアート訳 ・豊福岡駅 ・オライリー・ジャパン ・オライリー・シャパン ・ B5 半、 442 ページ ・ B5 判変型、 442 ページ ・ 3 , 200 円 ・ 4 , 400 円 ・ 2003 年 10 月 29 日 ・ 2003 年 1 0 月 22 日 ソフトウェア開発の手法の 1 つである XP (eXtreme pro- Linux サーバーの構築・運用におけるセキュリティ対策について gramming) と連携するオープンソースの Java ツールとして まとめたガイド。 Linux サーバーを使用した要塞ホストの構築を主 Ant 、 JUnit 、 HttpUnit 、 Mock Objects 、 Cactus 、 JUnit- 要テーマに、 Linux システム (Red Hat Linux 7 、 SuSE Linux Perf 、 XDoclet などをとりあげ、それらのツールの使い方や問題 7 、 Debian GNU/Linux 2.2 の各ディストリピューションカ秋寸 の解決法などをレシピとして紹介している。 11 章構成で、 108 の 象 ) 、境界ネットワーク、サーバー・アプリケーションのセキュリ レシピを掲載している。 ティについてとりあげている。 『 Java パフォーマンスチューニング第 2 『 Mac OS X Hacks 』 LINUX サーバセキュリティ .Java による F.xtteme Programming クックプック アンイル第のにめのレンビ第 MAC OSX HACKS ・ Jack Shirazi 著 ・ Rael Dornfest 、 Kevi n Hemenway 著 フロが第うチクニック & ツールー選 ・今野睦、杉野博史尺・福与直睚尺 ・濺尺徹、金 ~ 子訳 ・オライリー・ジャパン ・オライリー・ジャパン ・ B5 判、 573 ページ ・ A5 判、 447 ページ ・ 5 , 400 円 ・ 3 , 600 円 ・ 2003 年 10 月 25 日 ・ 2003 年 11 月 19 日 第を・イ チューニング方法の一ヨ殳的なガイドラインと系統的なチューニン Mac OS X の UNIX システムとしての活用法、既存の Mac- グの手順、チューニングに必要なツール、 VM ( イ反想マシン ) とコン intosh から継承した機能の拡張やカスタマイズの手法などを 100 パイラを含む SDK ( 1 ~ 3 章 ) 、 Java コードに適用できるさまざ 項目にまとめ、 9 章 ( ファイル、起動、マルチメディアと iApp 、 まなテクニック ( 4 ~ 12 章 ) 、開発プロセスの各段階や OS レベル ユーザー・インターフェイス、 UNIX とターミナル、ネットワー のチューニング ( 13 ~ 14 章 ) 、 J2EE アプリケーションのチュー ク、電子メール、 Web 、データベース ) に分けて解説している。 ングに必要な情報 ( 15 ~ 18 章 ) などを紹介している。 『 Linux サーバ Hacks 』 『 SoIaris デバイスドライバ』 CKS プロが第うテクニック & ツールに ) 第 ・ Rob Flickenge 「著 ・山口晴尺・イメージズ・アンド・ ワース訳 ・佐島隆 1 轄 ・オライリー・ジャパン ・オライリー・ジャパン ・ A5 判、 264 ページ ・ B5 半、 362 ページ ・ 2 , 200 円 ・ 3 , 400 円 ・ 2003 年 1 1 月 28 日 ・ 2003 年 8 月 26 日 イメーノ応アントッ - メ Linux システムをサーバーとして利用する際の設定や運用上の イ反想デバイスドライバの作成過程、メモリマップ・ドライバの作 テクニックなどを 100 項目に分けて紹介している。サーバー艝理の 成に続き、 Gigabit Ethernet コントローラ TC9020 を例に 基本 ( 22 項目 ) 、リビジョン管理 ( 14 項目 ) 、バックアップ ( 8 項 ハードウェアの主要な機能、テストドライバの作成、 TCP/IP 対 目 ) 、ネットワーク ( 9 項目 ) 、尉見 ( 12 項目 ) 、 SSH ( 6 項目 ) 、ス 応のドライバの作成、デバッグの初歩について、段階的に説明して クリプト ( 4 項目 ) 、情轗是供サーバー ( 25 項目 ) の 8 章から構成さ いる。付録でドライバ開発の基礎知識に関するクイズ、本文で使用 れる。 したサンカレ・プログラムをまとめている。 デバイスドライバ 0 、物強物を 156 UNIX MAGAZINE 2004.2

8. UNIX MAGAZINE 2004年2月号

ware 9.1 か勠いている、というフォローがきて、元記事の 投稿者から、 Vine Linux 2.6r1 をあきらめて Red Hat Linux9 をインストールしたら使えるようになった、やは り最新の OS でなければならないようだ、という報告があ りました。 これに対してさらに、問題はカーネルの部分だけだと思 うので、 Red Hat Linux 9 のカーネルとカーネル用モ ジュールのみを工夫してコピーすれば Vine Linux でも動 くのではないか、実際にはカーネルが違うとインストール CD から普通にインストールできないのではないか、試し ていないがⅥⅡ e Linux 2.6r3 が出ている、このバージョ ンはカーネルが 2.4.22 べースなので Inte1875 チップセッ トでも動くかもしれない、といったフォローがきました。 Newsgroups. 巧 . sys. mac. os-x mail.system Subject: mail address Of postmaster Mac OS X Server V10.2.8 でメールサーバーの運用を 始めました。ところが、自分のマシンの postmaster から のメールだけは差出人のメールアドレスの@のあとにドメ イン名ではなく IP アドレスが入ってしまい、正常にメー ルが送れない現象か起きています。 DNS は適切に設定さ れていると思うのですが、 postmaster 用の差出人アドレ スはどこで設定すればよいのでしようか、という質問記事 です。 これに対して、 @のあとに IP アドレスが入るとメール アドレスとしては無効なため工ラーになっているのだろう、 sendmail の起動時にタイミングの関係で DNS がうまく 参照できないことがある、ためしに sendmail.cf で $j を 定義してみたらどうか、 Mac OS X Server V10.2.8 には sendmail も入っているが、標準では AppIeMailServer カ駛われる、 - ーヨ殳ユーザーのときは問題ないので起動時に DNS を参照できないわけではなさそうだ、メールの配送先 のサーバーが sendmail を使っている場合は、 /etc/mail/ access に自分のメールサーバーの IP アドレスプロックを してもらえばよい、この方法は送信できない相手の数 が多い場合は現実的ではない、相手側で DNS の逆引きが できないのカ源因ではないか、自分のドメインだけでなく 上位ドメインの DNS サーバーの状況を確認するとよい、 といったフォローがきましたが、まだ問題解決には至って いないようです。 UN 工 X MAGAZINE 2004.2 Newsgroups: . OS. linux Subject: メーリングリストと力できる掲示板 Web 上の掲示板とメーリングリストを連携できるよう なソフトウェアを探しています。具体的には、メーリング リストに投稿したら Web の掲示板にも掲載され、同様に 掲示板への投稿がメーリングリストにも流れるようにした いと思います。 Web の検索エンジンではみつからなかっ たのですが、このようなソフトウェアはないのでしようか、 という質問記事です。 これに対して、、グループウェア " というキーワードで探 したほうがよいかもしれない、 Web とメーリングリストを 直接連携させるより、ローカルな NetNews サーバーに記 事をいったん保存したほうがいろいろと楽なのではないか、 Yahoo! の eGroups のサービスも広い意 1 床では Web 掲示 板とメーリングリストの連動だろう、秀丸工デイタの開発 元であるサイトー企画がそのようなシステムの有償サービ スを提供している 7 、自前で常日妾続のサーバーをもってい るが、面倒な仕事はほかのシステムを利用することが多い、 なんでも自分でやろうとすると大変なので、適切な価格の サービスがあればそれを利用したほうがトータルで考える と得かもしれない、といったフォローがきました。 Newsgroups: 庁0S. bsd. freebsd Subject: SPAM があ 最近、 SPAM ( 迷惑メール ) が多いのですが、どうにか ならないのでしようか、という質問記事です。 これに対して、 NetNews の投稿記事から From のア ドレスを取り出して送ってくるものなら、才麪高時の From を変えればよいのではないか、メールサーバーでウイルス メールや SPAM を通さないプロバイダも増えているよう だが、同様のシステムを個人で構築するのは難しいのか、あ る程度自由に設定可能なサーバーがあれば比較的簡単に実 現できるのではないか、 SPAM には SpamAssassin8 を 使い、ウイルスには AMaViS9 と sophos の製品 10 などを 組み合わせればよい、 SpamAssassin は強力だカ隕荷カ皜 くなりがちで、高負荷時に落ちやすい気がする、 SpamAs- sassin カちても SPAM が素通りするだけでメール配送 10 http://www.sophos.co ・ jp/ 9 http://www.arnavis ・ org/ 8 http://au.spamassassin ・ org/ 7 http://www.maruo ・ co ・ jp/ 149

9. UNIX MAGAZINE 2004年2月号

が止まらないように設定することもできる、 ローがきました。 Newsgroups: fj.net. watch,fj. misc, 他 といったフォ Subject: コンピュータウイルスを台する善玉ウイルスっ いないの ? コンピュータ・ウイルスに対抗するものとしてワクチン・ ソフトウェアがありますが、これは PC の感染に気づい ている人や、予防意識のある人にしか肩効ではありません。 自動的に悪玉ウイルスを退治してくれるような善玉のウイ ルスはないのでしようか、という質問記事です。 これに対して、、、善玉ウイルス " と称するプログラムを 自分のマシンで実行する勇気はあるのか、ウイルスではな いが、 2 年前に Linux. Lion. Worm に感染したコンピュー タのセキュリティ・ホールを塞ごうとする Cheese Worm というワームがあった、これには対処方法カ呉っていると いう問題があるらしい、ほかにも 2003 年の夏に流行っ たⅥ爲2. Welchia. Worm (W32/Nachi. worm) も、 V32. BIaster. Worm を駆除してセキュリティ・ホールを塞こ うとする、ただし、これにはネットワーク・トラフィック を爆発的に増やすという問題があった、よりよい善玉ウイ ルスが繁殖してくれれは悪玉ウイルスは現状ほど蔓延しな かったのではないか、そのようなものを作ることは可能だ が、善玉 / 悪玉の判断は誰がどういう基鴟でするのか、不正 アクセス防止法の観点からは他人のシステムを所有者の意 図に反して勝手に使うと善玉ウイルス / ワームであっても 避予為になる、自分が ( 悪玉 ) ウイルスの作者なら、善玉 ウイルスを入手して解析し、それを馬する悪玉ウイルス を作ろうとするのでいたちごっこである、善玉 / 悪玉の判断 カ數しい例としてスパイウェアがある、かってスパイウェ アはウイルスリストに載っていたが、作者たちが、、これは ウイルスではなく有用なソフトウェアだ " とウイルス対策 ソフトウェア・メーカーを訴えたため、現在ではリストに 載っていない、素直に水際で卸したほうがよい、各ユー ザーのコンピュータで卸するのではなく、温床となって いる Windows から原因を絶たなければならない、 Win- dows のシェアカ皜すぎるのも問題の 1 つである、といっ たフォローがきました。 Newsgroups: . OS. ms-windows. xp Subject: ghost で winxp のクローンか作れない PC の内蔵ハードディスク (HD) の容量が足りなくなっ たため、 Norton Ghost を使って現在の HD のすべての 内容をより容量の大きな HD にコピーしようとしていま す。 HD には Windows XP が入っているのですが、コ ピー後に新しい HD から起動しようとすると、、、 NTLDR is missing" と表示されて起動できません。 MBR カ蔀皮損 したのかと思い、フリーのプートローダ GRUB を使って 起動させようとしても症状は変わりません。どうしたらよ いのでしようか、という質問記事です。 これに対して、 Windows 2000 の情報だが、ある Web ページに Windows が起動しなくなったらインストール CD を使ってシステムイ夏を試みるとよいと書いてあった、 というフォローがきました。 それに対して、元記事の才高者から、インストール CD を使ったシステム修復では直らなかったが、別の方法を 試したところプートできるようになった、という報告が ありました。 Windows XP でプートフロッピーが作れ ることを利用して、プートに必要な NTLDR 、 NTDE- TECT ℃ OM 、 BOOT. INI をコピーしたプートフロッ ピーを作成し、そこから HD の Windows XP を起動し たところ問題なく立ち上がったそうです。そこで、 MBR が HD 上の NTLDR をみつけられないだけだと判断し、 小さなパーティションを別に作成してプートに必要なファ イルをコピーし、そこからプートしたら本来の W ⅲ d 。 ws XP を動力せるようになったとのことです。 さらにその後、 Microsoft の Knowledge Base の ID 255220 の記事「 W ⅲ 95 / 98 からアップグレードまたは上 書きインストールすると” NTLDR ls Missing ”工ラー」 と同様のトラブルが起きていたのではないか、というフォ ローがきました。 Newsgroups. fj.comp. oldies, 他 subject: 複数 OS をハード的に実現する lntel 「 Van- derpoolJ Web のニュース記事 11 で知ったのですが、 lntel は 1 つ の OS 上で複数の OS を動かすようなことをハードウェア で実現しようとしているそうです。 VMware や Virtual PC のようなソフトウェア的な処理にくらべると性能面で 期待できるのではないでしようか。正式な製品はまだのよ うですが、今後は複数の OS が同時に動くのも当り前の時 11 http://pc.watch.impress.co.jP/d0CS/2003/1126/ kaigai049. htm 工い」工ししい工しい工いい工い . い工い 3 工い」い工い」い工い : 第い工いユ工℃しい j い工 : い工い工い工い J い工い工しい工しい工い工い」しい」工い工い工いし新 150 UN 工 X MAGAZINE 2004.2

10. UNIX MAGAZINE 2004年2月号

・ ookshelf 『 Goog 厄 Hacks 』 『 802 コ 1 ネットワーク里』 GOOG HACKS プロが慶うテクニック & ツール 1 道 8 ( ) 2.11 、 無線 ーネットワーク管理 ・ Tara Calishai n 、 Rael Dornfest 著 ・ Matthew S. Gast 著 ・ L 凵名早丿、、尺・田軒谷子訳 ・水野忠則、刀尚、石原進、難予博史訳 ・オライリー・ジャパン ・オライリー・ジャパン ・ A5 判、 368 ページ ・ B5 、 421 ページ ・ 2 , 900 円 ・ 4 , 600 円 ・ 2003 年 8 月 20 日 ・ 2003 年 9 月 24 日 Web 検索エンジン GoogIe を使いこなすためのテクニックや 無線ネットワーク用の才麪椅標準 IEEE802.11 の解説と、 802.11 ツールを 100 項目に分けて紹介している。検索プロバティ ( 28 に準拠した機器による無線 LAN 構築のガイドに大別される。 1 ~ 項目 ) 、専門検索 ( 7 項目 ) 、サードバーティ製サービス ( 5 項目 ) 、 11 章で無線 LAN の特徴と問題歳、 IEEE802.11 のアーキテク Google API を用いないアプリケーション ( 9 項目 ) 、 Google チャ、 MAC 層、フレームタイプ、 WEP 、管理オペレーション、 web API ( 10 十 26 項目 ) 、ゲームやいたずら ( 7 項目 ) 、 Web 物理層などを説明し、 12 ~ 18 章では Windows や Linux での利 管理者からみた GoogIe ( 8 項目 ) の 8 章構成。 用法、アクセスポイント、アナライザなどをとりあげている。 『旧 v6 イド』 『 Apache ハンドブック第 3 制 Apache ・ Ben Laurie 、 peter Laurie 著 ・ / 」田召、宮本崇之齊藤允著 ・也尺・カけ国第尺 ・土 ・オライリー・シャパン ・ B5 半凌型、 215 ページ ・ B5 、 647 ページ ・ 2 , 300 円 ・ 4 , 600 円 ・ 2003 年 10 月 20 日 ・ 2003 年 9 月 24 日 IPv4 と IPv6 の相違点を簡単に紹介し、既存の IPv4 環境 Apache の機能とその動作、 Web サイトの構築方法を解言バ から IPv6 へ移行するための IPv4/IPv6 デュアルスタック技 ージョン 2.0 に合わせて全面的に改訂。入手方法、コンパイルとイ 術を利用したネットワークの構築方法を解説している。 OS として ンストール、基本的な設定について触れたあと、 CGI 、言正、コン FreeBSD 、 Red Hat Linux 、 SoIaris 、 Windows Server 2003 テンツと言語の取扱い、インデックス、リダイレクション、プロキ をとりあげ、 DNS/Web/ メールサーバー、ファイアウォール、監 シー、 SSI 、ログ、 API 、各種モジュールの仕組みと作成法、セキュ 視システムの言定と運用について説明している。 リティなどについて説明している。 『 Java + MYSQL + Tomcat で始めるサー 『 C + + プログラミング第 2 制 ーワプリケーション ava MySQ ・ Steve OuaIIine 著 ・竹幵条成司著 す 0 ・ 0 管 ・望月康司尺・クイーフ駅 ・ラトルズ ・オライリー・ジャパン で始める ーサーバアプリケーション ・ B5 半、 510 ページ ・ B5 半 . 、 613 ページ 開発入門 ・ 3 , 280 円 ・ 5 , 800 円 ・ 2003 年 1 0 月 4 日 ・ 2003 年 9 月 24 日 プログラミング言語として Java 、データベースとして My- C 十十の言言喬仕様と、イ上様書作成から言妬 t 、記、デバッ久リ SQL 、サープレット・コンテナとして Tomcat を使用した Web ア リース、ドキュメント作成、保守、アップデートにいたるプログラミ プリケーション・サーバーの作成方法を解言各ツールのインスト ングの全過程を解説している。故意にバグを含ませたサンプル・プ ールや使い方に続き、ショッピング・サイトの構築について解説して ログラムを掲載するなどの、実践 " 的な工夫もなされている。 30 章 いる。 J2SE 1.4.2 、 MySQL 4.0.13 、 Tomcat 4.1.18 (Linux/ 構成で、プログラミングの基礎から高度なテクニックまでを段階的 Mac OS X/Windows 版 ) などを道求した CD-ROM 付き。 にとりあげている。 ー P 6 践 カイド ハンドブック 、を OR 印・ 実践プログラミング 155 UN 工 X MAGAZ 工 NE 2004.2