Сетевые технологии (15). Протоколы TRILL и SPB

По мере роста сетей Ethernet, алгоритм spanning-tree стал превращается в проблему. Дело в том,  что многие полезные связи между сетевыми элементами отключались этим алгоритмом, во избежание создания замкнутых колец. Однако, это приводит к потере избыточности маршрутов, а также к ухудшению «связности» узлов. В больших корпоративных сетях, где требуется высокая пропускная способность, а также в сетях дата-центров, выключенные линки – это потеря ресурсов.

Вторая проблема – то, что в случае отказа линка, структура spanning-tree может создавать новый линк и новую топологию дерева довольно долго, иногда в течении нескольких секунд, перед тем как коннективность узлов с потерянным линком восстановится.

Поэтому появились новые протоколы, которые позволяют сетям Ethernet иметь активные «кольца» в топологии, и при этом в сетях можно использовать все доступные линки.  Идея состоит в том, чтобы генерировать таблицы форвардинга [1] в самом Ethernet-коммутаторе, который поддерживает соответствующих протокол, маршрутизирующий пакет по самому короткому пути или, по крайней мере, по близкому к короткому маршруту. При этом, все физические линки могут не выключаться.

Для этих целей существуют два сходных протокола: TRILL (TRansparent Interconnection of Lots of Links) и SPB (Shortest-Path Bridging).

Протокол TRILL описан в RFC 6325 и других документах, а SPB стандартизован в IEEE 802.1aq.

Как TRILL, так и SPB исходят из того, что лишь немногие коммутаторы достаточно интеллектуальны, чтобы выполнять маршрутизацию по кратчайшему пути, как когда-то лишь немногие коммутаторы могли выполнять алгоритм spanning-tree. Однако, с течением времени, резонно ожидать, что очень многие, если не все, Ethernet-коммутаторы будет поддерживать маршрутизацию по кратчайшему пути.

В высокопроизводительных дата-центрах, в частности, форвардинг скорее всего будет основан на TRILL или SPB.

TRILL

В концепции TRILL, коммутаторы Ethernet, которые поддерживают этот протокол, называются Router-Bridges, или RBridges (могут также использоваться термины RS-коммутаторы, либо TRILL-коммутаторы).

Между коммутаторами RBridges (RB) находятся сети обычного Ethernet (Legacy Ethernets, LE), которые в RFC 6325, называются “links”, хотя данный термин здесь использован в ином смысле. Коммутаторы LE состоят из максимального количества подсетей хостов Ethernet и коммутаторов без поддержки TRILL. То есть, по идее протокола TRILL, RB-коммутаторы разделяют всю сеть Ethernet на относительно небольшие сегменты обычного Ethernet (Legacy Ethernets).

В максимальном случае, если все коммутаторы будут RB (Router-Bridges), то сети LE вырождаются просто в отдельные хосты.

На рисунке показан пример сети с TRILL, где четыре RB-коммутатора изолируют сегменты сетей Legacy Ethernet 1, 2, 3 и 4, а LE 5 в данной структуре является дополнительным сегментом, который получается как некий «продукт» работы четырёх RB-коммутаторов.

Каждая сеть Legacy Ethernet выбирает один RBridge (RB1), который её «представляет». Для LE1 и LE 2, 3 и 4. А вот LE5 должен сделать выбор между четырьмя коммутаторами RB1-4. Выбранный RBridge называется предписанным (Designated, или DRB).

Каждый сегмент Legacy Ethernet затем строит своё собственное дерево spanning tree, возможно (хотя и необязательно) с корнем в DRB. Трафик от Legacy Ethernet будет проходить только через предписанный DRB, а линки с другими DRB использоваться не будут.

Идея в том, что пакеты от одного сегмента Legacy Ethernet в другой, будут доставляться вначале в выбранный узел DRB, а затем уже в узел назначения через самый короткий маршрут.

В предельном случае, когда каждый коммутатор является RBridge, пакеты будет идти по кратчайшему маршруту от начала до конца. Единственным исключением является случай, когда DRB может делегировать задачу форвардинга другим коммутаторам DRB для различных VLAN внутри Legacy Ethernet. В этом случае, каждая сеть VLAN всегда будет использовать один и тот же RBridge для всего внешнего трафика.

Коммутаторы DRB через свои предписанные сегменты распознают MAC-адреса каждого пакета других Legacy Ethernets через обычный протокол распознавания Ethernet (Ethernet learning protocol). Затем они сообщают эти адреса другим коммутаторам RB, используя протокол с состоянием линка IS-IS. После этого, коммутаторы RB получают информацию о том, как достигнуть большинства, если не всех, адресов Ethernet, которые есть во всей сети.

К пакетам, передаваемыми между RB-коммутаторами, добавляется специальный заголовок TRILL. Он включает поле hopcount (число возможных передач, hops). В пакетах между LE-коммутаторами, такого заголовка нет. Если такой пакет случайно попадёт в линк между RB-коммутаторами, то он сбрасывается.

SPB

Как TRILL, протокол SPB использует протокол IS-IS между коммутаторами с поддержкой SPB, чтобы определить самый короткий маршрут. Он также добавляет специальный заголовок к пакетам между SPB-коммутаторами. Различие в протоколах в том, что заголовок SPB не содержит поля hopcount, однако, он более тщательно управляет форвардингом. Кроме того, SPB использует МАС-адрес хоста назначения для форвардинга между RB-коммутаторами.


[1] forwarding tables, не путать с таблицами маршрутизации, routing tables.

***

Продолжение здесь

Об авторе Алексей Шалагинов

Независимый эксперт
Запись опубликована в рубрике Сетевые технологии с метками , , , , , , , . Добавьте в закладки постоянную ссылку.

1 отзыв на “Сетевые технологии (15). Протоколы TRILL и SPB

  1. Уведомление: Telecom & IT

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.