Skip to the content.

Вернуться к главной странице, списку всех тем

2. Глобальная сеть Интернет, правила передачи данных в этой сети

Сеть — это совокупность устройств и соединяющих их каналов связи (кабели, Wi‑Fi, сетевое оборудование), позволяющая обмениваться информацией. Без сетей современный мир трудно представить. Они обеспечивают:

Когда два компьютера соединены кабелем или через Wi‑Fi, они могут передавать данные друг другу. Множество таких соединений образует сеть. Например:

Сетевые технологии — это всё, что помогает устройствам общаться. Примеры:

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

Основные сетевые протоколы

TCP/IP (Transmission Control Protocol / Internet Protocol) — это стек (набор) протоколов, организованных в четыре уровня и обеспечивающих передачу данных в Интернете. TCP отвечает за надёжность доставки, а IP — за адресацию и маршрутизацию. Например, когда вы отправляете электронное письмо, данные передаются именно по этим протоколам.

Модель TCP/IP состоит из четырёх уровней:

  1. Прикладной уровень (Application Layer)
    Отвечает за взаимодействие пользовательских программ с сетью. Примеры протоколов этого уровня:
    • HTTP (HyperText Transfer Protocol) — используется для загрузки веб‑страниц и других ресурсов в браузере;
    • FTP (File Transfer Protocol) — передача файлов;
    • SMTP (Simple Mail Transfer Protocol) — отправка электронной почты.
  2. Транспортный уровень (Transport Layer)
    Обеспечивает надёжную (или быструю) передачу данных между двумя хостами (устройствами в сети). Основные протоколы:
    • TCP (Transmission Control Protocol) — гарантирует доставку данных с контролем ошибок и управлением потоком; используется в социальных сетях, электронной почте, при передаче файлов;
    • UDP (User Datagram Protocol) — упрощённый протокол без подтверждения доставки и контроля ошибок; применяется там, где важна скорость (стриминговые сервисы YouTube, Twitch, онлайн‑игры).
  3. Сетевой уровень (Internet Layer)
    Отвечает за маршрутизацию пакетов — небольших блоков данных, содержащих полезную информацию и адрес назначения. Ключевой протокол:
    • IP (Internet Protocol) — задаёт адресацию и доставку пакетов от отправителя к получателю через множество промежуточных сетевых устройств.
  4. Канальный уровень (Link Layer)
    Обеспечивает физическую передачу данных между устройствами, подключёнными к одной локальной сети. Примеры:
    • Ethernet — стандарт для проводных локальных сетей;
    • Wi‑Fi — стандарт беспроводной связи.

Наиболее распространённые коды ответа HTTP

Пример передачи данных

Допустим, вы открываете сайт github.com в браузере:

  1. Браузер формирует HTTP‑запрос к серверу (прикладной уровень).
  2. Запрос передаётся транспортному уровню, где протокол TCP разбивает данные на сегменты и гарантирует надёжную доставку.
  3. На сетевом уровне данные упаковываются в IP‑пакеты и отправляются по оптимальному маршруту до сервера.
  4. На канальном уровне пакеты передаются через физическую среду (например, Ethernet‑кабель или Wi‑Fi).

Дополнительные важные протоколы и понятия

DNS (Domain Name System) — система доменных имён, преобразующая удобные для человека адреса (example.com) в IP‑адреса, понятные компьютерам (192.0.2.123). При вводе адреса в браузере компьютер обращается к DNS‑серверу, получает IP‑адрес и устанавливает соединение с нужным сайтом.

SSH (Secure Shell) — протокол для безопасного удалённого управления серверами и передачи данных (работает поверх TCP). Вся передаваемая информация шифруется. Для аутентификации используются ключи:

TLS (Transport Layer Security) — протокол, обеспечивающий шифрование данных при передаче через Интернет, чтобы исключить их перехват или изменение. Значок замка в адресной строке браузера означает, что соединение защищено TLS и ваши HTTP‑запросы к сайту (который является приложением, развёрнутым на сервере) зашифрованы.


Вопросы

1. Что такое сетевой пакет?
Ответ: Сетевой пакет — это единый блок данных, передаваемый по сети. Он состоит из заголовка (метаинформация: адреса отправителя и получателя, тип протокола) и полезной нагрузки (собственно данные — фрагмент веб‑страницы, кусочек видео и т. д.).
Пояснение: Пакет можно сравнить с конвертом: на конверте написан адрес (заголовок), а внутри лежит письмо (полезная нагрузка). Маршрутизаторы считывают только адрес и направляют конверт дальше.

2. Что такое IP‑адрес? Зачем он нужен?
Ответ: IP‑адрес (Internet Protocol Address) — уникальный идентификатор устройства в сети, своего рода «почтовый адрес» компьютера, телефона или сервера. Он позволяет другим устройствам знать, куда отправлять данные.
Пояснение: Существуют два основных формата:

3. Что такое сетевой порт?
Ответ: Сетевой порт — числовой идентификатор (от 1 до 65535), указывающий, какому конкретному приложению или сервису на устройстве предназначены входящие данные. Один IP‑адрес может обслуживать множество сервисов благодаря разным портам.
Пояснение: Если IP‑адрес — это адрес дома, то порт — номер квартиры. Почтальон (сеть) доставляет письмо (пакет) не просто в дом, а в конкретную квартиру (программу). Веб‑сервер обычно «живёт» в квартире 80 (HTTP) или 443 (HTTPS).

4. Какие популярные порты ты знаешь и для чего они используются?
Ответ:

5. Что такое SSH и как он примерно работает?
Ответ: SSH (Secure Shell) — криптографически защищённый протокол для безопасного удалённого управления компьютером или сервером по сети. Клиент и сервер устанавливают зашифрованный канал, проходят аутентификацию (по паролю или ключу), после чего весь обмен данными (команды терминала, передача файлов) происходит внутри защищённого туннеля.
Пояснение: Представьте себе защищённую линию связи: вы набираете секретный код (ключ), ваш голос шифруется, и вы спокойно управляете удалённым компьютером.

6. Что такое стек TCP/IP?
Ответ: Стек TCP/IP — это набор сетевых протоколов, разделённых на четыре уровня:

  1. Канальный (Wi‑Fi, Ethernet);
  2. Сетевой (IP);
  3. Транспортный (TCP, UDP);
  4. Прикладной (HTTP, SSH, DNS).

Он задаёт стандартные правила упаковки, адресации, передачи и приёма данных между устройствами.
Пояснение: Это «дорожная карта» для пакета: на каждом уровне добавляется свой заголовок, чтобы письмо дошло без ошибок.

7. В чём разница между TCP, UDP и ICMP? Когда что использовать?
Ответ:

8. Какие бывают HTTP‑методы, заголовки и коды ответа?
Ответ:

9. Что такое DNS и как он работает?
Ответ: DNS (Domain Name System) — распределённая система, преобразующая доменные имена в IP‑адреса. Процесс выглядит так:

  1. Браузер запрашивает у DNS‑резолвера (обычно у провайдера) IP‑адрес для youtube.com.
  2. Если резолвер не знает ответа, он обращается к корневым DNS‑серверам (те знают, кто отвечает за зону .com).
  3. Корневые серверы направляют к серверам домена .com.
  4. Серверы .com указывают на DNS‑серверы самого youtube.com.
  5. Серверы youtube.com возвращают IP‑адрес, например 142.250.185.206.
  6. Резолвер кеширует ответ и передаёт IP браузеру.
  7. Браузер устанавливает соединение с этим IP по порту 443 (HTTPS).
    Пояснение: DNS — это гигантская распределённая телефонная книга Интернета: вы спрашиваете имя, система находит номер (IP).

10. Что такое DHCP?
Ответ: DHCP (Dynamic Host Configuration Protocol) — протокол, автоматически назначающий устройству IP‑адрес, маску подсети, основной шлюз и адреса DNS‑серверов при подключении к сети.
Пояснение: Как автоматический администратор: вы подключаетесь к Wi‑Fi, и роутер сразу сообщает: «Ваш адрес — 192.168.1.42, DNS — 8.8.8.8».

11. Что такое MAC‑адрес?
Ответ: MAC‑адрес (Media Access Control) — уникальный аппаратный идентификатор сетевого интерфейса, присвоенный производителем (например, 00:1A:2B:3C:4D:5E). Используется на канальном уровне для доставки кадров в пределах локальной сети.
Пояснение: MAC — это «имя устройства» внутри локального сегмента; коммутаторы по нему определяют, кому адресован кадр.

12. Что такое HTTP и HTTPS? В чём ключевая разница?
Ответ:

13. Что такое веб‑сервер (например, Nginx, Apache)?
Ответ: Веб‑сервер — программа, работающая на сервере (компьютере с постоянным подключением к Интернету). Она хранит файлы сайта (HTML, CSS, JavaScript, изображения) и отдаёт их браузеру по HTTP/HTTPS в ответ на запросы. Nginx и Apache — наиболее популярные реализации.
Пояснение: Веб‑сервер похож на библиотекаря: вы (браузер) просите книгу index.html, библиотекарь находит её на полке и выдаёт вам.
Подвопрос: Какие методы балансировки нагрузки поддерживает Nginx?

14. Что такое браузер (Chrome, Firefox, Safari)?
Ответ: Браузер — программа на вашем устройстве, которая умеет общаться по HTTP/HTTPS, запрашивать у веб‑серверов файлы страниц (HTML, CSS, JavaScript, картинки), интерпретировать полученный код и отображать интерактивные веб‑страницы.
Пояснение: Браузер — переводчик и художник в одном лице: получает от сервера «инструкции» и рисует на экране понятную вам страницу.

15. Что такое клиент и сервер?
Ответ: Это две основные роли в сетевом взаимодействии:

16. Что такое «облако» (Cloud Computing)?
Ответ: Облачные вычисления — модель предоставления вычислительных ресурсов (серверов, хранилищ, баз данных, сетей, программного обеспечения) через Интернет по требованию, с оплатой по факту использования. Вместо покупки и обслуживания собственного оборудования компании арендуют мощности у крупных провайдеров (AWS, Azure, Google Cloud).
Пояснение: Раньше каждая фабрика строила собственную электростанцию; теперь все подключаются к общей электросети и платят за киловатты. «Облако» — это «электросеть» для вычислительных мощностей.

17. Что такое API (Application Programming Interface)?
Ответ: API — набор правил и инструментов, позволяющих одной программе взаимодействовать с другой. Это своего рода «контракт» или «язык общения» между программными компонентами. Клиент через API запрашивает данные или действие, а сервер их предоставляет.
Пояснение: Представьте ресторан. Меню — это API: список доступных блюд (функций) и описание, как их заказать. Вы (клиент) делаете заказ по меню, кухня (сервер) готовит и приносит блюдо. API скрывает от клиента внутреннее устройство кухни.

18. Что такое фронтенд (Frontend) и бэкенд (Backend)?
Ответ:

19. Что такое VPN? Зачем он нужен? Чем отличается от прокси?
Ответ: VPN (Virtual Private Network) — технология, создающая зашифрованный «туннель» между вашим устройством и сервером VPN‑провайдера. Весь интернет‑трафик проходит через этот туннель в зашифрованном виде. Преимущества:

20. Что такое брандмауэр (Firewall)?
Ответ: Брандмауэр — программа или устройство, контролирующее входящий и исходящий сетевой трафик на основе заданных правил. Его задача — блокировать нежелательные или опасные подключения (например, хакерские атаки) и пропускать только легитимный трафик.
Пояснение: Брандмауэр подобен охране на проходной: проверяет каждого входящего (пакет) и пускает только тех, у кого есть пропуск (соответствие правилам).


Практическая часть

  1. ping + tcpdump: поймать живой пакет
    В одном терминале запустите захват ICMP‑пакетов:
    sudo tcpdump -nn -c1 -X icmp
    

    В другом терминале выполните:

    ping -c1 8.8.8.8
    

    В первом окне появится байт‑дамп одного ICMP‑пакета, включая IP‑заголовок и полезную нагрузку.

  2. ip addr + ip link: узнать свой IP и MAC
    Выполните:
    ip addr show
    ip link show
    

    Получите список сетевых интерфейсов, их IPv4/IPv6‑адреса и MAC‑адреса.

  3. ss -tulpn: увидеть открытые порты
    Выполните:
    ss -tulpn
    

    Будет выведена таблица с соответствием «порт → PID/имя процесса» (например, 53/systemd-resolved).

  4. nc TCP vs UDP: ощутить разницу
    TCP:
    Терминал 1: nc -l 12345
    Терминал 2: echo "привет TCP" | nc localhost 12345

    UDP:
    Терминал 1: nc -u -l 12346
    Терминал 2: echo "привет UDP" | nc -u localhost 12346

    TCP требует установки соединения, UDP — нет.

  5. Ручной HTTP‑запрос без браузера
    Выполните:
    curl -v https://vk.com
    

    В подробном выводе (-v) будет видно TLS‑рукопожатие, заголовки ответа, код состояния (обычно 200 OK) и тело страницы.

  6. dig: преобразовать имя в IP
    Выполните:
    dig ya.ru A
    dig ya.ru AAAA
    

    В секциях ANSWER увидите IPv4‑ и IPv6‑адреса, а также TTL записей.

  7. journalctl | grep DHCP: посмотреть, как получили адрес
    Выполните:
    journalctl -u NetworkManager --since "2 minutes ago" | grep -i dhcp
    

    Появятся строки с DHCPACK, содержащие назначенный IP‑адрес, маску, шлюз и DNS‑серверы.

  8. ufw: включить и удалить правило
    sudo ufw allow 12345/tcp
    sudo ufw status
    sudo ufw delete allow 12345/tcp
    

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