ia-pd subscriber GigaEthernet2.0 ::/64
eui-64
ia-pd subscriber
GigaEthernet3.0 ::1:0:0:0:0/64 eui-64
上記の記述などでどこを省略してる? 省略に仕方教えてください
Ciscoのルータなどで設定されるIPv6のプレフィックス(インターフェースID自動生成)のコマンドですね。
結論から言うと、この設定はIPv6のアドレスプレフィックス(前半64ビット)の一部を省略しています。
省略されている部分の解説と、IPv6の省略のルールについて説明します。
1. どこを省略している?
具体的には、DHCPv6-PD(Prefix
Delegation)などで割り当てられた親プレフィックス(例: 2001:db8:1234::/48 など)に対するサブネットID(後半の部分)を省略しています。
- GigaEthernet2.0 ::/64
- 省略しない表記: ::0:0:0:0/64 または ::0/64
- 意味:
割り当てられたプレフィックスの「最初(0番目)のサブネット」を使うという意味です。
- GigaEthernet3.0 ::1:0:0:0:0/64
- 省略しない表記: ::1/64 (通常はこう書きます。この設定は少し冗長に書かれています)
- 意味:
割り当てられたプレフィックスの「1番目のサブネット」を使うという意味です。
2. IPv6アドレスの省略ルール(仕組み)
IPv6アドレスは128ビットあり、16進数4桁ごとにコロン(:)で8つのブロックに区切って書きます。長すぎるため、以下の2つのルールで省略できます。
ルール①:各ブロックの先頭の「0」は省略できる
ブロック内の左側にある 0 は消すことができます。
- 例: 0001 ➡ 1
- 例: 0000 ➡ 0
ルール②:「0」が連続するブロックは「::」に置換できる(1回のみ)
0:0:0... と「0」のブロックが連続する場合、丸ごと
::(ダブルコロン) に置き換えることができます。ただし、どこが省略されたか分からなくなるのを防ぐため、1つのアドレスの中で1回しか使えません。
3. 省略の仕方の実践例
質問にある ::1:0:0:0:0 をルールに沿って綺麗に省略してみます。
- 元の状態(16ビット×8ブロックにばらしたと仮定)
0000:0000:0000:0000:0001:0000:0000:0000 - ルール①(先頭の0を消す)
0:0:0:0:1:0:0:0 - ルール②(連続する0を :: にする)
左側の4つの 0 を縮めると ➡ ::1:0:0:0
(※右側の3つの 0 を縮めて 0:0:0:0:1:: としても正解ですが、左側を縮めるのが一般的です。両方は縮められません)
コマンドでの最もスマートな書き方
Ciscoの ia-pd
subscriber コマンドでサブネットを指定する場合、通常は以下のように最も短い形に省略して書きます。
- 0番目のサブネット: ::/64
- 1番目のサブネット: ::1/64
- 10番目(16進数で a)のサブネット: ::a/64
設定しようとしているプロバイダから配布されるIPv6プレフィックス(/56 や /48 など)の具体的な値は分かりますか?
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。