Адресация в протоколах TCPIP. Схема рекурсивного и нерекурсивного режимов работы DNS-серверов
В протоколе 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-адресов — распространение информации по схеме «один-ко-многим».
Серверы имен могут работать в 2х режимах: рекурсивном и нерекурсивном (рис. 9.3).
При нерекурсивном режиме работы (называемом также итеративной процедурой) сервер имен получает запрос от клиента DNS, например, на преобразование доменного имени в IP-адрес. Если доменное имя входит в зону управления сервера, то сервер возвращает клиенту ответ: положительный, т.е. IP-адрес, или отрицательный, если такого имени нет. Если имя не относится к зоне управления сервера, но присутствует в его кэше, то сервер ищет там. Если же требуемая информация не присутствует в кэше, то клиенту DNS отсылается IP-адрес сервера имен, который ближе к нужному домену. В этом случае клиент сам запрашивает другой сервер и так происходит до тех пор, пока не будет найден сервер, управляющий требуемым доменом.
При рекурсивном режиме работы (называемом также косвеной процедурой), в случае отсутствия нужной информации, DNS-сервер сам обращается по цепочке к другим серверам имен, а клиенту отсылается уже готовый результат. В этом случае клиент освобождается от большей части работы по поиску информации в DNS. Однако рекурсивный режим работы используется намного реже нерекурсивного, т.к. нагрузка на серверы имен в этом случае значительно возрастает. А это является не оптимальным для клиента, поскольку при большой задержке ответа ему трудно определить произошел ли сбой в линии или просто опрашивается очень длинная цепочка серверов имен.
|