TCP/IP: Просто о сложном. Объяснение на пальцах

В основе работы глобальной сети Интернет лежит стек протоколов TCP/IP. Это простой набор правил обмена информацией. Эти правила вам хорошо известны, хотя вы, вероятно, об этом и не догадываетесь. В принципах работы протоколов TCP/IP нет ничего нового – всё новое – это хорошо забытое старое.

Аналогия с почтой

Принципы работы интернет-протоколов TCP/IP очень просты и напоминают работу обычной почты.

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

Компьютеры и приложения в сети

В сети Интернет каждый компьютер (узел или хост) имеет уникальный IP-адрес (например, 195.34.32.116). IP-адрес состоит из четырёх десятичных чисел от 0 до 255, разделённых точками.

Знания только IP-адреса недостаточно. Каждое приложение на компьютере имеет свой номер порта. Например:

  • Почтовый сервис: порт 25
  • Веб-сервис: порт 80
  • FTP: порт 21

Комбинация IP-адреса и номера порта называется сокет (например, 82.146.49.55:2049). Пакет данных содержит адрес отправителя и получателя (сокеты).

DNS-сервер и доменные имена

Запоминать цифровые IP-адреса трудно. Поэтому используется система доменных имён (DNS). DNS-сервер преобразует доменное имя (например, www.off-net.ru) в цифровой IP-адрес. DNS-сервер обычно слушает порт 53.

Когда вы вводите URL в браузере, происходит следующее:

  1. Операционная система отправляет запрос DNS-серверу (порт 53).
  2. DNS-сервер возвращает IP-адрес.
  3. Компьютер устанавливает соединение с веб-сервером (порт 80) и получает страницу.

Уровни протокола TCP/IP

Пакет проходит несколько уровней:

  • Сетевой уровень (IP): доставка IP-пакетов от отправителя к получателю. Содержит IP-адреса отправителя и получателя. Номера портов не используются.
  • Транспортный уровень (TCP и UDP): добавляются номера портов отправителя и получателя.
    • TCP: протокол с установлением соединения и гарантированной доставкой.
    • UDP: протокол без установления соединения и без гарантированной доставки.
  • Прикладной уровень: протоколы, такие как HTTP, FTP и другие.

Важные IP-адреса и команды

Некоторые важные IP-адреса:

  • 0.0.0.0: все нулевые адреса
  • 127.0.0.1: localhost (локальный адрес компьютера)
  • 192.168.*.*: адреса для локальных сетей.

Маска подсети и шлюз по умолчанию (роутер) определяют, как пакеты передаются внутри локальной сети и в другие сети. Команда netstat -an отображает список установленных соединений, показывая IP-адреса и номера портов. Пример вывода:

  • 0.0.0.0:135: компьютер слушает порт 135.
  • 91.76.65.216:139: компьютер слушает порт 139 на своём IP-адресе.
  • 91.76.65.216:1719: соединение с 212.58.226.20:80 (обращение к веб-серверу). Команда netstat -n аналогична, но отображает только числовые IP-адреса.

Зачем понимать эти принципы?

Понимание принципов работы Интернета необходимо для:

  • Диагностики проблем (например, анализ сетевой активности).
  • Настройки брандмауэра (Firewall). Важно знать, какие порты открывать, а какие закрывать (например, порты 135, 139 для доступа к общим ресурсам Windows, порт 21 для FTP, порт 25 для SMTP, порт 110 для POP3, порт 80 для веб-сервера).

Понимание принципов работы TCP/IP позволяет увереннее ориентироваться в сети Интернет и эффективно решать возникающие проблемы.

Что будем искать? Например,программа