вівторок, 28 лютого 2017 р.

Legacy STP (802.1D)

802.1D или "legacy" spanning tree protocol изначально разрабатывался для предотвращения петель в сети и функционирует на Канальном (Data Link) уровне модели OSI. В основе работы протокола лежит рассылка BPDU (Bridge Protocol Data Units) сообщений которые содержать необходимую информацию для построения соответствующей "безпетельной" древовидной топологии с так называемым корнем (root'ом) в основе.

В процессе сравнивания между собой на одном коммутаторе BPDU пакеты бывают "superior"- лучший пакет, с лучшими значениями, и "inferior"- пакет с худшими значениями.

Различают два вида BPDU-сообщений:

  1. Configuration BPDU (они же Hello-сообщения) 
Из всех полей интересует:
Root Identifier - Bridge ID коммутатора выбранного в качестве корня (root'a).
Root Path Cost - стоимость пути до рута (определяется типом интерфейса, через который мы получаем superior BPDU.
Bridge Identifier - Bridge ID коммутатора от которого мы получили данный BPDU.
Port Identifier - необходимый в процессе выбора Root-порта параметр, соответствующий значению port-priority исходящего интерфейса коммутатора, от которого получили данный BPDU.
Message Age - параметр, аналогичный счетчику хопов. На Root-коммутаторе выставляется равный 0, при передаче через сеть увеличивается на 1 на каждом последующем коммутаторе.
Max Age, Hello Time, Forward Delay - соответствующие таймера (по умолчанию: 20 сек, 2 сек, 30 сек соответственно) задающиеся на Root-коммутаторе и наследуемые всеми остальными участниками.

2.    Topology Change Notification BPDU (TCN BPDU) - используются для информирования участников об изменениях в топологии (появился новый Root в сети; один из портов перешел в Forwad состояние; было получено от соседа другое TCN BPDU через Designated порт; один из портов перешел из состояния Learning или Forwarding в Blocking).

Продолжение следует...

вівторок, 27 жовтня 2015 р.

CEF (Cisco Express Forwarding)

Исторически сложилось так, что существует несколько L3 технологий обработки и коммутации пакетов.

Process switching - самая первая технология и самая ресурсоемкая. Каждый входящий пакет обрабатывается CPU. В этом случаи для каждого входящего пакета маршрутизатор по порядку сверяет записи в route table, пока не найдет подходящую. Разумеется, что на участках с высокой интенсивностью трафика и/или таблицами маршрутизации с обширным количеством префиксов это приводит к деградации других сервисов маршрутизатора и в целом его производительности.
Fast switching - следующий этап в развитии технологий L3 коммутации пактов. В отличии от process switching технологии, в данном случаи CPU обрабатывает только 1-ый пакет из потока, результаты сохраняются в кэш. Все последующие пакеты из этого же потока используют результат из данного кэша для дальнейшей коммутации.
CEF - технология высокоскоростной коммутации пакетов, являющаяся разработкой кампании Cisco. В основе быстродействия данной технологии лежат две заранее просчитанные таблицы содержащие всю необходимую информацию (L2 и L3) для быстрой пересылки пакетов: FIB (forwardig information base) и Adjacency table.

FIB - таблица содержащая необходимую для коммутации L3 информацию: префикс, адрес next-hop'a, куда следует переслать пакет и исходящий интерфейс, кудою этот пакет должен уйти на netxt-hop.
Prefix Next Hop Interface
3.3.3.0/24 40.0.0.3 FastEthernet0/0

В данном примере, пакеты адресуемые сети 3.3.3.0/24 должны далее маршрутизироваться на 40.0.0.3 через интерфейс FastEthernet 0/0.

Adjacency table - таблица содержащая необходимую для коммутации L2 информацию (необходимый для формирования фрейма MAC-заголовок и исходящий интерфейс) для каждой записи в FIB и формируется отдельно от FIB. Источником для заполнения выступает mac-address table.
R1#sh adjacency  detail 


Protocol   Interface                           Address

IP             FastEthernet0/1               40.0.0.3(10)

                                                          0 packets, 0 bytes

                                                          epoch 0

                                                          sourced in sev-epoch 1 

                                                          Encap length 14

                                                    AABBCC000210AABBCC0001100800
где
AABBCC000210 - MAC-address получателя (aabb.cc00.0210)
AABBCC000110 - MAC-address нашего исходящего интерфейса FastEthernet 0/1 (aabb.cc00.0110)
0800 - EtherType ( 0x800 = IPv4)

По умолчанию CEF активирован на большинстве современных маршрутизаторах. В случаи необходимости CEF можно отключить:
- глобально

(config)# no ip cef


- на интерфейсе

(config-if)# no ip route-cache cef



Балансировка
В случаи наличия в RIB двух и более равнозначных путей к сети назначения CEF может балансировать нагрузку между данными путями в соответствии с заданным алгоритмом. 

(config)# ip cef load-sharing algorithm "name"

где вместо name необходимо вставить один из следующих алгоритмов:

  • original - алгоритм в основе которого лежит поточная балансировка (per source-destination HASH);
  • universal - рекомендуемый Cisco и активный по умолчанию поточный алгоритм балансировки. В основе лежит более комплексная система вычисления hash'a в которой задействованы ip source + ip destination + ID.
  • tunneling - алгоритм в основе которого лежит "per-packet" балансировка по принципу round-robin (пакет через 1-ый канал, пакет через 2-ой канал, снова пакет через 1-ый, снова через 2-ой и т.д.). Рекомендуемый к использованию в случаях где есть только несколько источников и получателей.
  • include-ports - алгоритм поточной балансировки в котором учитывается src-ip , dst-ip и L4 информация (src-port, dst-port).



pre { background-color:#FCFBF8; border-color:#CCCCCC; border-style:solid; border-width:1px 1px 1px 1px; line-height:1.2em; margin:1em auto; overflow:auto; padding:1em; width:90%; word-wrap:normal; /* IE Fix */ }