助け合いフォーラム
この問題はプレミアムコンテンツです。
VPNv4アドレスの一意性について
閲覧いただきありがとうございます。
VPNv4アドレスのネットワーク内での一意性について疑問点があります。
今回の問題文におけるネットワークとはMPLS網内という理解をしているのですが、
VPNv4アドレスはネットワーク内、つまりMP-BGPのPEルータ間で一意性を持たせる必要はないという理解をしています。
ネットワーク内で合わせるべきなのは、RT値やVPN識別ラベルであり、
その情報を用いて、もしPEルータ間でVPNv4アドレスに差異があっても整合性を持たせているという理解をしております。
これは私の理解が間違っているのでしょうか?
それとも問題文を読み間違っているのでしょうか?
お忙しいところすいません。
以上、よろしくお願いします。
今回の問題文におけるネットワークとはMPLS網内という理解をしているのですが、
VPNv4アドレスはネットワーク内、つまりMP-BGPのPEルータ間で一意性を持たせる必要はないという理解をしています。
VPNv4アドレスは、同一のIPv4アドレスを持つ複数のVPNを一意に識別するために使用されます。
PEルータではMP-BGPテーブル上で各VPN内の各ルートに対応するVPNv4エントリを持っており、これにしたがって異なるVPNを適切に区別し、パケットを正しいVPNにルーティングできます。
VPNv4アドレスの一部であるRDが一意でなければ、同じIPv4アドレスを使用する異なるVPNを区別できず、どのVPNのどのIPv4アドレスを指しているのかがわからくなります。
そのためPEがネットワーク全体で一意でないVPNv4アドレスを使用すると、ルーティングテーブルが正しく構築されず、間違ったVPNにパケットが転送される可能性があります。
つまり、VPN内の各ルートを一意に識別し、MPLS VPNネットワーク全体でのルーティングを可能にするためには、VPNv4アドレス(特にVPNv4アドレスの一部であるRD)が一意である必要があります。
VPNv4アドレス、RD、RT、VPN識別ラベルなどのそれぞれの役割を知ると理解が深まると思います。
以下のサイトが参考になりそうです。
MPLS-VPN - Part1
【図解】MPLS-VPNの概要 ~MP-BGPとVRFの動作,シーケンスやRDとRTの違い, 識別ラベルについて~
ご参考になれば幸いです。
コメント
ご回答ありがとうございます。
VPNv4アドレスの一部であるRDが一意でなければ、同じIPv4アドレスを使用する異なるVPNを区別できず、どのVPNのどのIPv4アドレスを指しているのかがわからくなります。
こちらのご指摘に関してなのですが、この一意性が重要なのは、ローカルのPEルータ内で区別するためだと思っています。
つまり、対向のPEルータでも同じRD値を用いる必要はないはずだと私は理解しています。
(管理上は合した方が人間が分かりやすいので良いとは思いますが)
またご回答に添えていただきましたリンクの「RDとRTの違い」という項目にもございますように
https://www.infraexpert.com/study/mpls6.html
対向PEルータ同士で、もしRDが異なっていても、RTによってどのVRFルーティングテーブルに取り込めばよいかが識別されるはずだと理解しております。
よって問題文が曖昧で中々不明瞭だとは思いますが
ネットワーク全体、つまりMP‐BGPのネイバーの対向PEルータ同士で、VPNv4が一意である必要はないはずだと思っているのですが。。。
tym78様のおっしゃるMPLS VPNネットワーク全体でのルーティングとは、
ラベルスイッチングをするPルータとMP-BGPのネイバーを張っている対向PEルータの集合体
と私は認識してるのですが、認識相違ございませんでしょうか?
お忙しいところご回答ありがとうございました。
もしご確認ご回答いただけますと幸いです。
コメント
VPNv4アドレスはネットワーク内、つまりMP-BGPのPEルータ間で一意性を持たせる必要はないという理解をしています。
VPNv4アドレス自体は一意性を持たせるのが必要だとは思います。というのは、VPN関係ない一企業のWAN接続のイメージでいう「異なる支店が同じネットワークアドレスをもち、それを広報する」のが適切かという話です。
さらにいうと、PEが管理するVPNv4アドレスには「異なるVPN(利用者)で同じネットワークアドレス(例:192.168.1.0/24)」というものが存在しうるので、各PEで異なるRDを使用することで「ユーザーのネットワークアドレスが重複していてもPEごとに必ず異なるVPNv4アドレスにできる」というのが実現できるわけですね。
「どのPEの配下のどのユーザーのネットワークアドレス」かが特定できるようにするためにVPNv4アドレスが一意になるようにするべきだということです。
ネットワーク内で合わせるべきなのは、RT値やVPN識別ラベルであり、
その情報を用いて、もしPEルータ間でVPNv4アドレスに差異があっても整合性を持たせているという理解をしております。
ここはちょっと違いますね。
RTはBGPのコミュニティ値であって「特定のVPNv4アドレスに対して設定して広報する」際に付与するものであり、必須でつけるべきものではないので「合わせるべき」かどうかは悩ましいですね。合わせるのであれば「VPN/拠点」を識別する目的で揃える感じですかね。例えば「A社の本社とデータセンター」を意味するRT「65000:1」は本社の接続するPEのRD(1:1)とデータセンターが接続するPEのRD(2:1)で広報するA社のプレフィックスには付与するが、A社のデータセンターが接続するPEに接続するB社の本社のRD(2:2)には付与しない(もしくはRT:65000:2を付与するとか)ってやったりします。
そうすることで、今度はA社の支社Xでは「RT:65000:1」が付与されたVPNv4プレフィックスのみを取り込むとかの制御が可能になります。(単純な例ですが、割り当て方やimport/exportの仕方で色々変えることができます)
あ、ちなみにVPN識別ラベルは「各PEが広報する、PEに属するVRF配下のプレフィックス=VPNv4プレフィックス」に対して付与されるものですので、そういう意味でもVPNv4プレフィックスが「一意」になるべきだということにつながります。
つまり、対向のPEルータでも同じRD値を用いる必要はないはずだと私は理解しています。
そうですね、異なるPEでRDを揃える必要はないといえばないですが「VPNv4アドレスが一意となるように」は意識すべきかなと思います。じゃないと「同じプレフィックス(同一VPNに属するネットワーク)が異なるPE上に複数存在する」ということを許容することになってしまいますので…
これは実機で検証するとわかりやすいのですが、ちょっと時間がかかるので…時間が取れて、まだこの議論が続いてるようならサンプル出しますね。
コメント
arashi1977様
ご回答ありがとうございます。
VPNv4の一意性の件、理解出来ました!
私が、一意性の概念と同一性の概念をごちゃごちゃにしておりました。
各VPN、各企業ごとにVPNv4が一意、つまり概念としては線形独立していればよく、その値は各PEルータで同じにする必要性はないということですね。
重要なのは一意性であって、
MP-VPN全体でVPNv4が同一の値であらねばならない
という問題文だと誤読してしまっておりました。
tym78様、arashi1977様
ご回答いただきありがとうございました。
コメント
この投稿に対して返信しませんか?