Мы продолжаем изучать способы создания IP-адресов. Сейчас мы с вами изучаем классовый метод адресации, и в предыдущей статье мы научились создавать адреса класса A. Кроме того, мы с вами уже знаем, что такое адрес сети, ограниченный широковещательный адрес, и широковещательный адрес в заданную сеть.

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

10XXXXXX.XXXXXXXX.YYYYYYYY.YYYYYYYY Номер сети: 14 бит первого байта, то есть, в классе B может быть не более 16 000 с хвостиком сетей (2 в 14 степени). Номер хоста: 16 бит (примерно по 64 000 хостов в каждой сети). Диапазон: 128.0.0.0 – 191.255.0.0

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

Помимо адресов класса A классовый метод определяет адреса класса B. В этот класс входят все адреса, номер сети которых начинается с битов 10. При этом на определение номера сети отводится 2 первых байта IP-адреса. То есть, схематично IP-адрес класса B в двоичном виде можно представить так: 10XXXXXX.XXXXXXXX.YYYYYYYY.YYYYYYYY, где X является битом номера сети, а Y — битом номера хоста.

Диапазон IP-адресов класса B начинается адресом 128.0.0.0, и заканчивается адресом 191.255.0.0. Это естественно, ведь все адреса до адреса 128.0.0.0 относятся к классу A. Адреса же, которые идут после адреса 191.255.0.0, будут относиться к другим классам. Класс C

110XXXXX.XXXXXXXX.XXXXXXXX.YYYYYYYY Номер сети: 21 бит первого байта, то есть, в классе C может быть не более 2 000 000 с хвостиком сетей (2 в 21 степени). Номер хоста: 8 бит (по 256 хостов в каждой сети). Диапазон: 192.0.0.0 – 223.255.255.0

Итак, давайте подытожим сведения об общей доле адресов того или иного класса среди всех возможных IP-адресов. Половина всех возможных IP-адресов относится к классу A. Половина оставшихся IP-адресов относится к классу B (то есть, четверть всех адресов). Ну, а к классу C относится половина того, что осталось после выделения адресов для класса A и класса B (то есть, восьмая часть всех адресов).

Номер сети в адресах класса C должен начинаться с битов 110. При этом на определение номера сети отводится 3 первых байта IP-адреса. То есть, схематично IP-адрес класса C в двоичном виде можно представить так: 110XXXXX.XXXXXXXX.XXXXXXXX.YYYYYYYY.

Давайте еще раз обратимся к общей доле адресов того или иного класса среди всех возможных IP-адресов. На этот раз для того, чтобы определить диапазон адресов класса C.

Весь диапазон возможных IP-адресов следующий: 0.x.x.x – 255.x.x.x.

Под адреса класса A отводится первая половина всего диапазона IP-адресов (то есть, в числовом эквиваленте, 256-128 = 128): 0.y.y.y-127.y.y.y.

Под адреса класса B отводится половина оставшегося диапазона IP-адресов (то есть, в числовом эквиваленте, 256-128-64 = 64): 128.x.y.y-191.x.y.y.

Под адреса класса C отводится половина оставшегося диапазона IP-адресов (то есть, в числовом эквиваленте, 256-128-64-32 = 32): 192.x.x.y-223.x.x.y. Итак, диапазон адресов класса C следующий: 192.0.0.0 – 223.255.255.0.

Определение компьютеров с одинаковыми IP-адресами Следует понимать, что адреса классов A, B и C предназначены для идентификации отдельных компьютеров в сети. А значит, в сети не может существовать двух и более компьютеров, имеющих одинаковый IP-адрес. При возникновении такой ситуации все «лишние» компьютеры работать в сети не смогут. Сможет работать только самый первый компьютер с одинаковым IP-адресом.

Но давайте рассмотрим эту ситуацию на примере. Итак, вы включаете компьютер. Допустим, этому компьютеру присвоен IP-адрес, который также присвоен какому-либо другому компьютеру сети (причем, этот другой компьютер в данный момент подключен к сети).

Как только операционная система Windows вашего компьютера загрузилась, она отправляет в сеть специальный ARP-запрос, наподобие следующего: «все компьютеры сети, которые имеют указанный в запросе IP-адрес, пожалуйста, пришлите мне свои MAC-адреса!». В качестве запрашиваемого IP-адреса операционная система указывает свой собственный IP-адрес. То есть, если в сети есть компьютеры с таким же IP-адресом, они пришлют вашей операционной системе ответ на ARP-запрос, содержащий в себе их MAC-адрес. MAC-адреса других компьютеров вашей операционной системе ни к чему, но зато она сразу поймет, что в сети есть другой компьютер, которому присвоен тот же IP-адрес. Как только она это поймет, перед вами отобразится сообщение об ошибке, и ваш компьютер будет отключен от сети. Зато другой компьютер, который использовал ваш IP-адрес до того момента, как вы включили свой компьютер, и дальше сможет работать в сети.

Если на первый ARP-запрос ответа не пришло, операционная система Windows на всякий случай еще раз посылает такой же ARP-запрос. Вдруг ответ на первый ARP-запрос затерялся где-то в сети?

По умолчанию таким образом посылается 3 ARP-запроса. Однако с помощью параметра REG_DWORD типа ArpRetryCount ветви реестра HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters вы можете самостоятельно указать максимальное количество ARP-запросов, которые будет посылать операционная система Windows.

Если же вы присвоите данному параметру значение 0, тогда операционная система Windows вообще не будет посылать ARP-запросы. То есть, она не будет проверять дублирование IP-адресов в сети, а сразу же к ней подключится и будет с ней работать (правда, в этом случае никто не будет гарантировать, что при вашей работе с сетью не будут возникать различные ошибки). И в этом нет ничего удивительного. Например, данное поведение присуще большинству операционных систем семейства Linux. Они также при подключении к сети не проверяют, есть ли в сети компьютеры, использующие тот же IP-адрес, что и вы.

А вот интересно, смогут ли в одной сети «корректно» работать два компьютера с одинаковыми IP-адресами? Вряд ли! Если в один момент времени эти компьютеры взаимодействуют (отправляют данные) с разными компьютерами сети, тогда все может быть сравнительно нормально. А вот если эти два компьютера вдруг вздумают одновременно взаимодействовать с одним и тем же компьютером сети, тогда начнутся различные ошибки. Также ошибки могут возникнуть в том случае, если какой-то компьютер захочет послать данные одному из компьютеров с одинаковым IP-адресом. Этот случай подобен игре «орел-решка». Ведь для того, чтобы послать данные компьютеру из сети, необходимо знать его MAC-адрес. А чтобы узнать MAC-адрес компьютера, посылается широковещательный ARP-запрос. И доподлинно неизвестно, какой из двух компьютеров с одинаковыми IP-адресами первым ответит на такой запрос (как и неизвестно, какому из компьютеров отправит данные станция — тому, который первым ответил на ARP-запрос, или тому, который ответил последним; это зависит от реализации стека TCP/IP). И, конечно, два компьютера с одинаковыми IP-адресами ни в коем случае не смогут взаимодействовать друг с другом. Класс D

1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX Количество возможных групп: 256 000 000 с хвостиком. Диапазон: 224.0.0.0-239.255.255.255

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

Адреса класса D нельзя присваивать отдельным компьютерам (точнее, можно, но не для того, чтобы уникально идентифицировать компьютер в сети). Они предназначены для других целей — для групповой адресации. Пакет, посланный компьютеру с IP-адресом, который относится к классу D, на самом деле отправляется множеству компьютеров, которые входят в определенную группу.

Чтобы отдельный компьютер смог получать пакеты, которые посылаются на групповой адрес, он должен зарегистрироваться в соответствующей группе. Класс E

1111XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX Диапазон: 240.0.0.0 – 248.255.255.255

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

К классу E относится оставшаяся шестнадцатая часть всех возможных адресов протокола IP. Автономные сети

Адреса класса A, B и C содержат в себе ряд сетей, которые называются автономными сетями. К таким сетям относятся следующие сети:

* В классе А сеть 10.0.0.0; * В классе В 16 сетей с 172.16.0.0 по 172.31.0.0 (все эти адреса сетей можно записать с помощью одного адреса 172.16.0.0/12, однако такой способ записи адресов мы рассматривать не будем, хотя в нем нет ничего сложного: /); * В классе С 256 сетей с 192.168.0.0 по 192.168.255.0 (все эти адреса сетей можно записать с помощью одного адреса 192.168.0.0/16).

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