Маршрутизаторы

Тема дорожной карты · Компьютерные сети

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

Как это работает

Маршрутизаторы обеспечивают маршрутизацию данных на различных уровнях сетевой модели OSI. Hubs (устаревшие устройства, которые передают данные на все порты) были заменены современными коммутаторами (L2), которые используют MAC-адреса для перенаправления данных. Рouters (L3) используют IP-адреса для маршрутизации между сетями. Load balancers (L4 TCP или L7 HTTP) распределяют трафик по backends, а firewalls фильтруют трафик, обеспечивая безопасность сети. Прокси-серверы перенаправляют клиентский трафик, а reverse прокси-серверы стоят перед серверами, обеспечивая функции, такие как TLS termination, rate limiting, кеширование и routing. Большинство облачной инфраструктуры абстрагирует эти концепции (VPC routing, ELB, Security Groups), но базовые идеи остаются неизменными.

Когда применять

L7 load balancers (Nginx, Envoy, Cloud ALB) используются для маршрутизации HTTP-трафика, в то время как L4 (HAProxy, NLB) используются для маршрутизации TCP-трафика. Reverse прокси-серверы являются обязательными перед app-серверами, так как они обеспечивают функции TLS termination, rate limiting, кеширования и routing. Firewalls используются для фильтрации трафика, где применяется правило по умолчанию — отклонение всех запросов, за исключением тех, которые указаны в allow-list. В облачных VPCs маршрутизация и брандмауэры становятся декларативными, что требует понимания модели провайдера.

Типичные ошибки

Типичные ошибки при использовании маршрутизаторов включают подключение app-серверов напрямую в интернет без TLS termination и защиты от DDoS-атак. Также ошибкой является использование default-allow firewall, который автоматически открывает все внутренние сервисы для внешнего доступа. Использование L4 LB для HTTP-трафика без path/host routing также является распространенной ошибкой. Использование одного load balancer без health checks может привести к маршрутизации трафика на dead backends.

Связанные понятия

Полезные ресурсы