В отличие от аппаратных адресов, которые «вшиваются» в платы сетевых адаптеров на заводе, IP-адреса компьютерам в ЛВС назначаются администратором сети. IP-адреса сетевых плат не должны повторяться; если один и тот же адрес будет присвоен двум системам, нормально работать в сети они не смогут.
Как уже говорилось, IP-адрес состоит из двух частей — идентификатора сети и идентификатора хоста. Идентификаторы сети у всех сетевых плат, входящих в определенную подсеть, совпадают, а идентификаторы хостов различаются. Системам, входящим в Интернет, сетевые идентификаторы присваиваются организацией IANA (Internet Assigned Numbers Authority). Делается это для того, чтобы избежать дубликации адресов в Интернете. Когда некая организация регистрирует свою сеть, сетевой идентификатор ей присваивается централизованно, а назначение уникальных идентификаторов хостам в сети относится уже к компетенции сетевого администратора. Это один из основополагающих организационных принципов Интернета. Подобным образом назначаются и имена доменов.
Примечание Хотя IANA по-прежнему отвечает за назначение сетевых адресов, практически все доступные в используемой сейчас схеме IP-адреса уже присвоены провайдерам Интернета (Internet Service Providers, ISP). Организовав новую сеть, адрес для нее Вы получите у провайдера, а -не непосредственно в IANA.
Основная сложность IP-адреса в том, что граница между идентификаторами сети и хоста не всегда находится в одном и том же месте. Аппаратный адрес, например, состоит из 3 байтов, присвоенных производителю сетевого адаптера, и 3 байтов, присвоенных производителем данной плате. В IP-адресе идентификатору сети в зависимости от ее размера может назначаться различное количество битов.
IANA различает IP-адреса нескольких классов, обеспечивающих поддержку компьютерных сетей различных размеров.
В каждом классе двоичным значением первых битов заданы возможные десятичные значения первого байта адреса. Например, первый бит адресов класса А всегда равен 0, соответственно, двоичное значение первого байта варьируется от 00000001 до 01111111, т. е. в десятичной форме от 1 до 127. Значит, увидев IP-адрес, первый байт которого заключен в пределах от 1 до 127, Вы сразу поймете, что это адрес класса А. В таком адресе идентификатор сети занимает первые 8 битов, а оставшиеся 24 бита отведены идентификатору хоста. Таким образом, всего может существовать 126 сетей класса А (идентификатор сети 127 зарезервирован для диагностики), но в каждую из них можно включить до 16 777 214 сетевых адаптеров. В классах В и С под идентификатор сети отводится больше битов, значит, и самих таких сетей может быть больше. Правда, за счет сокращения количества битов идентификатора хоста в такие сети можно включать меньшее число адаптеров.
Поначалу такое распределение IP-адресов на классы может показаться странным. Действительно, компьютерных сетей, состоящих из 16 миллионов хостов, попросту нет, зачем же нужны адреса класса А? Однако IP-адреса допускают дальнейшее «дробление» за счет создания подсетей. Подсеть (subnet) представляет собой просто фрагмент адреса, идентифицирующий одну из ЛВС интерсети или сеть одного из клиентов провайдера Интернета. Таким образом крупному провайдеру Интернета может присваиваться адрес класса А, а он затем раздает фрагменты этого адреса в виде подсетей своим клиентам.Вомногих случаях клиентами крупного провайдера являются провайдеры поменьше, и тогда распределение адресов происходит в два этапа.
Чтобы понять процесс создания подсети, Вы должны разобраться, зачем нужна маска подсети (subnet mask), которая задается одновременно с IP-аДресом при конфигурировании TCP/IP-системы. Говоря попросту, маска подсети определяет, какие биты IP-адреса относятся к идентификатору сети, а какие — к идентификатору хоста. Например, для'адреса класса А маска подсети выглядит так: 255.0.0.0. В двоичном представлении маски подсети 1 соответствует идентификатору сети, а 0 — идентификатору хоста. В двоичной форме маска 255.0.0.0 записывается так:
11111111 00000000 00000000 00000000
Каждый компьютер из любой сети может связаться с любым компьютером из любой другой сети, если существует соответствующий маршрут. Причем этот маршрут может проходить по одной или нескольким сетям.
Когда протокол TCP/IP на компьютере пользователя обнаруживает, что пункт назначения находится не в его локальной сети, он пересылает TCP/IP пакет на маршрутизатор. Маршрутизатор – это специальный компьютер, который определяет путь, по которому TCP/IP-пакеты должны проследовать от одного компьютера к другому.
С помощью маршрутизатора определяется, куда пакет должен «перепрыгнуть» в следующий раз, чтобы попасть в другую сеть Internet. Маршрутизатор не знает полного маршрута, по которому проходит паке до места назначения; он знает только куда должен быть сделан следующий прыжок. Для выполнения этой задачи используются таблицы маршрутизации и алгоритмы маршрутизации.