Изменяю своим привычкам. #Какая разница между MTU и MSS? #Почему нам нужны IP-адреса? Разве нам не хватит MAC-адресации для всего

Это первая статья из серии «Сети для самых маленьких». Мы с Максимом aka Gluck долго думали с чего начать: маршрутизация, VLAN"ы, настройка оборудования. В итоге решили начать с вещи фундаментальной и, можно сказать, самой важной: планирование. Поскольку цикл рассчитан на совсем новичков, то и пройдём весь путь от начала до конца.

Предполагается, что вы, как минимум, читали о эталонной модели OSI, о стеке протоколов TCP/IP, знаете о типах существующих VLAN’ов, о наиболее популярном сейчас port-based VLAN и о IP адресах. Мы понимаем, что для новичков «OSI» и «TCP/IP» — это страшные слова. Но не переживайте, не для того, чтобы запугать вас, мы их используем. Это то, с чем вам придётся встречаться каждый день, поэтому в течение этого цикла мы постараемся раскрыть их смысл и отношение к реальности.

Начнём с постановки задачи. Есть некая фирма, занимающаяся, допустим, производством лифтов, идущих только вверх, и потому называется ООО «Лифт ми ап». Расположены они в старом здании на Арбате, и сгнившие провода, воткнутые в пожжёные и прожжёные коммутаторы времён 10Base-T не ожидают подключения новых серверов по гигабитным карточкам. Итак, у них катастрофическая потребность в сетевой инфраструктуре и денег куры не клюют, что даёт вам возможность безграничного выбора. Это чудесный сон любого инженера. А вы вчера выдержали собеседование, и в сложной борьбе по праву получили должность сетевого администратора. И теперь вы в ней первый и единственный в своём роде. Поздравляем! Что дальше?

Следует несколько конкретизировать ситуацию:

  1. В данный момент у компании есть два офиса: 200 квадратов на Арбате под рабочие места и серверную. Там представлены несколько провайдеров. Другой на Рублёвке.
  2. Есть четыре группы пользователей: бухгалтерия (Б), финансово-экономический отдел (ФЭО), производственно-технический отдел (ПТО), другие пользователи (Д). А так же есть сервера (С), которые вынесены в отдельную группу. Все группы разграничены и не имеют прямого доступа друг к другу.
  3. Пользователи групп С, Б и ФЭО будут только в офисе на Арбате, ПТО и Д будут в обоих офисах.

Прикинув количество пользователей, необходимые интерфейсы, каналы связи, вы готовите схему сети и IP-план.

При проектировании сети следует стараться придерживаться иерархической модели сети, которая имеет много достоинств по сравнению с “плоской сетью”:

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

Согласно этой модели, сеть разбивается на три логических уровня: ядро сети (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 c 4 по 100 зарезервированы для будущих нужд.

IP-план

Выделение подсетей в общем-то произвольное, соответствующее только числу узлов в этой локальной сети с учётом возможного роста. В данном примере все подсети имеют стандартную маску /24 (/24=255.255.255.0) — зачастую такие и используются в локальных сетях, но далеко не всегда. Советуем почитать о классах сетей . В дальнейшем мы обратимся и к бесклассовой адресации (cisco). Мы понимаем, что ссылки на технические статьи в википедии — это моветон, однако они дают хорошее определение, а мы попробуем в свою очередь перенести это на картину реального мира.

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

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 Mail
172.16.0.5 — 172.16.0.254 Зарезервировано
172.16.1.0/24 Управление 2
172.16.1.1 Шлюз
172.16.1.2 msk-arbat-dsw1
172.16.1.3 msk-arbat-asw1
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 Пул для пользователей

План подключения оборудования по портам

Разумеется, сейчас есть коммутаторы с кучей портов 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. Это то, что вам совершенно точно понадобится знать. В следующей части всё будет уже по-взрослому, с видео, мы будем учиться подключаться к оборудованию, разбираться с интерфейсом и расскажем, что делать нерадивому админу, забывшему пароль.




#На каком уровне OSI работает протокол Ч?

Первая вещь, с которой сталкивается любой, кто изучает сети - это модель OSI (Open Systems Interconnection). Это семиуровневая эталонная модель, официально определённая в IOS/IEC 7498-1. Вы встретите её в любой когда либо напечатанной учебной литературе. Это совершенно обычное дело - ссылаться на OSI при обсуждении взаимодействия между протоколами. Так, например, TCP - это протокол четвёртого уровня, и он сидит на шее IP - протоколе третьего уровня.

Но что это значит на самом деле? Кто решает какому уровню принадлежит протокол? Модель OSI была задумана ещё в 70-е годы, как часть семейства протоколов OSI, которая на полном серьёзе позиционировалась как соперник стеку TCP/IP (спойлер: TCP/IP таки выиграл). Если исключить горстку выживших (наверняка, вы слышали про протокол динамической маршрутизации IS-IS), то протоколы OSI сейчас фактически не используются. Однако эталонная модель OSI, описывающая, как они должны были взаимодействовать, живее всех живых. Что, впрочем, заставляет нас привязывать протоколы одного семейства к уровням, определённым для другого.

По большей части всё работает прекрасно: TCP и UDP едут верхом на IP, который в свою очередь передвигается на Ethernet, PPP или чём бы там ни было другом. Но сорокалетняя модель не всегда может удовлетворить нужны современных протоколов. Возьмём для примера MPLS . Часто его относят к уровню 2,5, потому что он работает поверх канального, но ниже сетевого, не осуществляя при этом ни формирования фреймов ни сквозную адресацию (в отличии от IP-адресов, метки MPLS меняются на каждом узле по мере продвижения пакета к точке назначения). Разумеется, добавление нового уровня между двумя другими разрушает стандартную модель.

Строго говоря, ни один протокол из стека TCP/IP не закреплён официально за каким-либо уровнем OSI именно по той причине, что это разные семейства. Яблоки и апельсины. Эталонная модель - это эталон (Прим. переводчика: всё-таки русское название немного не соответствует Reference Model, эталон предполагает свою идеальность и стремление ему соответствовать ). OSI помогает иллюстрировать зависимость одних протоколов от других, и кто кем погоняет, но она не может диктовать, как им функционировать.

Но если вдруг кто-то спросит, отвечайте, что MPLS - это протокол третьего уровня.

#Какая разница между маршрутизатором и многоуровневым коммутатором?

В стародавние времена, маршрутизаторы служили для того чтобы передавать пакеты на основе IP-адресов и предоставляли широкий диапазон интерфейсов: Ethernet, E1, Serial, OC-3 итд. В то же время коммутатор передавал пакеты (кадры, прим. для лиги зануд), основываясь на MAC-адресах, и имели только порты Ethernet.

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

Где лежит граница между маршрутизатором и многоуровневым коммутатором? Существует ли ещё эта граница?
Фактическая разница между ними сводится к следующим нескольким пунктам:

  • Плотность портов. Коммутаторы уровня Enterprise обычно несут на борту 24 или 48 портов. Иногда они могут стекироваться для ещё большего расширения. Основная цель: засунуть настолько много интерфейсов, насколько позволяет передняя панель. Маршрутизатор напротив обычно имеет намного меньше интерфейсов, возможно, разнесённых по разным сменным платам. (Прим. переводчика: если речь идёт о оборудовании операторского класса, то плотность портов на линейных платах маршрутизатора вполне сравнится с коммутаторскими).
  • Скорость. Коммутаторы созданы для того, чтобы молотить трафик. Сейчас даже скромные офисные коммутаторы зачастую предоставляют пропускную способность на скорости линии. Это достигается засчёт того, что обработка трафика происходит на аппаратных чипсетах без участия CPU. (Прим. переводчика: следует и тут заметить, что и маршрутизаторы сейчас преимущественно используют для передачи трафика FPGA и ASIC и в своей пропускной способности не уступают коммутаторам).
  • Интеллект. Ключевое же различие, которое может вынудить вас выбрать маршрутизатор - интеллектуальная начинка. Маршрутизатор предоставляет такие функции, как NAT, DPI, Stateful файрвол, шифрование итд - всё это, как правило, не поддерживается коммутатором.
Как бы то ни было, современный мир зиждется на оборудовании, изготовленном под конкретные нужды. Однако, если заглянуть в завтра с виртуальными эплайнсами, NFV и SDN, мы приходим к тому, что одна и та же коробочка может выполнять совершенно разные роли в зависимости от своего положения в сети.

#Какая разница между forwarding и control planes?

Для новичков это, несомненно, источник путаницы.

Forwarding plane часто называют Data Plane, а по-русски самый удачный вариант - плоскость коммутации. Её задача - доставить пакет из пункта А в пункт Б. Плоскость коммутации коммутирует .

Control plane - плоскость управления - обслуживает функции предписывающие, как должна работать плоскость коммутации. Плоскость управления управляет .

Вот например, у вас есть маршрутизатор с OSPF. Он обменивается маршрутной информацией с соседними маршрутизаторами OSPF, составляет граф всей сети и вычисляет маршруты. Когда таблица маршрутизации (RIB) построена, маршрутизатор инсталлирует лучший маршрут до каждой известной точки назначения в таблицу коммутации (FIB). Это функции control plane.

Когда тот же маршрутизатор получает IP-пакет, он ищет адрес назначения в своей таблице коммутации, чтобы определить интерфейс, в который пакет нужно отправить. Далее пакет передаётся в буфер выходного интерфейса и затем в кабель. Это функции forwarding plane.

Чувствуете различие? Плоскость коммутации отвечает за приём и передачу пакетов, в то время как плоскость управления - за то, как именно принимается решение о передаче пакета.

Плоскость коммутации реализована, как правило, в железе, иными словами выполняется специальными чипсетами (например, Network Processor обращается к TCAM, чтобы быстро извлечь выходной интерфейс из FIB), не требуя обращения к CPU.

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

#Какая разница между MTU и MSS?

Maximum transmission unit (MTU) говорит о максимальном объёме данных, который может нести один пакет. Обычно мы говорим о MTU в отношении Etherner (хотя другие протоколы, конечно, тоже имеют свои MTU). MTU по умолчанию на большинстве платформ - 1500 байтов. Это означает, что узел может передать кадр, несущий 1500 байтов полезной нагрузки. Сюда не включены 14 байтов заголовка Ethernet (18 в случае 802.1q) и 4 байта поля FSC. Итоговый же размер кадра 1518 байтов (1522 в случае 802.1q). Многие узлы сейчас поддерживают джамбофреймы (jumbo), для этого стандартный MTU увеличивается до 9000+ байтов.

Maximum segment size (MSS) - это величина характерная для TCP, которая показывает максимальную полезную TCP нагрузку в пакете, фактически это MTU для TCP. TCP MSS вычисляется, исходя из значения Ethernet MTU (а, может, и не Ethernet) на интерфейсе. Поскольку TCP должен втиснуться в кадр Ethernet, MSS должен быть меньше, чем MTU. В идеале MSS должен быть максимально возможным: MTU-размер заголовка IP-размер заголовка TCP.

Предположим MTU 1500 байтов, вычитаем из него 20 байтов IPv4 адреса и ещё 20 байтов TCP и получаем MSS 1460 байтов. IPv6 с его удлинённым заголовком оставит для MSS всего 1440 байтов.

TCP MSS определяется один раз в ходе установления соединения. Каждый узел включает свой MSS в опции TCP в первый пакет (тот, что с флагом SYN), и оба узла выбирают наименьшее значение из двух как MSS сессии. Однажды установленный MSS уже не меняется в течение жизни сессии.

#Какая разница между интерфейсами VLAN и BVI?

VLAN-интерфейс , известный также как SVI (Switch Virtual Interface) или RVI (Routed VLAN Interface) - это виртуальный интерфейс на многоуровневом коммутаторе. Он обеспечивает маршрутизацию и часто служит шлюзом по умолчанию для локального сегмента сети. VLAN-интерфейс обычно ведёт себя и настраивается как физический интерфейс маршрутизатора: на него можно назначить IP, он участвует в VRRP, может иметь ACL итд. Вы можете представить себе, что это физический интерфейс внутри коммутатора, а можете, наоборот, вообразить, что это маршрутизирующий интерфейс вне коммутатора, на котором терминируется данный VLAN.

Bridge group Virtual Interface (BVI) служит похожим целям, но существует на маршрутизаторе, на котором нет концепции VLAN, потому что всего его порты обычно работают на L3 (Прим. переводчика: на маршрутизаторах концепция VLAN вполне может присутствовать ). Bridge group заставляет два или более портов работать на L2, разделяя между ними широковещательный домен. BVI связывает интерфейсы в Bridge Group и служит виртуальными L3-интерфейсом для всех сегментов, подключенных к нему. Когда маршрутизатор работает одновременно на L2 и L3, его называют Integrated Routing and Bridging (IRB).

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

#Как работает туннельный интерфейс?

Многие люди испытывают трудности с пониманием концепции туннельных интерфейсов (Прим. переводчика: действительно? ). Туннелирование - это просто инкапсуляция одних пакетов внутрь других при передаче их между двумя точками. Туннельный интерфейс используется для достижения такой инкапсуляции для маршрутизируемых VPN, которые позволяют защититься и абстрагироваться от топологии нижележащей сети. Существует много методов инкапсуляции, включающие IPSec, GRE, MPLS итд.

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

#Что означают четыре типа адресов в NAT?

Существует четыре класса IP-адресов в контексте NAT:
  • Inside global
  • Inside local
  • Outside local
  • Outside global
К сожалению, эти термины редко объясняются в документации достаточно понятно.
Каждый из них описывает два атрибута: местоположение (location ) и точка зрения (perspective ).
Местоположение сообщает о каком узле идёт речь. Внутри сети (до NAT) - Inside; во внешней сети (после NAT) - Outside.
Точка зрения сообщает о том, откуда мы смотрим на этот узел. Изнутри нашей сети - Local; из внешней сети - Global.

Возьмём для примера случай, когда вы с компьютера с приватным адресом 192.168.0.10 хотите зайти по telnet на адрес в Интернете 94.142.241.111. Из пула NAT вам выделен IP-адрес 192.0.2.10.
Вот так будет выглядеть таблица трансляций:

R2# show ip nat translations Pro Inside global Inside local Outside local Outside global tcp 192.0.2.10:32978 192.168.0.10:32978 94.142.241.111:23 94.142.241.111:23
Разберёмся?

Inside Global - как внутренний узел выглядит извне. Сервер в Интернете действительно видит адрес из вашего пула NAT.
Inside Local - как внутренний адрес выглядит изнутри - приватный адрес компьютера
Outside Local - как внешний адрес выглядит инзнутри - видим его публичный адрес и порт 23.
Outside Global - тут должно быть то, как выглядит внешний адрес извне, но ваш NAT таких трансляций не умеет, поэтому адрес совпадает с Outside Local.

#Могу ли я использовать адрес сети и широковещательный адрес в NAT-пуле?

Да.

Во-первых, в контексте пула NAT вообще нет понятий маски адрес сети и широковещательный адрес.

Далее прим. переводчика.

Во-вторых адрес сети и широковещательный адрес определяются маской подсети - без неё они теряют смысл. Поэтому считать ли адрес 192.168.0.255 широковещательным адресом, а 192.168.1.0 адресом сети зависит целиком и полностью от маски: для /23 ответ нет, для /24 и более ответ да, а для /32 снова нет.

Поэтому адрес 192.168.0.255 вы можете не только указать в пуле, но даже настроить на интерфейсе с маской /23.

#Почему нам нужны IP-адреса? Разве нам не хватит MAC-адресации для всего?

Когда новичок начинает изучение MAC-адресов, он видит, что они должны быть уникальными глобально. И возникает закономерный вопрос, почему бы не использовать MAC-адреса для сквозной адресации через весь Интернет, не прибегая вообще к IP? Однако существует несколько достаточно весомых причин привлечь IP.

Во-первых, не все сети имеют MAC-адресацию. Вообще такой тип свойственен только семейству 802. Очень легко забыть об этом в мире, где практически всё - Ethernet или его вариации (например IEEE 802.11 WiFi). Но во времена юности Ethernet несколько десятилетий назад буйствовало беззаконие в сфере протоколов: Token Ring, Ethernet, Frame Relay, ATM боролись за место в маршрутизаторе. И обеспечить взаимодействие узлов из Token Ring с узлами из ATM посредством MAC-адресов было проблематично - нужен был протокол сетевого уровня.

Во-вторых, IP-адреса мобильны - они могут назначаться администраторами или даже выдаваться автоматически, в то время, как MAC-адреса вшиты в сетевой адаптер на веки вечные. Технически MAC-адрес, конечно, тоже можно поменять, но это не предполагалось изначально и сейчас нет никаких средств для удобного управления ими.

Но самая главная причина третья - IP масштабируем и может связывать огромные сети, а Ethernet - удел небольших сегментов. Пространство IP-адресов иерархично, MAC-адресов - плоско. 254 узла одной локальной сети могут быть агрегированы в одну подсеть /24. 8 подсетей /24 могут быть агрегированы в одну /21. Это возможно, потому что блоки адресов обычно располагаются рядом в Интернете. Всё, о чём нужно заботиться в этом случае маршрутизатору - как добраться до подсети.

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

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

Гораздо интереснее обратный вопрос: Почему нам нужны MAC-адреса? Разве нам не хватит IP-адресации для всего? Тут всё не так однозначно. Почему бы действительно в современном мире, где скоро название стека можно менять на TCP/IP/Ethernet, не отказаться совсем от адресации на L2 и позволить узлам в сегменте взаимодействовать по IP?

ARP больше не нужен - пакет коммутируется по IP (кстати, уже сейчас существуют коммутаторы, которые действительно могут производить IP Learning вместо MAC Learning). Широковещание доступно так же через адрес 255.255.255.255.

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

Сложность начинается на самом деле при передаче пакета из одной подсети в другую через череду маршрутизаторов. Тут даёт о себе знать широковещательная природа Ethernet. В заголовке IP, адрес назначения фиксирован и не меняется по мере продвижения пакета. Поэтому встаёт вопрос, как правильно переслать пакет между маршрутизаторами. Сейчас как раз для этого используются MAC-адреса Next-Hop. Дело в том, что за Ethernet-интерфейсом маршрутизатора может быть не один соседний маршрутизатор, а два, три, десяток, и здесь придётся добавлять ещё какой-то идентификатор Next-hop.

В реальном мире в 99,9% мы используем P2P линии между маршрутизаторами и тут нет необходимости в добавлении адреса Next-hop в пакет - больше ведь и слать некому - просто отправляем кадр в кабель. Тут можно вспомнить PPP, где хоть формально поле «адрес» и есть, но оно фактически не используется.

Но концепция Ethernet, который изначально планировался только для локальных сегментов с пользовательскими машинами, не предусматривает сценарий P2P отдельно.

В итоге адресацию с уровня Ethernet мы не можем убрать. Однако тут до сих пор остаётся вопрос - зачем MAC-адреса, ведь в заголовке Ethernet мы могли бы указывать IP-адрес Next-Hop, который менялся бы также на каждом узле.

В целом это верно, но такой подход ломает идеологию стека протоколов, предполагающую независимость уровней друг от друга. Сейчас, например, легко можно выкинуть Ethernet и вместо него использовать xDSL или PON или, прости Лейбниц, Frame Relay - сложности лишь административные и финансовые. Также, поверх Ethernet технически вы можете пустить собственный сетевой протокол IPЧ - и это всё будет работать с минимальными изменениями (добавить новый Ethertype).

Замечу, что этот вопрос нельзя обсуждать в отрыве от исторического и административного контекста. Даже если мы возьмём на себя смелость предположить, что мы нашли идеальное сочетание идеальных протоколов IP+Ethernet, и ближайшие 300 лет нам не грозят глобальные изменения, нужно помнить, что 20 лет назад мир был другим, как мы уже говорили выше, и Ethernet был лишь одним из. Мы не могли так жёстко связывать сетевой и канальный уровни. А теперь сети, которые уже работают, и нам для этого как правило не нужно прилагать титанических усилий, никто не будет переделывать просто потому, что кажется избыточным одновременное использование IP и MAC-адресации.

Кстати, возможно, вы будете несколько удивлены, но часть описанных идей войдут в нашу с вами жизнь в лице IPv6 с его концепцией Link-Local адресов.

#Позволяет ли QoS расширить пропускную способность?

Среди новичков иногда существует заблуждение, что QoS - это волшебная технология, позволяющая пропихнуть через линию больше пакетов, чем она может. Это не так. К примеру, если ваш интернет-канал ограничен 10Мб/с, вы никогда не сможете отправить в него больше. Задача QoS - отдавать предпочтения одним типам трафика над другими. Таким образом во время перегрузки на линии (при попытке отправить больше 10 Мб/с) менее важный трафик будет отброшен в пользу свободной передачи более приоритетного.

Обычно QoS применяется для того, чтобы защитить трафик реального времени, такой как голос или видеоконференции от трафика, терпимого к задержкам и потерям - WEB, почта, FTP, Torrent итд. Кроме того QoS поможет избежать оккупирования всей полосы передачей большого объёма трафика, типа резервного копирования серверов.

Рассмотрим ситуацию, когда у вас есть офис, подключенный через два канала E1 с общей пропускной способностью 4Мб/с. По этой линии передаётся и голос и данные. Чтобы во время перегрузки голосовой трафик не испытывал деградацию, с помощью QoS можно выделить гарантированную полосу для него. Оставшаяся часть будет доступна для данных. Однако если после этого трафик с данными заметно ухудшится, то QoS уже не поможет - в этом случае придётся расширять канал.

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

Вы можете помочь и перевести немного средств на развитие сайта


  • Tutorial

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


Немного оффтопа: Приблизительно месяц назад сдал экзамен CCNA (на 980/1000 баллов) и осталось много материала за год моей подготовки и обучения. Учился я сначала в академии Cisco около 7 месяцев, а оставшееся время вел конспекты по всем темам, которые были мною изучены. Также консультировал многих ребят в области сетевых технологий и заметил, что многие наступают на одни и те же грабли, в виде пробелов по каким-то ключевым темам. На днях пару ребят попросили меня объяснить, что такое сети и как с ними работать. В связи с этим решил максимально подробно и простым языком описать самые ключевые и важные вещи. Статьи будут полезны новичкам, которые только встали на путь изучения. Но, возможно, и бывалые сисадмины подчеркнут из этого что-то полезное. Так как я буду идти по программе CCNA, это будет очень полезно тем людям, которые готовятся к сдаче. Можете держать статьи в виде шпаргалок и периодически их просматривать. Я во время обучения делал конспекты по книгам и периодически читал их, чтобы освежать знания.

Вообще хочу дать всем начинающим совет. Моей первой серьезной книгой, была книга Олиферов «Компьютерные сети». И мне было очень тяжело читать ее. Не скажу, что все было тяжело. Но моменты, где детально разбиралось, как работает MPLS или Ethernet операторского класса, вводило в ступор. Я читал одну главу по несколько часов и все равно многое оставалось загадкой. Если вы понимаете, что какие то термины никак не хотят лезть в голову, пропустите их и читайте дальше, но ни в коем случае не отбрасывайте книгу полностью. Это не роман или эпос, где важно читать по главам, чтобы понять сюжет. Пройдет время и то, что раньше было непонятным, в итоге станет ясно. Здесь прокачивается «книжный скилл». Каждая следующая книга, читается легче предыдущей книги. К примеру, после прочтения Олиферов «Компьютерные сети», читать Таненбаума «Компьютерные сети» легче в несколько раз и наоборот. Потому что новых понятий встречается меньше. Поэтому мой совет: не бойтесь читать книги. Ваши усилия в будущем принесут плоды. Заканчиваю разглагольствование и приступаю к написанию статьи.

Вот сами темы

1) Основные сетевые термины, сетевая модель OSI и стек протоколов TCP/IP.
2)
3)
4)
5)
6)
7)
8)
9) Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP.
10) Трансляция сетевых адресов: NAT и PAT.
11) Протоколы резервирования первого перехода: FHRP.
12) Безопасность компьютерных сетей и виртуальные частные сети: VPN.
13) Глобальные сети и используемые протоколы: PPP, HDLC, Frame Relay.
14) Введение в IPv6, конфигурация и маршрутизация.
15) Сетевое управление и мониторинг сети.

P.S. Возможно, со временем список дополнится.


Итак, начнем с основных сетевых терминов.

Что такое сеть? Это совокупность устройств и систем, которые подключены друг к другу (логически или физически) и общающихся между собой. Сюда можно отнести сервера, компьютеры, телефоны, маршрутизаторы и так далее. Размер этой сети может достигать размера Интернета, а может состоять всего из двух устройств, соединенных между собой кабелем. Чтобы не было каши, разделим компоненты сети на группы:

1) Оконечные узлы: Устройства, которые передают и/или принимают какие-либо данные. Это могут быть компьютеры, телефоны, сервера, какие-то терминалы или тонкие клиенты, телевизоры.

2) Промежуточные устройства: Это устройства, которые соединяют оконечные узлы между собой. Сюда можно отнести коммутаторы, концентраторы, модемы, маршрутизаторы, точки доступа Wi-Fi.

3) Сетевые среды: Это те среды, в которых происходит непосредственная передача данных. Сюда относятся кабели, сетевые карточки, различного рода коннекторы, воздушная среда передачи. Если это медный кабель, то передача данных осуществляется при помощи электрических сигналов. У оптоволоконных кабелей, при помощи световых импульсов. Ну и у беспроводных устройств, при помощи радиоволн.

Посмотрим все это на картинке:

На данный момент надо просто понимать отличие. Детальные отличия будут разобраны позже.

Теперь, на мой взгляд, главный вопрос: Для чего мы используем сети? Ответов на этот вопрос много, но я освещу самые популярные, которые используются в повседневной жизни:

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

2) Сетевые ресурсы: Это сетевые принтеры, которыми, к примеру, пользуются в офисе или сетевые камеры, которые просматривает охрана, находясь в удаленной местности.

3) Хранилище: Используя сервер или рабочую станцию, подключенную к сети, создается хранилище доступное для других. Многие люди выкладывают туда свои файлы, видео, картинки и открывают общий доступ к ним для других пользователей. Пример, который на ходу приходит в голову, - это google диск, яндекс диск и тому подобные сервисы.

4) Резервное копирование: Часто, в крупных компаниях, используют центральный сервер, куда все компьютеры копируют важные файлы для резервной копии. Это нужно для последующего восстановления данных, если оригинал удалился или повредился. Методов копирования огромное количество: с предварительным сжатием, кодированием и так далее.

5) VoIP: Телефония, работающая по протоколу IP. Применяется она сейчас повсеместно, так как проще, дешевле традиционной телефонии и с каждым годом вытесняет ее.

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

1) Загрузчики. Это файловые менеджеры, работающие по протоколу FTP, TFTP. Банальный пример - это скачивание фильма, музыки, картинок с файлообменников или иных источников. К этой категории еще можно отнести резервное копирование, которое автоматически делает сервер каждую ночь. То есть это встроенные или сторонние программы и утилиты, которые выполняют копирование и скачивание. Данный вид приложений не требует прямого человеческого вмешательства. Достаточно указать место, куда сохранить и скачивание само начнется и закончится.

Скорость скачивания зависит от пропускной способности. Для данного типа приложений это не совсем критично. Если, например, файл будет скачиваться не минуту, а 10, то тут только вопрос времени, и на целостности файла это никак не скажется. Сложности могут возникнуть только когда нам надо за пару часов сделать резервную копию системы, а из-за плохого канала и, соответственно, низкой пропускной способности, это занимает несколько дней. Ниже приведены описания самых популярных протоколов данной группы:

FTP- это стандартный протокол передачи данных с установлением соединения. Работает по протоколу TCP (этот протокол в дальнейшем будет подробно рассмотрен). Стандартный номер порта 21. Чаще всего используется для загрузки сайта на веб-хостинг и выгрузки его. Самым популярным приложением, работающим по этому протоколу - это Filezilla. Вот так выглядит само приложение:


TFTP- это упрощенная версия протокола FTP, которая работает без установления соединения, по протоколу UDP. Применяется для загрузки образа бездисковыми рабочими станциями. Особенно широко используется устройствами Cisco для той же загрузки образа и резервных копий.

Интерактивные приложения. Приложения, позволяющие осуществить интерактивный обмен. Например, модель «человек-человек». Когда два человека, при помощи интерактивных приложений, общаются между собой или ведут общую работу. Сюда относится: ICQ, электронная почта, форум, на котором несколько экспертов помогают людям в решении вопросов. Или модель «человек-машина». Когда человек общается непосредственно с компьютером. Это может быть удаленная настройка базы, конфигурация сетевого устройства. Здесь, в отличие от загрузчиков, важно постоянное вмешательство человека. То есть, как минимум, один человек выступает инициатором. Пропускная способность уже более чувствительна к задержкам, чем приложения-загрузчики. Например, при удаленной конфигурации сетевого устройства, будет тяжело его настраивать, если отклик от команды будет в 30 секунд.

Приложения в реальном времени. Приложения, позволяющие передавать информацию в реальном времени. Как раз к этой группе относится IP-телефония, системы потокового вещания, видеоконференции. Самые чувствительные к задержкам и пропускной способности приложения. Представьте, что вы разговариваете по телефону и то, что вы говорите, собеседник услышит через 2 секунды и наоборот, вы от собеседника с таким же интервалом. Такое общение еще и приведет к тому, что голоса будут пропадать и разговор будет трудноразличимым, а в видеоконференция превратится в кашу. В среднем, задержка не должна превышать 300 мс. К данной категории можно отнести Skype, Lync, Viber (когда совершаем звонок).

Теперь поговорим о такой важной вещи, как топология. Она делится на 2 большие категории: физическая и логическая . Очень важно понимать их разницу. Итак, физическая топология - это как наша сеть выглядит. Где находятся узлы, какие сетевые промежуточные устройства используются и где они стоят, какие сетевые кабели используются, как они протянуты и в какой порт воткнуты. Логическая топология - это каким путем будут идти пакеты в нашей физической топологии. То есть физическая - это как мы расположили устройства, а логическая - это через какие устройства будут проходить пакеты.

Теперь посмотрим и разберем виды топологии:

1) Топология с общей шиной (англ. Bus Topology)


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

2) Кольцевая топология (англ. Ring Topology)


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

3) Топология звезда (англ. Star Topology)


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

4)Полносвязная топология (англ. Full-Mesh Topology)


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

5)Неполносвязная топология (англ. Partial-Mesh Topology)


Как правило, вариантов ее несколько. Она похожа по строению на полносвязную топологию. Однако соединение построено не с каждого на каждый, а через дополнительные узлы. То есть узел A, связан напрямую только с узлом B, а узел B связан и с узлом A, и с узлом C. Так вот, чтобы узлу A отправить сообщение узлу C, ему надо отправить сначала узлу B, а узел B в свою очередь отправит это сообщение узлу C. В принципе по этой топологии работают маршрутизаторы. Приведу пример из домашней сети. Когда вы из дома выходите в Интернет, у вас нет прямого кабеля до всех узлов, и вы отправляете данные своему провайдеру, а он уже знает куда эти данные нужно отправить.

6) Смешанная топология (англ. Hybrid Topology)


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

И последнее, что осталось разобрать - это сетевые модели. На этапе зарождения компьютеров, у сетей не было единых стандартов. Каждый вендор использовал свои проприетарные решения, которые не работали с технологиями других вендоров. Конечно, оставлять так было нельзя и нужно было придумывать общее решение. Эту задачу взвалила на себя международная организация по стандартизации (ISO - International Organization for Standartization). Они изучали многие, применяемые на то время, модели и в результате придумали модель OSI , релиз которой состоялся в 1984 году. Проблема ее была только в том, что ее разрабатывали около 7 лет. Пока специалисты спорили, как ее лучше сделать, другие модели модернизировались и набирали обороты. В настоящее время модель OSI не используют. Она применяется только в качестве обучения сетям. Мое личное мнение, что модель OSI должен знать каждый уважающий себя админ как таблицу умножения. Хоть ее и не применяют в том виде, в каком она есть, принципы работы у всех моделей схожи с ней.

Состоит она из 7 уровней и каждый уровень выполняет определенную ему роль и задачи. Разберем, что делает каждый уровень снизу вверх:

1) Физический уровень (Physical Layer): определяет метод передачи данных, какая среда используется (передача электрических сигналов, световых импульсов или радиоэфир), уровень напряжения, метод кодирования двоичных сигналов.

2) Канальный уровень (Data Link Layer): он берет на себя задачу адресации в пределах локальной сети, обнаруживает ошибки, проверяет целостность данных. Если слышали про MAC-адреса и протокол «Ethernet», то они располагаются на этом уровне.

3) Сетевой уровень (Network Layer): этот уровень берет на себя объединения участков сети и выбор оптимального пути (т.е. маршрутизация). Каждое сетевое устройство должно иметь уникальный сетевой адрес в сети. Думаю, многие слышали про протоколы IPv4 и IPv6. Эти протоколы работают на данном уровне.

4) Транспортный уровень (Transport Layer): Этот уровень берет на себя функцию транспорта. К примеру, когда вы скачиваете файл с Интернета, файл в виде сегментов отправляется на Ваш компьютер. Также здесь вводятся понятия портов, которые нужны для указания назначения к конкретной службе. На этом уровне работают протоколы TCP (с установлением соединения) и UDP (без установления соединения).

5) Сеансовый уровень (Session Layer): Роль этого уровня в установлении, управлении и разрыве соединения между двумя хостами. К примеру, когда открываете страницу на веб-сервере, то Вы не единственный посетитель на нем. И вот для того, чтобы поддерживать сеансы со всеми пользователями, нужен сеансовый уровень.

6) Уровень представления (Presentation Layer): Он структурирует информацию в читабельный вид для прикладного уровня. Например, многие компьютеры используют таблицу кодировки ASCII для вывода текстовой информации или формат jpeg для вывода графического изображения.

7) Прикладной уровень (Application Layer): Наверное, это самый понятный для всех уровень. Как раз на этом уроне работают привычные для нас приложения - e-mail, браузеры по протоколу HTTP, FTP и остальное.

Самое главное помнить, что нельзя перескакивать с уровня на уровень (Например, с прикладного на канальный, или с физического на транспортный). Весь путь должен проходить строго с верхнего на нижний и с нижнего на верхний. Такие процессы получили название инкапсуляция (с верхнего на нижний) и деинкапсуляция (с нижнего на верхний). Также стоит упомянуть, что на каждом уровне передаваемая информация называется по-разному.

На прикладном, представления и сеансовым уровнях, передаваемая информация обозначается как PDU (Protocol Data Units). На русском еще называют блоки данных, хотя в моем круге их называют просто данные).

Информацию транспортного уровня называют сегментами. Хотя понятие сегменты, применимо только для протокола TCP. Для протокола UDP используется понятие - датаграмма. Но, как правило, на это различие закрывают глаза.
На сетевом уровне называют IP пакеты или просто пакеты.

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

1) Представим ситуацию, что вы сидите у себя дома за компьютером, а в соседней комнате у вас свой локальный веб-сервер. И вот вам понадобилось скачать файл с него. Вы набираете адрес страницы вашего сайта. Сейчас вы используете протокол HTTP, которые работает на прикладном уровне. Данные упаковываются и спускаются на уровень ниже.

2) Полученные данные прибегают на уровень представления. Здесь эти данные структурируются и приводятся в формат, который сможет быть прочитан на сервере. Запаковывается и спускается ниже.

3) На этом уровне создается сессия между компьютером и сервером.

4) Так как это веб сервер и требуется надежное установление соединения и контроль за принятыми данными, используется протокол TCP. Здесь мы указываем порт, на который будем стучаться и порт источника, чтобы сервер знал, куда отправлять ответ. Это нужно для того, чтобы сервер понял, что мы хотим попасть на веб-сервер (стандартно - это 80 порт), а не на почтовый сервер. Упаковываем и спускаем дальше.

5) Здесь мы должны указать, на какой адрес отправлять пакет. Соответственно, указываем адрес назначения (пусть адрес сервера будет 192.168.1.2) и адрес источника (адрес компьютера 192.168.1.1). Заворачиваем и спускаем дальше.

6) IP пакет спускается вниз и тут вступает в работу канальный уровень. Он добавляет физические адреса источника и назначения, о которых подробно будет расписано в последующей статье. Так как у нас компьютер и сервер в локальной среде, то адресом источника будет являться MAC-адрес компьютера, а адресом назначения MAC-адрес сервера (если бы компьютер и сервер находились в разных сетях, то адресация работала по-другому). Если на верхних уровнях каждый раз добавлялся заголовок, то здесь еще добавляется концевик, который указывает на конец кадра и готовность всех собранных данных к отправке.

7) И уже физический уровень конвертирует полученное в биты и при помощи электрических сигналов (если это витая пара), отправляет на сервер.

Процесс деинкапсуляции аналогичен, но с обратной последовательностью:

1) На физическом уровне принимаются электрические сигналы и конвертируются в понятную битовую последовательность для канального уровня.

2) На канальном уровне проверяется MAC-адрес назначения (ему ли это адресовано). Если да, то проверяется кадр на целостность и отсутствие ошибок, если все прекрасно и данные целы, он передает их вышестоящему уровню.

3) На сетевом уровне проверяется IP адрес назначения. И если он верен, данные поднимаются выше. Не стоит сейчас вдаваться в подробности, почему у нас адресация на канальном и сетевом уровне. Это тема требует особого внимания, и я подробно объясню их различие позже. Главное сейчас понять, как данные упаковываются и распаковываются.

4) На транспортном уровне проверяется порт назначения (не адрес). И по номеру порта, выясняется какому приложению или сервису адресованы данные. У нас это веб-сервер и номер порта - 80.

5) На этом уровне происходит установление сеанса между компьютером и сервером.

6) Уровень представления видит, как все должно быть структурировано и приводит информацию в читабельный вид.

7) И на этом уровне приложения или сервисы понимают, что надо выполнить.

Много было написано про модель OSI. Хотя я постарался быть максимально краток и осветить самое важное. На самом деле про эту модель в Интернете и в книгах написано очень много и подробно, но для новичков и готовящихся к CCNA, этого достаточно. Из вопросов на экзамене по данной модели может быть 2 вопроса. Это правильно расположить уровни и на каком уровне работает определенный протокол.

Как было написано выше, модель OSI в наше время не используется. Пока разрабатывалась эта модель, все большую популярность получал стек протоколов TCP/IP. Он был значительно проще и завоевал быструю популярность.
Вот так этот стек выглядит:


Как видно, он отличается от OSI и даже сменил название некоторых уровней. По сути, принцип у него тот же, что и у OSI. Но только три верхних уровня OSI: прикладной, представления и сеансовый объединены у TCP/IP в один, под названием прикладной. Сетевой уровень сменил название и называется - Интернет. Транспортный остался таким же и с тем же названием. А два нижних уровня OSI: канальный и физический объединены у TCP/IP в один с названием - уровень сетевого доступа. Стек TCP/IP в некоторых источниках обозначают еще как модель DoD (Department of Defence). Как говорит википедия, была разработана Министерством обороны США. Этот вопрос встретился мне на экзамене и до этого я про нее ничего не слышал. Соответственно вопрос: «Как называется сетевой уровень в модели DoD?», ввел меня в ступор. Поэтому знать это полезно.

Было еще несколько сетевых моделей, которые, какое то время держались. Это был стек протоколов IPX/SPX. Использовался с середины 80-х годов и продержался до конца 90-х, где его вытеснила TCP/IP. Был реализован компанией Novell и являлся модернизированной версией стека протоколов Xerox Network Services компании Xerox. Использовался в локальных сетях долгое время. Впервые IPX/SPX я увидел в игре «Казаки». При выборе сетевой игры, там предлагалось несколько стеков на выбор. И хоть выпуск этой игры был, где то в 2001 году, это говорило о том, что IPX/SPX еще встречался в локальных сетях.

Еще один стек, который стоит упомянуть - это AppleTalk. Как ясно из названия, был придуман компанией Apple. Создан был в том же году, в котором состоялся релиз модели OSI, то есть в 1984 году. Продержался он совсем недолго и Apple решила использовать вместо него TCP/IP.

Также хочу подчеркнуть одну важную вещь. Token Ring и FDDI - не сетевые модели! Token Ring - это протокол канального уровня, а FDDI это стандарт передачи данных, который как раз основывается на протоколе Token Ring. Это не самая важная информация, так как эти понятия сейчас не встретишь. Но главное помнить о том, что это не сетевые модели.

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

  • топология сети
  • Добавить метки

    (). Мы понимаем, что для новичков «OSI» и «TCP/IP» - это страшные слова. Но не переживайте, не для того, чтобы запугать вас, мы их используем. Это то, с чем вам придётся встречаться каждый день, поэтому в течение этого цикла мы постараемся раскрыть их смысл и отношение к реальности.

    Начнём с постановки задачи. Есть некая фирма, занимающаяся, допустим, производством лифтов, идущих только вверх, и потому называется ООО «Лифт ми ап». Расположены они в старом здании на Арбате, и сгнившие провода, воткнутые в пожжёные и прожжёные коммутаторы времён 10Base-T не ожидают подключения новых серверов по гигабитным карточкам. Итак, у них катастрофическая потребность в сетевой инфраструктуре и денег куры не клюют, что даёт вам возможность безграничного выбора. Это чудесный сон любого инженера. А вы вчера выдержали собеседование, и в сложной борьбе по праву получили должность сетевого администратора. И теперь вы в ней первый и единственный в своём роде. Поздравляем! Что дальше?

    Следует несколько конкретизировать ситуацию:

    1. В данный момент у компании есть два офиса: 200 квадратов на Арбате под рабочие места и серверную. Там представлены несколько провайдеров. Другой на Рублёвке.
    2. Есть четыре группы пользователей: бухгалтерия (Б), финансово-экономический отдел (ФЭО), производственно-технический отдел (ПТО), другие пользователи (Д). А так же есть сервера ©, которые вынесены в отдельную группу. Все группы разграничены и не имеют прямого доступа друг к другу.
    3. Пользователи групп С, Б и ФЭО будут только в офисе на Арбате, ПТО и Д будут в обоих офисах.
    Прикинув количество пользователей, необходимые интерфейсы, каналы связи, вы готовите схему сети и IP-план.

    При проектировании сети следует стараться придерживаться иерархической модели сети , которая имеет много достоинств по сравнению с “плоской сетью”:

    • упрощается понимание организации сети
    • модель подразумевает модульность, что означает простоту наращивания мощностей именно там, где необходимо
    • легче найти и изолировать проблему
    • повышенная отказоустойчивость за счет дублирования устройств и/или соединений
    • распределение функций по обеспечению работоспособности сети по различным устройствам.
    Согласно этой модели, сеть разбивается на три логических уровня: ядро сети (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 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 Mail
    172.16.0.5 - 172.16.0.254 Зарезервировано
    172.16.1.0/24 Управление 2
    172.16.1.1 Шлюз
    172.16.1.2 msk-arbat-dsw1
    172.16.1.3 msk-arbat-asw1
    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. Спасибо соавтору статьи - Максиму aka gluck.
    P.P.S Тем, кто имеет, что спросить, но не имеет возможности свой вопрос здесь задать, милости просим в

    На основании этих данных можно составить все три схемы сети на этом этапе. Для этого можно воспользоваться Microsoft Visio, каким-либо бесплатным приложением, но с привязкой к своему формату, или редакторами графики (можно и от руки, но это будет сложно держать в актуальном состоянии:)).

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

    L1

    То есть на схеме L1 мы отражаем физические устройства сети с номерами портов: что куда подключено.

    L2

    На схеме L2 мы указываем наши VLAN’ы

    L3

    В нашем примере схема третьего уровня получилась довольно бесполезная и ненаглядная, из-за наличия только одного маршрутизирующего устройства. Но со временем она обрастёт подробностями.

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

    К этой первой статье мы не раз ещё вернёмся в будущем, равно как и вам придётся всегда возвращаться к тому, что вы изначально напланировали.
    Собственно задание для тех, кто пока только начинает учиться и готов приложить для этого усилия: много читать про вланы, найти программы Packet Tracer и GNS3.
    В следующей части мы будем учиться подключаться к оборудованию, разбираться с интерфейсом и расскажем, что делать нерадивому админу, забывшему пароль.



    
    Top