Что не так с IP?

А действительно, что не так? Зачем городить MPLS?

Да всё так. Достоинства и недостатки IP вытекают из того, что он появился позже классических сетей и невероятно гибкий. Сейчас повсеместно идёт переход на пакетную коммутацию, в основу которой лёг IP на сетевом уровне, а на канальном всё большую популярность набирает Ethernet. Это хорошо, ведь теперь на базе одной опорной сети и сети доступа можно предоставлять ШПД, IP-телефонию, IPTV и другие возможные услуги. То же самое прослеживается и в сетях мобильных операторов. Сети второго поколения на заре были целиком на основе коммутации каналов. Ядро сетей 3G в большинстве своём уже IP, но услуги телефонии по-прежнему могут предоставляться в режиме коммутации каналов. Сети же 4G это уже полноценные IP-сети, где передача голоса — это лишь одно из приложений, также, как и ШПД.

Однако существует ещё огромное число сегментов, где используются старые технологии. Например, где-то есть ATM, в другом месте нужно PDH передать из одной части сети в другую, а тут клиент захотел, чтобы его кусок Ethernet-сети оказался доступным с другого конца города так, словно он подключен непосредственно — иными словами VPN. Как это решалось раньше: нужен ATM между двумя географическими точками — строй канал между ними на базе ATM, PDH — строй PDH. А хочется-то делать всё это через одну сеть, а не строить отдельную для каждого типа трафика. Для этого и были придуманы в своё время GRE, PPPoE, PPPoA, ATM over Ethernet, TDM over IP и многочисленные другие over'ы. Можно насоздавать ещё тысячу других, чтобы покрыть уже все комбинации, и настанет вселенское счастье в хаосе стандартов (к слову, некоторые мелкие производители по такому пути и пошли).

В середине 90-х горячим головам из нескольких компаний (IBM, Toshiba, Cisco, Ipsilon) пришло в голову создать механизм, который позволил бы при маршрутизации заглядывать не внутрь пакета и прочёсывать таблицу маршрутизации в поисках лучшего пути, а ориентироваться по некой метке. Выстрелило у Cisco, и механизм был назван незамысловато: TAG Switching. Причём цель, которую преследовали разработчики, заключалась в том, чтобы позволить высокоскоростным коммутаторам передавать трафик исключительно аппаратно. Дело в том, что аппаратная IP-маршрутизация долгое время была малодоступным удовольствием, и применять её на недорогих коммутаторах было нецелесообразно, а принимать решение на основе метки можно было бы просто и быстро. Но в то же время появились сверхбольшие интегральные схемы (пусть я и не согласен с этим термином — английский VLSI гораздо лучше описывает суть), и задача экономии на анализе содержимого пакета стала не такой уж и актуальной. Кроме того появилось понятие FIB, которое предполагает, что для каждого пакета не нужно осуществлять поиск адресата в таблице маршрутизации и соответственно привлекать центральный процессор — вся горячая информация уже на линейной плате. То есть по сути необходимость в таком механизме отпала.

Но внезапно стало понятно, что у коммутации по меткам есть незапланированный потенциал — совершенно неважно, что находится под меткой — IP, Ethernet, ATM, Frame Relay. А ещё она даёт возможность отвязаться от ограничений IP-маршрутизации. Отсюда и берёт своё начало технология, утверждённая IETF — MPLS — MultiProtocol Label Switching. Шёл 1997-й год. И эта, кажущаяся, возможно, незначительной, деталь дала начало новой эре в телекоммуникациях. Сегодня MPLS вы найдёте в любом более или менее крупном провайдере.

Основные применения MPLS сейчас:

  • MPLS L2VPN

  • MPLS L3VPN

  • MPLS TE

О каждом из них мы поговорим в отдельных статьях — это чудовищно огромные темы. Но коротко мы затронем их в конце статьи.