Сети передачи данных
Сеть передаёт пакеты между узлами через каналы, коммутаторы и маршрутизаторы. Для приложения важен не список оборудования, а свойства пути: задержка, пропускная способность, потери и изменение порядка.
Уровни
| Уровень | Задача | Примеры понятий |
|---|---|---|
| канал | доставка кадров в одном сегменте | MAC, Ethernet, Wi-Fi |
| сеть | адресация и маршрут между сетями | IP, router |
| транспорт | обмен между процессами | TCP, UDP, порт |
| приложение | прикладной протокол | HTTP, DNS |
Инкапсуляция:
HTTP-сообщение -> TCP-сегмент -> IP-пакет -> Ethernet-кадрКоммутация и маршрутизация
Коммутатор обычно пересылает кадры внутри канального сегмента по MAC-адресам. Маршрутизатор выбирает следующий участок пути между IP-сетями. NAT меняет адресное представление потока, но не заменяет firewall.
Характеристики
- bandwidth — сколько данных можно передать за единицу времени;
- latency — сколько занимает доставка;
- jitter — разброс задержки;
- packet loss — доля потерянных пакетов;
- MTU — максимальный размер пакета на участке без фрагментации.
Высокая пропускная способность не гарантирует низкую задержку. Для короткого API-вызова важнее несколько сетевых раундов, для большого файла — ещё и полоса.
LAN, MAN, WAN
- LAN охватывает локальную инфраструктуру с единым административным управлением;
- MAN связывает площадки на масштабе города;
- WAN соединяет удалённые сети через операторов и множество маршрутов.
Граница определяется не только расстоянием, но и владением инфраструктурой и характеристиками канала.
Разбор проблемы
имя -> IP -> маршрут -> TCP/TLS -> прикладной ответПроверяю по порядку:
- разрешается ли имя;
- достижим ли адрес и правильный ли маршрут;
- открыт ли порт;
- устанавливается ли защищённое соединение;
- отвечает ли приложение;
- где появляется задержка или потеря.
Связано: DNS, Http протокол, Принципы организации Интернет.
Самопроверка
- Чем bandwidth отличается от latency?
- Почему успешный DNS-запрос не доказывает доступность приложения?
- Какие дополнительные проблемы появляются у TCP при потерях?