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 テーブルを参照してパケット転送ができるため、効率的になります。
コメント