소개
이 문서에서는 EtherChannel 멤버 인터페이스의 변경으로 인한 다운타임의 근본 원인 분석에 대해 설명합니다.
사전 요구 사항
EtherChannel은 STP(Spanning Tree Protocol)를 통해 실행되는 레이어 2 루프/스타/메시/이중화 토폴로지의 일부입니다.
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
의 기본 이해
- Cisco 스위칭 및 Catalyst 운영
- STP
- EtherChannel 로드 밸런싱
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 전시 기반 버전을 기반으로 하지만 이에 국한되지 않습니다.
- Cisco C9000 스위치
- VSL(Virtual Switch Link) 설정
- EtherChannel
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
이 문서에는 EtherChannel 멤버 인터페이스에서 링크의 추가/삭제/제거 또는 한 포트에서 다른 포트로 멤버 인터페이스 링크의 이동과 같은 변경의 근본 원인이 포함되어 있습니다. 또한 예기치 않은 다운타임을 방지하기 위한 완화 계획을 간략하게 설명합니다.
문제 설명
일반적으로 기존 EtherChannel에 멤버 인터페이스 링크를 추가하더라도 트래픽 포워딩에 다운타임이나 중단이 발생해서는 안 됩니다. 마찬가지로, 멤버 인터페이스 링크를 제거한 후 EtherChannel의 나머지 대역폭이 링크를 제거하기 전의 전체 사용률보다 크면 트래픽 중단이 발생하지 않아야 합니다. 그러나 앞에서 언급한 시나리오에서는 특별한 레이어 2 루프 토폴로지에서 몇 초의 다운타임을 유발합니다.
토폴로지
설명
랩톱 1의 IP 주소는 10.10.10.50/24이고 랩톱 2의 IP 주소는 10.10.10.51/24입니다. 둘 다 동일한 VLAN에 있습니다.
9600 코어 스위치는 po1을 통해 9500 Dist 1에 연결되고 po2를 통해 9500 Dist 2에 연결됩니다.
9300 Access Switch는 인터페이스 GI 1/0/14를 통해 9500 Dist 1에, GI 1/0/46을 통해 9500 Dist 2에 연결됩니다.
랩톱 1과 랩톱 2 간의 전체적인 패킷 경로는 다음과 같습니다.
Laptop 1 > (GI 1/0/1) Cat 9300 (GI 1/0/46) > (Te 1/0/12) Cat 9500 Dist 2 (Port-channel 1) > (Port-channel 2) Cat 9600 (Port-channel 4) > (Port-channel 1) Cat 9500 Dist 4 (Te 1/0/1) > Laptop 2
그러나 로드 밸런싱 알고리즘에 따라 랩톱 1과 랩톱 2 간에는 두 가지 패킷 경로 옵션이 있습니다.
옵션 1: Laptop 1 > (GI 1/0/1) Cat 9300 (GI 1/0/46) > (Te 1/0/12) Cat 9500 Dist 2 (Te1/0/4) > (Twe 1/1/0/24) Cat 9600 - Active (Twe 1/1/0/8) > (Twe 1/0/5) Cat 9500 Dist 4 (Te 1/0/1) > Laptop 2
옵션 2: Laptop 1 > (GI 1/0/1) Cat 9300 (GI 1/0/46) > (Te 1/0/12) Cat 9500 Dist 2 (Te1/0/5) > (Twe 2/1/0/10) Cat 9600 - Standby (Twe 2/1/0/34) > (Twe 1/0/8) Cat 9500 Dist 4 (Te 1/0/1) > Laptop 2
초기에, 루트 브리지(9600)에 도달하기 위해 2개의 인터페이스가 Cat 9300에 연결되기 때문에, 인터페이스 GI 1/0/14 중 하나는 대체 차단 상태에 놓이고 GI 1/0/46은 STP 경로 선택 기준에 따라 루트 포워딩 상태에 놓인다.
Cat 9300에서 루트에 도달하기 위해 인터페이스 GI 1/0/14 또는 GI 1/0/46에서 루트가 30000.
Cat 9300#show spanning-tree
VLAN0001
Spanning tree enabled protocol rstp
Root ID Priority 24577
Address 549f.c666.c580
Cost 30000
Port 46 (GigabitEthernet1/0/46)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 2416.9d7a.2480
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------
GI 1/0/14 Altn BLK 20000 128.14 P2p
GI 1/0/46 Root FWD 20000 128.46 P2p
Cat 9600#show spanning-tree
VLAN0001
Spanning tree enabled protocol rstp
Root ID Priority 24577
Address 549f.c666.c580
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 24577 (priority 24576 sys-id-ext 1)
Address 549f.c666.c580
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Po1 Desg FWD 10000 128.3433 P2p
Po2 Desg FWD 10000 128.3434 P2p
Po3 Desg FWD 10000 128.3435 P2p
Po4 Desg FWD 10000 128.3436 P2p
현재 STP 상태:
Cat 9600#show spanning-tree detail | include is exec|changes|from
VLAN0001 is executing the rstp compatible Spanning Tree protocol
Number of topology changes 8 last change occurred 00:10:28 ago
from Port-channel1
9600의 포트 채널 2에서 멤버 인터페이스 중 하나(Twe 2/1/0/10)를 종료하면 다음과 같은 결과가 발생합니다.
1. Cat 9600과 Cat 9500 Dist 2 간 포트 채널의 STP 경로 비용을 10000에서 20000으로 증가시킵니다.
Cat 9600#show spanning-tree
VLAN0001
Spanning tree enabled protocol rstp
Root ID Priority 24577
Address 549f.c666.c580
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 24577 (priority 24576 sys-id-ext 1)
Address 549f.c666.c580
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------
Po1 Desg FWD 10000 128.3433 P2p
Po2 Desg FWD 20000 128.343 P2p <<
Po3 Desg FWD 10000 128.3435 P2p
Po4 Desg FWD 10000 128.3436 P2p
2. Cat 9300의 루트에 대한 STP 경로 비용의 30000에서 인터페이스 GI 1/0/46의 40000으로 증가 따라서 9300은 인터페이스 GI 1/0/14를 STP 경로 비용이 적은 루트 포트로 선택합니다.
Cat 9300#show spanning-tree
VLAN0001
Spanning tree enabled protocol rstp
Root ID Priority 24577
Address 549f.c666.c580
Cost 30000
Port 14 (GigabitEthernet1/0/14)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 2416.9d7a.2480
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
GI 1/0/14 Root FWD 20000 128.14 P2p <<<<< GI 1/0/14 is coming to forward state
GI 1/0/46 Altn BLK 20000 128.46 P2p
3. 이렇게 변경하면 전체 스패닝 트리 도메인에서 TCN(Topology Change Notification)이 생성됩니다.
Cat 9600#show spann det | inc is exec|changes|from
VLAN0001 is executing the rstp compatible Spanning Tree protocol
Number of topology changes 9 last change occurred 00:03:21 ago
from Port-channel1 <<< TCN is received over port-channel 1
스패닝 트리 재컨버전스의 결과로 네트워크에서 중단이 발생할 수 있습니다.
중단의 시간 간격은 다른 요인과 프로토콜에 따라 다를 수 있습니다.
네트워크에서 EtherChannel 변경이 실시간으로 미치는 영향은 랩톱 1에서 랩톱 2로 지속적인 ping을 시작하여 확인할 수 있습니다.
마찬가지로 Cat 9500 Dist 1과 Cat 9600 코어 스위치 간에 포트 채널 1에 멤버 인터페이스를 추가하면 STP 비용이 감소하고 토폴로지 변경의 영향도 미칩니다.
근본 원인
EtherChannel의 멤버 인터페이스를 추가하거나 제거하면 STP 포트 비용이 변경됩니다. 이로 인해 STP 재통합 및 TCN 생성이 발생할 수 있습니다.
완화
옵션 1: 다음 단계를 사용하여 변경하는 동안 EtherChannel의 STP 비용을 하드 코딩합니다.
1단계. 변경(멤버 인터페이스 추가 또는 제거)이 계획된 EtherChannel의 기존 STP 비용을 확인합니다.
Cat 9600#show spanning-tree interface port-channel 1
Vlan Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
VLAN0001 Desg FWD 10000 128.3433 P2p
이 경우 VLAN 1에 대한 비용이 10000.
2단계. 동일한 STP 비용에 대한 하드 코드.
Switch#
Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface port-channel 1
Switch(config-if)#spanning-tree cost 10000
Switch(config-if)#end
Switch#
같은 방법으로, 비용 변경 컨피그레이션은 피어 디바이스 연결 인터페이스에서도 수행해야 합니다.
3단계. 변경을 수행합니다.
여기에는 다음 항목이 포함됩니다.
- 기존 EtherChannel에 멤버 인터페이스 추가
또는
- 기존 EtherChannel에서 멤버 인터페이스 제거
또는
또는
- 한 포트에서 다른 포트로의 멤버 인터페이스 이동
링크의 STP 비용이 하드코딩되므로 멤버 인터페이스의 추가 또는 삭제는 STP 토폴로지에 영향을 미치지 않습니다.
참고:
완화 계획은 STP 계산에 영향을 미치고 그 부작용이 있습니다. 그러나 이 기능은 활동 중에 멤버 인터페이스 수를 일시적으로 변경해야 하는 EtherChannel의 활동에서 유용합니다.
특정 네트워크 활동 중에 EtherChannel의 멤버 인터페이스를 종료하고 마지막에 멤버 인터페이스를 복원해야 하는 시나리오를 고려해 보십시오. 이 경우, EtherChannel의 STP 비용은 액티비티가 시작될 때 기본값으로 하드 코딩될 수 있다.
각 멤버 인터페이스를 종료하고 활동을 완료하고 인터페이스를 복원합니다. 나중에 STP 비용을 다시 기본값으로 설정합니다. 이 방법을 사용하면 STP 재통합을 방지할 수 있습니다.
스패닝 트리 비용은 각각의 변경이 끝날 때 주의하여 기본 설정으로 복원하는 것이 좋습니다.
옵션 2: 스패닝 트리 개선 기능(예: uplink fast, root guard 등)과 같은 몇 가지 설계에서 중단을 방지하는 대체 방법이 있을 수 있습니다.
관련 정보