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

Все выпуски


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



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

Теория


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

И последнее, что хотелось бы отметить в связи с ЛВС — это 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)
Четвёртый — транспортный (TCP, UDP, ICMP)
С пятого по седьмой — сеансовый, представления и прикладной (в стеке TCP/IP они не различаются и называются просто прикладным. На нём работают протоколы вроде HTTP, FTP, telnet и многие другие)
В английской википедии утверждается, что ICMP относится к 3-му уровню, что является спорным моментом.

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

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


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


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


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


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


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

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

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

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




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


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

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




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


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


Далее сравниваются IP-адрес получателя и этого устройства. Если совпадают, то заголовок сетевого уровня отбрасывается, и данные передаются транспортному уровню (ICMP)






Конечный хост обработал ICMP-запрос (echo-request) и готов послать ICMP-ответ (echo-reply) вашему компьютеру с адресом 192.168.1.131 и далее пункты 1-3 повторяются уже для нового кадра

То, о чём мы писали до сих пор — это принцип работы любого коммутатора. Так делают даже простые длинки за 300 рублей.

VLAN

Ну а теперь, давайте, коллеги, финальный рывок: добавим сюда ещё VLAN’ы.

С ними работают уже только управляемые коммутаторы.
Напомним, что вланы нужны для разделения сетей. Соответственно появляется некий идентификатор, которым маркируется трафик разных подсетей на коммутаторе.
Говоря о VLAN’ах, часто используют заклинание 802.1q. Это и есть стандарт, описывающий как именно кадр маркируется/тегируется. Пугаться такого шифра не стоит. Так же, например, Wi-Fi описывается стандартом 802.11n, а протокол аутентификации — 802.1x. Нам с этим предстоит столкнуться в будущем, поэтому отложите это в своей энергонезависимой памяти.

Что же именно происходит на кухне коммутации?
Внутрь фрейма после Source MAC-адреса добавляется ещё одно поле, очень грубо говоря, содержащее номер VLAN’а. Длина, выделенная для номера влана равна 12 битам, это означает, что максимальное число вланов 4096. Мы хотим обратить внимание молодых инженеров на такие подробности. Дело в том, что мы в своём цикле в силу объективных причин, не можем обо всём рассказать, но такие вопросы, во-первых, часто задают на собеседованиях, во-вторых, это просто надо знать.

Кадр Ethernet с полем 802.1q

Кадры первого влана обычно не тегируются — он является родным вланом (native vlan).

Каждый коммутатор принимает теперь решение на основе этой метки-тега (или его отсутствия).
В таблицу МАС-адресов добавляется ещё столбец с номером VLAN’а и при поиске пары MAC-адрес/порт теперь будет сравниваться тег кадра с номером VLAN’а в таблице.

Существует два типа портов:
1. Access port — порт доступа — к нему подключаются, как правило, конечные узлы. Трафик между этим портом и устройством нетегированный. За каждым access-портом закреплён определённый VLAN, иногда этот параметр называют PVID. Весь трафик, приходящий на этот порт от конечного устройства, получает метку этого влана, а исходящий уходит без метки.

2. Trunk port. У этого порта два основных применения — линия между двумя коммутаторами или от коммутатора к маршрутизатору. Внутри такой линии, называемой в народе, что логично, транком, передаётся трафик нескольких вланов. Разумеется, тут трафик уже идёт с тегами, чтобы принимающая сторона могла отличить кадр, который идёт в бухгалтерию, от кадра, предназначенного для ИТ-отдела. За транковым портом закрепляется целый диапазон вланов.
Кроме того, существует вышеупомянутый native vlan. Трафик этого влана не тегируется даже в транке, по умолчанию это 1-й влан и по умолчанию он разрешён. Вы можете переопределить эти параметры.
Нужен он для совместимости с устройствами, незнакомыми с инкапсуляцией 802.1q. Например, вам нужно через Wi-Fi мост передать 3 влана, и один из них является вланом управления. Если Wi-Fi-модули не понимают стандарт 802.1q, то управлять ими вы сможете, только если этот влан настроите, как native vlan с обеих сторон.

Что происходит в сети с вланами?

1) Итак, от вашего компьютера с IP-адресом, например, 192.168.1.131 отправляется пакет другому компьютеру в вашей же сети. Этот пакет инкапсулируется в кадр, и пока никто ничего не знает о вланах, поэтому кадр уходит, как есть, на ближайший коммутатор.
2) На коммутаторе этот порт отмечен, как член, например, 2-го VLAN’а командой

Switch0#interface fa0/1
Switch0(config)#description “I am using simple frames”
Switch0(config-if)#switchport mode access
Switch0(config-if)#switchport access vlan 2

Это означает, что любой кадр, пришедший на этот интерфейс, автоматический тегируется: на него вешается ленточка с номером VLAN’а. В данном случае с номером 2.
Далее коммутатор ищет в своей таблице MAC-адресов среди портов, принадлежащих 2-му влану, порт, к которому подключено устройство с MAC-адресом получателя.
3) Если получатель подключен к такому же access-порту, то ленточка с кадра отвязывается, и кадр отправляется в этот самый порт таким, каким он был изначально. То есть получателю также нет необходимости знать о существовании вланов.
4) Если же искомый порт, является транковым, то ленточка на нём остаётся.

Switch(config)#interface fa0/2
Switch(config-if)#description “I am using tagged frames”
Switch(config-if)#switchport mode trunk

Попробуем провести аналогию с реальными миром. Вы с другом, например, пакеты-туристы и летите отдыхать дикарями самолётом авиалиний Ethernet Airlines. Но по дороге вы поссорились, и потому, когда в аэропорту назначения, вас спрашивают в какую гостиницу вас везти, вы отвечаете “Рога”, а ваш товарищ говорит “Копыта”. И сразу после этого вас инкапсулируют в разные кадры-машины: вас в такси с тегом “Таксопарк “На рогах”, а вашего товарища с его грузом в КамАЗ с тегом “Транспортная компания “В копыто”. Теперь вам нельзя на автобусные полосы, а вашему другу под знаки, запрещающие проезд грузовиков.
Так вот две гостиницы — это МАС-адреса назначения, а ограничения по маршруту — порты других вланов.
Петляя, по улочкам, вам, как IP-пакету не о чем беспокоиться — кадр-автомобиль доставит вас до места назначения, и, грубо говоря, в зависимости от тега на каждом перекрёстке будет приниматься решение, как ехать дальше.

FAQ:

Q: Что произойдёт, если тегированный кадр прилетит на access-порт?
A: Он будет отброшен.
Q: Что произойдёт, если нетегированный кадр прилетит на trunk-порт?
A: Он будет помещён в Native VLAN. По умолчанию им является 1-й VLAN. Но вы можете поменять его командой switchport trunk native vlan 2
В этом случае все кадры, помеченные 2-м вланом будут уходить в этот порт нетегироваными, а нетегированные кадры, приходящий на этот интерфейс, помечаться 2-м вланом.
Кадры с тегами других вланов останутся неизменными, проходя, через такой порт.
Q: Можно ли конечным узлам (компьютерам, ноутбукам, планшетам, телефонам) отправлять тегированные кадры и соответственно подключать их к транковым портам?
A: Да, можно. Если сетевая карта и программное обеспечение поддерживает стандарт 802.1q, то узел может работать с тегированными кадрами.

Q: Что будет с тегированными кадрами, если они попадут на обычный неуправляемый коммутатор или другое устройство, не понимающее стандарт 802.1q?
A: Скорее всего, свич его отбросит из-за увеличенного размера кадра. Зависит от разных факторов: производитель, софт (прошивка), тип форвардинга (cut-through, store-and-forward).

Практика. Настройка сети “Лифт ми Ап”


Ну и наконец-то обратимся к настройке. Вива ля практис!

Будет у нас такая сеть:


Вспомним, как мы её планировали:
Советуем на дополнительной вкладке отрыть их, потому что мы будем обращаться туда периодически.

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

Порты доступа (access)
Поэтому начнём с простого: настроим два порта на msk-arbat-asw3 как access для влана 101 (ПТО):

msk-arbat-asw3(config)#interface FastEthernet0/1
msk-arbat-asw3(config-if)#description PTO
msk-arbat-asw3(config-if)#switchport mode access
msk-arbat-asw3(config-if)#switchport access vlan 101
% Access VLAN does not exist. Creating vlan 101

msk-arbat-asw3(config)#interface FastEthernet0/2
msk-arbat-asw3(config-if)#description PTO
msk-arbat-asw3(config-if)#switchport access vlan 101
msk-arbat-asw3(config-if)switchport mode access

Все настройки делаем сразу в соответствии с планом.

Заметили, что коммутатор ругается на отсутствие влана? Тут надо быть аккуратным. Некоторые версии ПО работают несколько нелогично.
Даже если вы его не создадите, то настройки применятся и при отладке на первый взгляд всё будет нормально, но связи не будет. Причём коварство заключается в том, что фраза Creating vlan 101 вовсе не означает, что этот самый влан будет создан. Поэтому отправляемся в режим глобальной конфигурации и создаём его (а заодно и все другие вланы, нужные на этом коммутаторе):

Switch>enable
Switch#configure terminal
Switch(config)#hostname msk-arbat-dsw1
msk-arbat-dsw1(config)#vlan 2
msk-arbat-dsw1(config-vlan)#name Management
msk-arbat-dsw1(config-vlan)#vlan 3
msk-arbat-dsw1(config-vlan)#name Servers
msk-arbat-dsw1(config-vlan)#vlan 101
msk-arbat-dsw1(config-vlan)#name PTO
msk-arbat-dsw1(config-vlan)#vlan 102
msk-arbat-dsw1(config-vlan)#name FEO
msk-arbat-dsw1(config-vlan)#vlan 103
msk-arbat-dsw1(config-vlan)#name Accounting
msk-arbat-dsw1(config-vlan)#vlan 104
msk-arbat-dsw1(config-vlan)#name Other

Теперь подключите компьютеры к портам FE0/1 и FE0/2, настройте на них адреса 172.16.3.2 и 172.16.3.3 с маской подсети 255.255.255.0 и шлюзом 172.16.3.1 и проверьте связь:



После того, как это получилось, настроим порт FE0/16, как access, для 104-го влана (сеть других пользователей):

msk-arbat-asw3(config)#interface FastEthernet0/16
msk-arbat-asw3(config-if)#description Other
msk-arbat-asw3(config-if)#switchport access vlan 104
msk-arbat-asw3(config-if)switchport mode access

Подключите к нему компьютер и настройте адрес из той же подсети, что ПТО, например, 172.16.3.5 с маской 255.255.255.0.
Если вы попытаетесь теперь пропинговать этот адрес, то у вас не должно этого получиться — компьютеры находятся в разных вланах и изолированы друг от друга:



То есть ещё раз, что происходит? От вашего компьютера приходит на 1-й порт широковещательный запрос: “Кто такой 172.16.3.5”, потому что сам компьютер пока не знает MAC-адреса получателя. Кадр, который несёт в себе этот запрос помечается, как принадлежащий 101-му VLAN’у в соответствии с портом, на который он поступил. И далее, чтобы узнать где-же находится компьютер 172.16.3.5, кадр рассылается на все порты-члены 101-го VLAN’а. А в их числе нет порта FE0/16, поэтому, естественно, этот адрес считается недостижимым, что приводит к ответу “Request timed out”.

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

Транковые порты (trunk)
Итак, врата для вас открылись, теперь вам предстоит создать коридор — транк между тремя коммутаторами: msk-arbat-asw3, msk-arbat-dsw1 и msk-rubl-asw1.

Uplink портом на msk-arbat-asw3 является GE1/1. Ну а поскольку нам всё равно все вланы нужно будет пробросить, то сделаем это сейчас, то есть помимо 101 и 104 пропишем 2, 102 и 103:

msk-arbat-asw3(config)#interface GigabitEthernet1/1
msk-arbat-asw3(config-if)#description msk-arbat-dsw1
msk-arbat-asw3(config-if)#switchport trunk allowed vlan 2,101-104
msk-arbat-asw3(config-if)#switchport mode trunk

На самом деле на интерфейсе достаточно команды #switchport mode trunk, чтобы у вас через этот порт уже пошли тегированные кадры всех вланов, потому что по умолчанию транковый порт пропускает всё. Но мы же инженеры, а не эникейщики. Где это видано, чтобы безлимит творился за нашей спиной? Поэтому через нас проходит только то, что мы разрешаем. Как только вы дали команду switchport trunk allowed vlan 101, через порт не пройдёт кадр никаких вланов, кроме 101 (VLAN 1 ходит по умолчанию и нетегированным).

Внимание! Если вы хотите в транковый порт добавить ещё один влан, то вам необходимо использовать следующий синтаксис команды:

msk-arbat-dsw1(config-if)#switchport trunk allowed vlan add 105

В противном случае (написав switchport trunk allowed vlan 105) вы сотрёте все старые разрешения и добавите новый 105-й влан. И хорошо ещё, если при этом вы не потеряете доступ на этот коммутататор. Но за простой связи всё равно вы получите по пятое число)


Переходим к msk-arbat-dsw1. На нём необходимо создать все вланы и настроить два порта:
GE1/2 в сторону msk-arbat-asw3
FE0/1 в сторону msk-rubl-asw1:

msk-arbat-dsw1(config)#interface GigabitEthernet1/2
msk-arbat-dsw1(config-if)#description msk-arbat-asw3
msk-arbat-dsw1(config-if)#switchport trunk allowed vlan 2,101-104
msk-arbat-dsw1(config-if)#switchport mode trunk
msk-arbat-dsw1(config)#interface FastEthernet0/1
msk-arbat-dsw1(config-if)#description msk-rubl-asw1
msk-arbat-dsw1(config-if)#switchport trunk allowed vlan 2,101,104
msk-arbat-dsw1(config-if)#switchport mode trunk

Ну и настроим, конечно, порты на msk-rubl-asw1:

msk-rubl-asw1(config)interface FastEthernet0/24
msk-rubl-asw1(config-if)switchport trunk allowed vlan 2,101,104
msk-rubl-asw1(config-if)switchport mode trunk
msk-rubl-asw1(config)#int FastEthernet0/1
msk-rubl-asw1(config-if)#description PTO
msk-rubl-asw1(config-if)#switchport mode access
msk-rubl-asw1(config-if)#switchport access vlan 101
% Access VLAN does not exist. Creating vlan 101

Снова нужно настроить вланы. И заметьте, при настройке транковых портов никаких сообщений нет.

Если вы всё настроили правильно (в чём не приходится сомневаться), то с первого порта msk-rubl-asw1 вы увидите компьютеры ПТО, подключённые к msk-arbat-asw3.



Для уверенности проверим ещё и 104-й влан. Через транк мы его сюда уже доставили.

msk-rubl-asw1(config)#interface FastEthernet 0/16
msk-rubl-asw1(config-if)#switchport mode access
msk-rubl-asw1(config-if)#switchport access vlan 104

Подключаем компьютер к 16-му порт и настраиваем на нём IP-адрес 172.16.6.3 с маской 255.255.255.0 и шлюзом 172.16.6.1. А IP-адрес ноутбука на арбате поменяйте на 172.16.6.2 с теми же маской и шлюзом.



Сеть управления
Настроим IP-адрес для управления.
В наших лабах они не понадобятся, потому что мы настраиваем устройство через окно РТ. А вот в реальной жизни это вам жизненно необходимо.
Для этого мы создаём виртуальный интерфейс и указываем номер интересующего нас влана. А далее работаем с ним, как с самым обычным физическим интерфейсом.

msk-arbat-dsw1:

msk-arbat-dsw1(config)#interface vlan 2
msk-arbat-dsw1(config-if)#description Management
msk-arbat-dsw1(config-if)#ip address 172.16.1.2 255.255.255.0

msk-arbat-asw3:

msk-arbat-asw3(config)#vlan 2
msk-arbat-asw3(config)#interface vlan 2
msk-arbat-asw3(config-if)#description Management
msk-arbat-asw3(config-if)#ip address 172.16.1.5 255.255.255.0

С msk-arbat-asw3 запускаем пинг до msk-arbat-dsw1:

msk-arbat-asw3#ping 172.16.1.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.2, timeout is 2 seconds:
..!!!
Success rate is 60 percent (3/5), round-trip min/avg/max = 4/4/4 ms

Первые пару пакетов могут потеряться на работу протокола ARP: определение соответствия IP-адрес — MAC-адрес. При этом MAC-адрес, порт и номер влана добавляются в таблицу коммутатора.
Самостоятельно настройте IP-адреса сети управления на остальных коммутаторах и проверьте их доступность

Собственно вот и вся магия. Зачастую к подобного рода действиям и сводится вся настройка, если вы не работаете в провайдере. С другой стороны, если вы работаете в провайдере, то, наверняка, такие вещи вам объяснять не нужно.
Если желаете знать больше об этом, читайте: VTP, QinQ, зарезервированные номера VLAN

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

Switch(config)#banner motd q
Enter TEXT message. End with the character 'q'.
It is just banner.
q

Switch(config)#

После motd вы указываете символ, который будет служить сигналом о том, что строка закончена. В это примере мы поставили “q”.



Относительно содержания баннера. Существует такая легенда: хакер вломился в сеть, что-то там поломал\украл, его поймали, а на суде оправдали и отпустили. Почему? А потому, что на пограничном роутере(между интернет и внутренней сетью), в banner было написано слово “Welcome”. “Ну раз просят, я и зашел”)). Поэтому считается хорошей практикой в баннере писать что-то вроде “Доступ запрещен!”.

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

1) Настроить hostname. Это поможет вам в будущем на реальной сети быстро сориентироваться, где вы находитесь.
Switch(config)#hostname HOSTNAME

2) Создать все вланы и дать им название
Switch(config)#vlan VLAN-NUMBER
Switch(config-vlan)#name NAME-OF-VLAN

3) Настроить все access-порты и задать им имя
Switch(config-if)#description DESCRIPTION-OF-INTERFACE
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan VLAN-NUMBER

Удобно иногда бывает настраивать интерфейсы пачками:

msk-arbat-asw3(config)#interface range fastEthernet 0/6 — 10
msk-arbat-asw3(config-if-range)#description FEO
msk-arbat-asw3(config-if-range)#switchport mode access
msk-arbat-asw3(config-if-range)#switchport access vlan 102

4) Настроить все транковые порты и задать им имя:
Switch(config-if)#description DESCRIPTION-OF-INTERFACE
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan VLAN-NUMBERS

5) Не забывайте сохраняться:
Switch#copy running-config startup-config 

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

Здесь вы можете скачать конфигурацию всех устройств:
liftmeup_configuration.zip.

P.S.
Важное дополнение: в предыдущей части, говоря о native vlan мы вас немного дезинформировали. На оборудовании cisco такая схема работы невозможна.
Напомним, что нами предлагалось передавать на коммутатор msk-rubl-asw1 нетегированными кадры 101-го влана и принимать их там в первый.
Дело в том, что, как мы уже упомянули выше, с точки зрения cisco с обеих сторон на коммутаторах должен быть настроен одинаковый номер влана, иначе начинаются проблемы с протоколом STP и в логах можно увидеть предупреждения о неверной настройке. Поэтому 101-й влан мы передаём на устройство обычным образом, кадры будут тегированными и соответственно, 101-й влан тоже необходимо создавать на msk-rubl-asw1.


Ещё раз хотим заметить, что при всём желании мы не сможем охватить все нюансы и тонкости, поэтому и не ставим перед собой такой задачи. Такие вещи, как принцип построения MAC-адреса, значения поля Ether Type или для чего нужен CRC в конце кадра, вам предстоит изучить самостоятельно.

Спасибо соавтору этого цикла, Максиму aka gluck.
За предоставление дополнительных материалов хочу поблагодарить Наташу Самойленко

Читатели, не имеющие учётки на хабре, но имеющие вопросы, как и прежде, могут концентрировать их в ЖЖ.

116 комментариев

avatar
A: Поскольку при добавлении тега заголовок кадра не меняется
Далее смотрю на картинки и не понимаю:



Ведь в первом заголовке с тегом влана — 18 байт, а без заголовка 14. Как же так заголовки не меняются?
avatar
avatar
Вообще говоря, этот вопрос поднимался, когда мы еще на хабре публиковали эту статью, но тогда как-то и не объяснили толком. В общем, правильный ответ тут будет: скорее нет, чем да. Зависит от множества факторов: от производителя, софта (прошивки), способа форвардинга. Чаще всего, из-за увеличенного размера кадра, тупой свич его таки дропает.
avatar
А почему заголовок то одинаковый по размеру на картинках, если он не одинаковый? :) Или я чего-то не понял?
avatar
Картинку готовил я, допустил ошибку — признаю. В ближайшее время поправлю.
Что касается изменений в заголовке. Считается, что поскольку поля Destiantion Address и Source Address остались на тех же местах, данные кадры должны легко обрабатываться неуправляемыми коммутаторами и разнообразными устройствами другого плана (Wi-Fi-мосты, конвертеры). Но, на практике, это не совсем так и даже совсем не так.
avatar
Наткнулся на ваш цикл обучающих уроков так скажем… и с удовольствием практикую руководствуясь вашими статьями. Но, есть нестыковочка у вас в описание плана коммутации между выложенным xls файлом и планов выложенным в статье.
точнее в ексел файле
msk-arbat-dsw1 GE1/1 UpLink
на странице (ну как на самом деле сделано)
msk-arbat-dsw1 FE0/24 msk-arbat-gw1 2,3,101,102,103,104
p.s. других нестыковок пока не увидел или не дошел до них :)
и еще вопрос: в видео части момент начальной установки и настройки роутера msk-arbat-gw1 не отображен?! Это описано только в статье?
avatar
Лестно слышать.

С планом коммутации неловко вышел. Надо бы поправить. Дело в том, что для 3-4 статей я его правил, а копию для второго выпуска не оставил. Поэтому ссылка на более поздний документ.

В данном выпуске я вообще не касался настройки маршрутизатора. Это тема третьей статьи (интервлан роутинг), поэтому ни в тексте, ни в видео этого нет)
avatar
В тот то и дело что в третей части роутер уже подключен и 3 сервера уже на схеме, а в во второй закончили на настройке Vlan-ов
вот и закрылся вопрос то ли я что то упустил когда 3 сервера и роутер добавляли в схему и подключали… (я сейчас не про настройку, а сам момент добавления устройств)
p.s. решил если что по плану коммутации как бы не сложно все раставить ;), но решил для себя (а может и не только для себя) уточнить этот момент!
p.s.s. Спасибо большое за ответ ну и конечно за Ваш труд!
avatar
А, я понял вопрос. Да, в видео я беру только выжимку, чтобы ещё больше не раздувать его, поэтому многие очевидные вещи опускаю.
Кстати, в начале 2013-го будет статья по технологиям VPN, приглашаю к прочтению)
avatar
С огромным удовольствием! И то что переход на GNS3 осуществляете вообще КЛАСС!
Как говориться ждемС с нетерпением!!!
avatar
Да, я тут открыл ещё для себя Ns3. Очень хотелось бы его попробовать. Но боюсь не хватит времени разобраться.
avatar
Добрый день! У меня не проходит Ping от switch 0 до switch 4 по Vlan 2 сети управления IP: 172.16.1.2 к IP: 172.16.1.5.
В конфигурации устройства Switch 0 прописано:
interface GigabitEthernet1/2
description msk-arbat-asw3
switchport trunk allowed vlan 2,101-104
switchport mode trunk
и
interface Vlan2
description Management
ip address 172.16.1.2 255.255.255.0
В конфигурации устройства Switch 0 прописано:
interface GigabitEthernet1/1
description msk-arbat-dsw1
switchport trunk allowed vlan 2,101-104
switchport mode trunk
и
interface Vlan2
description Management
ip address 172.16.1.5 255.255.255.0

В чем может быть причина?
avatar
В конфигурации устройства Switch 4 прописано:
interface GigabitEthernet1/1
description msk-arbat-dsw1
switchport trunk allowed vlan 2,101-104
switchport mode trunk
и
interface Vlan2
description Management
ip address 172.16.1.5 255.255.255.0
avatar
msk-arbat-dsw1#ping 172.16.1.5

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.5, timeout is 2 seconds:

Success rate is 0 percent (0/5)

Как то так…
avatar
Что такое switch 0 и 4? Не вижу схемы.
1) Проверьте, что нужные вланы созданы на всех коммутаторах на пути следования трафика
2) Пробуйте по порядку пинговать адреса в этом влане на всех промежуточных устройствах с обеих сторон, чтобы найти проблемное место.
avatar
на коммутаторе msk-arbat-asw3 интерфейс vlan 2 находится в состоянии DOWN. введите:
msk-arbat-asw3(config)#vlan 2

%LINK-5-CHANGED: Interface Vlan2, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2, changed state to up
avatar
Спасибо большое! У меня в этом был затык:-)
Почему этот интерфейс (в моем случае vlan 2 на msk-rubl-asw1) не поднялся автоматом?
avatar
Спасибо, и у меня не было пинга из-за того что Vlan 2 на всех коммутаторах имел статус Down.
avatar
Немного запутался…
В табличке
1.msk-arbat-dsw1 GE1/2 <-> GE1/1 msk-arbat-asw1 — а в файлике c готовым проектом GE1/1 <-> GE1/1
2.«Uplink портом на msk-arbat-asw3 является GE1/1»
в табличке
msk-arbat-asw3 FE0/24 <-> FE0/1 msk-arbat-dsw1

ну и тут как бы уже вся табличка поехала :)
Поправте меня, если я не прав! Т.к. я начинающий, сложно разобратся…
P.S. Большое спасибо за статью!!!
avatar
Да, признаю, я тут немного намудрил. Этот же файл с коммутацией я использовал для следующего выпуска и немного поправил его, поэтому будут небольшие расхождения.
Поправлю уже, наверно, только к выпуску большой книги по этой серии.
Вообще, статьи — это отправные точки, помощники. Вам же не обязательно делать то же самое)
avatar
И ещё хотелось бы добавить в статью несколько команд по мониторингу вланов и их дебагу… так сказать для целостности картины ;)
avatar
Да как бы какие там команды? Вы их сами очень быстро найдёте. Это же не IPSec) Плюс часть вопросов я нарочно оставляю на самостоятельное изучение.
avatar
Спасибо за ваши статьи! Не подскажите как правильно настроить удаленный доступ только по SSH к коммутаторам?
Пробовал как указано в прошлой статье, правда там для роутера показано
hostname newname
ip domain-name test.ru
crypto key generate rsa
line vty 0 4
transport input ssh

Далее нужно установить логин и пароль для доступа, но команды #aaa new-model нет на коммутаторе (мб. это в PT так, а в настоящих есть?).
Пробовал указывать
username admin secret 1234

но при подключении к устройству, можно вводить пустой логин и пароль и нормально пустит, а если задать
line vty 0 4 
password 1234

то логин для подключения по SSH можно любой указывать, главное ввести верный пароль.
Можно как-нибудь настроить, чтобы проверялся и логин, и пароль?
avatar
На реальной сети я так и делал: на всех устройстах, где вообще поддерживается шифрование, открывал только SSH именно по схеме из статьи.
А вот пускать без комманды no password он не должен пускать.
Вообще все такие тонкости я бы рекомендовал отрабатывать хотя бы в GNS. РТ глючен чуть менее, чем полностью.
avatar
Спасибо за ваши труды! А как доступ осуществляется к серверной ферме от пользователей, ведь они в разных Vlan находятся?
avatar
маршрутизируется маршрутизатором
avatar
Всю ночь сижу, не могу понять, почему от ПК и ноутов пинги до серверов идут, а до ip коммутаторов нет(подсеть 172.16.1.0, за исключением шлюза 172.16. 1.1). От Others (vlan 104) вланы прокинуты до маршрутизатора, от маршрутизатора до Ip управления коммутаторов вланы прокинуты, но не пингуются. Почему так, ведь после маршрутизвтора кадры идут с тегом узла назначения, так? Что за интерфейс такой чудной этот vlan 2, подскажите, или где почитать, по-русски? Заранее огромное спасибо. Все равно спасибо)
avatar
Ну на самом деле это одна из задач «на дом».
Даю подсказку: когда вы настраиваете параметры IP на ПК, вы прописываете 3 строчки. Чего вы не дописали на коммутаторах?
Либо попробуйте пинговать в обратную сторону что угодно.
avatar
вот-вот :)
как раз пытался ip route добавить, а там нет такого )) (до этого просто учился на реальных роутерах, а с коммутаторами не имел дела)
оказывается, на коммутаторах это default gateway.
P.S. спасибо вам огромное за ваши замечательные статьи. с огромным интересом читаю и повторяю на CPT.
avatar
Рад, что у вас всё получилось. Чрез тернии к звёздам. Только встречая проблемы, мы учимся)

Прошу на публикацию СДСМ8 (BGP + IP SLA) — 24-го июня и 4-го выпуска подкаста 25-го) У нас будет приглашённый гость.
avatar
Спасибо большое за такой оперативный ответ, ошибся с командами, разобрался.
У меня еще один вопрос, как можно обнулить конфигурацию на коммутаторах в packettracer,
при команде
erase startup config
на маршрутизаторе кнопочка для священного ребута есть
а вот в коммутаторах нет её, и конфиг не обнуляется, что можно сделать, кроме
no swich mo tru
и прочее, спасибо.
И ДА, задачки нужны, очень интересная штука!
avatar
Спасибо за ваши труды! Если бы ваши статьи попались бы мне на глаза чуть пораньше, то скольбо бы я граблей смог избежать=)
Подскажите пожалуйста, что делает команда
switchport trunk native vlan 2
.
Я попытался таким образом настроить линк между 2-я свичами, но безуспешно. И еще есть один не понятный момент: способны ли свичи хранить инфу о том какой именно из прописанных на них вланов нативный? К примеру от куда наши свичи знают, что управляющий влан именно 2, а не к примеру 101? Только потому что на этом влане поднят виртуальный интерфейс с ip адресом? Вы говорите что нативный влан не тегируется даже в транке, но ведь команда
switchport trunk allowed vlan 2,101-104
по идее должна делать тегированным трафик как влана 2, так и всех остальных. Буду очень благодарен, если разъясните мне что к чему.
avatar
Как и было описано в статье, native vlan или vlan по умолчанию — это VLAN, кадры которого с этого интерфейса будут передаваться без тега. А принятые без тега, будут укомплектованы заголовком 802.1q с тегом нужного влана.
Два порта, смотрящие друг на друга с разных коммутаторов, должны быть в одном Native VLAN'е (это на цисках). И в этом случае всё прекрасно работает.
Вы можете встать посередине Wireshark'ом, запустить пинг и проверить, как идут кадры.

Команда switchport trunk allowed vlan 2,101-104 просто разрешает в данном случае передачу кадров 2-го VLAN'а, а switchport trunk native vlan 2 уже снимает тег.

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

Эти понятия никак не связаны. Native — это настройка порта. Внутри самого коммутатора всё всегда разделено на VLAN, даже если это VLAN 1.

Управляющие-неуправляющий — обычно коммутаторам без разницы. Это, скорее, ваша градация. По крайней мере в примере из статьи. То есть я просто решил, что буду управлять коммутатором во 2-м влане и сделал соответствующие настройки — интерфейс и default-gateway.
avatar
Спасибо, за ответ!
Перечитал еще раз статью, провел пару опытов и во всем разобрался.
Небольшой итог:
1) Акцесс порт — принимает и отправляет только нетегированный трафик. Пакеты помеченные каким-либо тегом отбрасываются (даже если они принадлежит тому же влану в котором находится этот порт).
После команды:
<code>switchport access vlan 104

внутри свича весь трафик с этого порта будет отмечаться как принадлежащий к 104 влану. Выходить же из порта он будет без тэгов.
2) Транк-порт. По-умолчанию пропускает весь трафик, не важно есть тег или нет. Нетегированные пакеты будут приниматься транковым портом и считаться принадлежащими нативному влану.
Однако командой:
switchport trunk allowed vlan 2,101,104

мы запретим все вланы кроме 2, 101 и 104.
Также и пакеты нативного (нетегированного) влана пройти через такой порт не смогут если мы явно не разрешим им это делать (switchport trunk allowed vlan add 1).
Правильно ли я уяснил?)
avatar
Совершенно верно, друг мой.

Вы всё это можете проверить в Packet Tracer или GNS.
avatar
Ну да я все проверил)
Подскажите еще вот что. Коммутаторы циско могут каким то образом определить, что на свиче на другом конце настроен влан с отличным номером? К примеру, есть два свича соединенные между собой по портам ge1/1. На самом деле модель более сложная, но нам это не важно. Я настроил акцесс порт на одном свиче switchport access vlan 1000, собственно больше ничего не трогал. Нативный влан как был так и остался с номером 1. На другом же свиче я настроил транковый порт и нативный влан с номером 2:
switchport mode trunk 
switchport trunk allowed vlan 2
switchport trunk native vlan 2

На что получил следующее предупреждение:
%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on GigabitEthernet1/1 (2), with test-switch-2 GigabitEthernet1/1 (1).

По идее пакеты между этими свичами бегают без меток, что на первом свиче 1000 влан с акцесс порта, что на втором нативный влан на транковом порту.
Я проверил: настроил дополнительно акцесс порты на обоих портах (на одном 1000 влан, на другом 2), подцепил рабочие станции, и они друг друга видят.
Скажите, от куда свич узнал, что у его соседа другой нативный влан?
avatar
или я что-то опять напортачил?=(
avatar
Всё верно. Но обратите внимание на лог:
avatar
%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on GigabitEthernet1/1 (2), with test-switch-2 GigabitEthernet1/1 (1)

Cisco Discovery Protocol — они позволяет устройствам узнать, что настроены разные нейтив.
avatar
Благодарю!=)
avatar
Отличные видео уроки. Для тех, кто только закончил обучение по CCNA лучше не придумаешь. Пока выше 3-го урока не смотрел. А будут ли видео уроки по OSPF?
avatar
Да, 6-ой выпуск как раз об этом.

Спасибо.
avatar
пока не смотрел))
avatar
Здравствуйте.
Спасибо за Ваш ликбез.
Можете объяснить отличие между:
Switch# copy running-config startup-config
и
Switch# write memory

Спасибо.
avatar
Разницы никакой. Но почему-то «большие» говорят, что первый вариант более правильный.
avatar
Спасибо.
А вы где-нить описывали в чем отличия running-config от startup-config?
avatar
Скажите в PT есть аналог Wireshark, чтобы рассмотреть что там внутри пакетов твориться?
avatar
Нет. Лучше переходить в GNS.
avatar
отличные статьи. Спасибо большое)

Скажите, что делать в случае, если количество доступных vlan'ов израсходовано?
avatar
Здравствуйте в PT 5.3.3.0019 возникла какая-то непонятко
Добавил на схему:
msk-rubl-asw1
avatar
Извиняюсь, по интеру коммент отправился
msk-rubl-asw1
msk-rubl-dsw1
msk-rubl-asw3

Соеденил кроссами в соответствии со схемой, линк поднялся, прописал vlan'ы (2,101-104, без 3) на интерфейсах. Все гуд.
Сохранил проект, перезапустил, link поднялся только на msk-arbat-asw3 GE1/1. На остальных интерфейсах красные кружки.
Если добавить к msk-arbat-dsw1 GE1/2 vlan 1 и переподнять интерфейс то лин поднимается и на msk-arbat-dsw1 GE1/2.
Если тот же vlan 1 добавить к интерфейсам msk-arbat-asw1 FE0/24 и msk-arbat-dsw1 FE0/1 то после переподнятия интерфейса линк и на них поднимется
Внимание вопрос, почему без vlan 1 интерфейсы глючат и не хотят подниматься?
avatar
Здравствуйте.
Похоже на сбой РТ. Попробуйте обновить или использовать другую версию.
avatar
На новой работе, ковыряясь в настройках циски 2960 увидел такую вещь: на транковом интерфейсе разрешены вланы 1,3,5 при этом нативным вланом так же является первый. Доступа к свитчу, к которому подсоединен данный порт, у меня нет, по этому настройки на другом конце сказать не могу.

Если я все правильно понимаю, то суть транкового порта в том, чтобы передавать кадр, не снимая тега, а нативного влана — отправлять кадр в транковый порт без тега, и присутствие одного влана и там и там выглядит нелогично, если не взаимоисключающе. этому вопрос: каким должно быть поведение свитча, если на него придет кадр, тегированный номером нативного влана? И вообще, является ли такая конфигурация ошибкой, или у нее может быть реальное применение?
avatar
Здравствуйте!
Большое спасибо за материал. Было действительно интересно.

У меня к вам вопрос следующего плана.
Почему telnet передаёт от клиента к серверу информацию о логине и пароле не в одном PDU?

Например, вот ответ коммутатора 3COM на запрос telnet:
Data: \r\n
Data: ********************************************************************************\r\n
Data: * Copyright© 2004-2007 3Com Corp. and its licensors. All rights reserved. *\r\n
Data: * Without the owner's prior written consent, *\r\n
Data: * no decompiling or reverse-engineering shall be allowed. *\r\n
Data: ********************************************************************************\r\n


А вот передача логина:
Data: a
Data: d
Data: m
Data: i
Data: n
Data: \r\n


Спасибо.
avatar
Вероятно, это связано с тем, что telnet может работать в разных режимах.
И один из таких режимов — символьный (character mode), когда каждый символ помещается в отдельный пакет и сразу же отправляется получателю.
Подробнее можно прочитать например в RFC 318.
avatar
Спасибо.
Действительно, в RFC 318 есть информация об этом режиме.
Где можно ознакомиться с предпосылками добавления данного режима в стандарт? Какие были причины передавать информацию посимвольно?
avatar
Даже и не подскажу.
Скорее всего этим занимался IETF, и чем они руководствовались в 80-е годы я не знаю.
Возможно в RFC 854 будут какие-то объяснения.
avatar
Здравствуйте! Огромное спасибо за материал, просто супер! Уже третий день все перечитываю по несколько раз))

У меня такой вопрос. Почему когда в сети, пока без маршрутизатора, я подключаю к коммутатору 2 компа через FAstEthernet 0/1 и FAstEthernet 0/2, при условии, что оба порта аксесные и помечены одним VLAN'ом, но на компах прописываю айпишники из разных подсетей (192.168.1.2 и 192.168.2.2) с маской 24 бита, связи между этими двумя компами нет. А когда в сети, уже с маршрутизатором, я на коммутаторе прописываю разные VLAN'ы для этих интерфейсов, связь чудесным образом начинает работать, несмотря на то, что IP адреса компов так и остаются в разных подсетях. Что такого маршрутизатор делает с пакетом, что все начинает работать?
avatar
А нет, прошу прощения. Кажется я разобрался. Если я правильно понял, то комп перед отправкой пакета смотрит в его ли подсети адрес получателя и если это не так, то он отправляет пакет на шлюз по умолчанию. Я все правильно понял?
avatar
Я дошёл до создания сети управления и не понимаю как L2 устройство может работать с IP-адресами. Команда interface vlan создаёт L3 порт? И что это за порт? Он соответствует всем физическим портам коммутатора? В общем непонятно как коммутатор может иметь IP-адрес…
avatar
В настройте вланов на коммутаторах для серверов, с msk-arbat-asw1 сложно «пройти мимо», и не применить interface range, так сказать, для закрепления материала.
avatar
подскажите пожалуйста а interface fastethernet 0/1 — это номер порта на самой циске или я что-то не так понимаю? т.е. мы открываем первый порт, этой командой? и чем отличается fastethernet 0/0 от 0/1?
avatar
Прошу прощения, совсем не понял вопрос.
avatar
Здравствуйте. На видео я не понимаю. Ведь если пакет от Компьютеров к маршрутизаторам, я так понимаю слева должен был быть помечен vlan 10 т.е. золотым, а справа серебряным. Я не прав? Совсем мозг запутался.
avatar
Вы правы совершенно. Такие вещи помогут вам лучше разобраться, потому что приходится задумываться.
avatar
Здравствуйте. Такой вопрос. Наверное глупый. Но малость меня смущает и хотелось бы проконсультироваться.
Вопрос таков:

При включение коммутатора его таблица коммутации пуста. Он переходит в процесс самообучения, т. е. строить таблицу в соответствии с MAC'ом отправителя.
Отправитель шлет кадр — коммутатор посмотрел в заголовке отправителя — запомнил «что на этом интерфейсе живет этот будущий получатель». Это понятно. НО
Когда таблица коммутации пуста. Коммутатор рассылает кадры во все интерфейсы, кроме того из которого был принят кадр, в надежде отыскать получателя. НО
От куда знать, например тому хосту какой собственно MAC получателя, когда он например сам только включился впервые.
Собственно хост т. к. у него на интерфейсе назначен IP использует протокол ARP, дабы узнать MAC получателя.

Вопрос возник, потому что в книжке по cisco icnd part 1, говорится что когда таблица коммутации пуста, кадры шлются во все интерфейсы в поиске получателя. Я имею ввиду Unicast'ом. Но так же коммутатор пересылает и brodcast. Следовательно, если только что включившийся хост хочет переслать кадр. Он использует ARP(brodcast), следовательно коммутатор разошлет и так этот brodcast.

Или наполнение таблица коммутации плотно связанно с ARP?
Или там имелось ввиду что хост якобы знает уже о MAC'е получателя(например статический ARP)
avatar
Когда один хост хочет отправить пакет другому — в первую очередь он отправляет ARP-запрос, чтобы узнать MAC-адрес.
Пока ARP-запрос идёт к хосту 2 коммутатор изучает адрес хоста 1. Когда ARP-ответ идёт обратно, коммутатор изучает адрес хоста 2.

Я имею ввиду Unicast'ом. Но так же коммутатор пересылает и brodcast
Есть понятия broadcast и unknown unicast и то и другое рассылается коммутатором во все порты одновременно.
avatar
Совсем запамятовал про unknown unicast. Спасибо.
avatar
Кстати прошу прощения за мою скудность.
Но все же хотелось бы поблагодарить за проделанный "адский" труд.
Именно после этих уроков побежал в книжный магазин за cisco'й.
avatar
Спасибо :)

Если всё сложится, то, может, лет через пять можно будет идти в магазин за СДСМ. :)
avatar
Отличная статья про VLAN. Жалко, что ваш блог мне не попался раньше. Порекомендовал читать вас всем коллегам на работе и у партнеров.

Кстати, при настройке trunk интерфейсов для старого оборудования стоит первым делом указать тип тегирования:
switchport trunk encapsulation dot1q
Иначе trunk не получится. Ещё, можно было бы добавить, что для создания trunk связки cisco-cisco вообще никаких настроек на интерфейсах не требуется. И намек на статью зачем вручную прописывать тип интерфейса -> ссылку на будущую статью по безопасности с атакой switch spoofing. Но это я уже придираюсь =)
avatar
Вы совершенно правы. И эта порочная практика циски делает их действительно уязвимыми к ряду атак.

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

Но спасибо за мысль.
avatar
В любом случае вы уже выбрали вендора. Лучше писать хорошо про одного, чем пытаться объять необъятное. Для всего остального есть JunOS as a second language и ему подобные курсы. Пишите про cisco — у вас хорошо получается.
avatar
Мы не пытаемся объять не объятное. Мы описываем технологии. А то, что примеры рассматриваются на CLI Cisco — это лишь потому, что это наиболее удобно.
avatar
Привет парни! Я понять не могу зачем нужен шлюз msk-arbat-asw2 (где сервера)? Он ведь явно лишний т.к сервера на одном порту весят или я что-то не понимаю? может это как-то безопасность улучшает или оптимизирует сеть?
avatar
Asw2 — это не шлюз, это коммутатор.
Во-первых, у вас может быть много больше серверов/узлов и нужно два коммутатора, во-вторых, это задел на следующую статью, которая про STP, необходимый для «в-третьих» — резервирования — возможно сделать так, чтобы сервера подключались к двум коммутаторам.
комментарий был удален
комментарий был удален
комментарий был удален
avatar
здравствуйте, скажите пожалуйста, а можно ли файл покет трейсера выложить? У меня не очень получается поднять ФЕО с другой подсети и остальные отделы. спасибо.
avatar
К сожалению, не осталось файла. Но ведь приложена конфигурация устройств.
avatar
Добрый день, классный курс! Спасибо большое!!! Не сравнить с тем, как нам читают в универе «Компьютерные сети»!
Появился такой вопрос: подскажите пожалуйста а как сделать доступ по telnet или ssh к коммутатору 2950? Через Command Line Interface настраивать коммутатор конечно удобно, но вот что делать в реально жизни? Хочу настроить пару/тройку раз через telnet/ssh, а потом уже ради экономии времени настраивать через CLI.
Я так понимаю у 2950 на интерфейсах нет и не может быть IP? как тогда подключаться и производить настройку?? подскажите пожалуйста…
avatar
Здравствуйте. Ответ на этот вопрос есть в следующей статье.
Если двумя словами, то Vlan interface.
avatar
Автор, спасибо за то, что вы есть. Очень классный проект. Молодцы!
Вопрос по теме: Почему не рассказано про VTP? И почему, собственно, его то и не использовали? На сколько я знаю, он ведь включен по умолчанию…
avatar
Охх? Проблема-то известная:

networklessons.com/switching/introduction-to-vtp-vlan-trunking-protocol/
www.sadikhov.com/forum/index.php?/topic/177718-vtp-security/

Впрочем в 3-й версии это, вроде поправили.

Но что, о нём рассказывать? Прост, как 3 копейки :)
avatar
Да, проблема конечно известная… :(
Так чтобы включить ВТП надо задать на всех свичах домен?
avatar
xgu.ru/wiki/VTP

Попробуйте настроить :)
avatar
А если я уже настроил вручную, что будет после включения VTP?
avatar
Большое спасибо за ваш труд! Очень интересная подача материала, видео помогает многое расставить по местам.

У меня возник такой вопрос: в видео и в описании указывается, что когда кадр прилетает с access порта, он маркируется тегом соответствующего этому порту VLAN-а. Затем, просматривается таблица коммутации, и, если есть порт на коммутаторе с таким VLAN-ом, то тег снимается и кадр отправляется в access порт. Или не снимается, если кадр надо отправить в транк. Собственно вопрос: точно ли коммутатор тегирует кадр, прилетевший с access-порта? Разве не смотрится первым делом таблица коммутации, и если этот VLAN содержится только на данном коммутаторе, то кадр просто отправляется на все порты, закреплённые за данным VLAN-ом? Зачем загружать лишний раз процессор тегированием и снятием тега, если коммутация происходит в пределах одного устройства?
  • Cog
  • 0
avatar
Вы знаете, это уже физика процесса передачи кадра. Вероятно, может отличаться от вендора к вендору и от модели к модели.
Я же описываю базовые концепции, чтобы была понятна концепция передачи.
Но по логике, чтобы пока кадр коммутируется на сетевом чипе свитча, он не был спутан с другими, какая-то метка у него должна быть. Особенно если мы возьмём High-End оборудование с несколькими линейными платами и фабриками коммутации.
avatar
Я думаю, если коммутатор сохраняет таблицу соответствия порта, мак-адреса и VLANа, то этого должно быть достаточно для коммутации кадров без использования тегов. К тому же, когда мы настраиваем транк, мы указываем, что используем протокол тегирования кадров (dot1q или isl), поэтому мне кажется, что только на магистральных портах присутствует такое понятие как тег, только для того, чтобы другие устройства понимали какому VLANу принадлежит кадр.
Просто если идея общая, думаю она будет похожа для всех вендоров, хотя могу и ошибаться, опыта у меня нет.
avatar
Ваш вопрос обсуждается здесь: learningnetwork.cisco.com/thread/67136
Впрочем я по-прежнему не до конца уверен.
Судя по всему, кадры внутри коммутатора всегда помечены, но эта метка — часть метаданных кадра, а не VLAN Tag в чистом виде. Поэтому, когда кадр приходит на коммутатор, не важно транк или аксес, метка добавляется в метаданные.
avatar
Вот как даже!
Большое спасибо за ссылку, когда искал не натыкался на неё, теперь всё ясно.
avatar
Приветствую! Во-первых, большое спасибо за проделанную работу, с удовольствием изучаю материал.

Вопрос — на видео показано, что ПК1 и RT1 находятся в одном VLANе № 10 (золотой), но как только кадр с ПК1 попадает на коммутатор, то он почему-то маркируется серебряной меткой — тегом VLANа № 20, хотя должен маркироваться золотой. Это у вас ошибка или я чего-то не понимаю? Аналогично с ПК2.
avatar
Да, вы правы.