Приветствую, коллеги! Меня зовут @ProstoKirReal. Мне бы хотелось с вами обсудить как работает интернет от кабелей на витой паре, соединяющие простые локальные сети до подводных коммуникационных кабелей соединяющие между собой континенты и основные операторские сети.
Поскольку в одной статье невозможно охватить всю тему целиком, я разделю подготовленный материал на несколько частей. Сегодня мы начнем с базовых понятий.
Важно понимать, что разобраться во всех аспектах этой темы сложно, так как существуют узкие специализации и знания, недоступные обычному сетевому инженеру. Я не буду углубляться в историю интернета или рассказывать о классах IP-адресов и других устаревших концепциях. Вместо этого я сосредоточусь на том, как работает интернет в настоящее время.
В этом цикле статей я не стану учить вас настраивать оборудование и проектировать сети. Я расскажу об основных (и не только) принципах построения сети, а также о функционировании сети и сетевых протоколов в стеке TCP/IP.
Я буду часто ссылаться к предыдущим статьям, где уже описывал сетевые протоколы. Это позволит мне сократить объемный текст.
❯ Зачем нужна эта статья?
Данная статья нужна нам для того, чтобы разобраться в базовых знаниях и разобрать:
- что такое коммутатор, маршрутизатор, их основные различия и зачем они нужны;
- примеры работы простых сетей, с помощью сетевых концентраторов (хабов) и коммутаторов.
❯ Что такое коммутатор, маршрутизатор?
Когда мы задаем вопрос в поисковике: «Чем отличается коммутатор от маршрутизатора?», то один из самых распространенных ответов, который можно найти в интернете (например, на Mail.ru), звучит так:
в функционале. маршрутизатор - маршрутизирует, коммутатор - коммутирует. все просто:)))
Это, пожалуй, самый краткий и ёмкий ответ на данный вопрос.
Однако если подойти к вопросу серьезно, необходимо разобраться в понятиях коммутации и маршрутизации.
Коммутация — это процесс перенаправления данных (кадров) в пределах одной сети, основанный на анализе адреса назначения. Она работает на канальном уровне модели OSI (L2), используя MAC-адреса устройств.
Маршрутизация — это процесс определения пути для передачи данных между разными сетями. Работает на сетевом уровне модели OSI (L3), используя IP-адреса.
Коммутаторы (switch) и маршрутизаторы (router) — это два ключевых устройства в сетевых инфраструктурах, которые выполняют разные, хотя и пересекающиеся, задачи. Разберемся в их функциях, особенностях и причинах появления, а также рассмотрим современные реалии, в которых их функциональность все больше пересекается.
Зачем появились маршрутизаторы
Исторически маршрутизаторы появились для соединения сетей с разными технологиями передачи данных. В начале эры сетей существовало множество локальных сетей (LAN) с различными стандартами: Ethernet, Token Ring, модемные пулы и другие. Эти сети были физически и логически разобщены, поскольку каждая из них использовала свои протоколы адресации и методы передачи данных.
Для решения этой проблемы была введена абстракция в виде IP-адреса — универсального протокола, не привязанного к физическому носителю. Маршрутизаторы стали устройствами, способными связывать сети с разными технологиями передачи данных, обеспечивая маршрутизацию на основе IP-адресов.
Основные функции
-
Коммутаторы:
работают преимущественно на уровне 2 модели OSI (канальный уровень);
создают таблицы MAC-адресов, которые определяют, через какой физический порт отправлять трафик;
обеспечивают коммуникацию внутри одной локальной сети (LAN).
-
Маршрутизаторы:
работают на уровне 3 модели OSI (сетевой уровень);
используют таблицы маршрутизации для определения оптимального пути передачи данных;
обеспечивают связь между разными сетями, в том числе с разными технологиями (Ethernet, Frame Relay, ATM, DSL);
используют протоколы маршрутизации, такие как OSPF, BGP, IS-IS.
Совместная работа коммутаторов и маршрутизаторов
Коммутаторы обеспечивают быстрый обмен данными внутри сети.
Маршрутизаторы соединяют локальную сеть с другими сетями, например, с интернетом, обеспечивая связь с серверами.
❯ Современные тенденции
Раньше этих различий хватало для определения работы коммутатора и маршрутизатора, но в современных устройствах все эти функции часто объединяются в L3-коммутаторах, которые совмещают преимущества обоих типов устройств.
На данный момент различия между ними размыто, так как коммутаторы L3 и L3+ (Multiplayer switch) могут выполнять часть функционала маршрутизатора и маршрутизатор может иметь дополнительные физические порты для подключения локальных сетей.
❯ Рассмотрим различия между устройствами
L2-коммутаторы (канальный уровень)
❯ Особенности
Рабочий уровень: работают на 2 уровне модели OSI (канальный уровень).
Функциональность: обеспечивают передачу данных внутри одной локальной сети (LAN), используя таблицу MAC-адресов для маршрутизации кадров Ethernet.
Ограничения: не способны маршрутизировать трафик между разными VLAN или подсетями.
❯ Плюсы
Простая настройка.
Высокая производительность для однорангового (peer-to-peer) соединения.
❯ Минусы
Отсутствие поддержки IP-адресации.
Не подходит для сложных сетевых структур с множеством VLAN.
L3-коммутаторы (сетевой уровень)
❯ Особенности
Рабочий уровень: работают на 3 уровне модели OSI (сетевой уровень).
-
Функциональность:
выполняют функции коммутатора (L2) и маршрутизатора (L3);
поддерживают маршрутизацию между VLAN через интерфейсы SVI (Switch Virtual Interface);
поддерживают IP-адресацию и статическую маршрутизацию.
❯ Плюсы
Универсальность.
Встроенная поддержка маршрутизации.
❯ Минусы
Ограниченные возможности динамической маршрутизации (по сравнению с маршрутизаторами). Обычно используется «межвлановая» маршрутизация, когда ip-адрес назначается на VLAN, а не на саб-интерфейс.
Более сложная настройка по сравнению с L2-коммутаторами.
L3+ коммутаторы (расширенные возможности сетевого уровня)
❯ Особенности
Рабочий уровень: также работают на 3 уровне, но с функциями, приближенными к маршрутизаторам.
-
Функциональность:
полноценная поддержка динамических протоколов маршрутизации (OSPF, BGP, EIGRP);
расширенные функции управления трафиком: ACL, QoS, NAT;
некоторые модели поддерживают MPLS для оптимизации передачи данных.
❯ Плюсы
Возможности динамической маршрутизации.
Более высокий уровень управления сетью.
❯ Минусы
Стоимость.
Сложность настройки.
Маршрутизаторы (Router)
❯ Особенности
Рабочий уровень: работают на 3 уровне модели OSI и выше.
-
Функциональность:
передача данных между разными сетями;
маршрутизация IPv4 и IPv6;
полноценная поддержка динамической маршрутизации (OSPF, BGP, RIP и др.);
поддержка VPN, NAT и часть функций межсетевого экранирования.
❯ Плюсы
Поддержка работы в глобальных сетях (WAN).
Высокий уровень безопасности.
❯ Минусы
Не предназначены для высокоскоростного L2-коммутирования.
Могут вызывать дополнительные задержки в локальных сетях.
❯ Сравнительная таблица
Характеристика |
L2 Switch |
L3 Switch |
L3+ Switch |
Router |
Уровень OSI |
2 |
2 и 3 |
2 и 3 |
3 и выше |
Основная задача |
Коммутация LAN |
Коммутация и маршрутизация VLAN |
Расширенная маршрутизация |
Межсетевое соединение |
Поддержка маршрутизации |
Нет |
В основном статическая |
Динамическая |
Динамическая |
VLAN |
Да |
Да |
Да |
Нет |
QoS |
Ограниченная |
Да |
Да |
Да |
Подключение к интернету |
Нет |
Нет |
Да |
Да |
L2-коммутаторы идеально подходят для небольших сетей, где маршрутизация не требуется.
L3-коммутаторы — оптимальное решение для сетей с VLAN и умеренной сложностью.
L3+ коммутаторы находят применение в крупных и сложных инфраструктурах с необходимостью динамической маршрутизации.
Маршрутизаторы — необходимы для соединения локальных сетей с внешними сетями, но не заменяют коммутаторы внутри LAN.
Каждое устройство имеет свои уникальные сильные стороны и применяется в зависимости от масштабов и требований сети.
Хотя изначально коммутаторы и маршрутизаторы выполняли строго разные задачи, современное развитие сетевых технологий привело к значительному пересечению их функций.
Однако ключевые различия сохраняются: маршрутизаторы лучше подходят для связи между сетями с различными технологиями и для управления сложными топологиями, тогда как коммутаторы оптимизированы для высокой пропускной способности и коммутации в рамках одной сети. Выбор между этими устройствами зависит от конкретных задач и архитектуры сети.
❯ Что такое сеть?
Что же такое сеть? Если соединить два компьютера между собой, назначить им IP-адреса, будет ли это сетью? Ответ прост: да, это уже локальная сеть.
Сеть — это соединение двух и более компьютеров, устройств или других компонентов для обмена информацией.
Как только мы подключаем устройства к домашнему маршрутизатору, они становятся частью локальной сети. Маршрутизатор служит шлюзом по умолчанию для всех подключенных устройств и направляет пакеты данных для выхода в интернет.
Но пока не будем забегать вперед, начнем с самого простого — с двух соединенных между собой компьютеров.
❯ Рассмотрим самую простую сеть
Предположим, у нас есть два компьютера. Компьютер №1 имеет mac-адрес 00:00:00:00:00:0a, а компьютер №2 — 00:00:00:00:00:0b.
Мы назначаем компьютеру №1 IP-адрес 192.168.0.1, а компьютеру №2 — IP-адрес 192.168.0.2. Затем мы соединяем их сетевые карты «напрямую» с помощью витой пары.
Чтобы проверить доступность соседнего компьютера, можно использовать утилиту «ping» и отправить запрос на него.
Однако есть проблема: компьютер №1 не сможет сразу отправить ICMP-запрос компьютеру №2, так как он не знает его mac-адрес. Это можно проверить, введя команду «arp -a» в командной строке (для Windows) и убедившись, что таблица ARP пуста.
Как было сказано в предыдущей статье, ARP (Address Resolution Protocol) — это важнейший протокол в компьютерных сетях, который используется для определения MAC-адреса другого компьютера по известному IP-адресу.
Первым делом компьютер №1 отправит широковещательный запрос в сеть, чтобы узнать, кто такой 192.168.0.2.
Пакет будет выглядеть следующим образом:
src mac-адрес 00:00:00:00:00:0a;
dst mac-адрес ff:ff:ff:ff:ff:ff (широковещательный mac-адрес);
IP-адресов не будет, так как ARP работает на уровне L2;
в теле пакета будет информация: кто такой 192.168.0.2, спрашивает 192.168.0.1.
Подробнее о заголовках L3 уровня (ARP, ICMP и др.) я рассказывал в этой статье.
После того как ARP-ответ будет получен компьютером №2, он сохранит в своей ARP-таблице информацию о IP и mac-адресе компьютера №1.
Теперь компьютеру необходимо отправить ARP-ответ.
Пакет будет выглядеть следующим образом:
src mac-адрес 00:00:00:00:00:0b;
dst mac-адрес 00:00:00:00:00:0a;
IP-адресов не будет, так как ARP работает на уровне L2;
в теле пакета будет информация: у IP-адреса 192.168.0.2 mac-адрес - 00:00:00:00:00:0b.
После того как ARP-ответ поступит к компьютеру №1, он сохранит в своей ARP-таблице информацию о IP и mac-адресе компьютера №2.
Теперь для формирования ICMP-запроса известна вся информация, и от компьютера №1 будет сформирован следующий пакет:
src mac-адрес 00:00:00:00:00:0a;
dst mac-адрес 00:00:00:00:00:0b;
src IP-адрес 192.168.0.1;
dst IP-адрес 192.168.0.2
в теле пакета будет служебная информация для ICMP-протокола (подробнее в этой статье).
После того как ICMP-запрос поступит на компьютер №2, тот отправит ICMP-ответ, так как уже знает mac-адрес соседнего устройства из своей ARP-таблицы.
Ответ будет выглядеть следующим образом:
src mac-адрес 00:00:00:00:00:0b;
dst mac-адрес 00:00:00:00:00:0a;
src-IP-адрес 192.168.0.2;
dst-IP-адрес 192.168.0.1;
в теле пакета будет служебная информация для ICMP-протокола.
После того как все эти пакеты прошли свой не долгий путь, в утилите «ping» появится первое сообщение о доступности соседнего устройства.
❯ Три компьютера и сетевой концентратор (Hub)
❯ Что если нам нужно подключить больше компьютеров к одной сети?
Для этого в простых сетях используют сетевой концентратор, он же hub/хаб.
❯ Как работает хаб?
Хаб передает данные, поступающие на один из его портов, на все остальные порты, что позволяет устройствам в локальной сети обмениваться информацией без сложной настройки. Однако такой подход имеет свои плюсы и минусы.
❯ Плюсы и минусы использования хаба
Хаб — это недорогое сетевое устройство, которое подходит для соединения небольших локальных сетей. Однако, если в сети используется большое количество устройств, возникают проблемы.
Эффективность: хаб работает на уровне L1 модели OSI, что означает, что он не различает адреса. Все пакеты передаются всем устройствам, кроме отправителя, независимо от их назначения.
Конфликт пакетов: поскольку данные передаются одновременно всем устройствам, в сети могут возникать коллизии. Чем больше устройств подключено, тем выше вероятность коллизий.
Пропускная способность: каждый порт хаба делит общую пропускную способность сети, что приводит к её снижению по мере увеличения числа подключений.
Современные сети используют коммутаторы (switch), которые работают на уровне L2, что позволяет им направлять пакеты только устройствам-адресатам.
❯ Пример работы хаба
Предположим, у нас есть хаб и три компьютера с IP-адресами:
компьютер №1: 192.168.0.1;
компьютер №2: 192.168.0.2;
компьютер №3: 192.168.0.3.
Все три компьютера подключены к хабу. Теперь, если мы с компьютера №1 отправим запрос «ping» на компьютер №2, то процесс будет происходить следующим образом.
Шаг 1. ARP-запрос
Компьютер №1 сначала отправит ARP-запрос в сеть, чтобы узнать MAC-адрес компьютера №2. Этот запрос будет выглядеть так:
src MAC-адрес: 00:00:00:00:00:0a;
dst MAC-адрес: ff:ff:ff:ff:ff:ff (широковещательный адрес);
IP-адреса в пакете отсутствуют, так как ARP работает на уровне L2.
Действия хаба
Хаб получит этот пакет через порт, к которому подключен компьютер №1, и передаст его на все остальные порты, кроме порта-отправителя. Таким образом, ARP-запрос поступит как на компьютер №2, так и на компьютер №3. Компьютеры №2 и №3 сохранят в ARP-таблице запись о компьютере №1, так как запрос был широковещательным. Однако ответит на него только компьютер №2, так как IP-адрес в запросе соответствует его собственному.
Ответ от компьютера №2
Компьютер №2 отправит ARP-ответ, который пройдет через хаб и будет доставлен компьютеру №1. Компьютер №3 проигнорирует этот ответ, так как он не предназначен ему.
ARP-ответ будет выглядеть следующим образом:
src MAC-адрес: 00:00:00:00:00:0b;
dst MAC-адрес: 00:00:00:00:00:0a;
IP-адреса в пакете отсутствуют, так как ARP работает на уровне L2.
Шаг 2. ICMP-запрос и ответ
После завершения ARP-обмена компьютер №1 сформирует ICMP-запрос и отправит его на компьютер №2. Запрос и последующий ответ будут переданы аналогичным образом через хаб, но пакеты также дойдут до всех устройств в сети, создавая дополнительную нагрузку.
❯ Особенности работы ARP в сети с хабом
В такой схеме:
Компьютеры №1 и №2 знают о существовании друг друга;
Компьютер №3 знает о компьютере №1, так как получил его ARP-запрос, но не знает о компьютере №2.
Небольшое пояснение почему
Компьютер №3 знает о Компьютере №1 из своей ARP-таблицы, но не знает о Компьютере №2 по следующим причинам:
-
Обработка ARP-запросов.
ARP-запросы обрабатываются операционной системой компьютера, а не сетевой платой. Однако, поскольку ARP-запрос имеет широковещательный MAC-адрес назначения (ff:ff:ff:ff:ff:ff), он достигает всех устройств в локальной сети и принимается сетевой платой;
-
Сохранение записи в ARP-таблице.
Хотя Компьютер №3 получает ARP-запрос, адресованный другому IP-адресу (например, Компьютеру №1), он не отвечает на него. Однако информация из тела пакета (IP-адрес и MAC-адрес Компьютера №1) может быть сохранена в ARP-таблице Компьютера №3 как часть пассивного процесса обучения;
-
Отбрасывание ARP-ответа.
ARP-ответ, отправленный Компьютером №1, также достигает Компьютера №3. Однако, поскольку MAC-адрес назначения в этом пакете не совпадает с MAC-адресом сетевой карты Компьютера №3, пакет отбрасывается сетевой платой на аппаратном уровне. В результате информация о Компьютере №2 не попадает в ARP-таблицу Компьютера №3.
Если мы попытаемся «пингануть» с компьютера №2 компьютер №3, произойдет ARP-обмен, как в примере выше. Однако если мы попытаемся с компьютера №3 «пингануть» компьютер №1, процесс будет следующим:
Компьютер №3, зная MAC-адрес компьютера №1 из своей ARP-таблицы, сразу отправит ICMP-запрос;
Компьютер №1, не имея записи о компьютере №3, отбросит запрос и отправит широковещательный ARP-запрос;
После получения ARP-ответа от компьютера №3 компьютер №1 сможет ответить на ICMP-запрос;
Компьютер №3 отправит новый ICMP-запрос, на который компьютер №1 успешно ответит.
Когда мы запускаем утилиту «ping», некоторые пакеты теряются. Это происходит из-за того, что требуется ARP-обмен данными между всеми промежуточными устройствами. Именно поэтому возникает необходимость в обмене данными с использованием протокола ARP между всеми устройствами, находящимися между источником и получателем данных.
❯ Три компьютера и L2 коммутатор
❯ Как обеспечить стабильность работы сети и исключить коллизии?
Ответ прост: использовать L2-коммутатор.
❯ Принцип работы L2-коммутатора
Коммутатор работает на канальном уровне модели OSI и использует MAC-адреса для пересылки данных. Рассмотрим на примере, как это происходит.
Устройства в сети:
компьютер №1: 192.168.0.1;
компьютер №2: 192.168.0.2;
компьютер №3: 192.168.0.3;
коммутатор №1: MAC-таблица изначально пуста.
Шаг 1. ARP-запрос
Когда компьютер №1 отправляет запрос «ping» на компьютер №2, он сначала формирует ARP-запрос для определения MAC-адреса получателя. Этот запрос поступает на коммутатор, который, не имея записей в MAC-таблице, рассылает его на все активные порты, кроме порта-отправителя.
Действия коммутатора:
Коммутатор добавляет в свою MAC-таблицу запись о компьютере №1, связав его MAC-адрес с портом, через который пришел запрос;
ARP-запрос доставляется компьютерам №2 и №3.
Ответы компьютеров:
Компьютер №2, распознав свой IP-адрес, отправляет ARP-ответ;
Компьютер №3 игнорирует запрос, но сохраняет запись о MAC-адресе компьютера №1 в своей ARP-таблице.
Коммутатор, получив ARP-ответ от компьютера №2, обновляет свою MAC-таблицу, добавляя запись о MAC-адресе компьютера №2.
Шаг 2. ICMP-запрос и ответ
После завершения ARP-обмена компьютер №1 отправляет ICMP-запрос компьютеру №2. Благодаря MAC-таблице, коммутатор направляет пакеты только в порт, подключенный к компьютеру №2, избегая лишней нагрузки на другие устройства.
❯ Особенности работы ARP в сети с коммутатором
Компьютеры №1 и №2 знают о существовании друг друга;
Компьютер №3 знает MAC-адрес компьютера №1, но не знает о существовании компьютера №2;
В MAC-таблице коммутатора нет записи о компьютере №3.
Если компьютер №3 отправит запрос «ping» на компьютер №1, процесс будет следующий:
Компьютер №3 сразу формирует ICMP-запрос, используя MAC-адрес из своей ARP-таблицы;
Коммутатор передает пакет на порт компьютера №1;
компьютер №1, не имея записи о компьютере №3, отправляет ARP-запрос;
после завершения ARP-обмена компьютер №1 отвечает на ICMP-запрос.
❯ Что будет если во время работы коммутатор перезагрузится?
Если коммутатор перезагрузится или его MAC-таблица очистится, он начнет временно работать как хаб, передавая пакеты на все порты, пока MAC-таблица не будет заполнена.
В этой ситуации происходит следующее:
Пакет, адресованный компьютеру №2, поступает на коммутатор. Поскольку MAC-таблица коммутатора пуста, чтобы обеспечить корректную работу сети, коммутатор передает эти пакеты на все порты, кроме того порта, через который они были получены. Затем в MAC-таблицу коммутатора добавляется первая запись о компьютере №1;
Затем коммутатор получит пакет, предназначенный для компьютера №2. Поскольку в MAC-таблице нет записи об этом компьютере, чтобы обеспечить корректную работу сети, коммутатор передаст эти пакеты на все порты, кроме того порта, через который они были получены. После этого в MAC-таблицу коммутатора будет добавлена первая запись о компьютере №2;
Далее сеть будет работать так же, как и до перезагрузки или очистки MAC-таблицы.
Ключевое отличие коммутатора от концентратора (хаба) заключается в следующем: хаб, независимо от обстоятельств, всегда будет пересылать пакеты во все порты, кроме того, из которого этот пакет был получен. В свою очередь, коммутатор передает пакеты на все порты до тех пор, пока в его MAC-таблице не появятся записи. Как только в таблице появляются записи, коммутатор направляет пакеты в соответствующие порты.
❯ Три компьютера и несколько L2 коммутаторов
Рассмотрим, как работает сеть с несколькими коммутаторами.
Устройства в сети:
компьютер №1: 192.168.0.1;
компьютер №2: 192.168.0.2;
компьютер №3: 192.168.0.3;
коммутатор №1 и №2: MAC-таблица изначально пуста.
Все три компьютера подключены к нескольким коммутаторам. Если с компьютера №1 отправить запрос «ping» на компьютер №2, ARP-запрос попадет на коммутатор и будет направлен во все активные порты, поскольку это широковещательный запрос.
Шаг 1. ARP-запрос
Когда компьютер №1 отправляет ARP-запрос компьютеру №2:
-
Коммутатор №1:
передает запрос на все порты, кроме порта-отправителя;
сохраняет в MAC-таблицу запись о компьютере №1.
-
Коммутатор №2:
получает запрос от коммутатора №1 и передает его на свои порты;
добавляет в MAC-таблицу запись о MAC-адресе компьютера №1.
Компьютеры №2 и №3 сохраняют запись о MAC-адресе компьютера №1.
Шаг 2. ICMP-запрос и ответ
Когда компьютеры начинают обмениваться ICMP-пакетами, каждый коммутатор использует свои MAC-таблицы для передачи пакетов только на целевые порты.
Если с компьютера №3 отправить запрос «ping» на компьютер №2, произойдет ARP-обмен данными между устройствами. Коммутаторы сохранят необходимые записи в своих MAC-таблицах, и ICMP-пакеты будут передаваться в соответствии с этими таблицами.
❯ Особенности работы с несколькими коммутаторами
У каждого коммутатора своя уникальная MAC-таблица.
Коммутатор №2 может иметь одну запись для порта с несколькими устройствами, подключенными через другой коммутатор.
Каждый коммутатор формирует свою MAC-таблицу, основываясь на трафике, проходящем через его порты. Чем больше устройств подключено за одним портом, тем больше записей будет ассоциировано с этим портом. Однако даже в сложных сетях коммутаторы эффективно справляются с передачей пакетов, минимизируя нагрузку на сеть.
❯ Заключение
Подводя итоги, мы рассмотрели ключевые устройства и их функции в сетях, такие как коммутаторы и маршрутизаторы, их различия и области применения. Также мы разобрали базовые принципы работы сетей на примере нескольких подключенных устройств, ARP-запросов, ICMP-протокола и их взаимодействия.
Важно отметить, что в этой статье мы не рассматривали работу маршрутизаторов в более сложных сетевых топологиях. В следующей статье мы разберем, как работают маршрутизаторы, как сегментировать сеть, зачем это нужно и как это влияет на масштабируемость и управление.
Эти знания помогут глубже понять основы проектирования сетей и взаимодействия их компонентов.
Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале ↩
? Читайте также:
Комментарии (33)
Mi11er
13.01.2025 09:17Это же не цикл статей, дубль СДСМ ?
ProstoKirReal Автор
13.01.2025 09:17Сдсм больше для того как это все настроить, я же хочу рассказать как это работает.
Tihron
13.01.2025 09:17А если мы подключим третий коммутатор и, с его помощью, соединим первый и второй?
Tihron
13.01.2025 09:17По-сути, тогда должен записаться вход первый среди входящих. А если мы отключим устройство №1 от коммутатора №1 и подключим к коммутатору №3? Нужно как-то удалить данные об компьютере №1 и, когда он будет подключен к коммутатору №3, то записать информацию о нём, пусть он будет компьютер №1.1, тогда надо перезаписать его в таблице
Tihron
13.01.2025 09:17То есть, откуда пришел первый ARP-запрос, то мы и записываем как местонахождение этого устройства. А если память будет переполняться? Удаляем самые старые записи?
ProstoKirReal Автор
13.01.2025 09:17Имеете в виду если к 2м коммутаторам подключены конечные устройства и один коммутатор промежуточный?
Tihron
13.01.2025 09:17Нет, треугольником
Tihron
13.01.2025 09:17Грубо говоря, когда есть несколько путей, по которым можно отправить пакет. Таких маршрутов, в которых путь между двумя узлами используется не более одного раза
Akina
13.01.2025 09:17В случае кольца работают дополнительные протоколы (STP, ERPS и т.п.), которые отключают часть портов, преобразуя кольцо в дерево. Или всё ложится из-за бродкастового шторма.
lerdo
13.01.2025 09:17Немного удивила подача материала, как будто пропущена первая глава. Коммутатор - L2, маршрутизатор - L3, в первых же строчках. Но простите, если это материал для новичков - объясните что такое L2 и L3 в OSI и чем OSI отличается от TCP/IP, а уже потом объясняйте их взаимодействие с железками. А если это рассчитано на людей знакомых с сетевыми моделями, то наверное им уже не будет интересен этот материал.
ProstoKirReal Автор
13.01.2025 09:17В предыдущих статьях я уже затрагивал эти темы, в данной статье не хотел еще раз повторяться. Старался дать на все темы ссылки.
Можете написать в каких именно местах есть вопросы ?
Ivanii
13.01.2025 09:17Практически все управляемое современное(и не очень) оборудование работает примерно как коммутатор но аппаратно по хеш таблице(таблицам), то чего нет в таблице идет на обработку процу и он добавляет новые записи в таблицу.
Akina
13.01.2025 09:17Для решения этой проблемы была введена абстракция в виде IP-адреса — универсального протокола, не привязанного к физическому носителю.
Эммм... а можно не согласиться? IP - не единственный, и уж тем более не первый, маршрутизируемый протокол. И если описанное было одной из целей создания, то уж точно не единственной.
Маршрутизаторы стали устройствами, способными связывать сети с разными технологиями передачи данных
Вы явно путаете маршрутизаторы и конверторы интерфейса. Простейшая точка доступа связывает проводную и беспроводную сети, где технологии уж точно разные - но она никак не маршрутизатор. Ну или конвертор оптики в медь...
Сеть — это соединение двух и более компьютеров, устройств или других компонентов для обмена информацией.
Вот скажите, если у меня ОДИН компьютер, на котором клиент с адреса 127.0.0.3 общается с сервером 127.0.0.2 - это что, не сеть?
Как только мы подключаем устройства к домашнему маршрутизатору, они становятся частью локальной сети.
А если мы подключаем домашние устройства к домашнему коммутатору - они что, не становятся частью локальной сети?
Tihron
13.01.2025 09:17Насчёт одного компьютера: один IP-адрес присваивается одному компьютеру. То есть, если компьютер не подключен к сети (к порту не подключен кабель/к порту подключен кабель, который не подключен к другому устройству), то компьютер это обнаружит и поймет, что он не подключен ни к какой сети. Адреса 127.0.0.х — это, скорее всего, адреса локального хоста. В итоге работает программная эмуляция сети, не сеть между устройствами, а сеть между программами внутри устройства. Вообще, интересный вопрос, я задумался, поразмышляв на досуге. (Я не автор поста, если что)
Akina
13.01.2025 09:17Адреса 127.0.0.х — это, скорее всего, адреса локального хоста.
Так и есть, вы совершенно правы.
В итоге работает программная эмуляция сети, не сеть между устройствами, а сеть между программами внутри устройства.
Сеть - это необязательно между устройствами, сеть - она между узлами сети, даже если эти узлы есть два разных входа в один и тот же сетевой стек. Иначе получается парадокс - сервер есть, клиент есть, сетевой обмен есть, а сети нет.
Насчёт одного компьютера: один IP-адрес присваивается одному компьютеру.
Я бы сказал, что адрес - это именованная точка входа в сетевой стек. У одного экземпляра сетевого стека их может быть несколько. Да собственно их всегда несколько. Даже если есть один комп с одной сетевой картой и одним IP-адресом на ней, и мы не смотрим на адреса подсети локалхоста, всё равно у сетевого стека минимум две точки входа, связанные с сетевой картой, одна "именуется" по МАС-адресу, вторая по IP-адресу.
max1960
13.01.2025 09:17Сетевые устройства также являются узлами сети (см DTE и DCE). Сетевой адрес это всего лишь идентификатор устройства в сети, по которому его могут найти и к нему могут обращаться другие устройства. Терминов типа "входа в сетевой стек" не слышал ни разу за 20+ лет работы в телекоме.
Akina
13.01.2025 09:17Сетевой адрес это всего лишь идентификатор устройства в сети, по которому его могут найти и к нему могут обращаться другие устройства.
Это что есть адрес снаружи. Но что он есть с точки зрения самого устройства?
И описанный мной случай - формально устройство-то обращается само к себе, оба адреса - локалхост.
Терминов типа "входа в сетевой стек" не слышал ни разу за 20+ лет работы в телекоме.
Вы знаете термин, который определяет IP-адрес именно как именованный интерфейс с точки зрения самого узла, а не того, кто к нему обращается? Скажите его (или их), буду признателен. Или считаете, что такая формулировка неудачна? Сформулируйте лучше.
Aelliari
13.01.2025 09:17один IP-адрес присваивается одному компьютеру
Может ли, один и тот же глобально-маршрутизируемый IP-адрес быть присвоен нескольким компьютерам?
ProstoKirReal Автор
13.01.2025 09:17Это я расскажу в следующих статьях. При использовании NAT, один глобальный "Белый адрес" присваивает нескольким локальным компьютерам "Серий адрес"
ProstoKirReal Автор
13.01.2025 09:17Эммм... а можно не согласиться? IP - не единственный, и уж тем более не первый,
Я не говорил о том, что он единственный и первый протокол, просто стал универсальным.
Вы явно путаете маршрутизаторы и конверторы интерфейса.
Как раз маршрутизатор это и обеспечивает. Примеры - WiFi, где маршрутизируется беспроводная и проводная технология. А также различные технологии передачи данных, включая DSL (цифровая абонентская линия).
Вот скажите, если у меня ОДИН компьютер, на котором клиент с адреса 127.0.0.3 общается с сервером 127.0.0.2 - это что, не сеть?
Это все еще 2 устройства. Сервер и клиент. Сеть — это соединение ДВУХ и более компьютеров, УСТРОЙСТВ или других компонентов для обмена информацией.
Приведу пример гипервизора. Когда мы создаем несколько виртуальных машин на одном физическом устройстве и пробрасываем их между собой, то это 2 и более устройств, просто виртуальных.А если мы подключаем домашние устройства к домашнему коммутатору - они что, не становятся частью локальной сети?
Отвечая на Ваш вопрос, да становится.
TheMrWhite
13.01.2025 09:17сам коммутатор имеет свой IP/MAC адрес? он как-то используется при коммутации?
Akina
13.01.2025 09:17Сам коммутатор - нет, не имеет. А вот его интерфейс управления (если это управляемый коммутатор) - да, имеет. Но интерфейс управления - это, считай, подключенный к коммутатору компьютер, только компьютер специализированный и подключенный через отдельный интерфейс.
itGuevara
13.01.2025 09:17Как то думал про такую идею. Со своего компа Вова отправляет Мaше по почте "Hello" и смотрит через net-VR-шлем на провод и видит свое сообщение в разрезе всех протоколов. Начать можно просто с визуализации сообщения на разных уровнях. А потом в привязке к шлему - назвать это "Цифровым двойником сети", который при наведении на конкретный кабель показывает передаваемые по нему сообщения (фильтром можно оставить только прикладного уровня и только интересующего приложения).
Т.е. сетевой сканер (sniffers), но для виртуального обозрения передаваемых по сети (конкретному проводу) данных с упрощением, т.е. часть служебной информации скрывать (настраиваемым фильтром), а для какой-то части давать подсказку, чтобы для обычного юзера было адаптировано (не Wireshark -ом же его пугать). Может есть уже такие?
Vest
13.01.2025 09:17Я правильно понимаю, что потерянный первый ICMP-пакет (что-то с превышением времени ожидания) — это нормально для ситуаций, когда мы пингуем устройство, которое нас ещё не знает?
Почему сообщение тогда так сформулировано, а не, скажем, «вы нам незнакомы»?
И почему сторонние сервера (типа Гугла) пингуются с первой попытки? Это потому, что в качестве MAC-адреса выступает мой провайдер или кто-нибудь, кого Гугл уже видел и содержит информацию в ARP-таблице?
Я понимаю, что вы не автор статьи, но быть может знаете ответ. Спасибо заранее.
Akina
13.01.2025 09:17ICMP пингует по IP. И вашей станции не нужен МАС конечного, пингуемого, устройства. Вам нужен только МАС следующего по маршруту узла - т.е. обычно вашего дефолтного шлюза, который почти наверняка вам известен. То же будет и со следующим узлом (ближайшим коммутатором или маршрутизатором), и с последующим... то есть ситуация, когда нужно выяснять, на каком порте находится МАС назначения, крайне редкая. Грубо говоря, она возникает один раз при включении устройства, и больше не возникнет до его выключения/перезагрузки.
NekitGeek
13.01.2025 09:17Понятнейшая статья и комменты, проясняющие суть! Жалко, её не было пару месяцев назад, когда я писал курсовую.
surarus
ого! Круто!
Очень развернуто!
За одно только старание над статьей, большое спасибо!
Текст, картинки и подробный разбой!
ProstoKirReal Автор
Спасибо)