Крупнейший недостаток автоматического присвоения адреса через DHCP – то, что сетевые устройства при этом определяются значительно медленнее, и после включения всех устройств могут пройти минуты, пока они будут видны в «сетевом окружении» или хотя бы просто доступны. Чтобы ускорить этот процесс, можно пойти на компромисс – для тех ресурсов, которые используются часто, установить соответствие IP-адреса и имени компьютера принудительно. К этому вопросу мы еще вернемся, а сейчас обратимся к основным принципам образования IP-адреса и его структурой.
Для интернет-ресурсов IP-адреса выделяются специальными уполномоченными региональными центрами. Мировым адресным пространством Интернета ведают организации IANA и ICANN: очередные резервы выделяются согласно базе IANA, а координация всей деятельности по распределению IP-адресов и, соответственно, доменных имен осуществляется ICANN. Пять существующих региональных регистратур (Regional Internet Registry, RIR) получают от IANA блоки адресов, которые затем распределяются частями по локальным регистраторам (LIRs). Только в России таких локальных регистраторов несколько сотен (в отличие от регистраторов доменных имен, которых всего около двух десятков), но деятельность их прозрачна, диапазоны выделенных им адресов известны, и потому по IP-адресу сравнительно просто узнать географическое расположение или национальную принадлежность данного адреса (как IP-адреса, так и доменного имени) – см., например, сервис 2ip.ru.
Но на каждый домашний маршрутизатор уполномоченных регистраторов не напасешься. Способ принудительного присвоения IP-адреса еще на производстве, как это делается для MAC-адресов, для оборудования локальных сетей не подходит. В действующей версии протокола IPv4, где адресов всего 4 294 967 296 (2 32), уже не хватает статических адресов даже для интернет-узлов в глобальной сети – 3 февраля 2011 агентство IANA распределило последние 5 блоков адресов региональным интернет-регистратурам. Всеобщий переход в Интернете на новую версию IPv6 (где адресов гораздо больше – 2 128, примерно по 300 миллиардов на каждого жителя Земли) был опробован 8 июня 2011 года, объявленное «Всемирным днем IPv6». Проблемы возникли не более чем у одного пользователя из двух тысяч, – программа перехода предусматривает постепенное замещение одного протокола другим. А для локальных сетей, тем более домашнего масштаба, вообще ничего не изменится – там принципы присвоения адресов совсем другие, и поменять их так же трудно, как, например, единовременно сменить систему телефонной нумерации во всем мире.
По этим причинам приходится идти на всякие сложности. Для локальных сетей, подсоединенных к глобальной сети, действует специальный механизм NAT (Network Address Translation, преобразование сетевых адресов), когда маршрутизирующее устройство извне адресуется присвоенным ей адресом из сети провайдера. Имеется в виду, что этот адрес назначает провайдер, причем обычно точно так же динамически (автоматически), и пользователю об этом задумываться не приходится. Внутри же локальной сети IP-адреса (в том числе и самого маршрутизатора) присваиваются из предопределенных диапазонов адресов, которые в глобальной сети не встречаются. Механизм NAT, встроенный в маршрутизатор, и преобразует локальный адрес в адрес внешней сети. Особенностью этого механизма является то, что все компьютеры такой локальной сети извне выглядят как один-единственный IP-адрес. Для того чтобы их можно было различать, придется присоединить вашу сеть напрямую к провайдерской сети без всяких NAT, и тогда распределением адресов вы уже заниматься не сможете – эта обязанность будет возложена на маршрутизатор провайдера. Естественно, на практике так почти никто не поступает, потому что это неудобно и хлопотно всем сторонам (исключение – если у вас дома размещен собственный стационарный веб-сервер и, соответственно, заключен отдельный договор с провайдером).
Для присвоения IP-адресов в локальной сети стандартами RFC 1918 и RFC 1597 отведено три их диапазона, каждый из которых подразумевает сеть определенного масштаба:
♦ 10.0.0.0 – 10.255.255.255 (сети класса A);
♦ 172.16.0.0 – 172.31.255.255 (сети класса B);
♦ 192.168.0.0 – 192.168.255.255 (сети класса C).
Такие адреса называют частными, внутренними, локальными или «серыми» (напомним, что эти адреса не употребляются в сети Интернет). Класс A – огромные сети, которые могут содержать до 2 24 (16777216) адресов, класс B – до 2 16 (65536) адресов, класс С – маленькие сети, содержащие 256 адресов. Различных частных сетей класса С может быть 255 (в соответствии со вторым справа элементом адреса), сетей класса B – всего 16 (второй слева элемент, который может изменяться от 16 до 31) и сетей класса А – всего одна. Разумеется, сетей с одинаковыми диапазонами адресов, скрытых от внешнего мира за NAT, в разных местах может быть сколько угодно много.