mpls mpls inter-as mpls csc
TRANSCRIPT
2 2 2
Содержание
• Часть 1. Технология MPLS. Подробности работы MPLS L3VPN.
• Часть 2. Inter-AS – опции A,B,C
• Часть 3. CSC
• Часть 4. Inter-AS L2 VPNs
3 3 3
Часть 1.
Технология MPLS. Подробности работы MPLS
L3VPN.
4 4 4
Прохождение транзитного трафика через AS
AS 200
AS 300
AS 100 B
Border A
D
C
iBGP
10.1.1.0/24
10.2.2.0/24
10.3.3.0/24
30.1.1.0/24
30.2.2.0/24
30.3.3.0/24
20.1.1.0/24
20.2.2.0/24
20.3.3.0/24
X
Y
10 - NH - A
10 - NH - B
10 - NH - C
10 - NH - B
10 - NH - B
5 5 5
Пересылка трафика по IP-заголовку:
- Необходимо чтобы все маршрутизаторы на пути прохождения трафика имели таблицу маршрутизации содержащую информацию о сетях в соседних AS
- Для этого необходимо включение BGP на маршрутизаторах внутри AS (или на пограничном маршрутизаторе распространение маршрутов из BGP в IGP, используемый внутри AS)
- В сети сервис провайдера, через которую транзитом проходит трафик Интернет, необходимо на каждом транзитном маршрутизаторе хранить 300 000 маршрутов сети Интернет
Transit AS
Core1 Border1
Border2
Core2
ISP1 ISP2
IBGP IBGP RR RR
IBGP
EBGP EBGP
EBGP
Border3
ISP3
6 6 6
IP-маршрутизация:
Transit AS
Core1 A
B
Core2
X
Y
C
Z
10 - NH - X
20 - NH - X
30 - NH - X
40 - NH - B
50 - NH - B
60 - NH - B
70 - NH - C
80 - NH - C
90 - NH - C
10
20
30 40
50
60
70
80
90
10 - NH - A
20 - NH - A
30 - NH - A
40 - NH - B
50 - NH - B
60 - NH - B
70 - NH - Z
80 - NH - Z
90 - NH - Z
10 - NH - A
20 - NH - A
30 - NH - A
40 - NH - Y
50 - NH - Y
60 - NH - Y
70 - NH - C
80 - NH - C
90 - NH - C
10 - NH - A
20 - NH - A
30 - NH - A
40 - NH - B
50 - NH - B
60 - NH - B
70 - NH - C
80 - NH - C
90 - NH - C
10 - NH - A
20 - NH - A
30 - NH - A
40 - NH - B
50 - NH - B
60 - NH - B
70 - NH - C
80 - NH - C
90 - NH - C
X – Int E0/0
B – Int E0/1
C – Int E0/1
A – Int E0/0
B – Int E0/1
C – Int E0/1
A – Int E0/0
B – Int E0/1
C – Int E0/2 A – Int E0/0
B – Int E0/0
Z – Int E0/1
A – Int E0/0
С – Int E0/0
Y – Int E0/1
E0/0 E0/1 E0/0 E0/1
E0/2
E0/0
E0/1
E0/0 E0/1
E0/1
E0/0 40 40 40
40
40
8 8 8
Cisco Express Forwarding (CEF)
BGP Table
Address Prefix AS-Path Communities Other Attributes Next-Hop
40.0.0.0 /8 100 36:12 10.1.1.17
... ... ... ... ... ...
IP Routing Table
(RIB)
Address Prefix
/8
... ...
FIB Table
(CEF Cache)
Next-Hop Outgoing Interface Address Protocol
BGP
ARP Cache
Adjacency Pointer
...
1.1.1.1 Ethernet 0/1 10.1.1.16 OSPF
--- Ethernet 0/1 1.1.1.0 conn.
MAC Address
...
IP Address
...
Layer 2 Header
...
Adjacency Table
IP Address
...
1.1.1.1 MAC Header
Prefix
/8
/30
/24
10.1.1.17 --- 40.0.0.0
0c.00.11.22.33.44 1.1.1.1
40.0.0.0 1.1.1.1
9 9 9
Появление «метки»
Идея – на пакет, поступивший на пограничный маршрутизатор, приклеить «метку», указывающую на какой выходной маршрутизатор отправить данный пакет.
Пограничных маршрутизаторов немного, каждому будет соответствовать своя метка, меток будет немного.
Необходимо распространить внутри AS информацию какому пограничному маршрутизатору какая метка соответствует.
10 10 10
Появление «Метки»:
Transit AS
Core1 A
B
Core2
X
Y
C
Z
10 - NH - X
20 - NH - X
30 - NH - X
40 - NH - B
50 - NH - B
60 - NH - B
70 - NH - C
80 - NH - C
90 - NH - C
10
20
30 40
50
60
70
80
90
10 - NH - A
20 - NH - A
30 - NH - A
40 - NH - B
50 - NH - B
60 - NH - B
70 - NH - Z
80 - NH - Z
90 - NH - Z
10 - NH - A
20 - NH - A
30 - NH - A
40 - NH - Y
50 - NH - Y
60 - NH - Y
70 - NH - C
80 - NH - C
90 - NH - C
X – Int E0/0
B – Int E0/1
C – Int E0/1 A – Int E0/0
B – Int E0/0
Z – Int E0/1
A – Int E0/0
B – Int E0/0
Y – Int E0/1
E0/0 E0/1 E0/0 E0/1
E0/2
E0/0
E0/1
E0/0 E0/1
E0/1
E0/0
A – Int E0/0
B – Int E0/1
C – Int E0/1
A – Int E0/0
B – Int E0/1
C – Int E0/2
L1 – Int E0/0
L2 – Int E0/1
L3 – Int E0/1
L1 – Int E0/0
L2 – Int E0/1
L3 – Int E0/2 A – L1
B – L2
C – L3
A – L1
B – L2
C – L3
A – L1
B – L2
C – L3
L2
L2
L2
L3
L3
L3
L1
L1
L1
L2
L2
L2
L1
L1
L1
L3
L3
L3
IGP
BGP
LDP - Lable Distribution Protocol
40 L2 40 L2 40 L2
40 L2
40 PHP - Penultimate Hop Popping
A – L1
B – L2
C – L3
A – L1
B – L2
C – L3
11 11 11
Transit AS
Core1 Border1 Border2
Core2
ISP2 ISP1
Использование протокола BGP в MPLS-сети
• Только пограничный маршрутизатор должен иметь процесс BGP.
• Центральные маршрутизаторы запускают только просессы IGP ( OSPF,ISIS, EIGRP,RIP)
• Маршрутизаторы запускают LDP для распространения меток для адресов next-hop.
EBGP EBGP IBGP
12 12 12
Label Distribution Protocol (LDP) – протокол распространения меток. Label Switch Path (LSP) – путь потока информации принадлежащего одному классу через сеть MPLS.
• IGP протокол маршрутизации определяет путь.
LSP:
AB D G I
A
B
C
D
E
F
G
H
I
IP routing
protocol
updates
Основные термины и определения
13 13 13
Назначение метки в MPLS - 1
Edge LSR
Control Plane
Data Plane
Routing Protocol (OSPF, BGP и др.)
Label Distribution Protocol (LIB)
Label Forwarding Table (LFIB)
IP Routing Table (RIB)
IP Forwarding Table (FIB)
Обмен
роутинговой Информацией (IGP,BGP)
Обмен
Метками (LDP)
Прием
пакетов с меткой
Отправление
Ip-пакетов
Прием
ip-пакетов
Отправление
Пакетов с меткой
1. Протокол IP-маршрутизации строит таблицу маршрутизации (IP routing table).
CE
F
2. Маршрутизатор ставит в соответствие каждому маршруту в таблице маршрутизации метку, обменивается метками с соседями, свои и полученные от соседей метки складывает в LIB
3. Маршрутизатор выбирает какую из полученных от соседей или собственную метку занести в LFIB.
Выбор идет по IP routing table – метка пришедшая от того соседа, на которого показывает IP-маршрут, считается лучшей и заносится в LFIB.
1
2
3
14 14 14
Loopback
10.1.1.1
LFIB:
34pop
LIB:
10 pop
A
B
C
D
E
F
G
H
I
Пример построения туннеля LSP
• LDP распространяет метки переводя путь в LSP-туннель.
A
B
C
D
E
F
G
H
I
23
LFIB:
7716
LIB:
10 16
10 51
LFIB:
1634
LIB:
10 23
10 34
10 51
LFIB:
push77
LIB:
10 77
10 57
15 15 15
Взаимодействие MPLS и BGP
• Метки назначаются для префиксов IGP-маршрутов.
• BGP-префиксы используют те метки которые используются для BGP next-hop адреса. BGP-префиксы полученные через один пограничный маршрутизатор имеют одинаковый адрес next-hop и таким образом используют одну и туже метку
IP Routing
Table
Next-Hop Outgoing Interface Address Protocol
BGP
10.1.1.1 Ethernet 0/1 20.1.1.16 OSPF
--- Ethernet 0/1 10.1.1.0 conn.
Prefix
/30
/24
20.1.1.17 --- 20.0.0.0
16 16 16
MPLS-Based Transit AS Построение таблиц FIB и LFIB
Core1 Border2
Core2
ISP2
Border1
ISP1
1.2.3.4
10.0.0.0 next-hop 1.2.3.4
FIB:
1.2.3.4 loopback0
LFIB:
1.2.3.4/32
1.2.3.4/32
L=pop
FIB:
1.2.3.4 pop
LFIB:
35 pop
1.2.3.4/32
1.2.3.4/32
L=35
FIB:
1.2.3.4 35
LFIB:
23 35
1.2.3.4/32
1.2.3.4/32
L=23
FIB:
1.2.3.4 23
LFIB:
push 23
FIB:
1.2.3.4 23
10.0.0.0 23
FIB:
10.0.0.0 1.2.3.5
1.2.3.4 loopback0
1.2.3.5
AS
17 17 17
Core1 Border2
Core2
ISP2
Border1
ISP1
MPLS-Based Transit AS Прохождение пакета
1.2.3.4
FIB:
1.2.3.4 serial0/0
LFIB:
FIB:
1.2.3.4 pop
LFIB:
35 pop
FIB:
1.2.3.4 35
LFIB:
23 35
FIB:
1.2.3.4 23
LFIB:
push 23
FIB:
1.2.3.4 23
10.0.0.0 1.2.3.4
FIB:
10.0.0.0 1.2.3.5
1.2.3.4 loopback 0
10.1.1.1 23 10.1.1.1 35 10.1.1.1
1.2.3.5
18 18 18
MPLS L3VPN
19 19 19
Терминология
Customer A
Site #1
Site #1
CE router
Customer A
Site #2
Customer B
Site #1
Customer B
Site #3
Customer B
Site #2
Customer A
Site #4
Remote
Office
Remote
Office
Customer A
Site #3
Customer B
Site #4
PE Router
POP-X P Router PE Router
POP-Y
P-Network
• VPN – Виртуальная частная сеть
P Router
Customer network (C-network): часть сети
подконтрольная пользователю
Provider network (P-network):
инфраструктура сервис-
провайдера предоставляющая
VPN-сервисы
Customer edge (CE) device: устройство в C-сети
которое подключено к P-сети; также называется
customer premises equipment (CPE)
Provider edge (PE) device:
устройство в P-сети к которому
подключено CE-устройство
Provider (P) device: устройство в P-
сети к которому НЕ подключены
пользователи
20 20 20
Архитектура PE-маршрутизатора PE Router
Глобальный
IP Router P Router Customer A
Site #1
Customer A
Site #2
Customer B
Site #1
Virtual IP Routing
Table клиента A
Virtual IP Routing Table клиента B
Global IP Routing Table
Customer A
Site #3 Отдельные виртуальные
маршрутизаторы клиентов
выглядят как виртуальные
таблицы маршрутизации на
РЕ-маршрутизаторе
Виртуальный
Маршрутизатор
Клиента А
Виртуальный
Маршрутизатор
Клиента В
E0/1
E0/2
E0/3
E0/4
E0/5
21 21 21
P-Network
P Router
Customer A
Customer B
Customer A
Customer C
Customer B
PE Router X PE Router Y
Customer C
Распространение маршрутной информации клиентов через сеть провайдера
Q: Как PE-маршрутизаторы будут обмениваться маршрутной информацией
пользователей?
IGP for Customer C
IGP for Customer B
IGP for Customer A
IGP for Customer C
IGP for Customer B
IGP for Customer A
A1: Через отдельный Interior Gateway Protocol (IGP) запущенный для
каждого пользователя через P-сеть.
• Решение не масштабируемое.
• P-маршрутизатор будет иметь все маршруты сетей клиентов.
22 22 22
P-Network
Отдельный протокол маршрутизации для
переноса маршрутной информации сетей клиентов
Между PE-маршрутизаторами
P Router
Customer A
Customer B
Customer A
Customer C
Customer B
PE Router X PE Router Y
Customer C
Распространение маршрутной информации клиентов через сеть провайдера
Для обмена пользовательскими маршрутными таблицами между
PE-маршрутизаторами используется протокол BGP.
Адрес пользователя расширяется при помощи 64-битного префикса
(route distinguisher—RD) который делает маршрут уникальным .
Уникальный 96-битный адрес существует между РЕ-
маршрутизаторами
23 23 23
MPLS VPN маршрутизация с позиции PЕ
PE-CE: протокол маршрутизации (VPN Routing)
PE-P-PE: глобальный IGPпротокол маршрутизации для обмена инфраструктурными маршрутами
PE-PE: MP- BGP обмен VPNv4 маршрутами между PE
MPLS VPN Backbone
P Router PE Router PE Router
CE Router
CE Router
CE Router
CE Router
MP-BGP
IGP IGP
VPN Routing VPN Routing
24 24 24
Использование Route Distinguisher в MPLS VPN
P-Network
PE 1 PE 2
Customer A
Customer B
Customer A
Customer B
CE-маршрутизатор посылает IPv4
маршрутную информацию PE-
маршрутизатору.
A 64-bit Route Distinguisher
подготавлявает пользовательский
IPv4-префикс и делает его
унакльным в виде 96-bit VPNv4-
прификса
96-bit VPNv4-префикс передается
через BGP другому
PE-маршрутизатору.
25 25 25
Использование Route Distinguisher и Route Targets в MPLS VPN
P-Network
PE 1 PE 2
Customer A
Customer B
Customer A
Customer B
PE маршрутизатор посылает
полученный IPv4 префикс к CE
маршрутизатору.
RD удаляется из VPNv4 prefix, в
результате получаем 32-bit IPv4
prefix.
Маршрут заносится в тот или
иной VRF при совпадении RT , которым он подписан, и значения
RT для даннаого VRF
настроенного на данном РЕ
Customer VRF
BGP Table
26 26 26
Содержание записи в MP-BGP Update
- VPNv4 address (RD+IP address)
- Extended communities - route targets
- Метка которая используются для данного маршрута в данной VPN
- Все остальные BGP атрибуты (AS path, local preference, MED, standard community …)
8 Bytes
Route-Target
3 Bytes
Label
MP-IBGP update : RD, RT, и Label
100:1
8 Bytes 4 Bytes
RD IPv4
VPNv4
10.1.1.0 100:5 286
27 27 27
10 – CE1-1 – E0/0
20 – CE1-1 – E0/0
30 – CE1-1 – E0/0
40 – L21/L2– E0/1
50 – L22/L2 – E0/1
60 – L23/L2 – E0/1
100:40 NHB L21
100:50 NHB L22
100:60 NHB L23
200:40 NHB L24
200:50 NHB L25
200:60 NHB L26
2: VPN-метка объявляется всем PE в MP-BGP update.
3: стек меток строится в VRF клиента
1: VPN-метка назначается на каждый маршрут в VPN на PE
Core1 A B Core2
CE1-1 CE2-1
C CE2-2
100:10 NHA L11
100:20 NHA L12
100:30 NHA L13
200:10 NHA L14
200:20 NHA L15
200:30 NHA L16
10
20
30 40
50
60
A – conn-loop0
B – Core1-E0/1
E0/0
E0/1
E0/0
E0/1
E0/0
E0/1
E0/2
E0/1
E0/0
A – A-E0/0
B – Core2-E0/1 IGP
MP-BGP VPNv4
40 L21/L2 40 L21 40
A – pop
B – L7
CE2-1
LFIB
40
50
60 A – Core1-E0/0
B – B-E0/1
A – Core2-E0/0
B – conn-loop0
A – L9
Pop - B
A – L8
B – L2
A – L3
B – L5
10,20,30
E0/0
E0/2
10
20
30
10
20
30
VRFs RIB
A
B – L2 pop – L8
L2 – L5 L8 – L3
L5 – pop
A – L3
B
10
20
30
100:40 NHB L21
100:50 NHB L22
100:60 NHB L23
200:40 NHB L24
200:50 NHB L25
200:60 NHB L26
100:10 NHA L11
100:20 NHA L12
100:30 NHA L13
200:10 NHA L14
200:20 NHA L15
200:30 NHA L16
40 NHB
50 NHB
60 NHB
40 NHB
50 NHB
60 NHB
40
50
60
40
50
60
10
20
30
10
20
30
40,50,60
LDP
10 NHA
20 NHA
30 NHA
10 NHA
20 NHA
30 NHA
40
50
60
40
50
60
40 L21/L5 40 L21
10 – CE1-2 – E0/1
20 – CE1-2 – E0/1
30 – CE1-2 – E0/1
40 – L24/L2 – E0/1
50 – L25/L2 – E0/1
60 – L26/L2 – E0/1
FIB
(IP CEF)
10 – L11/L3 – E0/0
20 – L12/L3 – E0/0
30 – L13/L3 – E0/0
40 – CE2-1 – E0/1
50 – CE2-1 – E0/1
60 – CE2-1 – E0/1
10 – L14/L3 – E0/0
20 – L15/L3 – E0/0
30 – L16/L3 – E0/0
40 – CE2-2 – E0/2
50 – CE2-2 – E0/2
60 – CE2-2 – E0/2
28 28 28
Некоторые правила в MPLS VPN
• Непрерывный LSP-туннель строиться между адресами PE
• Адреса PE используемые в BGP-анонсах как BGP next hops распространяются по сети с помощью IGP. Они не должны суммаризоваться в магистрали сети т.к. суммаризация прерывает LSP-туннель от РЕ к РЕ.
• Адрес, используемый как BGP next hop, не должен изменяться при распространении апдейта MP-BGP по сети.
29 29 29
QoS в MPLS метке
Метка MPLS имеет 3 бита - experimental bits.
Маршрутизаторы Cisco автоматически копируют 3 бита IP Precedence в 3 бита MPLS experimental.
Далее по пути трафика маршрутизаторы могут обслуживать трафик исходя из значения MPLS experimental bits.
LABEL IP Frame
Header
Frame
Header
Payload
Payload IP
IP Precedence
MPLS Experimental
30 30 30
Часть 2.
Inter-AS MPLS
31 31 31
Объединение MPLS-сетей провайдеров
• Цель – объединение нескольких MPLS-сетей с раздельным управлением
• Причина – Пиринг MPLS VPN-сетей двух провайдеров, расширение территории, сохранение первоначальной структуры..
• Поддержка первоначальной организации сети с несколькими доменами
Существуют две модели:
1. Взаимодействие автономных систем (Inter-AS)
2. Каскадная стыковка сетей операторов (CSC)
AS3 AS2 AS1 Абонент1 Абонент1
АбонентN АбонентN
32 32 32
Взаимодействие автономных систем
CSC - Каскадная стыковка сетей операторов
• Иерархическая модель
• Оператор А не имеет собственную магистральную сеть. Оператор A является клиентом Магистрального оператора
• Магистральный оператор не интересуется информацией о VPN-подключениях абонентов оператора А
Inter-AS - Взаимодействие автономных систем
• Партнерская (пиринговая) модель
• Сервис-провайдеры обслуживают общую абонентскую базу
• Оба провайдера должны поддерживать VPN MPLS своих абоненттов
• Провайдеры-партнеры обмениваются информацией о VPN-подключениях абонентов
Магистральный
Оператор
MPLS
Оператор А Оператор А
Абонент A –
объект 1 Абонент A –
объект 2
Абонент A –
объект 1 Абонент A –
объект 2
Оператор A Оператор B
ASBR-A ASBR-B
33 33 33
Взаимодействие Inter-AS VPN
VPN-A VPN-A
CE-2
A: Back-to-back VRFs
B:MP-eBGP for VPNv4
C:Multihop MP-eBGP
Несколько способов обмена VPNv4 префиксами
между сервис провайдерами (A, B, C)
AS #1 AS #2
Client-A Client-A
CE-1
ASBR_1
RR RR
ASBR_2
PE-2 PE-1
34 34 34
Каждый ASBR общается с
соседним ASBR как с CE
Inter-AS VPN — Опция A ASBRs используют Back-to-Back VRFs соединения
• Два провайдера предпочитают не делать между собой MPLS линк
• Один подинтерфейс между ASBR-ми на каждую VPN/VRF
• Пакеты между ASBR-ми передаются как IP пакеты
• Может использоваться любой PE-CE протокол маршрутизации
• IP QoS политики определяются и настраиваются на ASBR вручную для каждого подинтрефейса
• Опция A наиболее безопасна и проста в настроке
• Но при большом количестве VPN управлять конструкцией непросто
AS1 PE-ASBR1
PE1
P1
Unlabeled
IP Packets
AS2 PE-ASBR2
PE2
P2 P1
IP IP 40 ASBR1 IP 40 IP IP IP 80 PE2 IP 80
34
VRF-Lite
Configuration
BGP VPN-IPv4
Net=RD:17.1/16
NH=ASBR1
Route Target 100:1
VPN Label=40
BGP VPN-IPv4
Net=RD:17.1/16
NH=PE2
Route Target 200:1
VPN Label=80
35 35 35
10 – CE1 – E0/0 - unlabeled
20 – ASBR1 – E0/1 – L23/L1
100:20/8 NH-PE2 L21
ASBR1 PE1 PE2 ASBR2 CE1 CE2
C
100:10/8 NH:PE1 L11
PE1
ASBR1
PE1
ASBR1 IGP
MP-BGP VPNv4
20 20
ASBR1 L1 LFIB
PE2
ASBR2
PE2
ASBR2
ASBR2 – L4 PE1 – L2 PE2 – L3
10/8
10/8 NH:CE1
20/8
LDP
20/8 NH:CE2
20 L28 20 L21/L3
FIB
AS 1 AS 2
20 L23/L1
100:10/8 NH:ASBR1 L17 100:10/8 NH:ASBR2 L13 10/8 NH:PE2
100:20/8 NH-ASBR2 L28 100:20/8 NH-ASBR1 L23 20/8 NH-PE1
FIB
MP-BGP VPNv4
Inter-AS VPN — Опция B ASBRs используют MP-eBGP VPNv4 для обмена VPN-маршрутами c метками
10 – ASBR2 – E0/0 – L13/L4
20 – CE2 – E0/1 – unlabeled
LFIB L17 – L11/L2 – E0/0
L23 – L28 – E0/1
L13 – L17 – E0/0
L28 – L21/L3 – E0/1
Все VPNv4 Префиксы с метками приезжают со всех PEs на ASBR
Когда VPNv4 маршруты перемещаются из домена в домен адреса Next Hop и labels
переназначаются на ASBR. ASBR хранят все VPNv4 маршруты в BGP таблице.
36 36 36
2. Редистрибьюция линка eBGP в IGP в обеих AS
Inter-AS VPN—Option B Линк между двумя ASBR-ми – два подхода
ASBR1 ASBR2
PE1 PE2
AS #1 AS #2
IGP2 IGP1
36
ASBR1 ASBR2
PE1 PE2
AS #1 AS #2
Я Next Hop
для AS2
Я Next Hop
для AS1
1. Установка адреса ASBR как адреса next hop в VPNv4 апдейте
37 37 37
• Нет необходимости заводить VRF на ASBR
• В IOS, принимающий маршрут ASBR автоматически создает /32 маршрут на соседний ASBR
Который должен быть объявлен в IGP принимающей стороны если next-hop-self не используется для создания LSP
• В IOS XR вы должны создать статический маршрут на адрес Next Hop соседнего ASBR для опции B и C для всех address families (IPv4, IPv6, VPNv4, VPNv6).
• В IOS XR для eBGP сессии вы должны создать route-policy где указать какие из маршрутов вы пропускаете или блокируете в направлении этого внешнего соседа. Сделать это для все address families (IPv4, IPv6, VPNv4, VPNv6).
• Маршрутизаторы ASBR-ASBR должны быть соединены прямым линком. Можно использовать GRE-туннель.
Inter-AS VPN — Опция B Некоторые особенности
38 38 38
Inter-AS VPN—Option B Настройка eBGP на маршрутизаторе ASBR с Cisco IOS
PE1 PE2
AS #1 AS #2
CE1
VPN-R1 VPN-R2
CE2
ASBR1 ASBR2
eBGP for
VPNv4
Interface E1/0 mpls bgp forwarding ! router bgp 1 neighbor <ASBR2> remote-as 2 neighbor <PE1> remote-as 1 neighbor <PE1> update-source loopback0 no bgp default route-target filter ! address-family vpnv4 neighbor <PE1> remote-as 1 activate neighbor <PE1> remote-as 1 next-hop-self neighbor <ASBR2> remote-as 2 activate neighbor <ASBR2> remote-as 2 send-comm extended ASBR требует наличия команды no bgp default route-target filter чтобы принять и
хранить VPNv4 маршруты несмотря на то что на ASBR нет VRFов, т.к. обычно PE отбрасывает VPNv4 маршруты если у него нет соответствующих VRFов.
E1/0
39 39 39
! neighbor <PE1> remote-as 1 update-source loopback0 address-family vpnv4 unicast next-hop-self (!Set ASBR1 as next-hop-self!) ! router static 50.0.0.2/32 interface gig0/0/1 ! (!Static Route for ASBR-ASBR link must be configured. It is not installed automatically like in IOS!)
PE1 PE2
AS #1 AS #2
ASBR1 ASBR2 eBGP for VPNv4
Int gig0/0/1
50.0.0.1
Int gig0/0/1
50.0.0.2
Inter-AS VPN—Option B Настройка eBGP на маршрутизаторе ASBR с Cisco IOS XR
router bgp 1 mpls activate (Enables MPLS forwarding on ASBR) interface <type & #> (Specify ASBR-ASBR link) address-family vpnv4 unicast ! neighbor <ASBR2> remote-as 2 address-family vpnv4 unicast (Initialize VPNv4 address family for ASBR) route-policy pass-all in route-policy pass-all out (Allow forwarding of VPNv4 routes to other AS) ! route-policy pass-all pass end-policy !
Примечание: Static route и route-policy требуются для всех address-families в Option B и C
40 40 40
10 – CE1 – E0/0 - unlabeled
20 – PE2 – E0/1 – L21/L?
100:20/8 NH-PE2 L21
ASBR1 PE1 PE2 ASBR2 CE1 CE2
C
100:10/8 NH:PE1 L11
PE1
ASBR1
PE1
ASBR1 RIB
MP-BGP VPNv4
20 20
ASBR1 L1 LIB
PE2
ASBR2
PE2
ASBR2
ASBR2 – L4 PE1 – L2 PE2 – L3
10/8
10/8 NH:CE1
20/8
20/8 NH:CE2
20 L21/L3 20 L21/L3
FIB
AS 1 AS 2
20 L21/L3
100:10/8 NH:PE1 L11 100:10/8 NH:PE1 L11
10/8 NH:PE2
100:20/8 NH-PE2 L21 20/8 NH-PE1
MP-BGP VPNv4
Inter-AS VPN — Опция С RRs используют MP-eBGP VPNv4 для обмена VPN-маршрутами c метками
10 – PE1 – E0/0 – L11/L?
20 – CE2 – E0/1 – unlabeled LFIB L2 – E0/0
L3 – E0/1
L2 – E0/0
L3 – E0/1
RR1 RR2
eBGP IPv4 + Labels или IGP + LDP
PE2 L3 PE1 – L2 PE2 – L3 PE1 – L2
PE2
ASBR2 PE2
ASBR2 PE1
ASBR1
PE1
ASBR1
100:10/8 NH:PE1 L11
L3 L2
ASBRs хранят и обмениваются адресами и метками PE loopbacks
RRs хранят и обмениваются VPNv4 клиентскими маршрутами и их метками
41 41 41
• Route Reflectors обмениваются VPNv4 маршрутами
• ASBRs обмениваются адресами loopbacks PE (IPv4) с метками для них т.к. это BGP
NH адреса
• ASBRs не хранят VPNv4 префиксы с их метками.
• Два варианта передачи меток BGP NH адресов для PEs :
1. BGP IPv4 + Labels (RFC3107) – предпочтительный и рекомендуемый
2. IGP + LDP
Inter-AS VPN — Опция С Multihop eBGP VPNv4 между RRs для обеспечения хорошей масштабируемости
RFC3107: BGP exchange Label Advertisement Capability – делает возможным создание
end-end LSP пути
Поле Subsequent Address Family Identifier (SAFI имеет значение «4») используется чтобы показать что NLRI содержит метку
Необходимо выключить Next-hop-self на eBGP сессии между RRs
1.eBGP IPv4 + Labels
2.IGP + LDP
PE1 PE2 AS #1 AS #2
RR1 RR2 eBGP for VPNv4
ASBR1 ASBR2
42 42 42
ASBR1
RR2
ASBR2
RR1
PE1 PE2
I-AS VPN—Option C IPv4+Label, Cisco IOS Configuration
router bgp 1 address-family ipv4 network 1.1.1.1 mask 255.255.255.255 (loop0 PE1) neighbor <RR1> activate neighbor <RR1> send-label
! router bgp 1 neighbor <RR2> remote-as 2 neighbor <RR2> ebgp-multihop 255 neighbor <RR2> update-source loop0 ! address-family ipv4 neighbor <PE1> activate neighbor <PE1> send-label neighbor <ASBR1> activate neighbor <ASBR1> send-label ! address-family vpnv4 neighbor <RR2> activate neighbor <RR2> send-comm extend neighbor <RR2> next-hop-unchanged
Interface e1/0 mpls bgp forwarding router bgp 1 address-family ipv4 neighbor <ASBR2> activate neighbor <ASBR2> send-label neighbor <RR1> activate neighbor <RR1> next-hop-self neighbor <RR1> send-label
AS #1
43 43 43
ASBR1 RR2
ASBR2
RR1
PE1
PE2
I-AS VPN—Option C IPv4+Label, Cisco IOS XR Configuration
router bgp 1 neighbor <RR1> remote-as 1 address-family ipv4 labeled-unicast
! router bgp 1 address-family vpnv4 unicast ! neighbor <RR2> remote-as 2 address-family vpnv4 unicast ebgp-multihop 255 next-hop-unchanged !
router bgp 1 neighbor <RR1> remote-as 1 address-family ipv4 labeled-unicast neighbor <ASBR2> remote-as 2 address-family ipv4 labeled-unicast route-policy <RPL> in route-policy <RPL> out
AS #1
AS #2
44 44 44
Элементы безопасности Inter-AS
• MD5 авторизация на LDP/BGP сессиях
• Применять max prefix
• Применять Static Labels
• Проверять TTL для обнаружения DoS атак
• В BGP фильтровать маршруты по атрибутам ASPATH, ext communities, проверять RDs и т.д. Ставить route-maps для приема и отсылки только требуемых префиксов
• Фильтрация по RT ( RT Constraint )
• Управление Route Targets, перезапись RT (RT Rewrite)
45 45 45
Route Target Rewrite Example
VPN-A-1 VPN-A-2
PE-1
PE2
CE2
PE-ASBR1
PE-ASBR2
CE-1
AS #1 AS #2
VPN-A
Export RT 100:1
Import RT 100:1
VPN-A
Export RT 200:1
Import RT 200:1
Rewrite RT:
200:1->100:1
Rewrite RT:
100:1->200:1
VPNv4
Exchange
Replace Incoming Update on ASBR2:
ip extcommunity-list 1 permit rt 100:1
!
route-map extmap permit 10
match extcommunity-list 1
set extcommunity-list 1 delete
set extcommunity rt 200:1 additive
!
route-map extmap permit 20
!
neighbor X.X.X.X route-map extmap in
46 46 46
Inter-AS L3VPN Summary • Три опции: A, B, и C
• Опиция A наиболее безопасная и наименее сложная, поддерживает гранулярный QoS.
• Опция B, более масштабируемая чем A для большого числа VRF и более приемлемая для разных провайдеров
• Менее сложная чем опция C, но более чем опиция A
• Более масштабируемая чем A при большом количестве VRFs
• Используется eBGP для ASBR пиринга
• ASBRs хранят VPNv4 маршруты и аллоцируют метки для них
• Опция C, наиболее масштабируемая, наиболее сложная и небезопасная, в основном применяется внутри одного SP с несколькими автономными системами
• ASBR-ы обмениваются IPv4 адресами интерфейсов loopback PE-маршрутизаторов
• Route Reflector-ы обмениваются VPNv4 маршрутами
47 47 47
Часть 3.
CSC
48 48 48
CSC VPN
Магистраль
MPLS
CSC-PE1 CSC-PE2
Магистральный провайдер
Москва
MSK-CSC-CE1
NS-CSC-CE2
MSK-PE1 NS-PE1
NS-PE2 MSK-PE2
VPN-E1 VPN-B1
VPN-C1
VPN-A1 VPN-A2
VPN-B2
VPN-C2 VPN-E2
MSK-RR1
NS-RR1
Абонент A
Абонент C
Оператор-Клиент подключенный к магистральному оператору
Новосибирск
Основные элементы: CSC-PE, CSC-CE, RR, PE, CE, External Routes, Internal Routes
49 49 49
CSC Model III Routing Exchange
RR1 и RR2 обмениваются VPNv4 маршрутами
MPLS
Backbone
CSC-PE1 CSC-PE2 CSC-CE2
Backbone
Service Provider CSC-CE1
ISP1 ISP1
PE RR1
PE1
RR2 PE
PE2
MPLS MPLS
CE1-red CE1-green CE2-
green CE2-red
eBGP + Label eBGP + Label
MP-iBGP VPNv4
50 50 50
Customer Carrier Supports MPLS VPNs Establishing peers and forwarding VPN traffic
CSC-PE1 CSC-PE2
PE1
Site A –
VPNA
149.27.2.0/24
Site B –
VPN A CE1
CE2
MP-iBGP Peering
VPN-v4 Update: RD:1:27:149.27.2.0/24,
NH=PE2 RT=1:231, Label=(28)
PE2 VRF VRF IP/MPLS
VRF CSC-CE2 CSC-CE1
Label Label=120
Label
Label=50 Label=100
Swap Push
Push
Swap Pop
Label
Label=28
Payload
Label=28
Payload
Label=28
Payload Payload
Label=28
Payload
Swap
Push
Label=28
Payload
Pop
Payload
CE2-VPN-Label
AS1 AS1
AS2
MPLS
MPLS
VRF
MP-iBGP
51 51 51
Best Practice рекомендации
• Не используйте Static default routes на CSC-CE
End-End LSP нужен через весь VPN и MPLS VPN магистраль
• Исопльзуйте динамическийпротокол вместо статики на CSC-CE – CSC-PE линке , лучше всего использовать eBGP+IPv4 Labels
• Если используете RRs в сети customer carrier настройте next-hop-unchanged на RRs
52 52 52
CSC Summary
• CSC поддерживает иерархические VPN
• VPNs внутри сети customer carrier’s не видны для backbone MPLS VPN Service Provider
• QoS между CSC-CE и CSC-PE будет сделан на MPLS EXP битах
• Сервисы поддерживаемые через CSC
MPLS IPV6 VPNs
Multicast VPNs
MPLS L2 VPNs
MPLS TE
53 53 53
Часть 4.
Inter-AS L2 VPNs
54 54 54
Описание L2VPNs
Pseudowire Targetted-LDP Peers
VC types & Labels exchanged
L2VPN – это L2-соединение через провайдерскую сеть между конечными точками подключения клиента
PW – это эмуляция соединения через IP или MPLS сеть
Virtual Circuit(VC) создается для каждого Attachment Circuit (AC)
Цель – передать трафик без изменения оригинального L2-формата
Маршрутизаторы L2VPN PE обмениваются метками для подключенных VC по T-LDP
IP/MPLS
AS1
PE2
PW2
PE1
AC
CE1
PW1
AC CE2
CE3
CE4
55 55 55
PE1
Псевдопровод
PE2
L2PDU 21 50 L2PDU 21 90
P1 P2
L2PDU 21 L2PDU
Туннель PSN 1. L2-маршрут
настраивается
на PE1
2. PE1 устанавливает
LDP-сессию с PE2
3. PE1 выделяет
метку VC и
связывает ее с VC
ID
4. PE1 отсылает на
PE2 сообщение
привязки метки,
содержащее тип VC
и метку VC
5. PE2 получает тип
VC и метку VC,
соответствующие
локальному коду
VC PE2 повторяет
шаги 1-5,
устанавливая
двустороннюю
привязку
меток/VCID
CE CE
Датацентр 1 Датацентр 2
Канал
подключения
Any Transport over MPLS
• Обмен информацией между PE в специализированном LDP-сеансе
• VC ID идентифицирует канал подключения. Метка VC идентифицирует псевдопроводное соединение.
• Поддерживается инкапсуляция HDLC, PPP, Ethernet, ATM и Frame Relay
56 56 56
Virtual Private LAN Service (VPLS) Обзор
• VSI: Virtual Switching Instance (или VFI-Virtual Forwarding Instance) – это таблица коммутации для данного VPNа.
• Для работы VPLS необходимы полносвязная структура псевдопроводных соединений (PW) между PE. PW настраиваются с помощью LDP. Полносвязная сеть псевдопроводных соединений представляет собой широковещательный L2-домен (подобный VLAN).
Полносвязная структура PW между VSI
Прямые LDP-сессии между PE
PE3
PE2
CE
CE
CE
CE
CE
CE
CE
CE
Туннель LSP
Зеленый VSI
Синий VSI
Красный VSI
Зеленый VSI
Синий VSI
Красный VSI
PE4
VPLS состоит из двух компонент:
PW
PW
PW
PW
57 57 57
L2VPN Inter-AS Три модели:
• Option A
• Никакая информация о маршрутах не передается между AS
• Option B
• Минимум маршрутов передается между AS
• ASBR настраиваются как S-PEs (multi-segment PWs)
• eBGP (IPv4 prefix + label)
используется для построения туннеля между AS
• Option C
Важная маршрутная информация
передается между AS
Односегментный PW создается через AS границы
PE1 IP/MPLS
ASBR1
PE2 IP/MPLS
ASBR2 AS X AS Y
Option C
LDP/RSVP-TE LDP/RSVP-TE eBGP (IPv4+Label)
Targeted-LDP
PE1 IP/MPLS
ASBR1
PE2 IP/MPLS
ASBR2 AS X AS Y
Option A
LDP/RSVP-TE LDP/RSVP-TE PW AC
Native Ethernet Targeted-LDP Targeted-LDP
PE1 IP/MPLS
ASBR1
PE2 IP/MPLS
ASBR2 AS X AS Y
Option B
LDP/RSVP-TE LDP/RSVP-TE eBGP (IPv4+Label)
Targeted-LDP Targeted-LDP Targeted-LDP
58 58 58
MPLS
L2VPN Inter-AS Option A
Push
Push
Label = 34
Label = 28
Payload Payload Payload
Label = 28
Payload
Pop Pop
VC and
Tunnel label
imposition
VC Label
Tunnel Label
Penultimate
Hop
Popping (PHP)
PW 2VC
label
disposition
MPLS CE-2 CE-1
PE1 PE2
Traffic direction
PW 1 VC
label
disposition
ASBR1
Label = 19
Payload
Pop Pop
Targeted-LDP RSVP-TE / LDP
ASBR2
Label = 88
Payload
Pseudowire 2 Pseudowire 1
Push
Push
Label = 88
Payload
Targeted-LDP RSVP-TE / LDP
Native Ethernet
on NNI
No MPLS
enabled
59 59 59
MPLS
L2VPN Inter-AS Option B
Push
Push
Label = 34
Label = 28
Payload Payload Payload
Label = 28
Payload
Pop Pop
VC and Tunnel
label imposition
VC Label
Tunnel Label
Penultimate Hop
Popping (PHP)
VC label
disposition
MPLS CE-2 CE-1
PE1 PE2
Traffic direction
PW switching point
VC labels swapped
ASBR1
Label = 19
Label = 45
Payload
Swap Pop
Targeted-LDP RSVP-TE / LDP
ASBR2
Label = 88
Payload
Pseudowire 3 Pseudowire 1
Swap
Push
Pseudowire 2
Label = 88
Payload
Targeted-LDP RSVP-TE / LDP
Targeted-LDP eBGP IPv4+Label
BGP on NNI used to
exchange tunnel label
No LDP on NNI
60 60 60
Inter-AS L2VPN Option B— IOS Configuration PE1
! interface giga1/0 xconnect <ASBR1> 10 encapsulation mpls !
PE2 ! interface giga1/0 xconnect <ASBR2> 20 encapsulation mpls !
ASBR1 ! pseudowire-class Pw-switch encapsulation mpls ! l2 vfi Pw-switch point-to-point neighbor <ASBR2> 100 pw-class pw-switch neighbor <PE1> 10 pw-class pw-switch ! Interface E1/0 mpls bgp forwarding ! router bgp 1 neighbor <ASBR2-E1/0> remote-as 2 *Также необходимо анонсировать адрес loop0 (xconnect ID) ASBR1 в IGP(AS1) и в eBGP
ASBR2 ! pseudowire-class pw-switch encapsulation mpls ! L2 vfi pw-switch point-to-point neighbor <ASBR1> 100 pw-class pw-switch neighbor <PE2> 20 pw-class pw-switch ! Interface E1/0 mpls bgp forwarding ! router bgp 2 neighbor <ASBR1-E1/0> remote-as1 *Также необходимо анонсировать адрес loop0 (xconnect ID) ASBR2 в IGP(AS2) и в eBGP
ASBR1 ASBR2 PW1
PW3
PE1 PE2
PW2 IP/MPLS
AS1
IP/MPLS
AS2
E1/0 E1/0
61 61 61
MPLS
L2VPN Inter-AS Option C
Push
Push
Label = 34
Label = 28
Payload Payload Payload
Label = 28
Payload
Pop Pop
VC and Tunnel
label imposition
VC Label
Tunnel Label
Penultimate Hop
Popping (PHP)
VC label
disposition
MPLS CE-2 CE-1
PE1 PE2
Traffic direction
PW switching point
VC labels swapped
ASBR1
Label = 19
Swap
Push
Pop
RSVP-TE / LDP/iBGP
ASBR2
Label = 28
Payload
Pseudowire 1
Swap
Push
Label = 28
Payload
RSVP-TE / LDP/iBGP Targeted-LDP
eBGP IPv4+Label
BGP on NNI used to
exchange tunnel label
No LDP on NNI
Label = 36
Label = 28
Payload
Label = 35
62 62 62
Inter-AS AToM Option C—Configuration
ASBR1 ! Activate IPv4 label capability ! router bgp 1 ! address-family ipv4 neighbor <PE1> send-label neighbor <ASBR-2> send-label
ASBR2 ! Activate IPv4 label capability ! router bgp 2 ! address-family ipv4 neighbor <PE2> send-label neighbor <ASBR-1> send-label
HOSTNAME PE2 ! interface Gig1/1/1 xconnect <PE1> 100 encapsulation mpls ! ! Activate IPv4 label capability ! router bgp 2 ! address-family ipv4 neighbor <ASBR-2> send-label
HOSTNAME PE1 ! interface Gig1/1/1 xconnect <PE2> 100 encapsulation mpls ! ! Activate IPv4 label capability ! router bgp 1 ! address-family ipv4 neighbor <ASBR-1> send-label
ASBR1 ASBR2 PE1 PE2
IP/MPLS
AS1
IP/MPLS
AS2
T-LDP Peers
Int
Gig1/1/1 Int
Gig1/1/1
Notice PW configuration remains the same as in intra-
AS network
63 63 63
Inter-AS L2VPNs – Ключевые моменты
• Все три I-AS модели поддерживаются и для VPWS или VPLS PWs
• Прозрачная передача трафика через PWs
• IOS поддерживает LDP для сигнализации, BGP для Autodiscovery( в случае VPLS)
• IOS XR поддерживает и LDP и BGP для сигнализации
• В опции B не поддерживается BGP сигнализация PWs
• Per-PW Quality of Service (QoS) не поддерживается.
• Attachment circuit inter-working поддерживается в IOS XR
• Поддерживается передача L2VPN virtual circuit через Traffic Engineering (TE) (tunnel selection) или GRE.
64 64 64
Customer Carrier A
ASBR1 ASBR2 PW1 PE1 PE2
ASBR3 ASBR4
L2VPN service support over a CSC network
ASBR1 ASBR2
PW1
PE1 PE2 ASBR3 ASBR4
Multi-Hop PW
Single-Hop PW Pseudowire
Pseudowire
MPLS Backbone Carrier
(CsC)
MPLS Backbone Carrier
(CsC)
Customer Carrier A
Customer Carrier A
Customer Carrier A
65 65 65
Рекомендуемая литература
3. MPLS Fundamentals
Luc De Ghein
1. www.cisco.com - BGP Case Studies
2. MPLS and VPN Architectures
Ivan Pepelnjak