Что такое сеть и зачем нужны модели
Понимаем, что такое компьютерная сеть, зачем сети нужны модели и почему веб-разработчику это важно.
Компьютерная сеть — это группа устройств, соединённых так, что они могут обмениваться данными по согласованным правилам (протоколам).
Зачем вообще говорить о сетях
Когда вы пишете fetch('https://api.example.com') или открываете сайт в браузере, под капотом происходит десяток шагов: имя превращается в IP-адрес, устанавливается соединение, данные дробятся на пакеты, шифруются, проходят через десятки маршрутизаторов и собираются обратно на другом конце. Веб-разработчик не обязан писать эти шаги вручную, но обязан понимать, что под HTTP лежит целый стек технологий. Иначе непонятно, почему запрос «висит», откуда берётся ошибка CORS, что такое TLS-рукопожатие и почему DNS бывает «не прогрелся».
Сеть — это не «провод между двумя компьютерами». Это система соглашений. Чтобы два устройства разных производителей, на разных операционных системах, в разных странах поняли друг друга, им нужен общий язык на каждом этапе: как кодировать сигнал в проводе, как адресовать машину в другой стране, как убедиться, что ничего не потерялось, как договориться о формате данных.
Зачем нужны модели
Представьте, что один человек должен в одиночку спроектировать всё: от напряжения в кабеле до формата JSON в ответе сервера. Это невозможно держать в голове целиком. Поэтому сетевые технологии разбивают на уровни (layers) — каждый уровень решает свою узкую задачу и пользуется услугами уровня ниже, не зная его внутренностей.
Это та же идея, что и абстракция в программировании. Функция JSON.stringify не знает, как байты лягут в TCP-сегмент. TCP не знает, по медному кабелю или по оптоволокну поедут данные. Каждый уровень общается только с соседними и предоставляет соседу сверху удобный «сервис».
- Разделение ответственности: можно поменять Wi-Fi на кабель, не трогая HTTP.
- Совместимость: производители делают своё оборудование под конкретный уровень.
- Обучение и диагностика: проблему проще локализовать («не работает на уровне DNS», «рвётся TCP-соединение»).
Две главные модели
Есть две основные модели, которые мы разберём в этом разделе:
| Модель | Уровней | Роль |
| OSI | 7 | теоретическая, эталонная — для понимания и обучения |
| TCP/IP | 4 | практическая — по ней реально работает интернет |
OSI — это «карта местности», по которой удобно объяснять, где что находится. TCP/IP — это то, как всё устроено на самом деле. На собеседовании вас спросят про обе, поэтому мы аккуратно их сопоставим.
Простой пример: сообщение в мессенджере
Вы пишете «Привет» и жмёте «отправить». Дальше:
- Приложение формирует данные (текст и метаданные).
- Транспорт делит их на сегменты и нумерует, чтобы собрать в правильном порядке.
- Сеть добавляет адреса отправителя и получателя (IP) и решает, куда направить.
- Канал и физика превращают байты в сигналы и отправляют в провод или эфир.
На том конце всё разворачивается в обратном порядке. Эту «обёртку» данных по уровням мы подробно разберём в уроке про инкапсуляцию.
Итог
- Сеть — это устройства плюс протоколы (правила обмена).
- Сложность сети разбивают на уровни, каждый со своей задачей.
- OSI (7 уровней) — теория, TCP/IP (4 уровня) — практика.
- Веб-разработчику модели нужны, чтобы понимать, что происходит под HTTP, и грамотно диагностировать проблемы.