Как устроен интернет: адреса
easy

Как устроен интернет: адреса

Вторая часть рассказа об устройстве интернета. Читайте, пока не заблокировали!

В первой части мы говорили, как физически устроен интернет: это компьютеры, которые объединены в сеть с помощью радиоволн, проводов и маршрутизаторов. Маршрутизаторы стоят у вас в квартире, в подъезде, на крыше дома; есть районный маршрутизатор и множество магистральных, которые гоняют данные туда-сюда.

Ваш компьютер делает запрос, маршрутизаторы его доставляют к другим компьютерам (серверам). Сервер готовит ответ и отправляет обратно. Вам кажется, что вы ходите по интернету, но на самом деле нужные страницы приходят к вам.

В этой части: как данные в интернете находят своих адресатов, кто главный по адресам и как обойти блокировку вашего провайдера.

IP-адреса

Если очень упрощённо, то у каждого компьютера в интернете есть уникальный адрес, его называют IP-адрес, или просто «айпи». В классическом виде IP-адрес — это четыре числа через точку. Например, у yandex.ru IP-адрес 77.88.55.88 (у Яндекса красивый номер!).

Числа и точки — это то же самое, что части обычного почтового адреса. Только в почтовом адресе у нас страна, город, улица и дом, а в интернете это просто узлы связи и магистральные роутеры.

В теории, если вы знаете IP-адрес компьютера и можете сформулировать ему запрос, вы можете «позвонить» на любой компьютер, подключённый к интернету. Например, если вы запустили на своём домашнем компьютере файловый сервер и знаете IP-адрес домашнего компьютера, вы можете зайти на свой сервер из отпуска и залить на него отпускные фотографии, находясь в другой стране. Между вами и вашим домашним железом могут быть тысячи километров, но с помощью IP-адреса вы сможете получить доступ.

Это если в теории и очень упрощённо. В жизни есть несколько нюансов.

Классические IP-адреса имеют ограниченную ёмкость: в такую структуру помещается 4,2 млрд адресов. Очевидно, что на всех людей на планете не хватит. А ведь IP-адреса нужны не только миллиардам компьютеров и смартфонов, но и другим устройствам: серверам, роутерам, шлюзам и даже умному чайнику.

Понимая это, инженеры придумали новую версию IP-адресов, где доступных адресов на много порядков больше. Сейчас все постепенно переходят на эту новую технологию — она называется IPv6.

Ещё нюанс: когда вы выходите в интернет, иногда у вас может не быть персонального IP-адреса. Ваши запросы будут уходить с какого-то адреса, но он будет принадлежать не только вам, но и множеству других абонентов. Между вами и интернетом будет узел, который от вашего имени принимает и отправляет запросы. Такой узел называют NAT — Network Address Translator. Из интернета виден один NAT, из которого прут миллионы запросов. Что находится за этим NAT — интернет не знает.

Если вы из отпуска сделаете запрос по IP-адресу вашего NAT, он может развести руками: «Я не знаю, куда дальше отправлять твой запрос, у меня тут миллион абонентов. Пшёл вон!»

Некоторые провайдеры домашнего интернета выделяют абонентам индивидуальные IP-адреса (без NAT), но даже тогда вам нужно будет настроить свой домашний роутер, чтобы запрос «загрузи фоточки» он отправлял именно на ваш файловый сервер, а не на умный чайник.

Можно ли вычислить по IP

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

Максимум, что можно узнать по одному лишь IP, — из какого вы города и какой у вас провайдер. Если вы выходите в интернет с работы или из института — при определённых условиях можно вычислить и их, но не более того.

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

Хакеры могут при должной мотивации провести операцию по вычислению человека: потребуется взлом провайдера, взлом роутера, ручное пеленгование беспроводного сигнала и многое другое. Зацепки есть, но слишком много чего может пойти не так.

То ли дело Google и Apple. Если вы, например, потеряли смартфон, но не потеряли доступ к своему аккаунту Google или iCloud, вы можете узнать положение устройства с точностью до нескольких метров. Но делается это не по IP, а с помощью сотовых вышек и GPS-датчика, который встроен в ваш телефон. К IP-адресу это не имеет отношения. О приватности в Google, Apple и Facebook мы уже писали.

Понятные человеку адреса

Никто не ходит к Яндексу по адресу 77.88.55.88 — мы вводим в браузере yandex.ru. Чтобы это было возможно, инженеры интернета придумали DNS — Domain Name Service.

Если очень упрощённо, DNS — это здоровенная таблица, в которой написано: «Если надо отправить запрос на yandex.ru, тебе нужен адрес 77.88.55.88» — и так миллиард раз для каждого имени сайта в интернете.

DNS — это сервис. Ваш компьютер спрашивает «Слыш, а какой адрес у сайта thecode.media?», а тот ему: «Слыш сам, адрес thecode.media — 136.243.31.199». Сервис устроен довольно сложно. Нам достаточно знать вот это:

  • yandex.ru, thecode.media и все подобные «человеческие» адреса — это доменные имена;
  • доменное имя можно арендовать и привязать к какому угодно IP-адресу; вы платите как бы за услугу внесения определённого имени в базу данных DNS;
  • если накрывается ваш местный провайдер услуг DNS и вы не пользуетесь никаким другим, у вас не будут работать запросы на адреса вроде yandex.ru; на IP — будут;
  • правда, большинство сайтов настроены так, что по чистому IP они не откроются — потому что на одном IP могут жить сотни сайтов; поэтому без доменных имён всё-таки веб не работает.

У вас на компьютере тоже есть лайт-версия DNS: это файл hosts. Это ваша персональная таблица с доменами, и компьютер в первую очередь смотрит в неё. Очень полезная штука, залезайте под кат:

Допустим, через неделю сдавать диплом, и вы решили подойти к вопросу радикально: заблокировать соцсети. Легко!

Задача: научить компьютер, что запросы на домены соцсетей нужно «разворачивать» на себя, то есть не пускать их за пределы компьютера. Техническим языком — нужно привязать домены типа facebook.com и vk.com на IP-адрес 127.0.0.1 — это «нулевой километр», адрес вашего собственного компьютера с точки зрения самого компьютера.

Мы знаем, что локальная привязка этих адресов происходит в файле hosts. В зависимости от операционной системы, он будет лежать в разных местах:

Если у вас Мак

  1. Зайдите в поиск (лупа справа наверху) и наберите «Терминал». Запустите его.
  2. В терминале напишите sudo nano /etc/hosts и нажмите enter. Sudo — это приставка, которая говорит «выполни команду от имени администратора компьютера», в переводе — substitute user and do. Nano — это текстовый редактор внутри терминала.
  3. У вас попросят ввести пароль администратора, потому что мы исполняем команду от имени super user. Вводите пароль и нажимайте enter. Буквы пароля не будут видны, нужно ориентироваться по ощущениям.
  4. Открывается странного вида текстовый редактор. Курсором становитесь после всего, что там написано, и вписываете: 127.0.0.1 (табуляция) vk.com. Чтобы сохранить файл, нажимаете Ctrl+O и Enter. Чтобы выйти, жмите Ctrl+X. Именно Ctrl, а не Cmd, потому что… потому что это терминал, тут своя атмосфера.

Если у вас Windows

  1. Найдите приложение «Блокнот», правой кнопкой по нему и скажите «Запустить как администратор». Это эквивалент терминальной команды sudo на Маке.
  2. Нажимаете «Файл — открыть» и идите в c:\Windows\System32\Drivers\etc\hosts
  3. После всего пишете 127.0.0.1 (табуляция) vk.com
  4. Можно добавить другие строки так же: 127.0.0.1 и нужный домен через табуляцию.
  5. Сохраняете, закрываете.

Попробуйте теперь зайти на vk.com — браузер выплюнет ошибку. Он попытался сделать запрос главной страницы vk.com по адресу 127.0.0.1, как было сказано в файле hosts. Но так как 127.0.0.1 — это сам компьютер, а он не умеет выводить главную страницу vk.com, он растерялся и не смог.

Когда сдадите диплом, можно будет снова открыть файл hosts и удалить ненужные строки — доступ к vk.com восстановится.

Как устроены блокировки сейчас

Итак, у нас есть IP-адреса, по которым можно дозвониться до разных компьютеров в интернете. У нас есть DNS, чтобы не запоминать IP-адреса, а вводить обычные человеческие слова.

Как теперь всё это заблокировать? Очень легко!

Самый простой способ что-нибудь заблокировать — это запрограммировать любой маршрутизатор на вашем пути, чтобы он не работал, как вам нужно. Например, если провайдер знает, что у вас не оплачен счёт, он программирует свой роутер, чтобы на все ваши запросы вы получали ответ «Заплати». Но можно открыть доступ к странице оплаты.

Чтобы обойти эту блокировку, достаточно сделать запрос через другие узлы, как бы в обход провайдера. Раздайте интернет с телефона, и ваш запрос пойдёт через другую цепочку роутеров, которые не настроены заворачивать ваши запросы.

На работе ваш системный администратор может так настроить местный роутер, чтобы вы не смогли зайти на сайт vk.com — он прописывает инструкцию в настройке роутера, и роутер разворачивает ваш запрос.

Обход такой же: подключитесь к другому вайфаю или раздайте собственный с телефона, и ваш запрос пойдёт в обход блокировки.

Роскомнадзор обязал все интернет-провайдеры России блокировать доступ к сайтам из специального реестра. В реестр попадают сайты, по которым российские суды вынесли решения о блокировке или которые туда внёс сам Роскомнадзор. Провайдеры берут этот реестр, выгружают запрещённые адреса в свои конфигурационные файлы и при поступлении запроса на запрещённый сайт его разворачивают.

Как обходить такие блокировки, мы вам не можем рассказать по закону. Но зато в другой статье мы вам расскажем о технологии VPN и как она помогает в защите каналов связи.

Обложка:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Маша Климентьева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Вам может быть интересно
10 крутых вещей, которые можно сделать на Raspberry Pi

Посмотрите, что можно сделать на компьютере размером с банковскую карту.

hard
Задача про хитрого электрика
hard
Делаем сами: адаптивный сайт

С котиками!

medium
5 инструментов для быстрого тестирования сайта

В помощь начинающим тестировщикам

easy
Как устроены беспилотные автомобили

В них много алгоритмов и датчиков, но водитель всё равно нужен

easy
Вакансия на 210 тысяч: что такое .NET и зачем он нужен

Для тех, кто любит программировать и точка

easy
Какой софт нужен, чтобы стать тестировщиком

Можно и без него, но с ним удобнее

easy
«Я прочитал статью в Коде и пошёл работать аналитиком»: что произошло с Тагиром за год

Честное интервью о том, чем занимаются аналитики

easy
Как в России появился каршеринг

Конспект подкаста «Запуск завтра»

easy
easy
[anycomment]
Exit mobile version