すごいIPv6本を無料配布!

2018/7/4-1

2021年12月20日追記:第2版できました!

IPv6を解説した「プロフェッショナルIPv6」をラムダノート株式会社から出版しました。 初版は456ページになりました。紙版の厚さは23mmになる予定です。 現時点で、IPv6に関して世界で最もまとまっているIPv6本であると個人的に考えています。

「プロフェッショナルIPv6」は、株式会社日本レジストリサービス様、BBIX株式会社様、NTTコミュニケーションズ株式会社様、日本ネットワークイネイブラー株式会社様、クラウドファンディング(「すごい技術書を一緒に作ろう。」という企画です)でのみなさまによるサポートにより実現しました。 IPv6に関する技術情報を広く公開するという趣旨に賛同いただき、本書の執筆と制作、公開にあたって多大な協賛をいただきました。ありがとうございます!!!

「プロフェッショナルIPv6」は、通常の書籍として5000円で販売する一方で、全く同じ内容の無償ダウンロード版も用意しました。 有料版と無償配布版の間にコンテンツとしての違いはありません。ご購入いただかなくても内容を全て読むことができます。 IPv6に興味を持った人が誰でも読めるIPv6本としてお楽しみいただければ幸いです。

プロフェッショナルIPv6の構成

プロフェッショナルIPv6は、IPv6本としてIPv6そのものの解説をするだけではなく、DNSとIPv6、IPv4アドレス在庫枯渇問題や大規模NATであるCGN、IPv6とIPv4の共存技術(NAT64,DNS64など)、NTT NGNなど、IPv6に関連する周辺技術の解説も行なっています。

前半部分は、インターネットの仕組みやTCP/IPの基礎的な内容などを解説した「本書を読むにあたっての前提知識」という内容にしてあります。 IPv6という単語に興味が出たものの、TCP/IPの勉強を過去にしたことがない人でも楽しんでいただける部分も前半部分は楽しんでいただけることを目指しました。

後半部分は多少マニアックになってしまった部分もありますが、必要に応じてご覧いただければと思います。

プロフェッショナル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本に含まれるバグを潰してきましたが、公開後に複数のバグ報告を受け取って、修正を行う必要が発生すると考えています。 これまでの本も、出版前にかなりチェックしていたものの、やっぱり、出版後数年経ってバグが発見されたこともありました。 ラムダノート社は、細かいアップデートを積極的に行ってくれる出版社なので、修正版も細かく出していけるのが良いです。

バグfixだけではなく、内容の追加も続けていきたいと考えています。 最終的に450ページを超える本になっていますが、それでも、今回、まずは初版として形にすることを目指したため、ざっくりと割愛した内容もあります。 また、IPv6に関連する標準化は、今も続いており、IPv6および周辺技術は今後も変化していきます。

より高品質な書籍を目指して、本書を今後も更新していきたいと考えています。

目次

目次は、次のようになっています。

本書は、IPv6推進でもない、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
あとがき
クラウドファンディングにて本書をご支援いただいた皆様(敬称略)

過去記事

最近のエントリ

過去記事

過去記事一覧

IPv6基礎検定

YouTubeチャンネルやってます!