Как работают сети: IP, порты, TCP и UDP

Чтобы защищать или проверять системы, нужно понимать, как устроена сеть. Начнём с фундамента: IP-адреса, порты и протоколы.

Интернет — это огромная сеть из миллиардов устройств, которые умеют находить друг друга и обмениваться данными. Специалист по безопасности обязан понимать эти механизмы, потому что многие атаки и защиты строятся именно на уровне сети.

IP-адрес: адрес устройства

IP-адрес — это уникальный адрес устройства в сети, похожий на почтовый адрес дома. Чтобы данные дошли до нужного компьютера, у него должен быть адрес. Например, 192.168.1.10 — типичный адрес устройства в домашней сети (формат IPv4). Есть и более новый формат IPv6 — он длиннее и нужен, потому что адресов IPv4 на всех уже не хватает.

Различают локальные адреса (внутри домашней или офисной сети, например 192.168.x.x) и публичные (видимые в интернете).

Порты: двери в устройство

Если IP-адрес — это адрес дома, то порт — это конкретная дверь в этом доме. На одном устройстве может работать много сервисов, и каждый «слушает» свой порт. Несколько типичных портов:

ПортСервис
80HTTP (веб-сайты)
443HTTPS (защищённые веб-сайты)
22SSH (удалённый доступ к терминалу)
53DNS (преобразование имён в адреса)

Понимание портов важно, потому что «открытые двери» (доступные сервисы) — это первое, на что смотрят и защитники, и исследователи. Но помните: сканировать порты можно только на своих или разрешённых системах.

TCP и UDP: два способа передачи

Данные передаются по протоколам. Два самых главных — TCP и UDP.

  • TCP — надёжный протокол «с подтверждением». Он устанавливает соединение и следит, чтобы все данные дошли в правильном порядке. Так работают сайты, почта, передача файлов. Аналогия — заказное письмо с уведомлением о вручении.
  • UDP — быстрый протокол «без подтверждения». Он просто отправляет данные, не гарантируя доставку. Так работают видеозвонки и игры, где важнее скорость, чем идеальная точность. Аналогия — обычная открытка: быстро, но без гарантии.

Маленький практический пример

Давайте на безопасном Python-примере посмотрим, как из имени сайта можно «представить» структуру адреса. Этот код просто демонстрирует понятие — он ничего не сканирует и ничего не атакует.

services = {
    80: "HTTP",
    443: "HTTPS",
    22: "SSH",
    53: "DNS",
}

port = 443
if port in services:
    print("Порт", port, "обычно используется для", services[port])
else:
    print("Порт", port, "не из списка типовых")

print("Всего типовых сервисов в справочнике:", len(services))

Вывод:

Порт 443 обычно используется для HTTPS
Всего типовых сервисов в справочнике: 4

Этот пример показывает идею «справочника портов», которым пользуются специалисты, чтобы понимать назначение сервисов. В следующих уроках мы укрепим фундамент: Linux, командная строка и веб.

Проверьте себя
1. Что такое порт в сетях?
AУникальный адрес устройства
BКонкретная «дверь» сервиса на устройстве
CНазвание протокола
DТип кабеля
2. Чем TCP отличается от UDP?
ATCP быстрее, но без гарантий доставки
BTCP надёжный с подтверждением доставки, UDP быстрый без гарантий
CОни одинаковы
DUDP используется только для сайтов
Поддержать проект