Протокол IP : Протокол BGP

Как работает средство распределения нагрузки?

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Перевод, выполненный профессиональным переводчиком (23 марта 2008) | Английский (22 августа 2015) | Отзыв


Содержание


Введение

Распределение нагрузки является стандартной функциональной возможностью Cisco программное обеспечение маршрутизатора IOS� и доступно по всем платформам маршрутизатора. Эта функциональность является неотъемлемой частью процесса пересылки в маршрутизаторе и включается автоматически, если в таблице маршрутизации есть несколько путей до адресата. Распределение нагрузки основано на стандартных протоколах маршрутизации, таких как протокол маршрутной информации (RIP), RIPv2, усовершенствованный внутренний протокол маршрутизации сетевых интерфейсов (EIGRP), протокол первоочередного предпочтения кратчайшего маршрута (OSPF), внутренний протокол маршрутизации (IGRP) или осуществляется на основе статически настроенных маршрутов и механизмов пересылки пакетов. Распределение нагрузки позволяет маршрутизатору использовать несколько путей до адресата при пересылке пакетов.

Предварительные условия

Требования

Для этого документа отсутствуют особые требования.

Используемые компоненты

Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования.

Условные обозначения

Дополнительные сведения об условных обозначениях в документах см. Cisco Technical Tips Conventions.

Балансировка нагрузки

Когда маршрутизатор анализирует маршруты доступа к конкретной сети посредством нескольких процессов маршрутизации (или протоколов маршрутизации, например RIP, RIPv2, IGRP, EIGRP и OSPF), он устанавливает маршрут с минимальным административным расстоянием в таблице маршрутизации. Дополнительную информацию см. в документе Выбор маршрута в маршрутизаторах Cisco.

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

Если маршрутизатор принимает и устанавливает несколько путей с одинаковыми административным расстоянием и стоимостью достижения точки назначения, может быть выполнено распределение нагрузки. Число используемых путей ограничено числом записей, которые протокол маршрутизации помещает в таблицу маршрутизации. В IOS по умолчанию предусмотрено четыре записи для большинства IP-протоколов маршрутизации за исключением пограничного межсетевого протокола (BGP), для которого по умолчанию предусмотрена только одна запись. Максимальное число настроенных путей составляет шесть.

Процессы маршрутизации IGRP и EIGRP также поддерживают балансировку загрузки с неравной стоимостью. При использовании протоколов IGRP и EIGRP распределить нагрузку в соответствии с неравной стоимостью путей можно с помощью команды variance. Выполните команду maximum-paths для определения количества маршрутов, которые могут быть установлены на основе значения, настроенного для протокола. При установке таблицы маршрутизации в одну запись она отключает распределение нагрузки. Дополнительную информацию см. Как работает балансировка нагрузки c неравной стоимостью путей (дисперсия) с протоколами IGRP и EIGRP.

Чтобы найти маршруты равные по стоимости как правило используют команду show ip route. Например, ниже приведены выходные данные команды show ip route для конкретной подсети, которая имеет несколько маршрутов. Обратите внимание, что существует два блока дескриптора маршрутизации. Каждый блок представляет собой один маршрут. Кроме того, один из блоков записей помечен звездочкой (*). Он соответствует активному маршруту, который используется для нового трафика. Термин 'новый трафик' обозначает один пакет или целый поток для адресата назначения, в зависимости от типа настроенной коммутации.

  • Для коммутации process-switching—балансировка нагрузки осуществляется на основе пакетов и звездочка (*) указывает интерфейс, через который будет отправлен следующий пакет.

  • Для коммутации fast-switching—балансировка нагрузки осуществляется на основе адресата назначения и звездочка (*) указывает интерфейс, через который будет отправлен следующий поток для адресата.

Позиция звездочки (*) меняется среди путей с равной стоимостью при каждой обработке пакета или потока.

M2515-B# show ip route 1.0.0.0
Routing entry for 1.0.0.0/8
  Known via "rip", distance 120, metric 1
  Redistributing via rip
  Advertised by rip (self originated)
  Last update from 192.168.75.7 on Serial1, 00:00:00 ago
  Routing Descriptor Blocks:
  * 192.168.57.7, from 192.168.57.7, 00:00:18 ago, via Serial0
      Route metric is 1, traffic share count is 1
    192.168.75.7, from 192.168.75.7, 00:00:00 ago, via Serial1
      Route metric is 1, traffic share count is 1

Балансировка нагрузки по месту назначения или по пакетам

Можно усадить распределение нагрузки за работу для каждого назначения или попакетный. Балансировка нагрузки по адресату назначения значит, что маршрутизатор распределяет пакеты на основе адреса назначения. При наличии двух путей доступа к одной сети, все пакеты для назначения1 в этой сети пересылаются по первому пути, а все пакеты для назначения2 в этой сети пересылаются по второму пути и т. д. При этом сохраняется порядок пакетов с потенциально неравномерным использованием каналов. Если один узел получает большую часть трафика, все пакеты используют один канал, тогда как полоса пропускания других каналов остается неиспользуемой. Увеличение числа адресов назначения приводит к более равномерному использованию каналов. Для более равномерного использования каналов воспользуйтесь ПО IOS и создайте запись кэша маршрутов для каждого адреса назначения, вместо каждой сети назначения, как в случае существования единственного пути. Благодаря этому, трафик для разных узлов в одной сети назначения сможет проходить разными путями. Недостатком этого подхода является то, что потребности основных магистральных маршрутизаторов, пересылающих трафик для тысяч узлов назначения, в памяти и производительности для поддержания кэша становятся очень большими.

Выравнивание нагрузки по пакетам означает, что маршрутизатор отправляет один пакет на назначение 1 по первому пути, второй пакет на назначение 1 по второму пути и т.д. Балансировка нагрузки по пакетам гарантирует равномерное распределение нагрузки между всеми каналами. Однако существует вероятность нарушения порядка следования пакетов, при их достижении адресата назначения, из-за возможного существования дифференциальной задержки в сети. В ПО Cisco IOS, за исключением выпуска 11.1CC, балансировка нагрузки на основе пакетов отключает ускорение пересылки за счет кэша маршрутов, поскольку информация кэша маршрутов содержит выходной интерфейс. Для балансировки нагрузки на основе пакетов процесс пересылки определяет выходной интерфейс для каждого пакета в результате обращения к таблице маршрутов и выбора последнего использованного интерфейса. Это обеспечивает равномерное использование каналов, но повышает загрузку процессора и влияет на общую производительность пересылки. Эта форма балансировки нагрузки на основе пакетов плохо сочетается с высокоскоростными интерфейсами.

Балансировка загрузки по назначению или по пакетам зависит от типа схемы коммутации, используемой для IP-пакетов. На большей части маршрутизаторов Cisco по умолчанию включена коммутация fast switching на интерфейсах. Это схема кэширования по требованию, которая выполняет балансировку нагрузки по месту назначения. Чтобы настроить балансировку нагрузки по пакетам, включите коммутацию process switching (или выключите fast switching), используя следующие команды:

Router# config t
Router(config)# interface Ethernet 0
Router(config-if)# no ip route-cache
Router(config-if)# ^Z

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

Router# config t
Router(config)# interface Ethernet 0
Router(config-if)# ip route-cache
Router(config-if)# ^Z

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

При работе с CEF может возникнуть вопрос: Что осуществляет балансировку нагрузки, CEF или используемый протокол маршрутизации? Работа CEF заключается в коммутации пакета на основе таблицы маршрутизации, которая заполняется протоколами маршрутизации, такими как EIGRP. В двух словах, CEF осуществляет балансировку нагрузки после вычисления таблицы протокола маршрутизации.

Дополнительную информацию о CEF балансировке нагрузки см. в Поиск и устранение неисправностей при балансировке нагрузки по параллельным каналам с использованием Cisco Express Forwarding и Балансировка нагрузки с CEF.

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

Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Дополнительные сведения


Document ID: 5212