Представьте себе простую топологию:
Два коммутатора доступа, соединенных в кольцо с маршрутизатором, устройство с 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)
ammo
08.12.2016 22:17Если с SAP'ом понятно, то что за сущность IES и для чего она нужна — не раскрывается совершенно.
aremdae
08.12.2016 22:34Это потому что из красивого названия Internet Enhanced Service мало что проясняется. В нашем случае IES — bridge по сути. А для чего нужна… да по-моему очевидно: IP адрес внутри VPLS повесить.
ammo
08.12.2016 23:00В нашем случае бриджом является vpls, а этот ваш IES — скорее что-то типа BVI.
Я о том, что было бы интересно узнать, в чем общая идея IES. Наверняка его создали не только для того, чтоб навешивать IP внутри VPLS :)
neumeika
08.12.2016 23:03не знаком с этим оборудованием, сие обычный функционал, или как у циски — все красивые названия стоят денег? :)
по манам функционал там хорош.
Ваще, как там дела обстоят у Alcatel с ценообразованием, для общего развития интересноaremdae
08.12.2016 23:27Черт их знает. Не так давно их приобрела нокиа, поэтому цены для меня тьма темная. Но презентуют красиво :)
mrobespierre
может, я чего-то не понимаю с высоты своего CCNA, но зачем расстраиваться из-за STP? зачем его вообще использовать? сейчас почти все умные свитчи могут L3-порты («no switchport») и динамическую маршрутизацию (OSPF например), это позволит использовать все линки, а STP заблокирует все запасные, оставив один…
aremdae
Такая топология подразумевает создание разных широковещательных доменов с разными подсетями. Соответственно, конфигурация усложняется, планирование усложняется еще больше. Представьте, что у вас не два коммутатора в кольце, а восемь. Представьте, что у вас не одно кольцо, а двадцать. И под все это нужны адреса. Хотя мне идея раутинга нравится больше, при том условии, что ядро, агрегация и доступ находятся в отдельных независимых доменах (не area, а, скажем, OSPF процесс).
Что касается STP, то строго говоря я бы не стал рассматривать его, скажем, в сети оператора связи. Есть чуть более быстрые протоколы — ERPS, SEP, REP, RRPP, etc. — в зависимости от вендора. Есть оверлеи типа trill. Но если ERPS относительно прост и реализован даже в дешевых коммутаторах доступа, то все остальное видится мне задачей несколько иного технического и финансового уровня.
neumeika
согласен, stp — зло, даже всякие mstp :)
для примера, можно надумать небольшую ынтырпрайз сеть, на штуков 50 сетевого барахла с STP, при перестроении, выглядит крайне весело, особенно если есть бизнескритикал прикладуха на udp, да хотя бы видеонаблюдение за наличкой.
А уж у оператора, когда у тебя всё моргнёт, жопкой, в этот момент, можно железные рельсы перекусывать.
Знаете, вот перепутает инженер какой-нить линк, ну это не часто бывает, зато крайне запоминающееся событие, а в кабинете админов хруст булок и седеющие яйца.
dmitry_ch
«хруст булок и седеющие яйца.» Как образно описали… Спасибо!
HunterCHE
Дык per-vlan spanning tree и mstp предоставляют возможность не блокировать линки. Забив на умные слова вспоминаем, что процессы маршрутизации жрут CPU, а таблицы смежности / дистанционные вектора жрут память. Тогда как stp встроено в asic, тем самым более рачительно используя ресурсы коммутатора.
neumeika
«неблокирование», на некоторых каталистах и джунах, не особо сделаешь
stp не на cpu? джуны/каталисты/длинки/снр, например, после ваших слов, прям обрадовались и процы в 0 опустили :) И я не утверждаю, что asic не разгружает процесс stp.
Serb514
asic не разгружает процесс stp
neumeika
вот тут бы я поспорил, для примера, цискам пофиг сколько вланов stpешить, у длинков_и_тому_подобного CPU растёт. Тут конечно и от моделей завит.
Либо это выглядит, как возможность софта повесить триггер на пакет BPDU_какого-нить_или_чени-нить_в_этом_роде на asic и передать это в control plane с конкретным событием.
ksg222
Serb514 прав. Процесс STP выполняется программно в RP. Поэтому может привести к повышенной утилизации CPU. Для чистого STP не важно сколько VLAN, bpdu в любом случае один на все VLAN'ы. Проблемы могут быть с per VLAN STP и MSTP. Кстати для MSTP есть ограничения на количество инстансов (например, для sup2t).