Найти тему

Наводим порядок в голове: L2, switch, DHCP, VLAN, trunk...

Cisco Catalyst 2960+
Cisco Catalyst 2960+

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

Итак, сначала немного теории и ответ на вопрос "что такое L2". А L2 - это общепринятое сокращение от "Layer 2", т.е. это 2ой уровень модели OSI (Канальный). Если без лишней воды, то это уровень на котором сетевые устройства общаются друг с другом, используя MAC-адреса. Т.о. устройствам неважно что там находится внутри пакета, они не будут его обрабатывать, им нужно просто переслать пакет с маком таким-то соседнему устройству с маком вторым. Вот и все. Весь этот уровень L2 занимается в основном только этим, никаких IP-адресов на этом уровне еще нет. Есть еще всякий служебный трафик, бродкасты, spanning tree, arp и пр. Но это уже нюансы, которые обычному админу не нужны каждый день и знание их, в большинстве случаев, скорее желательны, чем обязательны.

Итого, у нас получается, что свитч - это простое устройство, которое передает пакеты от одного клиента другому, зная только их мак-адреса. Ему совершенно сиренево какие ip-адреса у его клиентов, по каким портам клиенты хотят обмениваться данными. Свитчу на это все плевать. Поэтому надо четко разделять зону ответственности между сетевым оборудованием: на каком этапе и что именно "не работает" у пользователя. Одно дело, если компьютер не получает ip-адрес и совершенно другое, если сайтики в интернете не открываются, а сетевые папки и почта работают. Нужно эти ситуации четко различать и понимать.

Двигаемся далее. Что такое DHCP, как оно работает и зачем нужно, мне кажется, уже все знают, поэтому глубоко в это лезть нет смысла. Вкратце, это сервис, который назначает сетевому клиенту (компьютеру, телефону, камере и пр.) ip-адрес из указанного диапазона. Т.е. делается сопоставление MAC-адреса сетевого оборудования его временно-присвоенному IP-адресу. А все это дело хранится в ARP-таблицах сетевых устройств L3. Такое устройство умеет работать на 3ем уровне и понимает не только MAC-адреса, но и IP. Такие устройства называются "ядрами". Но и роутеры умеют работать с ip, тогда какая же разница?! Разницы, на самом деле, большой нет. "Ядро" имеет почти полный функционал роутеров, но заточено оно, все-таки, под внутреннее использование и обработку огромного внутреннего трафика от компьютеров пользователей к серверам компании. У современных ядер скорость обработки достигает 3000 Гбит/с и выше, если говорить о совсем промышленных устройствах.

Cisco Catalyst 9300 Series
Cisco Catalyst 9300 Series

На роутерах упор делается в шифрование и возможность быстрее обрабатывать/расшифровывать приходящие пакеты из сети интернет и скорости их работы редко превышают 700-1000Гбит/с и выражаются, скорее, в количестве проброшенных сессий, поднятых VPN-туннелей, хранящихся в памяти маршрутов и др.

Cisco ASR 1000 Series Aggregation Services Routers
Cisco ASR 1000 Series Aggregation Services Routers

Главное отличие, которое сразу бросается в глаза: количество портов для подключений. Роутер должен разделить внешнюю сеть интернет и локальную, поэтому много портов ему не нужно. А свитч типа "ядро" должен служить центром внутренней маршрутизации. Учитывая базовую топологию "звезда", все свитчи L2 должны подключаться в ядро прямым линком. Только в этом случае вы получите максимально прозрачную и быстродействующую ЛВС.

А чтобы ваша сеть была не только быстрой и правильной, но и доставляла максимально мало проблем и при этом могла бы быстро и просто масштабироваться, учитывая нужды и требования компании, необходимо озаботиться нужным количеством VLAN'ов. Что такое VLAN - это виртально-размеченная часть сети ЛВС. Например, вы хотите разделить сеть серверов и компьютеров пользователей. Все же этого хотят? :)

Вот чтобы нам разделить две подсети и нужны VLAN'ы. В грубом сравнении - это как папки в компьютере: какие вы файлики сбросите в папку, такие там и будут лежать и работать с ними можно только из этой папки. Так и порты на свитчах: какому VLAN'у вы их назначите, такая подсеть там и будет работать. Такой режим работы называется аксес: когда только одна подсеть работает на выделенном порту. Если меняете номер VLAN'а, то меняется и подсеть, в которой окажется вставленный туда компьютер. Но есть и другой режим работы: trunk. Таким типом подключения должны соединяться друг с другом все свитчи между собой. В этом режиме, еще называют "тэгированном", в пакет данных встраивается информация о номере влана, в котором находится абонент. Для нас с вами это можно представить как гофру, в которой проложены несколько витых пар, которые не пересекаются между собой и все идут параллельно друг другу. И вот такой "гофрой" мы соединяем все свитчи, чтобы иметь возможность любому физическому порту на любом из свитчей назначить любой нужный нам влан.

-4

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

Кстати, немного про петли... Если у вас в ЛВС используются всякие китайские "тупняки": д-линк, тп-линк и пр. То у вас возможна ситуация, когда пользователь замыкает между собой несколько таких тупняков. Далее происходит следующая ситуация: бродкастовый запрос к дхцп серверу от одного из компов начинает бегать кругами и замыкается. Тупняки вынуждены его повторять раз за разом, когда он приходит то на один, то на другой интерфейс. Через какое-то непродолжительное время работы, этого паразитного трафика становится так много, что нормальные запросы между клиентами сети перестают доходить друг до друга и сеть "отрубается". VLAN'ы нужны, чтобы сократить количество клиентов внутри одной подсети, которые бы генерировали подобные бродкастовые запросы. Так же это называется доменом коллизий - чем меньше потенциальных клиентов в сети, тем меньше домен коллизий. В норме принято разбивать подсети на 256 адресов: 0 - номер сети, 255 - бродкастовый адрес, остается 254 сетевых устройства. Например, 192.168.0.0 - это номер сети, 255.255.255.0 - маска этой сети, а запись 192.168.0.0/24 - обозначает всю эту подсеть. Нам не хватает шлюза. Шлюз - это устройство, на котором заведен влан этой сети или роутер, который знает о других сетях и имеет к ним доступ. Например, 192.168.0.1 - это адрес влана на ядре внутри компании. Компьютер, который не знает ни о чем, кроме своей сети, все запросы будет слать на этот адрес, будь то адрес в интернете или соседний комп в другом влане.

-5

Спасибо что дочитали, если что-то было полезным и помогло немного разобраться в сути дела - подпишитесь и поставьте лайк, пожалуйста. Нашли ошибки и неточности - отпишитесь в комментариях. Катаю статьи на работе, могу отвлечься, потерять мысль и общий смысл повествования... Аффтар старался, нес, нес и, если, не донес, то вынес точно. ;)