Основы компьютерных сетей и передачи данных

Курс охватывает ключевые принципы работы сетей, включая модели OSI и TCP/IP, а также классификацию на LAN, MAN и WAN [selectel.ru](https://selectel.ru/blog/courses/computer-network-basics). Вы изучите топологии, методы адресации и технологии передачи данных, необходимые для понимания современной сетевой инфраструктуры [ru.hexlet.io](https://ru.hexlet.io/blog/posts/kompyuternaya-set-chto-eto-takoe-osnovnye-printsipy).

1. Введение в компьютерные сети: виды, топологии и компоненты

Введение в компьютерные сети: виды, топологии и компоненты

Компьютерная сеть — это фундамент современного цифрового мира. От отправки сообщения в мессенджере до управления банковскими счетами — все эти процессы опираются на способность устройств обмениваться данными. В этой статье мы разберем физическую и логическую структуру сетей, выясним, чем отличается локальная сеть от глобальной, и поймем, какие устройства заставляют интернет работать.

Что такое компьютерная сеть?

В самом простом понимании компьютерная сеть — это два или более устройства, соединенных между собой для обмена информацией и совместного использования ресурсов (например, принтеров или файловых хранилищ).

Согласно ru.hexlet.io > Компьютерная сеть (или computer network) — это система, объединяющая несколько устройств (компьютеров, серверов, принтеров, маршрутизаторов) для передачи данных.

Сеть превращает отдельные вычислительные машины в единую систему. Если компьютер без сети — это изолированный «остров», то сеть строит «мосты», позволяя передавать сигналы, файлы и команды.

Основные компоненты сети

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

1. Конечные устройства (Хосты)

Это источники и получатели информации. К ним относятся: * Компьютеры и ноутбуки (рабочие станции). * Серверы (мощные компьютеры, предоставляющие услуги: веб-сайты, почту, хранение файлов). * Смартфоны и планшеты. * IoT-устройства (умные лампочки, камеры видеонаблюдения).

2. Промежуточные устройства

Эти устройства управляют потоками данных, направляя их от отправителя к получателю. Два самых важных устройства — это коммутатор и маршрутизатор.

Коммутатор (Switch): Работает в пределах одной сети (например, внутри офиса). Он «знает», к какому порту подключен конкретный компьютер, и отправляет данные только* получателю, а не всем подряд. Это создает выделенный канал связи. Маршрутизатор (Router): Соединяет разные* сети. Именно роутер позволяет вашему домашнему компьютеру (локальная сеть) связаться с сервером Google (глобальная сеть). Он выбирает лучший путь для данных через интернет.

3. Среда передачи данных

Это физический путь, по которому идут сигналы. * Медный кабель (Витая пара): Использует электрические импульсы. Самый популярный стандарт — Ethernet. * Оптоволокно: Использует световые импульсы. Обеспечивает высочайшую скорость и дальность передачи. * Беспроводная среда (Радиоволны): Wi-Fi, Bluetooth, 4G/5G.

Классификация сетей по масштабу

Сети делятся по географическому охвату. Понимание этих аббревиатур необходимо любому сетевому инженеру.

PAN (Personal Area Network)

Персональная сеть. Это сеть вокруг одного человека. Радиус действия — несколько метров. Пример:* Подключение беспроводных наушников к смартфону через Bluetooth.

LAN (Local Area Network)

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

По данным ru.hexlet.io > Особенность локальных сетей — замкнутость, то есть у них нет выхода в другие сети. Если объединить локальные сети, чтобы обмениваться информацией, получится глобальная вычислительная сеть.

В LAN обычно используются высокие скорости передачи данных (1 Гбит/с и выше) и технологии Ethernet или Wi-Fi.

MAN (Metropolitan Area Network)

Городская сеть. Объединяет несколько локальных сетей в пределах одного города. Часто используется провайдерами для подключения районов к интернету.

WAN (Wide Area Network)

Глобальная сеть. Охватывает широкие географические зоны: страны и континенты. Самый известный пример WAN — это Интернет. Для связи на таких расстояниях используются оптоволоконные магистрали, спутниковые каналы и подводные кабели.

Топологии сетей

Топология — это схема расположения устройств и прокладки кабелей. От выбора топологии зависит надежность и стоимость сети.

1. Шина (Bus)

Все устройства подключены к одному общему кабелю. Плюс:* Дешевизна и простота прокладки. Минус:* Если кабель поврежден в любом месте, вся сеть перестает работать. Низкая безопасность (все видят данные всех). Статус:* Устарела, практически не используется в современных LAN.

2. Звезда (Star)

Все устройства подключены к центральному устройству (обычно коммутатору). Это стандарт для современных офисных и домашних сетей. Плюс:* Если кабель к одному компьютеру поврежден, остальные продолжают работать. Легко добавлять новые устройства. Минус:* Если выходит из строя центральный коммутатор, падает вся сеть.

3. Кольцо (Ring)

Устройства соединены последовательно в замкнутое кольцо. Данные передаются по кругу в одном направлении. Особенность:* Используется маркерный доступ (Token Ring), что исключает коллизии (столкновения данных). Статус:* Редко используется в LAN, но принцип кольца применяется в магистральных оптоволоконных сетях провайдеров для резервирования (технология FDDI/SONET).

4. Ячеистая топология (Mesh)

Каждое устройство соединено с каждым (полносвязная) или со многими другими (частично-связная). Плюс:* Максимальная надежность. Если один канал обрывается, данные идут по другому пути. Минус:* Очень дорого и сложно в реализации из-за огромного количества кабелей. Применение:* Интернет (маршрутизаторы провайдеров связаны именно так для отказоустойчивости).

Режимы передачи данных

Важно не только то, как соединены устройства, но и как они общаются. Существует три режима связи:

  • Симплекс (Simplex): Односторонняя передача. Пример: Телевидение или радиовещание (вы только получаете сигнал).
  • Полудуплекс (Half-Duplex): Передача в обе стороны, но по очереди. Пример: Рация («Прием, как слышно» — «Слышно хорошо, конец связи»).
  • Дуплекс (Full-Duplex): Одновременная передача в обе стороны. Пример: Телефонный разговор или современный Ethernet.
  • Согласно lexusalex.ru > Дуплекс — одновременно в обе стороны. Полудуплекс — в один момент времени информация идет только в одну сторону.

    Расчет времени передачи данных

    В сетевой инженерии часто приходится оценивать, сколько времени займет передача файла. Для этого используется базовая формула:

    где — время передачи (секунды), — размер данных (биты), — пропускная способность канала (биты в секунду).

    Важно: Скорость сети обычно измеряется в битах в секунду (бит/с, Mbps), а размер файлов — в Байтах (Б, MB). В 1 Байте — 8 бит.

    Пример расчета: Вы хотите скачать файл размером 50 Мегабайт (МБ) при скорости интернета 100 Мегабит в секунду (Мбит/с).

  • Переведем размер файла в биты (используем LaTeX array для наглядности):
  • Подставим значения в формулу:
  • Без перевода единиц измерения расчет был бы ошибочным ( с), что в 8 раз меньше реальности.

    Итоги

    * Сеть — это совокупность устройств (хостов) и среды передачи для обмена данными. Основные «строительные блоки» — это коммутаторы (для локальной связи) и маршрутизаторы (для связи между сетями). * Масштаб имеет значение: LAN используется для офисов и домов, WAN (включая Интернет) соединяет города и страны. * Топология «Звезда» является стандартом для локальных сетей благодаря своей надежности и простоте обслуживания, в то время как Ячеистая топология обеспечивает отказоустойчивость глобальной сети. * Единицы измерения: При расчетах скорости всегда помните о разнице между битами (скорость канала) и Байтами (размер файла). Разница составляет множитель 8.

    2. Сетевые модели: архитектура OSI и стек протоколов TCP/IP

    Сетевые модели: архитектура OSI и стек протоколов TCP/IP

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

    Зачем нужны сетевые модели?

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

    Две главные модели, которые должен знать каждый сетевой инженер — это OSI (теоретическая эталонная модель) и TCP/IP (практическая модель, на которой работает современный Интернет).

    Эталонная модель OSI

    Модель OSI (Open Systems Interconnection — взаимодействие открытых систем) была разработана Международной организацией по стандартизации (ISO). Она делит процесс сетевого взаимодействия на 7 уровней. Это абстракция, которая помогает понять, что происходит с данными на каждом этапе.

    Согласно habr.com > Модель OSI — это теоретическая модель, описанная в международных стандартах. Она делит задачу сетевого взаимодействия на семь более мелких и управляемых подзадач (уровней).

    Разберем уровни сверху вниз — от пользователя к кабелю.

    7. Прикладной уровень (Application Layer)

    Это уровень, с которым взаимодействует пользователь. Здесь работают браузеры, почтовые клиенты и мессенджеры. Протоколы этого уровня определяют смысл передаваемой информации. * Протоколы: HTTP/HTTPS (веб), SMTP/IMAP (почта), FTP (файлы). * Суть: Интерфейс между человеком и сетью.

    6. Уровень представления (Presentation Layer)

    Отвечает за форматирование, кодирование и шифрование данных. Этот уровень гарантирует, что данные, отправленные одним приложением, будут понятны другому, даже если они используют разные кодировки (например, ASCII и EBCDIC). * Функции: Сжатие данных (ZIP), форматы изображений (JPEG), шифрование (SSL/TLS). * Суть: Переводчик данных в универсальный формат.

    5. Сеансовый уровень (Session Layer)

    Управляет созданием, поддержанием и завершением сеансов связи между приложениями. Он следит за тем, чтобы запросы разных программ не перепутались между собой. * Функции: Синхронизация передачи, восстановление соединения после обрыва. * Суть: Диспетчер диалога.

    4. Транспортный уровень (Transport Layer)

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

    Два главных протокола этого уровня:

  • TCP (Transmission Control Protocol): Гарантирует доставку. Если пакет потерялся, TCP запросит его повторно. Используется для загрузки сайтов, почты.
  • UDP (User Datagram Protocol): Отправляет данные без гарантии доставки, но очень быстро. Используется для видеозвонков и онлайн-игр, где потеря пары кадров не критична, а задержка — недопустима.
  • 3. Сетевой уровень (Network Layer)

    Отвечает за логическую адресацию и маршрутизацию. Здесь работают маршрутизаторы (роутеры). Главная задача — найти оптимальный путь для данных через составную сеть (интернет). * Единица данных: Пакет. * Адресация: IP-адреса (например, 192.168.1.1). * Суть: Навигация и адресация.

    2. Канальный уровень (Data Link Layer)

    Обеспечивает передачу данных между устройствами в одной локальной сети (LAN). Здесь работают коммутаторы (свитчи). Уровень оперирует физическими адресами устройств. * Единица данных: Кадр (Frame). * Адресация: MAC-адрес (уникальный номер сетевой карты, «вшитый» на заводе). * Суть: Доставка внутри одной комнаты или здания.

    1. Физический уровень (Physical Layer)

    Самый нижний уровень. Это «железо»: кабели, разъемы, радиоволны и электрические сигналы. Здесь нет понятий «адрес» или «файл», есть только биты (0 и 1). * Среда: Витая пара, оптоволокно, Wi-Fi. * Суть: Передача битов.

    Инкапсуляция данных

    Когда вы отправляете сообщение, данные проходят путь с 7-го уровня по 1-й. На каждом уровне к исходным данным добавляется служебная информация (заголовок). Этот процесс называется инкапсуляцией.

    Представьте, что вы отправляете письмо:

  • Вы пишете текст (Прикладной уровень).
  • Кладете его в конверт (Транспортный уровень).
  • Пишете адрес получателя и индекс (Сетевой уровень).
  • Кладете конверт в почтовый ящик, откуда его забирает машина (Канальный/Физический уровень).
  • На стороне получателя происходит обратный процесс — декапсуляция (снятие заголовков).

    Расчет размера передаваемых данных

    Понимание инкапсуляции важно для оценки эффективности сети. Каждый заголовок увеличивает объем передаваемых данных. Это называется накладными расходами (overhead).

    Рассмотрим пример расчета общего размера кадра Ethernet, несущего TCP-пакет. Допустим, мы передаем 1000 Байт полезных данных.

    Нам нужно сложить: * Данные: 1000 Байт * Заголовок TCP: 20 Байт * Заголовок IP: 20 Байт * Заголовок Ethernet: 18 Байт (14 заголовок + 4 контрольная сумма)

    Используем арифметический столбик для наглядности:

    Итоговый размер кадра составит 1058 Байт. Из них полезная нагрузка — только 1000 Байт.

    Эффективность передачи () можно рассчитать по формуле:

    где — эффективность в процентах, — размер полезных данных, — общий размер кадра.

    Подставим наши значения:

    Это означает, что 94,5% трафика — это ваши данные, а 5,5% — служебная информация, необходимая для их доставки.

    Стек протоколов TCP/IP

    Если OSI — это теоретическая модель для обучения, то TCP/IP — это реальный набор протоколов, на котором построен Интернет. Она проще и состоит всего из 4 уровней (в некоторых версиях выделяют 5).

    Согласно skyeng.ru > Модель TCP/IP, хотя и появилась примерно в то же время, развивалась параллельно как часть проекта DARPA и была реализована в сети ARPANET — предшественнице современного интернета.

    Сравнение моделей OSI и TCP/IP

    Модель TCP/IP объединяет несколько уровней OSI в один. Это упрощает структуру, не теряя функциональности.

    | Уровень OSI | Уровень TCP/IP | Протоколы | | :--- | :--- | :--- | | 7. Прикладной | Прикладной | HTTP, DNS, SMTP | | 6. Представления | (входит в Прикладной) | SSL/TLS, JPEG | | 5. Сеансовый | (входит в Прикладной) | SSH | | 4. Транспортный | Транспортный | TCP, UDP | | 3. Сетевой | Сетевой (Интернет) | IP, ICMP | | 2. Канальный | Канальный (Доступа к сети) | Ethernet, Wi-Fi | | 1. Физический | (входит в Канальный) | DSL, Fiber |

    Особенности уровней TCP/IP

  • Прикладной уровень (Application): Объединяет функции уровней 5, 6 и 7 модели OSI. Программа сама решает вопросы кодировки и поддержания сессии.
  • Транспортный уровень (Transport): Полностью соответствует транспортному уровню OSI. Ключевые игроки здесь — TCP и UDP.
  • Сетевой уровень (Internet): Основа интернета. Главный протокол — IP (Internet Protocol). Он не гарантирует доставку, но умеет маршрутизировать пакеты между сетями.
  • Уровень доступа к сети (Network Access): Объединяет канальный и физический уровни OSI. Описывает, как компьютер подключается к среде передачи.
  • По данным habr.com > Фактически протоколы Интернета соответствуют уровням OSI примерно так: Прикладной уровень (OSI 7) соответствует Application (TCP/IP). Протоколы: HTTP, HTTPS, DNS, FTP и др.

    Как это работает на практике?

    Когда вы вводите адрес сайта в браузере:

  • Прикладной уровень: Браузер формирует HTTP-запрос.
  • Транспортный уровень: Протокол TCP добавляет заголовок с портами (чтобы сервер знал, какой программе отдать данные) и обеспечивает надежность.
  • Сетевой уровень: Протокол IP добавляет IP-адреса отправителя и получателя.
  • Канальный уровень: Сетевая карта добавляет MAC-адреса и отправляет данные в кабель.
  • Итоги

    * OSI — это эталонная модель из 7 уровней, используемая для обучения и диагностики. Она помогает локализовать проблему (например, "проблема на физическом уровне" означает, что поврежден кабель). * TCP/IP — это практический стек протоколов из 4 уровней, на котором работает реальный Интернет. Он более сжат, объединяя верхние уровни OSI в один прикладной уровень. * Инкапсуляция — это процесс "обертывания" данных в заголовки при движении от верхнего уровня к нижнему. Обратный процесс называется декапсуляцией. * Ключевые адреса: На канальном уровне используются физические MAC-адреса (внутри локальной сети), а на сетевом — логические IP-адреса (для глобальной маршрутизации). * Эффективность: Полезная нагрузка всегда меньше общего объема передаваемых данных из-за служебных заголовков протоколов.