Протокол ip это (ОСНОВНАЯ ТЕМА)

Протокол ip

IP-адрес имеет длину 4 байта и обычно записывается в виде четырех чисел, представляющих значения каждого байта в десятичной форме, и разделенных точками, например:

  1. 128.10.2.30 - традиционная десятичная форма представления адреса,
  2. 10000000 00001010 00000010 00011110 - двоичная форма представления этого же адреса.

Зарезервированные IP-адреса

Некоторые IP-адреса зарезервированы для специального применения, и администратор сети не вправе приписывать
их узлам сети. Зарезервированные адреса перечислены здесь.

Классы сетей ip

В общем случае IP-сети делятся на классыА, В, С, D и Е. - это позволяет , в частности, рациональнее использовать адресное пространство.

Назначение адресов сетей

Адрес в Интернете можно получить - например так .

Подсети

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

Выделение подсетей

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

Маски подсетей

При применении схемы адресации с подсетями каждая машина сети должна знать, какая часть адреса хоста занята
адресом подсети. Для этого на каждой машине создается маска подсети.
Администратор сети создает 32-битовую маску подсети, состоящую из 0 и 1.
Единицы в маске подсети помечают позиции, относящиеся к адресам сети и подсети.
Нули заносятся в позиции, отведенные под адрес хоста.
Эта идея проиллюстрирована на рис. 4.5.
В примере первые два байта маски подсети заполнены единицами, поскольку адрес сети Acme относится к классу
В (формат Сеть.Сеть.Узел.Узел). Третий байт, обычно относящийся к адресу хоста, теперь представляет собой адрес
подсети. Поэтому все его биты заполнены единицами. И только в четвертом байте хранится уникальный адрес хоста.
Маска подсети может быть также представлена в десятичном формате. Двоичная комбинация 11111111
соответствуетдесятичному числу 255 (см. таблицу преобразования двоичных чисел в десятичные). Таким образом, маску
подсети нашего примера можно отобразить двумя способами (см. рис. 4.6).
Page 6
Совсем необязательно, чтобы в состав сети входили подсети, т. е. маска подсети может и не использоваться. В
подобных случаях говорят, что существует маска подсети, принятая по умолчанию. Маски, принятые по умолчанию
для различных классов сетей (см. табл. 7-1), изменять нельзя. Иначе говоря, применять в качестве маски подсети
маску 255.0.0.0 не разрешается. Хост, которому вы попытаетесь присвоить такую маску, посчитает ее некорректной и
не позволит завершить данную операцию. Для сетей класса А нельзя изменять первый байт маски подсети, поэтому
она должна начинаться с числа 255. Кроме того, недопустима маска 255.255.255.255, поскольку эта конфигурация
обозначает широковещательный адрес. Маска подсети для сетей класса В должна начинаться с 255.255, а для сетей
класса С — с 255.255.255.
Табл. 7-1 Маски подсетей, принятые по умолчанию
Маски подсетей, принятые по умолчанию
Класс сети
Формат адреса
Маска подсети
А
Сеть.Узел.Узел.Узел
255.0.0.0
В
Сеть. Сеть.Узел. Узел
255.255.0.0
С
Сеть. Сеть. Сеть. Узел 255.255.255.0
После того как администратор сети создаст маску подсети для каждой машины, программное обеспечение
протокола IP будет просматривать IP-адреса, используя маску подсети для определения адреса подсети.
Соответствующая операция представлена на рис. 4.7.
В этом примере по маске подсети программно определяется, что третий байт IP-адреса больше не относится к
адресу хоста, а занят адресом подсети, равным 00000100.
Если для размещения адреса подсети использовать третий байт IP-адреса класса В, то задание и определение
адреса подсети становится легким делом. Например, если в сети Acme Inc. необходимо определить подсеть 12, в третий
байт адресов всех машин этой подсети следует вставить 0000 1100.
При использовании всего третьего байта IP-адреса класса В для адреса подсети можно создать довольно много
подсетей. Действительно, так как байт состоит из восьми битов, можно определить 2 = 256 различных адресов.
Однако поскольку адрес не может состоять только из единиц или нулей, число возможных подсетей уменьшается до
254. Таким образом, в сети Acme Inc. можно выделить до 254 подсетей, каждая из которых будет содержать до 254
хостов.
Хотя в официальной спецификации протокола IP (см. документы RFC) применение нулевого адреса подсети
ограничено, в некоторых программных продуктах такой адрес все же допустим. Например, добавление специальных
команд для маршрутизатора Cisco позволяет вводить подсети с нулевым адресом, увеличивая число возможных
подсетей до 255. Однако по умолчанию такое изменение невозможно.
Осторожно!
Использование нулевого адреса подсети увеличивает число возможных подсетей на 1. Однако этот адрес не
следует применять, если не все программное обеспечение допускает такое расширение.
Page 7
Приведем формулы для подсчета максимального числа подсетей и хостов в подсети:
2
(число помеченных битов в маске подсети)
- 2 = максимальное число подсетей
2
(число непомеченных битов в маске подсети)
- 2 = максимальное число хостов в подсети
Помеченными считаются биты с единичным значением, а непомеченными — нулевые биты. На рис. 4.8 приведен
пример применения этих формул.
Таким образом, если число помеченных битов равно 3, согласно приведенным формулам можно создать до шести
подсетей. Для адресации хостов остается 5 бит в третьем байте и 8 бит в четвертом. При 13-битовых адресах к подсети
можно подключить до 2
13
— 2 = 8190 хостов.
При возврате к применению полного байта адреса узла в качестве адреса подсети (маска 255.255.255.0) возможное
количество узлов в каждой подсети сократится. Без выделения подсетей адрес класса В может иметь 65534 различных
значений, которые разрешается использовать в качестве адреса узлов.
Если адрес подсети занимает полный байт адреса узла, остается только один байт для адресов хостов, т. е. в подсети
можно разместить до 254 хостов. Когда в какой-нибудь подсети потребуется увеличить это число, возникнут
затруднения. Для их разрешения вам придется либо укоротить поле адреса подсети в маске и тем самым увеличить длину
адреса хоста, либо добавить вторичный IP-адрес к интерфейсу маршрутизатора, что также позволит увеличить число
хостов в подсети. Однако побочным эффектом такого решения будет уменьшение количества образуемых подсетей.
На рис. 4.9 приведен пример использования более коротких адресов подсетей. Нашей компании необходимо
образовать 14 подсетей, поэтому нет смысла отводить под адрес подсети весь третий байт IP-адреса. Для создания 14-ти
различных адресов подсетей достаточно занять только 4 бита адреса хоста (2
4
— 2 = 14). При этом в оставшихся 12-ти
битах адреса хоста можно разместить 2
12
— 2 = 4094 различных адресов. Таким образом, в сети Acme выделяется 14
подсетей, к каждой Из которых можно подключить до 4094 хостов.
Page 8
7.2.1 Маски подсетей для сетей класса С
Как известно, в IP-адресе сети класса С адрес сети занимает три первых байта (24 бит). Поэтому для адресации
хостов остается только 8 бит. Если необходимо создать подсети, наш выбор будет ограничен из-за малого числа
доступных битов.
Кроме того, при разбиении сети на подсети, более мелкие, чем это определено маской подсети, выбранной по
умолчанию, у вас могут возникнуть затруднения при определении маски, номера сети, широковещательного адреса и
адреса маршрутизатора. В
табл. 7-2
показано, как в сети класса С выделить одну, две, четыре или восемь более мелких
подсетей, а также составить маски подсетей, номера сетей, широковещательные адреса и адреса маршрутизаторов.
Первые три байта обозначены как "x.y.z.".
Page 9
Табл. 7-2 Выделение подсетей в сети класса C
Теперь вернемся немного назад и рассмотрим, как выделяются подсети в сетях разных классов. Начнем с сетей класса С,
поскольку для них под адрес хоста отведено только 8 бит, и наши вычисления будут проще.
Предположим, что необходимо разбить сеть класса С 192.168.100.x на две подсети. Как видно из таблицы, для
каждой подсети следует выбрать маску 255.255.255.128. Первая подсеть будет иметь номер сети 192.168.100.0, адрес
маршрутизатора 192.168.100.1 и широковещательный адрес 192.168.100.127. Кроме того, вы получите 125 различных
IP-адресов в диапазоне от 192.168.100.2 ДО 192.168.100.126. Вторая подсеть будет иметь номер сети 192.168.100.255.
Возможно, вас удивят номера подсетей, указанные в табл. 7-2. Действительно, если применять формулу 2
х
— 2, номер
сети, равный 128, является бессмысленным. Вспомним, что согласно документам RFC подсеть 0 определять не
рекомендуется; однако, используя нулевую подсеть, вы можете работать с маской подсети 128. Для этого под адрес
подсети отводится 1 бит, и возможно создание 2
1
— 2 = 0 подсетей. И все же, введя в ваших маршрутизаторах Cisco
команду ip subnet-zero, вы сможете присвоить хостам в подсети 0 адреса от 1 до 127, а в подсети 128 — адреса от 129
до 254, как и показано в табл. 7-2. Такой подход позволяет несколько расширить число допустимых адресов. Если же
следовать RFC, вы сможете воспользоваться в лучшем случае только маской подсети 192 (двухбитовые адреса подсетей).
Это даст вам 2 —2 = 2 подсети.
Чтобы понять, какие номера подсетей являются корректными, применяют следующую формулу: 256 — маска
подсети. В нашем примере: 256 — 192 = 64, т. е. первая подсеть имеет номер 64. Будем добавлять это значение к номеру
первой подсети до тех пор, пока не достигнем номера подсети в маске. Так, 64 + 64 = 128, и ваша вторая подсеть имеет
номер 128. Затем 128 + 64 = 192. Поскольку 192 — маска подсети, нельзя использовать подсеть с таким номером. Значит,
вы имеете две корректные подсети с номерами 64 и 128. Теперь выясним, какие хосты можно подключить к этим
подсетям.
Номера из диапазона, границы которого совпадают с номерами подсетей, являются корректными адресами хостов.
В нашем примере корректными номерами хостов для сети класса С с маской подсети 192 являются:
Подсеть 64 65 — 126, т. е. возможно подключение до 62 хостов. Что произойдет, если рассматривать 127
в качестве корректного номера хоста? В этом случае все биты адреса хоста равны 1, что недопустимо,
поскольку такая конфигурация используется в качестве широковещательного адреса в подсети.
Подсеть 128
129 — 190. А что можно сказать о номерах из диапазона 191 — 254? Маска подсети равна
192, это значение использовать запрещено; 191 является широковещательным адресом в подсети, поскольку
состоит только из единиц. Номера, превышающие 192, для этой подсети являются некорректными.
Page 10
Как можно заметить, мы потеряли 130 драгоценных адресов. Если в сети класса С необходимо выделить только две
подсети, выбор подсети 128 является лучшим решением, хотя это и трудно проверить.
Теперь рассмотрим ситуацию, когда в сети класса С необходимо выделить четыре подсети. Применим формулу
2
(число_помеченных_битов)
-2. Для создания 2
3
- 2 = 6 подсетей необходимо отвести под адрес подсети 3 бита. Какие номера подсетей
и номера хостов в них являются корректными? Маска подсети имеет вид 11100000 (или 224) и должна быть одинаковой
на всех рабочих станциях.
Внимание!
Если некоторая рабочая станция имеет некорректную маску, маршрутизатор может неправильно
идентифицировать подсеть, в которой находится эта станция. В таком случае маршрутизатор не будет
распространять пакеты, предназначенные этой станции. Кроме того, если маска некорректно определена в
файле конфигурации станции, рабочие станции, просматривающие маску в файле, будут посылать пакеты в
шлюз, выбранный по умолчанию.
Для определения корректных номеров подсетей вычисляем: 256 — 224 = 32. Номер первой
подсети равен 32. Остальные подсети будут иметь номера 64, 96, 128, 160, 192. Корректные
номера хостов расположены между номерами подсетей (см. таблицу 4.5). Исключение
составляют номера, состоящие только из единиц.
Добавим еще один бит к полю адреса подсети. Маска подсети
станет равной 240 (11110000). В этом случае можно создать 2
— 2 = 14 подсетей. Для адреса хоста также остается четыре
бита, поэтому к каждой подсети можно подключить до 14
хостов. Как нетрудно заметить, число хостов в подсети
довольно быстро уменьшается, при более мелком разбиении
сети класса С. Определим корректные номера подсетей и
хостов в подсетях: 256 — 240 = 16. Корректные номера хостов,
как и раньше, берутся из диапазона между номерами подсетей
(см. таблицу 4.6). Исключение составляют номера,
состоящие только из единиц.
Повторим наши действия для сетей класса В.
7.2.2 Маски подсетей для сетей класса В
Как вы уже знаете, адреса хостов сетей класса В имеют длину 16 бит, поэтому у нас
больше свободы При выборе масок подсети. Мы вновь начнем с одного (самого левого)
бита и постепенно будем увеличивать Длину маски. Адрес сети класса В имеет вид:
x.y.0.0,
маска подсети по умолчанию равна
255.255.0.0.
Используя эту маску, мы получаем сеть с 65534 хостами. Двоичное представление маски,
выбранной по умолчанию:
11111111.11111111.00000000.00000000
Здесь единицами помечены позиции адреса сети, а нулями — позиции адреса хоста. При создании маски подсети
под адрес подсети выделяются левые непомеченные биты адреса хоста.
При использовании только одного бита мы получим маску 255.255.128.0. Можно не обращать внимание на
сокращение адреса хоста, поскольку оно незначительно; так что при маске подсети 128 нет смысла выполнять на
маршрутизаторе команду ip subnet-zero. Первая маска, которую мы рассмотрим подробнее, имеет вид 255.255.192.0
(или 11111111.11111111.11000000.00000000).
IP-адрес разбит на три части: адрес сети, адрес подсети и адрес хоста. При
маске подсети 192, как и в предыдущем разделе, мы получаем 2 —2 = 2 подсети,
однако они могут содержать значительно больше хостов. Корректными номерами
подсетей являются 256 — 192 = 64 и 128. Под адрес хоста остается 14 бит
(нулевая часть маски), т. е. к каждой подсети можно подключить до 2
14
— 2 = 16
382 хостов (см. таблицу 4.7).
Page 11
Добавим еще один бит к маске подсети и получим 255.255.224.0 (или
11111111.11111111.11100000.00000000).
При такой маске в сети можно создать 2
—2 = 6 подсетей. Корректными номерами подсетей являются 256-224 = 32, 64,
96, 128, 160 и 192. Корректные номера хостов подсетей перечислены в таблице
4.8.
Таким образом, используя маску подсети 255.255.224.0, мы получаем шесть
подсетей, в каждой из которых может быть до 8190 хостов.
Добавим еще несколько битов к маске. При маске длиной 9 бит можно
создать 2 - 2 = 510 подсетей. Так как для адреса хоста остается только 7 бит, в
каждой подсети можно разместить 2
7
- 2 = 126 хостов. 9-битовая маска имеет
вид:
11111111.11111111.11111111.10000000 или 255.255.255.128.
При 14-битовой маске можно создать 2
14
- 2 = 16 382 подсети, каждая из которых
будет содержать до 2
2
- 2 = 2 хостов. Вид 14-битовой маски: 11111111.11111111.11111111.11111100 или
255.255.255.252. Зачем нужна такая маска? Часто приходится слышать: "Для вашей сети класса В лучше всего
подходит маска 255.255.255.0". В этом случае в сети можно создать 254 подсети с 254 хостами в каждой из них. Но
удобна ли такая схема, если в вашей сети много соединений с глобальной сетью? Обычно у вас имеются прямые
соединения с каждым сайтом. Любое из этих соединений должно оканчиваться в чужой подсети или сети. Но сколько
хостов будет подключено к таким подсетям? Только два: по одному на каждом порте маршрутизатора. Если вы будете
использовать предложенную выше маску (255.255.255.0), вы потеряете по 252 адреса хостов в каждой подсети.
Применение маски 255.255.255.252 позволяет экономно создать подсети с двумя хостами. Однако так можно
поступить, если на маршрутизаторах выполняется протокол EIGRP или OSPF. Эти протоколы маршрутизации
допускают применение так называемых масок подсетей переменной длины. Следовательно, вы можете использовать
маску 255.255.255.252 в интерфейсе с глобальной сетью и маску 255.255.255.0 в интерфейсах маршрутизатора
локальной сети. Такая возможность определяется свойствами протоколов маршрутизации, в соответствии с которыми
маршрутизаторы постоянно обмениваются информацией о масках подсетей. Важно помнить, что протоколы
маршрутизации RIP и IGRP подобным свойством не обладают. Подробно упомянутые протоколы рассматриваются
позже. Теперь разберем выделение подсетей в сетях класса А.
7.2.3 Маски подсетей для сетей класса А
Сети класса А имеют гигантское число адресов, которые можно использовать при создании подсетей. Выбранная
по умолчанию маска подсети для сети класса А имеет вид 255.0.0.0. Для размещения номера подсети можно
использовать до 32 бит.
Применяя маску 11111111.11111111.00000000.00000000 (или 255.255.0.0), мы отводим 8 бит для адреса
подсети и можем образовать 2
8
- 2 = 254 подсети! На адрес хоста остается 16 бит, т. е. в подсети может быть до 2
16
- 2 = 65534 хостов. Это очень большое число. Корректные номера хостов перечислены в табл. 7-3.
Табл. 7-3 Корректные номера хостов для сети класса А
Подсеть
Хосты
1
От х.1.0.1 до х.1.255.254
2
От х.2.0.1 до х.2.255.254
3
От х.3.0.1 до х.3.255.254
и т. д. до...
252
От х.252.0.1 до х.252.255.254
253
От х.253.0.1 до х.253.255.254
254
От х.254.0.1 до х.254.255.254
0.16
От х.0.16.1 до х.0.31.254
0.32
От х.0.32.1 до х.0.47.254
0.48
От х.0.48.1 до х.0.63.254
и т. д. до...
0.192
От х.0.192.1 до х.0.207.254
0.208
От х.0.208.1 до х.0.223.254
0.224
От х.0.224.1 до х.0.239.254
0.240
От х.0.240.1 до х.0.255.254
Повтор для каждого значения второго октета:
1.0
От х.1.0.1 до х.1.15.254
1.16
От х.1.16.1 до х.1.31.254
1.32
От х.1.32.1 до х.1.47.254
Page 12
Подсеть
Хосты
1.48
От х.1.48.1 до х.1.63.254
Продолжать таким же образом до...
255.192
От х.255.192.1 до х.255.207.254
255.208
От х.255.208.1 до х.255.223.254
255.224
От х.255.224.1 до х.255.239.254
Если
отвести
для
номера
подсети
и
для
адреса
хоста
по
12 бит, маска
примет
вид
11111111.11111111.11110000.00000000 (или 255.255.240.0). В каждой подсети может быть до 2 — 2 = 4094 хостов.
Однако корректные номера хостов перечислить довольно сложно.
Второй октет должен принимать значение из диапазона от 0 до 255. Но значение третьего октета необходимо
определить точнее. Поскольку третьему октету соответствует маска 240, номер первой подсети равен 256 — 240 = 16,
номер второй подсети — 32 и т. д. Число возможных подсетей и хостов для допустимых масок представлено в
табл.
7-4
.
Табл. 7-4 Допустимые маски подсети для сети класса А
Допустимые маски подсети для сети класса А
Таблица 4.10
Маска подсети
Длина [в битах] маски подсети Число подсетей Число хостов в подсети
255.255.255.252 30
4194302
2
255.255.255.248 29
2097150
6
255.255.255.240 28
1048574
14
255.255.255.224 27
524286
30
255.255.255.192 26
262142
62
255.255.255.128 25
131070
126
255.255.255.0
24
65534
254
255.255.254.0
23
32766
510
255.255.252.0
22
16382
1022
255.255.248.0
21
8190
2046
255.255.240.0
20
4094
4094
255.255.224.0
19
2046
8190
255.255.192.0
18
1022
16382
255.255.128.0
17
510
32766
255.255.0.0
16
254
65534
255.254.0.0
15
126
131070
255.252.0.0
14
62
262142
255.248.0.0
13
30
524286
255.240.0.0
12
14
1048574
255.224.0.0
11
6
2097150
255.192.0.0
10
2
4194302
Подсети х.0.0 и х.255.240 не являются корректными, поскольку это, соответственно, нулевые и
широковещательные адреса.
Можно ли упростить процедуру выделения подсетей?
Теперь, когда мы разобрали процедуру выделения подсетей для сетей классов А, В и С, вам, вероятно, может
показаться, что существует и более простая процедура. Возможно. Все учатся по-разному, поэтому мы приведем и другую
процедуру выделения подсетей, а вы самостоятельно решите, какая из них проще.
В
табл. 7-4
представлены различные маски подсетей, допустимые для сетей класса А. Эта таблица начинается с
30-битовой, наиболее длинной маски.
Внимание!
Напомним, что биты выбранной по умолчанию маски учитываются при подсчете длины адреса подсети.
Поэтому, даже если маска имеет вид 255.255.255.0, реально под адрес подсети сети класса А отводится 16
бит.
При 30-битовой маске можно выделить 4 194 302 подсети, в каждой из которых будет размещаться по 2 хоста. Эту
Page 13
маску (255.255.255.252) удобно использовать для соединений с глобальной сетью (мы уже рассматривали эту ситуацию
при выделении подсетей в сетях класса В).
В табл. 7-5 перечислены различные маски подсетей, допустимые для сетей класса В. Нетрудно заметить, что число
хостов в подсети увеличивается по мере сокращения размера маски подсети, и наоборот.
Табл. 7-5 Допустимые маски подсетей для сети класса В
Маска подсети
Длина [в битах] маски подсети Число подсетей
Число хостов в
подсети
255.255.255.252 30
16382
2
255.255.255.248 29
8190
6
255.255.255.240 28
4094
14
255.255.255.224 27
2046
30
255.255.255.192 26
1022
62
255.255.255.128 25
510
126
255.255.255.0
24
254
254
255.255.254.0
23
126
510
255.255.252.0
22
62
1022
255.255.248.0
21
30
2046
255.255.240.0
20
14
4094
255.255.224.0
19
6
8190
255.255.192.0
18
2
16382
В табл. 7-6 приведены различные маски подсетей, допустимые для сети класса C.
Табл. 7-6 Допустимые маски подсетей для сети класса С
Маска подсети
Длина (в битах) маски подсети Число подсетей число хостов подсети
255.255.255.252 30
62
2
255.255.255.248 29
30
6
255.255.255.240 28
14
14
255.255.255.224 27
6
30
255.255.255.192 26
2
62