Сети для самых маленьких. Часть нулевая. Планирование
Это первая статья из серии «Сети для самых маленьких». Мы с товарищем thegluck долго думали с чего начать: маршрутизация, VLAN’ы, настройка оборудования.
В итоге решили начать с вещи фундаментальной и, можно сказать, самой важной: планирование. Поскольку цикл рассчитан на совсем новичков, то и пройдём весь путь от начала до конца.
Предполагается, что вы, как минимум читали о эталонной модели OSI (то же на англ.), о стеке протоколов TCP/IP (англ.), знаете о типах существующих VLAN’ов (эту статью я настоятельно рекомендую к прочтению), о наиболее популярном сейчас port-based VLAN и о IP адресах (более подробно). Мы понимаем, что для новичков «OSI» и «TCP/IP» — это страшные слова. Но не переживайте, не для того, чтобы запугать вас, мы их используем. Это то, с чем вам придётся встречаться каждый день, поэтому в течение этого цикла мы постараемся раскрыть их смысл и отношение к реальности.
- В данный момент у компании есть два офиса: 200 квадратов на Арбате под рабочие места и серверную. Там представлены несколько провайдеров. Другой на Рублёвке.
- Есть четыре группы пользователей: бухгалтерия (Б), финансово-экономический отдел (ФЭО), производственно-технический отдел (ПТО), другие пользователи (Д). А так же есть сервера (С), которые вынесены в отдельную группу. Все группы разграничены и не имеют прямого доступа друг к другу.
- Пользователи групп С, Б и ФЭО будут только в офисе на Арбате, ПТО и Д будут в обоих офисах.
- упрощается понимание организации сети
- модель подразумевает модульность, что означает простоту наращивания мощностей именно там, где необходимо
- легче найти и изолировать проблему
- повышенная отказоустойчивость засчет дублирования устройств и/или соединений
- распределение функций по обеспечению работоспособности сети по различным устройствам.
Согласно этой модели, сеть разбивается на три логических уровня: ядро сети (Core layer: высокопроизводительные устройства, главное назначение — быстрый транспорт), уровень распространения (Distribution layer: обеспечивает применение политик безопасности, QoS, агрегацию и маршрутизацию в VLAN, определяет широковещательные домены), и уровень доступа (Access-layer: как правило, L2 свичи, назначение: подключение конечных устройств, маркирование трафика для QoS, защита от колец в сети (STP) и широковещательных штормов, обеспечение питания для PoE устройств).
В таких масштабах, как наш, роль каждого устройства размывается, однако логически разделить сеть можно.
Составим приблизительную схему:
На представленной схеме ядром (Core) будет маршрутизатор 2811, коммутатор 2960 отнесём к уровню распространения (Distribution), поскольку на нём агрегируются все VLAN в общий транк. Коммутаторы 2950 будут устройствами доступа (Access). К ним будут подключаться конечные пользователи, офисная техника, сервера.
Именовать устройства будем следующим образом: сокращённое название города (msk) — географическое расположение (улица, здание) (arbat) — роль устройства в сети + порядковый номер.
Соответственно их ролям и месту расположения выбираем hostname:
Маршрутизатор 2811: msk-arbat-gw1 (gw=GateWay=шлюз)
Коммутатор 2960: msk-arbat-dsw1 (dsw=Distribution switch)
Коммутаторы 2950: msk-arbat-aswN, msk-rubl-asw1 (asw=Access switch)
Документация сети
Вся сеть должна быть строго документирована: от принципиальной схемы, до имени интерфейса.
Прежде, чем приступить к настройке, я бы хотел привести список необходимых документов и действий:
• Схемы сети L1, L2, L3 в соответствии с уровнями модели OSI (Физический, канальный, сетевой)
• План IP-адресации = IP-план.
• Список VLAN
• Подписи (description) интерфейсов
• Список устройств (для каждого следует указать: модель железки, установленная версия IOS, объем RAM\NVRAM, список интерфейсов)
• Метки на кабелях (откуда и куда идёт), в том числе на кабелях питания и заземления и устройствах
• Единый регламент, определяющий все вышеприведённые параметры и другие.
Жирным выделено то, за чем мы будем следить в рамках программы-симулятора. Разумеется, все изменения сети нужно вносить в документацию и конфигурацию, чтобы они были в актуальном состоянии.
Говоря о метках/наклейках на кабели, мы имеем ввиду это:
На этой фотографии отлично видно, что промаркирован каждый кабель, значение каждого автомата на щитке в стойке, а также каждое устройство.
Подготовим нужные нам документы:
Список VLAN
№ VLAN | VLAN name | Примечание |
---|---|---|
1 | default | Не используется |
2 | Management | Для управления устройствами |
3 | Servers | Для серверной фермы |
4-100 | Зарезервировано | |
101 | PTO | Для пользователей ПТО |
102 | FEO | Для пользователей ФЭО |
103 | Accounting | Для пользователей Бухгалтерии |
104 | Other | Для других пользователей |
Каждая группа будет выделена в отдельный влан. Таким образом мы ограничим широковещательные домены. Также введём специальный VLAN для управления устройствами.
Номера VLAN c 4 по 100 зарезервированы для будущих нужд.
IP-план
IP-адрес | Примечание | VLAN |
---|---|---|
172.16.0.0/16 | ||
172.16.0.0/24 | Серверная ферма | 3 |
172.16.0.1 | Шлюз | |
172.16.0.2 | Web | |
172.16.0.3 | File | |
172.16.0.4 | ||
172.16.0.5 — 172.16.0.254 | Зарезервировано | |
172.16.1.0/24 | Управление | 2 |
172.16.1.1 | Шлюз | |
172.16.1.2 | msk-arbat-dswl | |
172.16.1.3 | msk-arbat-aswl | |
172.16.1.4 | msk-arbat-asw2 | |
172.16.1.5 | msk-arbat-asw3 | |
172.16.1.6 | msk-rubl-aswl | |
172.16.1.6 — 172.16.1.254 | Зарезервировано | |
172.16.2.0/24 | Сеть Point-to-Point | |
172.16.2.1 | Шлюз | |
172.16.2.2 — 172.16.2.254 | Зарезервировано | |
172.16.3.0/24 | ПТО | 101 |
172.16.3.1 | Шлюз | |
172.16.3.2 — 172.16.3.254 | Пул для пользователей | |
172.16.4.0/24 | ФЭО | 102 |
172.16.4.1 | Шлюз | |
172.16.4.2 — 172.16.4.254 | Пул для пользователей | |
172.16.5.0/24 | Бухгалтерия | 103 |
172.16.5.1 | Шлюз | |
172.16.5.2 — 172.16.5.254 | Пул для пользователей | |
172.16.6.0/24 | Другие пользователи | 104 |
172.16.6.1 | Шлюз | |
172.16.6.2 — 172.16.6.254 | Пул для пользователей |
Выделение подсетей в общем-то произвольное, соответствующее только числу узлов в этой локальной сети с учётом возможного роста. В данном примере все подсети имеют стандартную маску /24 (/24=255.255.255.0) — зачастую такие и используются в локальных сетях, но далеко не всегда. Советуем почитать о классах сетей. В дальнейшем мы обратимся и к бесклассовой адресации (cisco). Мы понимаем, что ссылки на технические статьи в википедии — это моветон, однако они дают хорошее определение, а мы попробуем в свою очередь перенести это на картину реального мира.
Под сетью Point-to-Point подразумеваем подключение одного маршрутизатора к другому в режиме точка-точка. Обычно берутся адреса с маской 30 (возвращаясь к теме бесклассовых сетей), то есть содержащие два адреса узла. Позже станет понятно, о чём идёт речь.
План подключения оборудования по портам
Разумеется, сейчас есть коммутаторы с кучей портов 1Gb Ethernet, есть коммутаторы с 10G, на продвинутых операторских железках, стоящих немалые тысячи долларов есть 40Gb, в разработке находится 100Gb (а по слухам уже даже есть такие платы, вышедшие в промышленное производство). Соответственно, вы можете выбирать в реальном мире коммутаторы и маршрутизаторы согласно вашим потребностям, не забывая про бюджет. В частности гигабитный свич сейчас можно купить незадорого (20-30 тысяч) и это с запасом на будущее (если вы не провайдер, конечно). Маршрутизатор с гигабитными портами стоит уже ощутимо дороже, чем со 100Mbps портами, однако оно того стоит, потому что FE-модели (100Mbps FastEthernet), устарели и их пропускная способность очень невысока.
Но в программах эмуляторах/симуляторах, которые мы будем использовать, к сожалению, есть только простенькие модели оборудования, поэтому при моделировании сети будем отталкиваться от того, что имеем: маршрутизатор cisco2811, коммутаторы cisco2960 и 2950.
Имя устройства | Порт | Название | VLAN | |
---|---|---|---|---|
Access | Trunk | |||
msk-arbat-gw1 | FE0/1 | UpLink | ||
FE0/0 | msk-arbat-dsw1 | 2,3,101,102,103,104 | ||
msk-arbat-dsw1 | FE0/24 | msk-arbat-gw1 | 2,3,101,102,103,104 | |
GE1/1 | msk-arbat-asw1 | 2,3 | ||
GE1/2 | msk-arbat-asw3 | 2,101,102,103,104 | ||
FE0/1 | msk-rubl-asw1 | 2,101,104 | ||
msk-arbat-asw1 | GE1/1 | msk-arbat-dsw1 | 2,3 | |
GE1/2 | msk-arbat-asw2 | 2,3 | ||
FE0/1 | Web-server | 3 | ||
FE0/2 | File-server | 3 | ||
msk-arbat-asw2 | GE1/1 | msk-arbat-asw1 | 2,3 | |
FE0/1 | Mail-Server | 3 | ||
msk-arbat-asw3 | GE1/1 | msk-arbat-dsw1 | 2,101,102,103,104 | |
FE0/1-FE0/5 | PTO | 101 | ||
FE0/6-FE0/10 | FEO | 102 | ||
FE0/11-FE0/15 | Accounting | 103 | ||
FE0/16-FE0/24 | Other | 104 | ||
msk-rubl-asw1 | FE0/24 | msk-arbat-dsw1 | 2,101,104 | |
FE0/1-FE0/15 | PTO | 101 | ||
FE0/20 | administrator | 104 |
Почему именно так распределены VLAN’ы, мы объясним в следующих частях.
Схемы сети
На основании этих данных можно составить все три схемы сети на этом этапе. Для этого можно воспользоваться Microsoft Visio, каким-либо бесплатным приложением, но с привязкой к своему формату, или редакторами графики (можно и от руки, но это будет сложно держать в актуальном состоянии :)).
Не пропаганды опен сорса для, а разнообразия средств ради, воспользуемся Dia. Я считаю его одним из лучших приложений для работы со схемами под Linux. Есть версия для Виндоус, но, к сожалению, совместимости в визио никакой.
L1
То есть на схеме L1 мы отражаем физические устройства сети с номерами портов: что куда подключено.
L2
На схеме L2 мы указываем наши VLAN’ы
L3
В нашем примере схема третьего уровня получилась довольно бесполезная и не очень наглядная, из-за наличия только одного маршрутизирующего устройства. Но со временем она обрастёт подробностями.
Как видите, информация в документах избыточна. Например, номера VLAN повторяются и на схеме и в плане по портам. Тут как бы кто на что горазд. Как вам удобнее, так и делайте. Такая избыточность затрудняет обновление в случае изменения конфигурации, потому что нужно исправиться сразу в нескольких местах, но с другой стороны, облегчает понимание.
К этой первой статье мы не раз ещё вернёмся в будущем, равно как и вам придётся всегда возвращаться к тому, что вы изначально напланировали.
Собственно задание для тех, кто пока только начинает учиться и готов приложить для этого усилия: много читать про вланы, ip-адресацию, найти программы Packet Tracer и GNS3.
Что касается фундаментальных теоретических знаний, то советуем начать читать Cisco press: раз, два, три (русский язык). Это то, что вам совершенно точно понадобится знать.
В следующей части всё будет уже по-взрослому, с видео, мы будем учиться подключаться к оборудованию, разбираться с интерфейсом и расскажем, что делать нерадивому админу, забывшему пароль.
P.S. Спасибо соавтору статьи — пользователю thegluck.
P.P.S Тем, кто имеет, что спросить, но не имеет возможности свой вопрос здесь задать, милости просим в ЖЖ
С чего начать изучение сетей?
CCNA хоть и рассказывает про реализацию циской, но это один из лучших курсов, которые ставят мозги на место.
Хотя без практики (Packet Tracer?) навыки довольно бесполезны.
Я бы предложил после прохождения курса взять роутер Mikrotik, который достаточно дружелюбен в консоли и стоит относительно недорого и тренироваться.
На хабре была серия статей «сети для самых маленьких»
если нет понимания базовых вещей в общем и в деталях — могу посоветовать Таненбаум Компьютерные сети www.ozon.ru/context/detail/id/1504328
На хабре цикл статей «сети для самых маленьких». Они с видео, куда уж доступнее. Ну или монтажником или на смену в провайдера устроиться.
Привет. Год назад как и ты задавался этим вопросом. Начинать всегда лучше с постановки задачи. Качай Packet Tracer, GNS3, UnetLAB — любую программу для симуляции сетей. Только на практике возможно реальное понимание. Ставишь перед собой конкретную цель: собрать и настроить, например, небольшую офисную сеть. Можешь искать уже готовые проекты и смотреть как их делали, что там настраивали. И постепенно разбираешь все, что тебе не понятно на данном этапе. Тут уже ты изучаешь теорию, но именно ту которая нужна. Если не понятно ничего, то тогда изучай основы: стек протоколов TCP/IP, модель OSI, адресация — многое из этого покажется тебе абстрактным и отдаленным от реальности, но поверь это дает сильное понимание работы сетей.
Как вариант могу предложить свой небольшой развивающийся сайт, посвященный сетевым технологиям. Вот ссылка . Я работаю над ним сравнительно недолго, около трех месяцев. Все статьи пишу сам, стараюсь максимально доступно излагать информацию.
Также есть множество других ресурсов, которые помогут на пути развития. Один из таких это «Сети для самых маленьких» — наверное лучшее из того, что создавалось для начинающих постигать этот путь.
Из личного опыта — для практики OSI избыточна, в рамках стека TCP-IP большинство задач с сетями. Только после обучения у циски, где этот курс натянут поверх уровней OSI, стало понятно — зачем оно вообще. OSI в вакууме бесполезен.
remzalp: это да, но и практика без теории это не правильно. Все нужно изучать параллельно. Естественно сразу не понятно, но потом знания низкоуровнеых протоколов помогают и в работе админа и хакера. )