Network/IPv6

IPv6でのWebアクセス

http://[IPv6のアドレス]/ のように、[ ] でアドレスを括る。
IPv6対応してるサイトに対して、ping で IPv4のアドレスを投げると、IPv6のアドレスで応答が返ってくる模様。

表記ルール

16ビットずつ16進数に変換し:で区切る。先頭の0は省略可能。連続した0000は1回に限り::で省略可能。
(通常) FFEC:0001:0000:0000:0000:0A12:0000:0001
(省略) FFEC:  1:       : A12:  0:  1

前半の64bitがネットワーク部、後半64bitがホスト部だが、
IPv4と同様にCIDR形式でネットワーク部とホスト部を任意のプレフィックス長で分離可能。

(例)2001::90D3:2F3B:2AA:FF:FE28:9C5A のIPアドレスにおける 59bitのネットワークプレフィックスの求め方

  • 2F3Bが、49〜64bit部分であることが解る。2進数に分解すると、0010 1111 0010 1011
  • 青文字部分までが59bitでネットワークプレフィックスとなる。16進数に戻すと、2F20になる。
  • 最終的な表記 2001::90D3:2F20:2AA:FF:FE28:9C5A/59

通信及びIPアドレスの種類

通信説明
ユニキャスト1対1の通信。IPv4と同じ
マルチキャスト特定グループに所属するホストに対して送信するIPアドレス(FF00::/8)
FF01::/16ノードローカルスコープ
FF02::/16リンクローカルスコープ(同一セグメント)
FF05::/16サイトローカルスコープ(同一拠点内)
FF08::/16組織ローカルスコープ(同一組織内)
FF0E::/16グローバルスコープ(インターネットを越えてのマルチキャスト)
エニーキャスト別々のサーバーで同じIPアドレスを設定することで、一番距離が近いホストへ通信する
通信IPアドレス説明
ループバックアドレス::1/128自分自身を指す。IPv4では、127.0.0.1
グローバル
ユニキャストアドレス
200::/3インターネットにアクセスする際に使用される
範囲:2000:0000:0000:0000:0000:0000:0000:0000 〜 3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
IPv4と同様に特別に予約されているアドレスは以下の通り
2001::/32 Teredo
2002::/16 6to4
リンクローカルアドレスFE80::/10自動構成されるIPアドレスでルーティングされない(インターネット接続できない)
IPv4の場合はDHCP失敗時に付与される169.254.0.0/16
・同じサブネット上のホストとの通信においてのみ利用するアドレス
・IPv6ホストでは必ず付与される。
・通常、Stateless Address Auto Configurationにて作成される
ユニークローカル
ユニキャストアドレス
FD00::/8IPv4のプライベートアドレスに該当。組織内部の通信に限定

Stateless Address Auto ConfigurationによるIPv6作成

  • MACアドレスから生成する
  • ベンダID + FFFE + シリアル番号 ⇒ FFFEを付与して64ビット生成
  • 上位1バイトのうち下位2ビット目を反転させたものがIPv6アドレスになる
    「00-0B-5D-4B-D8-90」⇒「00-0B-5D-FF-FE-4B-D8-90」⇒「02-0B-5D-FF-FE-4B-D8-90」
  • リンクローカルアドレスは、先頭にFE80を付与して作成。FE80::020B:5DFF:FE4B:D890/64
  • グローバルユニキャストアドレスは、ルーターが送出するRouter が送出する Router Advertisementより取得。
    (ルータが属するセグメントのプレフィックスを付与する)

IPv6ヘッダフォーマット

ipv6_header.png
バージョンバージョン番号が入る。IPv6は「6」
トラフィッククラスIPv4ヘッダのTOS(Type Of Service)フィールドに相当。パケットの優先度を付ける
フローラベルアプリケーションフローを識別する用途を想定
ペイロード長ヘッダを除いたパケットの残りサイズ
ネクストヘッダIPv4のプロトコル番号に相当。
IPv6ヘッダの次のヘッダ=上位のプロトコルヘッダが指定された場合、拡張ヘッダがないと認識する
ホップリミットIPv4のTTLに相当。ルーティングされる度に1減り、0になると破棄


拡張ヘッダ説明
ホップバイホップオプションヘッダパケットの経路上の各ほぷで実行されるべき処理を記述するためのヘッダ
宛先オプションヘッダパケットの宛先で実行されるべき処理を記述するためのヘッダ
ルーティングヘッダパケットがルーティングされる経路を指定するためのヘッダ
フラグメントヘッダ分割されたパケットを組み立てる時に必要な情報を記述するヘッダ
認証ヘッダIPSecのヘッダ、パケットの完全性をチェックするためのヘッダ
ESPヘッダIPSecのヘッダ、暗号化したパケットに付与するヘッダ


IPv4上でIPv6をサポートする技術

技術説明
6over4IPマルチキャストを用いてIPv4ネットワーク上でIPv6通信をトンネリングする
6to4IPを用いてIPv4ネットワーク上でIPv6通信をトンネリングする
途中の経路にNATが存在する場合の動作は保証されていない
IPv6⇔IPv4の通信を確立する為には、宛先まで6to4ルータでルーティングさせなければならない
ISATAPIPを用いてIPv4ネットワーク上でIPv6通信をトンネリングする
6to4と異なりIPv4ネットワークに辿り着く前にISATAPルータを入れるだけでよい
TeredoUDP(ポート番号:1544)を用いてIPv4ネットワーク上でIPv6をトンネリングする
NATが存在する場合の動作も保証されている
トンネルブローカトンネルの利用にユーザー認証を必要とし、許可されたユーザーだけにIPv6トンネルを利用させる


6to4

ipv6_6to4.png
用語説明
6to4ホスト6to4アドレス(2002::/16)を割り当てられたホスト
同一セグメント内の6to4ホスト同士は直接通信可能(ホストA⇔ホストB)
6to4ルータ6to4サイト間をIPv4を経由して通信を成立させる6to4アドレスを割り当てられたルータであり、
IPv4/IPv6のDualスタック構成となっている
IPv4カプセル化と、カプセル化解除を行う(ホストA/B⇔ホストC)
6to4リレールータ6to4サイトとネイティブIPv6サイトの間の通信を成立させるルータ
通常、192.88.99.1/32と、2002::/16のエニーキャストアドレスを
IPv4とIPv6それぞれのインターネットに対してアドバタイズするように構成される
ネイティブIPv6サイト6to4アドレスではないグルーバルユニキャストIPv6アドレスにて構成されたサイト


ISATAP

ipv6_isatap_header.png

IANA OUIは、0000 00ug 0000 0000 0101 1110(0000 5e)で、uとgの値により変化する
u:IPv4Gなら1、IPv4Pなら0
g:マルチキャストなら1、ユニキャストなら0

ipv6_isatap.png
用語説明
ISATAPノード/ホストISATAP通信を行うデュアルスタックのノード
ISATAPルータISATAPパケットを識別しIPv4ヘッダの付与と取り外しを行う。IPv4、IPv6ルーティングを行う
ISATAPインターフェース識別子ノードにアサインされたIPv4アドレスを含んだIPv6アドレス。ローカルサイトで一意な値
リンクローカルアドレスを作成するのに用いられる


Teredo

とりあえず外部リンクで逃げる(´д`) あとでしっかり把握すべきと言わざるを得ない。
http://itpro.nikkeibp.co.jp/article/Keyword/20090407/327951/

用語説明
TeredoクライアントTeredoサーバからTeredo用のIPv6アドレスプレフィックスを取得し、
IPv4/UDPトンネルを作成することで他のTeredoクライアントやIPv6ノードとの通信を行うIPv4またはIpv6ノード
TeredoサーバTeredoクライアントに対してTeredo用IPv6アドレスプレフィックスの割り当てやNATポート番号の管理などを行う
IPv4、IPv6両方のインターフェースに接続されるデュアルスタックノードであるUDPポート3544をリッスンする
他のTeredoトラフィックのルーティング処理に関与しない
TeredoリレーIPv4インターネット上のTeredoクライアントとTeredoアドレスフィックスを保持していない、
IPv6インターネット上に存在するIPv6ノードの通信をルーティングするIPv4またはIPv6ルータでありUDPポート3544をリッスンする
Teredo UDPポートUDPポート3544をリッスンする


トンネルブローカ

ipv6_tunnel_broker.png
用語説明
トンネルブローカクライアントからトンネル接続を望むときに接続するポータルサイト
クライアントから要求を受けるとクライアントとトンネルサーバそれぞれに対して使用するトンネルの
作成、修正、削除に関する指示を行う
トンネルブローカはIPv4による接続が行える必要がある
IPv6の接続は必須ではない
トンネルサーバインターネットに接続されたデュアルスタックノード
トンネルブローカから発信された設定命令を受信しトンネルの作成、修正、削除を行う

1. IPv6ノードと接続を望むクライアントは、まずトンネルブローカに接続する
2. 通常はブラウザでアクセスし認証手続きを行う。この時、クライアントはトンネルブローカに対し、
  自分のIPv4アドレスと、トンネルのグローバルなIPv6アドレスに付与するDNS名を登録する
3. トンネルブローカ⇒クライアントにグローバルに利用可能なIPv6プレフィックスと、トンネルサーバのIPv4を通知
4. トンネルブローカはクライアントが登録した情報を元にトンネルサーバに対しトンネルの開通指示を出す
5. クライアントと、トンネルサーバ間でトンネルが開通する
6. クライアントは開通したトンネルを経由し、IPv6サーバへアクセスできる

IPv4ネットワークに接続できるデュアルスタックノードであれば、
インターネット上に公開されているトンネルブローカを利用することが可能。
そうすることでNW機器の構成を変更せずにIPv6への接続を成立させることが可能


トップ   編集 凍結解除 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-12-13 (土) 02:00:59 (984d)