【図解/MPLSの基本】PHP(Penultimate Hop Popping)の動作・仕組み | SEの道標
MPLS-VPN

【図解/MPLSの基本】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 テーブルを参照してパケット転送ができるため、効率的になります

コメント

タイトルとURLをコピーしました