Транковые порты – Сети для самых маленьких. Часть вторая. Коммутация / Habr

Как зависит перевод термина trunk от вендора коммутаторов? / Habr

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


  1. Компьютер генерирует и отправляет обычный кадр (фрейм, он же пакет канального уровня, т.е. уровня коммутаторов), ничего не добавляя. Этот кадр выглядит так:


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

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


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


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


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


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

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

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

Е к компьютеру А, которые находятся в одном VLAN’е, по схеме, которая описана выше.

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


Версия HP

Как в компании интерпретируют этот термин?

Здесь вообще речь про VLAN не идет. В случае с HP мы говорим о технологии агрегирования каналов. У них “trunk” – это логический канал, который объединяет в себе несколько физических каналов. Подобное объединение позволяет увеличить пропускную способность и надежность канала. Разберем на примере. Допустим, у нас есть два коммутатора, у каждого из которых есть по четыре порта и эти порты соединены между собой четырьмя проводами.

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

.

Такие дублирующие соединения считаются избыточными, и их необходимо устранять, для этой цели существует протокол STP (Spanning Tree Protocol). Тогда из наших четырех соединений STP выключит три, потому что посчитает их избыточными, и останется всего одно соединение.

Так вот, в случае же, если мы объединим эти четыре физических канала, между коммутаторами будет один логический канал с увеличенной пропускной способностью (максимальной скоростью передачи информации по каналу связи в единицу времени). Т. е. задействованы сразу четыре канала, и проблема с избыточными соединениями решена. Вот именно этот логический (агрегированный) канал и называется у HPtrunk’ом”.

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


  • тип среды передачи (витая пара, оптоволокно и т. д.),
  • скорость,
  • режим flow control и duplex.

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

И для полного прояснения картины отметим, что такая технология у Cisco называется EtherChannel. EtherChannel – технология агрегирования каналов, разработанная Cisco. Смысл тот же, позволяет объединять несколько физических каналов Ethernet в один логический.



Таким образом, термин trunk переводится в зависимости от контекста следующим образом:


habr.com

Виртуальная реальность или что такое VLAN ~ Сетевые заморочки

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

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

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

Немного прокомментирую данный рисунок. Компьютеры 1 и 2 объединены в один VLAN, компьютеры 3 и 4 объединены в другой VLAN. Хотя все компьютеры подключены к одному и тому же коммутатору, все они не будут общаться между собой. Компьютер номер 1 сможет общаться только с компьютером 2, компьютер 3 будет видеть только компьютер 4. Тоесть данная ситуация будет аналогична тому, как если бы мы подключили компьютеры 1  и 2 к одному коммутатору, а компьютеры 3 и 4 к другому коммутатору, и не соединили бы эти коммутаторы между собой. Как легко заметить, в данном случае, технология VLAN помогла нам разделить нашу единую физическую сеть на несколько виртуальных не связанных между собой сетей, при этом компьютеры находящиеся в этих виртуальных сетях даже не подозревают об этом и работают точно также как это было бы в обычно сети.






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

Для взаимодействия устройств в VLAN сетях, их порты  настраиваются специальным образом. Существует два типа настройки портов: настройка порта в режиме  доступа (аксесс порт) и настройка порта в режиме транка (транковый порт).

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

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

Принцип работы портов доступа и транковых портов

На данном рисунке порты 1-4 являются портами доступа и по каждому из этих портов идет трафик только одного VLAN, порты 5 являются транковыми портами, служат для связи коммутаторов между собой и передают через себя трафик сразу двух виртуальных локальных сетей VLAN  1 и VLAN 2.

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

На данном рисунке все порты являются портами доступа

Так же хочется отметить, еще один интересный факт. Если ваш коммутатор поддерживает VLAN, то вы используете данную технологию даже не подозревая об этом. Большинство коммутаторов, во всяком случае фирмы Cisco, по умолчанию настроены таким образом, что все их порты принадлежат VLAN 1. Использование коммутатора в данном случае будет иметь следующий вид.

Один единственный VLAN на коммутаторе

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

www.netza.ru

Режимы портов в коммутаторах Cisco

Итак, разберемся немного с режимами портов управляемых коммутаторов.

  • Режимы портов

  • Порт сетевого устройства может находиться в 2-х состояниях: access или trunk.

Access port (порт доступа) — порт, находящийся в определенном VLAN и передающий не тегированные кадры. Как правило, это порт, смотрящий на конечное устройство.

  • Trunk port (магистральный порт) — порт, передающий тегированный трафик. Как правило, этот порт поднимается между сетевыми устройствами.

Access порты

Об этом режиме основы уже описаны здесь

Trunk порты

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

Режимы интерфейса (режим по умолчанию зависит от модели коммутатора):

  • auto — Порт находится в автоматическом режиме и будет переведён в состояние trunk, только если порт на другом конце находится в режиме on или desirable. Т.е. если порты на обоих концах находятся в режиме «auto», то trunk применяться не будет.
  • desirable — Порт находится в режиме «готов перейти в состояние trunk»; периодически передает DTP-кадры порту на другом конце, запрашивая удаленный порт перейти в состояние trunk (состояние trunk будет установлено, если порт на другом конце находится в режиме on, desirable, или auto).
  • trunk — Порт постоянно находится в состоянии trunk, даже если порт на другом конце не поддерживает этот режим.
  • nonegotiate — Порт готов перейти в режим trunk, но при этом не передает DTP-кадры порту на другом конце. Этот режим используется для предотвращения конфликтов с другим «не-cisco» оборудованием. В этом случае коммутатор на другом конце должен быть вручную настроен на использование trunk’а.

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

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

Перейдем к демонстрационной схеме. Предположим, что вланы на всех коммутаторах уже созданы (можно использовать протокол VTP).

Настройка статического транка

Создание статического транка:

sw1(config)# interface fa0/22
sw1(config-if)# switchport mode trunk

На некоторых моделях коммутаторов (на которых поддерживается ISL) после попытки перевести интерфейс в режим статического транка, может появится такая ошибка:

sw1(config-if)# switchport mode trunk
Command rejected: An interface whose trunk encapsulation is “Auto” can not be configured to “trunk” mode.

Это происходит из-за того, что динамическое определение инкапсуляции (ISL или 802.1Q) работает только с динамическими режимами транка. И для того, чтобы настроить статический транк, необходимо инкапсуляцию также настроить статически.

Для таких коммутаторов необходимо явно указать тип инкапсуляции для интерфейса:

sw1(config-if)# switchport trunk encapsulation dot1q

И после этого снова повторить команду настройки статического транка (switchport mode trunk).

Динамическое создание транков (DTP)

Dynamic Trunk Protocol (DTP) — проприетарный протокол Cisco, который позволяет коммутаторам динамически распознавать настроен ли соседний коммутатор для поднятия транка и какой протокол использовать (802.1Q или ISL). Включен по умолчанию.

Режимы DTP на интерфейсе:

auto — Порт находится в автоматическом режиме и будет переведён в состояние trunk, только если порт на другом конце находится в режиме on или desirable. Т.е. если порты на обоих концах находятся в режиме «auto», то trunk применяться не будет.
desirable — Порт находится в режиме «готов перейти в состояние trunk»; периодически передает DTP-кадры порту на другом конце, запрашивая удаленный порт перейти в состояние trunk (состояние trunk будет установлено, если порт на другом конце находится в режиме on, desirable, или auto).
nonegotiate — Порт готов перейти в режим trunk, но при этом не передает DTP-кадры порту на другом конце. Этот режим используется для предотвращения конфликтов с другим «не-cisco» оборудованием. В этом случае коммутатор на другом конце должен быть вручную настроен на использование trunk’а.

Перевести интерфейс в режим auto:

sw1(config-if)# switchport mode dynamic auto

Перевести интерфейс в режим desirable:

sw1(config-if)# switchport mode dynamic desirable

Перевести интерфейс в режим nonegotiate:

sw1(config-if)# switchport nonegotiate

Проверить текущий режим DTP:

sw# show dtp interface

Разрешённые VLAN’ы

По умолчанию в транке разрешены все VLAN. Можно ограничить перечень VLAN, которые могут передаваться через конкретный транк.

Указать перечень разрешенных VLAN для транкового порта fa0/22:

sw1(config)# interface fa0/22
sw1(config-if)# switchport trunk allowed vlan 1-2,10,15

Добавление ещё одного разрешенного VLAN:

sw1(config)# interface fa0/22
sw1(config-if)# switchport trunk allowed vlan add 160

Удаление VLAN из списка разрешенных:

sw1(config)# interface fa0/22
sw1(config-if)# switchport trunk allowed vlan remove 160

Просмотр информации

Просмотр информации о транке:

sw1# show interface fa0/22 trunk

Просмотр информации о настройках интерфейса (о транке):

sw1# show interface fa0/22 switchport

Просмотр информации о настройках интерфейса (об access-интерфейсе):

sw1# show interface fa0/3 switchport

Просмотр информации о VLAN’ах:

sw1# show vlan brief

Диапазоны VLAN

VLANs Диапазон Использование Передается VTP
0, 4095 Reserved Только для системного использования.
1 Normal VLAN по умолчанию. Можно использовать, но нельзя удалить. Да
2-1001 Normal Для VLANов Ethernet. Можно создавать, удалять и использовать. Да
1002-1005 Normal Для FDDI и Token Ring. Нельзя удалить. Да
1006-4094 Extended Только для VLANов Ethernet. Версия 1 и 2 нет, версия 3 да

По материалам

unlix.ru

Тренинг Cisco 200-125 CCNA v3.0. День 14. VTP, Pruning и Native VLAN / ua-hosting.company corporate blog / Habr

Сегодня мы продолжим рассмотрение VLAN и обсудим протокол VTP, а также понятия VTP Pruning и Native VLAN. В одном из предыдущих видео мы уже говорили о VTP, и первое, что должно прийти вам на ум, когда вы слышите о VTP, это то, что он не является протоколом транкинга, несмотря на то, что называется «протоколом транкинга VLAN».

Как вы знаете, существует два популярных протокола транкинга – не используемый сегодня проприетарный протокол Cisco ISL и протокол 802.q, который используется в сетевых устройствах различных производителей для инкапсуляции транкинг-трафика. Этот протокол также применяется в свитчах Cisco. Мы уже говорили, что VTP – это протокол синхронизации VLAN, то есть он предназначен для синхронизации базы данных VLAN во всех свитчах сети.

Мы упоминали о различных режимах VTP – server, client, transparent. Если устройство использует режим сервера, это позволяет вносить изменения, добавлять или удалять VLAN. Режим клиента не позволяет вносить изменения в настройки свитча, вы можете настроить базу данных VLAN только через VTP-сервер, и она будет реплицирована на всех VTP-клиентах. Свитч в режиме transparent не вносит изменений в собственную базу данных VLAN, а просто пропускает через себя и передает изменения следующему устройству, находящемуся в режиме client. Этот режим похож на отключение протокола VTP на конкретном устройстве, превращающее его в транспортировщика информации об изменениях VLAN.

Вернемся к программе Packet Tracer и к топологии сети, рассмотренной на предыдущем уроке. Мы настроили сеть VLAN10 для отдела продаж и сеть VLAN20 отдела маркетинга, объединив их тремя свитчами.

Между свитчами SW0 и SW1 осуществляется связь по сети VLAN20, а между SW0 и SW2 – связь по сети VLAN10 благодаря тому, что мы добавили VLAN10 в базу данных VLAN свитча SW1.
Для того, чтобы рассмотреть работу протокола VTP, давайте используем один из свитчей в качестве VTP-сервера, пусть это будет SW0. Если вы помните, по умолчанию все свитчи работают в режиме VTP-сервера. Зайдем в терминал командной строки свитча и введем команду show vtp status. Вы видите текущую версию протокола VTP – 2 и номер ревизии конфигурации 4. Если вы помните, каждый раз, когда в базу данных VTP вносятся изменения, номер ревизии увеличивается на единицу.

Максимальное число поддерживаемых сетей VLAN равно 255. Это число зависит от марки конкретного свитча Cisco, так как разные свитчи могут поддерживать разное количество локальных виртуальных сетей. Число существующих сетей VLAN равно 7, через минуту мы рассмотрим, что это за сети. Режим управления VTP – сервер, имя домена не задано, режим VTP Pruning отключен, мы вернемся к этому позже. Отключены также режимы VTP V2 и VTP Traps Generation. Для сдачи экзамена 200-125 CCNA вам не нужно знать о двух последних режимах, так что можете о них не беспокоиться.

Давайте взглянем на базу данных VLAN, для чего используем команду show vlan. Как мы уже видели в предыдущем видео, у нас имеется 4 неподдерживаемые сети: 1002, 1003, 1004 и 1005.

Здесь также перечислены 2 созданные нами сети VLAN10 и 20 и сеть по умолчанию VLAN1. Теперь перейдем к другому свитчу и введем такую же команду, чтобы просмотреть статус VTP. Вы видите, что номер ревизии у этого свитча равен 3, он находится в режиме VTP-сервера и вся остальная информация аналогична первому свитчу. Когда я введу команду show VLAN, то увижу, что мы произвели 2 изменения в настройках, на одно меньше, чем у свитча SW0, вот почему номер ревизии SW1 равен 3. Мы произвели 3 изменения в настройках по умолчанию первого свитча, поэтому его номер ревизии увеличился до 4.

Теперь посмотрим на статус SW2. Номер ревизии здесь равен 1, и это странно. У нас должна быть вторая ревизия, потому что было произведено 1 изменение настроек. Посмотрим на базу данных VLAN.

Мы сделали одно изменение, создав сеть VLAN10, и я не знаю, почему это информация не обновилась. Возможно, это произошло из-за того, что у нас не настоящая сеть, а программный симулятор сети, в котором могут быть ошибки. Когда у вас появится возможность работать с настоящими устройствами во время практики в подразделении компании Cisco, это поможет вам больше, чем симулятор Packet Tracer. Еще одной полезной вещью при отсутствии реальных устройств будет GNC3, или графический симулятор сети Cisco. Это эмулятор, который использует настоящую операционную систему устройства, например, роутера. Между симулятором и эмулятором существует разница – первый представляет собой программу, которая выглядит как настоящий роутер, но не является им. Эмулятор программно создает только само устройство, но для его работы использует реальное программное обеспечение. Но если у вас нет возможности работать с реальным ПО Cisco IOS, лучшим вариантом будет Packet Tracer.

Итак, нам нужно настроить SW0 как VTP-сервер, для этого я захожу в режим глобальной конфигурации настроек и ввожу команду vtp version 2. Как я говорил, мы можем установить ту версию протокола, которая нам нужна – 1 или 2, в данном случае нам нужна вторая версия. Далее командой vtp mode мы задаем VTP режим свитча – сервер, клиент или transparent. В данном случае нам нужен режим сервера, и после ввода команды vtp mode server система выдает сообщение, что устройство уже находится в режиме сервера. Далее мы должны настроить VTP-домен, для чего используем команду vtp domain nwking.org. Зачем это нужно? Если в сети имеется другое устройство с большим номером ревизии, все остальные устройства с меньшим номером начинают реплицировать базу данных VLAN с этого устройства. Однако это происходит только в том случае, когда устройства имеют одинаковое доменное имя. Например, если вы работаете в nwking.org, вы указываете этот домен, если в Cisco, то домен сisco.com и так далее. Доменное имя устройств вашей компании позволяет отличить их от устройств другой компании или любых других внешних устройств сети. Если вы присваиваете устройству доменное имя компании, то делаете его частью сети этой компании.

Следующее, что нужно сделать – это установить пароль VTP. Он нужен для того, чтобы хакер, обладая устройством с большим номером ревизии, не смог скопировать свои настройки VTP на ваш свитч. Я ввожу пароль cisco с помощью команды vtp password cisco. После этого репликация данных VTP между свитчами будет возможна только при совпадении паролей. Если будет использован неправильный пароль, обновления базы данных VLAN не произойдёт.

Давайте попробуем создать еще несколько VLAN. Для этого я использую команду config t, командой vlan 200 создаю сеть под номером 200, присваиваю ей имя TEST и сохраняю изменения командой exit. Затем я создаю ещё одну сеть vlan 500 и называю её TEST1. Если сейчас ввести команду show vlan, то в таблице виртуальных сетей свитча можно увидеть эти две новые сети, к которым не приписано ни одного порта.

Давайте перейдём с SW1 и посмотрим его VTP-статус. Мы видим, что здесь ничего не изменилось, кроме имени домена, число сетей VLAN осталось равным 7. Мы не видим появления созданных нами сетей, потому что пароль VTP не совпадает. Давайте установим пароль VTP на этом свитче, последовательно введя команды conf t, vtp pass и vtp password сisco. Система выдала сообщение, что база данных VLAN устройства теперь использует пароль сisco. Еще раз взглянем на статус VTP, чтобы проверить, прошла ли репликация информации. Как видите, число существующих VLAN автоматически увеличилось до 9.

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

То же самое нужно проделать с последним свитчем SW2. Введем команду show vlan – вы видите, что в ней не произошло никаких изменений. Аналогично нет никаких изменений в статусе VTP. Для того, чтобы данный свитч обновил информацию, нужно также настроить пароль, то есть ввести те же команды, что и для SW1. После этого число сетей VLAN в статусе SW2 увеличится до 9.

Вот для чего нужен протокол VTP. Это отличная штука, обеспечивающая автоматическое обновление информации во всех клиентских сетевых устройствах после внесения изменений в устройство-сервер. Вам не нужно вручную вносить изменения в базу данных VLAN всех свитчей – репликация происходит автоматически. Если у вас имеется 200 сетевых устройств, внесенные изменения одновременно сохранятся на всех двухстах устройствах. На всякий случай нам нужно убедиться, что SW2 также является VTP-клиентом, поэтому зайдем в настройки командой config t и введем команду vtp mode client.

Таким образом, в нашей сети только первый свитч находится в режиме VTP Server, два остальных работают в режиме VTP Client. Если я сейчас я войду в настройки SW2 и введу команду vlan 1000, то получу сообщение: «настройка VTP VLAN не разрешена, когда устройство находится в режиме client». Таким образом, я не могу вносить никаких изменений в базу данных VLAN, если свитч находится в режиме VTP-клиента. Если я хочу внести какие-то изменения, мне нужно перейти на свитч-сервер.

Я захожу в настройки терминала SW0 и ввожу команды vlan 999, name IMRAN и exit. Эта новая сеть появилась в базе данных VLAN данного свитча, и если я теперь перейду в базу данных свитча-клиента SW2, то увижу, что здесь появилась та же самая информация, то есть произошла репликация.

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

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

Для того, чтобы предотвратить возникновение такой проблемы, нужно установить доменное имя и пароль VTP или же использовать функцию Cisco Port Security, которая позволяет управлять MAC-адресами портов свитчей, вводя различные ограничения по их использованию. Например, если кто-то посторонний попробует изменить MAC-адрес, порт немедленно отключится. Очень скоро мы вплотную познакомимся с этой функцией коммутаторов Cisco, а сейчас вам достаточно знать, что Port Security позволяет убедиться в том, что VTP защищен от злоумышленника.

Подсуммируем, что представляет собой настройка VTP. Это выбор версии протокола – 1 или 2, назначение режима VTP – сервер, клиент или transparent. Как я уже сказал, последний режим не обновляет базу данных VLAN самого устройства, а просто передаёт все изменения соседним устройствам. Далее приведены команды для назначения доменного имени и пароля: vtp domain <имя домена> и vtp password <пароль>.

Теперь поговорим о настройках VTP Pruning. Если посмотреть на топологию сети, можно увидеть, что все три свитча имеют одинаковую базу данных VLAN, это означает, что сети VLAN10 и VLAN20 являются частью всех 3-х свитчей. Технически свитчу SW2 не нужна сеть VLAN20, потому что у него нет портов, относящихся к этой сети. Однако независимо от этого весь трафик, направленный из компьютера Laptop0 по сети VLAN20 попадает на свитч SW1 и от него по транку поступает на порты SW2. Ваша основная задача как сетевого специалиста – сделать так, чтобы по сети передавалось как можно меньше лишних данных. Вы должны обеспечить передачу необходимых данных, но как ограничить передачу информации, которая не нужна данному устройству?

Вы должны убедиться в том, что трафик, предназначенный для устройств сети VLAN20, не будет поступать на порты SW2 через транк, когда этого не требуется. То есть трафик Laptop0 должен доходить до SW1 и далее к компьютерам сети VLAN20, но не должен выходить за пределы правого транк-порта SW1. Это можно обеспечить с помощью VTP Pruning.

Для этого нам нужно зайти в настройки VTP-сервера SW0, потому что как я уже говорил, настройки VTP можно производить только через сервер, зайти в глобальные настройки конфигурации и набрать команду vtp pruning. Поскольку Packet Tracer это всего лишь программа-симулятор, в её подсказках для командной строки такой команды нет. Однако когда я наберу vtp pruning и нажму «Ввод», система сообщит, что режим vtp pruning недоступен.

Использовав команду show vtp status, мы увидим, что режим VTP Pruning находится в состоянии disabled, поэтому нам нужно сделать его доступным, переведя в положение enable. Сделав это, мы активируем режим VTP Pruning на всех трех свитчах нашей сети в пределах сетевого домена.
Позвольте мне напомнить, что такое VTP Pruning. Когда мы включаем этот режим, свитч-сервер SW0 сообщает свитчу SW2, что на его портах настроена только сеть VLAN10. После этого свитч SW2 сообщает свитчу SW1, что ему не нужен никакой трафик кроме трафика, предназначенного для сети VLAN10. Теперь благодаря VTP Pruning свитч SW1 обладает информацией, что ему не нужно посылать трафик VLAN20 по транку SW1-SW2.

Для вас как администратора сети это очень удобно. Вам не нужно вручную вводить команды, так как свитч достаточно умен, чтобы посылать именно то, что требуется конкретному сетевому устройству. Если завтра вы разместите в соседнем здании еще одно подразделение сотрудников отдела маркетинга и подсоедините его сеть VLAN20 к свитчу SW2, этот свитч немедленно сообщит свитчу SW1, что теперь у него имеются сети VLAN10 и VLAN20, и попросит передавать ему трафик для обеих сетей. Эта информация постоянно обновляется на всех устройствах, что делает связь более эффективной.

Есть ещё один способ конкретизировать передачу трафика – это использовать команду, которая разрешает передачу данных только для указанной VLAN. Я захожу в настройки свитча SW1, где меня интересует порт Fa0/4, и ввожу команды int fa0/4 и switchport trunk allowed vlan. Поскольку я уже знаю, что SW2 имеет только VLAN10, я могу указать свитчу SW1, чтобы его транк-порт пропускал только трафик для этой сети, применив команду allowed vlan. Таким образом, я запрограммировал транк-порт Fa0/4 на передачу трафика только для VLAN10. Это означает, что данный порт не пропустит дальше трафик VLAN1, VLAN20 или какой-либо другой сети, кроме указанной.

Вы можете спросить, что лучше использовать — VTP Pruning или команду allowed vlan. Ответ носит субъективный характер, потому что в некоторых случаях имеет смысл использовать первый способ, а в некоторых – второй. Как администратор сети, вы сами должны выбрать оптимальное решение. В каких-то случаях решение запрограммировать порт на пропуск трафика определенной VLAN может быть хорошим, а в каких-то – плохим. В случае нашей сети использование команды allowed vlan может быть оправданным, если мы не собираемся менять топологию сети. Но если кто-либо в дальнейшем захочет добавить к SW 2 группу устройств, использующих VLAN20, более целесообразно применить режим VTP Pruning.

Итак, настройка VTP Pruning заключается в использовании следующих команд. Команда vtp pruning обеспечивает автоматическое использование этого режима. Если же вы хотите настроить VTP Pruning транк-порта на пропуск трафика определенной VLAN вручную, то используете команду выбора номера транк-порта interface <#>, включения режима транка switchport mode trunk и разрешаете передачу трафика конкретной сети с помощью команды switchport trunk allowed vlan <all/none/add/remove/#>.

В последней команде можно использовать 5 параметров. All означает, что разрешена передача трафика всех сетей VLAN, none – передача трафика для всех VLAN запрещена. Если использовать параметр add, можно добавить пропуск трафика для еще одной сети. Например, у нас разрешен трафик VLAN10, а командой add можно разрешить также пропуск трафика сети VLAN20. Команда remove позволяет удалить одну из сетей, например, если использовать параметр remove 20, останется только передача трафика VLAN10.

Теперь рассмотрим native VLAN. Мы уже говорили, что native VLAN представляет собой виртуальную сеть для пропуска нетегированного трафика через конкретный транк-порт.

Я захожу в настройки конкретного порта, на что указывает заголовок командной строки SW(config-if)#, и использую команду switchport trunk native vlan <номер сети>, например, VLAN10. Теперь весь трафик сети VLAN10 будет проходить через транк без тегов.

Вернемся к логической топологии сети в окне Packet Tracer. Если я использую команду switchport trunk native vlan 20 для порта свитча Fa0/4, то весь трафик сети VLAN20 будет проходить по транку Fa0/4 – SW2 нетегированным. Когда свитч SW2 получит этот трафик, то подумает: «это нетегированный трафик, значит, я должен направить его в сеть native VLAN». Для этого свитча native VLAN – это сеть VLAN1. Сети 1 и 20 никак не связаны, но поскольку используется режим native VLAN, у нас появляется возможность направить трафик VLAN20 в совершенно другую сеть. Однако этот трафик будет некапсулированным, а сами сети все равно должны совпадать.

Давайте рассмотрим это на примере. Я войду в настройки SW1 и использую команду switchport trunk native vlan 10. Теперь любой трафик VLAN10 будет исходить из транк-порта нетегированным. Когда он достигнет транк-порта SW2, свитч поймет, что должен направить его в VLAN1. Вследствие такого решения трафик не сможет достичь компьютеров PC2, 3 и 4, так как они подключены к access-портам свитча, предназначенным для VLAN10.

Технически это вызовет появление сообщения системы о том, что native VLAN порта Fa0/4, который является частью VLAN10, не совпадает с портом Fa0/1, который выступает частью VLAN1. Это означает, что указанные порты не смогут работать в режиме транка из-за несовпадения native VLAN.


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?

habr.com

Как создать и настроить trunk порты в Cisco для соединения коммутаторов на примере Cisco 2960+48TC-S

В предыдущей части мы рассмотрели вариант одного коммутатора который имеет разделение на vlan. Представим что появился еще один этаж и на нем свой коммутатор который тоже имеет свои vlan, встает вопрос как подключить два коммутатора. Для этого есть vlan trunk.

Trunk - сконфигурированное состояние порта коммутатора (в меню команды interface ...), предназначенное для подключения к другому коммутатору. Могут объединяться в Port-channel для увеличения надёжности и быстродействия. На обоих соединяемых таким образом коммутаторах порты должны быть в режиме trunk. Коммутаторы можно иногда соединять друг с другом и портами в режиме access.

Немного теории о магистральном порте

Trunk Port (Магистральный порт) - это порт, предназначенный для переноса трафика для всех VLAN, доступных через определенный коммутатор, процесс, известный как транкинг. Магистральные порты помечают кадры уникальными идентифицирующими тегами - тегами 802.1Q или тегами Inter-Switch Link (ISL) - при их перемещении между коммутаторами. Следовательно, каждый отдельный кадр может быть направлен в назначенный ему VLAN.

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

Схема выглядит так, у нас есть два коммутатора Cisco 2060 находящиеся на разных этажах здания.

Как создать и настроить vlan в Cisco на примере Cisco 2960+48TC-S20

Соединять будем через гигабитные порты. Идем на первом коммутаторе в режим конфигурирования

выбираем нужный интерфейс

Как создать и настроить vlan в Cisco на примере Cisco 2960+48TC-S16

Switch(config)#interface gigabitEthernet 1/1

Ставим нужный режим

Switch(config-if)#switchport mode trunk

Как создать и настроить vlan в Cisco на примере Cisco 2960+48TC-S17

Разрешаем нужные vlan в нашем случае 2 и 3

Switch(config-if)#switchport trunk allowed vlan 2,3

Как создать и настроить vlan в Cisco на примере Cisco 2960+48TC-S19

делаем на втором коммутаторе тоже самое. Проверим пингами соседей по этажам.

Как создать и настроить vlan в Cisco на примере Cisco 2960+48TC-S21

Как создать и настроить vlan в Cisco на примере Cisco 2960+48TC-S22

Как создать и настроить vlan в Cisco на примере Cisco 2960+48TC-S23

Все ок. Следующим шагом идет настройка маршрутизации в cisco, чтобы vlan видели друг друга.

pyatilistnik.org

VLAN с использованием чипа коммутации / Habr

Оборудование Mikrotik богато возможностями, но к сожалению, разработчики не всегда успевают держать Wiki с документацией в актуальном состоянии, иногда информация относится к уже устаревшей версии RouterOS или в ней не раскрыты маленькие тонкости. Сегодня я хочу немного дополнить официальную Wiki, рассказав о настройке встроенного чипа коммутации, для работы с VLAN. В качестве подопытных у нас: RB951Ui-2HnD и CRS125-24G-1S-2HnD. Все проделано на RouterOS 6.37.1

Вступление


Итак, вокруг множество статей, где с VLAN работаю на CPU (объявляют VLAN на интерфейсе и помещают его в Bridge). Такая связка имеет право на жизнь, но в её работе мы расходуем ресурс CPU, который может быть очень ценным. Два разных устройства представляют различные механизмы настройки для чипа коммутации, так как они сильно разные в техническом плане.

Реализовывать будем некоторые примеры из официальной Wiki:

Port Based VLAN


Поясним картинку: На порт ether2 приходят тегированные пакеты (порт транковый), а с портов ether6-ether8 уходят растегированные пакеты (порты доступа — клиентские порты).
Я буду брать конфигурацию с реально работающего устройства, поэтому полного соответствия с картинкой не будет.

RB951Ui-2HnD

Конфигурация: На ether1 приходят тегированные пакеты (VID: 4,5,6,10, 603), с портов ether2-ether4 уходят раздетые VID:10, с ether5 уходит раздетый VID:5, VID:603 сейчас не используется, а особый порт switch2-cpu принимает любые пакеты.

Вначале, создадим группу коммутации, для этого, во всех интерфейсах выставим мастер порт (по умолчанию ether2-master), тем самым мы отдадим эти порты в управление коммутатору.

/interface ethernet set ether1 master-port=ether2-master

Аналогично для всех остальных. Не затягивая, на мастер порт (так мы получим доступ к этому VLAN из CPU, по сути мы связываем его с switch2-cpu) подвесим нужные нам VLAN:

/interface vlan
add interface=ether2-master \
    name=V-210 vlan-id=10
add interface=ether2-master \
   name=V-MNGR vlan-id=4
add interface=ether2-master \
    name=V-PR1 vlan-id=603
add interface=ether2-master \
   name=V-WL vlan-id=5
add arp=enabled arp-timeout=auto disabled=no interface=ether2-master \
    loop-protect=default loop-protect-disable-time=5m \
    loop-protect-send-interval=5s mtu=1500 name=V-WLG use-service-tag=no \
    vlan-id=6

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

/interface ethernet switch port
set ether1 default-vlan-id=10 vlan-header=add-if-missing vlan-mode=secure
set ether2-master default-vlan-id=10 vlan-header=always-strip vlan-mode=secure
set ether3 default-vlan-id=10 vlan-header=always-strip vlan-mode=secure
set ether4 default-vlan-id=10 vlan-header=always-strip vlan-mode=secure
set ether5 default-vlan-id=5 vlan-header=always-strip vlan-mode=secure
set switch2-cpu default-vlan-id=0 vlan-header=leave-as-is vlan-mode=disabled

О параметрах можно почитать в Wiki в разделе Vlan-таблица.

Далее, мы создадим таблицу VLAN, по которой чип будет работать с тегами:

/interface ethernet switch vlan
add ports=ether1,ether2-master,ether3,ether4,ether5,switch2-cpu switch=switch2 vlan-id=10
add ports=ether1,switch2-cpu switch=switch2 vlan-id=4
add ports=ether1,ether5,switch2-cpu switch=switch2 vlan-id=5
add ports=ether1,switch2-cpu switch=switch2 vlan-id=6
add ports=ether1,switch2-cpu switch=switch2 vlan-id=603

Вот и все, теперь VLAN обслуживаются на чипе коммутации, к сожалению, у RB951Ui-2HnD его возможности не очень большие, к примеру он не сможет сделать гибридный порт, тут придется строить лес из костылей на bridge.

CRS125-24G-1S-2HnD

Тут чип коммутации совсем другой, и умеет больше, приступим:

Конфигурация: На ether24 приходят тегированные пакеты (VID: 4,5,6,7,16), с портов ether1-ether23 уходят раздетые VID:16 и одетые VLAN:7 (будет для второго примера), а особый порт switch2-cpu принимает любые пакеты.

Вначале, создадим группу коммутации, для этого, во всех интерфейсах выставим мастер порт (по умолчанию ether2-master), тем самым мы отдадим эти порты в управление коммутатору.

/interface ethernet set ether1 master-port=ether2-master

Аналогично для всех остальных. На мастер порт подвесим нужные нам VLAN:
/interface vlan
add interface=ether2-master \
   name=V-MNGR vlan-id=4
add interface=ether2-master \
    name=V-WL vlan-id=5
add interface=ether2-master \
    name=V-WLG vlan-id=6

Далее, мы создадим таблицу VLAN, по которой чип будет работать с тегами:
/interface ethernet switch vlan
add learn=yes ports="ether24,switch2-cpu" vlan-id=4
add learn=yes ports="ether24,switch2-cpu" vlan-id=5
add learn=yes ports="ether24,switch2-cpu" vlan-id=6
add learn=yes ports="ether1,ether2-mast\
    er,ether3,ether4,ether5,ether6,ether7,ether8,ether9,ether10,ether11,ether1\
    2,ether13,ether14,ether15,ether16,ether17,ether18,ether19,ether20,ether21,\
    ether22,ether23,ether24,switch2-cpu" vlan-id=7
add learn=yes ports="ether1,ether2-mast\
    er,ether3,ether4,ether5,ether6,ether7,ether8,ether9,ether10,ether11,ether1\
    2,ether13,ether14,ether15,ether16,ether17,ether18,ether19,ether20,ether21,\
    ether22,ether23,ether24,switch2-cpu" vlan-id=16

Далее зададим политику обработки пакетов на портах, тут уже все побогаче, политика задается раздельно.

Зададим порты, на которых соответсвующий VLAN будет одетым при выходе:

/interface ethernet switch egress-vlan-tag
add tagged-ports=ether24,switch2-cpu vlan-id=4
add tagged-ports=ether24,switch2-cpu vlan-id=5
add tagged-ports=ether24,switch2-cpu vlan-id=6
add tagged-ports=ether24,switch2-cpu vlan-id=16

Теперь, на каких портах, выходящий VLAN надо раздеть:

/interface ethernet switch egress-vlan-translation
add customer-vid=16 new-customer-vid=0 ports="ether1,ether2-master,ether3,ether4,ether5,ether6\
    ,ether7,ether8,ether9,ether10,ether11,ether12,ether13,ether14,ether15,ethe\
    r16,ether17,ether18,ether19,ether20,ether21,ether22,ether23"


Дословно это описывается так: если VID: 16, порт с 1 по 23, установить новый VID:0 (раздеть).

Теперь, на каких портах, входящий пакет надо одеть в VLAN:

/interface ethernet switch ingress-vlan-translation
add customer-vid=0 new-customer-vid=16 \
    ports="ether1,ether2-master,ether3,ether4,ether5,ether6,ether7,ether8,ethe\
    r9,ether10,ether11,ether12,ether13,ether14,ether15,ether16,ether17,ether18\
    ,ether19,ether20,ether21,ether22,ether23"

Дословно это описывается так: если VID: 0 (пакет раздетый), порт с 1 по 23, установить новый VID:16 (одеть).

С этим все.

Example 2 (Trunk and Hybrid ports)

Тут мы рассмотрим только CRS125-24G-1S-2HnD, к сожалению, RB951Ui-2HnD такое на чипе коммутации уже не умеет.

Итак, возьмем полностью конфу из предыдущего примера, и добавим такое правило:

/interface ethernet switch egress-vlan-tag
add tagged-ports="ether1,ether2-master,ether3,ether4,ether5,ether6\
    ,ether7,ether8,ether9,ether10,ether11,ether12,ether13,ether14,ether15,ethe\
    r16,ether17,ether18,ether19,ether20,ether21,ether22,ether23,ether24" \
    vlan-id=7

habr.com

Сети для самых маленьких: Часть вторая. Коммутация

Статья опубликована на хабре.

=============================

Все выпуски

Сети для самых маленьких. Часть третья. Статическая маршрутизация
Сети для самых маленьких: Часть вторая. Коммутация
Сети для самых маленьких. Часть первая (которая после нулевой). Подключение к оборудованию cisco
Сети для самых маленьких: Часть нулевая. Планирование

После скучного рассказа о подключении к кошкам переходим к настройке сети. В этот раз темы будут для новичков сложные, для старичков избитые. Впрочем сетевым аксакалам едва ли удастся почерпнуть что-то новое из этого цикла. Итак, сегодня:
а) аккуратно впитываем теорию о коммутаторах, уровнях сетевой модели, понятии инкапсуляции и заголовков (не пугайтесь — еще не время),
б) собираем спланированную в нулевой части цикла сеть,
в) настраиваем VLAN'ы, разбираемся с access и trunk-портами и тегированными Ethernet-фреймами,
г) соотносим текущие знания со стеком протоколов TCP/IP и моделью OSI (да, наконец-то мы ее коснёмся).

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

Теория

Для начала необходимо определится с определениями и детерминировать терминологию. В начале пути с этим могут быть трудности, несмотря на горы википедии и прорву технических статей.
Рассмотрим самые общие термины, поскольку что такое коммутатор и маршрутизатор вы, во-первых, представляете, во-вторых, по ходу не раз ещё их затронем. Итак, тронулись:
СКС — структурированная кабельная система — это определение вы в любом яндексе найдёте. На деле это все провода, розетки, патчпанели и патчкорды, то есть грубо говоря, это физика вашей сети в узком смысле, в широком — это совокупность сетей: ЛВС, телефонные сети, системы видеонаблюдения и прочее. Это отдельный очень большой и порой сложный пласт знаний и технологий, который вообще не имеет точек пересечения с настройкой, поэтому к нему мы более обращаться не будем. Привели мы этот термин по большей части для того, чтобы читатель чувствовал отличие от следующего.
ЛВС = Локальная Вычислительная Сеть = LAN = Local Area Network. Актуальность слова “Вычислительная” сейчас можно поставить под сомнение, так же, как в слове ЭВМ. Всё-таки, говоря о современных сетях и устройствах, мы давно уже не держим в уме термин "вычисления", несмотря на то, что глубинная суть осталась неизменной. В этом плане буржуйские термин более универсален и даёт более простое представление о своём значении.
Итак, локальная сеть — в первом приближении — это сеть вашей организации. Вот, к примеру, обслуживаем мы сейчас сеть компании "Лифт ми Ап" с двумя офисам, так вот сети этих двух офисов и будут являться локальной сетью.
При втором приближении, локальной называют сеть, которая находится под управлением одного сетевого администратора. То есть, например, вы отвечаете за районный сегмент сети провайдера, в таком случае ваша районная сеть со всеми подсетями будет являться локальной, в то время, как вышестоящая сеть и сети других районов уже нет, так как за них отвечает уже другие люди. С точки зрения меня, как абонента этого провайдера, моя локальная сеть — это всё, что до моего домашнего роутера. Интуитивно, наверно, все понимают о чём идёт речь.
Именно с локальными сетями мы и будем иметь дело в ближайших выпусках.

И последнее, что хотелось бы отметить в связи с ЛВС — это IP-адресация.
Все вы знаете, что когда вы включаете какой-нибудь домашний Wi-Fi-роутер в сеть, он обычно выдаёт вам IP-адрес, вроде 192.168.1.x. Почему именно 192.168 в начале?

Дело в том, что все IP адреса делятся на приватные (private, он же внутренний, “серый”, локальный), и публичные. Публичные используются в интернет, каждый адрес уникален, их распределение контролирует организация IANA(Internet Assigned Numbers Authority).

Приватные используются для адресации хостов (ну, строго говоря, не хостов, а интерфейсов) внутри ЛВС, их распределение никто не контролирует. Для них выделили три диапазона адресов (по одному из каждого класса):

10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255

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

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

Если вернуться к нашей старой схеме то вы увидите, что для своей сети мы выбрали приватные адреса из диапазона 172.16.0.0 - 172.31.255.255.
Достаточно подробно об IP-адресах можно почитать тут и тут .
У всех провайдеров и во внутренней сети любой крупной организации используются именно эти серые подсети. Если только вы не государственный ВУЗ, которому в своё время выпала сеть на несколько тысяч публичных адресов: Кемеровский Государственный Университет, к примеру, не озадачивается NAT’ом и прочей чепухой — просто на все компьютеры университетской сети раздаются белые IP.

Широковещательный домен — область сети, в которой происходит обмен широковещательными сообщениями, и устройства могут отправлять друг другу сообщения непосредственно, без участия маршрутизатора.
О чём это мы тут говорим? Ну, например, послал ваш компьютер широковещательный запрос в сеть в поисках DHCP-сервера. Фрейм этот (он же кадр) адресован всем устройствам и имеет MAC-адрес получателя FF:FF:FF:FF:FF:FF. Сначала он попадает на коммутатор, с которого его копии рассылаются на все порты. Потом часть попадает на другие компьютеры, часть уходят в соседние коммутаторы, кто-то доходит до маршрутизатора, а одну копию принимает-таки DHCP-сервер. И вот участок сети, внутри которого могут жить эти кадры и называется широковещательным доменом. А кончают свою жизнь они на конечных хостах (компьютеры, серверы) или на маршрутизаторах, которые их отбрасывают, если они им не предназначены:
Broadcast Example
Если же на коммутаторе заведены VLAN’ы, то они также разделяют широковещательные домены, потому что пакет между ними обязательно должен проходить через маршрутизатор, который отбросит широковещательные сообщения. Таким образом, один VLAN — это один широковещательный домен.
Broadcast with VLANs Example

Ещё раз: у нас есть три способа разграничить широковещательные домены:
1) Поставить маршрутизатор и разнести хосты в разные подсети,
2) Разделить сеть VLAN’ами,
3) Порвать кабель.

Ну и самая жесть, которой часто сторонятся начинающие: OSI. Open System Interconnection. Вообще в двух словах, чтобы мозг не захламить за одно занятие. Эту модель называют эталонной, потому что в реальном мире дело не дошло до реализации. Но она само совершенство, поэтому инженеры и админы вворачивают это слово повсюду.
В основе лежат 7 китов сетевой иерархии: 7 уровней. Сегодня коснёмся двух нижних: первый — физический — это представление информации в виде сигналов, прямо скажем, битов. Задача этого уровня сгенерировать электрический, оптический или радиосигнал, передать его в среду и принять его. К нему относится вся физика: интерфейсы, кабели, антенны, медиаконвертеры (конвертеры среды), репитеры, старые хабы. В общем низкоуровневая это работа. Это первый уровень модели OSI и стека TCP/IP.
Второй — канальный. На этом уровне работают коммутаторы. Идентификатор устройства здесь, это MAC-адрес. У каждого узла (компьютер, маршрутизатор, ноутбук, IP-телефон, любой Wi-Fi-клиент) есть этот уникальный адрес, который однозначно определяет устройство в локальной сети. В теории MAC-адреса не должны повторяться вообще, но на практике такое однако случается и в рамках одного широковещательного домена может приводить к сложноотлавливаемым проблемам.
Наиболее известным протоколом этого уровня является Ethernet. Данные на этом уровне передаются кусками, каждый из которых называется Ethernet-фрейм (он же Ethernet-кадр, он же PDU канального уровня). Что он представляет из себя?

*Картинку гнусно спёрли из википедии, потому что красивее не нарисуем*

Payload — это полезная нагрузка — данные сетевого уровня, которые вкладываются (инкапсулируются) в кадр. MAC Header (Заголовок) — это служебная информация канального (второго) уровня. Самые важные пока для нас элементы — это source MAC-address (адрес отправителя кадра) и Destination MAC-address (адрес получателя кадра).

Третий уровень — сетевой (IP, ARP)
Четвёртый — транспортный (TCP, UDP, ICMP)
С пятого по седьмой — сеансовый, представления и прикладной (в стеке TCP/IP они не различаются и называются просто прикладным. На нём работают протоколы вроде HTTP, FTP, telnet и многие другие)


В википедии утверждается, что ICMP относится к 3-му уровню, что является спорным моментом.

Сегодня мы акцентируемся на 1-м и 2-м уровнях, особенно на втором. Третьего и четвертого коснёмся в следующих выпусках.

Теперь проследим нелёгкий путь кадра.
Состояние покоя сети — утопия.

Broadcast with VLANs Example

Вы пытаетесь пропинговать, например, адрес соседнего компьютера командой ping 192.168.1.118. Данные этого приложения показаны фиолетовым параллелепипедом.

Broadcast with VLANs Example

За это отвечает протокол ICMP. В него инкапсулируется информация от приложения — это означает, что к данным 5-го уровня добавляется заголовок со служебной информацией 4-го уровня.

Broadcast with VLANs Example

Его данные упаковываются (инкапсулируются) в IP-пакеты, где в заголовке указан IP-адрес получателя (192.168.1.118) и IP-адрес отправителя — логические адреса.

Broadcast with VLANs Example

А затем всё это инкапсулируется в Ethernet-кадры с MAC-адресами отправителя и получателя — физическими адресами.

Broadcast with VLANs Example

При формировании кадров в заголовке в качестве MAC-адреса источника (source) подставляется адрес вашего компьютера, а адресом получателя (destinantion) будет MAC-адрес компьютера — владельца IP-адреса 192.168.1.118 (о механизмах такого преобразования поговорим в следующий раз). То есть если бы вы смогли сфотографировать кадр, то вы бы увидели все эти данные в разрезе, так сказать.

На самом деле, нет ничего проще: запускаете какой-нибудь анализатор трафика, например, замечательный Wireshark и Ethereal, на своём компьютере и пингуете другой хост. Вот такую картину вы сможете лицезреть:

Dump

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

В последнюю очередь сетевая карта вашего компьютера дробит фрейм на биты и отправляет их в кабель.

Dump

Dump

Коммутатор из поступивших битов собирает первоначальный кадр

Dump

Далее начинается интеллектуальный труд: из заголовка извлекается адрес получателя, перетрясается таблица MAC-адресов на предмет совпадения и, как только оное найдено, кадр без изменений отправляется в указанный порт. Если же адреса пока ещё нет или кадр пришёл широковещательный, то он направляется на все порты, кроме того, откуда пришёл.

Если адреса отправителя в таблице до сих пор не было, то в этот момент коммутатор добавит его.
Естественно, кадр опять передаётся в виде битов — э

eucariot.livejournal.com

Отправить ответ

avatar
  Подписаться  
Уведомление о