На эту ошибку (или, если хотите, разночтение) я обратил внимание во время проверки перевода по коммутаторам 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)