Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

ШагОписаниеКомандаКлючи
1В контексте настройки параметров MPLS указать интерфейсы, участвующие в процессе MPLS-коммутации.

esr(config-mpls)# forwarding interface { <IF> | <TUN> }

<IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора;

<TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора.

2Задать router-id для LDP (не обязательно, если указан transport-address).

esr(config-ldp)# router-id { <ID> | <IF> | <TUN> }

<ID> – идентификатор маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

<IF> – интерфейс, задаётся в виде, описанном в разделе 
Типы и порядок именования интерфейсов маршрутизатора.

<TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора.

3

В контексте настройки address family ipv4 указать transport-address (не обязательно, если указан router-id).

esr(config-ldp-af-ipv4)# transport-address <ADDR>

<ADDR> – задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

4

В контексте настройки address family ipv4 указать интерфейсы для включения на них процесса LDP.

esr(config-ldp-af-ipv4)# interface { <IF> | <TUN> }


<IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора

<TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора.

5Включить процесс LDP.

esr(config-ldp)# enable


6Включить функционал explicit-null (не обязательно).

esr(config-ldp)# egress-label-type explicit-null


7В режиме конфигурирования соседа LDP задать пароль командой password (не обязательно).

esr(config-ldp-neig)# password {<TEXT> | ENCRYPTED-TEXT>}

<CLEAR-TEXT> – пароль, задаётся строкой длиной [8..16] символов;

<ENCRYPTED-TEXT> – зашифрованный пароль размером [8..16] байт ([16..32] символа) в шестнадцатеричном формате (0xYYYY...) или (YYYY...).

В рамках настройки протокола LDP также доступен следующий функционал:

...

Предварительная конфигурация ESR:

Предварительно на На интерфейсы должны быть назначены IP-адреса, отключен межсетевой экран и настроен один из протоков внутренней маршрутизации.

Предварительная конфигурация ESR:

Блок кода
hostname ESR
router ospf 1
  area 0.0.0.0
    enable
  exit
  enable
exit

      
interface gigabitethernet 1/0/1
  ip firewall disable
  ip address 10.10.10.1/30
  ip ospf instance 1
  ip ospf
exit

      
interface loopback 1
  ip address 1.1.1.1/32
  ip ospf instance 1
  ip ospf
exit

Scroll Pagebreak
Предварительная конфигурация ESR1:

Блок кода
hostname ESR1
router ospf 1
  area 0.0.0.0
    enable
  exit
  enable
exit

      
interface gigabitethernet 1/0/1
  ip firewall disable
  ip address 10.10.10.2/30
  ip ospf instance 1
  ip ospf
exit

      
interface loopback 1
  ip address 4.4.4.4/32
  ip ospf instance 1
  ip ospf
exit

...

ШагОписаниеКомандаКлючи
1Настроить протокол LDP (см. раздел Конфигурирование протокола LDP)
2В режиме конфигурации LDP задать параметр Keepalive

esr(config-ldp)# keepalive <TIME>

<TIME> – время в секундах в интервале [3..65535]

Значение по умолчанию: 180

Scroll Pagebreak

Алгоритм настройки параметра Keepalive holdtime для определенного соседа

...

Параметрtargeted-LDP
 Hello interval5 секунд
Hold timer 45 секунд
Keepalive holdtime 180 секунд

Scroll Pagebreak
Hold timer является согласуемым параметром – выбирается наименьший. В данном примере показано, что ESR после согласования установил 30 секунд:

...

Блок кода
ESR# sh running-config mpls
mpls
  ldp
    router-id 1.1.1.1
    neighbor 4.4.4.4
      keepalive 160
      targeted
      discovery targeted-hello holdtime 30
      discovery targeted-hello interval 45
    exit
  exit
exit

Scroll Pagebreak
Если параметры установлены и для процесса LDP, и на определенного соседа, приоритетом будут считаться настройки, установленные для соседа.

...

1Настроить протокол LDP (см. раздел Конфигурирование протокола LDP)
2В режиме конфигурации протокола LDP задать Hello holdtime

esr(config-ldp)# discovery targeted-hello holdtime <TIME>

<TIME> – время в секундах в интервале [3..65535]

Значение по умолчанию: 45

3

В режиме конфигурации протокола LDP задать Hello interval

esr(config-ldp)# discovery targeted- hello interval <TIME>

<TIME> – время в секундах в интервале [1..65535]

Значение по умолчанию: 5

4В режиме конфигурации протокола LDP задать Keepalive holdtime

esr(config-ldp)# keepalive <TIME>

<TIME> – время в секундах в интервале [3..65535]

Значение по умолчанию: 180

Scroll Pagebreak

Алгоритм настройки параметров Hello holdtime, Hello interval и Keepalive holdtime для определенного соседа

...

Блок кода
titleESR
ESR(config)# mpls
ESR(config-mpls)# ldp
ESR(config-ldp)# discovery targeted-hello holdtime 40
ESR(config-ldp)# discovery targeted-hello interval 10
ESR(config-ldp)# neighbor 4.4.4.4
ESR(config-ldp-neig)# keepalive 150
Scroll Pagebreak

Проверка:

Для просмотра hello-параметров targeted LDP-сессии:

...

ШагОписаниеКомандаКлючи
1Настроить протокол LDP (см. раздел Конфигурирование протокола LDP).
2Создать сетевой мост в системе без указания IP-адреса (см. раздел Настройка Bridge).
3Создать pw-class в системе и осуществить переход в режим настройки параметров pw-class.

esr(config-l2vpn)# pw-class <WORD>

<WORD> – имя pw-class длиной [1..31] символов.

4Добавить описание для pw-class (не обязательно).

esr(config-l2vpn-pw-class)# description <LINE>

<LINE> – описание. Задается в виде строки длиной [1..255] символов

5

Установить значение MTU для pseudo-wire входящих в pw-class (не обязательно).

esr(config-l2vpn-pw-class)# encapsulation
mpls mtu <MTU>

<MTU> – значение MTU, принимает значение в диапазоне [552..10000]

Значение по умолчанию: 1500.

6Отключить обмен status-tlv сообщениями (не обязательно).

esr(config-l2vpn-pw-class)# encapsulation
mpls status-tlv disable

Значение по умолчанию: status-tlv enable.
7Создать VPLS-домен в системе и осуществить переход в режим настройки параметров VPLS-домена.

esr(config-l2vpn)# vpls <NAME>

<NAME> – имя p2p-сервиса, задается строкой до 31 символа.

8Включить VPLS-туннель.

esr(config-l2vpn-vpls)# enable


9Добавить бридж-домен.

esr (config-l2vpn-vpls)# bridge-group <ID>

<ID> – идентификатор бридж-домена, задается в виде числа в диапазоне [1..250].
10Задать транспортный режим (не обязательно).

esr(config-l2vpn-vpls)# transport-mode
{ ethenet | vlan }

<ethernet> – режим, при котором при входе в pseudo-wire из заголовка удаляется 802.1Q тег;
<vlan> – режим, при котором 802.1Q тег может быть сохранен при передаче через pseudo-wire.
Значение по умолчанию: ethernet.

11Создать pseudo-wire и осуществить переход в режим настройки его параметров.

esr(config-l2vpn-vpls)# pw <PW_ID> <LSR_ID>

<PW_ID> – идентификатор psewdowire, задается в виде числа в диапазоне [1..4294967295 ]

<LSR_ID> – идентификатор LSR до которого строится pseudo-wire, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

12Добавить описание для pseudo-wire (не обязательно).

esr(config-l2vpn-pw)# description <LINE>

<LINE> – описание. Задается в виде строки длиной [1..255] символов.
13Задать pw-class для pseudo-wire.

esr(config-l2vpn-pw)# pw-class <WORD>

<WORD> – имя pw-class длиной [1..31] символов.

14Задать адрес LSR до которого устанавливается pseudo-wire (не обязательно, если neighbor address совпадает с LSR_ID).

esr(config-l2vpn-pw)# neighbor-address <ADDR>

<ADDR> – IP-адрес маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. 
15

Включить pseudo-wire.

esr(config-l2vpn-pw)# enable


16В случае если топология создаваемого VPLS-домена требует установить более одного pseudo-wire, повторить шаги с 10 по 14.
17В случае если необходимо изменить параметры по умолчанию для targeted LDP-сессии, обратитесь к разделу Конфигурирование параметров сессии в протоколе targeted-LDP.

...

ШагОписаниеКомандаКлючи
1Настроить протокол LDP (см. раздел Конфигурирование протокола LDP).
2Создать сетевой мост в системе без указания IP-адреса (см. раздел Настройка Bridge).
3Создать VPLS-домен в системе и осуществить переход в режим настройки параметров VPLS-домена.

esr(config-l2vpn)# vpls <NAME>

<NAME> – имя p2p-сервиса, задается строкой до 31 символа.

4Включить VPLS-туннель.

esr(config-l2vpn-vpls)# enable


5

Добавить бридж-домен.

esr(config-l2vpn-vpls)# bridge-group <ID>

<ID> – идентификатор бридж-домена, задается в виде числа в диапазоне [1..250].

6Перейти в контекст настройки autodiscovery bgp.

esr(config-l2vpn-vpls)# autodiscovery bgp


7Указать route distinguisher для данного экземпляра VPLS.

esr(config-bgp)# rd <RD>

<RD> – значение Route distinguisher, задается в одном из следующем видеследующих видов:

  • <ASN>:<nn> – где <ASN> – принимает значение [1..65535], nn – принимает значение [1..65535];
  • <ADDR>:<nn> – где <ADDR> имеет вид – AAA.BBB.CCC.DDD/EE и AAA-DDD принимают значения [0..255], а nn – принимает значение [1..65535];
  • <4ASN>:<nn> – где <4ASN> – принимает значение [1..4294967295], nn – принимает значение [1..65535].
8Указать route target import для данного экземпляра VPLS.

esr(config-bgp)# route-target import <RT>

<RT> – значение route-target, задается в одном из следующих видов:

  • <ASN>:<nn> – где <ASN> – принимает значение [1..65535], nn – принимает значение [1..65535];
  • <ADDR>:<nn> – где <ADDR> имеет вид – AAA.BBB.CCC.DDD/EE и AAA-DDD принимают значения [0..255], а nn – принимает значение [1..65535];
  • <4BASN>:<nn> – где <4ASN> – принимает значение [1..4294967295], nn – принимает значение [1..65535].
9Указать route target export для данного экземпляра VPLS.

esr(config-bgp)# route-target export <RT>

<RT> – значение route-target, задается в одном из следующих видов:

  • <ASN>:<nn> – где <ASN> – принимает значение [1..65535], nn – принимает значение [1..65535];
  • <ADDR>:<nn> – где <ADDR> имеет вид – AAA.BBB.CCC.DDD/EE и AAA-DDD принимают значения [0..255], а nn – принимает значение [1..65535];
  • <4BASN>:<nn> – где <4ASN> – принимает значение [1..4294967295], nn – принимает значение [1..65535].
10Указать ve id.

esr(config-bgp)# ve id <ID>

<ID> – идентификатор экземпляра VPLS, задается в виде числа в диапазоне [1..16384].

11Указать vpn id.

esr (config-bgp)# vpn id <ID>

<ID> – идентификатор VPN, задается в виде числа в диапазоне [1..4294967295].

12Указать ve range (не обязательно).

esr (config-bgp)# ve range <RANGE>

<RANGE> – диапазон идентификаторов пограничных устройств VPLS [8..100].
13Указать mtu (не обязательно).

esr (config-bgp)# mtu <VALUE>

<VALUE> – значение MTU [552..10000].

14Включить игнорирование типа инкапсуляции (не обязательно).

esr(config-bgp)# ignore encapsulation-mismatch


15

Включить игнорирование значений MTU (не обязательно).

esr(config-bgp)# ignore mtu-mismatch


16В контексте настройки address-family l2vpn vpls протокола BGP включить передачу расширенных атрибутов.esr(config-bgp-neighbor-af)# send-community extended

...

Настроить L2VPN-сервис: все CE-устройства должны работать в рамках одного широковещательного домена.

Якорь
MPLS_COMPELLA
MPLS_COMPELLA


Scroll Pagebreak
Решение:

Предварительно необходимо:

...

Блок кода
hostname RR

system jumbo-frames

router ospf 1
area 0.0.0.0
enable
exit
enable
exit

interface gigabitethernet 1/0/2
mtu 9500
ip firewall disable
ip address 10.30.0.2/30
ip ospf instance 1
ip ospf
exit
interface gigabitethernet 1/0/3
mtu 9500
ip firewall disable
ip address 10.31.0.2/30
ip ospf instance 1
ip ospf
exit
interface loopback 1
ip address 10.10.0.4/32
ip ospf instance 1
ip ospf
exit
mpls
ldp
router-id 10.10.0.4
address-family ipv4
interface gigabitethernet 1/0/2
exit
interface gigabitethernet 1/0/3
exit
exit
enable
exit
forwarding interface gigabitethernet 1/0/2
forwarding interface gigabitethernet 1/0/3
exit

Scroll Pagebreak

Настроим BGP Route Reflector для address family l2vpn:

...

Блок кода
titleПредварительная конфигурация
ip firewall disable
ip address 10.20.0.1/30
ip ospf instance 1
ip ospfexit
interface gigabitethernet 1/0/2
mtu 9500
ip firewall disable
ip address 10.30.0.1/30
ip ospf instance 1
ip ospf
exitinterface gigabitethernet 1/0/3
mtu 9500
ip firewall disable
ip address 10.22.0.1/30
ip ospf instance 1
ip ospf
exit
interface loopback 1
ip address 10.10.0.1/32
ip ospf instance 1
ip ospf
exit
mpls
ldp
router-id 10.10.0.1
address-family ipv4
interface gigabitethernet 1/0/1
exit
interface gigabitethernet 1/0/2
exit
interface gigabitethernet 1/0/3
exit

exit

enable

exit
forwarding interface gigabitethernet 1/0/1
forwarding interface gigabitethernet 1/0/2
forwarding interface gigabitethernet 1/0/3
exit
Scroll Pagebreak

Настройка протокола BGP:

Блок кода
PE1(config)# router bgp 65500
PE1(config-bgp)#   neighbor 10.10.0.4
PE2(config-bgp)#   router-id 10.10.0.1
PE1(config-bgp-neighbor)#     remote-as 65500
PE1(config-bgp-neighbor)#     update-source 10.10.0.1
PE1(config-bgp-neighbor)#     address-family l2vpn vpls
PE1(config-bgp-neighbor-af)#       send-community extended
PE1(config-bgp-neighbor-af)#       enable
PE1(config-bgp-neighbor-af)#     exit
PE1(config-bgp-neighbor)#     enable
PE1(config-bgp-neighbor)#   exit
PE1(config-bgp)#   enable
PE1(config-bgp)# exit

...

Блок кода
PE1(config)# bridge 1
PE1(config-bridge)# enable 
PE1(config-bridge)# exit
PE1(config)# interface gigabitethernet 1/0/4
PE1(config-if-gi)# mode switchport 
PE1(config-if-gi)# bridge-group 1
Scroll Pagebreak

Проверим, что интерфейс включен в бридж-домен:

...

Укажем RD, RT, VE-ID, VPN ID согласно согласно схеме сети и и активируем сервис:

Подсказка

В некоторых случаях можно отказаться от ввода таких параметров, как RD и RT: если указать только VPN ID, то они будут сформированы следующим образом: <номер AS> : <vpn-id>.

Например, есть номер автономной системы AS 65550, vpn-id указан 10, тогда cгенерируются следующие параметры:

RD - 65550: 10.

RT import/export - 65550:10.

...

ШагОписаниеКомандаКлючи
1

Настроить адресацию и один из протоколов IGP на всех P и PE-маршрутизаторах.



2

Настроить распространение транспортных меток по протоколу LDP.



3

Создать VRF.

esr(config)# ip vrf <VRF>

<VRF> – имя экземпляра VRF, задается строкой до 31 символа.
4Указать route distinguisher для данного VRF.

esr(config-vrf)# rd <RD>

<RD> – значение Route distinguisher, задается в одном из следующих видов:

  • <ASN>:<nn> – где <ASN> – принимает значение [1..65535], nn – принимает значение [1..65535];
  • <ADDR>:<nn> – где <ADDR> имеет вид – AAA.BBB.CCC.DDD/EE и AAA-DDD принимают значения [0..255], а nn – принимает значение [1..65535];
  • <4ASN>:<nn> – где <4ASN> – принимает значение [1..4294967295], nn – принимает значение [1..65535].
5Указать route target import для данного VRF.

esr(config-vrf)# route-target import <RT>

<RT> – значение route-target, задается в одном из следующих видов:

  • <ASN>:<nn> – где <ASN> – принимает значение [1..65535], nn – принимает значение [1..65535];
  • <ADDR>:<nn> – где <ADDR> имеет вид – AAA.BBB.CCC.DDD/EE и AAA-DDD принимают значения [0..255], а nn – принимает значение [1..65535];
  • <4BASN>:<nn> – где <4ASN> – принимает значение [1..4294967295], nn – принимает значение [1..65535].
6Указать route target export для данного VRF.

esr(config-vrf)# route-target export <RT>

<RT> – значение route-target, задается в одном из следующих видов:

  • <ASN>:<nn> – где <ASN> – принимает значение [1..65535], nn – принимает значение [1..65535];
  • <ADDR>:<nn> – где <ADDR> имеет вид – AAA.BBB.CCC.DDD/EE и AAA-DDD принимают значения [0..255], а nn – принимает значение [1..65535];
  • <4BASN>:<nn> – где <4ASN> – принимает значение [1..4294967295], nn – принимает значение [1..65535].
7Указать разрешенное количество маршрутов для данного VRF.

esr(config-vrf)# ip protocols <PROTOCOLS> max-routes <VALUE>

<PROTOCOL> – вид протокола, принимает значения: rip (только в глобальном режиме), ospf, isis, bgp;

<VALUE> – количество маршрутов в маршрутной таблице, принимает значения в диапазоне:

  • BGP
    • ESR-1000/1200
      /1500/1511
      /3100/3200/1700 – [1..5000000];
    • ESR-20/21/30/
      100/200 – [1..2500000];
    • ESR-10/12V/12VF/14VF/15 – [1.. 1000000].
  • OSPF и IS-IS
    • ESR-1000/1200
      /1500/1511
      /1700/3100/3200 – [1..500000];
    • ESR-20/21/30/
      100/200 – [1..300000];
    • ESR-10/12V/12VF/14VF/15 – [1..30000].
8

В рамках настройки address-family VPNv4 протокола BGP включить передачу расширенных атрибутов.

esr(config-bgp-neighbor-af)# send-community extended


...

Примечание

При передаче маршрутов из VRF в таблицу VPNv4  VPNv4 достаточно настроить передачу (redistribute) маршрутов в этом VRF. 

Пример конфигурации передачи в VPNv4 таблицу connected- и static-сетей:

Блок кода
ESR1(config)# router bgp 65500
ESR1(config-bgp)# router-id 1.1.1.1 
ESR1(config-bgp)# neighbor 3.3.3.3
ESR1(config-bgp-neighbor)# remote-as 65500
ESR1(config-bgp-neighbor)# update-source 1.1.1.1
ESR1(config-bgp-neighbor)# enable 
ESR1(config-bgp-neighbor)# address-family vpnv4 unicast 
ESR1(config-bgp-neighbor-af)# send-community extended 
ESR1(config-bgp-neighbor-af)# enable 
ESR1(config-bgp-neighbor-af)# exit
ESR1(config-bgp-neighbor)# exit
ESR1(config-bgp)# enable 
EESR1(config-bgp)# vrf Customer1 
ESR1(config-bgp-vrf)# address-family ipv4 unicast 
ESR1(config-bgp-vrf-af)# redistribute connected 
ESR1(config-bgp-vrf-af)# redistribute static 
ESR1(config-bgp-vrf-af)# exit
ESR1(config-bgp-vrf)# exit
ESR1(config-bgp)# exit
ESR1(config)# do commit
ESR1(config)# do confirm


...

Вывод принятой маршрутной информации от определенного пира. Маршрутная информация отображается после применения фильтрации.

Scroll Pagebreak

CE-SiteB

Необходимо проделать схожие операции между маршрутизаторами ESR3 и CE_SiteB.

...

Подсказка

cpu load-balance mpls passenger ip

Включает возможность "заглядывать" дальше MPLS-заголовка для поиска IP-заголовка и добавления ip-src и ip-dst в расчет хеша:

Для L3VPN: идет поиск пары ip-src и ip-dst в ip-заголовке, находящимся за MPLS-заголовком.

                                                                      

Для L2VPN: ESR попытается "заглянуть" в ethernetethernet-фрейм (который находится за mpls-заголовком) и получить ip-src и ip-dst  в ip-заголовке для добавления в расчет хеша.

                 


Подсказка

cpu load-balance mpls passenger ip-over-ethernet-pseudowire-with-cw

cpu load-balance mpls passenger ip-over-ethernet-pseudowire-without-cw

Позволяет явно указать, используется ли при построении L2VPN функционал Control Word. Это позволяет исключить возникновение ошибки, когда пакет с наличием Сontrol word может быть ошибочно распознан как пакет без него.

...

В рамках EBGP-сессии между ASBR производится обмен маршрутной информацией о транспортных префиксах PE различных автономных систем. Эти маршруты отвечают за доступность next-hop для клиентских VPNv4-префиксов, передаваемых в рамках MP-EBGP-сессии между RR или PE. Данные префиксы также используются для установления MP-EBGP-сесcии между устройствами, выполняющими роль RR либо роль PE в разных автономных системах.

Image Modified

Из плюсов данного решения можно отметить хорошую масштабируемость. ASBR-устройства не хранят данные клиентских префиксов, вся информация хранится на RR, что положительно сказывается на производительности.

Scroll Pagebreak

Из недостатков можно отметить следующее:

...