Соглашения о специальных адресах: broadcast, multicast, loopback

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

  • если IР-адрес состоит только из двоичных нулей,
0 0 0 0................................... 0 0 0 0
  • то он обозначает адрес того узла, который сгенерировал этот пакет;
  • если в поле номера сети стоят 0,
0 0 0 0.......0 Номер узла
  • то по умолчанию считается, что этот узел принадлежит той же самой сети, что и узел, который отправил пакет;
  • если все двоичные разряды IP-адреса равны 1,
1 1 1 1.........................................1 1
  • то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast);
  • если в поле адреса назначения стоят сплошные 1,
Номер сети 1111................11
  • то пакет, имеющий такой адрес рассылается всем узлам сети с заданным номером. Такая рассылка называется широковещательным сообщением (broadcast);
  • адрес 127.0.0.1 зарезервирован для организации обратной связи при тестировании работы программного обеспечения узла без реальной отправки пакета по сети. Этот адрес имеет название loopback.

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

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

ПРИМЕР. Имеется адрес сети класса A, 77.0.0.0. В сети имеется 5 подсетей, каждая из которых состоит не более чем из 1000 узлов. Для решения подобных задач и предназначена технология маски подсети.

Решение:

Адрес сети 77.0.0.0. * маска подсети для этого адреса: 11111111.00000000.00000000.0000000.

Нужно разделить сеть 77.0.0.0 на 5 отдельных подсетей. Чтобы сделать это, необходимо расширить количество битов IP-адреса, которые будут отвечать за определение номера сети. В нашем случае необходимо 3 дополнительных бита — с их помощью можно создать 8 подсетей (2 в 3 степени), чего вполне хватит для требующихся нам 5 подсетей, и еще останется место для расширения количества подсетей.

Добавив к номеру сети три дополнительных бита, мы получим следующую маску подсети: 11111111.11100000.00000000.00000000 или 255.224.0.0. C помощью такой маски подсети можно разбить один адрес сети на 5 подсетей, например, следующих:

x.010xxxxx.x.x = 77.64.0.0;

x.100xxxxx.x.x = 77.128.0.0;

x.101xxxxx.x.x = 77.160.0.0;

x.110xxxxx.x.x = 77.192.0.0;

x.111xxxxx.x.x = 77.224.0.0;


 

Однако как обстоят дела с хостами? Хватит ли нам того количества хостов, которое может использоваться в созданных адресах сети? Если нам нужно не более 1000 хостов в одной сети, то, конечно, хватит. Ведь под номер хоста отводится целых 21 бит, т.е. в наших сетях может быть более 2 000 000 хостов.

Новую маску подсети мы нашли. Теперь необходимо только определить номера хостов, которые будут соответствовать нашим маскам подсети. Например, давайте попробуем найти первый, второй и последний номер хоста для адреса подсети 77.160.0.0. Посмотрим, как выглядит этот адрес в двоичном виде, а ниже еще раз запишем в двоичном виде нашу маску подсети:

01001101.10100000.0.0 11111111.11100000.0.0

Итак, для определения номера хоста в нашем адресе сети используется только 5 бит второго байта. То есть, первый, второй и последний адреса в нашей сети будут следующими:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: