Глава 1. Основы MPLS и VPN: различия между версиями
Строка 49: | Строка 49: | ||
:- Передает пакет дальше, основываясь на IP | :- Передает пакет дальше, основываясь на IP | ||
:- Downstream для других роутеров в рамках LSP | :- Downstream для других роутеров в рамках LSP | ||
===PHP, UHP=== | |||
'''PHP''' - ''penultimate hop popping'' - снятие метки на предпоследнем роутере. В таком случае egress роутер будет освобожден от этой функции и будет делает стандартный lookup по адресу назначения в таблице inet.0. Для реализации этой процедуры egress при установлении LSP отправляет предпоследнему роутеру метку 3. | |||
'''UHP''' - ''ultimate hop popping'' - предпоследний роутер передает последнему пакет с меткой. Метка снимается на последнем роутере. Такое поведение требуется, например, для корректной работы CoS. Для реализации такого поведения нужно включить: | |||
set protocols mpls explicit-null | |||
При этом egress роутер при создании LPS будет отправлять предпоследнему роутеру метку 0. | |||
===inet.3=== | ===inet.3=== |
Версия 13:36, 29 октября 2016
Причины появления и плюсы использования MPLS
- Уменьшилось время route lookup, за счет использования меток для передачи трафика.
- Улучшилась масштабируемость сети.
- Использование traffic engineering (TE) дает дополнительную возможность управлять трафиком.
- На одном и том же оборудовании можно обеспечить работу разных технологий: Ethernet, ATM, Frame Relay, IPSec.
Метки, LSP
LSP - однонаправленные.
Для LSP требуется, чтобы MPLS был включен на каждом роутере, через который проходит LSP. MPLS позволяет роутеру завести локальную DB, в которой будут метки с назначением и другими метками, обмен метками с соседними роутерами и отправка и получение пакетов, отмеченных метками.
LSP обеспечивает маршрут через сеть для пакета с меткой. В отличие от маршрутизации по dest IP, пакет с меткой маршрутизируется по сети основываясь на значении метки.
Заголовок MPLS - 32 bit (8bytes). Добавляется сразу после L2 заголовка.
Заголовок содержит: метку, CoS, Stack bit, TTL.
Метки MPLS уникальны в рамках роутера. На каждом роутере в MPLS домене, через который проходит LSP, метка обязательно будет меняться.
- 0 - Explicit null (IPv4)
- 1 - Router alter label (IP router alert)
- 2 - Explicit null (IPv6)
- 3 - Implicit null
- 4-15 - for future use
Таблица mps.0 - для хранения информации о метках. Для транзитных роутеров, для принятия решений - куда передавать трафик. При включении MPLS, в ней сразу появляется информаци о 0,1,2 метках.
Терминология
LSP labe switched path - однонаправленный поток трафика.
LSR label switching router = роутер, использующий MPLS, который участвует в построении LSP.
Бывает нескольких типов:
- Ingress
- - Пакеты входят в LSP на ingress роутере
- - Делает push метки
- - Для отдельной LSP может быть только 1 ingress роутер
- - Upstream для остальных роутеров в рамках LSP
- Transit
- - Для LSP может быть 0 или более transit роутеров
- - Делает swap метки
- - Передает трафик следующему хопу LSP
- Penultimate
- - Предпоследний для LSP роутер
- - По дефолту делает pop метки и пакет без метки отправляет последнему egress роутеру.
- Egress
- - Пакеты выходят из LSP на egress роутере
- - Передает пакет дальше, основываясь на IP
- - Downstream для других роутеров в рамках LSP
PHP, UHP
PHP - penultimate hop popping - снятие метки на предпоследнем роутере. В таком случае egress роутер будет освобожден от этой функции и будет делает стандартный lookup по адресу назначения в таблице inet.0. Для реализации этой процедуры egress при установлении LSP отправляет предпоследнему роутеру метку 3.
UHP - ultimate hop popping - предпоследний роутер передает последнему пакет с меткой. Метка снимается на последнем роутере. Такое поведение требуется, например, для корректной работы CoS. Для реализации такого поведения нужно включить:
set protocols mpls explicit-null
При этом egress роутер при создании LPS будет отправлять предпоследнему роутеру метку 0.
inet.3
Маршруты вставляются в таблицу inet.3, в которую залезает BGP, перед тем как отрезолвить next-hop для префикса. Если удалось найти next-hop в inet.3, то BGP вставляет LSP в inet.0 в качестве физического next-hop. Если не удалось, то BGP идет в inet.0 и пытается отрезолвить там.
И, например, в случае, когда мы используем для транзитного трафика staic-lsp, его метрика будет = 0 и будет явно предпочтительней любого IGP протокола.