RSS
 

Классовая и бесклассовая маршрутизация

08 Дек

r47Если спросить специалистов в области сетевых технологий об IP маршрутизации, то большинство скажет именно о бесклассовой маршрутизации. Поскольку классовая маршрутизация тесно связана с классами сетей, которые существовали до появы CIDR (Classless Inter-Domain Routing), сейчас ее практически не используют. Тем не менее, есть причини, по которых нужно понимать различия между классовой и бесклассовой маршрутизацией. Кроются они в существовании классовых протоколов маршрутизации и поддержкой их производителями оборудования. Кроме того, классовая маршрутизация имеет право на жизнь, как единственно когда-то используемая в сетях. Ниже мы рассмотрим различия между этими понятиями.

Использование стандартных маршрутов

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

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

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

При осуществлении классовой маршрутизации, маршрутизатор, в первую очередь, смотрит в какой классовой сети (А, В, С) находится адрес назначения. Если в таблице маршрутизации такая сеть есть, то маршрутизатор находит конкретный номер подсети. Если найдена такая подсеть, маршрут отправляется по заданному маршруту. Если подсети, соответствующей адресу получателя, нет, то такой пакет убивается.

Если при классовой маршрутизации, маршрутизатор не находит в своей таблице классовой сети, соответствующей адресу назначения в пакете, но этот адрес соответствует стандартному маршруту, то этот пакет отправляется по этому стандартному маршруту.

Для примера, допустим, есть маршрутизатор, который имеет в таблице маршрутизации маршруты к сетям 192.168.0.0/24 за шлюзом gw0, 192.168.1.0/24 за шлюзом gw1 и 192.168.2.0/24 за шлюзом gw2. Кроме того, он имеет стандартный маршрут 0.0.0.0/0.0.0.0 за шлюзом gw3. На маршрутизатор пришли три пакета с адресами получателей 10.100.10.10, 172.16.10.10 и 192.168.10.10 соответственно.

Поскольку адрес получателя первого пакета принадлежит классовой сети А (10.0.0.0/8), а сведений о такой сети маршрутизатор в своей таблице маршрутизации не имеет, но имеет стандартный маршрут, то он принимает решение отправить этот пакет по стандартному маршруту.

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

Адрес получателя третьего пакета принадлежит классовой сети С (192.168.10.0/24), а сведения о такой сети маршрутизатор имеет, то он пытается найти конкретный маршрут для пакета. Поскольку, такого маршрута в таблице маршрутизации нет (пакет не принадлежит ни одной из сетей 192.168.0.0/24, 192.168.1.0/24, 192.168.2.0/24), то маршрутизатор уничтожает пакет, не смотря на то, что он имеет стандартный маршрут.

Отметим, что такое возможно, если в конфигурации маршрутизатора введена команда no ip classless. Начиная с версии IOS 12.0, по умолчанию стартовые конфиги маршрутизаторов содержат команду конфигурации ip classless. Она включает бесклассовую маршрутизацию. При бесклассовой маршрутизации наш третий пакет не будет отброшен, а будет отправлен по стандартному маршруту.

Анонсирование сетей

Классовые протоколы маршрутизации (RIPv1, IGRP) не передают в обновлениях маски. Таким образом, принимающий обновления маршрутизатор сам должен принять решение о том, какую маску назначить полученной сети.Такой маршрутизатор поступает по-разному в двух разных случаях.

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

Второй случай. Если маршрутизатор принимает через обновления сеть, которая относится к классовой сети, в которой нет ни одного интерфейса принимающего маршрутизатора, то этот маршрутизатор назначает полученной подсети маску в пределах классовой сети, к которой относится полученная подсеть.

Например, если маршрутизатор имеет интерфейсы в подсетях 172.16.0.0 и 10.0.0.0, а получит через обновления от другого маршрутизатор подсеть 192.168.0.0, то, не имея сведений о маске этой подсети (нет своих интерфейсов в этой подсети), маршрутизатор назначает для нее маску 255.255.255.0, что соответствует сети класса С.

Автосуммирование

Классовые протоколы маршрутизации всегда используют автосуммирование и выключить его нельзя. Может возникнуть ситуация, в которой маршрутизатор принимает, например, сеть 10.0.0.0 от двух других маршрутизаторов через разные интерфейсы. Представим себе, что один маршрутизатор пытается передать нашему маршрутизатору подсети 10.1.0.0, 10.2.0.0, а второй — подсети 10.100.0.0, 10.200.0.0. Так как, классовые протоколы маршрутизации используют автосуммирование, то оба передающих обновления маршрутизатора сначала просуммируют вышеуказанные сети в одну сеть класса А, а именно — 10.0.0.0, а потом передадут их с обновлениями.

Принимающий маршрутизатор с обеих сторон получит сети 10.0.0.0 и, так как тоже использует классовый протокол маршрутизации, присвоит им маску сети класса А. Таким образом, в таблице маршрутизации этого маршрутизатора будет одна сеть 10.0.0.0 с двумя разными маршрутами. Этот маршрутизатор начинает отправлять пакеты через два разных интерфейса, балансируя трафик. Конечно, это неверно в данном случае. Сеть перестает правильно функционировать.

Какой выход из данной ситуации? Нужно использовать бесклассовые протоколы маршрутизации (RIPv2, OSPF, EIGRP) и выключить автосуммирование.

Итоги

Как видите, есть некоторая разница между классовой и бесклассовой маршрутизацией. Хоть первая сейчас практически не используется, необходимо понимать, что она существует и как работает хотя бы для того, чтобы сдать экзамены Cisco 🙂

Удачи!

 

Комментарии facebook

Комментарии vkontakte

Нет комментариев

Опубликовано в Сети

 

Теги: ,

Оставить комментарий