На эту ошибку (или, если хотите, разночтение) я обратил внимание во время проверки перевода по коммутаторам NETGEAR. Дело в том, что при переводе термина “trunk” нужно обязательно учитывать, чьей трактовки придерживается вендор — Cisco или HP, ибо между ними очень разный технический смысл.
Давайте разбираться.
Рассмотрим проблему на следующих примерах:
1. Cisco
2. HP
Внимательный читатель обратит внимание, что “trunk” в этих примерах имеет разное значение.
Будем «копать».
Версия Cisco
Cisco под “trunk’ом” понимает канал типа “точка-точка” (канал связи, напрямую соединяющий два устройства), который соединяет коммутатор и другое сетевое устройство, например еще один коммутатор или маршрутизатор. Его задача – передавать трафик нескольких VLAN через один канал и обеспечивать им доступ ко всей сети. В простонародии называется «транком», что логично.
Принцип действия
Начнем с того, что такое VLAN?
VLAN расшифровывается как Virtual local area network или виртуальная локальная сеть. Это технология, которая позволяет разделить одну физическую сеть на несколько логических, работающих независимо друг от друга. Например, есть на предприятии отдел кадров, бухгалтерия и IT-отдел. У них есть свои коммутаторы, которые соединены через центральный коммутатор в единую сеть, и вот сети этих отделов и нужно отделить друг от друга. Тогда-то на помощь и приходит технология VLAN.
Так выглядит сеть, разделенная на VLAN’ы (виртуальные сети).
Часто для обозначения VLAN’а используют разные цвета.
Так порты, обозначенные зеленым цветом, входят в один VLAN, а порты, обозначенные красным цветом, в другой. Тогда компьютеры, которые находятся в одном VLAN’е, могут взаимодействовать только друг с другом, а с компьютерами, входящими в другой VLAN, не могут.
Перемены в таблице коммутации в VLAN
При создании VLAN’ов в таблицу коммутации у коммутаторов добавляется еще одно поле, в котором указываются идентификаторы VLAN. Упрощенно это выглядит так:
Тут мы видим, что порты 1 и 2 принадлежат VLAN’у 2, а порты 3 и 4 – VLAN’у 10.
Идем дальше. На канальном уровне данные передаются в виде кадров (фреймов). При передаче кадров от одного коммутатора к другому нужна информация о том, к какому VLAN’у принадлежит тот или иной кадр. Эту информацию добавляют в передаваемый кадр. На данный момент для этой цели используют открытый стандарт IEEE 802.1Q. Пошаговая эволюция кадра в VLAN
- Компьютер генерирует и отправляет обычный кадр (фрейм, он же пакет канального уровня, т.е. уровня коммутаторов), ничего не добавляя. Этот кадр выглядит так:
- Коммутатор получает кадр. В соответствии с таблицей коммутации, он понимает, с какого компьютера пришел кадр, и к какому VLAN’у принадлежит этот компьютер. Тогда коммутатор сам добавляет в кадр служебную информацию, так называемый тег. Тег – это поле после MAC-адреса отправителя, в котором содержится, грубо говоря, номер VLAN’а. Так выглядит кадр с тегом:
Затем коммутатор отправляет этот кадр на другой коммутатор.
Коммутатор, который принимает кадр, извлекает из него информацию о VLAN, то есть понимает, на какой компьютер нужно передать этот кадр, удаляет всю служебную информацию из кадра и передает его на компьютер получателя.
На компьютер получателя приходит кадр уже без служебной информации.
Теперь возвращаемся к нашему “trunk’у”. Порты коммутатора, поддерживающие VLAN можно разделить на две группы:
- Тегированные порты (или trunk-порты у Cisco)
- Нетегированные порты (или access порты)
Нас интересуют тегированные порты или trunk-порты. Они как раз и служат для того, чтобы через один порт можно было передавать данные, принадлежащие к разным VLAN и получать данные нескольких VLAN на один порт (мы помним, что обычно порты из разных VLAN друг друга не видят).
На этом рисунке тегированными являются порты номер 21 и 22, которые соединяют два коммутатора. Через них и будут проходить кадры, например, от компьютера Е к компьютеру А, которые находятся в одном VLAN’е, по схеме, которая описана выше.
Так вот, канал связи между этими портами у Cisco как раз и называется “trunk’ом”.
Версия HP
Как в компании интерпретируют этот термин?
Здесь вообще речь про VLAN не идет. В случае с HP мы говорим о технологии агрегирования каналов. У них “trunk” – это логический канал, который объединяет в себе несколько физических каналов. Подобное объединение позволяет увеличить пропускную способность и надежность канала. Разберем на примере. Допустим, у нас есть два коммутатора, у каждого из которых есть по четыре порта и эти порты соединены между собой четырьмя проводами.
Если оставить все как есть — просто соединения между коммутаторами, — то эти соединения будут передавать кадры друг дружке по кругу, т. е. образовывать петли (причем широковещательные кадры будут раз за разом дублироваться, вводя коммутаторы в широковещательный шторм).
Такие дублирующие соединения считаются избыточными, и их необходимо устранять, для этой цели существует протокол STP (Spanning Tree Protocol). Тогда из наших четырех соединений STP выключит три, потому что посчитает их избыточными, и останется всего одно соединение.
Так вот, в случае же, если мы объединим эти четыре физических канала, между коммутаторами будет один логический канал с увеличенной пропускной способностью (максимальной скоростью передачи информации по каналу связи в единицу времени). Т. е. задействованы сразу четыре канала, и проблема с избыточными соединениями решена. Вот именно этот логический (агрегированный) канал и называется у HP “trunk’ом”.
Агрегирование каналов можно настроить между двумя коммутаторами, коммутатором и маршрутизатором. В один логический канал можно объединить до восьми физических. Важно, чтобы все порты, которые объединяются в агрегированный канал, имели одинаковые параметры:
- тип среды передачи (витая пара, оптоволокно и т. д.),
- скорость,
- режим flow control и duplex.
Если один из портов в агрегированном канале выйдет из строя, канал продолжит работать. Порты агрегированного канал воспринимаются как единое целое, что соответствует идее логического канала.
И для полного прояснения картины отметим, что такая технология у Cisco называется EtherChannel. EtherChannel – технология агрегирования каналов, разработанная Cisco. Смысл тот же, позволяет объединять несколько физических каналов Ethernet в один логический.
Таким образом, термин trunk переводится в зависимости от контекста следующим образом:
в документации по коммутаторам Cisco — транковый порт, тегированный порт, trunk-порт;
в документации по коммутаторам HP — агрегированный порт, агрегированный канал.
На случай, если захочется разобраться в теме более детально, ниже небольшой список источников.
Cisco: https://content.cisco.com/chapter.sjs?uri=/searchable/chapter/content/en/us/td/docs/switches/lan/catalyst3850/software/release/3se/vlan/configuration_guide/b_vlan_3se_3850_cg/b_vlan_3se_3850_cg_chapter_0110.html.xml&searchurl=https%3A%2F%2Fsearch.cisco.com%2Fsearch%3Fquery%3Dtrunk%26locale%3DenUS%26bizcontext%3D%26cat%3D%26mode%3Dtext%26clktyp%3Denter%26autosuggest%3Dfalse&dtid=osscdc000283 (или так: https://bitly.su/OC4VB7)
Комментарии (27)
nomadmoon
04.05.2019 15:28+1Ну да, наркоманы из HP называют агрегатный линк транком.
По мне так правильнее всего поступает DLink, никаких транков-фиганков у них нет, есть тэгированные и нетэгированные вланы на порту и агрегатные линки.wlr398
04.05.2019 15:45Не только HP.
У 3com было точно так же — trunk.
У Huawei — eth-trunk.zeronice
04.05.2019 16:17У 3COM так же потому что HP купила их.
wlr398
04.05.2019 16:30Скорее у Хуавей так, потому что:
2007 — Huawei-3Com (49 % акций совместного предприятия принадлежат 3Com).
И только в апреле 2010 года компания 3Com была приобретена корпорацией Hewlett-Packard и стала частью подразделения HP Networking.
То есть обратная ситуация — у HP так, потому что купили 3com.
Я работал со свичами 3com в конце 90х годов, начале 2000х.
В настройках был trunk.CrazyRoot
04.05.2019 21:09Ну… помня первые Хуавеи… Скорее так, потому что они тупо скопировали ИОС.
А вот насчет 3СОМ и НР — все верно.wlr398
04.05.2019 21:25У них в нынешнем синтаксе на маршрутизаторах eth-trunk это агрегация.
Из-за судебных претензий от Циски Хуавей очень ощутимо переделал команды и настройки.
В общем, да, трудно сказать, повлиял тут 3ком или нет, или это просто китайцы придумали
чтобы быть похоже на Циску и в то же время отличалось от аналогичного bundle-ether.
EninEvgeniy
04.05.2019 17:54+1В. Олифер Н. Олифер. «Компьютерные сети». Авторы этого тоже наркоманы? Может это Cisco наркоманы? :)
akai
04.05.2019 19:37+1Учитывая, что немалую часть того, что сейчас используется в сетях, Циско или изобрела непосредственно, или в значительной степени приложила руку, им там всё же виднее, чем этим вашим Олиферам.
nomadmoon
04.05.2019 21:40В целом от терминологии Cisco я тоже не в восторге. Сам по себе выбор слова trunk которое переводится вроде как «ствол» для документации и конфигурации так себе идея. Жаргонизм какой то.
Nubus
05.05.2019 17:03Ну допустим у trunk множественное значение, чаще чем ствол оно означает багажник машины. В контексте IT и сетей это магистраль передачи данных.
Ctacfs
05.05.2019 05:40Проблема терминологии длинка в конкретном моменте в том, что «тегированый влан» воспринимается, как свойство влана, а не порта.
artskep
04.05.2019 16:27В далекие времена, когда я учился на связиста транк, как правили, переводилось, как "магистраль"
Если честно не вижу причин не применить подобный термин, просто магистраль может быть виртуальной, но и что с того?wlr398
04.05.2019 16:29Кстати, да, была ещё вот такая штука:
ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D0%BA%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0
Ctacfs
05.05.2019 06:00На мой взгляд, основная причина не применять этот термин в том, что протокол, по которому работает агрегация каналов в большинстве случаев называется LACP, то есть link aggregation, не teaming, не bonding, не trunking. Я бы понял, если бы вендоры хотя бы называли каждый по-своему, потому что ломали совместимость.
Ну и чисто субъективно, я не претендую на академические знания, но в моем представлении транк это когда в одном канале несколько логических каналов, а не когда один логический канал размазан по нескольким физическим.MrAloof
05.05.2019 07:28Во первых, 802.3ad который вводит понятие агрегации, не был первым. До него уже были дюралинк и MLT, в которых это называлось транком. В кисках тоже исторически это был транк.
Во вторых, ваше представление просто не с той стороны ;-) если несколько каналов (не важно логические или физические), проходят по одному, то логично этот канал назвать "магистраль". Объединили физические в один канал — получили магистраль из агрегированных каналов. Пустили несколько vlan по одному каналу — так же вроде подходит под понятие магистрали. :-)
Просто trunk — это достаточно обширное понятие. Многопарный телефонный кабель или E1/T1 поток тоже называют trunk и т.п.Ctacfs
05.05.2019 09:34> Во первых, 802.3ad который вводит понятие агрегации, не был первым.
Я понимаю, просто те времена прошли, а названия агрегированию продолжают придумывать кто на что горазд.
> Во вторых, ваше представление просто не с той стороны
Потому и сказал, что субъективно. Чисто по ощущениям, как я для себя определяю. Что по смыслу слова попадает я не спорю.
Pochemuk
04.05.2019 21:36HPE вообще оригиналы большие.
У меня была проблема со свичами, которые они честно у 3Com передрали. С другими свичами того же HPE и свичами других производителей таких проблем не было. Отваливались целые сегменты сети.
И мне 4 месяца их ТП не могли объяснить, в чем причина. Только повторяли, что разные VLANы должны соединяться одним кабелем с тэгированием, а не как у меня — разными кабелями между разными портами без тэгирования.
Может быть это и верно, но переделывать всю сеть мне не хотелось. Тем более там знатный зоопарк и некоторые свичи фиг знает, поддерживают ли тэгирование в принципе или нет.
Оказалось, что в этой модели свича (HPE 1910-48) по умолчанию включен STP (а на всех других — по умолчанию выключен, кроме ZyXEL, но на них разделения на VLANы не было). Вот он и рубил параллельные связи, принимая их за избыточные.
Хорошо, что мне один парень здесь на Хабре подсказал. Он с такой же фичей столкнулся, но на других свичах.
pz_true
06.05.2019 17:45А еще есть SIP -транк, (в каждом конкретном случае) пляшет от провайдера к провайдеру…
wlr398
С разновидностями по второй трактовке гораздо большее разнообразие:
trunk
eth-trunk
ether channel (в конфиге port channel)
bundle
lag
bonding
teaming
bartov-e Автор
Спасибо. Тоже в копилку ИТ-переводчика :)
bartov-e Автор
Я не стал еще одного вендора со своей трактовкой транков добавлять — Avaya. Там тоже своя специфика.
wlr398
Авайя вроде не выпускает езернет свичи, если придерживаться рамок, указанных в заголовке.
Хотя бондинг это терминология принятая в линуксе, а тиминг в виндовс.
Понятие trunk есть ещё в контекстах SIP и SDH.
Ctacfs
Авайя вполне себе выпускает свитчи.
gosha-z
Сама — не выпускала. Это тяжелое наследие нортеля. От которого, наконец-то, избавилась…