Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные по сетям Л7-Л14 (693).doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
8.89 Mб
Скачать

1. Ip адресация и ip маршрутизация

Цель: Закрепить знания основ работы с адресным пространством в вычислительных сетях.

1.1. Теоретическая часть

1.1.1. Схема распределения адресного пространства

IP-адреса являются той базой, на которой строится доставка сообщений через сеть TCP/IP.

IP-адрес – это 4-байтовая последовательность. Принято каждый байт этой последовательности записывать в виде десятичного числа. Например, приведенный ниже адрес является адресом одной из машин РНЦ «Курчатовский Институт»: 144.206.160.32.

Каждая точка доступа к сетевому интерфейсу имеет свой IP-адрес.

IP-адрес состоит из двух частей: адреса сети и номера хоста. Под хостом понимают любое устройство, которое имеет свой сетевой интерфейс.

Существует 5 классов IP-адресов. Эти классы отличаются друг от друга количеством битов, отведенных на адрес сети и адрес хоста в сети. На рис. 1.1 показаны 5 классов IP-адресов.

0

8

16

24 31

Класс А

0

номер сети

номер хоста

Класс В

10

номер сети

номер хоста

Класс С

110

номер сети

номер хоста

Класс D

1110

групповой адрес

Класс Е

11110

зарезервировано

Рис. 1.1 Классы IP-адресов

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

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

Адреса класса A предназначены для использования в больших сетях общего пользования. Адреса класса B предназначены для использования в сетях среднего размера (сети больших компаний, научно-исследовательских институтов, университетов). Адреса класса C предназначены для использования в сетях с небольшим числом компьютеров (сети небольших компаний и фирм). Адреса класса D используют для обращения к группам компьютеров, а адреса класса E – зарезервированы.

Класс

Диапазон значений первого октета

Возможное количество сетей

Возможное количество узлов

А

1 – 126

126

16777214

B

128 – 191

16382

65534

C

192 – 223

2097150

254

D

224 – 239

228

E

240 – 247

227

Рис. 1.2 Характеристики классов IP-адресов

Среди всех IP-адресов имеется несколько зарезервированных под специальные нужды. Ниже приведена таблица зарезервированных адресов.

N

IP-адрес

Пример

Значение

1.

все нули

0.0.0.0

данный узел сети

2.

номер сети | все нули

192.168.62 | .0

данная IP-сеть

3.

все нули | номер узла

0.0.0 | .55

узел в данной (локальной) сети

4.

все единицы

255.255.255.255

все узлы в данной локальной IP-сети

5.

номер сети | все единицы

192.168.62 | .255

все узлы указанной IP-сети

6.

127.0.0.1

127.0.0.1

«петля» (lookup interface)

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

Особое внимание в таблице (рис. 1.3) уделяется последней строке. Адрес 127.0.0.1 предназначен для тестирования программ и взаимодействия процессов в рамках одного компьютера. В большинстве случаев в файлах настройки этот адрес обязательно должен быть указан, иначе система при запуске может «зависнуть». Наличие «петли» чрезвычайно удобно с точки зрения использования сетевых приложений в локальном режиме для их тестирования и при разработке интегрированных систем.

Вообще, зарезервирована вся сеть 127.0.0.0. Эта сеть класса A реально не описывает ни одной настоящей сети.

Некоторые зарезервированные адреса используются для широковещательных сообщений. Например, номер сети (строка 2) используется для обозначения условного адреса подстети. Адреса, содержащие все единицы (строка 4 и строка 5), используются для широковещательных рассылок (например для отправки сообщения или запроса сразу всем компьютерам подсети).

Реальные адреса выделяются организациями, предоставляющими IP-услуги, из выделенных для них пулов IP-адресов. Согласно документации NIC (Network Information Centre) IP-адреса предоставляются бесплатно, но в прейскурантах наших организаций (как коммерческих, так и некоммерческих), занимающихся Internet-сервисом предоставление IP-адреса стоит отдельной строкой.

Подсети

Важным элементом разбиения адресного пространства Internet являются подсети.

Подсеть – это подмножество сети, не пересекающееся с другими подсетями. Это означает, что сеть организации (скажем, сеть класса С) может быть разбита на фрагменты, каждый из которых будет составлять подсеть. Реально, каждая подсеть соответствует физической локальной сети (например, сегменту Ethernet). Вообще говоря, подсети придуманы для того, чтобы обойти ограничения физических сетей на число узлов в них и максимальную длину кабеля в сегменте сети. Например, сегмент Ethernet, построенный на тонком коаксиальном кабеле, имеет максимальную длину 185 м и может включать до 32 узлов. Как видно из рис. 1.2, самая маленькая сеть – класса С – может состоять из 254 узлов. Для того, чтобы достичь этой цифры, надо объединить несколько физических сегментов сети. Сделать это можно либо с помощью физических устройств (например, коммутаторов), либо при помощи машин-шлюзов. В первом случае разбиения на подсети не требуется, т.к. логически сеть выглядит как одно целое. При использовании шлюза сеть разбивается на подсети (рис. 1.4).

На рис. 1.4 изображен фрагмент сети класса B – 144.206.0.0, состоящий из двух подсетей – 144.206.130.0 и 144.206.160.0. В центре схемы изображена машина шлюз, которая связывает подсети. Эта машина имеет два сетевых интерфейса и, соответственно, два IP-адреса.

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

  1. в сети, состоящей из одного сегмента Ethernet, весь адресный пул сети не будет использован, т.к., например, для сети класса С (самой маленькой с точки зрения количества узлов в ней), из 254 возможных адресов можно использовать только 32;

  2. все хосты за пределами организации, которым разрешен доступ к компьютерам сети данной организации, должны знать шлюзы для каждой из сетей. Структура сети становится открытой во внешний мир. Любые изменения структуры могут вызвать ошибки маршрутизации. При использовании подсетей внешним хостам надо знать только шлюз всей сети организации.

Рис. 1.4 Схема разбиения адресного пространства сети на подсети

Разбиение сети на подсети использует ту часть IP-адреса, которая закреплена за номерами хостов. Администратор сети может замаскировать часть IP-адреса и использовать её для назначения номеров подсетей. Фактически, способ разбиения адреса на две части, теперь будет применяться к адресу хоста из IP-адреса сети, в которой организуется разбиение на подсети.

Маска подсети – это четыре байта, которые накладываются на IP-адрес для получения номера подсети.

На приведенной схеме (рис. 1.5) сеть класса B (144.206.0.0) разбивается на подсети маской 255.255.224.0. При этом первые два байта задают адрес сети и не участвуют в разбиении на подсети. Номер подсети задается тремя старшими битами третьего байта маски. Такая маска позволяет получить 6 подсетей. Для нумерации подсети нельзя использовать номер 000 и номер 111. Номер 160 задает 5-ю подсеть в сети 144.206.0.0. Для нумерации машин в подсети можно использовать оставшиеся после маскирования 13 битов, что позволяет создать подсеть из 8190 узлов.

144

206

160

32

IP-адрес

1001 0000

1100 1110

1010 0000

0010 0000

маска

1111 1111

1111 1111

1110 0000

0000 0000

255

255

224

0

Рис. 1.5 Схема маскирования и вычисления номера подсети

Подсети не только решают, но также и создают ряд проблем. Например, происходит потеря адресов, но уже не по причине физических ограничений, а по причине принципа построения адресов подсети. Как было видно из примера, выделение трех битов на адрес подсети не приводит к образованию 8-подсетей. Подсетей образуется только 6, так как номера сетей 0 и 7 использовать в силу специального значения IP-адресов, состоящих из 0 и единиц, нельзя. Таким образом, все комбинации адресов хоста внутри подсети, которые можно было бы связать с этими номерами, придется забыть. Чем шире маска подсети (чем больше места отводится на адрес хоста), тем меньше потерь. В ряде случаев приходится выбирать между приобретением ещё одной сети или изменением маски. При этом физические ограничения могут быть превышены за счёт коммутаторов, хабов и т. п.

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

Концепция бесклассовой междоменной маршрутизации (CIDR) была официально документирована в сентябре 1993 года (RFC2 1517, RFC 1518, RFC 1519 и RFC 1520). Её появление было вызвано участившимися кризисами в Интернете. Из-за несовершенства протоколов маршрутизации трафик, вызванный сообщениями об обновлении таблиц маршрутизации, приводил к сбоям магистральных маршрутизаторов. Это было связано с полным задействованием их ресурсов на обработку большого объема служебной информации. Так, в 1994 году таблицы маршрутизации магистральных маршрутизаторов Интернета содержали до 70 000 маршрутов. Внедрение технологии CIDR сократило число записей маршрутов до 30 000. Кроме того, дополнительной предпосылкой для внедрения технологии CIDR явилась реальная опасность нехватки адресного пространства при дальнейшем расширении Интернета. Эта технология позволяет реализовать новые, не поддерживавшиеся ранее возможности:

  1. Отход от традиционной концепции разделения адресов протокола IP на классы, благодаря чему можно более эффективно использовать адресное простран­ство протокола IP версии 4.

  2. Объединение маршрутов. Здесь одна запись в таблице маршрутизации может представлять сотни адресов. Это позволяет контролировать количество маршрутной информации в магистральных маршрутизаторах Интернета.

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

Технология CIDR позволяет рекурсивно делить порции адресного пространства на небольшие части. Основное различие между ними в том, что при использовании маски подсети переменной длины рекурсия выполняется на адресном пространстве, выделенном организации ранее. При этом схема деления пространства остаётся спрятанной внутри организации (то есть, например, для пользователей в сети Интернет подобная схема разделения остается прозрачной и незаметной).

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

Например, если организация заключает с Интернет-провайдером соглашение об аренде линии Т1, ей может быть передан для использования блок общедоступных IP-адресов. При этом количество адресов в блоке может находиться в пределах от 2 до 64, в зависимости от потребностей организации. Организация может также запросить (за дополнительную плату) ещё один блок общедоступных адресов и добавить его к ранее полученному блоку, если в этом возникнет необходимость.

Принцип осуществления метода CIDR является очень простым. Интернет-провайдер после получения заявки от организации, которой, допустим, требуется 25 внешних IP-адресов, просматривает имеющиеся в его распоряжении пространство адресов. Предположим, что он обнаруживает, что адреса в диапазоне от 64.90.1.32 до 64.90.1.63 не заняты. В этом случае провайдер выделяет организации адрес сети 64.90.1.32/273. В этом блоке адресов организация получает 30 действительных IP-адресов от 64.90.1.33 до 64.90.1.62. Это — адрес сети класса А, но организация не получает весь диапазон адресов этого класса, поскольку им по-прежнему владеет Интернет-провайдер. Организации просто предоставляется часть пространства адресов этой сети, которое она может использовать до тех пор, пока не перейдет к другому Интернет-провайдеру.

Основной принцип метода CIDR состоит в том, что понятие класса уже не применяется. При использовании этого метода следует помнить, что после получения от Интернет-провайдера адреса и маски (например, длиной 22 бита), организация не имеет права уменьшить длину этой маски (использовать в ней меньше битов), даже если полученный IP-адрес сети относится к классу А. Организации не передаётся в использование весь этот класс, ей только предоставляется возможность применять определенную часть пространства адресов, переданного в её распоряжение. Но, организация может увеличивать длину маски (включать в нее больше битов) и тем самым разбивать свою часть пространства адресов на подсети в соответствии со своими потребностями. Но при этом необходимо тщательно следить за тем, чтобы использовались только адреса из назначенного диапазона.

Предположим, что провайдеру был выделен адрес 206.0.64.0 с сетевым префиксом /18. Тогда для задания индивидуальных адресов остается 14 бит (32-18=14), что позволяет поддерживать до 16 384 (214) хостов. В случае использования классов адресов достижение той же цели требует от провайдера выделения 64 адресов класса С.

Если клиенту, которого обслуживает данный провайдер, для своей сети требуется 800 адресов хостов, то провайдер может выделить ему адресный блок 206.0.68.0/22, то есть блок из 1024 (210) адресов хостов. При таком выделении клиент получает в свое распоряжение 224 дополнительных адреса. Если следовать классовой адресной схеме, то клиенту потребовалось бы выделить или один адрес класса В, или четыре адреса класса С. При предоставлении одного адреса класса В клиент получает более 64 000 дополнительных адресов. При выделении четырех адресов класса С клиент имеет приемлемое количество адресов, но заодно увеличивается размер таблиц маршрутизации (добавляются четыре записи).

Рассмотрим на практике работу с технологией CIDR . Для этого выберем адресный блок 192.168.168.0/21. На первом этапе запишем индивидуальные номера сетей для этого блока.

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

192.168.168.0/21 – 11000000.10101000.10101000.00000000.

Маска, определяемая префиксом /21, на три бита меньше, чем традиционная маска для сети класса С (/24). А это означает, что рассматриваемый блок CIDR идентифицирует блок из 8 (23) последовательных (упорядоченных) сетей с префиксом /24:

11000000.10101000.10101000.00000000 – 192.168.168.0

11000000.10101000.10101001.00000000 – 192.168.169.0

11000000.10101000.10101010.00000000 – 192.168.170.0

11000000.10101000.10101011.00000000 – 192.168.171.0

11000000.10101000.10101100.00000000 – 192.168.172.0

11000000.10101000.10101101.00000000 – 192.168.173.0

11000000.10101000.10101110.00000000 – 192.168.174.0

11000000.10101000.10101111.00000000 – 192.168.175.0

Другой пример. Требуется объединить набор следующих четырех адресов с префиксом /24 в максимально вместительный адрес:

192.168.146.0/24

192.168.147.0/24

192.168.148.0/24

192.168.149.0/24

Вначале запишем эти адреса в двоичной форме:

192.168.146.0/24 11000000.10101000.10010010.00000000

192.168.147.0/24 11000000.10101000.10010011.00000000

192.168.148.0/24 11000000.10101000.10010100.00000000

192.168.149.0/24 11000000.10101000.10010101.00000000

Следует обратить внимание на то, что рассматриваемый набор из четырех сетей нельзя объединить в один адрес с префиксом /23. Учитывая это, объединение CIDR будет следующим:

192.168.146.0/23

192.168.148.0/23

Если две сети с префиксом /23 нужно объединить в сеть с префиксом /22, то они должны соответственно «помещаться» в один адресный блок /22. Однако раз каждая из полученных сетей с префиксом /23 является членом различных блоков /22, то они не могут быть объединены в блоке /22, хотя объединение в 192.168.144/21 формально действительно. Но такое объединение включало бы четыре адреса сети, которых не было в исходных сетях. Учитывая всё вышеизложенное, отметим, что объединение, состоящее из минимального количества адресных блоков (два), будет иметь префикс /23.

Пример разбиения сети на подсети

Организации выделен блок адресов 220.215.14.0/24. Разбить блок на 4 подсети, наибольшая из которых насчитывает 50 узлов.

На первом этапе необходимое число подсетей необходимо округлить в большую сторону к ближайшей степени числа 2. Поскольку в данном примере число необходимых подсетей равно 4, округлять не нужно. Далее определяется количество бит, нужных для организации 4 подсетей. Для этого представим 4 в виде степени двойки: 4 = 22 . Степень – это и есть количество бит отводимых для номера подсети. Так как сетевой префикс блока равен 24, то расширенный сетевой префикс будет равен 24 + 2 = 26.

Сетевой префикс

Подсеть

Узел

 

 

0

8

16

24 25

    31

220.215.14.0/26

<-->

11011100

11010111

00001110

0  0

000000

 

 

Расширенный сетевой префикс

 

Оставшиеся 32 - 26 = 6 бит будут использоваться для номера узла. 6-ю битами можно адресовать: 26 - 2 = 62 узла.

Следующим этапом является нахождение подсетей. Для этого двоичное представление номера подсети, начиная с нуля, подставляется в биты, отведенные для номера подсети.

Основная сеть

11011100

11010111

00001110

00

000000

220.215.14.0/24

Подсеть 0(00)

11011100

11010111

00001110

00

000000

220.215.14.0/26

Подсеть 1(01)

11011100

11010111

00001110

01

000000

220.215.14.64/26

Подсеть 2(10)

11011100

11010111

00001110

10

000000

220.215.14.128/26

Подсеть 3(11)

11011100

11010111

00001110

11

000000

220.215.14.192/26

 

Расширенный сетевой префикс

 

 

Для проверки правильности вычислений, следует помнить простое правило: десятичные номера подсетей должны быть кратными номеру первой подсети. Из этого правила можно вывести и другое, упрощающее расчет подсетей: достаточно вычислить адрес первой подсети, а адреса последующих определяются произведением адреса первой на соответствующий номер подсети. В примере легко можно установить адрес третьей подсети, просто умножив 64 * 3 = 192.

Как уже упоминалось, кроме адреса подсети, в котором все биты узловой части равны нулю, есть ещё один служебный адрес – широковещательный. Особенность широковещательного адреса состоит в том, что все биты узловой части равны единице. Рассчитаем широковещательные адреса полученных подсетей:

подсеть | ШВА подсети 0 (00) | 11011100.11011100.00001110.00 111111 | 220.215.14.63/26 ШВА подсети 0 (01) | 11011100.11011100.00001110.01 111111 | 220.215.14.127/26 ШВА подсети 0 (10) | 11011100.11011100.00001110.10 111111 | 220.215.14.191/26 ШВА подсети 0 (11) | 11011100.11011100.00001110.11 111111 | 220.215.14.255/26 | Расширенный сетевой префикс | Узловая часть = все 1

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

№ подсети

Наименьший адрес подсети

Наибольший адрес подсети

0

220.215.14.1

- 220.215.14.62

1

220.215.14.65

- 220.215.14.126

2

220.215.14.129

- 220.215.14.190

3

220.215.14.193

- 220.215.14.254