IPv6 とIPv4の違いメモ その1(概要)
【注】この記事は、上記書籍のPDF版(無料)を元に作成しています。
PDF版は、クリエイティブ・コモンズのBY-NC-SA(表示 - 非営利 - 継承)により公開されているため、ガンガン引用しております。
著者である #小川晃通 氏に感謝しつつ
PDF記載の内容を、箇条書きでメモしていくスタイルを取ります。
基本的には自分用のメモとして作成しているため「知らなかったこと」をリストアップしているため、断片的です。
全体像を掴むためには、PDFをご参照ください
【序文】から
IPv4は32ビットでアドレスを表現するため、枯渇すると心配されていた
1995年には、解決策としてのIPv6が提唱されていた(RFC1883)
IPv4とIPv6は互換性が無い!!
→ そのため、なかなか普及しなかった2011にIPv4の中央在庫が枯渇したため、拡大していった
2017の段階ではIPv6 普及率が 50 %を超える地域も登場している
IPv6が普及した大きな要素
Apple社が2016年6月から
iOS アプリの審査基準として IPv4 に依存するコードを禁止した
【混ざりつつも、似て非なるプロトコル 】から
IPv6は128ビットでアドレスを表現する
IPv4は32ビットで表現
IPv6は、2^96倍のアドレスを表現できる!
2^96 は、約7.92 × 10^28
10^28 = 1億 × 1億 × 1億 × 1万
つまり、とんでもなく多くの数。
でも、きっと足りなくなる気がする。より多くの対象を扱う際に
v4とV6の共通点「インターネット・プロトコルである」ということ
互換性が無いので、とても注意が必要
まったく別々のネットワークになる(定義的には)
とはいえ実運用では同じ物理回線やサーバを共有するのが一般的
PCを買い換える必要なし!(ルータは買い替えが必要になるかも)
共通項「インターネットは1つである」という考え方。
共通項「DNSによる名前空間」という考え方。
【背景や経緯の説明】から
IPv6に関連する仕様の多くはRFCという形で標準化されている
誰でも読める形で公開されている
だがプロトコルの詳細が記載されており 初心者向けではない
また、以下の記載が無い
「そのプロトコルがなぜ必要なのか」
「他のプロトコルとの関係性」
「他のプロトコルとの違い」
したがって、慣れていないとRFCを読んでも理解しにくい
書籍(PDF)は、RFCだけでは理解しにくい部分を補う
IPv6のプロトコルや、その周辺技術は常に変化・進化してしまう
標準化された当初と比べると、中身が大きく変わっている
各種プロトコルの議論が続いている
関連する新しいプロトコルも議論されている
「背景」の解説も重視
この激動を理解するには、プロトコルそのものの解説だけでなく、
各種プロトコルが考案された背景を含めた解説が必要 → PDFに有〼
【書籍の構成】 5部構成
本書を読むにあたっての前提知識: pp. 1-52(2章、52ページ)
インターネットそのものの解説など
ユーザ環境におけるIPv6対応とサーバ環境におけるIPv6対応を整理
スマホアプリなどでも必要になるNAT64やDNS64の概要も解説IPv6プロトコルとその周辺技術: [223] pp. 53-276 (14章、223ページ)
最も時間をかけた「心臓部」
特に注力: 「IPv6アドレスの自動設定」「マルチプレフィックス」IPv4とIPv6のデュアルスタック: [39] pp. 277-316(2章、39ページ)
IPv4とIPv6の名前解決をを両方とも同時に扱うことで
ユーザがIPv4とIPv6の違いを認識せずに使えるようにするため、
DNSがどのような役割を果たしているかを見ていくIPv4とIPv6の共存技術: [53] pp. 317-370(5章、53ページ)
直接の互換性がないため、さまざまな共存技術が、
周辺技術として提案されている
過去手法が改良されて新手法として提案されることもあるIPv4アドレス在庫枯渇対策: [37] pp. 371-408(3章、37ページ)
【付録】NTT NGNにおけるIPv6の解説
日本国内でIPv6を語るときには大きな要素となるNTT NGNを解説。
事前に以下を読むことを推奨
第II部の
「デフォルトIPv6アドレス選択」
「マルチプレフィックスによるマルチホームの問題」
「心臓部」である、第II部のみ、章を紹介
第3章 IPv6アドレスとそのテキスト表記 p.53−
第4章 IPv6アドレス体系 p.63-
第5章 IPv6パケットの構成 p.83-
第6章 ICMPv6 p.101-
第7章 近隣探索プロトコル p.113−
第8章 IPv6アドレスの自動設定 p.145-
第9章 DHCPv6 p.159-
第10章 IPフラグメンテーション p.185-
第11章 Path MTU discovery p.197-
第12章 IPv6マルチキャスト p.203-
第13章 IPv6エニーキャスト p.221-
第14章 IPv6におけるマルチプレフィックス p.227-
第15章 IPv6とセキュリティ p.245-
第16章 プログラマにとってのIPv6対応 p.265-
今日は ここまで!
次回以降、詳細に踏み込んでいきます。