Для многих первое знакомство с сервисными маршрутизаторами Alcatel Lucent (ныне Nokia) становится не очень приятным в связи с особым взгядом вендора на модель предоставления сервиса. В отличие от оборудования Cisco, не всегда очевидно, как заставить работать такое устройство в простом сценарии: маршрутизатор для нескольких коммутаторов доступа (обычно такие коммутаторы соединяются в кольцо). Тем, кто разочаровался, не обнаружив команду spanning-tree в режиме конфигурации, посвящается.

Представьте себе простую топологию:

image

Два коммутатора доступа, соединенных в кольцо с маршрутизатором, устройство с TimOS на борту (в этом случае — эмулятор SR7750) и внешний DHCP сервер, обслуживающий несколько IP сетей. В такой ситуации у 7750 возникает несколько альтер эго:

1) Default gateway. PC1 и PC2 вполне закономерно хотят общаться с внешними сетями, поэтому необходимо предоставить для них IP адрес, куда можно отсылать все неугодные пакеты.

2) DHCP realy. Поскльку сообщение discover отсылается броадкастом, его необходимо отправить на внешний сервер юникаст сообщением.

3) RSTP root bridge. Вряд ли рационально давать возможность коммутатору доступа становиться рутом.

Сразу оговорюсь, что SR7750 — маршрутизатор. Он не предназначен для коммутации трафика между двумя интерфейсами, не поддерживает SVI в классическом виде со всеми вытекающими. Для использования устройства в такой топологии необходимо создать импровизированный и очень простенький VPLS (хотя, конечно, в случае двух интерфейсов подошел бы и псевдопровод). Для конфигурации VPLS в нашем случае совершенно не обязательно понимать принципы работы MPLS.

Итак, приступим.

Не забудьте сконфигурировать карточку в эмуляторе.
card 1
        card-type iom3-xp-b
        mda 1
            mda-type m5-1gb-sfp-b
            no shutdown
        exit
        no shutdown

Если вы не используете эмулятор, типы карточек и модулей можно определить нехитрыми командами:

show card
show mda


0. Нашим предварительным шагом будет конфигурация пользователя. VPLS с точки зрения SR — это сервис, а любой сервис должен принадлежать пользователю.

        customer 5 create
            description "Access ring 1"
        exit

1. Сконфигурируем интерфейсы 1/1/1 и 1/1/2.

    port 1/1/1                        
        ethernet                      
            mode access               
            encap-type dot1q          
        exit                          
        no shutdown                   
    exit                              
    port 1/1/2                        
        ethernet                      
            mode access               
            encap-type dot1q          
        exit                          
        no shutdown                   
    exit                    

После этого командой show port можно убедиться, что настройки корректны. Обратите внимание, что MTU стал 1518 = 1500 для IP + 14 Ethernet + 4 dot1q vlan. Вполне закономерно, что при конфигурации QinQ устройство само определит размер кадра в 1522.

Спойлер
===============================================================================
Ports on Slot 1
===============================================================================
Port Admin Link Port Cfg Oper LAG/ Port Port Port C/QS/S/XFP/
Id State State MTU MTU Bndl Mode Encp Type MDIMDX
-------------------------------------------------------------------------------
1/1/1 Up Yes Up 1518 1518 - accs dotq xcme GIGE-LX 10KM
1/1/2 Up Yes Up 1518 1518 - accs dotq xcme GIGE-LX 10KM


2. Сконфигурируем сервис VPLS.

service
 vpls 5 customer 5 create      
            allow-ip-int-binding      
            stp                       
                priority 4096         
                no shutdown           
            exit
            service-name "Access-ring-1"                
            sap 1/1/1:5 create        
            exit                      
            sap 1/1/2:5 create        
            exit                      
            no shutdown               
        exit                          
    exit                            

SAP (Service access point) — это attachment circuit в чуть более известной терминологии. Точка, к которой подключается абонентское устройство. В нашем случае — коммутатор доступа. Число после двоеточия — номер влана.

Именно здесь мы включаем STP. По умолчанию режим работы — RSTP, а наши SAP будут point-to-point интерфейсами с точки зрения STP. Priority 4096 задаем с умыслом превратить наш псевдокоммутатор в root bridge.

allow-ip-int-binding необходим для того, чтобы разрешить привязывать IP интерфейс (читай SVI) к нашему VPLS. Этот интерфейс будет привязываться с использованием имени нашего сервиса.

Базовую проверку можно провести с помощью show service id 5 base
Спойлер
===============================================================================
Service Basic Information
===============================================================================
Service Id : 5 Vpn Id : 0
Service Type : VPLS
Name : Access-ring-1
Description : (Not Specified)
Customer Id : 5 Creation Origin : manual
Last Status Change: 12/06/2016 21:37:01
Last Mgmt Change : 12/06/2016 21:37:01
Etree Mode : Disabled
Admin State : Up Oper State : Up
MTU : 1514 Def. Mesh VC Id : 5
SAP Count : 2 SDP Bind Count : 0
Snd Flush on Fail : Disabled Host Conn Verify : Disabled
Propagate MacFlush: Disabled Per Svc Hashing : Disabled
Allow IP Intf Bind: Enabled
Def. Gateway IP : None
Def. Gateway MAC : None
Temp Flood Time : Disabled Temp Flood : Inactive
Temp Flood Chg Cnt: 0
VSD Domain : none

-------------------------------------------------------------------------------
Service Access & Destination Points
-------------------------------------------------------------------------------
Identifier Type AdmMTU OprMTU Adm Opr
-------------------------------------------------------------------------------
sap:1/1/1:5 q-tag 1518 1518 Up Up
sap:1/1/2:5 q-tag 1518 1518 Up Up
===============================================================================


3. Итак, интерфейс.

service
 ies 15 customer 5 create
            interface "DGW-1" create
                address 10.0.0.6/29 
                dhcp
                    server 10.10.10.10 
                    relay-unicast-msg
                    no shutdown
                exit
                vpls "Access-ring-1"  
                exit                  
            exit                      
            no shutdown               
        exit              

Как видно, здесь мы убили двух зайцев разом: и default gateway сконфигурировали, и DHCP Relay клиентам предоставили. Заметьте, что IES и VPLS — сервисы разные, с разными id.

Проверить, что интерфейс UP можно с помощью show service id 15 interface

Спойлер
===============================================================================
Interface Table
===============================================================================
Interface-Name Adm Opr(v4/v6) Type Port/SapId
IP-Address PfxState
-------------------------------------------------------------------------------
DGW-1 Up Up/-- IES rvpls
10.0.0.6/29 n/a
-------------------------------------------------------------------------------
Interfaces : 1
===============================================================================


4. Сконфигурируем интерфейс в сторону ядра, где расположен DHCP сервер. Для простоты добьемся связности с сервером статическим маршрутом. Не забываем о значении MTU со стороны ядра.

Включаем интерфейс:

    port 1/1/3                        
        ethernet                      
        exit                          
        no shutdown                   
    exit       

Настраиваем IP часть:

router
        interface "To-CORE"
            address 172.16.0.0/31
            port 1/1/3
            no shutdown
        exit
        interface "system"
            no shutdown
        exit

        static-route 10.10.10.10/32 next-hop 172.16.0.1

Таблицу маршрутизации можно посмотреть с помощью show router route-table

Спойлер
===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
10.0.0.0/29 Local Local 00h17m25s 0
DGW-1 0
10.10.10.10/32 Remote Static 00h05m05s 5
172.16.0.1 1
172.16.0.0/31 Local Local 00h05m05s 0
To-CORE 0
-------------------------------------------------------------------------------
No. of Routes: 3
Flags: n = Number of times nexthop is repeated
B = BGP backup route available
L = LFA nexthop available
S = Sticky ECMP requested
===============================================================================


На этом нехитрая, но немного непривычная настройка Alcatel завершена. На первый взгляд здесь не хватает VRRP, однако по-хорошему для включения VRRP необходимо добавить MPLS интерфейс между двумя маршрутизаторами. Помимо SAP в наш VPLS добавятся SDP. Но это уже совсем другая история.

Версия ПО: TiMOS-B-12.0.R6.
Картинка и консоль: UNL

Спасибо за внимание.
Поделиться с друзьями
-->

Комментарии (14)


  1. mrobespierre
    08.12.2016 15:34

    может, я чего-то не понимаю с высоты своего CCNA, но зачем расстраиваться из-за STP? зачем его вообще использовать? сейчас почти все умные свитчи могут L3-порты («no switchport») и динамическую маршрутизацию (OSPF например), это позволит использовать все линки, а STP заблокирует все запасные, оставив один…


    1. aremdae
      08.12.2016 15:42

      Такая топология подразумевает создание разных широковещательных доменов с разными подсетями. Соответственно, конфигурация усложняется, планирование усложняется еще больше. Представьте, что у вас не два коммутатора в кольце, а восемь. Представьте, что у вас не одно кольцо, а двадцать. И под все это нужны адреса. Хотя мне идея раутинга нравится больше, при том условии, что ядро, агрегация и доступ находятся в отдельных независимых доменах (не area, а, скажем, OSPF процесс).

      Что касается STP, то строго говоря я бы не стал рассматривать его, скажем, в сети оператора связи. Есть чуть более быстрые протоколы — ERPS, SEP, REP, RRPP, etc. — в зависимости от вендора. Есть оверлеи типа trill. Но если ERPS относительно прост и реализован даже в дешевых коммутаторах доступа, то все остальное видится мне задачей несколько иного технического и финансового уровня.


      1. neumeika
        08.12.2016 16:33
        +1

        согласен, stp — зло, даже всякие mstp :)
        для примера, можно надумать небольшую ынтырпрайз сеть, на штуков 50 сетевого барахла с STP, при перестроении, выглядит крайне весело, особенно если есть бизнескритикал прикладуха на udp, да хотя бы видеонаблюдение за наличкой.
        А уж у оператора, когда у тебя всё моргнёт, жопкой, в этот момент, можно железные рельсы перекусывать.
        Знаете, вот перепутает инженер какой-нить линк, ну это не часто бывает, зато крайне запоминающееся событие, а в кабинете админов хруст булок и седеющие яйца.


        1. dmitry_ch
          08.12.2016 17:28

          «хруст булок и седеющие яйца.» Как образно описали… Спасибо!


        1. HunterCHE
          08.12.2016 18:10

          Дык per-vlan spanning tree и mstp предоставляют возможность не блокировать линки. Забив на умные слова вспоминаем, что процессы маршрутизации жрут CPU, а таблицы смежности / дистанционные вектора жрут память. Тогда как stp встроено в asic, тем самым более рачительно используя ресурсы коммутатора.


          1. neumeika
            08.12.2016 20:04

            «неблокирование», на некоторых каталистах и джунах, не особо сделаешь
            stp не на cpu? джуны/каталисты/длинки/снр, например, после ваших слов, прям обрадовались и процы в 0 опустили :) И я не утверждаю, что asic не разгружает процесс stp.


            1. Serb514
              08.12.2016 22:35
              +1

              asic не разгружает процесс stp


              1. neumeika
                08.12.2016 23:12

                вот тут бы я поспорил, для примера, цискам пофиг сколько вланов stpешить, у длинков_и_тому_подобного CPU растёт. Тут конечно и от моделей завит.
                Либо это выглядит, как возможность софта повесить триггер на пакет BPDU_какого-нить_или_чени-нить_в_этом_роде на asic и передать это в control plane с конкретным событием.


                1. ksg222
                  09.12.2016 12:14

                  Serb514 прав. Процесс STP выполняется программно в RP. Поэтому может привести к повышенной утилизации CPU. Для чистого STP не важно сколько VLAN, bpdu в любом случае один на все VLAN'ы. Проблемы могут быть с per VLAN STP и MSTP. Кстати для MSTP есть ограничения на количество инстансов (например, для sup2t).


  1. ammo
    08.12.2016 22:17

    Если с SAP'ом понятно, то что за сущность IES и для чего она нужна — не раскрывается совершенно.


    1. aremdae
      08.12.2016 22:34

      Это потому что из красивого названия Internet Enhanced Service мало что проясняется. В нашем случае IES — bridge по сути. А для чего нужна… да по-моему очевидно: IP адрес внутри VPLS повесить.


      1. ammo
        08.12.2016 23:00

        В нашем случае бриджом является vpls, а этот ваш IES — скорее что-то типа BVI.

        Я о том, что было бы интересно узнать, в чем общая идея IES. Наверняка его создали не только для того, чтоб навешивать IP внутри VPLS :)


  1. neumeika
    08.12.2016 23:03

    не знаком с этим оборудованием, сие обычный функционал, или как у циски — все красивые названия стоят денег? :)
    по манам функционал там хорош.
    Ваще, как там дела обстоят у Alcatel с ценообразованием, для общего развития интересно


    1. aremdae
      08.12.2016 23:27

      Черт их знает. Не так давно их приобрела нокиа, поэтому цены для меня тьма темная. Но презентуют красиво :)