Как устроены сети и интернет
Узнаём, как компьютеры по всему миру соединяются в одну гигантскую сеть и как по ней путешествуют данные.
Компьютерная сеть — это несколько компьютеров, соединённых для обмена данными. Интернет — это всемирная сеть, объединяющая миллиарды устройств.
Зачем компьютеры объединяют
Один компьютер — это полезно, но настоящая сила появляется, когда компьютеры соединяются. Тогда можно обмениваться файлами, отправлять сообщения, играть вместе, смотреть видео с другого конца планеты. Каждый раз, когда ты открываешь сайт или отправляешь сообщение, твой компьютер общается с другими через сеть.
Локальные и глобальные сети
Сети бывают разного масштаба.
- Локальная сеть — небольшая, в пределах одного здания: компьютеры в школьном классе, дома или в офисе. По-английски её называют LAN.
- Глобальная сеть — огромная, охватывает города и страны. Самая известная глобальная сеть — это и есть интернет.
Интернет — не один большой компьютер, а сеть из множества сетей, соединённых вместе. Никто им единолично не владеет; он работает потому, что все договорились общаться по единым правилам.
Адреса в сети
Чтобы данные дошли куда нужно, у каждого устройства в сети есть свой адрес — IP-адрес (как почтовый адрес дома). Он выглядит как несколько чисел, например 192.168.1.1. Когда твой компьютер отправляет данные, он указывает IP-адрес получателя, и сеть доставляет их по назначению.
Но людям неудобно запоминать числа, поэтому у сайтов есть понятные имена — доменные имена: codechick.io, wikipedia.org. Специальная служба (её называют DNS) работает как телефонная книга: переводит понятное имя сайта в числовой IP-адрес. Поэтому ты пишешь имя сайта, а компьютер сам узнаёт его адрес.
IP-адрес — это числовой адрес устройства в сети. Доменное имя — понятное человеку имя, которое служба DNS переводит в IP-адрес.
Как данные путешествуют: пакеты
Когда ты отправляешь по сети, скажем, фотографию, она не летит целиком одним куском. Её делят на маленькие части — пакеты. Каждый пакет снабжают адресом получателя и номером, и отправляют отдельно. Пакеты могут идти разными путями, а у получателя собираются обратно в правильном порядке по номерам.
Зачем так сложно? Это надёжно и гибко: если один путь занят, пакеты пойдут в обход; если пакет потерялся — его перешлют заново, не отправляя всё сообщение снова. Это как переезд: вещи везут в нескольких коробках, и если одна задержалась, остальные уже на месте.
Протоколы: правила вежливого общения
Чтобы миллиарды разных устройств понимали друг друга, они общаются по строгим правилам — протоколам. Протокол — это договорённость о том, как именно передавать данные: в каком порядке, в каком формате, как подтверждать получение. Это похоже на правила вежливого разговора по рации: сказал фразу — добавил «приём», дождался ответа. Главный набор правил интернета называется TCP/IP. Часть TCP отвечает за то, чтобы данные дошли целиком и в правильном порядке (она нумерует пакеты и переспрашивает потерянные), а часть IP — за адресацию, то есть за доставку пакета по нужному адресу. Когда ты открываешь сайт, работает ещё один знакомый протокол — HTTP (а его защищённая версия HTTPS шифрует данные, чтобы их не подсмотрели). Тебе не нужно помнить все протоколы наизусть, но важно понять идею: интернет работает не на «магии», а на чётких общих правилах, которые когда-то придумали и о которых договорились инженеры всего мира.
Клиенты и серверы
В интернете компьютеры играют две роли:
- Сервер — мощный компьютер, который хранит сайты, видео, почту и выдаёт их по запросу. Он работает круглосуточно и обслуживает множество пользователей.
- Клиент — твоё устройство (компьютер, телефон), которое запрашивает данные у сервера.
Когда ты открываешь сайт, твой браузер (клиент) шлёт запрос серверу: «дай мне эту страницу». Сервер отвечает, присылая страницу. Эту схему называют «клиент — сервер», и на ней держится почти весь интернет.
Кто даёт доступ в интернет
Подключение к интернету предоставляет провайдер — компания, которая через кабели, оптоволокно или мобильную связь соединяет твой дом с глобальной сетью. Ты платишь провайдеру, а он обеспечивает связь.
Попробуй сам
Смоделируем, как сообщение делится на пакеты с номерами, путешествует «вразнобой» и собирается обратно по порядку у получателя.
soobshchenie = "ПРИВЕТ"
# Отправитель режет сообщение на пакеты (символ + номер)
pakety = []
for nomer in range(len(soobshchenie)):
pakety.append((nomer, soobshchenie[nomer]))
print("Отправлено пакетов:", pakety)
# В сети пакеты перемешались (пришли не по порядку)
prishli = [pakety[2], pakety[0], pakety[4], pakety[1], pakety[5], pakety[3]]
print("Пришли вперемешку:", prishli)
# Получатель сортирует пакеты по номеру и собирает сообщение
prishli.sort() # сортируем по первому элементу — номеру
sobrano = ""
for nomer, simvol in prishli:
sobrano = sobrano + simvol
print("Собрано сообщение:", sobrano)
Вывод:
Отправлено пакетов: [(0, 'П'), (1, 'Р'), (2, 'И'), (3, 'В'), (4, 'Е'), (5, 'Т')] Пришли вперемешку: [(2, 'И'), (0, 'П'), (4, 'Е'), (1, 'Р'), (5, 'Т'), (3, 'В')] Собрано сообщение: ПРИВЕТ
Несмотря на то что пакеты пришли вперемешку, благодаря номерам получатель собрал сообщение правильно. Поменяй soobshchenie на своё слово и запусти снова. Именно так интернет надёжно доставляет данные, даже когда пакеты идут разными путями.
Проводные и беспроводные сети
Соединять компьютеры можно по-разному, и от способа зависят скорость и удобство. Проводное соединение — это кабель: обычно витая пара (медные провода) или оптоволокно, по которому данные летят буквально со скоростью света в виде вспышек. Провод надёжен и быстр, но к нему ты «привязан». Беспроводное соединение передаёт данные по радиоволнам — это всем знакомый Wi-Fi для дома и мобильная связь (4G, 5G) для телефона на улице. Беспроводная связь удобнее — ходи где хочешь, — но обычно чуть медленнее и слабеет с расстоянием и сквозь стены. Поэтому в серверных и там, где важна максимальная скорость, всё ещё тянут провода, а дома и в кафе пользуются Wi-Fi ради свободы передвижения. Кстати, твой домашний роутер делает сразу две вещи: получает интернет по проводу от провайдера и раздаёт его по Wi-Fi на все устройства в квартире, выступая «перекрёстком» твоей маленькой локальной сети. Теперь, глядя на этот скромный коробок с антеннами, ты понимаешь, какую важную роль он играет.
Частые ошибки
- Думать, что интернет — это один большой компьютер. Это сеть из множества сетей и серверов по всему миру.
- Путать доменное имя и IP-адрес. Имя — для людей, IP — для машин; их связывает DNS.
- Считать, что данные передаются целиком. Информацию режут на пакеты с номерами.
Запомни
- Сеть — соединённые компьютеры; локальная — в здании, глобальная (интернет) — по всему миру.
- У устройства есть IP-адрес; DNS переводит понятное доменное имя в IP.
- Данные передаются пакетами с номерами и собираются у получателя по порядку.
- Схема «клиент — сервер»: клиент запрашивает, сервер отдаёт; доступ даёт провайдер.