Коммутаторы : Коммутаторы Cisco Nexus серии 5000

Устранение проблем протокола STP на коммутаторе Cisco Nexus серии 5000

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

Введение

Этот документ описывает различные методы для устранения проблем общих проблем, отнесенных к Протоколу STP (STP).

Внесенный специалистами службы технической поддержки Cisco.

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

Требования

Компания Cisco рекомендует предварительно ознакомиться со следующими предметами:

  • CLI операционной системы Nexus
  • STP

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

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

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

Устранение неполадок

Этот раздел покрывает некоторые методы для устранения проблем общих проблем с STP.

Корень STP

Для решения проблемы STP важно знать, какой коммутатор в настоящее время является root. Команда для показа корня STP на Коммутаторе Cisco Nexus серии 5000:

Nexus-5000# show spanning-tree vlan 1

VLAN0001
Spanning tree enabled protocol rstp
Root ID Priority 32769
Address c84c.75fa.6000
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address c84c.75fa.6000
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Вот некоторые другие подходящие команды:

Nexus-5000# show spanning-tree vlan 1 detail
Nexus-5000# show spanning-tree vlan 1 summary

Как только вы определили, кто текущий root, можно проверить историю события, чтобы видеть, изменилось ли это и где Topology Change Notification происходят из.

Nexus-5000# show spanning-tree internal event-history tree 1 brief
2012:11:06 13h:44m:20s:528204us T_EV_UP
VLAN0001 [0000.0000.0000.0000 C 0 A 0 R none P none]
2012:11:06 13h:44m:21s:510394us T_UT_SBPDU
VLAN0001 [8001.547f.ee18.e441 C 0 A 0 R none P Po1]
2012:11:06 13h:44m:21s:515129us T_EV_M_FLUSH_L
VLAN0001 [1001.001b.54c2.5a42 C 6 A 5 R Po1 P none]
2012:11:06 13h:44m:23s:544632us T_EV_M_FLUSH_R
VLAN0001 [1001.001b.54c2.5a42 C 6 A 5 R Po1 P Po1]
2012:11:06 13h:44m:24s:510352us T_EV_M_FLUSH_R
VLAN0001 [1001.001b.54c2.5a42 C 6 A 5 R Po1 P Po1]

Совет: Вот некоторые определения для акронимов, которые появляются в выходных данных команд. SBPDU: Превосходящий Элемент данных протокола управления мостами получен; FLUSH_L: Локальный сброс; FLUSH_R: Сброс от удаленного коммутатора.

Примечание: Версии NX-OS до Версии 5.1 (3) N1 (1) не регистрируют больше чем 149 событий, и журнал не прокручивается.

Интерфейс STP

Эта команда используется для отображения событий для интерфейса.

Nexus-5000# show spanning-tree internal event-history tree 1 interface 
ethernet 1/3 brief

2012:11:05 13h:42m:20s:508027us P_EV_UP Eth1/3 [S DIS R Unkw A 0 Inc no]
2012:11:05 13h:42m:20s:508077us P_STATE Eth1/3 [S BLK R Desg A 0 Inc no]
2012:11:05 13h:42m:20s:508294us P_STATE Eth1/3 [S LRN R Desg A 0 Inc no]
2012:11:05 13h:42m:20s:508326us P_STATE Eth1/3 [S FWD R Desg A 0 Inc no]

Эта команда используется для исследования изменений STP на интерфейсе. Эти выходные данные предлагают много подробных данных:

Nexus-5000# show spanning-tree internal info tree 1 interface port-channel 11
------- STP Port Info (vdc 1, tree 1, port Po11) ---------
dot1d info: port_num=4106, ifi=0x1600000a (port-channel11)
ISSU FALSE non-disr, prop 0, ag 0, flush 0 peer_not_disputed_count 0
if_index              0x1600000a
namestring port-channel11
.................... cut to save space ............

stats                 
fwd_transition_count  1      bpdus_in     40861  bpdus_out   40861
config_bpdu_in        0      rstp_bpdu_in 40861  tcn_bpdu_in 0    
config_bpdu_out       0      rstp_bpdu_out 40861  tcn_bpdu_out 0    
bpdufilter_drop_in    0    
bpduguard_drop_in     0    
err_dropped_in        0    
sw_flood_in           0    
.................... cut to save space ............

Расследование BPDU с Ethanalyzer

В этом разделе описывается использовать Ethanalyzer для получения BPDU:

Ethanalyzer local interface inbound-hi display-filter "vlan.id == 1 && stp"

Example:
Nexus-5000# ethanalyzer local interface inbound-hi display-filter "vlan.id
== 1 && stp"

Capturing on eth4
2013-05-11 13:55:39.280951 00:05:73:f5:d6:27 -> 01:00:0c:cc:cc:cd STP RST.
Root = 33768/00:05:73:ce:a9:7c Cost = 1 Port = 0x900a
2013-05-11 13:55:40.372434 00:05:73:ce:a9:46 -> 01:00:0c:cc:cc:cd STP RST.
Root = 33768/00:05:73:ce:a9:7c Cost = 0 Port = 0x900a
2013-05-11 13:55:41.359803 00:05:73:f5:d6:27 -> 01:00:0c:cc:cc:cd STP RST.
Root = 33768/00:05:73:ce:a9:7c Cost = 1 Port = 0x900a
2013-05-11 13:55:42.372405 00:05:73:ce:a9:46 -> 01:00:0c:cc:cc:cd STP RST.
Root = 33768/00:05:73:ce:a9:7c Cost = 0 Port = 0x900a

Для наблюдения подробных пакетов используйте подробную команду:

Nexus-5000# ethanalyzer local interface inbound-hi detail display-filter
"vlan.id == 1 && stp
"
Capturing on eth4
Frame 7 (68 bytes on wire, 68 bytes captured)
   Arrival Time: May 11, 2013 13:57:02.382227000
   [Time delta from previous captured frame: 0.000084000 seconds]
   [Time delta from previous displayed frame: 1368280622.382227000 seconds]
   [Time since reference or first frame: 1368280622.382227000 seconds]
   Frame Number: 7
   Frame Length: 68 bytes
   Capture Length: 68 bytes
   [Frame is marked: False]
   [Protocols in frame: eth:vlan:llc:stp]
Ethernet II, Src: 00:05:73:ce:a9:46 (00:05:73:ce:a9:46), Dst: 01:00:0c:cc:cc:cd
(01:00:0c:cc:cc:cd)
   Destination: 01:00:0c:cc:cc:cd (01:00:0c:cc:cc:cd)
       Address: 01:00:0c:cc:cc:cd (01:00:0c:cc:cc:cd)
       .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
       .... ..0. .... .... .... .... = LG bit: Globally unique address
(factory default)
   Source: 00:05:73:ce:a9:46 (00:05:73:ce:a9:46)
       Address: 00:05:73:ce:a9:46 (00:05:73:ce:a9:46)
       .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
       .... ..0. .... .... .... .... = LG bit: Globally unique address
(factory default)
   Type: 802.1Q Virtual LAN (0x8100)
802.1Q Virtual LAN
   111. .... .... .... = Priority: 7
   ...0 .... .... .... = CFI: 0
   .... 0000 0000 0001 = ID: 1
   Length: 50
Logical-Link Control
   DSAP: SNAP (0xaa)
   IG Bit: Individual
   SSAP: SNAP (0xaa)
   CR Bit: Command
   Control field: U, func=UI (0x03)
       000. 00.. = Command: Unnumbered Information (0x00)
       .... ..11 = Frame type: Unnumbered frame (0x03)
   Organization Code: Cisco (0x00000c)
   PID: PVSTP+ (0x010b)
Spanning Tree Protocol
   Protocol Identifier: Spanning Tree Protocol (0x0000)
   Protocol Version Identifier: Rapid Spanning Tree (2)
   BPDU Type: Rapid/Multiple Spanning Tree (0x02)
   BPDU flags: 0x3c (Forwarding, Learning, Port Role: Designated)
       0... .... = Topology Change Acknowledgment: No
       .0.. .... = Agreement: No
       ..1. .... = Forwarding: Yes
       ...1 .... = Learning: Yes
       .... 11.. = Port Role: Designated (3)
       .... ..0. = Proposal: No
       .... ...0 = Topology Change: No
   Root Identifier: 33768 / 00:05:73:ce:a9:7c
   Root Path Cost: 0
   Bridge Identifier: 33768 / 00:05:73:ce:a9:7c
   Port identifier: 0x900a
   Message Age: 0
   Max Age: 20
   Hello Time: 2
   Forward Delay: 15
   Version 1 Length: 0

Для записи этой информации в файл PCAP используйте эту команду:

Nexus-5000# ethanalyzer local interface inbound-hi display-filter 
"vlan.id == 1 && stp" write bootflash:bpdu.pcap

Capturing on eth4
3 << Lists how many packets were captured.

На перехватах BPDU источник с MAC-адресом является MAC - адресом интерфейса приемного устройства.

На перехвате Ethanalyzer порт появляется в шестнадцатеричном формате. Для определения номера порта необходимо сначала преобразовать номер в шестнадцатеричный:

0x900a (от предыдущей трассировки) = 36874

Это - команда, которая декодирует тот номер к порту:

Nexus-5000# show spanning-tree internal info all |
grep -b 50 "port_id               36874" | grep "Port Info"

------- STP Port Info (vdc 1, tree 1, port Po11) ----------
------- STP Port Info (vdc 1, tree 300, port Po11) ---------
------- STP Port Info (vdc 1, tree 800, port Po11) ---------
------- STP Port Info (vdc 1, tree 801, port Po11) ---------
------- STP Port Info (vdc 1, tree 802, port Po11) ---------
------- STP Port Info (vdc 1, tree 803, port Po11) ---------
------- STP Port Info (vdc 1, tree 999, port Po11) ---------

В этом случае это - port-channel 11.

Конвергенция STP

Если необходимо исследовать конвергенцию STP, используйте show spanning-tree внутренняя команда взаимодействий. Эта команда предоставляет понимание, какие события инициировали изменения STP. Важно собрать эту информацию, как только проблема происходит, потому что журналы являются большими, и они переносятся в течение долгого времени.

Nexus-5000#show spanning-tree internal interactions
- Event:(null), length:123, at 81332 usecs after Sat May 11 12:01:47 2013
Success: pixm_send_set_mult_cbl_vlans_for_multiple_ports, num ports 1
VDC 1, state FWD, rr_token 0x21b9c3 msg_size 584
- Event:(null), length:140, at 81209 usecs after Sat May 11 12:01:47 2013
vb_vlan_shim_set_vlans_multi_port_state(2733): Req (type=12) to PIXM
vdc 1, inst 0, num ports 1, state FWD
[Po17 v 800-803,999-1000]
- Event:(null), length:123, at 779644 usecs after Sat May 11 12:01:46 2013
Success: pixm_send_set_mult_cbl_vlans_for_multiple_ports, num ports 1
VDC 1, state FWD, rr_token 0x21b99a msg_size 544<
- Event:(null), length:127, at 779511 usecs after Sat May 11 12:01:46 2013
vb_vlan_shim_set_vlans_multi_port_state(2733): Req (type=12) to PIXM
vdc 1, inst 0, num ports 1, state FWD
[Po17 v 300]
- Event:(null), length:123, at 159142 usecs after Sat May 11 12:01:32 2013
Success: pixm_send_set_mult_cbl_vlans_for_multiple_ports, num ports 1
VDC 1, state LRN, rr_token 0x21b832 msg_size 584
- Event:(null), length:140, at 159023 usecs after Sat May 11 12:01:32 2013
vb_vlan_shim_set_vlans_multi_port_state(2733): Req (type=12) to PIXM
vdc 1, inst 0, num ports 1, state LRN
[Po17 v 800-803,999-1000]
- Event:(null), length:123, at 858895 usecs after Sat May 11 12:01:31 2013
Success: pixm_send_set_mult_cbl_vlans_for_multiple_ports, num ports 1
VDC 1, state LRN, rr_token 0x21b80b msg_size 544
- Event:(null), length:127, at 858772 usecs after Sat May 11 12:01:31 2013
vb_vlan_shim_set_vlans_multi_port_state(2733): Req (type=12) to PIXM
vdc 1, inst 0, num ports 1, state LRN
[Po17 v 300]
.................... cut to save space ............

Внешнее сопоставление VLAN

Коммутаторы Cisco Nexus серии 5000 используют внутренние виртуальные сети для сопоставления с внешними номерами виртуальной локальной сети (VLAN) для передачи. Иногда ИДЕНТИФИКАТОР VLAN является ID внутренней виртуальной сети. Для получения сопоставления с внешней VLAN войдите:

Nexus-5000# show platform afm info global
Gatos Hardware version 0
Hardware instance mapping
-------------------------
Hardware instance: 0 asic id: 0 slot num: 0
-------------- cut to save space --------------------------
Hardware instance: 12 asic id: 1 slot num: 3
AFM Internal Status
-------------------
[unknown label ]: 324
[no free statistics counter ]: 2
[number of verify ]: 70
[number of commit ]: 70
[number of request ]: 785
[tcam stats full ]: 2

Vlan mapping table
------------------
Ext-vlan: 1 - Int-vlan: 65

Отладки STP

Другой способ решить проблемы STP состоит в том, чтобы использовать отладки. Однако использование отладок STP могло бы заставить использование ЦПУ пронзать, который вызывает проблемы в некоторых средах. Чтобы решительно уменьшить использование ЦПУ при выполнении отладок используйте фильтр отладки и регистрируйте действие к файлу журнала.

  1. Создайте файл журнала, который сохранен под журналом каталога.
    Nexus-5000#debug logfile spanning-tree.txt
    Nexus-5548P-L3# dir log:
    31 Nov 06 12:46:35 2012 dmesg
    ----- cut to save space----
    7626 Nov 08 22:41:58 2012 messages
    0 Nov 08 23:05:40 2012 spanning-tree.txt
    4194304 Nov 08 22:39:05 2012 startupdebug
  2. Выполните отладку.
    Nexus-5000# debug spanning-tree bpdu_rx interface e1/30 
    <<< setup your spanning-tree for bpdus

    Nexus-5000# copy log:spanning-tree.txt bootflash:

    Пример от файла журнала:
    2012 Nov 8 23:08:24.238953 stp: BPDU RX: vb 1 vlan 300, ifi 0x1a01d000
    (Ethernet1/30)
    2012 Nov 8 23:08:24.239095 stp: BPDU Rx: Received BPDU on vb 1 vlan 300
    port Ethernet1/30 pkt_len 60 bpdu_len 36 netstack flags 0x00ed enc_type ieee
    2012 Nov 8 23:08:35.968453 stp: RSTP(300): Ethernet1/30 superior msg
    2012 Nov 8 23:08:35.968466 stp: RSTP(300): Ethernet1/30 rcvd info remaining 6
    2012 Nov 8 23:08:36.928415 stp: BPDU RX: vb 1 vlan 300, ifi 0x1a01d000
    (Ethernet1/30)
    2012 Nov 8 23:08:36.928437 stp: BPDU Rx: Received BPDU on vb 1 vlan 300
    port Ethernet1/30 pkt_len 60 bpdu_len 36 netstack flags 0x00ed enc_type ieee
    2012 Nov 8 23:08:36.928476 stp: RSTP(300): msg on Ethernet1/30
    .................... cut to save space ............

Nexus 5000 не обработал BPDU

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

Примечание: Вещи иметь в виду при устранении проблем STP и технологии Virtual PortChannel (vPC). Только vPC Основные BPDU передач. Когда вторичный vPC является корнем STP, Основной все еще передает BPDU. Если root связан через vPC, только Основные счетчики BPDU Rx инкрементов, даже когда Вторичное устройство получает их.



Document ID: 116199