Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 4. Протокол IP. Основы IP-адресации.docx
Скачиваний:
11
Добавлен:
01.05.2019
Размер:
466.15 Кб
Скачать

3. Зарезервированные (или особые) ip-адреса

Работа с IP адресами предполагает использование таких типов адресов, которые бы могли использоваться в особых целях. Т.е. вместо основной задачи IP адреса – идентифицировать компьютер в составной сети, в особых случаях адресу вменяется в обязанность идентификация группы компьютеров – участников одной IP сети, идентификация номера сети и т.д.

Для систематизации назначения подобных IP адресов были приняты соглашения по их форме и способу идентификации. Рассмотрим особые адреса.

А) Если ВСЕ биты, ответственные за номер узла в IP адресе равны «0», то такой адрес не может быть присвоен узлу. Такой адрес является номером сети. Приведем примеры номеров сетей:

• В классе А:

- 1.0.0.0, 56.0.0.0, 126.0.0.0, 127.0.0.0

• В классе В:

- 128.10.0.0, 150.150.0.0, 190.0.0.0, 191.200.0.0

• В классе С:

192.10.11.0, 201.30.0.0, 222.0.0.0, 223.45.89.0

Обратите внимание, адреса типа: 10.1.2.0, 67.77.0.0, 155.34.89.0, 228.4.5.0, 250.249.248.0 не являются номерами сетей.

НЕ все биты, отвечающие за номер узла в этих адресах равны нулю, (а ответ на вопрос, какие биты адреса являются адресом узла следует из использования понятия класса), или вообще не содержат в себе номера сети и узла (классы D, E):

  • 10.1.2.0, класс А, за номер узла отвечают х.1.2.0 – следовательно, это не номер сети

  • 67.77.0.0, класс А, за номер узла отвечают х.77.0.0 – следовательно, это не номер сети

  • 155.34.89.0, класс В, за номер узла отвечают х.х.89.0 – следовательно, это не номер сети

  • 228.4.5.0, класс D, вообще не содержит в себе номера сети и узла

  • 250.249.248.0, класс E, вообще не содержит в себе номера сети и узла

Где применяются IP адреса, являющиеся адресами сетей? Конечно же, в таблицах маршрутизации – вспомним, что в простейшей таблице маршрутизации два столбца: номер сети назначения и адрес интерфейса следующего маршрутизатора.

В) Если ВСЕ биты, ответственные за номер узла в IP адресе равны «1», то такой адрес так же не может быть присвоен узлу. Такой адрес называется широковещательным или широковещательным в заданную сеть. Приведем примеры широковещательных адресов в сетях различных классов:

  • В классе А: 1.255.255.255, 56.255.255.255, 126.255.255.255, 127.255.255.255

  • В классе В: 128.10.255.255, 150.150.255.255, 190.0.255.255, 191.200.255.255

  • В классе С: 192.10.11.255, 201.30.0.255, 222.0.0.255, 223.45.89.255

Обратите внимание, адреса типа: 10.1.2.255, 67.77.255.255, 155.34.89.255, 228.4.5.255, 250.249.248.255 не являются широковещательными адресами.

НЕ все биты, отвечающие за номер узла в этих адресах равны «1», (а ответ на вопрос, какие биты адреса являются адресом узла следует из использования понятия класса), или вообще не содержат в себе номера сети и узла (классы D, E):

  • 10.1.2.255, класс А, за номер узла отвечают х.1.2.255 – следовательно, это не широковещательный адрес

  • 67.77.255.255, класс А, за номер узла отвечают х.77.255.255 – следовательно, это не широковещательный адрес

  • 155.34.89.255, класс В, за номер узла отвечают х.х.89.255 – следовательно, это не широковещательный адрес

  • 228.4.5.255, класс D, вообще не содержит в себе номера сети и узла

  • 250.249.248.255, класс E, вообще не содержит в себе номера сети и узла

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

При передаче из одной канальной сети в другую широковещательного IP пакета, по составной сети перемещается один пакет, адрес получателя которого, например, 45.255.255.255. Такой пакет, перемещаясь между транзитными маршрутизаторами является самым обычным пакетом – он просто маршрутизируется, так же как и индивидуально назначенный узлу пакет до маршрутизатора, который подключен к сети назначения 45.0.0.0 и только лишь в саму канальную сеть номер 45.0.0.0 отправляется широковещательным кадром канального уровня.

Таким образом, видно, что передача таких пакетов не нарушает общей идеи составной сети, которая заключается в запрете широковещания ВСЕМ узлам составной сети.

Из вышесказанного следует, что широковещательный адрес может фигурировать в заголовке IP пакета в качестве адреса получателя, но не может фигурировать в заголовке в качестве отправителя.

С) Следующий особый адрес – неопределенный адрес. Адрес, являющийся номером сети класса А, а именно 0.0.0.0 применяется для указания отсутствия IP адреса у узла.

Зачем это может быть нужно? Если при старте интерфейс не имеет адреса, то с помощью специального протокола, он может получить адрес, которым будет пользоваться в дальнейшем, от специального сервера. Пока же узел не имеет своего адреса, он пользуется адресом 0.0.0.0. Такой адрес не может фигурировать в заголовке IP пакета в качестве адреса получателя, но может фигурировать в качестве адреса отправителя, указывая, что отправитель не имеет собственного адреса. Очевидно, такой адрес не может быть присвоен узлу как уникальный идентификатор.

D) Еще один специальный адрес – ограниченно широковещательный (limited broadcast). Это адрес, все биты которого равны «1», т.е. 255.255.255.255. Этот адрес принадлежит классу Е (который является зарезервированным), и является единственным используемым адресом из этого диапазона.

Пакет, посланный по такому адресу принимается всеми узлами своей сети и никогда не маршрутизируется в другие сети. Положим, мы являемся узлом 5.1.1.1. номер нашей сети 5.0.0.0, широковещательный адрес, по которому можно послать пакет всем узлам нашей сети 5.255.255.255, но из высказанного следует, что того же можно добиться, послав пакет по адресу 255.255.255.255.

Зачем это нужно, ведь любой узел знает свой адрес, значит, знает номер своей сети, знает широковещательный адрес своей сети и может послать на этот адрес пакет, зачем же еще ограниченно широковещательный адрес? Ответ как раз и сформулирован в предыдущем предложении: если узел еще НЕ имеет IP адреса, то он не знает широковещательного адреса той сети, которой принадлежит, а послать пакет по адресу 255.255.255.255 может всегда.

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

Мы уже говорили, что узел не имея адреса, шлет пакеты специального прикладного протокола, предназначенного для получения IP адресов (DHCP) от неопределенного адреса 0.0.0.0. При этом узел не знает адреса того сервера, который назначит ему адрес, так же он не знает номера своей сети, и поэтому шлет такой пакет на ограниченно широковещательный адрес. И если в одной сети с безадресным узлом есть DHCP сервер, то он получит данный пакет!

А как DHCP сервер ответит клиенту, если у того нет адреса? Тоже ограниченно широковещательно. Действительно, положим, у нас нет еще адреса, и мы получаем ограниченно широковещательный пакет. Мы знаем, что такой пакет не покидает сети, в которой отправлен, и хоть мы не знаем номера своей сети, но мы знаем, что если мы уже получили такой пакет, то мы находимся в той же сети, как и отправитель этого пакета, следовательно, этот пакет предназначен и для нас тоже!

Таким образом, с помощью неопределенного адреса и ограниченно широковещательного адреса безадресный клиент и DHCP сервер обмениваются информацией, что приводит к назначению узлу IP адреса.

Т.е. безадресный клиент посылает IP пакеты с обратным адресом 0.0.0.0 и адресом получателя 255.255.255.255, а в ответ получает пакеты от адреса DHCP сервера и адресом получателя 255.255.255.255.

Другие особые адреса: сеть класса А, 0.0.0.0 является зарезервированной (и не используемой) и не может присваиваться реальным сетям. Ее номер сети, как уже говорилось выше, используется для указания отсутствия IP адреса у отправителя пакета.

Сеть класса А 127.0.0.0 является зарезервированной для специального применения. Все пакеты, которые стек TCP/IP генерирует в эту сеть, НИКОГДА не отправляются в линии связи через любые сетевые интерфейсы. Вместо этого такие пакеты «закольцовываются», т.е. послав такой пакет, станция сама выступает его получателем (стек просто переносит такие пакеты из буфера отправки в буфер приема).

Это полезно для локального тестирования правильной работы стека TCP/IP, если обмен пакетами с узлом, например, 127.0.0.1 проходит нормально, то с программным обеспечением стека TCP/IP все в порядке. Если же нет, то проблемы носят локальный характер, и не связаны с неисправностью сетевых интерфейсов, линий связи и удаленными системами.

Разумеется, сетевой интерфейс не может иметь адреса в сети 127.0.0.0. Так же очевидно, что в линии связи пакеты с такими адресами отправителей и получателей вообще никогда не попадают, такие пакеты остаются в памяти того узла, который их сгенерировал.

Подведем итог по количеству сетей разных классов и узлов в этих сетях, которые можно реально использовать.

Сетей класса А пригодных для адресации в реальных сетях – 126, а не 128, так как сети 0.0.0.0 и 127.0.0.0 являются используемыми особо. Узлов в сети класса А – 224-2, так как узлу нельзя присвоить ни адрес, являющейся номером сети, ни широковещательный адрес.

Сетей класса B пригодных для адресации в реальных сетях – 214, узлов в сети класса В – 216-2, так как узлу нельзя присвоить ни адрес, являющейся номером сети, ни широковещательный адрес.

Сетей класса С пригодных для адресации в реальных сетях – 221, узлов в сети класса С – 254, а не 256, так как узлу нельзя присвоить ни адрес, являющейся номером сети, ни широковещательный адрес.

Автоконфигурация IP-адресов

Если при загрузке компьютера не было обнаружено ни статически заданных, ни динамически заданных IP-адресов, на хостах с поддержкой локальных IPv4-адресов (RFC 3927) будет создан адрес в диапазоне префиксов 169.254.0.0/16 (от 169.254.0.1 до 169.254.255.254). Этот адрес может использоваться только для соединений в собственной локальной сети и имеет множество ограничений, одно из которых состоит в отсутствии поддержки маршрутизации. Как правило, этот адрес используется в случае отказа, если компьютер не может получить адрес через DHCP (Адреса диапазона префиксов 169.254.0.0/16 называют адресами APIPA, Automatic Private IP Addressingавтоматически настраиваемыми IPv4-адресами).