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 (очень кратко).