Learn

284 статейКатегория: Все
Сеть

Основы TCP/IP

Интернет-связь не работает за счет одного большого механизма.

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

Базовая идея для этого — 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-адреса используются для различения устройств и серверов.

Например, когда браузер связывается с Web-сервером, пакеты в итоге отправляются к 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-адрес Web-сервера
Номер портаПоказывает, какому сервису внутри этого устройства передать связь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-страницы можно кратко разложить так:

ЭтапЧто происходитСвязанные механизмы
1URL интерпретируетсяБраузер, HTTP/HTTPS
2По доменному имени ищется IP-адресDNS
3Связь направляется к IP-адресу назначенияIP, маршрутизация
4Управляется способ доставки данныхTCP, UDP, QUIC и др.
5При HTTPS связь защищаетсяTLS
6Запрашиваются данные страницы или APIHTTP
7Полученные данные показываются на экранеБраузер

На практике участвуют кэш, CDN, балансировщики нагрузки, повторное использование существующих соединений и другое. Поэтому не каждый раз все происходит полностью с нуля и строго в одинаковом порядке.

Но как основа полезно думать, что DNS, IP, TCP/UDP, TLS и HTTP выполняют разные роли.

TCP/IP и анонимность

TCP/IP — не механизм анонимизации. Это основа, которая позволяет связи работать в интернете.

Поэтому информация, необходимая для связи, может быть видна на маршруте или стороне назначения.

ИнформацияГде может быть виднаВнимание для анонимности
IP-адрес источникаСервер назначения, оборудование на маршруте и др.Признак сети подключения
IP-адрес назначенияОборудование на маршруте и др.Материал для предположения, к какому серверу идет связь
Номер портаРоутеры, файрволы, журналы связиМатериал для предположения типа связи, например HTTPS, DNS,
Протокол связиРоутеры, файрволы, журналы связиОбработка отличается для 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, , журналы связи и понимать, о каком уровне и о какой информации идет речь.

Связанные инструменты

Public IP Check

WhatIsMyIP

Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://www.whatismyip.com/

Открыть внешний сайт

Связанные статьи