Проектируем домашнюю сеть

Проектируем домашнюю сеть

Часть первая. Кабельная система и Ethernet

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

Кабельная система

Упрощая сеть до такого состояния, системный администратор сам создаёт себе проблемы – он сам обеспечивает себе беготню то с целью поиска "где… "Правильная сеть":

Использует соединительные кабели, предназначенные для такого использования;

3. спроектирована с учётом стандартов на длину и тип кабеля. To crimp or not to cpimp? Если у вас есть бухта "обычного" UTP-кабеля, вилочки, инструмент для обжимки, и вы свято верите в то, что…

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

Не прокладывать кабель UTP рядом с силовым кабелем. Расстояние между кабелем UTP и силовым должно составлять не менее 15 сантиметров (прокладка в разные отсеки короба - не исключение). Допускается также перпендикулярная к силовым линиям прокладка (пересечение).

3. Не допускать, чтобы по кабелю "топтались". При деформации у него ощутимо снижаются частотные характеристики.

Крепить кабель, как минимум, через каждые 1,5 м. Иначе, он может от провисания со временем просто растянуться, что ухудшит его частотные характеристики.

5. При "расколке" или "обжимке" разведите пары по стандарту, это позволит вам не ломать голову над тем, "какие цвета на той стороне?". Существует два стандарта на разводку пар: T568A и T568B (поиск в Google даст массу результатов). Какой из них применять – разницы нет, главное чтобы на обоих концах кабеля применялся одинаковый стандарт. А лучше выбрать один стандарт для всей кабельной системы.

Минимальный диаметр изгиба кабеля UTP Cat 5e - около 2,5см. Если согнуть кабель под меньшим диаметром, то ухудшатся его частотные характеристики.

Даже самый простой кабельный тестер (который только и тестирует, что электрический контакт) сильно упрощает работу.

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

Модель OSI

Физический уровень: 1 О части реализации этого уровня мы уже рассказывали в предыдущем разделе, а… Канальный уровень: 2

MAC-подуровень ответственен за контроль доступа к среде передачи, например, в Ethernet - это контроль коллизий и алгоритм доступа к среде (т.е. описание того, как станция может передавать данные в сеть).

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

Кстати, известный многим MAC-адрес принадлежит именно ко второму уровню модели OSI – так адресуются рабочие станции в локальной сети на подуровне LLC, каждый MAC-адрес уникален в рамках локальной сети и зашит аппаратно в сетевой адаптер.

Здесь важно остановиться на примере того, как проецирование модели OSI используется для создания сетей с различными средами передачи. Возьмём, для простоты, Ethernet – кадр (подуровень LLC), который не зависит от физической среды передачи (физический уровень + подуровень MAC). И действительно, Ethernet работает по медной паре, оптоволокну, радиоэфиру, оптической связи, электропроводке и так далее, и так далее…

При этом сеть, начиная с подуровня LLC и выше, вообще "не знает", какая среда передачи используется. Соответственно, производителям оборудования и ПО, работающего на указанных уровнях, не нужно ломать голову над тем, как передавать данные по каждой новой среде – это за них делает первый уровень и подуровень MAC. ПО или оборудованию, достаточно только знать, как взаимодействовать с уровнем модели OSI, который располагается ниже, в данном случае, между подуровнями LLC и MAC.

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

Сетевой уровень: 3

Этот уровень - самый интересный, потому что именно на нём работает Интернет. На третьем уровне модели OSI начинается маршрутизация пакетов, т.е. передача не только по локальной среде передачи от станции к станции, но и транзит пакетов через локальные среды к третьему получателю. На третьем уровне происходит абстрагирование от локальной сети и использование маршрутизируемых протоколов. Основным признаком протоколов третьего уровня является деление адресного пространства на подсети и введение таблиц маршрутизации, которые указывают, куда для данной подсети отправлять пакеты. "Куда", в данном случае, означает "на какой шлюз". Именно на третьем уровне появляются шлюзы между сетями, которые пропускают через себя пакеты в другие сети. Как и подуровень LLC, третий уровень модели OSI независим от предыдущих уровней, что позволяет универсализировать ПО и оборудование.

Интересно, что сам по себе термин "internet" изначально означает "сеть, которая объединяет сети". Действительно, Интернет - есть просто соединение независимых сетей между собой по протоколу 3-го уровня (IP), просто их очень много, поэтому и получилось такое мега-образование, которое мы и называем Интернет, подразумевая под ним уже нечто целостное.

Транспортный уровень: 4

Сама же передача данных начинается на транспортном уровне. Именно этот уровень, накладываясь на сетевой, уже передаёт данные между программами. Здесь работают протоколы TCP и UDP, которые и передают данные в современных сетях. На транспортный уровень возложены функции контроля ошибок и потока данных уже между конечными точками (а не только в локальной сети, как это делает подуровень LLC). На этом уровне реализуется трансляция адресов для TCP и UDP, что позволяет организовывать доступ в Интернет с рабочих станций в локальной сети.

Сеансовый уровень: 5

Этот уровень – точка взаимодействия сети с программами. Начиная с этого уровня, как правило, обработка данных переходит от сетевого стека к программам, которые и реализуют уровни 5, 6 и 7. Мы не будем подробно на них останавливаться, поскольку в сетях TCP/IP - это уже вопрос не сетевого взаимодействия, а программирования с использованием API. Подробности об этом и других уровнях можно найти на ya.ru по ключевой фразе "модель OSI".

Вложенность уровней

При получении пакета на станции-получателе, процесс работает в обратном направлении – из пакета уровня 1 извлекается пакет уровня 2, из него пакет… Такая схема позволяет добавить гибкость в организацию сетевого взаимодействия,… Зачем?

Ethernet

Теория

Кадр классического Ethernet имеет максимальный размер 1518 байт и включает в себя данные и служебные заголовки, из которых нам интересны MAC-адрес отправителя и MAC-адрес получателя. В поле данных кадра содержится инкапсулированный пакет протокола 3-го уровня, о чём мы рассказывали в разделе о модели OSI.

Для передачи кадров Ethernet по локальной сети, в основном, применяются два типа сетеобразующих устройств – концентраторы ("хабы", "hubs") и коммутаторы ("свичи", "switches").

Работа концентратора заключается в том, чтобы все полученные кадры повторить (продублировать) на все свои порты. Концентраторы ещё называют "повторителями" ("репитерами", "repeaters"), поскольку основная их задача - именно повторить полученный кадр на все порты. Так как невозможно одновременно повторять более одного кадра на все порты, то все клиентские устройства, при использовании концентратора, могут работать только в режиме полудуплекса, т.е. в один момент времени клиентское устройство может, или принимать данные, или передавать их. По той же причине невозможна одновременная передача данных по сети более чем от одного клиентского устройства – кадры просто наложатся друг на друга, будут искажены и отброшены.

Наложение кадров часто происходит и в процессе нормальной работы сети, построенной на концентраторах, а называется "коллизией". Обычным оно считается потому, что протокол Ethernet не содержит в себе механизма контроля захвата среды передачи на момент передачи кадра, а вместо этого использует механизм обнаружения коллизий ("collision detection", "CD"). Суть данного механизма в том, что каждое клиентское устройство "слушает" среду передачи и начинает передачу только в том случае, если среда свободна. Но, возможна и ситуация, когда между тем, как устройство "прослушало" среду, решило, что она свободна, и начало передачу, проходит какое-то время, и именно в это время какое-то другое устройство начало передачу, в итоге - произошла коллизия и пакеты были отброшены. При обнаружении коллизии, оба устройства прекращают передачу и делают паузу на некоторое время, которое выбирается случайным образом. По истечении этого времени устройства вновь пытаются передать данные, и высок шанс, что в этот раз пакеты не наложатся. Таким образом, в Ethernet решается проблема разделения общей среды передачи между сетевыми устройствами.

Сегмент сети, который использует в качестве активного оборудования концентраторы, называют "коллизионный домен", поскольку, при обнаружении одной коллизии, на некоторое время приостанавливается передача данных по всему сегменту. Фактически, коллизионный домен это аналог общей среды передачи, который просто объединяет сетевые устройства так, что они могут вещать на все остальные устройства напрямую. Это очень похоже на сеть, построенную на коаксиальном кабеле, когда устройства просто подключались к кабелю параллельно, а активное оборудование вообще не требовалось. Фактически, концентраторы являются устройствами 1-го уровня модели OSI, т.е. устройствами для физической передачи данных.

Важным моментом является то, что коллизионный домен требует дополнительных расчётов, связанных со скоростью распространения сигнала через кабели и активное оборудование. Необходимость таких расчётов обуславливается тем, что требуется обеспечить такую скорость передачи кадра, при которой самые "дальние" сетевые устройства не успели бы закончить одновременную передачу двух кадров минимального размера. В противном случае, кадры наложатся уже после передачи, возникнет коллизия, но которая не будет обнаружена этими устройствами, поскольку, они-то считают кадр уже переданным! В итоге, алгоритм работы Ethernet существенно нарушается, что может вызвать снижение производительности, либо, вообще, неработоспособность сегмента. Для предотвращения таких проблем есть специальная методика расчёта сегментов на основе концентраторов. Если вам "посчастливилось" проектировать такую сеть, то следует обратиться к специальной литературе.

Итак, сегментам, построенным на основе концентраторов, присущи серьёзные недостатки:

Невозможность одновременной передачи данных, более чем от одного устройства;

2. Режим полудуплекса, который позволяет в один момент времени только, или передавать информацию, или принимать её;

Наличие коллизий, вносящих паузы в передачу данных по всему сегменту;

Необходимость повторять пакеты на все порты, что снижает безопасность;

5. Относительно сложный алгоритм расчёта размера коллизионного домена.

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

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

Все эти недостатки устраняет следующий тип сетеобразующих устройств – коммутатор. Коммутатор, в отличие от концентратора, не повторяет каждый кадр на все порты, а имеет более высокий "интеллект" - он просматривает заголовки и использует MAC-адреса для построения таблицы коммутации кадров, тем самым, работая на втором уровне модели OSI, точнее, на подуровне MAC второго уровня.

Рассмотрим схематическую модель коммутатора (Рис. 1). На ней обозначены порты, фабрика коммутации и таблица коммутации. "Интеллект" коммутатора второго уровня содержится, как раз, в "фабрике коммутации" (switch fabric), которая и оперирует с MAC-адресами кадров.

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

Нетрудно заметить, что производительность коммутатора возрастает в разы за счёт того, что он, практически, одновременно передаёт пакеты между многими своими портами. Учитывая тот факт, что, почти все современные коммутаторы содержат фабрики коммутации, которые способны одновременно передавать кадры между всем портами, то производительность коммутатора больше производительности концентратора в x раз, где x - количество портов коммутатора.

За счёт того, что коммутатор работает с каждым клиентским устройством "индивидуально", то устройству не требуется занимать всю среду передачи на время передачи кадра – оно передаёт кадр только на фабрику коммутации, откуда кадр будет передан непосредственно на нужный порт (тот, к которому подключен получатель). Соединение коммутатора с клиентским устройством может, одновременно, и передавать кадр, и принимать другой. При использовании витой пары наложение кадров отсутствует, поскольку для передачи и приёма используются разные пары, а значит, не может быть коллизий.

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

Теперь немного об "интеллекте" коммутатора. Таблица коммутации составляется довольно просто – при приёме кадра с какого-то порта,… Процесс коммутации кадра выглядит следующим образом: когда коммутатор получает… Пытливый ум заметит, что в случае передачи широковещательных и групповых кадров занимаются все порты коммутатора, и…

Топология

Кстати говоря, возможность широковещательного шторма - одна из серьёзных уязвимостей протокола Ethernet к атакам типа DOS: для выведения из рабочего… Продолжая разговор о физической топологии, хотелось бы коснуться темы резервирования соединений, ведь, если два…

Заключение

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

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