Компьютерные сети

10.1 IoT и MQTT

Что такое IoT?

IoT (Internet of Things) — концепция подключения обычных устройств к интернету: датчики, умные лампочки, термостаты, камеры и т.д. Эти устройства часто имеют ограниченные ресурсы (малая память, слабый процессор, батарейное питание).

Особенности IoT: Устройства должны работать долго от батареи, передавать мало данных, работать в нестабильных сетях. Поэтому нужны легкие протоколы.

MQTT: протокол для IoT

MQTT (Message Queuing Telemetry Transport) — легкий протокол для обмена сообщениями между IoT-устройствами. Использует модель "публикация-подписка" (pub/sub).

Как работает MQTT:

  • Брокер: Центральный сервер, который получает и распределяет сообщения
  • Публикация: Устройство отправляет сообщение в "топик" (topic) — это как "канал" или "тема"
  • Подписка: Другие устройства подписываются на топики и получают сообщения
  • Пример: Датчик температуры публикует данные в топик "sensors/temperature", а приложение подписывается на этот топик и получает обновления

QoS уровни MQTT

Уровни качества обслуживания:

  • QoS 0 (At most once): Отправил и забыл. Нет подтверждения доставки. Самый быстрый, но могут быть потери.
  • QoS 1 (At least once): Гарантирует доставку, но могут быть дубликаты. Подтверждение получения.
  • QoS 2 (Exactly once): Гарантирует доставку ровно один раз. Самый надежный, но медленнее.

Выбор QoS: Для критичных данных (например, команды управления) используйте QoS 1 или 2. Для периодических измерений (температура) достаточно QoS 0.

Безопасность MQTT

Методы защиты:

  • TLS: Шифрование соединения между устройством и брокером
  • Аутентификация: Логин и пароль для доступа к брокеру
  • ACL: Контроль доступа — какие устройства могут публиковать/подписываться на какие топики
  • Изоляция топиков: Разделение топиков для разных клиентов

Резюме

Ключевые моменты:

  • IoT — подключение обычных устройств к интернету
  • MQTT — легкий протокол для IoT на основе публикации-подписки
  • Брокер — центральный сервер для маршрутизации сообщений
  • Топики — каналы для публикации и подписки
  • QoS — уровни качества (0, 1, 2) для баланса надежности и скорости
  • Безопасность: TLS, аутентификация, ACL для защиты

Цель: Обеспечить эффективный обмен данными между IoT-устройствами с минимальными затратами ресурсов.

10.2 Облачные сети (VPC)

Что такое VPC?

VPC (Virtual Private Cloud) — это изолированная виртуальная сеть в облачном провайдере (AWS, Azure, GCP). По сути, это ваша собственная частная сеть в облаке, где вы можете создавать подсети, настраивать маршрутизацию и правила безопасности.

Аналогия: VPC — это как аренда офисного здания в бизнес-центре. У вас своя изолированная часть, но вы используете общую инфраструктуру (электричество, интернет).

Компоненты VPC

Основные элементы:

  • Подсети (Subnets): Логическое разделение сети, как в обычных сетях
  • Маршруты (Route Tables): Определяют, куда направляется трафик
  • Internet Gateway: Шлюз для выхода в интернет (для публичных подсетей)
  • NAT Gateway: Для выхода приватных подсетей в интернет
  • Security Groups: Firewall на уровне экземпляра (виртуальной машины)
  • NACL (Network ACL): Firewall на уровне подсети

Public и Private подсети

Public подсети:

  • Имеют прямой доступ в интернет через Internet Gateway
  • Используются для веб-серверов, балансировщиков нагрузки
  • Экземпляры получают публичные IP-адреса

Private подсети:

  • Нет прямого доступа в интернет
  • Используются для баз данных, внутренних сервисов
  • Выход в интернет через NAT Gateway (только исходящий трафик)
  • Более безопасны, так как недоступны из интернета

Security Groups и NACL

Security Groups (SG):

  • Firewall на уровне экземпляра (виртуальной машины)
  • Stateful — помнит состояние соединений
  • Разрешающие правила (deny by default)
  • Можно применить к нескольким экземплярам

NACL (Network ACL):

  • Firewall на уровне подсети
  • Stateless — проверяет каждый пакет независимо
  • Может блокировать и разрешать
  • Применяется ко всей подсети

Связность между VPC

VPC Peering:

  • Прямое соединение между двумя VPC
  • Позволяет обмениваться трафиком
  • Простое, но не масштабируется (каждая пара VPC требует отдельного peering)

Transit Gateway:

  • Центральный хаб для соединения множества VPC
  • Упрощает топологию (звезда вместо полносвязной)
  • Централизованное управление маршрутизацией

Лучшие практики

Рекомендации:

  • Разделение сред: Отдельные VPC для production, staging, development
  • Deny by default: Security Groups и NACL блокируют все по умолчанию
  • Минимизация: Открывайте только необходимые порты
  • Централизованные сервисы: Общие DNS, логи, мониторинг
  • Документирование: Ведите документацию по архитектуре и правилам

Резюме

Ключевые моменты:

  • VPC — изолированная виртуальная сеть в облаке
  • Public подсети — прямой доступ в интернет через Internet Gateway
  • Private подсети — выход через NAT Gateway, недоступны из интернета
  • Security Groups — firewall на уровне экземпляра (stateful)
  • NACL — firewall на уровне подсети (stateless)
  • VPC Peering/Transit — соединение между VPC

Цель: Создать безопасную, масштабируемую сетевую инфраструктуру в облаке с правильной изоляцией и контролем доступа.

10.3 SDN

Проблема традиционных сетей

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

Решение: SDN (Software-Defined Networking) — разделяет "мозги" (управление) и "мышцы" (пересылку данных) сети.

Что такое SDN?

SDN — это архитектура, которая отделяет плоскость управления (control plane) от плоскости передачи данных (data plane). Управление централизовано в контроллере, а устройства просто пересылают пакеты по инструкциям контроллера.

Архитектура SDN:

  • Control Plane (плоскость управления): Централизованный контроллер принимает решения о маршрутизации
  • Data Plane (плоскость передачи): Коммутаторы/маршрутизаторы просто пересылают пакеты по правилам от контроллера
  • Южный интерфейс: Связь между контроллером и устройствами (OpenFlow, P4Runtime, gNMI)
  • Северный интерфейс: API для управления сетью приложениями

Аналогия: Традиционная сеть — это "демократия" (каждое устройство решает само). SDN — это "диктатура" (контроллер командует, устройства выполняют).

Преимущества SDN

Зачем использовать SDN:

  • Централизованное управление: Вся конфигурация в одном месте
  • Программируемость: Управление через API, автоматизация
  • Гибкость: Быстрые изменения конфигурации
  • Визуализация: Видимость всей сети из одного места
  • Масштабирование: Легче управлять большими сетями

Intent-Based Networking

Intent-Based Networking — это подход, где вы описываете "желаемое состояние" сети (что должно быть), а система сама определяет, как это реализовать.

Пример:

  • Intent: "Отдел продаж должен иметь доступ к серверу, но не к базе данных"
  • Система: Автоматически создает правила firewall, настраивает маршруты
  • Преимущество: Не нужно думать о деталях реализации

Spine-Leaf архитектура

Современные дата-центры используют архитектуру Spine-Leaf (позвоночник-лист):

Структура:

  • Leaf (лист): Коммутаторы доступа, к которым подключаются серверы
  • Spine (позвоночник): Коммутаторы ядра, соединяющие все Leaf
  • ECMP: Несколько путей между Leaf и Spine для балансировки нагрузки
  • Преимущества: Предсказуемая задержка, масштабируемость, простота

Сервисные цепочки

Service Chaining — автоматическое направление трафика через цепочку сервисов (firewall, IDS, балансировщик) по политике.

Пример: Весь трафик из интернета автоматически проходит через firewall, затем IDS, затем балансировщик перед попаданием на серверы.

Резюме

Ключевые моменты:

  • SDN — разделение управления и передачи данных, централизованное управление
  • Control Plane — централизованный контроллер принимает решения
  • Data Plane — устройства пересылают пакеты по инструкциям
  • Intent-Based — описание желаемого состояния, система реализует
  • Spine-Leaf — современная архитектура дата-центров
  • Преимущества: Централизация, программируемость, гибкость, автоматизация

Цель: Упростить управление сетями, сделать их более гибкими и программируемыми через централизованный контроль.

10.4 SD‑WAN

SD‑WAN использует наложную сеть поверх множества транспортов (MPLS/Интернет/LTE) и централизованную политику для выбора пути на основе метрик качества (потери/задержка/джиттер) и приложений.

Ключевые элементы SD‑WAN

  • Контроллер/Оркестратор: управление политиками и конфигурацией узлов.
  • Edge‑устройства: шифрование, измерение SLA, динамический выбор пути (DIA/ремаршрутизация).
  • Overlay: IPsec/DTLS туннели, сегментация VRF/политики.

Политики и QoS

  • Application‑Aware Routing: выбор пути по сигнатурам/DSCP/портам.
  • Forward Error Correction/Packet Duplication: улучшение качества на ненадёжных каналах.
  • Path Conditioning: shaping/policing/ремаркировка.

10.5 Автоматизация сетей

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

Инструменты и интерфейсы

  • YANG/NETCONF/RESTCONF/gNMI: модельно‑ориентированные интерфейсы устройств.
  • Ansible/Terraform: идемпотентное управление и инфраструктура как код.
  • CI/CD: тесты конфигураций, pre‑change проверки, авто‑rollback.

Проверка состояния сети

  • Intent‑валидаторы: соответствие желаемому состоянию (reachability, policy).
  • Телеметрия: потоковые метрики, событийные шины, автогенерация алертов.
  • Digital Twin: моделирование изменений до применения.

10.6 Для профессионалов

Сеть Kubernetes базируется на модели «каждый Pod имеет собственный IP, все Pod‑ы связны». CNI‑плагин реализует передачу и политику. kube‑proxy обеспечивает сервисы L4, Ingress‑контроллер — L7. В продакшене часто применяются overlay/underlay, eBPF и маршрутизация (например, BGP) для масштабируемости.

Ключевые компоненты K8s Networking

  • CNI: Calico/Flannel/Cilium/Weave — различия в dataplane и политике.
  • Services: ClusterIP/NodePort/LoadBalancer; session affinity и health checks.
  • NetworkPolicy: L3/L4 сегментация между Pod‑ами по меткам.

10.7 MPLS и EVPN/VXLAN

MPLS кратко

  • Метки: быстрый LSR‑пересыл на основе label stack; LDP/RSVP/IS‑IS/OSPF распространяют метки/пути.
  • L2/L3 VPN: VPLS/VPWS и L3VPN (RFC 4364) изолируют клиентов поверх провайдерской сети.
  • TE: RSVP‑TE или Segment Routing для гарантированных путей и SLA.

VXLAN и EVPN

  • VXLAN: overlay L2 поверх L3 с VNI (24 бита), VTEP инкапсулирует/деинкапсулирует кадры.
  • Flood‑and‑Learn vs EVPN: EVPN (BGP) как control‑plane для MAC/IP, ARP‑suppress, мультихоминг (ESI/DF).
  • EVPN Route Types: RT‑2 (MAC/IP), RT‑5 (IP Prefix), RT‑7 (ES routes) — основа фабрик DC.

Практика: underlay L3 Clos (IS‑IS/OSPF + ECMP), overlay EVPN/VXLAN с MLAG/ESI обеспечивает масштаб и отказоустойчивость в ЦОД.

10.8 LTE/5G основы

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

Архитектура

  • LTE (EPC): eNodeB, MME (control), SGW/PGW (user‑plane).
  • 5G (5GC): gNodeB, AMF/SMF (control), UPF (user‑plane); сервис‑ориентированная архитектура.

QoS и режимы

  • NSA/SA: неполно‑ и полно‑самостоятельный 5G.
  • Bearer/QCI/5QI: классы QoS для разных сервисов, приоритет и задержка.
  • Network Slicing: логическая изоляция сетей под сервисы.

10.9 Оптика и L1

Среды и интерфейсы

  • SMF/MMF: одномод/многомод; диапазоны волн (1310/1550 нм), влияние дисперсий.
  • Трансиверы: SFP(+)/SFP28/QSFP(DD), скорости/дальности, BiDi/DSM.
  • Бюджет оптики: мощность, затухание, коннекторы/сплайсы; простая проверка «сойдётся/не сойдётся».

OAM/ETH на L1/L2

  • Ethernet PHY: 1000BASE‑T/10GBASE‑SR/LR/ER и их ограничения по среде.
  • DWDM: уплотнение длин волн; транспондеры/мультиплексоры и OSNR (очень кратко).

Настройки

Цветовая схема

Тема