Назначьте адреса согласно рисунку. Проверьте назначение командой 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?