ネットワークスペシャリスト - SE娘の剣 -

ネットワークスペシャリストの試験対策サイトです。
ネスペ試験の合格体験談、合格のコツ、過去問解説、基礎知識などの情報を掲載します。

カテゴリ:8.ネットワーク層(L3) > 8.5 IPv6基本

IPv4と比べた特徴
(1)長さ
・v4が32ビット v6は128ビット
(2)ヘッダ
・ヘッダがシンプルに(IHL、ID、フラグ、フラグメントオフセットなど7つを廃止)
・v4のヘッダ 20バイト v6のヘッダは40バイト(IPアドレスが16バイトに増えているので、ある意味仕方がない)
・v6はヘッダが固定長(意味を確認中)
(3)機能
・モバイルIP
・IPsec対応(ESP、AH)
拡張ヘッダにて利用可能である。
・NAPTが不要になる。

過去問(H19NW午前 問25)にIPv6とIPv4の違いに関する出題があるので引用する。正解を導くだけでなく、他の選択肢がなぜ間違っているかも考えてみよう。
【H19NW午前 問25】
IPv6においてIPv4から仕様変更された内容の説明として、適切なものはどれか。

ア IPヘッダのTOSフィールドを使用し、特定のクラスのパケットに対する資源予約ができるようになった。
イ IPヘッダのアドレス空間が、32ビットから64ビットに拡張されている。
ウ IPヘッダのチェックサムフィールドを追加し、誤り検出機能を強化している。
エ IPレベルのセキュリティ機能(IPsec)である認証と改ざん検出機能がサポート必須となり、パケットを暗号化したり送信元を認証したりすることができる。
IPv6では、TOSフィールドやチェックサムフィールドはありません。また、IPアドレス空間は、128ビットです。
さて、正解ですが、エです。

IPv6におけるIPアドレスの設定
(1)手動による設定
 手動にて固定で設定する。従来、パソコンにて固定IPを手動で設定したのと同じ。
(2)自動で設定
 DHCPサーバからの取得
  IPv4と同様。ステートフルという
 DHCPなしで自動設定する
 ステートレスという。IPv6対応のルータからデフォルトゲートウェイやサブネットマスク情報を自動で取得する。過去問では、IPv6に関して「IPアドレスを端末に自動設定することが可能である。(H20NW午前 問27)」と述べている。

NGN回線への接続
NGNでは、IPv4とIPv6の両方のIPアドレスが割り当てられる。
NTTのフレッツスクエアネクストなど、NTT内の専用サイトに接続する場合はIPv6を利用する。
プロバイダと接続する場合は、さらにIPアドレスが割り当てられる。よってセッションを複数持つことになる。
また、IPv6のIPアドレスを払いだすプロバイダもある。マルチプレフィックス問題に発展している。

IPv6への対応
IPv6に対応しなければいけないものは何か。基本的に全てであるが、具体的に見ていこう。
(1)ネットワーク回線
線そのものはLayer1なので、IPv6だろうがIPv4だろうが関係ない。とはいえ、回線を提供するキャリアの網がIPv6に対応していなければ使えない。IPv6のサービス提供をうけ、IPv6のIPアドレスの払い出しを受ける必要がある。

(2)ネットワーク機器
ルータやスイッチ、家庭におけるIPv6対応ルータ、Firewallなどのセキュリティ製品。ほとんどの機器はかなり前からIPv6に対応している。なので、機器を入れ替えなくてもいいかと思う。ただ、設定変更は必要。IPv6の設定を入れなおす必要があり、全ての機器に設定するとなると、結構大変。IPv4とIPv6は混在できるので、便利ではある。

(3)サーバやパソコン
IPv4とIPv6はアドレスが違うため、NICを分ける必要があるか?とうと、そうではない。混在できるし、ほとんどがIPv6対応である。WindowsVistaなどの家庭用PCでも、標準でIPv4とv6のデュアルスタックが可能である。なので、設定変更だけでIPv6化できる。

GoogleはIPv6に対応したサイトを構築
http://ipv6.google.com
これは、IPv6でしか見ることができない。今のネットワークはほとんどIPv4なのだから、経路の途中はIPv4しかない場合も多いだろう。そこで、IPv4網をIPv6で通すためには、6to4によるトンネリング(またはカプセル化)を使う。

IPv6セキュリティ
ヘッダが拡張されていたり、変更されている機能部分で、IPv4とは違ったセキュリティを考慮するが必要になる。
より注意が必要という感じである。

IPv6は、128ビットの値を16ビットずつ「:」を使って8つに区切り、16進数で表す。
まずは過去問(H25秋FE午後問3)を見てみましょう。
IPv6では, 128ビットを16ビットごとに区切り,各16ビット(以下,16ビットセクションという)を16進数で表し,区切りにコロン(:)を使用する。また,次の規則を使用してアドレスを表現する文字列を圧縮できる。
 (1)各16ビットセクションの先行する0を省略する。例えば, 0012は12になる。 ただし,16ビットセクションが0000のときは,0とする。
 (2) 0の16ビットセクションが連続する場合は,連続する2個のコロン(::)で表す。 例えば, 2001:0db8:0000:0000:0000:ffee:0042:8329は2001:db8::ff00:42:8329と表す。ただし,::は1か所にだけ使用できる。
 IPv6もIPv4と同様に,アドレスはネットワークを表す部分とホストを表す部分から成る。IPv6では,ネットワークの部分が何ビットで表されるかを示すのにプレフィックス長が用いられる。プレフィックス長は,先頭からのビット数を10進数で表したものである。アドレスとプレフィックス長は,スラッシュ(/)で区切る。例えば, 2001:db8:abcd:12::/64では,プレフィックス長は64であり,先頭から64ビットがネットワークアドレス部であることを表している。

・[プレフィックス 64ビット][インターフェースID 64ビット]
・プレフィックスはネットワークアドレスとも言われ、ネットワークを表す。
・インターフェースIDはホスト(端末)を表す。ホストには複数IFが割り振られ、異なるIPアドレスを持つので、ホストIDではなくインターフェースIDとなった。
・インターフェースIDは固定で設定する方法と、自動で割り当てる方法がある。
自動の場合、MACアドレス48ビットをもとに作るEUI-64がある(後述)

(2)表現方法
2バイトづつで表現する。
例 1111:2222:3333:4444:5555:6666:7777:8888
ループバックは
::1/128

(3)省略のルール
・0で始まる場合、0を省略。(例) 0012 → 12 
これはIPv4でも同じ。192.168.001.001とは書かない
※終わりの0は省略できない。
・すべて0は:0:で省略 (例):0000: → :0:
・連続する:0:は::に省略可能。(例):0:0:0:0: → ::
※ただし1回だけ
実際の例でやってみましょう。
0012:0000:0000:0000:ABCD:0000:0000:1200
→12::ABCD:0:0:1200
2

デフォルトルートはどう書くのですか?
参考までに、Ciscoルータでデフォルトルートを書く場合は以下のようになります。
 Router(config)#ipv6 route ::/0 インターフェース名

IPv6アドレスの種類
IPv4との比較も含めて、以下の表に記載する。
IPv4IPv6
ユニキャスト・グローバルユニキャストアドレス
・ユニークローカルユニキャストアドレス 
・リンクローカルユニキャストアドレス
マルチキャストマルチキャストアドレス
ブロードキャスト廃止
エニーキャスト-

ユニキャスト
IPv4と同じで、一つのアドレスに送信する。
2001::/16など
以下の3つがある。
・グローバルユニキャストアドレス(IPv4でいうグローバルIP)
・ユニークローカルユニキャストアドレス(IPv4でいうプライべ―トIP) 
・リンクローカルユニキャストアドレス(IPv6独自の概念)

マルチキャスト
IPv4(224.0.0.0/4)と同じで、複数のアドレスに送信する。
ffで始まる。
例1 ff02::1(全ノード向け。v4のブロードキャストと同じ)
例2 ff02::2(全ルータ向け。)
※ちなみに※fは「1111」である。

ブロードキャスト
IPv6からは無くなった。マルチキャストとエニーキャストがカバーするが、基本的にはマルチキャストが対応する。

エニーキャスト
実は概念が明確になっていない様子で、今のところは忘れてよい。全く新しい概念で、一つのIPを複数の端末が共有する。ブロードキャストと違い、応答するのは一番近いIFのみが応答する。
複数のサーバを管理し、エニーキャストで負荷分散のような機能を実現できると思う。

■ループバック
IPv4 127.0.0.1など(?)
IPv6 ::1/128 ※0000・・・0001

スコープ
スコープという概念ができた。これは、IPv4にはない。
リンクローカルスコープ
あるリンクのみで利用される。ルータを超えない。
(例)リンクローカルユニキャストアドレス
リンクローカル(ブロードキャストドメイン内の、隣接するネットワーク)で利用できるIPアドレス。
これがあれば、ルータなどで区切られていないネットワーク内の通信が可能になる。
アドレス体系はfe80::/10 
プレフィックスは常にfe80::/64 

グローバルスコープ
通常のアドレス
例、グローバルユニキャストアドレス

以下に整理してみた
IPv4IPv6
プライベートアドレスクラスA:10.0.0.0/8
クラスB:172.16.0.0/12
クラスC:192.168.0.0/16
ユニークローカルユニキャストアドレス
fd00::/8が自由に利用できる。
グローバルアドレス上記以外グローバルユニキャストアドレス
2000::/3 つまり、200で始まる
(リンクローカルアドレス)-リンクローカルユニキャストアドレス
fe80::/10
1

プライベートアドレス(ユニークローカルユニキャストアドレス)とリンクローカルアドレスの使い分けがよく分かりません。
リンクローカルアドレスは、IPv4のプライベートアドレスやグローバルアドレスとは別に、常に設定される。たとえば、ユニークローカルユニキャストアドレスを設定してみよう。
ネットワークの設定でIPv6アドレスを設定する。(※アドレスは過去問のものを拝借)
ipv6
以下のように、ユニークローカルユニキャストアドレスと、リンクローカルアドレス(自動)の2つのIPが設定される。
ipv62
では、問題を解いてみよう。
IPv6グローバルユニキャストアドレスはどれか。
 ア  ::1   イ  2001:dc3::35
 ウ  fd00::12:fff:fea9:18   エ  fe80::f:acff:fea9:18
(H25春SC午後2問18) 
アはループバック。
グローバルユニキャストアドレス(IPv4でいうグローバルアドレス)は、200で始まるものなので、イが正解である。
ウはユニークローカルユニキャストアドレス(IPv4でいうプライベートアドレス)
エはリンクローカルユニキャストアドレス

グローバルユニキャストアドレスについて
IPv4のグローバルIPアドレスと考えてもらえばいい
・[プレフィックス 64bit][インターフェースID 64bit]
・プレフィックスは、グローバルルーティングプレフィックス(nビット)とサブネットID(64-nビット)に分けられる。
・上を書き直すとこうなる
[グローバルルーティングプレフィックス nビット][サブネットID 64-nビット][インターフェースID 64bit]
・たとえば、2001:dc3:222::/48というグローバルアドレスを公的な機関から割り当てられたとする。企業では、サブネットワークとして、任意の番号をつければよい。
たとえば
 ・総務部 2001:dc3:222:1::/64
 ・営業部 2001:dc3:222:2::/64
 ・技術部 2001:dc3:222:3::/64
 ※図示する
そして、ルータや端末のIPアドレスは、当然ながら通常通り任意につければよい。たとえば、
 ・ルータ 2001:dc3:222:1::1
 ・パソコン 2001:dc3:222:1::101〜300
 ・Webサーバ 2001:dc3:222:1::80
 ・DNSサーバ 2001:dc3:222:1::53
 ※この命名はセキュリティ上の懸念があるので、必ずしも推奨ではない。
 このようにシンプルなIPアドレス設計にすると、IPv6もそれほどややこしいものではない。
 
リンクローカルアドレスの補足
・[プレフィックス 64bit][インターフェースID 64bit]
・プレフィックスはfe80::/10と決まっているので、上を書き直すとこうなる
[1111111010 10ビット][00・・00 54ビット][インターフェースID 64bit]
・自分のパソコンにて、ipconfigコマンドで、このような構成になっているかを確認してみましょう。
■リンクローカルアドレスは要るのか?
IPv6のアドレスは、グローバルアドレス(とユニーク・ローカル・ユニキャスト・アドレス)が基本である。グローバルアドレスで通信する。加えて、リンクローカルアドレスを設定する。2個も設定するのは面倒だしややこしい。果たして、リンクローカルアドレスは必要なのか?
 取り決めとして、必須です。しかし、設定しなくても、隣接するノード間では通信ができる。とはいえ、OSPFのネイバーではリンクローカルアドレスを使ったりと、随所で使っていたりする。なので、素直に設定するようにしましょう。 逆に、リンクローカルアドレスのみを設定した場合はどうだろう。グローバルアドレスを設定しない場合である。その場合は、隣接するノードとの通信であれば、通信が可能。

ユニークローカルユニキャストアドレス(ULA)の補足
・ユニークローカルアドレスともいう。
・[プレフィックス 64bit][インターフェースID 64bit]というのはここでも同じ。
・プレフィックスはfc00::/7(2進数表記で1111110から始まる)と決まっている。7bitなので、実際にはfc00::/8とfd00::/8の2つがある。
[1111110 7ビット][0 or 1][グローバルID 40ビット][サブネットID 16bit][インターフェースID 64bit]
・自分のパソコンにて、ipconfigコマンドで、このような構成になっているかを確認してみましょう。

・IPv4では13項目の情報が存在したが、IPv6では8項目に削減されてシンプルになった。
・シンプルになったからヘッダ長も短くなったかと期待した。しかし、40バイトなので、IPv4ヘッダの2倍である。まあIPアドレスそのものが4倍になり32バイトが必要なので、これは仕方がないだろう。

基本ヘッダ
1)バージョン(4ビット):バージョン6
2) Traffic Class (8ビット)
3)フローラベル(20ビット)
4) ペイロード長(16ビット)
5)Next Header(8ビット):
6)Hop Limit(8ビット):
7)送信元IPアドレス(128ビット):
8)宛先IPアドレス(128ビット):

これ以外に、IPsecの機能を持つ場合は拡張ヘッダで行う。基本ヘッダはIPv4と異なって40バイトに固定されている。(拡張ヘッダは可変だから”可変だろう”という突っ込みを入れたくなる)

基本ヘッダの中のNext Headerに、拡張ヘッダの内容が記載される。
拡張ヘッダの内容は、ホップバイホップオプション以外はルータで確認する必要がない。なので、ルータの処理は軽減される。

拡張ヘッダ
1)ホップバイホップオプション:中継ルータが処理すべきオプションが格納される。内容はあいまい。
2)宛先オプション:宛先ノードが処理すべきオプション。内容はあいまい。
3)ルーティングヘッダ:経由すべきルータを指定するソースルーティングのようなもの
4)フラグメントヘッダ:Path MTU Discoveryにより最適なMTUを調査するためのヘッダ。MTUが分かればそのサイズにフラグメントされる。
5)認証ヘッダ:AHのヘッダを格納 ←ここがIPsec
6)暗号化ヘッダ:ESPのヘッダを格納 ←ここがIPsec

過去問(H24年NW午後玉2)を解いてみよう。
IPヘッダの変換には様々な処理が必要である。 IPv4ヘッダとIPv6ヘッダは,それぞれ20バイト,[ a ]バイトと長さが異なる。IPv6のIPアドレスは[ b ]ビットであり,それによって表せるIPアドレス数は,IPv4と比較して2の[ c ]乗倍である。また,IPv6には,標準ヘッダの他に,フラグメントヘッダやルーティングヘッダといった,IPv4にはない[ ウ ]ヘッダが導入されている。また,  IPv4では,経路中のルータが必要に応じてパケットを分割することができるが,IPv6では許されていないという違いもある。トランスレータは,これらの違いを吸収して,IPv4とIPv6を相互変換している。
正解:
a 40
b 128
c 96
ウ 拡張

過去問(H28年秋AP午前)を解いてみよう。
問36 IPv6において,拡張ヘッダを利用することによって実現できるセキュリティ機能はどれか。
ア URLフィルタリング機能   イ 暗号化機能
ウ ウイルス検疫機能      エ 情報漏えい検知機能

正解:イ

このページのトップヘ