Мой адрес — не дом и не улица

 | 13.09

Мой Компьютер, №22 (526), 20.10.2008

Казалось бы, что может быть проще, чем придумать IP-адрес — написал четыре случайных числа, от 0 до 255, и вот он и готов. Но на самом деле все не так просто. И чтобы хоть как-то разобраться в создании IP-адресов, нам понадобится не одна статья, а целых три…

Об IP-адресе должен знать каждый пользователь. Этот адрес необходим для того, чтобы два компьютера в сети смогли взаимодействовать друг с другом. По умолчанию компьютер не имеет IP-адреса (точнее, он имеет IP-адрес 0.0.0.0), поэтому для того, чтобы подключиться к сети, каждый пользователь должен вручную присвоить своему компьютеру отдельный IP-адрес. Хорошо, если администратор сети предоставил вам IP-адрес, который вы должны использовать для подключения. А что, если нет? Что, если у вас есть какой-то IP-адрес, который принадлежит к сети, и вам нужно присвоить своему компьютеру какой-нибудь IP-адрес, «похожий» на существующий? Ведь IP-адреса не берутся из головы. Они имеют свой формат, который необходимо учитывать для того, чтобы создать «правильный» IP-адрес, принадлежащий к той сети, к которой вы хотите подключиться.

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

Почему это так важно? Дело в том, что помимо IP-адресов, присваиваемых отдельным компьютерам, существует еще один тип адресов — IP-адреса сети. Адрес сети — это адрес, в котором все биты, определяющие номер хоста, равны 0. Чтобы несколько компьютеров, объединенных в одну сеть, могли взаимодействовать друг с другом, им должны быть присвоены IP-адреса, принадлежащие одному и тому же IP-адресу сети.

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

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

Но ближе к теме: для адресации в IP-сетях применяются доклассовый метод, классовый метод и маски подсети…

Доклассовый метод

XXXXXXXX.YYYYYYYY.YYYYYYYY.YYYYYYYY

Номер сети: 8 бит.

Номер хоста: 24 бита.

Самый первый метод адресации в IP-сетях назывался доклассовым методом (RFC760). Этот метод намертво фиксировал 1 байт (самый первый) IP-адреса для определения номера сети, а оставшиеся 3 байта IP-адреса использовались для определения номера хоста. То есть, с помощью доклассового метода можно было создать до 256 сетей (2 в 8 степени), состоящих более чем из 16 000 000 хостов (2 в 24 степени).

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

В данный момент доклассовый метод больше не применяется.

Классовый метод

Осознав свою ошибку, компьютерное сообщество решило пересмотреть метод деления IP-адреса на номер хоста и номер сети. В результате на свет появился классовый метод деления — RFC791, созданный в 1981 году. Он используется до сих пор, хотя и был расширен несколькими дополнительными возможностями.

Данный метод делит все возможные IP-адреса на 5 классов. От класса, к которому относится IP-адрес, зависит, сколько байт IP-адреса отводится под хранение номера сети, а сколько — под хранение номера хоста. И, соответственно, максимальное количество хостов, которые могут находиться в сети, построенной на основе IP-адреса, относящегося к конкретному классу.

Чтобы отделить IP-адреса одного класса от другого, было решено зарезервировать в IP-адресе первые биты номера сети. Именно на них возлагается ответственность за определение, к какому именно классу относится тот или иной IP-адрес. Например, если первый бит номера сети равен 0, значит, IP-адрес относится в классу A…

Класс A

0XXXXXXX.YYYYYYYY.YYYYYYYY.YYYYYYYY

Номер сети: 7 бит первого байта, то есть, в классе A может быть не более 127 сетей (2 в 7 степени).

Номер хоста: 24 бита, то есть, в классе A может быть не более 2 в 24 степени хостов минус два.

Диапазон: 0.0.0.0 — 127.0.0.0.

В IP-адресах класса A на определение номера сети отводится первый байт IP-адреса, причем, первый бит (старший бит) этого IP-адреса всегда должен быть равен 0. Остальные 3 байта IP-адреса отводятся для определения номера хоста в конкретной сети. То есть, схематично IP-адрес класса A в двоичном виде можно представить так: 0XXXXXXX.YYYYYYYY.YYYYYYYY.YYYYYYYY, где биты X определяют номер сети, а биты Y — номер хоста.

Поскольку первый бит номера сети зарезервирован и всегда должен быть равен 0 (если он равен 1, то это уже не адрес класса A, а адрес одного из других классов), в классе A может быть не более 128 сетей. То есть, диапазон IP-адресов класса A следующий: 0.0.0.0-127.0.0.0.

Адрес сети и широковещательный адрес. Хостов же в классе A может быть очень много — 2 в 24 степени минус два хоста. Почему отнимается два хоста? Потому что в сетях любого класса, не только класса A, существует два IP-адреса, которые не могут присваиваться компьютерам. Это адрес, в котором номер хоста состоит из одних нулей, а также адрес, в котором номер хоста состоит из одних единиц.

Вероятно, вы уже слышали об IP-адресах, которые состоят из одних единиц (IP-адрес 255.255.255.255)? Правильно, это широковещательные адреса для отправки пакетов всем хостам текущей сети. Такие адреса называются ограниченно широковещательными. Однако помимо ограниченно широковещательных адресов существует другой тип широковещательных адресов — широковещательные в заданную сеть. У таких IP-адресов из всех единиц состоит только номер хоста. Номер сети же определяет сеть, хостам которой должен быть послан данный широковещательный пакет.

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

Сеть 127.0.0.0. Не все адреса сети класса A могут использоваться для организации сетей. Среди них существует одна сеть, которая предназначена для специального применения. Это сеть с адресом 127.0.0.0. Все пакеты, которые стек TCP/IP посылает в эту сеть, никогда не выходят за пределы локального компьютера. Как только они передаются сетевому адаптеру, он отправляет их обратно на локальный компьютер (стек TCP/IP просто переносит их из буфера отправки в буфер приема). То есть, посылая пакеты в сеть 127.0.0.0, вы фактически посылаете их себе же.

Спрашивается, зачем вообще нужна такая сеть? Ответ на этот вопрос прост — с ее помощью вы можете протестировать работоспособность стека протоколов TCP/IP, установленного в операционной системе. Если по каким-то причинам вы не можете связаться с другими компьютерами сети, в первую очередь следует проверить работоспособность стека TCP/IP. То есть, попробовать отправить пакеты на один из адресов сети 127.0.0.0, например, на адрес 127.0.0.1. Сделать это можно с помощью команды ping 127.0.0.1 или tracert 127.0.0.1.

Итак, получается, что в сетях класса A может быть не 128 сетей, как мы решили ранее, а 126. Ведь сети 0.0.0.0 и 127.0.0.0 предназначены для специальных целей, и их использовать нельзя.

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

УМНАЯ ТЕОРИЯ

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

ИНТЕРЕСНО ЗНАТЬ

А как же быть с IP-адресом 0.0.0.0, такой адрес вообще существует? Возможно, это вас удивит, но такой адрес действительно существует. Он называется неопределенным адресом и говорит о том, что компьютер в данный момент не имеет никакого адреса. Компьютер может посылать пакеты, указывая в качестве адреса отправителя IP-адрес 0.0.0.0. Например, именно пакеты с адресом отправителя 0.0.0.0 и адресом получателя 255.255.255.255 посылаются компьютером для того, чтобы специальная служба в сети (DHCP) выдала ему временный IP-адрес.

Parad0x

Robo User
Web-droid editor

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *