企業ネットワークを見ているとき、ルータは自社の通信を運ぶ装置として見える。
本社、支社、データセンター。どの経路を通すか、どこで冗長化するか、どのセグメントを守るか。主語はいつも自社のネットワークだった。
MPLS の入口では、その主語が変わる。見ているのは、自社の通信だけを運ぶ網ではない。顧客の通信を預かり、別の顧客の通信と同じ provider backbone の上で運ぶ網だ。


MPLS を読む最初の目線は、速さではなく境界だ。顧客側の通信を、provider 側がどこで預かるのかを見る。
ラベルの番号や転送方式の名前を先に覚えても、まだ誰の通信を誰が預かるのかが引けていない。先に引くのは、その境界線だ。
複数顧客を同じ backbone で運ぶと、経路表の意味が変わる
企業内のルーティングでは、経路表に並ぶ prefix を見て、「これは本社」「これは支社」「これはインターネット側」と読んできた。
その読み方は、企業の中ではよく効く。自社の address plan があり、自社の運用ルールがあり、自社の障害範囲がある。経路表の行は、自社の中のどこかへつながっている。
provider backbone に流れ込むのは、provider 自身の業務通信だけではない。顧客Aの支社から来た通信、顧客Bのデータセンターへ向かう通信、別の顧客の拠点間通信が、同じ backbone の上に乗ってくる。
このとき、provider は顧客のネットワークを自分の社内ネットワークとして持つわけではない。顧客の通信を預かり、別の顧客の通信と混ぜずに、設定された宛先へ転送する。経路表の行をそのまま「自社のどこか」と読む見方では、ここに線が引けない。
CE は顧客側、PE は預かる入口、P は backbone の中にいる
サービスプロバイダ網の図には、よく CE、PE、P という名前が出てくる。
CE は Customer Edge。顧客サイト側の端にいる装置だ。顧客の拠点、顧客の LAN、顧客の routing policy の近くにいる。
PE は Provider Edge。provider 側で、顧客の CE と向き合う入口だ。顧客から見ると、ここで provider に通信を預ける。
P は Provider router。provider backbone の中にいるが、顧客の CE とは直接つながらない。顧客の拠点に面した入口ではなく、backbone の中を運ぶ側にいる。


顧客が直接触るのは CE 側だ。provider が顧客の通信を受け取る入口は PE だ。provider backbone の中で通信を運ぶのは P を含む中継側になる。
顧客サイトAの CE は、provider の PE と向き合う。顧客サイトBの CE も、別の PE と向き合う。顧客サイトAと顧客サイトBの CE 同士が、provider backbone の中で直接経路を交換しているわけではない。
顧客から見ると、provider backbone は自分の延長に見えるかもしれない。けれど運用の管理範囲は違う。顧客は provider の P ルータを管理しない。provider も顧客の CE の中身を勝手に管理するわけではない。
この線を引かずに進むと、provider backbone 全体が顧客ネットワークの一部に見えてしまう。すると、P ルータも顧客ごとの経路を全部知っているはずだ、という読み違えが起きやすい。実際には、PE と P は同じ provider 側でも役割が違う。PE は顧客と向き合い、P は backbone の中を運ぶ。
同じ宛先表記が、顧客ごとに別の意味を持つ
provider は複数の顧客を同じ backbone で運ぶ。顧客ごとに address plan があり、経路の見せ方があり、通信してよい相手がある。しかも、別の顧客が同じ private address を使っていることもある。
企業の中なら、同じ address が重なれば設計ミスとして直す話になることが多い。けれど provider の立場では、「別の顧客が同じ address を使っている」だけで、その両方を同じ backbone 上で扱う必要がある。
顧客から通信を受け取る入口は PE だ。顧客の site に直接つながらない中継側には P がいる。同じ provider 側でも、顧客の文脈を受け取る場所と、backbone の中を運ぶ場所は同じではない。
同じ 10.0.0.0/8 という文字列が、顧客Aと顧客Bで別の宛先を指すとき、それをどの顧客の通信として読むかは PE で決まる。provider backbone の中にいる P は、顧客ごとの細かい事情を一台ずつ抱えるわけではない。
複数顧客が同じ address を使うとき、PE でどう分けるのか
MPLS の入口で先に引けたのは、転送方式の名前ではなく、誰の通信を誰が預かるかの線だ。
CE は顧客側にいる。PE は provider 側で顧客の通信を受け取る。P は顧客に直接つながらない provider backbone の中にいる。顧客の拠点、顧客の address plan、顧客ごとの通信相手を最初に受け取るのは PE で、P はそれを直接は受け取らない。
この線が引けると、同じ provider backbone に、同じ IPv4 address を使う別々の顧客が来たとき、それをどこで別物として扱うのかが、次に確かめる一点になる。その答えは、顧客と向き合う PE の近くにある。
次は、その分け方を見にいく。