Распределение IP адресов




 

Как уже говорилось выше, у каждого компьютера в сети Интернет есть свой уникальный IP адрес. Логично задаться вопросом, каким образом эти номера распределяются.

Адресное пространство распределяется иерархическим способом. Орган под названием IANA (Internet Assigned Numbers Authority) выделяет блоки адресного пространства Региональным Интернет-Реестрам (RIR - Regional Internet Registries). Региональные Интернет-Реестры выделяют блоки IP адресов Локальным Интернет-Реестрам (LIR - Local Internet Registries), которые в свою очередь распределяют эти адреса между конечными пользователями.

На сегодняшний день существует четыре Региональных Интернет-Реестра, которые имеют право выделять блоки IP адресов:

APNIC (Asia Pacific Network Information Centre) - для стран Азии и Тихоокеанского региона;

ARIN (American Registry for Internet Numbers) - для стран Северной Америки и стран Африки, расположенных южнее Сахары;

LACNIC (Regional Latin-American and Caribbean IP Address Registry) - для стран Латинской Америки и некоторых Карибских островов;

RIPE NCC (Rйseaux IP Europйens) - для стран Европы, Ближнего Востока, Центральной Азии и стран Африки, расположенных севернее экватора *(4).

Роль IANA сводится к выделению IP адресов из числа незанятых адресов Региональным Интернет-Реестрам в зависимости от их потребностей. Когда Региональному Интернет-Реестру требуется больше IP адресов, IANA осуществляет дополнительное выделение адресов такому Реестру.

Что происходит с блоками IP адресов, выделенных Региональным Интернет-Реестрам, рассмотрим на примере RIPE, обслуживающего страны Европы, включая Россию.

Распределение IP адресов производится, исходя из следующих принципов:

Уникальность - Каждый публичный адрес в сети должен быть уникальным. Это главное требование, которое гарантирует, что каждый компьютер в сети может быть идентифицирован;

Агрегирование - Публичные адреса в сети должны распределяться иерархическим способом, что позволяет обобщить информацию маршрутизаторами (routers). Этот принцип необходим для надлежащей работы маршрутизаторов. Эту цель также иногда называют маршрутизацией;

Экономичность - Публичные адреса в сети должны быть справедливо распределены в соответствии с потребностями сетей конечных пользователей. В целях максимизации ресурса публичных Интернет-адресов, адреса должны распределяться в соответствии с потребностями. Необходимо не допускать накопления адресов впрок;

Регистрация - необходима регистрация выделения публичных Интернет-адресов. Это необходимо в целях обеспечения уникальности, а также в целях получения информации на всех уровнях *(5).

RIPE выработала ряд правил выделения IP адресов.

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

Особым образом не рекомендуется выделять статические адреса dial-up пользователям, поскольку это приводит к дефициту адресов. Использование динамических адресов позволяет Интернет-провайдерам использовать количество IP адресов, соответствующее числу модемов, а не количеству клиентов. Каждый раз, когда конечный пользователь соединяется с сетью Интернет-провайдера для выхода в Интернет, ему присваивается динамический IP адрес, который изменяется от раза к разу.

Соответственно рекомендовано во всех случаях, когда это возможно, предоставлять пользователям динамические адреса. Если требуется выделить статический адрес, то необходима специальная проверка. Однако, в отношении серверов, постоянно подключенных к Интернету, статические подключения считаются допустимыми, хотя проверка все равно необходима.

Все выделения адресов конечным пользователям должны быть зарегистрированы в базе Whois RIPE. Однако выделение единичных статических IP адресов отдельным конечным пользователям (например, пользующимся dial-up, ADSL и т.п.) не обязательно должно отдельно регистрироваться в базе данных.

С появлением стандарта HTTP 1.1 исчезла необходимость приписывания каждого сайта к отдельному IP адресу. RIPE настоятельно рекомендует использовать веб-хостинг, ориентированный на словесные обозначения, а не на IP адреса.

Минимальное количество адресов, которое может быть выделено Локальному Интернет-Реестру, составляет 4096 адресов (что обычно оформляется как "/20"). Чтобы получить такое количество адресов, необходимо доказать, что ранее было эффективно использовано как минимум /22 (1024 адресов) или что имеется необходимость в безотлагательном использовании как минимум /22 (1024 адресов).

Дополнительное адресное пространство может быть выделено, если уже использовано примерно 80% выделенных адресов или если имеется необходимость безотлагательного использования адресов, количество которых превышает число нереализованных выделенных адресов. При этом резервирование адресов не считается их использованием.

Соответственно иерархическая система подразумевает выделения блоков адресов сначала Региональным Интернет-Реестрам, которые выделяют блоки адресов Локальным Интернет-Реестрам. Те, в свою очередь, выделяют адреса более мелким структурам, которые, в свою очередь, выделяют конкретные адреса конечным пользователям.

Это легко продемонстрировать двумя примерами.

Когда пользователь использует модем и телефонную линию для входа в Интернет, он входит в сеть своего Интернет-провайдера. Интернет-провайдер выделяет такому пользователю динамический адрес из числа адресов, которые были выделены провайдеру Локальным Интернет-Реестром. В свою очередь Локальный Интернет-Реестр выделил адреса Интернет-Провайдеру из числа адресов, которые были выделены ему Региональным Интернет-Реестром. А Региональный Интернет-Реестр выделил адреса Локальному Интернет-Реестру из числа адресов, распределенных между четырьмя Региональными Интернет-Реестрами, как было указано выше.

Другой пример. Некто решил выложить в сети свой сайт. Заключил договор с хостинг-провайдером. Хостинг-провайдер объяснил пользователю, как выложить файлы на сервер. Хостинг-провайдер сказал, что у сайта будет выделенный IP адрес. Что произошло на самом деле? Хостинг-провайдер выделил пользователю статический адрес из числа адресов, которые были выделены хостинг-провайдеру Локальным Интернет-Реестром. Опять-таки Локальный Интернет-Реестр получил адреса от Регионального Интернет-Реестра.

 

Появление доменов

 

Когда сеть Интернет была в стадии начала развития, она состояла из небольшого числа компьютеров, объединенных между собой посредством модемов и телефонных линий. Соединение можно было осуществить, только указав IP адрес компьютера, с которым предполагалось связаться. Например, надо было вводить адрес 217.106.224.1. В этом не было ничего страшного, пока в сети было совсем мало компьютеров. Но это становилось ужасно неудобным по мере увеличения количества компьютеров, входящих в сеть.

Сначала в качестве решения проблемы было избрано использование текстового файла, за обновление которого отвечал Сетевой Информационный Центр Стенфордского Исследовательского Института (Stanford Research Institute's Network Information Center - SRI-NIC). Этот файл назывался таблицей хостов (host table). В этом текстовом файле содержались IP адреса и соответствующие им названия. Обновление файла осуществлялось несколько раз в неделю. Системные администраторы скачивали обновленный файл (по протоколу FTP) и обновляли свои серверы доменных имен *(6).

Скоро этот текстовый файл достиг таких размеров, что работать с ним стало очень неудобно. Несмотря на то, что он прекрасно справлялся с задачей ассоциирования названий с адресами, он не являлся наиболее удобным или эффективным способом обновления и распространения информации. На карту была поставлена стабильность быстро растущего Интернета. Тогда в 1983 г. в Университете Висконсина была создана система доменных имен (DNS - Domain Name System), которая автоматически определяла соответствие текстовых названий и IP адресов. Сначала доменные имена существовали в виде простых словесных обозначений (например, "USC-ISIF"), а в октябре 1984 г. появились первые домены верхнего уровня общего назначения (gTLDs - generic Top-Level Domains) *(7).

В соответствии с документом, получившим название RFC920, целью доменов является обеспечение контроля за использованием имен. Основные требования к домену вызваны необходимостью ответственного администрирования доменных имен. Доменная система представляет собой систему в виде дерева, которое состоит из нескольких доменов верхнего уровня. Домены верхнего уровня подразделяются на домены второго уровня. Домены второго уровня подразделяются на домены третьего уровня и так далее.

Администрирование домена означает контроль за распределением имен внутри этого домена и обеспечение доступа к именам и связанной с ними информации (например, адресам) пользователям как внутри, так и за пределами домена *(8).

Система доменов первого уровня изначально состояла из:

- домена ARPA, что являлось результатом истории развития сети Интернет;

- так называемых доменов по категориям: GOV (правительственный домен), EDU (образовательный домен), COM (коммерческий домен), MIL (военный домен) и ORG (домен для организаций);

- так называемых доменов по странам (здесь использовалось английское обозначение каждой страны, состоящее из двух букв, так называемая alpha 2).

Необходимо повторить, что изначально система DNS была предназначена именно для нахождения конкретных компьютеров и людей, а не сайтов как таковых. В качестве примера, указанного в RFC920, приводилось доменное имя CEZANNE.MIT.EDU, с помощью которого можно было найти компьютер, принадлежащий пользователю с именем CEZANNE, который являлся частью сети Мичиганского университета технологии, который в свою очередь входил в образовательный домен.

Самое удивительное в системе DNS то, что не существует какой-либо одной организации, ответственной за ее обновление. Она существует в виде распределенной базы данных, которая размещена на разных серверах по всему миру, причем ни на одном сервере эта база данных не представлена в своей совокупности.

Лишь с появлением большого количества веб-сайтов основная роль доменных имен стала сводиться к нахождению собственно сайтов, а не компьютеров как таковых.

Но основной принцип использования текстовых названий для нахождения компьютеров в сети Интернет остался прежним. Речь идет об ассоциировании IP адресов с буквенно-словесными обозначениями. Таким образом, для того, чтобы попасть на сайт Copyrighter.Ru, пользователю необходимо запомнить адрес www.copyrighter.ru.

Вместе с тем необходимо понимать и помнить, что для того, чтобы компьютер связался с сервером, не нужно ничего, кроме простого IP адреса. Например, Вы можете набрать в браузере https://217.106.224.1, и Вы попадете на сервер, на котором расположен сайт Copyrighter.Ru *(9). Доменные имена придуманы лишь для удобства людей.

Если бы нам приходилось запоминать IP адреса всех сайтов, которые мы посещаем каждый день, мы бы давно сошли с ума. Людям не свойственно запоминать последовательности цифр. Однако они неплохо справляются с запоминанием слов. Вот для чего нужны доменные имена. Уверен, вы прекрасно помните сотни доменных имен. В качестве первых пришедших мне в голову примеров назову:

- www.copyrighter.ru - авторско-правовой проект автора этой книги;

- www.google.com - один из популярных поисковиков;

- artbiter.wipo.int - сайт Центра ВОИС по арбитражу и посредничеству (обратите внимание, на то, что он не начинается с www);

- ftp.microsoft.com - FTP-сервер компании Microsoft (а не веб-сервер, с помощью которого можно просматривать сайт Microsoft.Com):

Части вышеприведенных адресов - RU, COM, INT являются так называемыми доменными именами верхнего уровня, или доменными именами первого уровня. Существует несколько сотен доменных имен первого уровня, включая COM, EDU, GOV, MIL, NET, ORG и INT, а также уникальные комбинации из двух букв для каждой страны мира.

Внутри каждого домена верхнего уровня существует огромный список доменов второго уровня. Например, в домене первого уровня COM существуют доменные имена второго уровня google, yahoo, msn, microsoft и миллионы других имен *(10).

Каждое имя в пределах домена верхнего уровня должно быть уникальным. При этом вполне возможно использование одинаковых имен в разных доменах верхнего уровня. Например, copyrighter.ru и copyrighter.com ссылаются на абсолютно разные компьютеры.

Самое первое слово в адресе, например, в приведенных выше доменных именах - www или arbiter, это название хоста. Оно определяет название конкретного компьютера (с конкретным IP адресом) в домене. В каждом домене может находиться огромное множество хостов, главное, чтобы у каждого из них было уникальное имя. Кстати, столь часто употребляемое "www" является точно таким же названием хоста, как и любое другое: просто на заре становления Интернета имя "www" присваивалось компьютеру, при доступе к которому, в отличие от лимитированного доступа к чужим файлам, можно было увидеть тот или иной вебсайт.

Существуют также доменные имена, состоящие из более чем трех частей. Например, www.bbc.co.uk. В этом случае bbc - это доменное имя третьего уровня (а www - имя хоста). Теоретически возможно использование до 127 уровней доменных имен, хотя использование доменов ниже четвертого уровня практически не встречается *(11).

Поскольку все имена в рамках одного домена первого уровня должны быть уникальны, необходимо обеспечить, чтобы в списке не появлялись одинаковые названия. Например, в домене COM не могут существовать идентичные названия. За этим следит компания Network Solutions. Регистрация доменных имен осуществляется через одного из нескольких десятков регистраторов, которые сотрудничают с Network Solutions. Эти регистраторы вносят изменение в свои списки, Network Solutions в свою очередь ведет централизованную базу данных, которую обычно называют базой whois, в которой содержится информация о владельце и name-серверах для каждого домена.

Но в данном случае речь идет именно о домене COM, в пределах которого Network Solutions осуществляет контроль за регистрацией доменных имен. В отношении доменов третьего уровня, например, в пределах домена MICROSOFT.COM, контроль за регистрацией доменных имен Network Solutions не осуществляет. Вся ответственность за регистрацию доменных имен третьего уровня в пределах домена второго уровня MICROSOFT лежит на одноименной корпорации, на имя которой зарегистрирован этот домен второго уровня в рамках домена первого уровня COM.

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

 

┌───────────────────────────────────────────────────────────────────────┐

│1. Пользователь соединяется с помощью модема и телефонной линии со│

│своим Интернет-провайдером. │

│2. Пользователь набирает в браузере адрес или щелкает по ссылке.│

│Допустим, речь идет об адресе: "http//www/domain.com/file.htm". │

│3. Браузер делит адрес на составляющие - а) протокол ("htp"), б) имя│

│сервера (www.domain.com/file.htm"). │

│4. Модуль операционной системы его компьютера, ответственный за│

│протокол TCP/IP, посылает в отношении имени сервера DNS - запрос на│

│сервер, указанный первым в конфигурации компьютера. Это DNS-сервер│

│Интернет-провайдера пользователя. │

│5. DNS-сервер Интернет-провайдера ищет в своем кэше (cache) имя,│

│которое запросил пользователь, и ассоциированный с ним IP адрес. В кэш│

│провайдера попадают все имена которые были недавно запрошены всеми│

│пользователями сети провайдера. Кэш регулярно обновляется обычно раз в│

│день с тем, чтобы удобство быстрого нахождения адреса не подменялось│

│неудобством получения устаревшей информации. │

└──────────────────────────────────┬────────────────────────────────────┘

┌─────────────────┴───────────────────┐

▼ ▼

┌────────────────┴─────────────────┐ ┌────────────────┴────────────────┐

│DNS-сервер Интернет-провайдера│ │DNS-сервер Интернет-провайдера│

│находит доменное имя в своем│ │не находит доменное имя в своем│

│кэше. │ │кэше. │

└┬─────────────────────────────────┘ └─────────────────┬───────────────┘

│ ▼

│ ┌────────────────────────────────────────────────┴───────────────┐

│ │DNS-сервер Интернет-провайдера ищет заданное имя во всех│

│ │доменах, для которых Интернет-провайдер поддерживает DNS - как│

│ │первичный, так и вторичный. │

│ └────────────────────────────────────────────────┬───────────────┘

│ ┌──────────────────────────────────────┤

│ ▼ ▼

│┌──────────────┴────────────────────┐┌────────────────┴───────────────┐

││DNS-сервер Интернет-провайдера││DNS-сервер Интернет-провайдера│

││находит доменное имя среди доменов,││не находит доменное имя среди│

││для которых провайдер поддерживает││доменов, для которых провайдер│

││DNS. ││поддерживает DNS. │

│└┬──────────────────────────────────┘└────────────────┬───────────────┘

│ │ ▼

│ │┌───────────────────────────────────────────────────┴───────────────┐

│ ││1. DNS-сервер Интернет-провайдера посылает запрос на│

│ ││A.Root-Servers.Net или на другой корневой DNS-сервер, если этот│

│ ││сервер не доступен. │

│ ││2. Кореневой DNS-сервер просматривает свои записи для домена "com".│

│ ││3. Кореневой DNS-сервер находит запись о запрашиваемом домене. │

│ ││4. Кореневой DNS-сервер отсылает данные о name-серверах│

│ ││запрашиваемого домена (первичном, вторичном и дополнительных, если│

│ ││они есть) DNS-серверу Интернет-провайдера. │

│ ││5. Теперь у DNS-сервера Итернет-провайдера есть адрес DNS-сервера│

│ ││запрашиваемого домена. │

│ ││6. DNS-сервер Интернет-провайдера посылает запрос "www.domain.com"│

│ ││DNS-серверу запрашиваемого домена. │

│ ││7. DNS-сервер запрашиваемого домена "domain.com" отвечает: "Да, это│

│ ││я отвечаю за этот домен. У меня есть запись о хосте "www". │

│ ││8. DNS-сервер домена "domain.com" отсылает IP адрес хоста "www"│

│ ││DNS-серверу Интернет-провайдера. │

│ ││9. DNS-сервер Интернет-провайдера запоминает данные от только что│

│ ││полученном IP адресе в своем кэше. │

│ │└───────────────────────────────────────────────────┬───────────────┘

▼ ▼ ▼

┌┴─┴────────────────────────────────────────────────────┴───────────────┐

│1. DNS-сервер Интернет-провайдера отсылает запрашивающему клиенту IP│

│адрес, который ассоциирован с этим доменным именем. │

│2. Браузер соединяется с сервером по данному IP адресу. │

│3. По протоколу HTTP браузер посылает серверу запрос GET, запрашивая│

│файл "http//www/domain.com/file.htm". │

│4. Сервер посылает HTML-файл веб-страницы браузеру пользователя. │

│5. Браузер обрабатывает текстовый файл, формируя веб-страницу,│

│используя язык HTML. │

└───────────────────────────────────────────────────────────────────────┘

 

Самое удивительное, что все шаги в этой цепочке обычно выполняются за доли секунды.

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

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

Я зашел на сайт хостинг-провайдера и там указал, что хочу получить выделенный IP адрес для сайта www.copyrighter.ru. Через пару секунд на экране появилось сообщение, что изменения внесены.

Что произошло на самом деле? Хостинг-провайдер, который отвечает за name-серверы, содержащие информацию о доменном имени copyrighter.ru и об IP адресе сервера, на котором размещается сайт Copyrighter.Ru, обновил информацию об IP адресе, который должен ассоциироваться с доменным именем www.copyrighter.ru.

Теперь, набрав 217.106.224.1, я попадал на свой сайт. Но когда я набрал в браузере www.copyrighter.ru, я получил в ответ сообщение о том, что сервер не найден. Почему это произошло? Да потому, что в кэше DNS-сервера моего Интернет-провайдера был прописан старый IP адрес, на который ранее ссылалось доменное имя www.copyrighter.ru.

Но когда я попросил своего приятеля из США, который точно никогда не заходил на мой сайт, набрать в браузере www.copyrighter.ru и сказать мне, что он увидит, он сказал, что у него без проблем открылся сайт Copyrighter.Ru. Это произошло, потому что в кэше DNS-сервера его Интернет-провайдера не было никакой информации о доменном имени copyrighter.ru, и поэтому была запрошена самая свежая информация.

Мне же в течение почти полутора суток приходилось пользоваться цифровой формой набора адреса своего сайта - до тех пор, пока мой Интернет-провайдер не обновил кэш своего DNS-сервера.

Не скрою, ужасно неудобно каждый раз набирать ничего не значащие цифры, разделенные точками.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-06-10 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: