IPv6 入門 ~ IPv4 との違い|研修コースに参加してみた
今回参加したコースは IPv6 入門 ~ IPv4 との違い です。
IPv6 は徐々に普及が進み、 Google や Cisco の調査によると、今や 50 % 近くまで普及しています。 私は勝手にまだまだだと思っていたので、この普及率にかなり驚きました。
となると IPv6 同士の通信はユーザ数が少ないなど高速なため、 Web アプリケーションなどの IPv6 対応も進むでしょう。 当然、間を繋ぐネットワークも IPv6 移行が進みそうです。 とても大きな移行需要が見込まれますね。
一方で、コース受講前にパラッと話題の IPv6 の本の目次を見たところ、登場回数の多い用語、例えば “ICMPv6” “SLAAC” とあっても、さっぱり見当がつきませんでした。
話題の IPv6 本 「プロフェッショナル IPv6 」
すごい IPv6 本を無料配布!: Geek なぺーじ
このコースでは、講師の Gene さんが IPv4 とを丁寧にマッピングして解説されたので、お陰様で本の目次をみてもわかるようになりました(わかると本を読む気にもなります)!
では、どのような内容だったのか、レポートします!
もくじ
コース情報
想定している受講者 |
|
---|---|
受講目標 |
|
講師
このコースではネットワークの分野で Web の人気連載と 40 冊以上の著書をもつ Gene さんが登壇されました。 この “参加してみた” レポートでも数多く登場されているので、おなじみですね。
「ネットワーク技術をわかりやすく解説する」ことを目標にフリーのインストラクタ、テクニカルライターとして活動中。
2000 年よりメールマガジン、 Web サイト「ネットワークのおべんきょしませんか?」を開設。 2003 年には CCIE Routing & Switching を取得し、 2003 年 8 月に独立。
IPv6 の特徴
簡単に IP の概要を復習したあと、 IPv6 の特徴を紹介いただきました。
なお、 Gene さんは非常に手厚い資料と丁寧な解説でコースを進められるのですが、このレポートで再現すると、大変なボリュームになってしまいます。 そこで、このレポートでは IPv4 との違いにできるだけフォーカスして紹介します。
- IPv4 と基本的な役割は変わらない
- アドレスが 32 ビットから 128 ビットに
- 2128 ≒ 3.4 × 1034 個
- 暗号化とモビリティ(モバイル機器などによる通信)が標準機能に
- データ転送にあたってヘッダが IPv6 に変わるだけ
こうして 1034 という数値を見ると、途方もないアドレス空間ですね。
IPv6 のヘッダ
では、 IPv6 のヘッダがどのように変わったのか、確認してみましょう。
- 基本ヘッダ と 拡張ヘッダ がある
- 基本ヘッダは必須で、暗号やモビリティなどのときに拡張ヘッダがつく
- 20 バイトから 40 バイトになるが、十分軽い
- 基本ヘッダのフォーマット
- フローラベルが追加
- アプリケーションごとのデータを分割することになった
- アプリケーションフローで識別
- IPv4 でいうプロトコル番号が “次ヘッダ” に変更
- TTL からホップリミット(経由できるルータ/レイヤ 3 スイッチの最大台数)に変更
- フローラベルが追加
実際にどんな内容になっているのか気になって調べたところ、パケットキャプチャしてヘッダを眺める動画がありました。 YouTube にはなんでもあるなぁ。
このあと拡張ヘッダも紹介いただきました。
IPv6 アドレスの表記法
では、一番の特徴となる 128 ビットの IPv6 のアドレスを見てみましょう!
- 16 進数表記になる
- 1 ブロック 16 ビットで
:
で区切り、計 8 ブロック
- 1 ブロック 16 ビットで
- さらに省略表記ができる
0ab
のように先頭が 0 であればab
にして OK0000
のように 0 が連続していれば0
にして OK0000:0000
のように 0 のブロックが連続していれば 1 回だけ::
として OK
例えば、以下のように省略できます。
2001:5000:0ab0:0000:0000:1234:5678:0000
↓
2001:5000:ab0:0:0:1234:5678:0
↓
2001:5000:ab0::1234:5678:0
これはもう IPv4 のように「こっちは 192.168. ・・・ 」のように IP アドレスを教えられないですね。 そして Gene さんから「 ping 大変です」とのコメント。 … 確かに。
IPv6 アドレスの構造
もう少し詳しく IPv6 アドレスの構造を見てみましょう。 グローバルユニキャストアドレス(インターネットで使う 1 つの宛先を示すもの。 詳しくは後述)を例にします。
- IPv4: ネットワークアドレス + ホストアドレス(サブネットマスクで区切り)
- IPv6: プレフィクス (ほとんど 64 ビット) + インタフェース ID (残りの 64 ビット)
- プレフィクスは IPv4 で言うネットワークアドレス。 グローバルルーティングプレフィクス と サブネット ID にわかれる
- グローバルルーティングプレフィクス: ISP などに割当 ( 48 ビット目まで)
- サブネット ID : 組織内の各サブネットを識別 ( 16 ビット)
- インタフェース ID : IPv4 で言うホストアドレス。 各サブネット内のホストのインタフェースを識別
- プレフィクスは IPv4 で言うネットワークアドレス。 グローバルルーティングプレフィクス と サブネット ID にわかれる
また、 IPv4 ではプライベート IP アドレス / グローバル IP アドレスと分類されていましたが、 IPv6 でも分類があります。
- グローバルユニキャストアドレス
- IPv4 のグローバルアドレスに相当
- IPv6 インターネットで利用
001
(2000::/3
) で始まる
- ユニークローカルユニキャストアドレス
- IPv4 のプライベートアドレスに相当
- 特定のサイト内でのみ有効な IPv6 アドレス
1111 1101
(FC00::/8
) で始まる(予約されている)
- リンクローカルユニキャストアドレス
- IPv6 から新登場
- イーサネットなど同一リンク内でのみ有効な IPv6 アドレス
- IPv6 のインタフェースには 必ず 必要
1111 1110 10
(FE80::/10
) で始まる
他にも IPv4 で宛先の分類 ユニキャストアドレス( 1 つの宛先) / マルチキャストアドレス(複数の宛先) / エニーキャストアドレス は引き続き、 IPv6 にもあります。
ちなみに、グローバル / ユニークローカル(有効範囲) と ユニキャスト / マルチキャスト / エニーキャスト(宛先) を組み合わせて、グローバルユニキャストアドレスと呼称しているのか、と研修後に気づきました。
インタフェース ID の設定
IPv4 で言うホストアドレスはサブネットマスクで可変しましたが、 IPv6 では前述の通り、インタフェース ID となり 64 ビットに変わりました。 そこで設定方法を詳しく見てみましょう。
- 手動で 64 ビットを設定するのは大変(サーバやルータは除く)
- modified EUI-64 で設定
- MAC アドレスをもとに生成
- MAC アドレスの真ん中に FFFF を入れる
- MAC アドレスがまるわかりになるので注意
また IPv4 との大きな違いがあります。
- IPv6 アドレスはインタフェースに一つではない
- リンクローカルアドレスは必須
- グローバルアドレスとユニークローカルアドレスも設定可能
無限とも言えるアドレス空間を誇る IPv6 のパワーを感じますね … 。 富豪的というかなんというか。
IPv6 の設定 DHCP だけでなく SLAAC が追加
では、 IPv6 アドレスをどのように設定するのか、具体的に解説いただきました。
- リンクローカルアドレスは自動で割り当てられるが、同一ネットワーク内のみ有効
- グローバルアドレスやユニークローカルアドレスの設定が必要
- 自動設定がほとんど
- IPv6 では DHCP 以外に SLAAC が使えるようになった
- 自動設定がほとんど
- SLAAC ( Stateless Address Auto Configuration )
- DHCP のようなサーバがいらず、ルータだけで OK
- 前半 64 ビットのプレフィクスをルータが設定
- 後半 64 ビットのインタフェース ID は前述のような方法で自動生成
- デフォルトゲートウェイはルータのリンクローカルアドレス
- SLAAC での接続
- 接続するホストのインタフェースに対してルータが定期的にプレフィクスを含む情報 ( RA : Router Advertisement ) を送信
- インタフェースは送信するときに RA + インタフェース ID を追加して IPv6 アドレスを生成
- DHCPv6
- メッセージの名称などは変わったものの IPv4 のときとやっていることは同じ
ルータとインタフェースでわけて設定する方法がとてもわかりやすいですね。
アドレス解決 ARP -> ICMPv6
アドレスの設定がわかったところで、これからは具体的にどのように通信するのか確認します。 まずはアドレス解決からです。
- (復習) IP だけで通信できない。 イーサネットや無線 LAN ( Wi-Fi ) の MAC アドレスと IP アドレスを関連付けて通信 -> アドレス解決という
- IPv4 では APR を使ったが、 IPv6 は ICMPv6 に変更。 やっていることは ARP に似ている
- ルータから NS ( Neighbor Solicitation ) で要請ノードマルチキャストグループ( info )にマルチキャスト
- ARP リクエストのようなものだが、 ICMPv6 はブロードキャストしていない
- info 要請ノードマルチキャスト: 下位 24 ビットが同一のホストが所属。 ただ一致するのは、たいてい 1 台
- 該当のホストが NA ( Neighbor Advertisement ) を返す
- ARP リプライのようなもの
- ネイバーキャッシュに保存
- ARP テーブルに APP キャッシュを保存するようなもの
- ルータから NS ( Neighbor Solicitation ) で要請ノードマルチキャストグループ( info )にマルチキャスト
ARP から変わり arp
コマンドはどうなったのか調べてみると、やはり使えなくなっていました。 代替として netsh
コマンドを使います( Linux は引き続き ip
)。
IPv6 ルーティング
送信元 / 受信元のアドレス解決がわかったところで、今度は通信経路を決めるルーティングです。
- 基本は IPv4 と同じ
- IPv4 との違い
- ネクストホップアドレスにはリンクローカルアドレスを指定する
- ルーティングテーブルも基本 IPv4 と同じ
- IPv6 では一つのインタフェースにグローバル / ローカルと複数アドレスを登録できる(ルートも複数になる)
- RIP / OSPG / BGP などルーティングプロトコルも IPv6 対応済み
- 集約ルートも設定可能
- デフォルトルートも変わらずあり、表記は
:://0
。 用途も同じでインターネットにあてることが多い
- デフォルトルートも変わらずあり、表記は
冒頭 Gene さんから解説いただいたように、ヘッダやアドレス以外は、ほとんど変更がないようですね。
IPv4 から IPv6 への移行
IPv6 を使った通信を一通り学んだところで、 IPv4 から IPv6 への移行について紹介いただきました。 Gene さんからは、その普及率から IPv4 が無くなることはこれからも無いだろう、と前置きされました。
- 移行で使用する技術は主に 2 つ
- デュアルスタック / トンネリング
- デュアルスタック
- IPv4 と IPv6 どちらも使えること
- 主要な OS や企業向けのルータなどは対応済み
- Google / Facebook などの一部の Web アプリケーションは IPv6 に対応済み
- トンネリング
- IPv4 ネットワークを経由して IPv6 通信 (IPv6 over IPv4)
- IPv6 ネットワークを経由して IPv4 通信 (IPv4 over IPv6)
- ヘッダをつけてカプセル化する
ex. IPv6 over IPv4 の場合、 ルータが IPv4 ヘッダをつける - トンネリングがふんだんに使われているのが ISP
- ISP では 2011 年に IPv4 が枯渇し、 IPv6 に切り替わっている
- ただしユーザはまだまだ IPv4 が多い
- デュアルスタック
また ISP などが「 IPv6 だから高速」と宣伝していることもありますが、これまで見てきたように IP が技術的に速くなった訳ではなく、方式の違いやユーザ数の違いが理由であることを解説いただきました。 ちなみに私の自宅回線は IPoE 方式でした(知らんかった)。 ホッ。
Cisco で IPv6 設定
最後に Gene さんがネットワークシミュレータの GNS3 を使って、 Cisco ルータの IPv6 設定をデモンストレーションいただきました。
手順は大まかに以下の通りでした。
- PC やルータに IPv6 アドレスを設定
- IPv4 ネットワークを通るためのトンネル設定
- スタティックルートでルーティングテーブル設定
途中、手動でアドレス設定や ping を行う場面があり、やはり、やりにくそうでした(基本は予め用意された手順書にある IP アドレスをコピペされていました)。 IPv6 、何かにつけて面倒です。
まとめ
日本での IPv6 の普及率が 50 % 近くになったいま、改めて IPv6 を学びました。 IPv4 との変更は少ない印象です。
それでもリンクローカル、要請ノードマルチキャストなど用語がガラリと変わると、途端にこれは何だ? とまったくイメージできなくなってしまいました。 そんなときには Gene さんが意識して「 IPv4 では~」と補足されていたので助かりました。 これで冒頭の IPv6 本の目次を見ても、このあたりのことだなと見当がつくようになりました。
話題の IPv6 本 「プロフェッショナル IPv6 」
すごい IPv6 本を無料配布!: Geek なぺーじ
また Gene さんがおっしゃったように IPv4 と IPv6 が共存することになるので、デュアルスタック、トンネリングを駆使したネットワーク構築を深掘りして勉強したいところですね。
label SEカレッジを詳しく知りたいという方はこちらから !!
IT専門の定額制研修 月額 28,000 円 ~/ 1社 で IT研修 制度を導入できます。
年間 670 講座をほぼ毎日開催中!!
SEプラスにしかないコンテンツや、研修サービスの運営情報を発信しています。