オーム社 様のご厚意により,
書籍 "PPP ―設計・実装・デバッグ―" を
ブックレビューコーナー にご献本いただきました.
この本のレビューをして頂くべく,
Linux Users ML
や本サイトにおいて
公募
を行い,
これにご希望頂いた方々より感想などをレビュー記事にまとめていただきました.
ここに, レビューアの方々から寄せられたレビュー記事を公開します. (原稿到着順)
オーム社 様および レビューアの皆様のご厚意に感謝いたします.
なお, 以下のレビューは初版を対象としています.
本書は PPP (Point to Point Protocol) に関しての仕組み, 認証方式, プロトコルなどが掲載されており, PPP の仕組みを理解したい方には一読をお勧めします. ただ, 最新の状況 (EAP,EAP-TLS,MPPE) に関しての記述が少ないのは残念です.
PPP の通信の基礎からはじまり, 各フェーズの状態遷移, 認証とセキュリティ, ネットワーク層プロトコル, 変換層, 帯域幅の管理と呼制御, トンネリング, デバッグ, 実装例と段階をふんだ説明がなされており, 実装例では Kernel,pppd に関する説明がありますので, 詳細に知ることができます.
通信の基礎から実装例まで章立てが順序よく書かれており, 順番に読んでいけば PPP の動作を知ることができます.
LCP 等の実際のパケットイメージ, 各パケットが実際に利用されているのか使ってはいけないのかが明示されており, この部分を読むだけでトラブル対応が可能であり, 便利です.
EAP (RFC2284),EAP-TLS (RFC2716),MPPE (RFC3079),PPPoE (RFC2516), RADIUS Extensions (RFC2869) の部分は 今後必要になってくるであろうプロトコルですので加筆してほしかった部分です.
TACACS+/RADIUS と認証サーバの種類は記述されていますが, PPP との関連性が記述されておらず, もう少し説明がほしいところです.
LCP/CCP に関する説明はあるのですが, 状態変移として認証サーバとのやりとりが掲載されておらず, NAS/RADIUS に関しての基礎知識が必要な部分がある.
トンネリングに関する記述が 12 ページしかなく, 現在多く利用されている PPPoE/PPTP の説明がはぶかれている感じがします.
基本的な PPP の実装方法に関しては, 詳細に記載されているので, 大変便利です. ただ, 本書はあくまで PPP の実装, デバッグに関してが中心であるため, 回線に関する知識, NAS/RADIUS に関する知識を必要としているように思えます.
これから PPP を勉強したい方にはぜひ読んでほしい本です.
PPP はインターネットへの接続手段として旧来からのダイアルアップや昨今の ADSL 全盛時代に必須の道具であると言えます. しかし, その PPP について内部動作の詳細を解説した書籍はありませんでした. 本書は PPP の設計, 実装を非常に丁寧に解説しており, PPP の実装者には必須の書と言えます.
本書を読んでみて, とにかくその詳細さに驚きました. 今まで UNIX や各種ルータで PPP を利用してきて、経験的に身につけていた との自負が根本から覆されました. PPP ユーザにもっとも分かりやすい CHAP,PAP などの認証はもちろんのこと, PPP の一部である LCP,NCP について非常に丁寧な解説が加えられております. 特に NCP についての解説は圧巻であり, PPP が対応するプロトコルである IP から IPX, AppleTalk, さらには DECnet, Vines 他 多種の解説がされておりリファレンスとして非常に有用です.
PPP の動作, 実装, 運用について誤解しがちな部分について, 事例と共に詳細な紹介があります. 具体的には CHAP 実装の誤り, IPCP の IP-Address オプションの扱い, PPP ネゴシエーションの不完全な実装などについて 実際のメッセージをキャプチャしたものと共に解説がされています. PPP の実装時だけでなく利用時のデバッグ方法も身に付きます.
PPP の応用的な点ではありますが, 昨今話題の VPN 環境を構築する際に必要となるトンネリング技術 (L2TP, PPTP など) について触れています. しかし紹介程度の表現になっており, この点もう少し触れて欲しいと思います.
本書は PPP について資料的に使われる内容であります. PPP を利用していて生じた疑問を解決もしくは その糸口を掴むことを可能にしてくれる書籍であります. 翻訳書でありますが, 翻訳の質について難点は特に感じられませんでした.
反面, 単に PPP アプリケーションの使用法を知りたいだけの方には 本書は必要ありません. PPP の真の実力を知りたい方にお薦めします.
最近では, Linux Platform においてもパッケージをインストールするだけで, 以前に比べ比較的簡単に PPP を利用することが出来るようになる. 多少, コンフィグレーションや装置設定において問題にぶつかるにせよ, 殆どが, Web や ML で解決でき, かなりお手軽な状態にある. では, どのくらいの人が, PPP の本当の意味でのプロトコルレベルの理解に目を向けたことがあるだろうか.
私は, これまでの経験上, HDLC などのリンクレベルのプロトコルも利用したことがあるが, PPP に関しては, 深くプロトコルレベルまでは理解していなかった. 今回, 本書を読むことで, PPP の成り立ちやその基礎となる HDLC プロトコルの仕組みを理解すると共に PPP を使用する上での認証とセキュリティ上の問題や PPP と組み合わせたいくつものネットワーク層プロトコルの理解を深めることが出来た. また, 今後期待される, PPP による帯域制御などの新しい技術に関しても積極的に解説をしてくれるので とても興味深く読むことが出来た. しかしながら, 最近, よく利用される PPP のトンネリングに関しては, 他の題材に比べ, 意外にも少ないものであった. この点は, 残念である.
PPP を使用し問題が発生した際, 幾つかの決まった現象に遭遇する. PPP のデバッグに関して「リンクのデバッグ」とし, 良くある問題に対しての説明や注意すべき設定, データトレースの方法とツールの紹介, 各 UNIX ベンダでの実装上の違いなどを解説してくれており, 今後の PPP トラブルの際は, 大変役立つ情報が提供されている. 最後の章では, 主に UNIX を中心とした各 OS 上での, PPP ソフトウェアの実装に関して, ppp-2.3 をベースに内部動作を中心としたアーキテクチャ解説の他, 実装上の RFC との差異も解説してくれる. 今後, 自分で PPP の理解を深める際は, 本書と共にソースコードを読むのが一番の近道であろう. また, 独自 OS へ Port する際も, 大変役立つのではないだろうか.
本書は, 著者の開発から運用に至る豊富な経験に基づき, PPP の仕組みや実装など大変幅広い情報を提供してくれる一冊と感じた. ただし, 本書には, いたるところに RFC を参照する記述がでてくるが, その内容に関しては詳しく述べられていないので, 各自で必要な RFC の該当する個所を併せて読んだ方が良いだろう. PPP は, サーバにもクライアントにも成り得るので, サーバ管理者にとっても, ユーザにとっても大変有益な一冊であると言える.
今回, この Bookreview の機会を与えて頂いた, 株式会社オーム社さま, および, www.linux.or.jp Webmasters Bookreview 担当の方々には, 大変感謝しております. 本当にありがとうございました.