IPv6の「ルーテッドプレフィックス」と「リンクプレフィックス」の正確な違いは何ですか?
wireshark-Traceでこれらの違いはどうですか? (割り当てられた「ルーティングされたプレフィックス」を持つホスト、または割り当てられた「リンクプレフィックス」を持つホストを観察する場合)。
ネイバーディスカバリプロトコルのこれらの違いはどのようにですか? (他/外部ホストの観点から)
彼らは働いていますか 一緒、これら2つのタイプの接頭辞?
2つの違いを理解する最も簡単な方法は、プレフィックスの階層的な性質を示す例を使用することです。
階層の例
ISPには [〜#〜] rir [〜#〜] (Regional Internet Registry)からプレフィックスが割り当てられており、この例では2001:db8::/32
であると想定します。このプレフィックスは、ISPがBGPを介してピアリングする他のISPにプレフィックスを通知する必要があるという意味で、顧客に伝えられるプレフィックスとは異なります。
ISPは、接頭辞を顧客に割り当てます。まず、ISPルーターを [〜#〜] cpe [〜#〜] (顧客宅内機器)ルーターに接続するリンクに2001:db8:0:1::/64
を割り当てます。リンクに割り当てられているため、これはリンクプレフィックスです。一般的な推奨事項として、IPv6のすべてのリンクプレフィックスは/64
である必要があります。
ISPルーターはこのプレフィックスを通知するルーターアドバタイズを送信し、CPEはSLAACを使用して/64
内のISPルーターを指す外部インターフェイスのアドレスを作成します。外部インターフェースがIPアドレス2001:db8:0:1:42:ff:fe00:42/64
を持っていると仮定しましょう(この表記では、リンクプレフィックスの長さを思い出させるために/64
が含まれていますが、省略しておくこともできます)。
このリンクプレフィックスは、CPEルーターが他の地域と通信するのに十分ですが、CPEルーターが内部インターフェイスに接続されたLAN上のクライアントをサポートするのに役立ちません。 CPEルーターには、このCPEルーターを介してルーティングされるLANのプレフィックスが必要なため、これはrouted prefixと呼ばれます。
ルーティングされたプレフィックスは、静的に、またはDHCPv6を介して構成できます。 CPEルーターがISPから提供されたDHCPv6サーバーとプレフィックス長をネゴシエートする方法の正確な詳細は、この回答の範囲外です。プレフィックス委任を検索すると、これについてさらに知ることができます。ルーティングされたプレフィックスが最終的に2001:db8:1::/48
であると仮定します。 ISPルーターでは、2001:db8:1::/48
をゲートウェイ2001:db8:0:1:42:ff:fe00:42
経由でルーティングする必要があることを示すルーティングテーブルエントリが作成されます。このルーティングテーブルエントリは、ルーテッドプレフィックスの定義機能です。
CPEルーターには複数の内部LANがある場合があります。/48
から、各内部LANに/64
リンクプレフィックスを割り当てることができます。 LANの1つに2001:db8:1:1::/64
がリンクプレフィックスとして割り当てられていると想定すると、このリンクのノードはSLAACを通じて2001:db8:1:1::42:ff:fe00:43
のアドレスを取得できます。そのノードは、たまたまワイヤレスインターフェイスのプレフィックスを必要とするワイヤレスルーターである可能性があります。 CPEは2001:db8:1:100::/60
をワイヤレスルーターのルーテッドプレフィックスとして割り当て、ワイヤレスルーターは2001:db8:1:100::/64
をワイヤレスインターフェイスのリンクプレフィックスとして割り当てることができます。
さて、このような設定では、接頭辞の階層になります。以下はすべて互いにネストされています。
2001:db8::/32
BGPはプレフィックスを発表しました2001:db8:1::/48
ルーティングプレフィックス2001:db8:1:100::/60
ルーティングプレフィックス2001:db8:1:100::/64
リンク接頭辞パケットは実際にどのように処理されますか
ISPルーターは、リンクプレフィックスである2001:db8:0:1::/64
のパケットを受信すると、ネイバー探索を実行して、/64
内のホストのMACアドレスを見つけます。
このようにして、ISPルーターはリンクプレフィックス内のすべてのIPアドレスに対して個別のネイバーキャッシュエントリを必要とします。
ISPルーターは、ルーティングされたプレフィックスである2001:db8:1::/48
のパケットを受信すると、ネイバー探索を実行して、ゲートウェイのMACアドレス2001:db8:0:1:42:ff:fe00:42
を見つけます。
このようにして、ISPルーターは、ルーティングされたプレフィックス内の任意のIPアドレスにパケットをルーティングするために、ゲートウェイの単一のネイバーキャッシュエントリのみを必要とします。このプロパティは、インターネットのスケーラビリティにとって重要です。
ルーティングされたプレフィックスの欠如を回避する
場合によっては、リンクプレフィックスのみを提供し、ルーティングされたプレフィックスを提供しないISPに行き詰まることがあります。このような状況では、リンクプレフィックスの特定のサブ範囲内のすべてのIPアドレスのネイバー探索に応答するデーモンをインストールすることが可能です。これは、そのプレフィックスをルーティングされたプレフィックスとして構成するのと同様の効果があります。ただし、いくつかの欠点があります。
/64
よりも短いと想定されていますが、近隣探索要求に応答するデーモンは、/64
よりも長い「ルーティングされた」プレフィックスしか作成できません。ISPルーターの処理オーバーヘッドは重大な問題になる可能性があります。一部のルーターは、ネイバー探索を必要とするパケットのフラッドの処理が非常に悪いため、実際のDoS攻撃になり、回避策として(/120
-127
の範囲の)より長いリンクプレフィックスを使用しました。このようなDoS攻撃に対して。
ルーターがDoS攻撃に対して脆弱ではない場合でも、上記の回避策が使用されたときにネイバーキャッシュエントリに必要なメモリは、ルーティングされたプレフィックスのIPアドレスよりもISPにとってはるかに高価であるため、理由はほとんどありませんISPがルーティングされたプレフィックスの配布を拒否するため。
ポイントツーポイントリンクに関する特別なケース
ポイントツーポイントリンク(6in4トンネルやPPPリンクなど)では、ネイバー探索の必要はありません。そのようなリンクでパケットを送信する方向は1つだけであり、ハードウェアアドレスはパケットを送信する前に調べてください。
これは、このようなリンクではネイバー探索のオーバーヘッドが問題にならないことを意味します。したがって、エンドツーポイントがだれがどのアドレスを使用するかについて何らかの合意がある限り、ポイントツーポイントリンクの一端が多くのアドレスを使用することは問題になりません。近隣探索の欠如は、重複アドレス検出もないことを意味します。したがって、両方のエンドポイントが同じアドレスを使用しようとすると、期待どおりに機能しません(エニーキャストアドレスとして動作することを期待している場合を除く)。
ポイントツーポイントリンクについては、1つの注意点があります。各エンドポイントは、割り当てられていないリンク上のすべてのアドレスがもう一方の端に割り当てられていると想定します。つまり、ポイントツーポイントリンク上の未使用のアドレスは、ルーティングループをトリガーする傾向があります。このようなルーティングループ(およびルーティングループの他のいくつかのケース)は、エンドポイントが受信したノードに直接パケットを送り返さないことで回避できます。そのため、ポイントツーポイントリンクから受信したパケットは、同じポイントツーポイントリンクを介して送り返すことはできません。一方のエンドポイントがこれを正しく行う限り、ルーティングループが壊れます。イーサネットのサイドノードとして、パケットを受信して同じリンクに転送することは有効ですが、パケットが受信された場所から同じMACアドレスに転送される場合は、そうしないことをお勧めします。
ポイントツーポイントリンク上のほとんどのアドレスは、ネイバー探索を必要とせずにリンクのもう一方の端に転送されるだけなので、ルーテッドプレフィックスと非常によく似ています。たとえば、ISPが2001:db8:42 ::/64をポイントツーポイントリンクに割り当て、エンドポイントにアドレス2001:db8:42 :: 1および2001:db8:42 :: 2が割り当てられている場合、ほとんどのアドレスへのパケット2001:db8:42 ::/64は、これが2001:db8:42 :: 2をゲートウェイとして使用してルーティングされたプレフィックスである場合と同じように、ISPから顧客に転送されます。
これは、特定のハッキングが可能であることを意味します。 CPEでは、実際に2001:db8:42 ::/64をLAN上のリンクプレフィックスとして構成できます。 CPEが特定の宛先が2つのリンクのどちらにあるかを知るには、ISPへのポイントツーポイントリンクの実際の構成を2001:db8:42 ::/126に変更する必要があります。これはすべて1つの小さな例外で機能します。LAN上のホストは2001:db8:42 ::/126の4つのIPアドレスと通信できません。おそらく彼らはとにかくそれらと通信する必要がなかったので、これは大きな問題ではありません。ただし、このハックを使用することはお勧めしません。適切な構成は、ISPからルーティングされたプレフィックスを取得することです。
アドレスを保存する別のハックは、ルーティングされたプレフィックスにグローバルアドレスのみを割り当て、ポイントツーポイントリンクにRFC 4193アドレスを使用することです。ただし、存在しない問題を解決するためにいくつかの欠点がまだあるため、これは愚かなハックです。
ポイントツーポイントリンクにプレフィックスをまったく割り当てないことも可能です。各エンドポイントには、グローバルアドレスを持つ別のインターフェイスがある限り、ポイントツーポイントリンクで通信するときに、他のインターフェイスに割り当てられたアドレスを使用できます。このアプローチの欠点は知りません。このポイントツーポイントリンクへのアプローチがネットワーク構成を簡略化することがわかった場合は、自由に使用してください。ただし、アドレスを保存するための手段としては使用しないでください。
ルーティングされたプレフィックスの使用例
最後のポイントのより詳細な例は、DNSリカーサーです。 IPv4との戦いが終了するまでDNSSECが大きな牽引力を発揮することはないので、DNSポイズニングに対する他の対策が必要です。できるだけ多くのエントロピーをクエリに取り込む努力が行われています。 IDとポート番号は最大32ビットのエントロピーを保持できますが、解決するドメイン名に大文字と小文字が混在している場合、リクエストでさらに数ビットを保持できます。この方法では、合計で48ビットを超えることはめったにありません。完全な/64
をDNSリカーサに割り当てると、エントロピーを一度に64ビット増やすことができます。これは、他のすべての作業を組み合わせた場合よりも多くなります。
リンクプレフィックスは、ルーターとISPの間で使用されます。
ルーティングされたプレフィックスはネットワーク内で使用されます。
ISPから/ 64ルーティングされたプレフィックスを受け取った場合は、ルーターにそのプレフィックスをLANで通知させるだけです。/64(おそらく/ 48?)よりも小さいプレフィックスを取得した場合は、そのプレフィックスを論理的にサブネット化して、組織内のすべてのルーターで使用する方法を検討する必要があります。
Wiresharkでは、パケットをキャプチャするwhereに応じて、使用されているルーティングされたプレフィックスのみが表示される場合(LANでキャプチャする場合)または両方のプレフィックスが使用される場合(WANでキャプチャする場合)があります。 。
Neighbor Discovery Protocolに関しては、リンクにも依存します。 ISPとルーター間のリンクでは、NDPを使用してルーターのMACアドレスを検出しますWANインターフェイスとISPの上流ルーターのMACアドレス。LANインターフェースでは、NDPを使用して検出しますLANセグメント上のホストのMACアドレス。
お役に立てれば。
プレフィックスへのパケットが宛先に到達するためにルーターを通過する必要がある場合、プレフィックスはルーティングされたプレフィックスです。ローカルネットワークインターフェイスが接続されているセグメント上にある場合、プレフィックスはリンクプレフィックスです。
パケットがインターネット上を移動しているときに、最後のホップに到達するまで、ターゲットとされる/ 64はルーティングされたプレフィックスになります。次に、それはリンク接頭辞になります。
ルーティングされたプレフィックスは通常集約されます。多くの/ 64を単一の短いプレフィックスに集約して、ルーティングテーブルを小さく保つことができます。インターネットプロバイダー間の境界では、プレフィックスの最大長を/ 48にすることが一般的です。
プレフィックスが/ 0から/ 63までの場合、通常はルーティングされたプレフィックスであると想定できます。プレフィックスが/ 64の場合、ルーティングされたプレフィックスかリンクプレフィックスかを知るには、さらに情報が必要です。