Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

519_DerevjashkinV._M._Adresatsija_v_protokole_IPv4_

.pdf
Скачиваний:
6
Добавлен:
12.11.2022
Размер:
901.83 Кб
Скачать

Номер сети

Номер подсети

Номер узла

16 бит

10 бит

6 бит

 

 

 

10nnnnnn.nnnnnnnn.ssssssss.sshhhhhh

Рис. 10. Разделения сети класса В на подсети

Маска подсети будет состоять из 26 единиц, указывающих позиции бит номеров сети и подсети, и 6 нулей, обозначающих биты номера узла:

11111111.11111111.11111111.11000000

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

Количество подсетей равно 2M-2, где M – длина номера подсети. В нашем примере М=10 бит, количество подсетей – 1022. Вычитание двух связано с тем, что номера подсетей, содержащие все биты – нули или все биты – единицы, не используются, что приводит к потере части адресного пространства.

Для каждой сети класса А, В или С можно было использовать только одну маску подсети, следовательно, сеть можно было поделить на подсети только равных размеров.

Деление на подсети благодаря высокой гибкости быстро стало самым популярным способом управления классовым адресным пространством. Сеть класса В можно было разделить на 254 подсети по 254 адреса каждая, или 62 подсети по 1022 адреса, и т.д. Аналогично, сеть класса С можно было разделить на 14 подсетей по 14 адресов каждая, или 6 подсетей по 30 адресов, в зависимости от необходимости.

2.4 Бесклассовая адресация

К началу 1990-х гг. Интернет столкнулся с проблемами роста. Две основные проблемы:

бурный рост размеров таблиц маршрутизации: огромная популярность Интернета обусловила быстрый рост количества сетей А, В и С, и каждую из них нужно было включить в таблицы маршрутизации. Память маршрутизаторов переполнялась, время поиска маршрутов в таблицах увеличивалось;

надвигающееся исчерпание свободных адресов класса В.

Инженерный совет Интернета (IETF) в 1993 г. разработал решение, ставшее известным как бесклассовая междоменная маршрутизация (Classless InterDomain Routing, CIDR) или бесклассовая адресация (RFC 1518[3] , RFC 1519 [4]).

11

Бесклассовая адресация – основная схема адресации, используемая в настоящее время в сети Интернет. Хотя документы RFC, в которых описана классовая адресация, формально не отменены, практически ее основная идея – определять структуру IP адреса по значениям его старших бит – не используется.

При таком способе управления адресным пространством адрес состоит из двух частей: номер сети и номер узла, как показано на рис. 3. В отличие от классовой адресации:

нет связи между структурой адреса и значениями его старших бит (по которым определялась принадлежность к классам);

граница между полями номера сети и номера узла может быть расположена произвольным образом.

Для того чтобы определить значения номера сети и номера узла, используется дополнительная информация, записываемая в виде маски подсети, либо более лаконичным способом – указанием длины префикса (номера) в битах, которой предшествует знак «/». Например, префикс /28 эквивалентен маске под-

сети 255.255.255.224 (11111111.11111111.11111111.111100002), содержащей единицы в 28 битах. Длина префикса, в отличие от классовой адресации, может быть произвольной, т.е. граница между номером сети и номером узла может находиться как между байтами IP адреса, так и внутри байта. Маски подсети и длины префиксов не передаются в заголовках пакетов. Примеры использования префиксов и масок подсети даны в конце подраздела.

Любая IP сеть имеет блок принадлежащих ей IP адресов. Блоки – это диапазоны адресов, определяемые следующим образом.

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

Например, диапазон адресов 172.16.0.0-172.19.255.255 является блоком с префиксом длиной 14 бит, а 10.0.1.0-10.0.1.99 не является, т.к. не соответствует признаку блока адресов.

Помимо блоков адресов, принадлежащих сетям, существуют блоки специальных адресов, имеющих другое применение, например, multicast адреса.

Для того чтобы задать блок, достаточно указать любой входящий в него адрес (обычно используется начальный адрес) и длину префикса либо маску подсети. Например, запись 192.168.1.160/29 означает диапазон 192.168.1.160 – 192.168.1.167. Если в конце начального адреса диапазона есть нули, их можно опустить, например, вместо 172.16.0.0/12 записать 172.16/12. Этот диапазон включает адреса 172.16.0.0 – 172.31.255.255.

12

Смежные в адресном пространстве блоки адресов можно объединять, если объединенный диапазон также будет являться блоком. Объединенный блок имеет меньшую длину префикса. Например, блоки 192.168.0.0/24 и 192.168.1.0/24 образуют блок 192.168.0.0/23, а блоки 192.168.3.0/24 и 192.168.4.0/24 объединить нельзя.

Сети с префиксами /8, /16 и /24 иногда некорректно называют сетями «класса А», «класса В», «класса «С». На самом деле разбиение адресного пространства IP по классам адресов, как было отмечено выше, практически не используется.

13

3 Специальные IP адреса

Адрес, в котором в поле номера узла все биты равны «0», называется адресом сети (не путать с термином «адрес сети» применительно к полю в составе IP адреса!)

Номер сети

000……….0000

Это начальный адрес в блоке адресов, относящихся к сети. Он, как правило, не может служить адресом отправителя или получателя пакета, следовательно, не может быть присвоен сетевому интерфейсу. Исключение составляют сети с префиксом /31. Обычно используется в таблицах маршрутизации вместе с маской подсети или длиной префикса для идентификации сети назначения маршрута. Пример: 135.202.0.0 для сети 135.202.0.0/16.

Адрес, в котором все биты номера узла равны «1», называется направленным (или «прямым») широковещательным адресом. Это конечный адрес в блоке адресов, относящихся к сети. Он может служить адресом получателя пакета при широковещательной рассылке и, за исключением сетей с префиксом /31, не может быть присвоен сетевому интерфейсу.

Пакет с таким адресом получателя рассылается всем узлам IP сети (состоящей из одной или нескольких локальных сетей), номер которой указан в адресе.

Пример: 135.202.255.255 для сети 135.202.0.0/16.

Адрес, в котором все 32 бита равны «1» (255.255.255.255) называется ограниченным широковещательным адресом. Пакет с таким адресом получателя рассылается всем узлам локальной сети, в которой находится отправитель, и никогда не пересылается в другие локальные сети.

Адреса диапазона 0.0.0.0/8 (RFC 5735) зарезервированы для специальных целей. Они не могут быть присвоены сетевым интерфейсам. Фактически из данного диапазона заметное значение имеет только адрес 0.0.0.0. Функции данного адреса:

используется как адрес отправителя IP пакетов узлом, который еще не имеет IP адреса и пытается его получить по протоколу DHCP;

в таблицах маршрутизации, в совокупности с префиксом нулевой длины (/0), указывается в качестве сети назначения для обозначения маршрута по умолчанию. В диапазон 0.0.0.0/0 входят все IP адреса (0.0.0.0-255.255.255.255), однако, данный маршрут в соответствии с правилом выбора наиболее специфичного маршрута будет использоваться в последнюю очередь (если в таблице для адреса назначения пакета нет других, более специфичных маршрутов).

Диапазон 127.0.0.0/8 – адреса обратной связи. Пакеты, отправляемые на адреса из этого блока, не передаются в физическую среду. Они проходят «петлю обратной связи» внутри стека и принимаются устройством-отправителем. Такой режим используют в целях тестирования системы или для связи между

14

клиентским и серверным процессами, работающими на одной и той же системе. Чаще всего используют адрес 127.0.0.1.

Диапазон 169.254.0.0/16 – адреса Link Local («автоматические частные IP адреса» в терминологии Microsoft). Они обычно используются при автоматическом конфигурировании интерфейсов в пределах одной локальной сети или соединенных каналом «точка-точка», когда недоступны другие источники информации об адресах, к примеру, сервер DHCP. Процесс выбора адресов обеспечивает разрешение конфликтов интерфейсов, пытающихся занять один и тот же адрес.

Диапазон 224.0.0.0/4 – групповые (multicast) адреса. При классовой адресации этот диапазон назывался диапазоном адресов класса D. Групповой адрес, как и в протоколе Ethernet, может быть только адресом получателя пакета. Маршрутизация multicast трафика – сложная задача, поэтому групповая рассылка применяется только внутри автономных систем (сетей операторов связи и крупных компаний, имеющих единую техническую администрацию). Групповую рассылку используют для организации вещания мультимедиа, видеоконференцсвязи, обмена маршрутной информацией между маршрутизаторами и т.д.

Диапазон 240.0.0.0/4 (ранее адреса класса Е) – не используемые в обозримой перспективе адреса.

Диапазоны:

10.0.0.0/8;

172.16.0.0/12;

192.168.0.0/24 –

немаршрутизируемые в сети Интернет, или частные IP адреса (RFC 1918). Основной причиной их появления стала нехватка уникальных IP адресов для всех устройств, подключенных к Интернет.

Адрес, уникальный в глобальном масштабе, называют публичным (жаргонное наименование – «белый» IP). С узлом, имеющим публичный адрес, может установить взаимодействие и обмениваться данными любой узел глобальной сети. Однако к Интернет имеет доступ в несколько раз больше устройств, чем существует IPv4 адресов. Это стало возможным с помощью частных (на жаргоне – «серых») IP адресов и маршрутизаторов с функцией NAT (трансляция сетевых адресов).

Частные адреса, в отличие от публичных, не являются уникальными. Они являются немаршрутизируемыми в Интернет, т.е. маршрутизаторы не пересылают через сети с публичными адресами пакеты, содержащие в заголовках частные адреса. Следовательно, в сетях, не имеющих доступа к Интернет или подключенных через маршрутизатор с NAT, можно назначать узлам адреса из данных диапазонов, не опасаясь конфликтов адресов с узлами других сетей.

NAT обеспечивает доступ узлов (клиентов) с частными адресами к ресурсам (серверам), расположенных во внешних сетях. Для этого маршрутизатор,

15

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

Технология NAT, обеспечивая экономию публичных IP адресов (целая сеть может использовать для доступа к Интернет один публичный адрес), имеет ряд ограничений. Так, без специальных настроек маршрутизаторов невозможно из внешней сети установить соединение с узлом (сервером), находящимся за NAT. Также внешние серверы не могут идентифицировать клиентов по IP адресам, т.к. к ним приходят запросы, в которых адресом отправителя является адрес NAT маршрутизатора, результат – ограничение доступа к услугам на сервере по IP адресу коснется всех клиентов, подключенных через этот маршрутизатор. Решением проблем, связанных с исчерпанием адресного пространства IPv4, станет переход на IPv6.

16

4 Рекомендации по выполнению практических заданий

4.1 Характеристика задач

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

выяснение принадлежности адреса к заданному блоку адресов (к сети);

определение блока адресов, принадлежащего сети узла;

определение специальных адресов;

оценка возможности и объединение блоков адресов (агрегация маршрутов);

деление блоков адресов на более мелкие блоки и т.д.

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

4.2 Методические указания по решению задач

4.2.1 Преобразование IP адреса из десятичного вида в двоичный

Вдесятичной форме записи IP адрес представляет собой десятичные коды октетов, разделенные точками. Перевод адреса в двоичную форму осуществляется в пределах каждого октета (методика перевода целых чисел представлена в приложении 1).

Например, дан IP адрес 172.27.133.20.

Вдвоичном виде октеты будут выглядеть следующим образом:

17210=128+32+8+4=101011002;

2710=16+8+2+1=000110112;

13310=128+4+1=100001012;

2010=16+4=000101002.

Таким образом, двоичная запись данного адреса:

10101100.00011011.100000101.00010100

Заметим, что в каждом октете должны быть записаны все 8 разрядов, включая незначащие нули.

17

4.2.2 Преобразование маски подсети из десятичного вида в двоичный

Дана маска подсети: 255.255.255.240. Аналогично переводу IP адреса можно представить в двоичном виде октеты маски:

25510=111111112;

24010=111100002.

Таким образом, двоичная запись маски:

11111111.11111111.11111111.11110000

Следует отметить, что поскольку понятие маски подсети предполагает, что в ней не может двоичная «1» стоять правее «0», октеты маски не могут иметь произвольные значения, а принимают только следующие:

000000002=010;

100000002=12810;

110000002=19210;

111000002=22410;

111100002=24010;

111110002=24810;

111111002=25210;

111111102=25410;

111111112=25510.

Оперируя этими значениями, при формировании маски подсети можно не прибегать к переводу между системами счисления.

4.2.3 Преобразование длины префикса в маску подсети

Так как битовые единицы в маске неразрывны, удобнее записывать маску числом единиц в ней – префиксом. Длина префикса n бит означает, что соответствующая ему маска подсети содержит данное количество единиц и 32-n= нулей.

Например, дан префикс /26.

Для заданного значения префикса количество единиц в маске равно 26. Следовательно, в первых трех байтах маски все биты равны «1» (значение

111111112=25510), а в четвертом 26-8*3=2 единицы и 6 нулей; 110000002=19210.

Таким образом, маска подсети: 255.255.255.192.

18

4.2.4 Преобразование маски подсети в длину префикса

Длина префикса равна количеству двоичных «1» в маске подсети. Поэтому для получения длины префикса необходимо преобразовать десятичную запись октетов маски в двоичный вид и записать после символа «/» количество единиц. Например, маске подсети 255.255.252.0 соответствует префикс /22.

4.2.5Применение маски подсети для вычисления адреса сети (начального адреса блока)

Адрес сети содержит все нули в поле «Номер узла». Для обнуления номера узла при сохранении номера сети необходимо применить операцию побитового «И» (часто обозначается символом «&») данного IP адреса и маски подсети.

Табл. 1. Таблица истинности операции «И»

x

y

x&y

0

0

0

0

1

0

1

0

0

1

1

1

Например, задан IP адрес 192.168.18.141 и маска подсети 255.255.255.192.

Найти адрес сети.

Для выполнения данной задачи необходимо исходный адрес и маску подсети перевести в двоичный вид. Затем для каждого бита следует выполнить операцию «И» (рис. 11).

И

Рис. 11. Вычисление адреса сети по заданному IP адресу и маске

Полученный в результате логической операции «И» адрес сети

11000000.10101000.00010010.10000000 в десятичном виде будет иметь следующее значение192.168.18.128.

19

4.2.6Применение маски подсети для вычисления широковещательного адреса (конечного адреса блока)

Направленный широковещательный (broadcast) адрес (см. п. 3.2) содержит все биты «1» в поле «Номер узла». Установить все биты этого поля в «1» можно, выполнив побитовое «ИЛИ» (часто обозначается знаком «+») IP адреса с инвертированной маской подсети, содержащей в разрядах номера сети нули, а в разрядах номера узла единицы.

Табл. 2. Таблица истинности операции «ИЛИ»

x

y

x+y

0

0

0

0

1

1

1

0

1

1

1

1

Например, задан IP адрес 192.168.18.141 и маска подсети 255.255.255.192.

Найти направленный широковещательный адрес для данной сети.

Переведем исходный адрес и маску подсети в двоичный вид, затем выполним операцию побитового «И» (рис.12).

ИЛИ

Рис. 12. Вычисление широковещательного адреса

В десятичной форме записи направленный broadcast адрес для данной сети

192.168.18.191.

4.2.7Вычисление размера блока адресов (количества адресов, принадлежащих блоку)

Блок IP адресов (см. п. 2.3) начинается с адреса, в котором все биты, которые не входят в префикс блока, равны «0», и заканчивается адресом, в котором все эти биты содержат «1». Если блок адресов имеет отношение к некоторой сети, эти адреса являются соответственно адресом сети (см. п. 3.1) и широковещательным адресом (см. п. 3.2).

20