Протокол IP : Технология CEF

Поляризация CEF

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

Введение

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

Внесенный Anvitha Prabhu, Шэшэнком Сингхом, и Шридхэром Дходэпкэром, специалистами службы технической поддержки Cisco.

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

Требования

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

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

Сведения в этом документе основываются на Cisco Catalyst 6500 коммутаторов, которые работают на модуле управления Supervisor Engine 720.

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

Общие сведения

Пересылает в режиме CEF пакеты на основе таблицы маршрутизации, которая заполнена протоколами маршрутизации, такими как Протокол EIGRP и Протокол OSPF. CEF выполняет распределение нагрузки, как только вычислена таблица маршрутизации (RIB). В дизайне иерархической сети может быть много Уровней 3 (L3) равноценные пути с избыточным резервом. Рассмотрите эту топологию где трафики от уровня доступа по распределению и ядра и в ЦОД.

                     

Предположите, что для достижения сети 10.1.1.1 от [Верхнего левый] Маршрутизатора 1 (R1), существует два равноценных пути (L1, L2). Решение, о котором из двух ссылок используется, принято алгоритмом хеширования. По умолчанию Source IP (SIP) и IP - адрес назначения (DIP) используется в качестве параметров в алгоритме хеширования.

Вот описание того, как работает алгоритм хеширования:

Когда существует только два пути, коммутатор/маршрутизатор выполняет МОНОПОЛЬНЫЙ OR (XOR) операция на битах более низкоуровневых (один бит, когда любая из двух ссылок должна быть выбрана, два бита для 3-4 ссылок, и т.д.) SIP и DIP. Операция XOR того же SIP и DIP всегда приводит к пакетному использованию той же ссылки.

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

Данный пример иллюстрирует этот процесс более подробно:

                  

  1. Трафик, полученный от 10.240.18.1 и предназначенный к 10.240.20.1, вводит сеть в Маршрутизатор A и CEF-коммутируем. Поскольку существует два равноценных пути к 10.240.20.0/24 сети, адреса источника и назначения в пакете проходят через алгоритм хэширования, и результатом является определенный путь, используемый для достижения назначения. В этом случае путь пакетное взятие находится к C Маршрутизатора. Оттуда, пакеты переходят к Маршрутизатору F, и на их конечном назначении.

  2. Трафик, полученный от 10.240.18.2 и предназначенный к 10.240.20.1, вводит сеть в Маршрутизатор A и CEF-коммутируем также. Поскольку существует два равноценных пути к 10.240.20.0/24 сети, адреса источника и назначения в пакете проходят через алгоритм хэширования, и CEF выбирает путь. В этом случае путь пакетное взятие находится к Маршрутизатору B.

  3. Трафик, полученный от 10.240.18.3 и предназначенный к 10.240.20.1, вводит сеть в Маршрутизатор A и также CEF-коммутируем. Поскольку существует два равноценных пути к 10.240.20.0/24 сети, адреса источника и назначения в пакете проходят через алгоритм хэширования, и CEF выбирает путь. В этом случае путь пакетное взятие находится к Маршрутизатору B.

  4. Пакеты из источника от 10.240.18.2 и 10.240.18.3 оба достигают Маршрутизатора B, который снова имеет два равноценных пути для достижения 10.240.20.1. Это снова выполняет эти наборы источника и целевых пар через алгоритм хэширования, который приводит к тем же результатам что алгоритм хэширования на Маршрутизаторе произведенный. Это означает, что оба потока пакетов проводят один путь - в этом случае, ссылка к Маршрутизатору E. Ссылка к Маршрутизатору D получает "no traffic" (нет трафика).

  5. После того, как трафик, полученный от 10.240.18.2 и 10.240.18.3, получен на Маршрутизаторе E, он коммутирован вдоль пути к Маршрутизатору F, и затем к на его конечном назначении.

Как избежать поляризации CEF

  1. Замена между по умолчанию (SIP и DIP) и полный (SIP + DIP + порты Layer4) крошащая конфигурация вводов на каждом уровне сети.

    Catalyst 6500 предоставляет несколько выборов для алгоритма хеширования:
    • По умолчанию - Использование IP - адрес источника и получателя, с неравными весами, данными каждой ссылке для предотвращения поляризации.
    • Простой - Использование IP - адрес источника и получателя, с равным весом, данным каждой ссылке.
    • Полный - Использование IP - адрес источника и получателя и номер порта Уровня 4, с неравными весами.
    • Полный Простой - Использование IP - адрес источника и получателя и номер порта Уровня 4, с равными весами, данными каждой ссылке.
       6500(config)#mls ip cef load-sharing ?
         full   load balancing algorithm to include L4 ports
         simple load balancing algorithm recommended for a single-stage CEF router

       6500(config)#mls ip cef load-sharing full ?
         simple load balancing algorithm recommended for a single-stage CEF router
         <cr>
    В настоящее время никакие команды не существуют для проверки алгоритма распределения нагрузки в использовании. Лучший способ узнать, какой метод используется, состоит в том, чтобы проверить текущую конфигурацию через команду show running-config. Если никакая конфигурация не присутствует начиная с mls ip cef load-sharing, источник по умолчанию и целевой неравный алгоритм веса используются.

    Примечание: 1), Catalyst 6500 не поддерживает на пакетное распределение нагрузки. 2) полная опция НЕ включает универсальный ID в хэш. Если это используется на каждом уровне многоуровневой топологии, поляризация возможна. Желательно использовать простую опцию с этой командой для достижения лучшего распределения нагрузки и использовать меньше аппаратных смежностей.

  2. Замена между четным и нечетным количеством ECMP связывается на каждом уровне сети.
    Распределение нагрузки CEF не зависит от того, как маршруты протокола вставлены в таблицу маршрутизации. Поэтому маршруты OSPF показывают то же поведение как EIGRP. В иерархической сети, где существует несколько маршрутизаторов, которые выполняют распределение нагрузки подряд, они все используют тот же алгоритм для load-share.

    Алгоритм хэширования распределяет нагрузку этот путь по умолчанию:
    1: 1
    2: 7-8
    3: 1-1-1
    4: 1-1-1-2
    5: 1-1-1-1-1
    6: 1-2-2-2-2-2
    7: 1-1-1-1-1-1-1
    8: 1-1-1-2-2-2-2-2
    Количество перед двоеточием представляет количество равноценных путей. Количество после двоеточия представляет пропорцию трафика, который передан на путь.

    Это может означать следующее:
    • Для двух равноценных маршрутов распределение нагрузки составляет 46.666%-53.333%, не 50%-50%.
    • Для трех равноценных маршрутов распределение нагрузки 33.33%-33.33%-33.33% (как ожидалось).
    • Для четырех равноценных маршрутов распределение нагрузки равняется 20%-20%-20%-40% а не 25%-25%-25%-25%.

    Это иллюстрирует, что, когда существует четное число ссылок ECMP, трафик не распределен нагрузку
    Одним способом отключить поляризацию CEF является вес антиполяризации, который был представлен в Версии 12.2 (17d) SXB2.

    Для включения веса антиполяризации введите эту команду:
    6500(config)# mls ip cef load-sharing full simple
    Используйте эту команду, если существует два равноценных маршрута и обе потребности, которые будут использоваться одинаково. Добавление простого ключевого слова позволяет аппаратным средствам использовать то же количество смежностей как в соседстве CEF Cisco IOS®. Без простого ключевого слова аппаратные средства устанавливают дополнительные записи о смежности во избежание поляризации платформы.

  3. Cisco IOS представила понятие, названное unique-ID/universal-ID, который помогает избегать поляризации CEF. Этот алгоритм, названный универсальным алгоритмом (по умолчанию в текущих версиях Cisco IOS), добавляет 32-разрядное специфичное для маршрутизатора значение к хэш-функции (названный универсальным ID - это - случайным образом сгенерированное значение во время загрузки коммутатора, что банка может вручную управляться). Это отбирает хэш-функцию на каждом маршрутизаторе с уникальным идентификатором, который гарантирует что тот же хэш пары источника/назначения в другое значение на других маршрутизаторах вдоль пути. Этот процесс предоставляет лучшее для всей сети распределение нагрузки и обходит проблему поляризации. Это уникальное - понятие ID не работает для четного числа равноценных путей из-за аппаратного ограничения, но оно работает отлично для нечетного числа равноценных путей. Для преодоления этой проблемы Cisco IOS добавляет одну ссылку к аппаратной таблице соседей, когда существует четное число равноценных путей, чтобы заставить систему полагать, что существует нечетное число равноценных каналов.
    Для настройки специализированного значения для универсального ID используйте:
    6500(config)ip cef load-sharing algorithm universal <id>

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

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


Document ID: 116376