Вернуться к главной странице, списку всех тем
2. Глобальная сеть Интернет, правила передачи данных в этой сети
Сеть — это совокупность устройств и соединяющих их каналов связи (кабели, Wi‑Fi, сетевое оборудование), позволяющая обмениваться информацией. Без сетей современный мир трудно представить. Они обеспечивают:
- удалённую работу — сотрудники используют общие ресурсы компании из дома;
- быстрый обмен данными — файл мгновенно доставляется коллеге на другом континенте;
- работу интернет‑сервисов — социальные сети, онлайн‑магазины, стриминговые платформы.
Когда два компьютера соединены кабелем или через Wi‑Fi, они могут передавать данные друг другу. Множество таких соединений образует сеть. Например:
- в офисе компьютеры объединены в локальную сеть — можно совместно использовать файлы, принтер и общий доступ в Интернет;
- Интернет — глобальная сеть, связывающая миллиарды устройств по всему миру (фактически это огромное количество соединённых между собой компьютеров и маршрутизаторов).
Сетевые технологии — это всё, что помогает устройствам общаться. Примеры:
- Wi‑Fi — беспроводная передача данных, позволяющая подключаться к сети без кабелей;
- Ethernet — проводная технология, где устройства соединяются кабелями;
- протоколы — наборы правил, определяющих, как именно должны передаваться данные (например, HTTP — протокол для просмотра веб‑сайтов).
Представьте, что вы хотите отправить сообщение другу по сети. Вы можете писать его с заглавной буквы или без, ставить точку или нет. Как другу понять, что пишете именно вы и что это, скажем, файл, а не письмо? Необходимо заранее договориться о формате обмена данными, чтобы обе стороны понимали друг друга.
Основные сетевые протоколы
TCP/IP (Transmission Control Protocol / Internet Protocol) — это стек (набор) протоколов, организованных в четыре уровня и обеспечивающих передачу данных в Интернете. TCP отвечает за надёжность доставки, а IP — за адресацию и маршрутизацию. Например, когда вы отправляете электронное письмо, данные передаются именно по этим протоколам.
Модель TCP/IP состоит из четырёх уровней:
- Прикладной уровень (Application Layer)
Отвечает за взаимодействие пользовательских программ с сетью. Примеры протоколов этого уровня:- HTTP (HyperText Transfer Protocol) — используется для загрузки веб‑страниц и других ресурсов в браузере;
- FTP (File Transfer Protocol) — передача файлов;
- SMTP (Simple Mail Transfer Protocol) — отправка электронной почты.
- Транспортный уровень (Transport Layer)
Обеспечивает надёжную (или быструю) передачу данных между двумя хостами (устройствами в сети). Основные протоколы:- TCP (Transmission Control Protocol) — гарантирует доставку данных с контролем ошибок и управлением потоком; используется в социальных сетях, электронной почте, при передаче файлов;
- UDP (User Datagram Protocol) — упрощённый протокол без подтверждения доставки и контроля ошибок; применяется там, где важна скорость (стриминговые сервисы YouTube, Twitch, онлайн‑игры).
- Сетевой уровень (Internet Layer)
Отвечает за маршрутизацию пакетов — небольших блоков данных, содержащих полезную информацию и адрес назначения. Ключевой протокол:- IP (Internet Protocol) — задаёт адресацию и доставку пакетов от отправителя к получателю через множество промежуточных сетевых устройств.
- Канальный уровень (Link Layer)
Обеспечивает физическую передачу данных между устройствами, подключёнными к одной локальной сети. Примеры:- Ethernet — стандарт для проводных локальных сетей;
- Wi‑Fi — стандарт беспроводной связи.
Наиболее распространённые коды ответа HTTP
- 200 OK — запрос выполнен успешно;
- 301 Moved Permanently — ресурс окончательно перемещён на новый адрес;
- 307 Temporary Redirect — временное перенаправление;
- 308 Permanent Redirect — постоянное перенаправление (аналог 301, но с сохранением метода запроса);
- 400 Bad Request — некорректный запрос;
- 401 Unauthorized — требуется аутентификация;
- 403 Forbidden — доступ запрещён (прав недостаточно);
- 404 Not Found — ресурс не найден;
- 405 Method Not Allowed — метод запроса не поддерживается;
- 418 I’m a teapot — шуточный код из RFC 2324 (протокол управления кофеварками), означающий, что сервер — чайник и не может заварить кофе;
- 429 Too Many Requests — превышен лимит запросов;
- 499 Client Closed Request — клиент закрыл соединение до получения ответа (используется в Nginx);
- 500 Internal Server Error — внутренняя ошибка сервера;
- 502 Bad Gateway — некорректный ответ от вышестоящего сервера;
- 503 Service Unavailable — сервис временно недоступен;
- 504 Gateway Timeout — шлюз не дождался ответа от вышестоящего сервера.
Пример передачи данных
Допустим, вы открываете сайт github.com в браузере:
- Браузер формирует HTTP‑запрос к серверу (прикладной уровень).
- Запрос передаётся транспортному уровню, где протокол TCP разбивает данные на сегменты и гарантирует надёжную доставку.
- На сетевом уровне данные упаковываются в IP‑пакеты и отправляются по оптимальному маршруту до сервера.
- На канальном уровне пакеты передаются через физическую среду (например, 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) — уникальный идентификатор устройства в сети, своего рода «почтовый адрес» компьютера, телефона или сервера. Он позволяет другим устройствам знать, куда отправлять данные.
Пояснение: Существуют два основных формата:
- IPv4: выглядит как
192.168.1.1(четыре числа от 0 до 255). Адреса IPv4 практически исчерпаны. - IPv6: выглядит как
2001:0db8:85a3:0000:0000:8a2e:0370:7334. Адресное пространство огромно, это будущее Интернета.
3. Что такое сетевой порт?
Ответ: Сетевой порт — числовой идентификатор (от 1 до 65535), указывающий, какому конкретному приложению или сервису на устройстве предназначены входящие данные. Один IP‑адрес может обслуживать множество сервисов благодаря разным портам.
Пояснение: Если IP‑адрес — это адрес дома, то порт — номер квартиры. Почтальон (сеть) доставляет письмо (пакет) не просто в дом, а в конкретную квартиру (программу). Веб‑сервер обычно «живёт» в квартире 80 (HTTP) или 443 (HTTPS).
4. Какие популярные порты ты знаешь и для чего они используются?
Ответ:
- 80 — HTTP (обычные веб‑сайты);
- 443 — HTTPS (защищённые веб‑сайты);
- 22 — SSH (безопасное удалённое управление);
- 25 / 587 — SMTP (отправка электронной почты);
- 53 — DNS (преобразование доменных имён в IP‑адреса).
Пояснение: Порты — это «двери» на сервере; зная номер, клиент «стучится» именно туда, где его ожидает нужный сервис.
5. Что такое SSH и как он примерно работает?
Ответ: SSH (Secure Shell) — криптографически защищённый протокол для безопасного удалённого управления компьютером или сервером по сети. Клиент и сервер устанавливают зашифрованный канал, проходят аутентификацию (по паролю или ключу), после чего весь обмен данными (команды терминала, передача файлов) происходит внутри защищённого туннеля.
Пояснение: Представьте себе защищённую линию связи: вы набираете секретный код (ключ), ваш голос шифруется, и вы спокойно управляете удалённым компьютером.
6. Что такое стек TCP/IP?
Ответ: Стек TCP/IP — это набор сетевых протоколов, разделённых на четыре уровня:
- Канальный (Wi‑Fi, Ethernet);
- Сетевой (IP);
- Транспортный (TCP, UDP);
- Прикладной (HTTP, SSH, DNS).
Он задаёт стандартные правила упаковки, адресации, передачи и приёма данных между устройствами.
Пояснение: Это «дорожная карта» для пакета: на каждом уровне добавляется свой заголовок, чтобы письмо дошло без ошибок.
7. В чём разница между TCP, UDP и ICMP? Когда что использовать?
Ответ:
- TCP (Transmission Control Protocol) — протокол с установкой соединения, гарантирующий надёжную доставку данных в правильном порядке и без ошибок. Похож на заказное письмо с уведомлением. Используется для веб‑страниц (HTTP/HTTPS), электронной почты (SMTP, IMAP), передачи файлов (FTP), SSH.
- UDP (User Datagram Protocol) — протокол без установки соединения и гарантий доставки. Быстрый, но ненадёжный. Похож на обычную открытку: если потеряется, отправитель не узнает. Применяется в стриминге видео и аудио, онлайн‑играх, VoIP, DNS‑запросах — там, где скорость важнее 100% точности каждого бита.
- ICMP (Internet Control Message Protocol) — вспомогательный протокол сетевого уровня, не передающий пользовательские данные. Служит для диагностики сети и проверки доступности узлов (команда
ping).
Пояснение: TCP — для важных документов, где ошибка критична. UDP — для разговора по телефону, где потеря пары слов не страшна, но задержка (лаг) раздражает.
8. Какие бывают HTTP‑методы, заголовки и коды ответа?
Ответ:
- Методы:
GET(получить ресурс),POST(создать),PUT/PATCH(обновить),DELETE(удалить),HEAD(только заголовки) и другие. - Заголовки:
Content-Type(тип передаваемых данных),Authorization(токен или ключ аутентификации),User-Agent(информация о клиенте),Cookieи т. д. - Коды ответа:
- 2xx — успех (
200 OK,201 Created); - 3xx — перенаправление (
301 Moved Permanently,304 Not Modified); - 4xx — ошибка клиента (
404 Not Found,401 Unauthorized); - 5xx — ошибка сервера (
500 Internal Server Error).
Пояснение: Метод — «что хотим сделать», заголовки — «уточнения», код — «получилось или нет».
- 2xx — успех (
9. Что такое DNS и как он работает?
Ответ: DNS (Domain Name System) — распределённая система, преобразующая доменные имена в IP‑адреса. Процесс выглядит так:
- Браузер запрашивает у DNS‑резолвера (обычно у провайдера) IP‑адрес для
youtube.com. - Если резолвер не знает ответа, он обращается к корневым DNS‑серверам (те знают, кто отвечает за зону
.com). - Корневые серверы направляют к серверам домена
.com. - Серверы
.comуказывают на DNS‑серверы самогоyoutube.com. - Серверы
youtube.comвозвращают IP‑адрес, например142.250.185.206. - Резолвер кеширует ответ и передаёт IP браузеру.
- Браузер устанавливает соединение с этим 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? В чём ключевая разница?
Ответ:
- HTTP (HyperText Transfer Protocol) — основной протокол обмена данными между браузером и веб‑сервером. Передаёт информацию в открытом виде (без шифрования). Как открытка — её может прочитать любой.
- HTTPS (HTTP Secure) — это HTTP + шифрование с помощью TLS/SSL. Весь трафик между клиентом и сервером зашифрован. Как запечатанный конверт — прочитать могут только отправитель и получатель.
Пояснение: HTTP — говорить секреты по незащищённой линии; HTTPS — по защищённой. Всегда используйте HTTPS, особенно для ввода логинов, паролей и платёжных данных! 🔒
13. Что такое веб‑сервер (например, Nginx, Apache)?
Ответ: Веб‑сервер — программа, работающая на сервере (компьютере с постоянным подключением к Интернету). Она хранит файлы сайта (HTML, CSS, JavaScript, изображения) и отдаёт их браузеру по HTTP/HTTPS в ответ на запросы. Nginx и Apache — наиболее популярные реализации.
Пояснение: Веб‑сервер похож на библиотекаря: вы (браузер) просите книгу index.html, библиотекарь находит её на полке и выдаёт вам.
Подвопрос: Какие методы балансировки нагрузки поддерживает Nginx?
- Round Robin, Least Connections, IP‑hash, Weighted Round Robin — основные.
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)?
Ответ:
- Фронтенд — видимая пользователю часть сайта или приложения, с которой он взаимодействует в браузере или мобильном приложении. Создаётся с помощью HTML (структура), CSS (стили), JavaScript (интерактивность).
- Бэкенд — «внутренняя» часть, работающая на сервере и скрытая от пользователя. Обрабатывает бизнес‑логику, взаимодействует с базами данных, обеспечивает безопасность, обменивается данными с другими сервисами через API.
Пояснение: Фронтенд — витрина и кассир магазина; бэкенд — склад, бухгалтерия и логистика.
19. Что такое VPN? Зачем он нужен? Чем отличается от прокси?
Ответ: VPN (Virtual Private Network) — технология, создающая зашифрованный «туннель» между вашим устройством и сервером VPN‑провайдера. Весь интернет‑трафик проходит через этот туннель в зашифрованном виде. Преимущества:
- защита данных в публичных Wi‑Fi сетях;
- сокрытие реального IP‑адреса и местоположения;
- обход географических или корпоративных блокировок (при подключении к серверу в другой стране).
Пояснение: Представьте секретный подземный туннель из вашего дома в здание в другой стране. Весь трафик идёт по нему, снаружи его не видно (шифрование), и вы выходите в Интернет из другого здания (смена IP).
20. Что такое брандмауэр (Firewall)?
Ответ: Брандмауэр — программа или устройство, контролирующее входящий и исходящий сетевой трафик на основе заданных правил. Его задача — блокировать нежелательные или опасные подключения (например, хакерские атаки) и пропускать только легитимный трафик.
Пояснение: Брандмауэр подобен охране на проходной: проверяет каждого входящего (пакет) и пускает только тех, у кого есть пропуск (соответствие правилам).
Практическая часть
- ping + tcpdump: поймать живой пакет
В одном терминале запустите захват ICMP‑пакетов:sudo tcpdump -nn -c1 -X icmpВ другом терминале выполните:
ping -c1 8.8.8.8В первом окне появится байт‑дамп одного ICMP‑пакета, включая IP‑заголовок и полезную нагрузку.
- ip addr + ip link: узнать свой IP и MAC
Выполните:ip addr show ip link showПолучите список сетевых интерфейсов, их IPv4/IPv6‑адреса и MAC‑адреса.
- ss -tulpn: увидеть открытые порты
Выполните:ss -tulpnБудет выведена таблица с соответствием «порт → PID/имя процесса» (например,
53/systemd-resolved). -
nc TCP vs UDP: ощутить разницу
TCP:
Терминал 1:nc -l 12345
Терминал 2:echo "привет TCP" | nc localhost 12345UDP:
Терминал 1:nc -u -l 12346
Терминал 2:echo "привет UDP" | nc -u localhost 12346TCP требует установки соединения, UDP — нет.
- Ручной HTTP‑запрос без браузера
Выполните:curl -v https://vk.comВ подробном выводе (
-v) будет видно TLS‑рукопожатие, заголовки ответа, код состояния (обычно200 OK) и тело страницы. - dig: преобразовать имя в IP
Выполните:dig ya.ru A dig ya.ru AAAAВ секциях
ANSWERувидите IPv4‑ и IPv6‑адреса, а также TTL записей. - journalctl | grep DHCP: посмотреть, как получили адрес
Выполните:journalctl -u NetworkManager --since "2 minutes ago" | grep -i dhcpПоявятся строки с
DHCPACK, содержащие назначенный IP‑адрес, маску, шлюз и DNS‑серверы. - ufw: включить и удалить правило
sudo ufw allow 12345/tcp sudo ufw status sudo ufw delete allow 12345/tcpСначала правило добавляется, затем отображается список активных правил, после чего правило удаляется.