IPv6本 脱稿しました
2011年から書き続けていたIPv6本がついに脱稿しました。 この本は、クラウドファンディングで書きました。 完成したIPv6本の電子版は無償配布します。 サポーターの皆様、ありがとうございます! 全章のフィードバック受付版は、5月21日(月)にマクアケ経由のメッセージにてサポーターの皆様にお送りする予定です。 その後、7月中に完成した書籍をサポーターの皆様にお届けするとともに、一般公開および一般販売開始する予定です。
IPv6本電子版の無償配布を行いますが、紙版と電子版の販売も行います。 ご購入いただけると、私とラムダノート社が喜びます。
なお、有料版と無償配布版の間にコンテンツとしての違いはありません。 ご購入いただかなくても内容を読むことはできます。 幅広く多くの方々にIPv6に関する技術情報が伝われば幸いです。
長くツライ執筆でした
IANAのIPv4アドレス中央在庫が枯渇したので、IPv6に関するまとまった情報も必要になるだろうからIPv6本を書こうと思い立ってから8年目にして、やっと一通り書ききった感じです。 IPv6本の執筆だけを行っていたわけではありませんが、ずっと少しずつ書き続けてきました。 2017年から2018年現在までは、ほとんどの時間をIPv6本執筆に使っていました。
IPv6本に執筆する内容は、書き続けるうちにどんどん増えていきました。 IPv6に関する情報をまとめようと思った時、IPv6そのものだけでは足りないので、関連する様々なことをまとめようとしたこともあり、調べれば調べるほど、書けば書くほど書くべき内容が雪だるま式に増えてしまい、途中、何度もあきらめそうになりました。
でも、やっと、「これだけ書けば、まずは初版として出版しても良いだろう」と自分で思えるところまで完成させました。 個人的には、「やっとここまで来た。。。」という気持ちです。
初版完成まであと少しです。 ラストスパート、がんばります。
IPv6本の構成
IPv6本は6部構成になっています。第一部は「本書を読むにあたっての前提知識」というタイトルで、IPv6の解説をする前にインターネットそのものの解説などをしています。 ユーザ環境におけるIPv6対応とサーバ環境におけるIPv6対応とは何かを整理し、IPv4とIPv6という2つの異なるプロトコルが共存するデュアルスタックのインターネットをいままでどおり1つのイン ターネットとして利用するための鍵となるDNSについても解説しています。 スマホアプリなどでも必要になるNAT64やDNS64の概要も第一部で紹介しています。
第2部は、IPv6プロトコルとその周辺技術です。 IPv6そのものの解説をはじめとしたIPv6技術および周辺技術は、第2部にまとまっています。 IPv6本の心臓部とも言える部分です。 執筆で最も時間をかけた部分といえますが、IPv6アドレスの自動設定、マルチプレフィックスに関連する話などが個人的に注力した部分かも知れません。
第3部は、IPv6とIPv4のデュアルスタックに関する話を解説しています。 IPv4とIPv6の名前解決を両方とも同時に扱い、ユーザがIPv4とIPv6の違いを認識せずに使えるようにするため、DNSがどのように運用されているのかを見ていきます。 IPv6とIPv4の間に直接的な互換性がないため、IPv6インターネットとIPv4インターネットの異なる2つのインターネットが存在しつつも、インターネットがひとつとなっている構造を解説しています。
第4部は、IPv4とIPv6の共存技術です。 IPv6とIPv4に直接的な互換性がないため、その周辺技術として様々なIPv4/IPv6共存技術が提案されています。 IPv4/IPv6共存技術は、過去に提案されてきた各種手法が改良されながらも新しい手法が提案されています。 この章では、過去の歴史的経緯も含めて様々な共存技術を紹介しています。
第5部は、IPv4アドレス在庫枯渇問題に関連する内容です。 IPv6は、IPv4アドレス在庫枯渇問題と密接な関係があります。 IPv6を理解するうえで、必ずしもIPv4の知識は必須であるとは限らないのですが、インターネットそのものを理解するうえでは、IPv4アドレス在庫枯渇問題は避けては通れない話であるというのが私の考えなので、IPv6の本でありつつもIPv4に関しての部が含まれています。 ここでは、IPv4アドレス在庫枯渇問題そののもの話だけではなく、NATに関する解説も行っています。
第6部は付録です。 NTT NGNでのIPv6は、IPv6そのものの話ではない一方で、日本国内においては大きな要素であると言えると考えているので、NTT NGNでのIPv6を解説しています。 第6部を理解するには、第2部に含まれるデフォルトIPv6アドレス選択、マルチプレフィックス・マルチホーム問題に関する章に書かれている内容をあらかじめご覧になることをお勧めします。
初版公開後もアップデートするつもりです
本書の初版販売開始および無償配布開始後も、必要に応じてアップデートを行いたいと考えています。
まずは一区切りをつけて完成させることを優先したため、詳細な説明を割愛している部分もありますし、IPv6に関連する仕様そのものがアップデートされることも、まだまだあります。
書籍内に含まれている各種バグを修正する必要もありそうです。 説明がわかりにくいという部分もあるかも知れません。
ラムダノート社は、「アップデートし続ける技術書」を目指しているようなので、それが実現できるように、私もがんばりたいと思います。 どこまでできるのかは、やってみないとわかりませんが。。。
目次
以下、現段階における目次です。 まだ出版まで多少の微調整等が入るかも知れませんが、以下のような内容になっています。
- 0.1 混ざりつつも、似て非なるプロトコル
- 0.2 背景や経緯の説明
- 0.3 無償配布
- 第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インターネットに接続する
- 第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アドレス割り当て
- 4.13 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 近隣探索プロトコルで見るIPv4とIPv6の比較
- 7.3 ルータとプレフィックス情報の発見
- 7.4 リンク層アドレスの解決と近隣不到達性の検知
- 7.5 Redirectメッセージ
- 7.6 近隣探索メッセージのオプション
- 7.7 IPv6におけるon-linkとoff-link
- 第8章 IPv6アドレスの自動設定
- 8.1 SLAACの流れ
- 8.2 小規模ネットワークにおけるSLAACの利用例
- 8.3 リンクローカルIPv6アドレスの生成
- 8.4 SLAACにおけるインターフェース識別子の生成方法
- 8.5 DAD
- 8.6 グローバルIPv6アドレスの生成
- 8.7 RFC 8106
- 8.8 デフォルトIPv6アドレスの選択
- 第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 IPv6マルチキャストアドレスからのイーサネットアドレス生成
- 12.4 Solicited-Nodeマルチキャストアドレス
- 12.5 マルチキャストにおけるゾーン
- 12.6 MLD(Multicast Listener Discovery)
- 12.7 ルータを超えるマルチキャスト
- 12.8 MRD
- 12.9 リンク層でのマルチキャストアドレス
- 第13章 IPv6エニーキャスト
- 13.1 IPv4におけるエニーキャスト
- 13.2 IPv6のエニーキャスト
- 13.3 IPv6サブネットルータエニーキャストアドレス
- 13.4 ユニキャストとしての利用を避けるべきIPv6アドレス
- 13.5 エニーキャストの注意点
- 13.6 IPv6エニーキャストとBCP 38
- 第14章 マルチプレフィックスによるマルチホームの問題
- 14.1 IPv6におけるマルチホームの3つのシナリオ
- 14.2 マルチホーム環境で発生する問題
- 14.3 送信元IPv6アドレスの選択における問題
- 14.4 次ホップの選択
- 14.5 キャッシュDNSサーバ選択
- 14.6 マルチホーム環境のためのIPv6 NAT
- 第15章 IPv6とセキュリティ
- 15.1 IPv6はIPv4よりもセキュアというわけではない
- 15.2 近隣探索プロトコルとセキュリティ
- 15.3 IPv6アドレスとプライバシー
- 15.4 IPv6 サブネットに対するスキャン
- 15.5 IPsec
- 15.6 ICMPv6を無条件に全てフィルタリングすべきではない
- 15.7 IPv4-Mapped IPv6アドレスに注意
- 15.8 トンネル技術が抱える問題
- 15.9 ブラックホール用IPv6アドレス
- 第16章 プログラマにとってのIPv6対応
- 16.1 Socket APIとIPv6
- 16.2 単なるIPv6対応では不十分な場合
- 16.3 Happy Eyeballs
- 16.4 IPv6 ソケットとIPv4-Mapped IPv6アドレス
- 16.5 ポリシーテーブルの実装
- 第III部 IPv6とIPv4のデュアルスタック
- 第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部 付録
- NTT NGNでのIPv6
最近のエントリ
- 日本のIPv6採用状況が50%を超えている件について
- 「ピアリング戦記」の英訳版EPUBを無料配布します!
- IPv4アドレス移転の売買価格推移および移転組織ランキング100
- 例示用IPv6アドレス 3fff::/20 が新たに追加
- ShowNet 2024のL2L3
- ShowNet 2024 ローカル5G
過去記事