ip classless cisco что это

Ip classless cisco что это

Автор: HunSolo от 3-07-2013, 20:58, посмотрело: 12841

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

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

Построение таблицы маршрутизации

Давайте рассмотрим следующий пример. Предположим роутер имеет четыре работающих процесса маршрутизации: EIGRP, OSPF, RIP, и IGRP. Сейчас все четыре процесса изучили ряд маршрутов к сети 192.168.24.0/24 и каждый выбрал свой лучший путь к этой сети через свои внутренние метрики. Каждый из четырех процессов пытается инсталлировать свой маршрут на сеть 192.168.24.0/24. Процесс маршрутизации обрабатывает административную дистанцию каждого протокола, которая используется для решения того, какой маршрут будет инсталлирован.

Следующая табличка показывает Административные дистанции для каждого протокола, назначенные по умолчанию

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

А что же делают другие протоколы RIP, IGRP, OSPF со своими маршрутами, которые не были проинсталлированы? Что будет если самый предпочтительный маршрут, изученный из EIGRP, упадет? Cisco IOS использует два подхода для решения данной проблемы. Во первых: каждый процесс маршрутизации периодически пытается инсталлировать свои лучшие маршруты. Если самый предпочтительный маршрут упал (нет канала связи или отказал соседний маршрутизатор), следующий лучший маршрут (в соответствие с административной дистанцией) будет успешно инсталлирован при очередной попытке.
Второе решение: Для протокола который не смог инсталлировать свой маршрут, необходимо зарегистрировать маршрут как резервный и сказать процессу обслуживающему таблицу маршрутизации послать сообщение, если лучший маршрут упадет.

Для протоколов которые не имеют своих собственный таблиц с информацией о маршрутизации, такие как IGRP, используется первый метод. Каждый раз когда IGRP принимает обновления о маршруте, он пытается инсталлировать обновленную информацию в таблицу маршрутизации. Если в таблице уже существует маршрут на данную сеть, то попытка инсталляции завершается неудачно.
Для протоколов которые имеют свои собственные базы данных с информацией о маршрутизации, такие как, EIGRP, IS-IS, OSPF, BGP, и RIP, регистрируется резервный маршрут, когда первая попытка инсталляции в таблицу маршрутизации завершается неудачей. Если маршрут инсталлированный в таблицу маршрутизации падает по некоторым причинам, процесс обслуживающий таблицу маршрутизации вызывает каждый роутинговый протокол, который зарегистрировал резервный маршрут и просит его переинсталировать маршрут в таблицу маршрутизации. Если существуют несколько протоколов с зарегистрированными маршрутами, предпочтительный маршрут выбирается на основе административной дистанции.

Настраиваем административную дистанцию.

Административная дистанция по умолчанию может не всегда отвечать нуждам вашей сети. Вам может быть нужно, например, чтобы RIP маршруты были предпочтительными над IGRP маршрутами. Однако, изменение административной дистанции для протокола маршрутизации может быть опасным. Изменение значений по умолчанию может привести к петлям маршрутизации и другим странностям в вашей сети. Мы рекомендуем изменять административную дистанцию с осторожностью и только после того, как вы хорошо подумали и еще раз подумали. Для протокола маршрутизации, изменение административной дистанции достаточно легко: просто настраиваете дистанцию с помощью команды distance в конфигурационном режиме протокола маршрутизации. Вы также можете изменить дистанцию для маршрутов изученных от одного источника только в некоторых протоколах или вы можете изменить дистанцию только для нескольких маршрутов.

Для статических маршрутов вы можете изменить дистанцию для маршрута введя числовое значение после команды ip route

Теперь маршрут на сеть 192.168.1.0/24 имеет административную дистанцию 100. Однако, вы не можете изменить дистанцию для всех статических маршрутов за один раз.

Как Метрика определяет выбор маршрута.

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

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

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

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

Выполнение решения о пересылке

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

Если пакет, предназначенный для 192.168.32.1 прибывает на интерфейс маршрутизатора, какой из маршрутов выберет роутер? Это зависит от длины префикса или количества бит установленных в маске подсети. Более длинный префикс предпочтителен чем короткий.
В этом случае, пакет предназначенный для 192.168.32.1 направляется к узлу 10.1.1.1, поскольку адрес 192.168.32.1 попадает в сеть 192.168.32.0/26 (192.168.32.0 до 192.168.32.63). Он также попадает и в два других доступных маршрута, но 192.168.32.0/26 имеет самый длинный префикс в таблице (26 бит против 24 или 19).

Читайте также:  пшеница для проращивания какая лучше

Точно также, если пакет, предназначенный для 192.168.32.100 прибывает на один из интерфейсов роутера, он пересылается к 10.1.1.2, так как 192.168.32.100 не попадает в сеть 192.168.32.0/26, но попадает в сеть 192.168.32.0/24 и в сеть 192.168.32.0/19. Но сеть 192.168.32.0/24 имеет более длинный префикс.

Нас иногда часто запутывает команда ip classless когда встречается в конфигурации роутера. В действительности эта команда влияет только на работу процесса пересылки в IOS. Она не влияет на способ которым строится таблица маршрутизации. Если ip classless не конфигурирована (используется команда no ip classless), маршрутизатор не пересылает пакеты на суперсети (supernet). В качестве примера, снова поместим три маршрута в таблицу маршрутизации.

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

Роутер удаленного офиса конфигурирован как:

Выполние команды ip classless на удаленном маршрутизаторе решит проблему, разрешив роутеру игнорировать классовые границы сетей в своей таблице маршрутизации.

На заметку: Если суперсеть или маршрут по умолчанию изучен через IS-IS или OSPF, то команда no ip classless игнорируется.

Источник

Выбор маршрута в маршрутизаторах Cisco

Введение

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

Связанные процессы

Построение таблицы маршрутизации

Маршрутизатор принимает решение об установке маршрутов, представленных процессами маршрутизации, основываясь на административном расстоянии маршрута. Путь с наименьшим административным расстоянием до места назначения (по сравнению с другими маршрутами таблицы), устанавливается в таблицу маршрутизации. Если этот маршрут не является маршрутом с лучшим административным расстоянием, он отклоняется.

Чтобы лучше понять этот процесс, рассмотрим пример. Предположим, что в маршрутизаторе работает 4 процесса маршрутизации — EIGRP, OSPF, RIP и IGRP. Все 4 процесса получили данные о различных маршрутах к сети 192.168.24.0/24, и каждый выбрал наилучший путь к этой сети, используя внутренние метрики и процессы.

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

Поскольку внутренний маршрут EIGRP имеет наилучшее административное расстояние (чем меньше административное расстояние, тем выше приоритет), он устанавливается в таблицу маршрутизации.

Резервные маршруты

Что другие протоколы — RIP, IGRP и OSPF — делают с неустановленными маршрутами? Что происходит, если оптимальный маршрут, полученный от протокола EIGRP, недоступен? ПО Cisco IOS использует два похода к решению этой проблемы. Первый заключается в том, что каждый процесс маршрутизации периодически пытается установить свои лучшие маршруты. Если наиболее предпочтительный маршрут недоступен, во время следующей попытки будет выбран маршрут, следующий по приоритету (в соответствии с административным расстоянием). Другое решение — протокол маршрутизации, которому не удалось установить маршрут в таблицу, должен удерживать этот маршрут. При этом таблица маршрутизации должна сообщить, если лучший маршрут даст сбой.

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

Протоколы, использующие собственную базу данных маршрутизации, например EIGRP, IS-IS, OSPF, BGP и RIP, регистрируется резервный маршрут, если первоначальная попытка установить маршрут оказывается неудачной. Если маршрут, установленный в таблице маршрутизации, отказывает по тем или иным причинам, процесс обслуживания таблицы маршрутизации вызывает процессы всех протоколов маршрутизации, которые зарегистрировали резервный маршрут, и просит установить этот маршрут в таблицу. Если резервный маршрут зарегистрировали несколько протоколов, предпочтительный маршрут выбирается на основе административного расстояния.

Изменение административного расстояния

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

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

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

Чтобы изменить расстояние для статических маршрутов, введите нужное расстояние после следующей команды ip route:

ip route network subnet mask next hop distance

Изменить расстояние для всех статических маршрутов одновременно нельзя.

Как метрики влияют на процесс выбора маршрута

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

Длины префиксов

Давайте посмотрим, как механизм переадресации использует данные таблицы маршрутизации для принятия решений о переадресации.

Принятие решений о переадресации

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

router# show ip route
.
D 192.168.32.0/26 [90/25789217] via 10.1.1.1
R 192.168.32.0/24 [120/4] via 10.1.1.2
O 192.168.32.0/19 [110/229840] via 10.1.1.3
.

Если пакет прибывает на интерфейс маршрутизатора с адресом назначения 192.168.32.1, какой маршрут выберет маршрутизатор? Это зависит от длины префикса или количества бит, установленного в маске подсети. При переадресации пакета более длинным префиксам всегда отдается предпочтение над короткими.

В этом примере, пакет, отправленный по адресу 192.168.32.1 направляется в сеть 10.1.1.1, так как адрес 192.168.32.1 находится в сети 192.168.32.0/26 (192.168.32.0–192.168.32.63). Адресу соответствуют еще два доступных маршрута, но маршрут 192.168.32.0/26 имеет самый длинный префикс в таблице маршрутизации (26 бит против 24 и 19 бит).

Аналогично, если пакет, отправленный по адресу 192.168.32.100, прибывает на один из интерфейсов маршрутизатора, он перенаправляется по адресу 10.1.1.2, поскольку адрес 192.168.32.100 не попадает в сеть 192.168.32.0/26 (192.168.32.0–192.168.32.63), но попадает в сеть назначение 192.168.32.0/24 (192.168.32.0–192.168.32.255). И снова он попадает в диапазон сети 192.168.32.0/19, но сеть 192.168.32.0/24 имеет более длинный префикс.

IP Classless

При использовании команды конфигурации ip classless процессы маршрутизации и переадресации становятся довольно запутанными. В реальности команда «IP classless» влияет только на работу процессов переадресации IOS, но не влияет на построение таблицы маршрутизации. Если функция «IP classless» не настроена (с помощью команды no ip classless), маршрутизатор не будет переадресовать пакеты в подсети. Для примера снова поместим три маршрута в таблицу маршрутизации и проведем пакеты через маршрутизатор.

Примечание. Если суперсеть или маршрут по умолчанию получены от протоколов IS-IS или OSPF, команда конфигурации no ip classless игнорируется. В этом случае режим коммутация пакетов работает так, как если бы команда ip classless была настроена.

router# show ip route
.
172.30.0.0/16 is variably subnetted, 2 subnets, 2 masks
D 172.30.32.0/20 [90/4879540] via 10.1.1.2
D 172.30.32.0/24 [90/25789217] via 10.1.1.1
S* 0.0.0.0/0 [1/0] via 10.1.1.3

На этом основана маршрутизация типа classful. Если часть основной сети известна, но подсеть этой основной сети, для которой предназначен пакет, неизвестна, пакет отбрасывается.

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

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

Маршрутизатор удаленного узла настраивается следующим образом:

interface Serial 0
ip address 10.1.2.2 255.255.255.0
!
interface Ethernet 0
ip address 10.1.1.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.2.1
!
no ip classless

В такой конфигурации узлы на удаленном узле могут достичь назначения через Интернет (через облако 10.x.x.x), но не назначений в облаке 10.x.x.x, которое является корпоративной сетью. Поскольку удаленный маршрутизатор имеет данные о части сети 10.0.0.0/8 и двух подсетях с прямым подключением, но ничего не знает о другой подсети 10.x.x.x, он предполагает, что другие подсети диапазона не существуют, и отбрасывает пакеты, которые в них направлены. Однако назначение трафика, направленного в Интернет не находится в диапазоне адресов 10.x.x.x и поэтому корректно направляется в маршрут по умолчанию.

Настройка команды ip classless на удаленном маршрутизаторе устраняет эту проблему. Она позволяет удаленному маршрутизатору игнорировать границы сетей classful в таблице маршрутизации и просто выбирать маршрут с наибольшей длиной префикса.

Выводы

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

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

Есть вопросы?
Обращайтесь в «Аквилон-А», чтобы узнать подробности и получить именно то, что вам требуется.

Источник

Ip classless cisco что это

Hi, there. This is the description I found for this command at Cisco’s site:

«At times the router might receive packets destined for a subnet of a network that has no network default route. To have the Cisco IOS software forward such packets to the best supernet route possible, use the ip classless global configuration command. To disable this feature, use the no form of this command.»

I think I get it, but could anybody give me a practical example of it?

What would be a typical net topology for this command?

I’ve had some IGRP routing problems when this command was active. I just want to know if I should disable it.

This is a very good question and I hope someone else will follow up with additional information. This question thoroughly stumped me and I researched CCO and several of my Cisco Press books trying to find a scenario which described the logic. The only example I could find was in chapter six of the CCNA 640-607 exam certification guide.

According to that guide, a packet destined for a remote host is handled differently depending on whether a router is configured for classful or classless bevavior. Two tasks are considered here. The first is route lookup and the second is determining what role the default route will play.

A router configured with the «no ip classless» command tries to match the appropriate class (A, B or C) of network and then the specific subnet in the routing table to make a routing decision. If both are matched the packet will route. If a match is made only on the class of network, the packet is dropped. The default route is only used when a match is not made on either the class network or the specific subnet.

A router configured with the «ip classless» command tries to match the the specific subnet and ignores the class (A, B or C) of network and only uses the default route when no match is made.

In researching this I began to see some of the problems which could be caused by the absence of a default route or an incorrect default route and I would certainly like to hear the specific problems Carlos experienced.

If you look at the routes in your routing table you’ll see that they’re grouped by major network. For example:

10.0.0.0/8 is variably subnetted, 16 subnets, 7 masks

S 10.1.2.0/24 [1/0] via 10.128.4.4

S 10.1.0.0/23 [1/0] via 10.1.0.228

C 10.1.0.224/29 is directly connected, Vlan9

The above router is in classless mode, but the routes are grouped by major network (10.0.0.0/8 in this case; /8 because 10.0.0.0 is in the Class A range) regardless.

Let’s say the above entries are the only ones in the routing table in addition to a default route, and the router needs to route a packet to destination 10.255.255.1. In classful mode, the router first looks to see if the major network (10.0.0.0 in this case) is in the routing table. If so, it goes through the subnets of that major network that are in the routing table (there are 3 of them here) trying to find a match for 10.255.255.1. It doesn’t find one in this case, so the packet is dropped. The default route is *not* taken because a match for the major network was found in the routing table (the only routing table entries searched in this case are subnets of the major network). If a match for the major network is not found (e.g., a packet destined to 20.255.255.1 arrives) the default route will be chosen. The logic here is that in classful routing it is assumed that major networks are contiguous; i.e., you can’t have a major network divided and separated by another major network (10.1.0.0——20.20.0.0——10.100.0.0, for example) because classful routing protocols such as RIP/IGRP don’t work properly in such an environment. So a classful route lookup assumes that if a router knows about any part of a major network (the 3 subnet routes above mean that the router knows about the 10.0.0.0/8 major network) it must know about all existing/up parts of that network; hence, any subnet of that network not found in the routing table must not exist or be down, so the default route shouldn’t be followed (you can end up with routing loops this way).

In the original posters case, it’s not surprising that «ip classless» can cause problems when a classful routing protocol like IGRP is in use. It should probably be disabled in this case, though migrating to a classless routing protocol like EIGRP/OSPF is generally what’s recommended these days.

Источник

Cisco IP Classless Command

When Cisco routers have to forward packets, they will check their routing table and they use longest prefix matching to find the best match. If you don’t have a best match then the router will use a default route (if you have one). Otherwise, the packet will be dropped.

The forwarding behavior that I described above is called classless routing and it has been the default since IOS 11.3. This is an ancient version, it went end-of-sale around 1998 so classless routing is the only thing that most people know about nowadays.

The other method is called classful routing and it works slightly different. Instead of trying to explain this with text it’s better to see it in action with some examples.

To demonstrate the difference between classless and classful routing I will use the following topology:

R2 has four loopback interfaces that we will try to reach from R1. To do this, we’ll use some static routes on R1. Let’s take a look at the configuration…

Configuration

Classless Routing

Let’s start with the default mode, classless routing. Here’s what the routing table of R1 looks like:

We have three static routes. Let’s try to ping each loopback interface on R2:

This ping works because we have a specific 172.16.0.0 /24 route in the routing table. Let’s try 172.16.1.2:

This ping also works because we have a specific 172.16.1.0 /24 route in the routing table. Let’s try 172.16.2.2:

This ping works, there is no specific entry for it in the routing table but we can use the default route for it. Last but not least, let’s try 10.10.10.2:

This ping also works because of the default route. So far everything is working as expected. Now let’s take a look at classful routing.

Classful Routing

First we have to disable classless routing on R1:

Also to make this work, you have to disable CEF (Cisco Express Forwarding):

Now we are ready for some tests. First of all, let me show you the routing table again:

Nothing has changed in the routing table, it’s exactly the same. Only the forwarding decisions of the router have changed. Let’s try those pings again:

The first two pings are successful because we have two matching entries in the routing table: 172.16.0.0 /24 and 172.16.1.0 /24. Before I try a ping to 172.16.2.2, let’s enable a debug:

Now let’s try that ping:

This ping doesn’t work anymore and this is what the debug tells us:

Источник

Читайте также:  mail что за бренд
Сказочный портал
Административные расстояния по умолчанию
Подключенное