Назначьте адреса согласно рисунку. Проверьте назначение командой show ip interface brief.

Лабораторная работа №5. Бесклассовая адресация CIDR и маски переменной длины VLSM

 

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

Масштабируемая сеть требует схемы адресации допускающей рост. Однако вследствие неконтролируемого роста сети могут возникнуть ряд непредвиденных последствий. По мере добавления узлов и подсетей в сеть предприятия может возникнуть нехватка свободных адресов и потребуется изменение схемы существующих адресов. Этого можно избежать путём тщательного планирования масштабируемой адресной системы сети предприятия.

К сожалению, архитекторы TCP/IP не могли предсказать экспоненциального роста Интернет, и в настоящее время остро стоит проблема распределения адресов.

Когда в 80-х годах внедрялся TCP/IP, он базировался на двухуровневой адресной схеме. Старшая часть 32-битового IP адреса определяла номер (адрес) сети, а младшая - номер хоста. Адрес сети необходим для взаимодействия сетей. Маршрутизаторы используют сетевую часть адреса для организации связи между хостами из различных сетей.

Для удобства человеческого восприятия IP адрес записывается в виде четырёх десятичных чисел, разделённых точками. 32-битовый адрес делится на четыре группы по восемь бит, называемых октетами. Каждый октет записывается в десятичном виде и разделяется точками. Например

10101100000111101000000000010001 <-> 10101100 00011110 10000000 00010001 <->

172 30 128 17 <-> 172.30.128.17

Возникает вопрос, как в любом IP адресе выделить адрес сети и адрес хоста? В начале использования TCP/IP для решения этого вопроса использовалась классовая система адресации. IP адреса были разбиты на пять непересекающихся классов. Разбивка осуществлена согласно значениям нескольких первых бит в первом октете.

Если первый бит в первом октете равен нулю, то это адрес класса А. Адреса класса В начинаются с бинарных 10. Адреса класса С начинаются с бинарных 110.

В адресах класса А адрес сети располагается в первом октете. В классе В для адресации сети используется первый и второй октеты. В классе С для адресации сети используется первый, второй и третий октеты. Использование классов D и E специфично и здесь не рассматривается.

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

Здесь и далее мы будем использовать маски в виде последовательности бинарных единиц, переходящей в последовательность бинарных нулей общей длинной в 32 бита. Маски принято записывать в десятичной форме подобно IP адресам

111111111111111100000000000000 <->11111111 1111111 0000000 0000000 <->

255 255 0 0 <-> 255.255.0.0

Маска подсети является необходимым дополнением к IP адресу. Если бит в IP адресе соответствует единичному биту в маске, то этот бит в IP адресе представляет номер сети, а если бит в IP адресе соответствует нулевому биту в маске, то этот бит в IP адресе представляет номер хоста. Так для маски 255.255.0.0 и адреса 172.24.100.45 номер сети будет 172.24.0.0, а для маски 255.255.255.0 номер сети будет 172.24.100.0.

Другая форма записи маски - /N, где N – число единиц в маске. Эта форма используется только в сочетании с IP адресом. Например, для маски 255.255.0.0 и адреса 172.24.100.45 пишут 172.24.100.45/16.

 

Все адреса класса А имеют маску 255.0.0.0, адреса класса В имеют маску 255.255.0.0, а адреса класса С имеют маску 255. 255. 255.0. Обратное утверждение неправомерно, так как при определении класса используются первые биты в первом октете адреса.

Если организация располагает сетью класса В (маска 255.255.0.0), то она может разбить эту сеть на подсети, используя маску 255.255.255.0. Например, если адрес 172.24.100.45 принадлежит организации, то номером сети класса В будет 172.24.0.0, а номер внутрикорпоративной подсети будет равен 172.24.100.0. Заметим, что полученные подсети не будут являться сетями класса С.

Если число нулей в маске равно M, то число доступных адресов хостов в подсети равно 2M-2. То есть два адреса в подсети использовать не рекомендуется. Один из этих адресов, у которого последние М бит равны нулю, называется адресом подсети, а второй из этих адресов у которого последние М бит равны единице называется широковещательным адресом. Так для адреса 172.24.100.45/24 адрес подсети равен 172.24.100.0, а широковещательным адрес равен 172.24.100.255. Число адресов в подсети равно 28-2 =254.

Адреса класса А и В составляют около 75 процентов адресного пространства. Количество сетей классов А и В приблизительно равно 17000. Приобретение сети класса B, а тем более класса А в настоящее время весьма проблематично. Адреса класса С составляют около 12.5 процентов адресного пространства. Количество сетей класса С приблизительно равно 2.1 миллиона. К сожалению сеть класса С ограничена 254 адресами, что не отвечает нуждам больших организаций, которые не могут приобрести адреса класса А или В.

Классовая IP адресация, даже с использованием подсетей, не может удовлетворить требование по масштабируемости для Интернет сообщества.

Уже в начале 90-х годов почти все сети класса В были распределены. Добавление в Интернет новых сетей класса С приводило к значительному росту таблиц маршрутов и перегрузке маршрутизаторов. Использование бесклассовой адресации позволило в значительной мере решить возникшие проблемы.

 

CIDR

Современные маршрутизаторы используют форму IP адресации называемую безклассовой междоменной маршрутизацией (Classless Interdomain Routing (CIDR)), которая игнорирует классы. В системах, использующих классы, маршрутизатор определяет класс адреса и затем разделяет адрес на октеты сети и октеты хоста, базируясь на этом классе. В CIDR маршрутизатор использует биты маски для определения в адресе сетевой части и номера хоста. Граница разделения адреса может проходить посреди октета.

CIDR значительно улучшает масштабируемость и эффективность IP по следующим пунктам:

- гибкость;

- экономичное использование адресов в выделенном диапазоне;

- улучшенная агрегация маршрутов;

- Supernetting - комбинация непрерывных сетевых адресов в новый адрес надсети, определяемый маской.

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

Без CIDR и агрегации маршрутов маршрутизатор должен содержать индивидуальную информацию для всех подсетей.

Рассмотрим сеть класса А 44.0.0.0/8, в которой рассматривается 8 подсетей

 

Сетевой номер Первый октет Второй октет Третий октет Четвёртый октет
44.24.0.0/16
44.25.0.0/16
44.26.0.0/16
44.27.0.0/16
44.28.0.0/16
44.29.0.0/16
44.30.0.0/16
44.31.0.0/16

Таблица 1.

 

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

Однако эти восемь адресов подсетей имеют общую часть: первые 13 бит одинаковы. CIDR-совместимый маршрутизатор может суммировать маршруты к этим восьми подсетям, используя общий 13-битовый префикс в адресах: 00101100 00011. Для представления этого префикса в десятичной форме дополним его справа нулями

10101100 00011000 00000000 00000000 = 172.24.0.0.

13-битовая маска подсети имеет вид

11111111 11111000 00000000 00000000 = 255.248.0.0.

Следовательно один адрес и одна маска определяет бесклассовый префикс, который суммирует маршруты к восьми подсетям: 172.24.0.0/13.

 

Supernetting

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

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

Рассмотрим компанию АБВ, которой требуется адреса для 400 хостов. При классовой адресации компания должна запросить у центральной интернет службы InterNIC сеть класа В. Если компания получит такую сеть, то десятки тысяч адресов в ней не будут использоваться. Альтернативой является получение двух сетей класса С, что даёт 254*2= 504 адреса для хостов. Недостаток этого подхода состоит в необходимости поддержки маршрутизации для двух сетей.

При бесклассовой адресной системе supernetting позволяет компании АБВ получить необходимое адресное пространство с минимальным количеством неиспользуемых адресов и без увеличения размера таблиц маршрутизации. Используя CIDR, АБВ запрашивает блок адресов у своего Интернет провайдера, а не у центральной Интернет службы InterNIC. Провайдер определяет потребности АБВ и выделяет адресное пространство из своего адресного пространства. Провайдер берёт на себя управление адресным пространством в своей внутренней безклассовой системе. Все внешние Интернет маршрутизаторы содержат только суммирующие маршруты к сети провайдера. Провайдер сам поддерживает маршруты, более специфичные для своих клиентов, включая АБВ. Этот подход существенно уменьшает размеры таблиц маршрутов для всех маршрутизаторов в Интернет.

Пусть АБВ получил у провайдера две сети класса С, адреса в которых непрерывны: 207.21.54.0 и 207.21.55.0.

 

207.21.54.0
207.21.55.0

Таблица 2.

Из таблицы видно, что адреса имеют общий 23-битовый префикс 11001111 00010101 0011011. Дополняя префикс справа нулями 11001111 00010101 00110110 00000000, получим надсеть с 23- битовой маской , 207.21.54.0/23.

Провайдер предоставляет сеть компании АБВ внешнему миру как сеть 207.21.54.0/23.

CIDR позволяет провайдерам эффективно распределять и суммировать непрерывные пространства IP адресов.

 

VLSM

Маска переменной длины (Variable-Length Subnet Mask (VLSM)) позволяет организации использовать более одной маски подсети внутри одного и того же сетевого адресного пространства. Реализацию VLSM часто называют «подсети на подсети».

Рассмотрим подсети, созданные путём заимствования трёх первых бит в хостовой порции адреса класса С 207.21.24.0

Подсеть Адрес подсети
207.21.24.0/27
207.21.24.32/27
207.21.24.64/27
207.21.24.96/27
207.21.24.128/27
207.21.24.160/27
207.21.24.192/27
207.21.24.224/27

Таблица 3.

 

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

Каждое соединение через последовательный интерфейс требует для себя два адреса и отдельной подсети. Использование для этого любой из подсетей /27 приведёт к потере адресов. Для создания подсети из двух адресов лучше всего подходит 30-ти битовая маска. Это как раз то, что надо для последовательного соединения. Разобьём одну из подсетей 207.21.24.192/27 на восемь подсетей, используя 30-ти битовую маску.

207.21.24.192/30
207.21.24.196/30
207.21.24.200/30
207.21.24.204/30
207.21.24.208/30
207.21.24.212/30
207.21.24.220/30
207.21.24.224/30

Таблица 4.

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

Чтобы в сетях с VLSM правильно осуществлялась маршрутизация маршрутизаторы должны обмениваться информацией о масках в подсетях.

Использование CIDR и VLSM не только предотвращает пустую трату адресов, но и способствует агрегации маршрутов или суммированию. Без суммирования маршрутов Интернет перестал бы развиваться уже в конце 90-х годов. Рисунок иллюстрирует как суммирование сокращает нагрузку на маршрутизаторы.

 

Рис. 1

Рис. 2

 

Эта сложная иерархия сетей и подсетей суммируется в различных точках так, что вся сеть в целом выглядит извне как 192.168.48.0/20. Для правильной работы суммирования маршрутов следует тщательно подходить к назначению адресов: суммируемые адреса должны иметь одинаковые префиксы.

 

Разорванные подсети

Разорванные подсети это сети из одной главной сети, разделённые сетью в совсем другом диапазоне адресов. Классовые протоколы маршрутизации RIP версии 1 и IGRP не поддерживают разрывные сети, так как маршрутизаторы не обмениваются масками подсетей. Если на рисунке 1 сайт A и сайт B работают на RIP версии 1, то сайт A будет получать от сайта B обновления маршрутной информации в сети 207.21.24.0/24, а не в сети 207.21.24.32/27.

Протоколы RIP v2 и EIGRP по умолчанию суммируют адреса на границах классов. Обычно такое суммирование желательно. Однако в случае разорванных подсетей не желательно. Отменить классовое автосуммирование можно командой no auto-summary.

 

Практическая часть

Конфигурируем VLSM и протестируем функциональность на двух протоколах маршрутизации RIP версии 1 и RIP версии 2.

Рассмотрим сеть класса С 192.168.1.0/24. Требуется выделить минимум по 25 адресов для двух локальных сетей и зарезервировать максимальное число адресов для дальнейшего развития.

Для поддержки 25 хостов в каждой подсети требуется минимум пять бит в восьмибитовой хостовой части адреса. Пять бит дадут максимум 30 возможных адресов хостов (25 = 32 - 2). Если пять бит должны быть использованы для хостов, то другие три бита в последнем октете адреса могут быть добавлены к 24-битовой маски нашей сети класса С. Следовательно, 27-битовая маска может быть использована для создания следующих 8 подсетей:

192.168.1.0/24 192.168.1.128/24
192.168.1.32/24 192.168.1.160/24
192.168.1.64/24 192.168.1.192/24
192.168.1.96/24 192.168.1.224/24

Таблица 5.

Для дальнейшей максимизации адресного пространства подсеть 192.168.1.0 /27 снова разделяется на 8 подсетей с использованием 30-битовой маски:

192.168.1.0/30 192.168.1.16/30
192.168.1.4/30 192.168.1.20/30
192.168.1.8/30 192.168.1.24/30
192.168.1.12/30 192.168.1.28/30

Таблица 6.

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

Построим и настроим сеть, изображённую на рисунке 3. Для маршрутизатора Vista возьмём модель 2501, а для остальных двух модель 805. Используем коммутатор 2950.

1. Подымите интерфейсы и проверьте сеть командой show cdp neighbors.

Назначьте адреса согласно рисунку. Проверьте назначение командой show ip interface brief.

3. Для компьютера HostA имеем неоднозначность в назначении маршрута по умолчанию: либо на адрес 192.168.1.33Ethernet интерфейса маршрутизатора SanJose1,либо на адрес 192.168.1.34Ethernet интерфейса маршрутизатора SanJose2.Выберите произвольный, например

hostA#ipconfig /dg 192.168.1.33

4. На всех трёх маршрутизаторах настроим маршрутизацию по протоколу RIP с отключенным автосуммированием адресов. Это позволит прохождение информации о подсетях.

Router(config)# router rip

Router(config-router)#version 2

Router(config-router)# no auto-summary

Router(config-router)# network 192.168.1.0

Рис.3

5. Должны увидеть, что на маршрутизаторе Vista есть маршрут на локальную сеть 192.168.1.32/27, где располагается компьютер hostA.

Vista#show ip route

Заметим, что в таблице выведен только один маршрут на сеть 192.168.1.32/27 –на адрес 192.168.1.2 через интерфейс Serial0, хотя есть ещё один маршрут на сеть 192.168.1.32/27 – через адрес 192.168.1.6 интерфейса Serial1. В реальном маршрутизаторе мы бы увидели оба эти маршрута. Симулятор выводит один маршрут, но обменивается маршрутной информацией по обеим интерфейсам Serial0 и Serial1:

Vista#debug ip rip

 

Vista#no debug ip rip

Сделайте скриншоты.

6. Должны увидеть, что на маршрутизаторе SanJose1 есть маршрут на локальную сеть 192.168.1.64/27, где располагается компьютер hostB.

Сделайте скриншот.

 

7. Должны увидеть, что на маршрутизаторе SanJose2 также есть маршрут на локальную сеть 192.168.1.64/27, где располагается компьютер hostB.

Сделайте скриншот.

Пропингуйте компьютер hostA из компьютера hostB и наоборот. Сделайте 2 скриншота.

Заметим, что симулятор реализован так, что приведенный пример работает и без ввода команд version 2 и no auto-summary.

 

Контрольные вопросы

1. Зачем нужна маска?

2. Что такое CIDR?

3. Что такое VLSM?

4. Как при использовании классов IP адресов в IP адресе выделяют адрес хоста и адрес подсети?

5. Как без использования классов IP адресов в IP адресе выделяют адрес хоста и адрес подсети?

6. Чему равно число доступных адресов в подсети?

7. По заданному преподавателем числу хостов в подсети определите минимальную маску.

8. Какие формы записи маски вы знаете?

9. Почему последовательное соединение выделяют в отдельную подсеть?

10. Какую маску рекомендуют использовать для сети последовательного соединения и почему?

11. Как CIDR и VLSM способствуют экономному использованию адресного пространства?

12. Что такое Supernetting?

13. Что такое агрегация маршрутов и как она способствует уменьшению таблиц маршрутов на маршрутизаторах?

14. Что такое разорванные подсети, и какие протоколы маршрутизации их не поддерживают?

15. Какие особенности работы симулятора при реализации протокола RIP?