Основы TCP/IP
TCP/IP объединяет IP, TCP, UDP, DNS, HTTP, TLS и другие механизмы, которые вместе доставляют данные, но сами по себе не создают анонимность.
Интернет-связь не работает за счет одного большого механизма.
Когда вы открываете сайт, отправляете почту или приложение подключается к серверу, вместе работают несколько правил связи.
Базовая идея для этого — TCP/IP.
В названии TCP/IP есть TCP и IP, но на практике это слово не означает только TCP и IP. Оно используется как название набора коммуникационных протоколов интернета, то есть базовых механизмов связи в целом.
В этой статье TCP/IP рассматривается не как подробная спецификация, а как вход в понимание общей картины интернет-связи.
Что такое TCP/IP
TCP/IP — это базовый набор протоколов, используемый для связи в интернете.
Протокол — это правило связи. Нужны правила о том, как указывать назначение, какими единицами отправлять данные, что делать при потере, в каком формате приложения обмениваются данными.
В TCP/IP связь рассматривают по ролям.
| Роль | Основной механизм | Описание |
|---|---|---|
| Доставить к назначению | IP | Направляет связь к месту назначения с помощью IP-адреса |
| Управлять способом доставки | TCP / UDP | Определяет, как отправлять данные и как учитывать надежность или легкость |
| Разрешать имена | DNS | Ищет IP-адрес, соответствующий доменному имени |
| Обмениваться между приложениями | HTTP и др. | Передает данные Web-страниц, API и других приложений |
| Защищать связь | TLS | Шифрует содержимое HTTP и другой связи, помогает защищать от подмены и имитации |
Так интернет-связь строится на IP, TCP, UDP и сочетается с DNS, HTTP, TLS и другими механизмами.
IP направляет к назначению
IP означает Internet Protocol.
Центральная роль IP — направлять связь к назначению с помощью IP-адресов. В интернете IP-адреса используются для различения устройств и серверов.
Например, когда браузер связывается с веб-сервером, пакеты в итоге отправляются к IP-адресу назначения. Промежуточные роутеры смотрят, в частности, на IP-адрес назначения и решают, куда отправить пакет дальше.
Однако IP — механизм для направления к назначению, и сам по себе он не гарантирует надежность всей связи.
Один IP недостаточно обрабатывает такие вопросы:
- дошли ли данные
- пришли ли данные в правильном порядке
- нужно ли повторно отправлять потерянные данные
- какому приложению внутри одного устройства передать данные
Для этого участвуют TCP, UDP, номера портов и протоколы верхнего уровня.
TCP делает акцент на надежности
TCP означает Transmission Control Protocol.
TCP — механизм, который облегчает точную обработку данных. Он устанавливает соединение с другой стороной, проверяет, дошли ли отправленные данные, повторно отправляет потерянные данные и выстраивает данные в правильном порядке.
Поэтому TCP подходит для связи, где проблема возникает при потере или нарушении порядка данных.
| Назначение | Почему подходит TCP |
|---|---|
| HTTP/1.1 / HTTP/2 | Данные Web-страницы нужно получить правильно |
| Процесс входа | Если часть данных аутентификации потеряется, обработка невозможна |
| Передача файлов | При потере части файл может повредиться |
| Отправка почты | Содержимое сообщения нужно доставить правильно |
Однако TCP — не механизм, который делает все быстрее. Из-за подтверждений и повторных отправок задержка может увеличиваться в зависимости от состояния сети.
TCP важен там, где надежность важнее минимальной задержки.
UDP делает акцент на легкости и гибкости
UDP означает User Datagram Protocol.
UDP не выполняет на уровне самого протокола установление соединения, подтверждение доставки, управление порядком и повторную отправку так, как TCP. За счет этого он легче и дает приложению больше свободы проектировать нужное управление.
UDP используется там, где важны реальное время и гибкое управление.
| Назначение | Почему используется UDP |
|---|---|
| DNS | Короткие запросы и ответы удобно обрабатывать быстро |
| Видеозвонки | Иногда важнее быстро доставить текущий звук или изображение, чем идеально дослать старое |
| Онлайн-игры | Иногда важно часто обновлять текущее состояние с малой задержкой |
| QUIC / HTTP/3 | Поверх UDP добавлены новые механизмы надежности и шифрования |
UDP не означает «плохая связь, потому что ей нельзя доверять». UDP сам по себе уменьшает число гарантий и оставляет нужное управление приложению или верхнему механизму.
Существуют механизмы вроде QUIC, которые используют UDP как основу, но самостоятельно реализуют надежность и шифрование.
Номер порта различает приложения
IP-адрес показывает положение другой стороны в сети. Но внутри одного устройства или сервера одновременно работают несколько приложений и сервисов.
Поэтому одного IP-адреса недостаточно, чтобы понять, какому приложению передать связь.
Для этого используются номера портов.
| Информация | Роль | Пример |
|---|---|---|
| IP-адрес | Показывает, к какому устройству или серверу направляться | IP-адрес веб-сервера |
| Номер порта | Показывает, какому сервису внутри этого устройства передать связь | 443 для HTTPS, 53 для DNS |
| Протокол связи | Показывает TCP, UDP и т.п. | TCP 443, UDP 53 |
Например, если на одном сервере работают Web, DNS и почта, их можно различать разными номерами портов.
Даже если TCP и UDP используют один и тот же номер, это разные виды связи. То есть TCP 443 и UDP 443 используют одно число «443», но это не одна и та же связь.
DNS, HTTP и TLS тоже работают поверх TCP/IP
При просмотре сайта связь не завершается только IP, TCP и UDP.
Люди обычно указывают сайт не IP-адресом, а доменным именем. Поэтому сначала DNS ищет IP-адрес, соответствующий доменному имени.
Когда IP-адрес известен, браузер подключается к назначению. Для получения Web-страницы используется HTTP. В HTTPS HTTP-связь защищается TLS.
| Механизм | Роль |
|---|---|
| DNS | Ищет IP-адрес по доменному имени |
| IP | Переносит пакеты к IP-адресу назначения |
| TCP / UDP | Обрабатывают способ доставки данных |
| TLS | Шифрует содержимое связи, проверяет назначение и обнаруживает подмену |
| HTTP | Обменивается данными Web-страниц и API |
Важно, что эти механизмы не конкурируют, а делят роли.
Например, HTTPS — это HTTP, защищенный TLS. И чаще всего ниже него используются TCP или UDP и IP.
Поток при открытии Web-страницы
С точки зрения TCP/IP открытие Web-страницы можно кратко разложить так:
| Этап | Что происходит | Связанные механизмы |
|---|---|---|
| 1 | URL интерпретируется | Браузер, HTTP/HTTPS |
| 2 | По доменному имени ищется IP-адрес | DNS |
| 3 | Связь направляется к IP-адресу назначения | IP, маршрутизация |
| 4 | Управляется способ доставки данных | TCP, UDP, QUIC и др. |
| 5 | При HTTPS связь защищается | TLS |
| 6 | Запрашиваются данные страницы или API | HTTP |
| 7 | Полученные данные показываются на экране | Браузер |
На практике участвуют кэш, CDN, балансировщики нагрузки, повторное использование существующих соединений и другое. Поэтому не каждый раз все происходит полностью с нуля и строго в одинаковом порядке.
Но как основа полезно думать, что DNS, IP, TCP/UDP, TLS и HTTP выполняют разные роли.
TCP/IP и анонимность
TCP/IP — не механизм анонимизации. Это основа, которая позволяет связи работать в интернете.
Поэтому информация, необходимая для связи, может быть видна на маршруте или стороне назначения.
| Информация | Где может быть видна | Внимание для анонимности |
|---|---|---|
| IP-адрес источника | Сервер назначения, оборудование на маршруте и др. | Признак сети подключения |
| IP-адрес назначения | Оборудование на маршруте и др. | Материал для предположения, к какому серверу идет связь |
| Номер порта | Роутеры, файрволы, журналы связи | Материал для предположения типа связи, например HTTPS, DNS, VPN |
| Протокол связи | Роутеры, файрволы, журналы связи | Обработка отличается для TCP и UDP |
| Объем и время связи | Оборудование на маршруте, сервер назначения и др. | Материал для сопоставления с поведением и другими журналами |
HTTPS и TLS помогают защищать содержимое связи. Но IP-адрес, объем связи, время связи и отношения с назначением не исчезают полностью.
При размышлении об анонимности нужно разделять содержание связи и внешнюю информацию, необходимую для ее работы.
Итоги
TCP/IP — базовый набор протоколов, благодаря которому работает интернет-связь.
IP направляет связь к назначению с помощью IP-адресов. TCP устанавливает соединение и делает акцент на надежности через подтверждения, повторную отправку и управление порядком. UDP уменьшает число гарантий и делает акцент на легкости и гибкости.
Номера портов используются, чтобы различать, какому приложению или сервису внутри одного устройства или сервера передать связь.
DNS, HTTP и TLS тоже работают поверх TCP/IP и делят роли. При открытии Web-страницы DNS ищет IP-адрес, IP направляет к назначению, TCP или UDP обрабатывает доставку, в HTTPS TLS защищает связь, а HTTP передает содержимое страницы.
TCP/IP — не технология анонимизации. Для работы связи обрабатываются IP-адреса, номера портов, протоколы связи, объем, время и другая информация.
Если понимать эту основу, легче изучать DNS, HTTP/HTTPS, TLS, VPN, Tor, журналы связи и понимать, о каком уровне и о какой информации идет речь.
Связанные инструменты
WhatIsMyIP
Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.
Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.
