TRILL ( Прозрачное взаимодействие множества ссылок ) — сетевой протокол для оптимизации пропускной способности и устойчивости в сетях Ethernet , [1] реализуемый устройствами, называемыми коммутаторами TRILL . TRILL объединяет методы мостов и маршрутизации и представляет собой приложение маршрутизации по состоянию канала к проблеме клиентского моста с учетом VLAN . [2] Маршрутизирующие мосты (RBridges) совместимы с предыдущими клиентскими мостами IEEE 802.1 и могут постепенно заменять их. Коммутаторы TRILL также совместимы с IPv4 и IPv6 , маршрутизаторами и конечными системами . Они невидимы для текущих маршрутизаторов IP и, как и обычные маршрутизаторы, RBridges завершают широковещательный, неизвестный одноадресный и многоадресный трафик DIX Ethernet и кадры IEEE 802.2 LLC, включая блоки данных протокола моста протокола Spanning Tree .
TRILL был разработан как преемник протокола Spanning Tree, оба были созданы одним и тем же человеком, Радией Перлман . Катализатором TRILL стало событие в медицинском центре Beth Israel Deaconess , которое началось 13 ноября 2002 года. [3] [4] Концепция Rbridges [5] [sic] была впервые предложена Институту инженеров по электротехнике и электронике в 2004 году, [6] который в 2005 году [7] отклонил то, что стало известно как TRILL, и в 2006–2012 годах [8] разработал несовместимую вариацию, известную как Shortest Path Bridging .
Коммутаторы TRILL, или RBridges, запускают протокол маршрутизации состояния канала IS-IS между собой. [9] В этом протоколе соединение транслируется на все RBridges, так что каждый RBridge знает обо всех других RBridges и о соединении между ними. Это дает RBridges достаточно информации для вычисления парных оптимальных путей для одноадресной передачи и расчета деревьев распределения для доставки кадров либо в пункты назначения, местоположение которых неизвестно, либо в многоадресные или широковещательные группы. В отличие от протокола Spanning Tree, который обеспечивает топологию сети без петель, блокируя в противном случае активные порты, TRILL устанавливает пути по всем активным ссылкам.
IS-IS был выбран потому, что:
Для устранения проблем с временными петлями RBridges пересылает данные на основе заголовка с числом переходов . RBridges также указывает следующий переход RBridge в качестве назначения кадра при пересылке одноадресных кадров по каналу с общим носителем, что позволяет избежать создания дополнительных копий кадров во время временного цикла. Проверка пересылки по обратному пути и другие проверки выполняются для кадров с несколькими назначениями для дальнейшего контроля потенциально зацикливающегося трафика.
Первый RBridge, который встречает одноадресный кадр в кампусе, RB1, инкапсулирует полученный кадр с заголовком TRILL, который указывает последний RBridge, RB2, где кадр декапсулируется. RB1 известен как «входной RBridge», а RB2 известен как «выходной RBridge». Чтобы сэкономить место в заголовке TRILL и упростить поиск пересылки, среди RBridge запускается динамический протокол получения псевдонимов для выбора двухоктетных псевдонимов для RBridges, уникальных в кампусе, которые являются аббревиатурой для шестиоктетного системного идентификатора IS-IS RBridge. Двухоктетные псевдонимы используются для указания входящего и исходящего RBridges в заголовке TRILL.
Заголовок TRILL состоит из шести октетов: первые два октета включают шестибитный уменьшающийся счетчик переходов плюс флаги; следующие два октета содержат выходной псевдоним RBridge; последние два октета содержат входной псевдоним RBridge. Для кадров с несколькими назначениями "выходной псевдоним RBridge" указывает дерево распределения для кадра, где (псевдоним)названный RBridge является корнем дерева распределения. Входной RBridge выбирает, по какому дереву распределения должен перемещаться кадр.
Несмотря на то, что RBridges прозрачны для устройств уровня 3 , и все каналы, соединенные RBridges, кажутся устройствам уровня 3 одним каналом, RBridges действуют как маршрутизаторы каналов в том смысле, что при пересылке кадра транзитным RBridge внешний заголовок уровня 2 заменяется на каждом переходе соответствующим заголовком уровня 2 для следующего перехода, а количество переходов уменьшается. Несмотря на эти изменения внешнего заголовка уровня 2 и количества переходов в заголовке TRILL, исходный инкапсулированный кадр сохраняется, включая тег VLAN исходного кадра.
Поддерживается многопутевая передача кадров с несколькими назначениями через альтернативные корни деревьев распределения и многопутевая маршрутизация с равной стоимостью (ECMP) одноадресных кадров. Сети с более сетчатой структурой получают большую выгоду от многопутевой передачи и оптимальных путей, предоставляемых TRILL, чем сети с более древовидной структурой.
Хост с несколькими интерфейсами, работающими по протоколу Интернета, требует, чтобы каждый из интерфейсов [или группа интерфейсов в команде] имел уникальный адрес, тогда как при использовании TRILL хост с несколькими интерфейсами может иметь один IP-адрес для всех своих интерфейсов, подключенных к общему широковещательному домену — аналогично случаю адреса точки доступа к сетевой службе (NSAP) на конечной системе в CLNP.
С точки зрения TRILL, связь может быть любой из множества технологий связи, включая IEEE 802.3 ( Ethernet ), PPP (Point to Point Protocol)., [10] или псевдопровод . [11] Связи Ethernet между RBridges могут включать мосты IEEE клиента или провайдера 802.1. Другими словами, произвольная мостовая локальная сеть представляется RBridge как связь с множественным доступом.
Важно, чтобы только один RBridge действовал как входящий RBridge для любого заданного собственного кадра, и TRILL имеет механизм назначенного переадресатора [12] , чтобы гарантировать это. TRILL допускает разделение нагрузки этой обязанности на канале на основе VLAN, так что только один RBridge на каждом канале инкапсулирует и декапсулирует собственные кадры для каждой VLAN.
Порты RBridge могут совместимо реализовывать широкий спектр существующих и предлагаемых протоколов уровня канала и уровня порта IEEE 802.1, включая PAUSE (IEEE 802.3 Annex 31B), протокол обнаружения канального уровня (IEEE 802.1AB), агрегацию каналов (IEEE 802.1AX), безопасность MAC (IEEE 802.1AE) или управление доступом на основе порта (IEEE 802.1X). Это связано с тем, что RBridges располагаются выше IEEE 802.1 EISS (Extended Internal Sublayer Service), за исключением того, что порт RBridge обрабатывает связующее дерево и протоколы регистрации VLAN по-разному.
Cisco FabricPath — это фирменная реализация TRILL, которая использует плоскость управления TRILL (включая IS-IS для уровня 2), но несовместимую плоскость данных. [15] Brocade Virtual Cluster Switching использует плоскость данных TRILL, но фирменную плоскость управления и поэтому несовместима со стандартами TRILL. [16]
Протокол TRILL обеспечивает обязательную поддержку обычных 4K VLAN и может опционально поддерживать 24-битные мелкозернистые метки (FGL) в дополнение к VLAN. [17]
В ходе разработки стандарт IEEE 802.1aq (Shortest Path Bridging – SPB) считался основным конкурентом TRILL. Как отмечалось в одной из книг 2011 года, «оценка относительных достоинств и различий двух предложений стандартов в настоящее время является горячо обсуждаемой темой в сетевой индустрии». [18] Ни один из стандартов не получил значительного принятия, в отличие от более поздних подходов наложения, таких как EVPN . [19] [20]