MPLSの基本4 PHP(Penultimate Hop Popping) 

PHPとは

PHPとは、Penultimate Hop Poppingの略で、MPLS通信を効率化する機能の1つです

MPLS NWとIP NWの境界となるルータは、Ingress LSRの役割と同時に、この逆の機能をするEgress LSRの役割もあります。 Egress LSRは、MPLS NWからIP NWに向けてパケットを転送するルータのことです。

PHP機能を利用していない場合、Egress LSRにおいて、Next HopがIP NWである宛先のラベル情報は、LDP等により通常のラベル(16以上)で 周りのLSRに伝えられます。

例えば以下の例を考えて見ます。

この場合、R4ではラベル付きのパケットを受け取るため、まずLFIBテーブルを見ます。

スポンサーリンク

LFIBテーブルではラベルをPop(削除)しなさいと書かれているため、ラベルを削除します。そしてその後、 FIBテーブルを見てルーティング先を見つけます。つまり、2度手間になり、それだけルータに負荷がかかります。

図の例では宛先がConnectedのため、そのまま宛先に送られますが、仮に10.1.2.0/24がConnectedでない場合は、FIBテーブルにはNextHopには具体的なIPアドレスが入り、FIBテーブルによりそのNextHopに転送されます

PHP機能を利用している場合、Egress LSRにおいて、Next HopがIP NWである宛先のラベル情報は、LDP等によりImplicit Null(ラベル:3) と呼ばれる特殊なラベルを周りのLSRに伝えられます。

この場合、R3ではR4に送る際にラベルを外すため、R4ではラベル無しのパケットを受け取ります。 そのため、PHP機能無しの場合とは異なり、最初からFIBテーブルを参照してパケット転送ができるため、 効率的になります

シェアする

  • このエントリーをはてなブックマークに追加

フォローする