Классы IP-адресов протокола IPv4

IP-адрес для протокола версии 4 имеет длину 4 байта и обычно записывается в виде четырех чисел, пред­ставляющих значения каждого байта в десятичной форме и разделенных точками, например, 128 10.2.30 — традиционная десятичная форма представления адреса, а 10000000 00001010 00000010 00011110 - двоичная форма представления этого же адреса.

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

 
 

На рис. 8.2 показана структура IP-адреса разных классов.

Если адрес начинается с 0, то сеть относят к классу А и номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса А имеют номера в диапазоне от 1 до 126. Номер 0 не используется, а номер 127 зарезервирован для специальных целей. Сетей класса А немного, зато количество узлов в них может достигать 224, то есть 16 777 216 узлов.

Если первые два бита адреса равны 10, то сеть относится к классу В. В сетях класса В под номер сети и под номер узла отводится по 16 бит, то есть по 2 байта. Таким образом, сеть класса В является сетью средних размеров с максимальным числом узлов 216, что составляет 65 536 узлов.

Если адрес начинается с последовательности 110, то это сеть класса С. В этом случае под номер сети отводится 24 бита, а под номер узла — 8 бит. Сети этого класса наиболее распространены, число узлов в них ограничено 28, то есть 256 узлами.

Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый, групповой адрес — multicast. Если в пакете в качестве адреса назначения указан адрес класса D, то такой пакет должны получить все узлы, которым присвоен данный адрес.

Если адрес начинается с последовательности 11110, то это значит, что данный адрес относится к классу Е. Адреса этого класса зарезервированы для будущих применений.

Большие сети получают адреса класса А, средние — класса В, а маленькие — класса С.

В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов.

1. Если весь IP-адрес состоит только из двоичных нулей, то он обозначает адрес того узла, который сгенерировал этот пакет; этот режим используется только в некоторых сообщениях IСМР.

2. Если в поле номера сети стоят только нули, то по умолчанию считается, что узел назначения принадлежит той же самой сети, что и узел, который отправил пакет.

3. Если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назна­чения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast).

4. Если в поле номера узла назначения стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети. Например, пакет с адресом 192.190.21.255 доставляется всем узлам сети 192.190.21.0. Такая рассылка называется широковещательным сообщением (broadcast).

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

Особый смысл имеет IP-адрес, первый октет которого равен 127. Он использу­ется для тестирования программ и взаимодействия процессов в пределах одной машины. Когда программа посылает данные по IP-адресу 127.0.0.1, то образуется как бы «петля». Данные не передаются по сети, а возвращаются модулям верхнего уровня как только что принятые. Поэтому в IP-сети запрещается присваивать ма­шинам IP-адреса, начинающиеся со 127. Этот адрес имеет название loopback. Мож­но отнести адрес 127.0.0.0 ко внутренней сети модуля маршрутизации узла, а адрес 127.0.0.1 — к адресу этого модуля на внутренней сети. На самом деле любой адрес сети 127.0.0.0 служит для обозначения своего модуля маршрутизации, а не только 127.0.0.1, например 127.0.0.3.

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

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

Основное назначение multicast-адресов — распространение информации по схеме «один-ко-многим».

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

Сервер имен служит для перевода имени узла в соответствующий ему адрес при маршрутизации сообщения. Поскольку маршрутизация в сети осуществляется по IP-адресам, то перевод указанного пользователем IP-имени в IP-адрес с помощью DNS обязателен. На рис. 9.2 показана схема работы с DNS-сервером.

Клиент DNS входит в состав программного обеспечения TCP/IP, которое, для поддержания “плоской” (не иерархической) системы именования содержит программу, называемую файл-hosts. За счет этого поддерживается работоспособность сетевых устройств при отсутствии связи с сервером имен.

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

 
 

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

В большинстве приложений TCP/IP принято, что настройки клиента DNS задаются в специальном конфигурационном файле.

Для Unix – это файл /etс/resolv.conf

DOS – etс\resolv.cfg

Windows – etс\resolv.cfg

NetWare – sys:etс\resolv.cfg.

Форматы данных файлов полностью идентичны. Для Windows’95 и Windows NT 4.0 подобный файл отсутствует, а параметры настроек задаются на панели управления.

Файл типа resolv.conf имеет формат:

domain <текущий домен>

nameserver <адрес 1-го сервера>

nameserver <адрес 2-го сервера>

nameserver <адрес 3-го сервера>,

где domain указывает текущий домен узла сети, а nameserver – IP-адрес сервера имен.

Пример файла resolv.conf:

domain company1.msk.ru

nameserver 194. 195.12.1

nameserver 194.195.12.5

Количество строк с адресами DNS-серверов не может превышать трех, а порядок их следования имеет значение для определения порядка вызова серверов. Первым вызывается самый первый в списке DNS-сервер. Обычно первым указывают ближайший вторичный сервер имен данного домена, а затем – первичный. Это позволяет снизить нагрузку на первичный сервер. К следующему в списке DNS-серверу клиент DNS обратится в случае, если первый сервер не работает. Первичный сервер должен быть свободен, чтобы следить за работоспособностью сети и перестраивать таблицы маршрутизации.

Раньше в каждом узле сети был файл hosts (т.е. файл конфигурации узлов сети) отвечает за “плоскую” (т.е. не за доменную иерархическую) систему именования. При помощи этого файла устанавливается соответствие между IP-адресами и NetBIOS- именами.

Местонахождение этого файла также зависит от операционной системы:

Unix – /etc/hosts

DOS, Windows – etc\hosts

NetWare – sys: etc\hosts.

Этот файл состоит из строк формата

<IP-адрес> <имя>[<псевдоним> ... <псевдоним>],

каждая из строк определяет один узел сети. Файл hosts может содержать имена в доменном формате. Например:

194. 195. 12.3 ko-srv ftp-srv

192. 15.2.6 www.company.com

194.195.12.6 pc3

В большинстве ОС клиент DNS запускается автоматически при наличии файла resolv.conf. В связи с этим, программное обеспечение TCP/IP сначала пытается определить IP-адрес узла через файл resolv.conf, а лишь затем, в случае ошибки в этом файле, через файл hosts.

Для того чтобы сократить время подключения к серверу, с которым приходится работать очень часто, можно при помощи одной из команд ping, host или nslookup узнать IP-адрес этого сервера и в дальнейшем вызывать сервер непосредственно через его адрес. Это позволяет избежать длинных цепочек обращений к серверам имен.

Наши рекомендации