|
|
|
|
|
|
|
IPv6ネットワークプログラミング |
|
|
|
萩野純一郎 著、小川彩子 訳 |
|
|
関連サイト: |
|
|
・編集部のページ |
|
|
定価:3,360円 (本体3,200円) |
|
|
発売日:2003/02/04 |
|
|
形態:A5 (304ページ) |
|
|
ISBN:4-7561-4236-2 (978-4-7561-4236-8) |
|
|
 |
|
|
 |
内容 |
 |
|
|
UNIXソケットAPIを使い、洗練された移植性の高い手法でIPv4/IPv6バイリンガルプログラムの作成方法を紹介します。特にプログラム例のセキュリティに配慮し、邦訳RFCなどの資料を収録しています。 |
|
|
| 目次 |
 |
|
|
まえがき
本書の目指すところと目指さないところ
本書の読み方
第1章 基礎知識
1.1 IPv6の歴史とおもな特徴をちょっと紹介
1.2 IPv4だけのインターネットから IPv4/v6 デュアルスタックインターネットへ
1.2.1 デュアルスタック
1.2.2 トンネリング
1.3 UNIXソケットプログラミング
1.3.1 ソケットって何?
1.4 プログラマの目から見たIPv6アーキテクチャ
第2章 IPv6ソケットプログラミング
2.1 IPv6のためのアドレスファミリ、AF_INET6
2.2 なぜプログラムはアドレスファミリから独立していなければならないのか?
2.3 アドレスファミリに依存しないソケットプログラミングのためのルール
2.3.1 アドレスはsockaddr型の構造体に格納しよう
2.3.2 テキスト表現のアドレスをsockaddrへ変換する
2.3.3 バイナリアドレス表現のアドレスをテキスト表現へ変換する
2.3.4 もう使うべきでないAPI
第3章 アプリケーションのIPv6対応
3.1 既存のアプリケーションをIPv6対応にする
3.2 書き直す場所を見つけてコードを再構成する
3.3 クライアントアプリケーションを書き直す
3.4 サーバアプリケーションを書き直す
3.4.1 inetd(8)から起動されるアプリケーションを書き直す
3.4.2 ひとつのアプリケーションで複数のソケットを扱う
3.4.3 プロトコルファミリごとに別のアプリケーションを動かす
3.4.4 IPV6_V6ONLYを使う
第4章 プログラミングのヒントいろいろ
4.1 文字列のなかのIPv6アドレスを解析する
4.2 セパレータとしてのコロン(:)にまつわる問題
4.3 IPv4マップドアドレスにまつわる問題
4.4 bind(2)要求の競合にまつわる問題
4.5 どうやってIPv4トラフィックをソケットに配送するか
4.6 システム間の移植性
4.6.1 IPv4マップドアドレスの扱い
4.6.2 ソケットオプション
4.6.3 新しい API がないプラットフォーム
4.6.4 IPv6対応が除去されたカーネル
4.7 RFC2292拡張API
4.8 各プラットフォームのサポート状況
第5章 IPv6対応の実例
5.1 サーバ側プログラムの例—popa3d
5.1.1 書き直す場所を見つける
5.1.2 virtual.cの変更
5.1.3 standalone.cの変更
5.2 より進んだ課題
5.3 クライアントプログラムの例—nail
5.3.1 書き直す場所を見つける
5.3.2 pop3.cの変更
5.3.3 smtp.cの変更
Appendix A IPv6APIの今後
Appendix B RFC2553 IPv6に対応した基本ソケットAPI
Appendix C RFC2292 IPv6に対応した拡張ソケットAPI
Appendix D IPv4マップドアドレスAPIは有害である
Appendix E IPv4マップドアドレスを使ったIPv6通信は有害である
Appendix F IPv6移行技術の悪用の可能性に関して
Appendix G スコープつきIPv6アドレスの拡張表記法
Appendix H ソケットAPIを使ってプロトコル独立を実現する
索 引
|
|
 |
|
|