Vlan

Что такое vlan: как они работают с примерами использования

Для чего нужны VLAN?

Когда мы настраиваем локальную сеть, либо в домашней среде, где мы хотим сегментировать различные устройства для подключения, либо в профессиональной среде, мы используем VLAN для создания разных подсетей. Давайте представим, что мы являемся сетевыми администраторами школы, мы можем создавать разные VLAN для разных целей и значительно упростить администрирование сети, кроме того, мы сможем «содержать» широковещательные сообщения в меньших широковещательных доменах, то есть , У нас будут небольшие подсети, чтобы обеспечить адресацию десятков компьютеров, которые у нас есть, а не только подсеть, где есть сотни подключенных устройств. В этом школьном сценарии у нас вполне могут быть следующие сети VLAN:

  • Управляющая VLAN: мы можем создать управляющую VLAN для доступа к маршрутизатору, межсетевому экрану, всем коммутаторам, распределенным по всей школе, а также к имеющимся у нас точкам доступа Wi-Fi, системы мониторинга также будут в этой VLAN для постоянного мониторинга различного сетевого оборудования.
  • VLAN администрации школы: в этой VLAN будут находиться все ПК директора школы, секретаря школы, учителей и других сотрудников.
  • Студенческая VLAN: все компьютеры студентов будут в этой VLAN, независимо от того, подключены ли они к компьютерам в классах или через Wi-Fi с определенным SSID, связанным с VLAN.
  • Гостевая VLAN: эта VLAN может подключать различные смартфоны и планшеты самих учащихся, родителей, когда они посещают их, и т. Д.

Как видите, VLAN позволит нам сегментировать локальную сеть на несколько меньших подсетей, специально ориентированных на конкретную задачу, кроме того, мы можем обеспечить безопасность, потому что VLAN между ними не смогут взаимодействовать (или да, в зависимости от в конфигурации ACL, которую мы хотим). Благодаря виртуальным локальным сетям общая производительность сети улучшится, поскольку мы будем ограничивать широковещательную передачу в меньших широковещательных доменах.

Как только мы увидим, что такое VLAN и для чего они нужны, мы увидим, какие типы существуют.

Настройка VLAN на управляемом коммутаторе Dlink DES-3528

Серия коммутаторов DES-3528/3552 xStack включает в себя стекируемые коммутаторы L2+ уровня доступа, обеспечивающие безопасное подключение конечных пользователей к сети крупных предприятий и предприятий малого и среднего бизнеса (SMB). Коммутаторы обеспечивают физическое стекирование, статическую маршрутизацию, поддержку многоадресных групп и расширенные функции безопасности. Все это делает данное устройство идеальным решением уровня доступа. Коммутатор легко интегрируется с коммутаторами уровня ядра L3 для формирования многоуровневой сетевой структуры с высокоскоростной магистралью и централизованными серверами. Коммутаторы серии DES-3528/3552 снабжены 24 или 48 портами Ethernet 10/100Мбит/с и поддерживают до 4-х uplink-портов Gigabit Ethernet.

Рассмотрим принципы настройки VLAN на управляемых коммутаторах Dlink. В ходе работы изучим способы создания, удаления, изменения VLAN, добавления различных видов портов (тегированных и нетегированных).

Подключение к коммутатору производится через консольный порт с помощью программы HyperTerminal.

С помощью команды show vlan посмотрим информацию о существующих VLAN.

В начальный момент времени все компьютеры находятся в одной подсети и пингуются между собой. Необходимо разделить их так, чтобы PC22, PC20, PC18 находились в одном VLAN, а PC 19, PC21 в другом VLAN. Для этого создаем два VLAN:

  • VLAN=10 с именем net1 (PC18, PC20, PC22)
  • VLAN=20 с именем net2 (PC19, PC21)

Для коммутаторов исходя из схемы был разработан план настройки портов. При этом учитывалось, что для компьютеров необходимо использовать нетегированные порты, а для связей между коммутаторами тегированные порты. При настройке коммутаторов тегированные порты размещались в VLAN=10 и VLAN=20, а нетегированные порты размещались только в том VLAN, к которому принадлежит компьютер.

На каждом из коммутаторов необходимо настроить порты в соответствии со схемой. На рисунке ниже показан пример настройки SW5. В начале создается vlan с идентификатором net1 и меткой 10. Далее создаем второй vlan net2 с меткой 20. После чего, добавляем порты коммутатора в соответствующие vlan. Порт 1 подключен к компьютеру PC22, который находится в 10 VLAN’е.  Значит 1 порт будет нетегированным (untagged). Второй порт по схеме подключен к SW4 и должен пропускать через себя 10 и 20 VLAN’ы.

Остальные коммутаторы настраиваются по аналогии.

 Командой show vlan просмотрим каждый из созданных нами VLAN.

Теперь можно посмотреть работу VLAN  в действии. Согласно плану наши компьютеры имеют следующие IP-адреса:

  • PC18  – 10.90.90.118
  • PC19 – 10.90.90.119
  • PC20 – 10.90.90.120
  • PC21 – 10.90.90.121
  • PC22 – 10.90.90.122

Будем пинговать с PC22.

Из результатов видно, что PC22 пингуется с PC20, PC18 так как они находятся в одном VLAN 10. PC21, PC19 недоступны, потому что находятся в другом VLAN 20.

Данный материал является своего рода «вступительным словом», и здесь мы рассмотрим, что такое VLAN и как технология VLAN помогает в настройке сети.

Рекомендуем также ознакомиться со статьями:

  •  — тегированный и нетегированный vlan
  •  — деление локальной сети на подсети с помощью VLAN
  •  — маршрутизация между vlan на примере cisco 2960

Соединения Access и Trunk VLAN

Одно устройство InfiLINK XG получает тегированные кадры VLAN с порта коммутации «Tagged» (порт сконфигурирован для переноса кадров с различными тегами VLAN), другое устройство InfiLINK XG соединяется с локальной сетью конечного потребителя с требованием впускать нетегированные кадры из определенных VLAN.

Рисунок — Пример соединения Access и Trunk VLAN

  • .
  • .

Настройка XG1

  • Настройте матрицу связей
  • Настройте VLAN 100 управление, нажмите «Применить».

Рисунок -Настройка VLAN управления

  • Включите опцию «Коммутация на основе VLAN включена».
  • Добавьте VLAN 100 с режимом «Tagged» на портах «ge0», «mgmt», «radio».
  • Добавьте VLAN 200 с режимом «Tagged» на портах «ge0» и «radio».
  • На всех портах «Default VLAN» установите режим «off».

Рисунок — Настройки VLAN

Настройка XG2

  • Настройте матрицу связей
  • Настройте VLAN 100 управление, нажмите «Применить».

Рисунок — Настройка VLAN управления

  • Включите опцию «Коммутация на основеVLAN включена»
  • Добавьте VLAN 100 с режимом «Tagged» на портах «mgmt» и «radio».
  • Добавьте VLAN 200 с режимами «Access» на «ge0» и «Tagged» на «radio».
  • На всех портах «Default VLAN» установите режим «off».

Рисунок — Настройка VLAN

В данном случае доступ к устройству разрешен только с помощью VLAN 100 и вновь назначенного IP-адреса. Трафик с меткой VLAN 200 будет приниматься портом «radio» и коммутировать нетегированным для локальной сети заказчика через порт «ge0».

Версия 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

  1. Компьютер генерирует и отправляет обычный кадр (фрейм, он же пакет канального уровня, т.е. уровня коммутаторов), ничего не добавляя. Этот кадр выглядит так:
  1. Коммутатор получает кадр. В соответствии с таблицей коммутации, он понимает, с какого компьютера пришел кадр, и к какому VLAN’у принадлежит этот компьютер. Тогда коммутатор сам добавляет в кадр служебную информацию, так называемый тег. Тег – это поле после MAC-адреса отправителя, в котором содержится, грубо говоря, номер VLAN’а. Так выглядит кадр с тегом:

Затем коммутатор отправляет этот кадр на другой коммутатор.

  1. Коммутатор, который принимает кадр, извлекает из него информацию о VLAN, то есть понимает, на какой компьютер нужно передать этот кадр, удаляет всю служебную информацию из кадра и передает его на компьютер получателя.

  2. На компьютер получателя приходит кадр уже без служебной информации.

Теперь возвращаемся к нашему “trunk’у”. Порты коммутатора, поддерживающие VLAN можно разделить на две группы:

  1. Тегированные порты (или trunk-порты у Cisco)
  2. Нетегированные порты (или access порты)

Нас интересуют тегированные порты или trunk-порты. Они как раз и служат для того, чтобы через один порт можно было передавать данные, принадлежащие к разным VLAN и получать данные нескольких VLAN на один порт (мы помним, что обычно порты из разных VLAN друг друга не видят).

На этом рисунке тегированными являются порты номер 21 и 22, которые соединяют два коммутатора. Через них и будут проходить кадры, например, от компьютера Е к компьютеру А, которые находятся в одном VLAN’е, по схеме, которая описана выше.

Так вот, канал связи между этими портами у Cisco как раз и называется “trunk’ом”.

Назначение VLAN

Использование VLAN заключается в разделении или создании рабочих групп между компьютерами, которые расположены в разных физических сетях. В зависимости от реализации VLAN отличается по своему назначению и применению.

Рабочая группа между разными сетями

Самый яркий пример — который уже приводился ранее. Между несколькими компьютерами, которые расположены в разных частях света можно с помощью VLAN настроить домашнюю группу доступа (позволить быстрый обмен файлами) или предоставить доступ к общему хранилищу.

Пример использования. Выделение сотрудников в общую сеть во время работы над одним проектом, без физического перемещения их рабочих мест.

Разделение подсетей

Речь идёт о том, чтобы логически связать соседние компьютера, давая им разный доступ к ресурсам. Такой способ делает компьютера невидимыми кроме как для членов соответствующих сетей и позволяет разграничить доступ.

В предложенной реализации, VLAN2 имеет доступ к локальному хранилищу данных, но не имеет доступа к Интернет. В свою очередь VLAN1 имеет доступ к Интернет, но не к хранилищу данных. Такая реализация подойдёт, если требуется людям в одном кабинете предоставить разные возможности. Или отключить Интернет на компьютере у ребёнка.

Пример использования. Разграничение доступа в пределах организации. Нередко торговым представителям оставляют доступ к Интернету с рабочих ПК, чтобы иметь возможность связаться с клиентами. В то же время, остальным сотрудникам такой доступ не нужен, поэтому их выделяют в отдельную подсеть.

Разделение рабочих групп с ограничением доступа

Способ схожий с предыдущим, но выделяется отдельно, поскольку прост и интересен в своей реализации. В предыдущем способе используется две отдельные настроенные виртуальные сети. В этом, одна изолируется от другой. На изображении это подано максимально просто:

В данном случае сеть предприятия является NativeVLAN (1), а вот гостевая выделена, как VLAN2. Практически весь трафик, который идёт через роутер не имеет тэга. А вот при появлении тэга, характерного для VLAN2, происходит изолирование пакетов от сети VLAN1. Это довольно популярное решение, которое позволяет обезопасить предприятие от случайного вторжения со стороны гостей.

Пример использования. Сам способ и является примером, поскольку обеспечивает, как автономное функционирование и доступ к интернету предприятию и гостям.

Тегирование

Тегирование – процесс добавления метки VLAN’a (он же тег) к фреймам трафика.

Как правило, конечные хосты не тегируют трафик (например, компьютеры пользователей). Этим занимаются коммутаторы, стоящие в сети. Более того, конечные хосты и не подозревают о том, что они находятся в таком-то VLAN’е. Строго говоря, трафик в разных VLAN’ах чем-то особенным не отличается.

Если через порт коммутатора может прийти трафик разных VLAN’ов, то коммутатор должен его как-то различать. Для этого каждый кадр должен быть помечен какой-либо меткой.

Наибольшее распространение получила технология, описанная в спецификации  IEEE 802.1Q. Также существую и другие проприетарные протоколы (спецификации).

Немного теории

VLAN – виртуальная локальная сеть, которая реализуется на роутерах и свитчах на втором уровне модели OSI путем расширения стандартного кадра Ethernet 4-ех байтовым полем. 3 бита выделены под Priority, 1 под CFI и 12 бит на VID.

VID – это VLAN ID, идентификатор который может принимать до 4096 значений. В отличие от устройств компании, чье название начинается с Cisco, на Mikrotik можно задавать любое значение от 0 до 4095. Т.е. эта та штука, которая делит одну плоскую широковещательную сеть на разные.

Если вы хотите углубить свои знания по работе с роутерами MikroTik, то наша команда рекомендует пройти курсы которые сделаны на основе MikroTik Certified Network Associate и расширены автором на основе опыта . Подробно читайте .

Порты – существует 2 вида в понятии Mikrotik. Tagged и Untagged. Или проще говоря Tagged – транковые или же uplink, смотрящие на роутеры и свитчи. Untagged – порты доступа (принтеры, компьютеры, серверы) т.е. оконечные устройства.

Ранее я говорил, что есть два вида реализации на трех типах устройств. Первая – программная реализация она везде одинакова и настраивается в bridge, вторая – аппаратная. В первом случае, обработка трафика идет через центральный процессор, во втором – обработкой трафика занимается свитч чип. Но в свитчах 3XX серии настройка именно через меню Bridge.

Из-за того, что чипов много и разных, существуют 3 подхода к реализации:

  • Роутеры и SOHO устройства – это устройства на чипах Atheros 8227, Atheros 8327 и не только, в которых аппаратная реализация находится в меню Switch. Подробнее можно ознакомиться
  • CRS1XX/2XX серии – устройства с 24-мя портами на борту, в которых аппаратная реализация находится в меню Ознакомиться с функциями чипа можно
  • CRS3XX серии – устройства с мощным чипом коммутации, в котором аппаратная реализация находится в bridge. Ознакомиться с функциями чипа можно

Вышесказанное может сбить с толку. В первом и втором типе, порты нужно добавлять в Bridge, а настраивать в меню Switch. Но если у вас один порт, который используется для tagged трафика, то добавлять не нужно, просто вешаете на него VLAN-ы. Здесь подразумевается, что это устройство скорее всего роутер. Но если вы добавили все порты в Bridge, и настраиваете в меню Bridge, то вы отключите HW Offload и задействуется ЦП. В третьем типе, все настраивается в Bridge и это будет аппаратная реализация.

Всегда следите за аппаратной разгрузкой, если вы включили функционал, который не поддерживается чипом, разгрузка выключится и трафик побежит через процессор.

В данной инструкции мы остановимся на свитчах третьей серии и будем настраивать Mikrotik VLAN через Bridge для нескольких сценариях:

  • Только VLAN100 и все порты подключены в него;
  • Только VLAN200 и все порты подключены в него;
  • На коммутаторе VLAN100 и VLAN200;
  • Управления VLAN99 и VLAN.

[править] Настройка VLAN на маршрутизаторах Cisco

Передача трафика между VLANами с помощью маршрутизатора

Передача трафика между VLAN может осуществляться с помощью маршрутизатора. Для того чтобы маршрутизатор мог передавать трафик из одного VLAN в другой (из одной сети в другую), необходимо, чтобы в каждой сети у него был интерфейс. Для того чтобы не выделять под сеть каждого VLAN отдельный физический интерфейс, создаются логические подынтерфейсы на физическом интерфейсе для каждого VLAN.

На коммутаторе порт, ведущий к маршрутизатору, должен быть настроен как тегированный порт (в терминах Cisco — транк).

Изображенная схема, в которой маршрутизация между VLAN выполняется на маршрутизаторе, часто называется router on a stick.

IP-адреса шлюза по умолчанию для VLAN (эти адреса назначаются на подынтерфейсах маршрутизатора R1):

VLAN IP-адрес
VLAN 2 10.0.2.1 /24
VLAN 10 10.0.10.1 /24
VLAN 15 10.0.15.1 /24

Для логических подынтерфейсов необходимо указывать то, что интерфейс будет получать тегированный трафик и указывать номер VLAN соответствующий этому интерфейсу. Это задается командой в режиме настройки подынтерфейса:

R1(config-if)# encapsulation dot1q <vlan-id>

Создание логического подынтерфейса для VLAN 2:

R1(config)# interface fa0/0.2
R1(config-subif)# encapsulation dot1q 2
R1(config-subif)# ip address 10.0.2.1 255.255.255.0

Создание логического подынтерфейса для VLAN 10:

R1(config)# interface fa0/0.10
R1(config-subif)# encapsulation dot1q 10
R1(config-subif)# ip address 10.0.10.1 255.255.255.0

Соответствие номера подынтерфейса и номера VLAN не является обязательным условием. Однако обычно номера подынтерфейсов задаются именно таким образом, чтобы упростить администрирование.

На коммутаторе порт, ведущий к маршрутизатору, должен быть настроен как статический транк:

interface FastEthernet0/20
 switchport trunk encapsulation dot1q
 switchport mode trunk

Пример настройки

Конфигурационные файлы устройств для схемы изображенной в начале раздела.

Конфигурация sw1:

!
interface FastEthernet0/1
 switchport mode access
 switchport access vlan 2
!
interface FastEthernet0/2
 switchport mode access
 switchport access vlan 2
!
interface FastEthernet0/3
 switchport mode access
 switchport access vlan 15
!
interface FastEthernet0/4
 switchport mode access
 switchport access vlan 10
!
interface FastEthernet0/5
 switchport mode access
 switchport access vlan 10
!
interface FastEthernet0/20
 switchport trunk encapsulation dot1q
 switchport mode trunk
 switchport trunk allowed vlan 2,10,15
!

Конфигурация R1:

!
interface fa0/0.2
 encapsulation dot1q 2
 ip address 10.0.2.1 255.255.255.0
!
interface fa0/0.10
 encapsulation dot1q 10
 ip address 10.0.10.1 255.255.255.0
!
interface fa0/0.15
 encapsulation dot1q 15
 ip address 10.0.15.1 255.255.255.0
!

Настройка native VLAN

По умолчанию трафик VLAN’а 1 передается не тегированым (то есть, VLAN 1 используется как native), поэтому на физическом интерфейсе маршрутизатора задается адрес из сети VLAN 1.

Задание адреса на физическом интерфейсе:

R1(config)# interface fa0/0
R1(config-if)# ip address 10.0.1.1 255.255.255.0

Если необходимо создать подынтерфейс для передачи не тегированного трафика, то в этом подынтерфейсе явно указывается, что он принадлежит native VLAN. Например, если native VLAN 99:

R1(config)# interface fa0/0.99
R1(config-subif)# encapsulation dot1q 99 native
R1(config-subif)# ip address 10.0.99.1 255.255.255.0

Конфигурация на устройствах Cisco

Для настройки тегированного VLAN на устройствах Cisco необходимо выполнить следующую последовательность действий:

  • Создать VLAN и присвоить ему номер.
  • Настроить порт коммутатора в режим доступа и присвоить порту номер VLAN.
  • Настроить порт коммутатора в режим транк и разрешить прохождение тегированных фреймов VLAN.
  • Настроить интерфейс маршрутизатора для каждого VLAN.
  • Настроить протокол маршрутизации для обеспечения связности между VLAN.

Конфигурация настройки тегированных VLAN выполняется с помощью командной строки (CLI) или графических интерфейсов (GUI) управления устройствами Cisco. Пример настройки тегированного VLAN на коммутаторе Cisco с использованием CLI:

Команда Описание
enable Переход в режим привилегированного пользователя.
configure terminal Переход в режим настройки терминала.
vlan vlan-id Создание нового VLAN и присвоение ему ID.
interface interface-id Выбор интерфейса для настройки (например, FastEthernet0/1).
switchport mode access Настройка порта коммутатора в режим доступа.
switchport access vlan vlan-id Присвоение VLAN порту.
interface interface-id Выбор интерфейса для настройки (например, GigabitEthernet0/1).
switchport mode trunk Настройка порта коммутатора в режим транк.
switchport trunk allowed vlan vlan-id Разрешение прохождения тегированных фреймов VLAN.

После выполнения этих команд тегированный VLAN будет настроен на устройстве Cisco.

Выводы

Как вам уже стало понятно, виртуальные сети представляют собой довольно мощное средство сетевой организации, способное решить проблемы, связанные с безопасностью передачи данных, администрированием, разграничением доступа и увеличением эффективности использования

Если вам требуется или вы решили самостоятельно подключить роутер/модем от компании «Ростелеком» , если вам нужно подключить IPTV или услуги цифровой телефонии, то вы должны знать, что такое VLAN ID и как его найти.

VLAN ID — это идентификационный 12-битный набор цифр, благодаря которому можно создавать многоуровневые виртуальные сети , обходя любые физические препятствия, как, например, географическое положение, передавать определённую информацию на нужные девайсы. Технология «ВиЛан» присутствует в устройствах, которые и обеспечивают создание одной общей сети. Если говорить простым языком, «ВиЛан» ID — это адрес, на который специальные устройства, распознающие его (коммутаторы), отправляют пакеты данных.

Технология довольно удобная, имеет свои как преимущества, так и недостатки, используется компанией «Ростелеком» для передачи данных: например, для цифрового телевидения (IPTV). То есть, если вы самостоятельно решили подключиться или настроить IPTV, то вам необходимо знать идентификатор. Как можно догадаться, российская компания использует эти специальные наборы цифр для того, чтобы люди по общему «адресу» могли использовать свои модемы/роутеры для просмотра IPTV. То есть, этот «маяк» позволяет получать одинаковую информацию разным людям.

Делается это не только для удобства и обхода физических границ. Идентификатор позволяет обезопасить доступ к различным виртуальным сетям. К примеру, отделить гостевые соединения от подключений предприятия или в случае с IPTV предоставить доступ только определённым пользователям.

Тегирующий трафик

Существуют тегированные и нетегированные порты. Это значит, что есть порты использующие теги, а есть не использующие. Нетегированный порт может передавать только личный VLAN, тегированный — может принимать и отдавать трафик из различных «маяков».

Теги «прикрепляются» к трафику для того, чтобы сетевые коммутаторы могли опознавать его и принимать. Теги применяются и компанией «Ростелеком» .

Самое интересное, что позволяют теги — компьютеры могут быть подключены к одному коммутатору (свитчу), получать сигнал Wi-Fi с одной точки. Но при этом они не будут видеть друг друга и получать не одинаковые данные, если принадлежат к разным «маячкам». Это благодаря тому, что для одного «ВиЛан» используются определённые теги, а другой может быть, вообще, нетегирующим и не пропускать этот трафик.

Включить эту функцию

Включить этот идентификатор нужно для того, чтобы устройства, принимающие информацию, могли её видеть. В противном случае вся зашифрованная информация не будет видна.

Таким образом, стоит активировать VLAN для каждой конкретной услуги. Если он уже активирован, и делали это не вы, всё равно стоит знать свой «адрес».

Понравилась статья? Поделиться с друзьями:
ПоватТех
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: