Computer Networks Theory

Классификация сетей

Тип коммутации

Технология передачи

Широковещательные сети — IEEE 802.3 классический Ethernet, IEEE 802.11 Wi-Fi.

Точка-точка — IEEE 802.3 коммутируемый Ethernet.

Протяжённость сети

Название Протяжённость Расположение
Персональная 1 м На столе
Локальная 10 м – 1 км Комната, здание, корпус
Муниципальная 10 км Город
Глобальная 100 – 1000 км Страна, континент
Объединение сетей 10 000 км Весь мир

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

Топология сети — это

  1. “схема” соединения компьютеров в сети;
  2. конфигурация графа, в котором:
    • вершины — узлы сети (компьютеры и сетевое оборудование);
    • рёбра — связи между узлами (физические или логические).

Физическая топология сети — соединения устройств в сети. Логическая топология сети — правила распространения сигналов в сети.

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

Примеры:

Стандарты в области компьютерных сетей

Зачем нужны стандарты?

На раннем этапе развития компьютерных сетей (1960–1970 гг.) стандартизация отсутствовала.

Проблемы, связанные с отсутствием стандартизации:

Решением проблем явилась стандартизация.

Типы стандартов

De jure (формальные, юридические) — стандарты, принятые по формальным законам стандартизации.

De facto (фактические) — стандарты, установившиеся сами собой и пользующиеся большой популярностью.

Стандарты компьютерных сетей

Эталонная модель взаимодействия открытых систем (OSI, Open System Interconnection) — разработан ISO (International Standardization Organization).

Технологии передачи данных — разработаны IEEE (англ. Institute of Electrical and Electronics Engineerings, Институт инженеров по электронике и электротехнике).

Протоколы Интернет — разработаны IAB (англ. Internet Architecture Board, рус. Совет по архитектуре Интернет).

Стандарты IEEE

Номер стандарта Назначение
IEEE 802.3 Ethernet
IEEE 802.11 Беспроводные локальные сети (Wi-Fi)
IEEE 802.15 Персональные сети (Bluetooth)
IEEE 802.16 Широкополосные беспроводные сети (WiMAX)

IAB

Долгосрочные, перспективные исследования — разрабатываются IRTF (англ. Internet Research Task Force, рус. Группа исследований Интернет).

Стандарты на сетевые протоколы — разрабатываются IETF (англ. Internet Engineering Task Force, рус. Группа проектирования Интернет).

Документы с описанием работы протоколов — разрабатываются RFC (англ. Request For Comments, рус. Запрос комментариев).

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

Основы организации компьютерных сетей

Сложность создания компьютерных сетей

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

Решением является декомпозиция на отдельные задачи по шаблону “Уровни”.

Базовые понятия компьютерных сетей

Сервис — функции, реализуемые уровнем.

Интерфейс — набор примитивных операций, которые нижестоящий уровень предоставляет вышестоящему уровню.

Протокол — правила передачи информации между одними и теми же уровнями разных компьютеров.

Архитектура сети

В архитектуру входят набор уровней и протоколов сети. Интерфейсы не входят.

Стек протоколов — иерархически организованный набор протоколов, достаточный для организации взаимодействия по компьютерной сети.

Эталонные модели организации сетей

Модель OSI

OSI (Open System Interconnection) — юридический стандарт ISO. Имеет 7 уровней. Хорошо проработан, но не используется на практике.

Модель TCP/IP

TCP/IP — фактический стандарт на основе популярного стека протоколов TCP/IP, который широко используется на практике. Имеет 4 уровня. Является основой Интернет.

Инкапсуляция

Инкапсуляция — включение сообщения вышестоящего уровня в сообщение нижестоящего уровня. В сообщение входят: заголовок, данные, концевик.

Модель OSI

Модель OSI является открытой системой, т. е. построена в соответствие с общедоступными спецификациями. Описывает назначения 7 уровней организации сети. Не описывает протоколы. Используется в качестве “общего языка” для описания разных сетей. Архитектурой не является.

К преимуществам открытых систем относятся:

Физический уровень

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

Канальный уровень

Определяет начало и конец сообщения в потоке бит, полученном с физического уровня, формирует кадры. Обнаруживает и исправляет ошибки.

В широковещательной сети:

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

Методы выделения кадров

Указатель количества байт

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

Вставка байтов и битов

Начало и конец каждого кадра отмечается специальными последовательностями байтов или бит.

Протокол BSC (Binary Synchronous Communications) использует байты DLE STX (10h, 02h) для начала кадра и DLE ETX (10h, 03h) для конца кадра, где DLE — Data Link Escape, STX — Start of TeXt, ETX — End of TeXt.

Протоколы HDLC (High-level Data Link Control) и PPP используют последовательность битов $01111110_2$ и для начала, и для конца кадра. В данных после пяти последовательных единиц добавлялся 0.

Средства физического уровня

Классический Ethernet — 7 байтов $01010101_2$ преамбула и 1 байт $10101011_2$ ограничитель начала кадра.

Fast Ethernet — начало кадра символы J $11000_2$ и K $10001$, конец — символ T $01101_2$.

Обнаружение и исправление ошибок

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

Сетевой уровень

Объединяет сети, построенные на основе разных технологий (Ethernet, Wi-Fi, 3G/4G/5G). Создаёт составную сеть, согласуя различия в сетях. Использует сетевые (по-другому — глобальные) адреса. Определяет маршруты пересылки пакетов в составной сети (осуществляет маршрутизацию).

Транспортный уровень

Обеспечивает передачу данных между процессами на хостах. Может предоставлять надёжность выше, чем у сети. Наиболее популярный сервис (видимо, среди сервисов, предоставляемых данным уровнем) — защищённый от ошибок канал с гарантированным порядком следования сообщений.

Сквозной уровень:

Сеансовый уровень

Позволяет устанавливать сеансы связи. Решает следующие задачи:

Уровень представления

Согласует синтаксис и семантику передаваемых данных: форматы представления символов, чисел и т. д. Шифрует и дешифрует. Примеры протоколов: TLS (Transport Layer Security), SSL (Secure Sockets Layer).

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

Прикладной уровень

Набор приложений, полезных пользователю:

Единицы передаваемых данных

Уровень Название единицы
Прикладной Сообщение
Представления Сообщение
Сеансовый Сообщение
Транспортный Сегмент/Дейтаграмма
Сетевой Пакет
Канальный Кадр
Физический Бит

Сетевое оборудование

Уровень модели OSI Оборудование
Сетевой Маршрутизатор
Канальный Коммутатор, точка доступа
Физический Концентратор

Модель и стек протоколов TCP/IP

Модель TCP/IP описывает, как нужно строить сети на основе разных технологий, чтобы в них работал стек TCP/IP.

Прикладной уровень, уровень представления и сеансовый уровень в модели OSI соответствует прикладному уровню в TCP/IP, транспортный без изменений, сетевому соответствует Интернет, канальному и физическому — уровень сетевых интерфейсов.

В TCP/IP + OSI уровень сетевых интерфейсов поделён на физический и канальный, как в модели OSI.

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

Стек протоколов TCP/IP — основа Интернет. Модель TCP/IP — фактический стандарт организации компьютерных сетей.

Технология Ethernet

Находится на канальном и физическом уровнях модели OSI (подуровень управления логическим каналом (LLC) подуровень управления доступом к среде (MAC)).

Классический Ethernet работает по широковещательной технологии передачи данных, коммутируемый Ethernet — по технологии “точка-точка”.

Физический уровень Ethernet — коаксиальный кабель, витая пара, оптоволокно.

Канальный уровень Ethernet — методы доступа и протоколы одинаковы для любой среды передачи данных. В классическом Ethernet подуровни LLC и MAC смешаны.

В одном сегменте сети (одна широковещательная сеть Ethernet или Wi-Fi, один VLAN в коммутируемом Ethernet) не должно быть одинаковых MAC-адресов.

VLAN

Технология разделения одной физический сети на несколько логических. Место в модели OSI: канальный уровень, коммутаторы.

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

Пример таблицы коммутации:

Порт коммутатора MAC-адрес VLAN
1 1C-75-08-D2-49-45 2
2 00-02-B3-A7-88-34 3
3 00-04-AC-85-E7-03 3

Локальные и глобальные адреса

Локальные адреса — адреса канального уровня. Например: MAC-адрес в Ethernet или Wi-Fi, IMEI в 4G. Привязаны к конкретной технологии. Не могут быть использованы в шетерогенных сетях.

Глобальные адреса — адреса сетевого уровня (уровня Интернет в модели TCP/IP). Например: IP-адрес. Не привязаны к технологии. Применяются при объединении сетей (Интернет).

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

Маршрутизация — поиск маршрута доставки пакета между сетями через различные узлы — маршрутизаторы.

Продвижение — передача пакета внутри маршрутизатора в соответствие с правилами маршрутизации.

Протоколы сетевого уровня

IP — протокол передачи данных на сетевом уровне.

ARP — протокол разрешения адресов. Позволяет определить по IP-адресу компьютера его MAC-адрес.

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

ICMP — протокол межсетевых управляющих сообщений. Сообщения об ошибках в работе сети: получатель недоступен, закончилось время жизни пакета (TTL), запрещено фрагментировать пакет. Тестирование работы сети с помощью утилит ping (доступность получателя), traceroute (определения маршрута до получателя).