Материал: 519_DerevjashkinV._M._Adresatsija_v_protokole_IPv4_

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

пересылая 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