Интернет — это глобальная сеть из множества соединенных между собой сетей, которые общаются по единому набору правил (стеку протоколов TCP/IP). Ни одного «главного компьютера» у интернета нет: это децентрализованное объединение, где данные передаются небольшими порциями — пакетами — от узла к узлу, пока не дойдут до адресата.
Содержание
- Что происходит, когда вы открываете сайт
- Клиент и сервер: кто с кем говорит
- Пакеты и маршрутизация: как данные едут по сети
- Адреса в интернете: IP-адрес
- DNS: как имя превращается в адрес
- Протоколы и модель уровней
- Сетевое оборудование
- Поверхностный, глубокий и теневой веб
- Выводы
- Где применяется и что учить дальше
- FAQ
Ниже разберем, что реально происходит, когда вы открываете сайт: как доменное имя превращается в IP-адрес, как устанавливается соединение, как данные разбиваются на пакеты и находят маршрут, и какие устройства участвуют в передаче. Примеры на Python в статье запущены, вывод под ними — реальный.
Что происходит, когда вы открываете сайт
Проще всего понять интернет через один сквозной сценарий. Вы вводите в браузере otus.ru и жмете Enter. Дальше по шагам:
- Поиск адреса (DNS). Браузер не знает, где физически находится
otus.ru. Он спрашивает у DNS-сервера: какой IP-адрес у этого имени. В ответ приходит числовой адрес, например условный93.184.216.34. - Установка соединения (TCP). По этому адресу браузер открывает соединение с сервером. Для надежной передачи используется протокол TCP: стороны обмениваются служебными пакетами и договариваются о начале обмена.
- Запрос (HTTP/HTTPS). Браузер отправляет запрос: «дай мне страницу по такому-то пути». Через HTTPS этот запрос еще и шифруется.
- Ответ. Сервер обрабатывает запрос и отправляет обратно данные страницы — HTML, стили, картинки. Все это тоже едет пакетами.
- Отрисовка. Браузер собирает пакеты в исходные файлы и показывает вам страницу.
Весь цикл занимает доли секунды. Дальше разберем каждый механизм отдельно — именно из них и складывается ответ на вопрос, как работает сеть.
Клиент и сервер: кто с кем говорит
Обмен в интернете почти всегда устроен по модели «клиент — сервер».
Клиент — это устройство или программа, которая запрашивает данные: браузер на вашем ноутбуке, приложение на смартфоне, умные часы. Клиент инициирует обращение.
Сервер — это компьютер, который хранит данные и отвечает на запросы. Веб-серверы обрабатывают HTTP-запросы и отдают страницы, файлы, медиа. Серверы рассчитаны на непрерывную работу и одновременное обслуживание многих клиентов.
Важно не путать роли с «железом»: один и тот же компьютер может быть и клиентом, и сервером в разных соединениях. «Сервер» — это роль в конкретном обмене, а не отдельный класс устройств.
Пакеты и маршрутизация: как данные едут по сети
Данные не передаются одним сплошным потоком. Файл разбивается на пакеты — небольшие блоки, у каждого есть адрес отправителя, адрес получателя и порядковый номер. Такой подход называют коммутацией пакетов.
Пакеты одного файла могут ехать разными маршрутами и приходить не по порядку — получатель соберет их обратно по номерам. Если пакет потерялся, TCP заметит пропажу и запросит его повторно. Именно поэтому сеть устойчива: обрыв одного канала не рушит передачу, пакеты пойдут в обход.
Выбором пути занимаются маршрутизаторы (роутеры). Каждый хранит таблицу маршрутизации и для каждого пакета решает, какому следующему узлу его передать, чтобы приблизить к адресату. Пакет проходит через цепочку маршрутизаторов — от вашего домашнего роутера через оборудование провайдера к сети сервера.
Адреса в интернете: IP-адрес
Чтобы пакет нашел получателя, у каждого узла в сети есть IP-адрес — уникальный числовой идентификатор. Сегодня в ходу две версии.
- IPv4 — 32-битное число, которое записывают как четыре десятичных числа от 0 до 255 через точку:
192.168.1.10. Всего таких адресов около 4,3 млрд, и их уже не хватает. - IPv6 — 128-битный адрес, который записывают шестнадцатеричными группами через двоеточие:
2001:db8::1. Адресов в нем практически неисчерпаемо много, и он постепенно вытесняет IPv4.
IP-адрес логически делится на две части: адрес сети и адрес узла внутри нее. Маска (запись вида /24) задает, сколько старших бит отведено под сеть. Посмотрим на это в коде — модуль ipaddress есть в стандартной библиотеке Python:
import ipaddress
# Разбираем IPv4-адрес: как 4 десятичных числа превращаются в 32 бита
ip = ipaddress.IPv4Address("192.168.1.10")
print("адрес:", ip)
print("как 32-битное число:", int(ip))
print("в двоичном виде:", format(int(ip), "032b"))
# Сеть с маской /24: адрес сети + адрес узла внутри нее
net = ipaddress.IPv4Network("192.168.1.0/24")
print("сеть:", net, "- всего адресов в диапазоне:", net.num_addresses)
print("192.168.1.10 в этой сети:", ip in net)
print("8.8.8.8 в этой сети:", ipaddress.IPv4Address("8.8.8.8") in net)
# IPv6 - тот же смысл, но 128 бит и запись через двоеточие
ip6 = ipaddress.IPv6Address("2001:db8::1")
print("IPv6:", ip6.compressed, "- всего бит:", ip6.max_prefixlen)
Вывод программы:
адрес: 192.168.1.10
как 32-битное число: 3232235786
в двоичном виде: 11000000101010000000000100001010
сеть: 192.168.1.0/24 - всего адресов в диапазоне: 256
192.168.1.10 в этой сети: True
8.8.8.8 в этой сети: False
IPv6: 2001:db8::1 - всего бит: 128
Из диапазона /24 под адреса узлов доступны не все 256 значений: первый адрес сети и последний (широковещательный) зарезервированы, так что реально на устройства остается 254. Проверка ip in net — это ровно то, по какому признаку маршрутизатор решает, «свой» это адрес для сети или пакет надо отправить дальше.
DNS: как имя превращается в адрес
Запоминать числовые адреса неудобно, поэтому людям служат доменные имена вроде otus.ru. Перевод имени в IP-адрес выполняет система доменных имен — DNS (Domain Name System). Это распределенная по всему миру иерархия серверов, работающая как телефонный справочник интернета.
Имя читается справа налево по уровням: ru — домен верхнего уровня, otus — домен второго уровня, слева могут быть поддомены (www, journal). За каждый уровень отвечают свои серверы, и запрос последовательно спускается по иерархии, пока не найдет нужный адрес. Ответы кэшируются, поэтому повторный заход на сайт обходится без полного поиска.
Чтобы указать не просто узел, а конкретный ресурс на нем, используют URL — единый адрес ресурса. Разберем его на части тем же Python:
from urllib.parse import urlparse
url = "https://otus.ru/journal/vse-o-rabote-seti-internet-prosto-o-slozhnom/?ref=search"
p = urlparse(url)
print("схема (протокол):", p.scheme)
print("хост (доменное имя):", p.hostname)
print("порт:", p.port or "по умолчанию (443 для https)")
print("путь к ресурсу:", p.path)
print("строка запроса:", p.query)
Вывод программы:
схема (протокол): https
хост (доменное имя): otus.ru
порт: по умолчанию (443 для https)
путь к ресурсу: /journal/vse-o-rabote-seti-internet-prosto-o-slozhnom/
строка запроса: ref=search
Схема говорит, по какому протоколу обращаться, хост — к какому серверу (его имя DNS переведет в IP), путь — какой ресурс на сервере нужен, а строка запроса передает дополнительные параметры. Из этих частей и складывается точный адрес страницы.
Протоколы и модель уровней
Чтобы устройства разных производителей понимали друг друга, обмен подчинен протоколам — согласованным наборам правил. Их удобно представлять уровнями: каждый уровень решает свою задачу и опирается на нижний, не вникая в его детали. Классическая эталонная модель — семиуровневая OSI, но на практике интернет описывают более простой моделью TCP/IP из четырех уровней.
| Уровень (модель TCP/IP) | За что отвечает | Примеры протоколов |
|---|---|---|
| Прикладной | формат данных для приложений | HTTP, HTTPS, DNS, SMTP, FTP |
| Транспортный | доставка между программами, надежность | TCP, UDP |
| Сетевой (межсетевой) | адресация и маршрутизация пакетов | IP, ICMP |
| Канальный | передача по физической среде | Ethernet, Wi-Fi |
Пара уровней, которую стоит развести явно. IP (сетевой уровень) отвечает за адресацию и доставку пакета до нужного узла, но не гарантирует, что пакет дойдет и не потеряется. TCP (транспортный уровень) поверх IP добавляет надежность: нумерует пакеты, переспрашивает потерянные, собирает их по порядку. Там, где важнее скорость, а не полнота (видеозвонки, игры), вместо TCP берут UDP — он быстрее, но без гарантий доставки.
Название стека TCP/IP как раз и отражает эту связку двух ключевых протоколов, на которых держится интернет.
Сетевое оборудование
За физическую передачу данных отвечает несколько типов устройств. Роли у них разные, и их часто путают.
- Маршрутизатор (роутер) соединяет разные сети и выбирает путь для пакетов между ними; на нем держится связь вашей домашней сети с интернетом.
- Коммутатор (свитч) соединяет устройства внутри одной локальной сети и передает данные адресно нужному устройству.
- Модем согласует сигнал между вашим оборудованием и линией провайдера (кабельной, оптической, мобильной). В домашних условиях роутер, коммутатор и модем часто собраны в одной коробке.
Между узлами данные идут по каналам связи: оптоволокну, медному кабелю, радиоканалам Wi-Fi и мобильных сетей. Магистральные линии между континентами — это в основном подводные оптические кабели, а не спутники, как иногда думают.
Поверхностный, глубокий и теневой веб
Отдельно стоит развести три термина, которые в старых статьях смешивают с городскими легендами.
- Поверхностный веб (surface web) — страницы, которые индексируют поисковики: их видно в выдаче Google или Яндекса.
- Глубокий веб (deep web) — все, что поисковики не индексируют: содержимое за авторизацией, личные кабинеты, почтовые ящики, внутренние базы. Это не что-то запретное, а просто непубличные страницы, и их большинство.
- Теневой веб (dark web) — небольшая часть сети, доступная только через специальные сети вроде Tor. Там есть и легальные ресурсы (анонимные СМИ), и криминальные площадки.
«Уровней глубже даркнета» с тайными знаниями (так называемая Mariana’s Web и подобное) — это интернет-фольклор, а не технический факт. Реальная структура исчерпывается тремя понятиями выше.
Выводы
- Интернет — это децентрализованная сеть сетей на стеке TCP/IP, без единого главного узла; данные едут пакетами от маршрутизатора к маршрутизатору.
- Открытие сайта — это цепочка: DNS переводит имя в IP-адрес, TCP устанавливает соединение, HTTP/HTTPS переносит запрос и ответ, браузер собирает пакеты и рисует страницу.
- IP-адрес (IPv4 — 32 бита, IPv6 — 128 бит) делится на адрес сети и адрес узла; по этому делению маршрутизатор решает, куда слать пакет.
- Уровни TCP/IP разводят задачи: IP адресует и маршрутизирует, TCP обеспечивает надежность, UDP жертвует гарантиями ради скорости.
- Роутер, коммутатор и модем — разные роли: соединение сетей, соединение устройств внутри сети и согласование сигнала с линией провайдера.
Где применяется и что учить дальше
Понимание того, как работает интернет, — это база для сетевого администрирования и разработки: настройки маршрутизации и подсетей, диагностики через ping и traceroute, работы с DNS, TCP/IP и HTTP. С этого начинается профессия сетевого инженера, а без этого фундамента трудно и в DevOps, и в бэкенде.
Освойте тему на практике
Если хочется разобрать сети системно — от адресации и маршрутизации до протоколов и практики настройки оборудования — посмотрите курс Network engineer. Оценить формат и уровень до старта помогают бесплатные открытые уроки Otus — живые занятия с преподавателями.
Смежные темы: TCP/IP: просто о сложном.
FAQ
Кто управляет интернетом, если у него нет главного компьютера? Единого владельца нет, но есть организации, которые координируют общие правила: например, ICANN отвечает за распределение доменов и IP-адресов, а IETF — за стандарты протоколов. Сами сети принадлежат разным провайдерам и компаниям.
Чем интернет отличается от Всемирной паутины (WWW)? Интернет — это инфраструктура из соединенных сетей и протоколов. WWW — лишь одна из служб поверх нее: связанные гиперссылками веб-страницы по HTTP. Почта, видеозвонки и онлайн-игры тоже работают через интернет, но к WWW не относятся.
Что такое провайдер и зачем он нужен? Интернет-провайдер — это компания, которая подключает вас к своей сети и через нее к остальному интернету. Провайдеры соединены между собой в точках обмена трафиком, за счет чего данные ходят между сетями разных операторов.



