IPv6に関連する次の2つのRFCに少し混乱しています。
RFC 4862は次のように述べています:
このドキュメントで指定されている自動設定プロセスはホストにのみ適用され、ルーターには適用されません。ホストの自動構成はルーターによってアドバタイズされた情報を使用するため、ルーターは他の方法で構成する必要があります。
RFC 7084には、アドレス割り当てに関するWAN側の構成要件の1つが次のように記載されています。
WAA-1:IPv6 CEルーターは、ステートレスアドレス自動構成(SLAAC)[RFC4862]をサポートする必要があります。
ここに矛盾はありますか?
ルーターは、WANインターフェイスのIPv6アドレスを自動構成できますか?
RFC 4862が言う理由
ホストの自動構成はルーターによってアドバタイズされた情報を使用するため、ルーターは他の方法で構成する必要があります。
たとえば、ルーターを使用してLANをISPに接続している場合、ISPのネットワークにルーターと通信しているルーターはありませんか?
2つ(またはそれ以上)のルーターをチェーン化することは完全に合理的だと思っていたでしょう。その場合、2番目のルーターのWANインターフェイスでSLAACを使用しないのはなぜですか。
たぶん問題は、ホストとルーターの人為的な違いに起因するのでしょうか?RFC 4862から:
ノード-IPを実装するデバイス。
ルーター-明示的にアドレス指定されていないIPパケットを転送するノード。
ホスト-ルーターではないノード。
しかし、ホスト(つまり、サーバーまたはアプリケーションをホストしているマシン)もルーティングテーブルを持つことができず、ルーターとして機能できないのでしょうか。そして、2つのルーターを再び効果的に連結しています。
編集:後で発見したいくつかの追加情報...
LinuxカーネルはSLAACを処理し、RFC 4862に厳密に従っています。ホストとルーターの違いまで。ip-sysctlに関するカーネルのドキュメントを参照してください:
- HOSTの動作が想定されています。つまり、ルーター要請が送信され、ルーターアドバタイズメントがアドレスの自動構成に使用されます。
- 転送が有効になっている場合のみ(
/proc/sys/net/ipv6/conf/all/forwarding
)、デバイスはルーターと見なされます。つまり、ルーター要請は送信されず、ルーター通知は無視されます。
この違いは、IPv6より前にさかのぼります。パラメータを参照してください/proc/sys/net/ipv4/ip_forward
:
この変数は特別であり、その変更によりすべての構成パラメーターがデフォルト状態にリセットされます(ホストの場合はRFC1122、ルーターの場合はRFC1812)