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

Устранение неполадок при выравнивании загрузки по параллельным соединениям с использованием Cisco Express Forwarding

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


Содержание


Введение

Этот документ разъясняет, как Cisco программное обеспечение IOS� внедряет распределение нагрузки Уровня 3 через несколька параллельных каналов при использовании скоростной маршрутизации Cisco.

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

Требования

Этот документ принимает понимание двух структур данных скоростной маршрутизации Cisco.

  • База данных переадресации (FIB)

  • Таблица смежности

Обзор операций Cisco Express Forwarding см. в разделе "Дополнительные сведения" данного документа.

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

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

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

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

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

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

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

Механизмы IP-коммутации поддерживают два общих режима – пакетный и целевой. В следующей таблице описываются преимущества и недостатки обоих режимов.

Для каждого назначения Попакетный
Механизм IP-коммутации Быстрая коммутация и пересылка по назначению Cisco Express Forwarding. Коммутация процесса и попакетная пересылка Cisco Express Forwarding.
Преимущества Быстрая коммутация гарантирует, что пакеты в данное назначение будут отправляться по одному пути, даже если доступно несколько. Коммутация Cisco Express Forwarding гарантирует, что пакеты для определенного сочетания исходных и конечных узлов будут отправляться по одному пути, даже если доступно несколько. Трафик для различных сочетаний будет проходить разными путями. Распределение нагрузки по пакетам позволяет маршрутизатору распределять последовательные пакеты данных по разным путям, не учитывая адреса отдельных хостов и пользовательские сеансы. Использует круговой метод определения пути каждого пакета к пункту назначения
Недостатки С быстрой коммутацией, на целевую коммутацию может привести к неравному распределению нагрузки, потому что пакеты одному назначению всегда придерживаются того же пути. Коммутация Cisco Express Forwarding может привести к неравномерному распределению при малом числе пар исходных и конечных узлов. Поскольку балансировка нагрузки на получателя зависит от статистического распределения трафика, эффективность распределения нагрузки увеличивается по мере увеличения количества пар "источник-получатель". Пакеты для определенного сочетания исходного и конечного хоста могут передаваться по разным маршрутам, т. е. может потребоваться их переупорядочить. Это не рекомендуется для Voice over IP (VoIP) и других потоков, в которых пакеты должны доставляться последовательно.

Что такое балансировка нагрузки?

Распределение нагрузки описывает возможность маршрутизатора передавать пакеты IP-адресу пункта назначения (также известно, как префикс IP) по более чем одному пути.

При обсуждении балансировки нагрузки сначала следует задать следующие термины.

Условие Определение
Prefix Описывает сеть IP - адреса назначения, такую как 192.16.10.0/24. Cisco IOS добавляет IP-префикс назначения в маршрутную таблицу, используя сведения, полученные из обмена сообщениями по протоколу динамической маршрутизации или с помощью ручной конфигурации статических маршрутов.
Path Описывает действительный маршрут до префикса точки назначения. Cisco IOS назначает каждому пути стоимость. Набор активных путей к префиксу места назначения может иметь равные или отличающиеся стоимости.
Сеанс Описывает однонаправленный поток связи между двумя IP узлами. Для всех пакетов сеанса используется одинаковый IP-адрес источника и точки назначения.

Дополнительные сведения см. в разделе "Как работает выравнивание нагрузки"?

Перед срочной пересылкой Cisco - объединение нескольких путей или маршрутов

Информация о путях, содержащаяся в таблице IP-маршрутизации, используется в экспресс-пересылке Cisco для равномерного распределения трафика по нескольким каналам. По этой причине проверка правильности распределения нагрузки с помощью функции Cisco Express Forwarding начинается с проверки содержимого таблицы маршрутизации.

В следующей топологии два маршрутизатора, A и B, связываются встречно-параллельно по трем последовательным интерфейсам с инкапсуляцией Высокоуровневое Управление Каналом Передачи Данных (HDLC).

Маршрутизатор А Маршрутизатор В
interface Ethernet 0 
 ip address  192.168.20.1 255.255.255.0 
! 
interface Serial1 
 ip address 10.10.10.1 255.255.255.0  
! 
interface Serial2 
 ip address 20.20.20.1 255.255.255.0 
! 
interface Serial3 
 ip address 30.30.30.1 255.255.255.0 
 ip ospf cost 100 
! 
router ospf 1 
 network 10.10.10.0 0.0.0.255 area 0 
 network 20.20.20.0 0.0.0.255 area 0 
 network 30.30.30.0 0.0.0.255 area 0 
network 192.168.20.0 0.0.0.255 area 0
interface Serial1 
 ip address 10.10.10.2 255.255.255.0 
 clockrate 2000000 
! 
interface Serial2 
 ip address 20.20.20.2 255.255.255.0 
 clockrate 148000 
! 
interface Serial3 
 ip address 30.30.30.2 255.255.255.0 
 ip ospf cost 100 
 clockrate 148000 
router ospf 1 
 network 10.10.10.0 0.0.0.255 area 0 
 network 20.20.20.0 0.0.0.255 area 0 
 network 30.30.30.0 0.0.0.255 area 0
maximum-paths 1

Давайте посмотрим на то, как маршрутизатор B выбирает один или несколько путей для достижения IP - сети Интерфейса Ethernet A маршрутизатора 192.168.20.0.

  • По умолчанию протокол Open Shortest Path First (OSPF) поддерживает четыре маршрута одинаковой стоимости. В данном сценарии маршрутизатор B настроен с максимальным числом путей равным одному. Таким образом, маршрутизатор B будет выбирать только один путь среди всех доступных и равных, в зависимости от того, который получен первым. Маршрутизатор B запускается путем выбора Serial 2 как одиночного сервера к 192.168.20.0 сетям. Используйте команду show ip cef и show ip route для просмотра текущего набора пути.

    RouterB#show ip cef  192.168.20.0
    	
     192.168.20.0/24, version 59, cached adjacency to Serial2 
    0 packets, 0 bytes 
      via 20.20.20.1, Serial2, 0 dependencies 
        next hop 20.20.20.1, Serial2 
        valid cached adjacency
    	 
    RouterB#show ip route  192.168.20.0
     
    Routing entry for  192.168.20.0/24 
      Known via "ospf 1", distance 110, metric 74, type intra area 
      Redistributing via ospf 1 
      Last update from 20.20.20.1 on Serial2, 00:03:58 ago 
      Routing Descriptor Blocks: 
      * 20.20.20.1, from 204.204.204.1, 00:03:58 ago, via Serial2 
          Route metric is 74, traffic share count is 1
    
  • Команда maximum-paths под управлением OSPF разрешает использование нескольких путей к таблице маршрутизации. OSPF позволяет только распределение нагрузки в соответствии с равной стоимостью. Чтобы настроить неравномерное распределение нагрузки, настройте протокол EIGRP/IGRP как протокол IGP. Подробнее см. "Как работает балансировка нагрузки путей c неравной стоимостью (вариация) в IGRP и EIGRP?".

    RouterB(config)#router ospf 1
    	
    RouterB(config-router)#maximum-paths ? 
      <1-6>  Number of paths 
      
    RouterB(config-router)#maximum-paths 3 
    
    
  • Используйте команду show ip route, чтобы подтвердить, что таблица маршрутизации содержит два пути к 192.168.20.0.

    RouterB#show ip route  192.168.20.0
    	
    Routing entry for  192.168.20.0/24 
      Known via "ospf 1", distance 110, metric 74, type intra area 
      Redistributing via ospf 1 
      Last update from 10.10.10.1 on Serial1, 00:00:11 ago 
      Routing Descriptor Blocks: 
      * 20.20.20.1, from 204.204.204.1, 00:00:11 ago, via Serial2 
          Route metric is 74, traffic share count is 1 
             10.10.10.1, from 204.204.204.1, 00:00:11 ago, via Serial1 
          Route metric is 74, traffic share count is 1 
          
    !--- The route metric is 74 for both paths.
    
    
  • Хотя мы настроили OSPF на поддержку трех маршрутов одинаковой стоимости, в выводе команды show ip route видно только два активных маршрута. Определить причину можно с помощью команды show ip ospf interface. Serial 3 имеет более высокую стоимость, чем Serial 1 и Serial 2, таким образом, они не равны.

    RouterB#show ip ospf interface s1
    	
    Serial1 is up, line protocol is up 
      Internet Address 10.10.10.4/24, Area 0 
      Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 64 
      
    RouterB#show ip ospf interface s2
    
    Serial2 is up, line protocol is up 
      Internet Address 20.20.20.2/24, Area 0 
      Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 64 
      
    RouterB#show ip ospf interface s3
    
    Serial3 is up, line protocol is up 
      Internet Address 30.30.30.2/24, Area 0 
      Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 100
    
  • Используйте команду show run, чтобы убедиться, что Serial 3 настроен с помощью команды ip ospf cost 100. Используйте команду подчиненного интерфейса no ip ospf cost 100, чтобы удалить его из конфигурации и сделать стоимость трех последовательных каналов равной.

    RouterB#show run interface s3
     
    Building configuration...
     
    Current configuration: 
    ! 
    interface Serial3 
     ip address 30.30.30.2 255.255.255.0 
     no ip directed-broadcast 
     ip ospf cost 100 
     ip ospf interface-retry 0
    
  • Команда show ip route теперь отображает три равноценных маршрута к 192.168.20.0 сетям.

    RouterB#show ip route  192.168.20.0
     
    Routing entry for  192.168.20.0/24 
      Known via "ospf 1", distance 110, metric 74, type intra area 
      Redistributing via ospf 1 
      Last update from 10.10.10.1 on Serial1, 00:00:01 ago 
      Routing Descriptor Blocks: 
      * 20.20.20.1, from 204.204.204.1, 00:00:01 ago, via Serial2 
          Route metric is 74, traffic share count is 1 
        30.30.30.1, from 204.204.204.1, 00:00:01 ago, via Serial3 
          Route metric is 74, traffic share count is 1 
        10.10.10.1, from 204.204.204.1, 00:00:01 ago, via Serial1 
          Route metric is 74, traffic share count is

Теперь посмотрим, как балансировка загрузки Cisco Express Forwarding использует сведения из таблицы маршрутизации для пересылки пакетов.

Настройка распределения нагрузки в Cisco Express Forwarding

Распределение нагрузки при скоростной передаче Cisco выполняется с помощью таблицы распределения нагрузки. Также как и со всеми другими решениями балансировки загрузки на маршрутизаторах Cisco, решение о балансировке загрузки происходит на исходящих интерфейсов. В отличие от других методов коммутации пути каналов экспресс пересылки Cisco основаны и на источнике и на адресе назначения пути. Чтобы упростить эту схему, можно назвать путь IP-сеансом, каждый из которых логически определяется как уникальная пара адресов "источник-место назначения".

Для пояснения принципов работы распределения нагрузки нужно сначала понять, как связаны таблицы. Таблица Cisco Express Forwarding указывает на 16 хеш-ячеек (таблица распределения нагрузки), которые, в свою очередь, указывают на примыкающую таблицу для параллельных маршрутов. Подробнее см. "Внутренний механизм балансировки пересылаемой нагрузки Cisco Express Forwarding". Каждый пакет, который необходимо переслать, разбивается на пару адресов источник-место назначения и проверяется по таблице распределения нагрузки.

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

Распределение нагрузки на получателя позволяет маршрутизатору использовать несколько путей для распределения загрузки. Балансировка нагрузки на получателя включается по умолчанию, если включена функция Cisco Express Forwarding, причем это предпочтительный метод балансировки нагрузки для большинства ситуаций. Поскольку балансировка нагрузки на получателя зависит от статистического распределения трафика, эффективность распределения нагрузки увеличивается по мере увеличения количества пар "источник-получатель".

Распределение нагрузки по пакетам позволяет маршрутизатору распределять последовательные пакеты данных по разным путям, не учитывая адреса отдельных узлов и пользовательские сеансы. Использует круговой метод определения пути каждого пакета к пункту назначения. Попакетная балансировка нагрузки гарантирует распределение нагрузки по нескольким каналам. Удобно использовать пути с балансировкой нагрузки по пакетам, но пакеты для определенной пары хостов “исходный-конечный” могут использовать разные пути, что может привести к реорганизации пакетов. По этой причине пакетная балансировка нагрузки не подходит для некоторых типов трафика данных, таких как VoIP, где прибытие пакетов в пункт назначения должно происходить в определенной последовательности. Используйте пакетную балансировку, чтобы убедиться, что путь для отдельной пары источник-место назначения не перегружается.

Используйте команду ip load-sharing для перехода между пакетным методом и методом по месту назначения.

7200-1.3(config)#interface fast 0/0
   
7200-1.3(config-if)#ip load-sharing ? 
  per-destination  Deterministic distribution 
  per-packet       Random distribution 
  
7200-1.3(config-if)#ip load-sharing per-packet

Используйте команду show cef interface для подтверждения изменений.

7200-1.3#show cef interface fast 0/0 
FastEthernet0/0 is up (if_number 3) 
  Corresponding hwidb fast_if_number 3 
  Corresponding hwidb firstsw->if_number 3 
  Internet address is 172.16.81.13/24 
  ICMP redirects are always sent 
  Per packet load-sharing is enabled 
  IP unicast RPF check is disabled 
  Inbound access list is not set 
  Outbound access list is not set 
  IP policy routing is disabled 
  Hardware idb is FastEthernet0/0 
  Fast switching type 1, interface type 18 
  IP CEF switching enabled 
  IP Feature Fast switching turbo vector 
  IP Feature CEF switching turbo vector 
  Input fast flags 0x0, Output fast flags 0x0 
  ifindex 1(1) 
  Slot 0 Slot unit 0 VC -1 
  Transmit limit accumulator 0x0 (0x0) 
  IP MTU 1500

Внутренний механизм балансировки пересылаемой нагрузки Cisco Express

Проанализируем внутренний механизм балансировки нагрузки при экспресс-пересылке Cisco Express Forwarding.

  • Каждому сеансу (см. таблицу выше) назначается активный путь.

  • Назначение session-to-path выполняется при помощи хэш-функции, которая использует адреса источника и получателя, а в последних версиях Cisco IOS и уникальный хэш-идентификатор, который распределяет случайным образом назначение в сквозном маршруте.

  • Активные пути назначаются внутренне, для некоторых из 16 хэш-областей. Назначение пути к ячейке изменяется в зависимости от типа выравнивания нагрузки и числа активных путей.

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

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

Пример таких внутренних действий Cisco Express Forwarding.

  1. Используйте команду maximum-paths для снижения количества активных путей в префиксе пункта назначения до двух.

    RouterB(config)#router ospf 1
    RouterB(config-router)#maximum-paths 2
    
  2. Используйте команду show ip cef {prefix} internal для просмотра назначений путей областям памяти (ведрам).

    RouterB#show ip cef  192.168.20.0 internal 
     192.168.20.0/24, version 66, per-destination sharing 
    0 packets, 0 bytes 
      via 20.20.20.1, Serial2, 0 dependencies 
        traffic share 1 
        next hop 20.20.20.1, Serial2 
        valid adjacency 
      via 30.30.30.1, Serial3, 0 dependencies 
        traffic share 1 
        next hop 30.30.30.1, Serial3 
        valid adjacency 
      0 packets, 0 bytes switched through the prefix 
      Load distribution: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (refcount 1) 
      
    !--- The load distribution line summarizes how each path is 
    !--- assigned to the hash buckets.
    
      
    
      Hash  OK  Interface                 Address         Packets 
      1     Y   Serial2                   point2point           0 
      2     Y   Serial3                   point2point           0 
      3     Y   Serial2                   point2point           0 
      4     Y   Serial3                   point2point           0 
      5     Y   Serial2                   point2point           0 
      6     Y   Serial3                   point2point           0 
      7     Y   Serial2                   point2point           0 
      8     Y   Serial3                   point2point           0 
      9     Y   Serial2                   point2point           0 
      10    Y   Serial3                   point2point           0 
      11    Y   Serial2                   point2point           0 
      12    Y   Serial3                   point2point           0 
      13    Y   Serial2                   point2point           0 
      14    Y   Serial3                   point2point           0 
      15    Y   Serial2                   point2point           0 
      16    Y   Serial3                   point2point 

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

    Блок/Пути 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
    3 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 x

    В следующем примере существует три пути до точки назначения. Обратите внимание, как Cisco Express Forwarding удалит хэш-область памяти 16, и как три последовательных канала поровну распределены среди хэш-областей с 1 по 15.

    RouterB#show ip cef  192.168.20.0 interface 
     192.168.20.0/24, version 64, per-destination sharing 
    0 packets, 0 bytes 
      via 20.20.20.1, Serial2, 0 dependencies 
        traffic share 1 
        next hop 20.20.20.1, Serial2 
        valid adjacency 
      via 30.30.30.1, Serial3, 0 dependencies 
        traffic share 1 
        next hop 30.30.30.1, Serial3 
        valid adjacency 
      via 10.10.10.1, Serial1, 0 dependencies 
        traffic share 1 
        next hop 10.10.10.1, Serial1 
        valid adjacency 
    
      0 packets, 0 bytes switched through the prefix 
      Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1) 
      
    !--- The active paths are assigned to hash buckets in a 
    !--- round-robin pattern.
    
       
    
      Hash  OK  Interface                 Address         Packets 
      1     Y   Serial2                   point2point           0 
      2     Y   Serial3                   point2point           0 
      3     Y   Serial1                   point2point           0 
      4     Y   Serial2                   point2point           0 
      5     Y   Serial3                   point2point           0 
      6     Y   Serial1                   point2point           0 
      7     Y   Serial2                   point2point           0 
      8     Y   Serial3                   point2point           0 
      9     Y   Serial1                   point2point           0 
      10    Y   Serial2                   point2point           0 
      11    Y   Serial3                   point2point           0 
      12    Y   Serial1                   point2point           0 
      13    Y   Serial2                   point2point           0 
      14    Y   Serial3                   point2point           0 
      15    Y   Serial1                   point2point           0 
      
    !--- Hash bucket 16 has been removed.
     
    
    

    Примечание: Несмотря на то, что они выбирают одиночный сервер для назначения, скоростная маршрутизация Cisco для каждого назначения и механизмы быстрой коммутации отличаются по тому, как они выбирают тот путь. Cisco Express Forwarding принимает во внимание оба IP-адреса, и источника, и места назначения, а быстрая коммутация использует только IP-адреса места назначения.

Проверка выравнивания нагрузки Cisco Express Forwarding

Используйте следующие шаги для проверки балансировки нагрузки при экспресс-пересылке Cisco Express Forwarding на своем маршрутизаторе.

  1. Подтвердите, что функция пересылки Cisco Express Forwarding включена глобально на маршрутизаторе.

    S3-4K-2#show ip cef 
    %CEF not running 
    Prefix                      Next Hop                     Interface 
    
    !--- This output shows Cisco Express Forwarding is not enabled. 
    !--- Use ip cef command in global configuration to enable it.
    
    
    
  2. Убедитесь, что пакетная коммутация или коммутация по месту назначения включена на конкретных исходящих интерфейсах. По умолчанию установлена коммутация по месту назначения.

    RouterA#show cef interface s1
     
    Serial1 is up (if_number 3)
      Internet address is 10.10.10.1/24 
      ICMP redirects are always sent 
      Per packet loadbalancing is disabled 
      IP unicast RPF check is disabled 
      Inbound access list is not set 
      Outbound access list is not set 
      Interface is marked as point to point interface 
      Hardware idb is Serial1 
      Fast switching type 4, interface type 40 
      IP CEF switching enabled 
     
     !--- Cisco Express Forwarding is enabled on the interface. 
    
      IP CEF Fast switching turbo vector 
      Input fast flags 0x0, Output fast flags 0x0 
      ifindex 5(5)
      
    Slot 0 Slot unit 1 VC -1 
      
      Transmit limit accumulator 0x0 (0x0) 
      IP MTU 1500 
  3. Убедитесь, что таблица маршрутизации и таблица маршрутизации Cisco содержит все параллельные пути, используя команду show ip route.

    RouterB#show ip route 192.168.20.0 
    Routing entry for 192.168.20.0/32, 1 known subnets 
     
    O       192.168.20.1 [110/65] via 20.20.20.1, 00:06:54, Serial1 
                         [110/65] via 10.10.10.1, 00:06:54, Serial2 
                         [110/65] via 30.30.30.1, 00:06:54, Serial3 
    
  4. Проверьте FIB переадресации Cisco с помощью команды show ip cef.

    RouterB#show ip cef 192.168.20.0
    192.168.20.0/24, version 18, per-destination sharing
    0 packets, 0 bytes
      via 30.30.30.1, Serial3,   0 dependencies
        traffic share 1
        next hop 30.30.30.1, Serial3
        valid adjacency
      via 20.20.20.1, Serial2, 0 dependencies
        traffic share 1
        next hop 20.20.20.1, Serial2
        valid adjacency
      via 10.10.10.1, Serial1, 0 dependencies
        traffic share 1
        next hop 10.10.10.1, Serial1
        valid adjacency
      0 packets, 0 bytes switched through the prefix
      tmstats: external 0 packets, 0 bytes
               internal 0 packets, 0 bytes
    
    
    RouterB#show ip cef 192.168.20.0 internal
    192.168.20.0/24, version 18, per-destination sharing
    0 packets, 0 bytes
      via 30.30.30.1, Serial3, 0 dependencies
        traffic share 1
        next hop 30.30.30.1, Serial3
        valid adjacency
      via 20.20.20.1, Serial2, 0 dependencies
        traffic share 1
        next hop 20.20.20.1, Serial2
        valid adjacency
      via 10.10.10.1, Serial1, 0 dependencies
        traffic share 1
        next hop 10.10.10.1, Serial1
        valid adjacency
    
      0 packets, 0 bytes switched through the prefix
      tmstats: external 0 packets, 0 bytes
               internal 0 packets, 0 bytes
      Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1)
    
      Hash  OK  Interface                 Address         Packets
      1     Y   Serial3                   point2point           0
      2     Y   Serial2                   point2point           0
      3     Y   Serial1                   point2point           0
      4     Y   Serial3                   point2point           0
      5     Y   Serial2                   point2point           0
      6     Y   Serial1                   point2point           0
      7     Y   Serial3                   point2point           0
      8     Y   Serial2                   point2point           0
      9     Y   Serial1                   point2point           0
      10    Y   Serial3                   point2point           0
      11    Y   Serial2                   point2point           0
      12    Y   Serial1                   point2point           0
      13    Y   Serial3                   point2point           0
      14    Y   Serial2                   point2point           0
      15    Y   Serial1                   point2point           0
    

    Примечание: Таблица распределения нагрузки выше распределения нагрузки показов 0 1 2 0 1 2... , а доля трафика равна 1 для каждого маршрута. Это означает равное разделение нагрузки между тремя маршрутами одинаковой стоимости с коммутацией по месту назначения.

  5. Проверьте смежности Cisco Express Forwarding.

    RouterB#show adjacency detail
    Protocol Interface                 Address
    IP       Serial1                   point2point(11)
                                       0 packets, 0 bytes
                                       0F000800
                                       CEF   expires: 00:02:31
                                             refresh: 00:00:31
    IP       Serial2                   point2point(11)
                                       0 packets, 0 bytes
                                       0F000800
                                       CEF   expires: 00:02:31
                                             refresh: 00:00:31
    IP       Serial3                   point2point(11)
                                       0 packets, 0 bytes
                                       0F000800
                                       CEF   expires: 00:02:31
                                             refresh: 00:00:31
  6. Убедитесь, что нужный механизм балансировки нагрузки Cisco Express Forwarding настроен на всех исходящих интерфейсах.

    RouterB#show ip cef  192.168.20.0
    
     192.168.20.0/24, version 89, per-destination sharing 
    0 packets, 0 bytes 
      via 10.10.10.1, Serial1, 0 dependencies 
        traffic share 1 
        next hop 10.10.10.1, Serial1 
        valid adjacency 
      [output omitted]
  7. Включите учет хэш-областей памяти (ведер) для сбора статистики, которая позволяет лучше понять шаблоны поведения функции экспресс-пересылки Cisco Express Forwarding в сети. Например, можно собирать такие сведения, как число пакетов и байтов, пересланных к месту назначения, или число пакетов, пересланных через место назначения. Используйте следующую команду:

    router(config)# ip cef accounting load-balance-hash
    

    Проверьте поток пакетов, отследив значения в поле Packet.

    RouterB#show ip cef 192.168.20.0 internal
    [...]
    
      Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1)
    
      Hash  OK  Interface                 Address         Packets
      1     Y   Serial                    point2point           0
      2     Y   Serial2                   point2point           0
      3     Y   Serial1                   point2point           0
      4     Y   Serial3                   point2point           0
      5     Y   Serial2                   point2point          35
      6     Y   Serial1                   point2point           0
      7     Y   Serial3                   point2point           0
      8     Y   Serial2                   point2point          60
      9     Y   Serial1                   point2point           0
      10    Y   Serial3                   point2point           0
      11    Y   Serial2                   point2point           0
      12    Y   Serial1                   point2point           0
      13    Y   Serial3                   point2point           0
      14    Y   Serial2                   point2point          30
      15    Y   Serial1                   point2point           0

    125 пакетов прошло через Serial 2. При использовании команды ping для генерации трафика убедитесь в том, что пакеты эхо-теста пересылаются на маршрутизатор с включенной функцией коммутации Cisco Express Forwarding. Другими словами необходимо, чтобы пакеты эхо-теста поступали с одного интерфейса с функцией коммутации Cisco Express Forwarding, коммутировались с помощью данной функции и передавались с помощью другого интерфейса с функцией коммутации Cisco Express Forwarding.

    Примечание: Распределение нагрузки по назначению становится более эффективной при увеличении количества пар источник-назначение.

  8. При пересылке трафика префиксу, следует сделать снимки нескольких выходных данных с помощью команды show interface. Проанализируйте значения "txload" и "rxload". (Некоторые интерфейсы показывают общее значение "load", что подразумевает и прием, и передачу). Хотя пакетная балансировка нагрузки обеспечивает равное распределение по числу пакетов, параллельные каналы могут показывать несколько разную скорость в зависимости от размера пакетов.

    Serial1/0:0 is up, line protocol is up
    reliability 255/255, txload 10/255, rxload 3/255
     
    Serial1/1:0 is up, line protocol is up
    reliability 255/255, txload 18/255, rxload 3/255
    
    
  9. При балансировке нагрузки с помощью функции Cisco Express Forwarding по месту назначения можно определять, какому пути назначен сеанс, с помощью следующей команды. Добавьте ключевое слово internal, чтобы увидеть, какая хэш-область памяти используется.

    show ip cef exact-route {source-ip-address} {dest-ip-address} [internal]
     
    RouterB# show ip cef exact-route 50.50.50.2 192.168.20.1  internal
    50.50.50.2      -> 192.168.20.1   : Serial9/0 (next hop 20.20.20.1)
                                        Bucket 4 from 15, total 3 paths
    RouterB# show ip cef exact-route 5.5.5.1 192.168.20.1  internal   
    5.5.5.1         ->192.168.20.1   : Serial9/0 (next hop 20.20.20.1)
                                        Bucket 7 from 15, total 3 paths
    RouterB# show ip cef exact-route 6.6.6.1 192.168.20.1  internal
    6.6.6.1         -> 192.168.20.1   : Serial9/0 (next hop 20.20.20.1)
                                        Bucket 7 from 15, total 3 paths
    RouterB# show ip cef exact-route 8.8.8.1 192.168.20.1  internal
    8.8.8.1         -> 192.168.20.1   : Serial9/0 (next hop 20.20.20.1)
                                        Bucket 13 from 15, total 3 paths
    
  10. Если результат не четный, выполните следующее:

    • Число уникальных пар адресов или сеансов "источник-место назначения", проходящих по параллельным каналам.

    • Число и размер пакетов в каждом сеансе. Может ли в одном сеансе обрабатываться большое количество пакетов? Поскольку целевая балансировка нагрузки зависит от статистического распределения трафика, эффективность распределения нагрузки увеличивается по мере увеличения количества пар "источник-место назначения".

Деление нагрузки после смены канала

Когда изменения в таблице маршрутизации приводят к коррекции числа активных путей к месту назначения, Cisco Express Forwarding обновляет структуру балансировки нагрузки, которую можно увидеть в выходных данных команды show ip cef {prefix} internal. Cisco Express Forwarding затем соотносит новые прибывающие пакеты со смежностью и соответствующей областью хэширования. Выбранный участок памяти может совпадать (а может и не совпадать) с используемым ранее.

Следующие шаги описывают, как обновляется информация о распределении нагрузки Cisco Express Forwarding после изменения номера активного маршрута к префиксу получателя.

  1. Предположим, что префикс места назначения может быть достигнут двумя путями. Путь 1 неактивен, а путь 2 активен и по нему проходит весь трафик.

  2. Когда путь 1 снова станет доступным, он отправит запрос процессов повторной сходимости IP-маршрутизации.

  3. Средство скоростной передачи Cisco распределяет нагрузку по обоим путям, не сохраняя существующие потоки, проходящие по пути 2. В противном случае путь 1 остался бы неиспользованным. Другими словами, технология Cisco Express Forwarding не учитывает возможность пересылки пакетов в одном сеансе по допустимому пути. Может быть выбран новый путь для потока, в зависимости от указанной области хэширования.

Загрузка общей информации для удаления

После внесения изменений в таблицу маршрутизации технология Cisco Express Forwarding удаляет структуры распределения нагрузки, назначающие активные пути для ячеек хеширования, а потом создает их заново. Во время процесса восстановления некоторые пакеты могут быть утеряны, и команда show ip cef {prefix} internal покажет Load sharing information due for deletion (Данные о распределении нагрузки для удаления).

router#show ip cef 10.10.128.0 int 
 10.10.128.0/28, version 63, per-destination sharing 
 0 packets, 0 bytes 
   via 10.8.0.31, 0 dependencies, recursive 
     next hop 10.8.2.49, POS0/0/0 
     valid adjacency 
   Load sharing information due for deletion 

Изменения, производимые с помощью исправления Cisco CSCdm87127, минимизируют потери пакетов во время изменения числа активных путей для маршрута по умолчанию 0.0.0.0. Cisco Express Forwarding размещает запись FIB с пространством для максимального количества возможных активных путей для данного маршрута.

Типичные ошибки

Балансировка нагрузки Cisco Express Forwarding выполнена неравномерно для четырех маршрутов. Подробнее см. исправление с идентификатором CSCdm87756 (только для зарегистрированных пользователей).

В более ранних версиях Cisco IOS, чем 12.0(16)S, ввод команды show ip cef exact-route может вызвать перезагрузку процессора маршрутизации (RP) в Интернет-маршрутизаторе Cisco серии 12000 и маршрутизаторе серии 7500/RSP. Данная ситуация складывается в том случае, когда префикс направления рекурсивный, а маршрутизатор распределяет нагрузку на следующий переход. Подробнее см. исправление с идентификатором CSCdt80914 (только для зарегистрированных пользователей), где описано решение данной проблемы.

В платформе серии 6500 не поддерживается выравнивание нагрузки по пакетам CEF. Это происходит из-за аппаратного ограничения, и только возможно иметь нагрузку по получателям, балансирующуюся в настоящее время. Поэтому единственная опция должна использовать Распределенный Многоканальный протокол "точка-точка" (dMLPPP) или распределение нагрузки потока Уровня 4.

Поддержка оборудования для балансировки нагрузки Cisco Express Forwarding

Балансирование нагрузки по пакетам Cisco Express Forwarding изначально поддерживалось платформами, использующими программное перенаправление. Такие платформы включают маршрутизаторы Cisco серии 2600, 3600 и 7200. Попакетное распределение нагрузки теперь поддерживается в аппаратных средствах, использующих PXF (Parallel Express Forwarding), на сериях 7200 с NSE-1, а также 10000. В продуктах серии Catalyst 6000 команды Cisco IOS Cisco Express Forwarding ip load-sharing per-packet, ip cef accounting per-prefix и ip cef accounting non-recursive на MSFC2 применяются только к трафику, который обрабатывается функцией коммутации Cisco Express Forwarding в программном обеспечении на MSFC2. Команды не влияют на трафик, коммутируемый на третьем уровне на PFC2 или модулях коммутации, оснащенных DFC. Подробнее см. "Настройка одноадресной IP-коммутации третьего уровня на управляющем модуле Supervisor Engine 2".

Примечание: Маршрутизатор Cisco 7300 с картой процессора NSE-100 не поддерживает CEF попакетное распределение нагрузки в PXF. PXF поддерживает только целевую балансировку нагрузки. Однако, вероятно, это возможно благодаря командам конфигурации, которые доступны в CLI маршрутизатора. Эта проблема описана в исправлении с идентификатором Cisco CSCdx63389.

В продуктах серии 12000 пакетная балансировка нагрузки доступна во всех модулях пересылки уровня три, кроме модулей 3 и 4. Каждая линейная плата принимает независимые решения о пересылке. Чтобы просмотреть точный маршрут каждого IP-потока, следует использовать команду exec slot X show ip hardware-cef exact-route src dst для линейных карт, которые используют аппаратные таблицы Cisco Express Forwarding.


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


Document ID: 18285