Найти тему

Наводим порядок в голове: маршрутизация, L3, GW...

Оглавление

Приветствую, уважаемые! Вы на моем канале про сетевые технологии, роутеры, MikroTik, Cisco и пр., где я пытаюсь простым языком объяснять как это все работает. Кто читал всякие книги по теме - знает, что спать хочется уже на второй-третьей странице. Я пытаюсь сократить бОльшую часть технически неважной информации, оставив только самую суть, фактически, объяснить на пальцах. Поехали!

В статистике просмотров я вижу, что предыдущая статья Наводим порядок в голове: L2, switch, DHCP, VLAN, trunk... набирает много просмотров. Очень надеюсь, что кому-то она действительно поможет классифицировать информацию и уложить все по нужным полочкам, не смешивая в одну кучу.

L3

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

Итак, первое что происходит в сети, когда вы подключаете к ней нового клиента - это получение ip-адреса. Новый клиент, оказавшись в новой сети, рассылает широковещательный запрос, который видят абсолютно все клиенты данной сети, в котором он сообщает, что готов работать, но ему нужен адрес. Все клиенты, кроме сервера DHCP игнорируют это сообщение. А когда этот запрос попадает на DHCP-сервер, где сервер проверяет наличие у себя свободных адресов и присваивает новому клиенту следующий свободный. В своей таблице сервер делает новую запись, что клиенту с МАК-ом таким-то выдан адрес такой-то. Клиент получает от сервера новый пакет данных, где указано, что он может работать под таким-то ip-адресом, с определенной маской сети, шлюзом по умолчанию и некоторые другие данные, которые указаны на DHCP-сервере, например, DNSы или другие опции для ip-телефонов.

-2

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

  • 192.168.0.11 - ip-адрес, который мы хотим выставить;
  • 255.255.255.0 - маска сети, которая говорит нам, что меняться может только последний октет и данная сеть начинается с 192.168.0.1 до 192.168.0.254;
  • 192.168.0.1 - шлюз/default gateway, это адрес машрутизатора, который знает о наличии других сетей и может через себя пропускать клиентов этой сети в другие;
  • 192.168.0.0 - номер сети, которым можно обозначить весь диапазон данной сети, т.е. 192.168.0.0/24 - это идентификатор данной сети;
  • 192.168.0.255 - это бродкастовый адрес данной сети, на этот адрес клиенты данной сети могут бросать сообщение, которое дойдет всем клиентам этой сети, например, так работает определение некоторых камер или служба "Сетевое окружение" в Windows.

Чего нехватает в текущих данных, чтобы "интернетик заработал"? Ага, ДНСов, которые можно вбить абсолютно любые, например, 8.8.8.8 (гугл).

-3

Маршрутизация

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

-4

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

  1. браузер через Операционную Систему (ОС) должен отослать пакет к ДНСам о том, по какому адресу находится такой-то сайт;
  2. ОС видит в таблице маршрутизации, что адрес ДНС 8.8.8.8 находится вне сети, в которой работает данный компьютер и отсылает его на дефолтный шлюз 192.168.0.1;
  3. шлюз обрабатывает данный пакет, запоминает ip-источника и подменяет его своим внешним адресом, отдает данный пакет наружу;
  4. когда обработанный ДНСом пакет возвращается на внешний адрес маршрутизатора, тот его опять меняет и вместо своего адреса назначения, ставит адрес компьютера-источника запроса;
  5. на интерфейс компьютера приходит пакет от маршрутизатора, где указан цифровой адрес, запрошенной странички;
  6. ну и после начинается загрузка данной странички с повторяющимися пунктами 1-5 только вместо ДНС там уже будут запросы к нужной вам страничке в интернет.

Gateway

Если еще больше сократить данную схему, то ваш компьютер не знает ничего, кроме шлюза по умолчанию (GW), на который и будет отсылать все-все-все свои запросы. Любому внутреннему клиенту не сильно важно сколько там роутеров или других свитчей будет задействовано в процессе его работы - он знает только 1 адрес маршрутизатора, который является для него основным шлюзом. Так работают все сетевые устройства.

Для примера, давайте теперь рассмотрим данную ситуацию со стороны маршрутизатора:

  1. у нас есть две подсети: одна внутренняя, другая внешняя, которую дает нам провайдер;
  2. на внутренний интерфейс приходит запрос от клиента 192.168.0.11 к адресу 8.8.8.8;
  3. меняем заголовок пакета, не трогая содержимое самого пакета с данными, подставляя в качестве источника запроса свой внешний адрес и отправляем его наружу;
  4. данный пакетик приходит к провайдеру, где тот его перенаправляет на внешнюю линию (в сеть интернет) как есть, если у нас уже внешний адрес на нашем маршрутизаторе или меняет заголовок, подставляя свой адрес, если серый адрес;
  5. таких "хопов" (шагов) будет еще много, вы их сами можете понаблюдать, если ввести в командной строке "tracert 8.8.8.8" в windows или "traceroute 8.8.8.8" в nix-системах;
  6. в итоге, когда пакет с запрошенными данными возвратится на внешний адрес нашего маршрутизатора - он его переделает на адрес внутреннего клиента и отправит на внутренний интерфейс.
-5

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

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

Включаем защиту от DDoS на MikroTik

Домашний VPN сервер на роутере

Универсальный способ что-либо заблокировать в организации (MikroTik)

Два провайдера на микротике

Защищаем MikroTik от внешних атак

Смена локальной подсети в удаленном офисе MikroTik (лайфхак)

Для совсем начинающих и путающих некоторые понятия специалистов этой статьи будет пока достаточно, чтобы не запутать человека больше. Со временем по вашим комментариям я определю и дальнейшие пути как попроще объяснить далее все процессы, которые происходят в сети на L3 уровне. Иногда придется опускаться на более низкие уровни или, наоборот, как в случае с блокировками разных сайтов, подниматься на верхние уровни. Надеюсь, нам всем будет это интересно: вам познавать, мне рассказывать. А своих более опытных коллег я, по возможности, прошу подсказывать на неточности или просить развернуть тему. Критика приветствуется.

-6

Ну, все, теперь точно, как обычно - лайк, если все норм, подписка, если интересно и коммент о смысле бытия и тленности мира! Удачи, не болейте!