Найти тему
Журнал «Код»

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

Оглавление

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

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

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

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

-2

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 мы уже писа­ли.

-3

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

Никто не ходит к Яндек­су по адре­су 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. Это ваша пер­со­наль­ная таб­ли­ца с доме­на­ми, и ком­пью­тер в первую оче­редь смот­рит в нее. Очень полез­ная шту­ка.

Как заблокировать себе соцсети при помощи hosts

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

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

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

Если у вас Мак

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

Если у вас Windows

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

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

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

-5

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

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

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

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

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

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

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

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

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

Подписывайтесь на наш канал, чтобы уметь обходить препятствия!