Процесс маршрутизации сетей VPN
Процесс маршрутизации MPLS-VPN включает следующие этапы:
- Оператор предоставляет услугу VPN через PE-маршрутизаторы, которые подсоединены напрямую к клиентским CE-маршрутизаторам по Ethernet.
- Каждый PE-маршрутизатор содержит таблицу маршрутизации (VRF) для каждого клиента. Это гарантирует изоляцию клиентских сетей и позволяет использовать частные адреса независимо от адресации сети оператора и других клиентов. Когда приходит пакет от CE, используется таблица VRF, которая назначена для данной сети, и по ней определяется маршрут передачи данных. Если PE-маршрутизатор связан с сетью несколькими линками, то для всех этих подключений используется одна таблица VRF.
- После того как PE-маршрутизатор определил IP-префикс, он конвертирует его в VPN-IPv4 префикс, предваряя его 8-байтовым (64 бит) различителем маршрута (RD). RD гарантирует, что даже если у двух клиентов одинаковые адреса, к ним будут установлены два разных маршрута. Эти VPN-IPv4-адреса анонсируются среди PE-маршрутизаторов по MP-BGP.
- Для определения MPLS-метки и передачи VPN-пакета через сеть оператора используется уникальный идентификатор маршрутизатора (как правило, его loopback-адрес).
- Пакеты передаются в точку назначения по MPLS, ориентируясь на информацию из таблицы маршрутизации. Каждый PE-маршрутизатор определяет уникальную метку для каждого маршрута в таблицах маршрутизации (даже если у них один и тот же next hop) и объявляет эту метку вместе с 12-байтовым VPN-IPv4 адресом по MP-BGP.
- PE-маршрутизаторы на входе (ingress) прикрепляют к VPN-пакету, отправляющемуся по сети оператора, стек из двух меток. В него входят: сервисная метка — BGP-метка, определённая по таблице маршрутизации (ассоциированной с входящим интерфейсом), которая указывает на BGP next hop; транспортная метка — LDP-метка из глобальной FTN таблицы, определяющая IP next hop.
- Операторский (P) маршрутизатор в сети пересылает VPN-пакет в зависимости от транспортной метки. Эта метка используется как ключ для поиска входного интерфейса в таблице Incoming Labels Mapping (ILM). Если у пакета две метки, верхняя меняется, и пакет отправляется на следующий узел. Если нет, то маршрутизатор является предпоследним в цепочке, и он снимает транспортную метку и отправляет пакет только с сервисной меткой на PE-маршрутизатор на выходе. Каждый раз, когда пакет проходит очередной маршрутизатор P вдоль туннеля, транспортная метка анализируется и заменяется новым значением. Предпоследний маршрутизатор в цепочке снимает транспортную метку и на конечную точку туннеля — маршрутизатор PE2, пакет приходит с одной меткой. Если в LDP включена опция explicit-null, предпоследний маршрутизатор отправляет пакет с двумя метками, где значение верхней метки — 0.
- Выходной PE-маршрутизатор снимает BGP-метку, производит поиск по ней на исходящих интерфейсах и отправляет пакет соответствующему клиентскому CE-маршрутизатору.