プロフェッショナルIPv6
プロフェッショナルIPv6の構成
前半部分は、インターネットの仕組みやTCP/IPの基礎的な内容などを解説した「本書を読むにあたっての前提知識」という内容にしてあります。 IPv6という単語に興味が出たものの、TCP/IPの勉強を過去にしたことがない人でも楽しんでいただける部分も前半部分は楽しんでいただけることを目指しました。
後半部分はIPv6本としてIPv6そのものの解説をするだけではなく、DNSとIPv6、IPv4アドレス在庫枯渇問題や大規模NATであるCGN、IPv6とIPv4の共存技術(NAT64,DNS64など)、NTT NGNなど、IPv6に関連する周辺技術の解説も行なっています。
プロフェッショナルIPv6のライセンス
この本は、クリエイティブコモンズライセンスのBY-SA-NCで公開します。
この本に含まれる文章や図などを学校や企業等で研修等を目的として複製する場合には、特に申請等をしていただかなくても大丈夫です。 それらの用途のために、たとえば、発表や配布資料の中で文章や図を使ったり、PDF本体を複製していただくことに関して、特別な許可は必要ありません。
無償ダウンロードと有償購入
今回、プロフェッショナルIPv6の無償ダウンロード版は、BOOTHで公開することにしました。
ラムダノート社の鹿野さんと、どのような方法で無償ダウンロード版を公開するのかを相談していところ、鹿野さんの案として、BOOTHを使うのが良いのではないかという提案があり、その方法にしました。 さらに、鹿野さんの案では、BOOTHのBOOST↑(ブースト)機能を使って、任意の金額を著者に投げ銭することも可能な設定で公開するのが良いのではないかとのことでした。 0円で無料ダウンロードもできますし、BOOST↑機能を使って何らかの金額を入力していただくこともできます。 有料版の最低金額が100円のようなので、BOOST↑機能用の電子書籍は無料ダウンロード版とは別アイテムとしてBOOTHに登録されています。 BOOST↑機能によって支払われた金額は、全額著者に渡るようにしていただけるということでした(BOOTH手数料として決済金額の3.6%は発生します)。 BOOTHに、無料ダンロード版とBOOST↑機能用という2種類のアイテムとして登録してあるので、どちらかを選んでダウンロードしていただければと思います。
本書初版はPDFで配布します。今回はBOOTHで無償ダウンロード版を一般公開しますが、必ずBOOTHからダウンロードする必要があるわけではありません。 BOOTHからダウンロードされたPDFを、知人等へコピーしたり、組織内でのコピーしたり、私的利用でのコピーしたり、バックアップとしてのコピーなどは自由にしていただいて大丈夫です。
ラムダノート社Webサイトから有償版(紙or電子)のプロフェッショナルIPv6を購入していただくこともできます。 また、紙版の購入者に対する特典としてラムダノート社Webサイトから電子版をダウンロードすることもできます。
紙版は、書店(ジュンク堂書店池袋本店、新宿紀伊國屋書店、秋葉原書泉など)に並びます。 店頭でご注文いただければ、なんらかのかたちで手に入ると思います。Amazonからもご購入可能です。
無償ダウンロードと有償での購入など、さまざまな選択肢が共存する状況になりますが、どれをどのように利用するのかに関しては、読者の方々の選択に委ねます。 有償版をご購入いただけると、私とラムダノート社の事業継続のプラスになり喜びます。無償版をダウンロードしていただいても喜びます。
「プロフェッショナルIPv6」目次
- 第I部 本書を読むにあたっての前提知識
-
- 第1章 インターネット概要
- 1.1 IPはパケット交換技術
- 1.2 層に分かれるネットワーク
- 1.3 トランスポート層の役割
- 1.4 オープンなプロトコルとRFC
- 第2章IPv6 でインターネットはどう変わるか
- 2.1 IPv6とIPv4の違い
- 2.2 IPv6対応とは
- 2.3 IPv6インターネットとIPv4インターネットを同時に使う
- 2.4 IPv6ネットワークからIPv4インターネットに接続する(NAT64,DNS64)
- 第II部IPv6プロトコルとその周辺技術
-
- 第3章 IPv6アドレスとそのテキスト表記
- 3.1 IPv6アドレス空間
- 3.2 IPv6アドレスのテキスト表記
- 3.3 IPv6アドレスの省略表記
- 第4章 IPv6アドレス体系
- 4.1 IPv6アドレスの種類
- 4.2 IPv6アドレス空間の使い方はIANAが管理している
- 4.3 IPv6におけるユニキャストアドレスの構成要素
- 4.4 IPv6アドレスのスコープ
- 4.5 IPv6ノードに要求されるIPv6アドレス
- 4.6 リンクローカルユニキャストアドレス
- 4.7 スコープのゾーン
- 4.8 グローバルユニキャストアドレス
- 4.9 ULA(Unique Local IPv6 Unicast Addresses)
- 4.10 IPv4-Mapped IPv6アドレス
- 4.11 例示用IPv6アドレス
- 4.12 ユーザへのIPv6アドレス割り当て
- 第5章 IPv6パケットの構成
- 5.1 IPv6ヘッダの各フィールド
- 5.2 上位層でのチェックサム計算に使う仮想ヘッダ
- 5.3 IPv6拡張ヘッダ
- 第6章 ICMPv6
- 6.1 ICMPv6フォーマット
- 6.2 ICMPv6エラーメッセージ
- 6.3 ICMPv6情報メッセージ
- 第7章 近隣探索プロトコル
- 7.1 近隣探索プロトコルの機能と利用するメッセージ
- 7.2 ルータとプレフィックス情報の発見
- 7.3 リンク層アドレスの解決と近隣不到達性の検知
- 7.4 Redirectメッセージ
- 7.5 近隣探索メッセージのオプション
- 7.6 IPv6におけるon-linkとoff-link
- 第8章 IPv6アドレスの自動設定
- 8.1 SLAACの流れ
- 8.2 小規模ネットワークにおけるSLAACの利用例
- 8.3 リンクローカルIPv6アドレスの生成
- 8.4 SLAACにおけるインターフェース識別子の生成方法
- 8.5 DAD(Duplicate Address Detection)
- 8.6 グローバルIPv6アドレスの生成
- 8.7 RFC 8106
- 第9章 DHCPv6
- 9.1 IPv4のDHCPとDHCPv6の違い
- 9.2 IPv4のDHCP
- 9.3 DHCPv6の概要
- 9.4 DUID
- 9.5 ステートレスDHCPv6
- 9.6 ステートフルDHCPv6
- 9.7 DHCPv6-PD
- 第10章 IPフラグメンテーション
- 10.1 IPv4におけるフラグメンテーション
- 10.2 IPv6フラグメントヘッダ
- 第11章 Path MTU discovery
- 11.1 Path MTU discoveryに関係するIPv4の機能
- 11.2 Path MTU discoveryに関係するIPv6の機能
- 11.3 上位層プロトコルとPath MTU Discovery
- 11.4 Path MTU Discoveryの仕組みを悪用したDoS攻撃
- 第12章 IPv6 マルチキャスト
- 12.1 IPv6 のマルチキャストアドレス
- 12.2 マルチキャストのスコープ
- 12.3 Solicited-Nodeマルチキャストアドレス
- 12.4 マルチキャストにおけるゾーン
- 12.5 MLD(Multicast Listener Discovery)
- 12.6 ルータを超えるマルチキャスト
- 12.7 MRD(Multicast Router Discovery)
- 12.8 リンク層でのマルチキャストアドレス
- 第13章 IPv6エニーキャスト
- 13.1 IPv4におけるエニーキャスト
- 13.2 IPv6のエニーキャスト
- 13.3 IPv6サブネットルータエニーキャストアドレス
- 13.4 ユニキャストとしての利用を避けるべきIPv6アドレス
- 13.5 エニーキャストの注意点
- 13.6 IPv6エニーキャストとBCP 38
- 第14章 IPv6におけるマルチプレフィックス
- 14.1 デフォルトIPv6アドレスの選択
- 14.2 マルチプレフィックスによるマルチホームの問題
- 14.3 IPv6 サイトリナンバリング
- 第15章 IPv6とセキュリティ
- 15.1 IPv6はIPv4よりもセキュアというわけではない
- 15.2 近隣探索プロトコルとセキュリティ
- 15.3 SEND(SEcure Neighbor Discovery)
- 15.4 不正なRouter Advertisementメッセージ
- 15.5 IPv6アドレスとプライバシー
- 15.6 IPv6サブネットに対するスキャン
- 15.7 IPsec
- 15.8 ICMPv6を無条件にすべてフィルタリングすべきではない
- 15.9 トンネル技術が抱える問題
- 15.10 IPv4-Mapped IPv6アドレスの問題
- 15.11 ブラックホール用IPv6アドレス
- 第16章 プログラマにとってのIPv6対応
- 16.1 Socket APIとIPv6
- 16.2 単なるIPv6対応では不十分な場合
- 16.3 Happy Eyeballs
- 16.4 IPv6 ソケットとIPv4-Mapped IPv6アドレス
- 16.5 ポリシーテーブルの実装
- 第III部 DNSとIPv6
-
- 第17章 DNSの基礎とIPv6対応
- 17.1 DNSの仕組み
- 17.2 DNSサーバへの再帰問い合わせと反復問い合わせ
- 17.3 DNSメッセージフォーマット
- 17.4 IPv4とIPv6アドレスの問い合わせ例
- 17.5 DNSの逆引き
- 17.6 DNSメッセージの512オクテット問題
- 17.7 IPv6 環境におけるDNSの運用上の注意点
- 17.8 廃止された仕様
- 17.9 廃止されたA6リソースレコード
- 第18章 DNSによるデュアルスタック環境の実現と運用
- 18.1 デュアルスタック環境の実現
- 18.2 IPv6 からIPv4へのフォールバック
- 18.3 キャッシュDNSサーバとCDNに関する問題
- 18.4 デュアルスタック環境におけるSRVの利用
- 18.5 IPv6 DNSホワイトリストとブラックリスト
- 18.6 アプリケーションのIPv6対応とデュアルスタック環境
- 第IV部 IPv4/IPv6共存技術
-
- 第19章 IPv4/IPv6共存技術の分類
- 19.1 IPv4/IPv6共存技術のバリエーション
- 19.2 ステートフルとステートレス
- 19.3 IPv4/IPv6共存技術利用のパターン
- 19.4 今後も多くの試みが誕生する
- 第20章 トンネル技術
- 20.1 6to4
- 20.2 Teredo
- 20.3 ISATAP
- 20.4 6rd
- 20.5 4rd
- 20.6 6PE
- 20.7 トンネル技術が抱えるセキュリティ問題
- 第21章 IPv4/IPv6変換技術
- 21.1 IPv4/IPv6変換の枠組み
- 21.2 SIIT
- 21.3 ステートフルNAT64
- 21.4 IPv4/IPv6変換機用IPv6アドレス
- 21.5 DNS64
- 21.6 ALG
- 第22章 IPv4/IPv6変換の運用形態
- 22.1 DS-Lite
- 22.2 Lightweight 4over6(lw4o6)
- 22.3 A+P
- 22.4 4rd、MAP-E、MAP-T
- 22.5 CGNを利用して徐々にIPv6対応していく方法
- 22.6 464XLAT
- 第23章 プロキシ方式
- 23.1 HTTPプロキシ
- 23.2 TRT方式
- 23.3 SIP用IPv6プロキシ
- 第V部 IPv4アドレス在庫枯渇対策
-
- 第24章 IPv4アドレス在庫枯渇とは
- 24.1 インターネットの成長とIPv4アドレス在庫の枯渇
- 24.2 IPアドレス管理の階層構造とIPv4アドレス在庫枯渇
- 24.3 IPv4アドレス在庫枯渇の対策
- 24.4 IPv4アドレス移転、IPv4アドレス売買、IPv4アドレス市場
- 第25章 IPv4 NATとCGN
- 25.1 NATとNAPT
- 25.2 CGN
- 25.3 CGNが抱える課題
- 25.4 CGNの普及とサーバにおけるアクセスログ
- 25.5 ISP Sharedアドレス
- 第26章 STUN
- 26.1 STUN概要
- 26.2 旧STUNと新STUN
- 26.3 NATの分類
- 26.4 NAT機器に要求される挙動
- 第VI部 付録
-
- 付録A NTT NGNでのIPv6
- A.1 NTT閉域網IPv6フォールバック問題
- A.2 NTT NGN IPv6マルチプレフィックス問題
- A.3 IPv6 PPPoEとIPv6 IPoE
-
- あとがき
- クラウドファンディングにて本書をご支援いただいた皆様(敬称略)