이 문서에서는 트렁크 간 VLAN 로드 밸런싱에 대한 이론과 CatOS 및 Integrated IOS를 실행하는 스위치의 컨피그레이션 예를 제공합니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
이 문서에 대한 특정 요건이 없습니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서에 사용된 명령은 CatOS 및 통합 IOS를 실행하는 Catalyst 4000, 5000 및 6000 제품군에서 사용할 수 있습니다. 이 문서의 이론적 섹션은 STP(spanning-tree protocol)와 관련되며 플랫폼에 독립적입니다.
두 개의 스위치가 두 개 이상의 트렁크를 통해 직접 연결되는 아래의 그림 1에 나와 있는 구성은 이중화를 위해 매우 일반적입니다. 두 링크 중 하나가 실패하면 곧 두 번째 링크를 사용하여 트래픽을 전송할 수 있습니다. 두 링크가 모두 작동하면 STA(spanning-tree algorithm)는 두 스위치 간의 브리징 루프를 방지하기 위해 이들 중 하나를 비활성화합니다.
위의 그림 1 컨피그레이션에서 Catalyst R와 Catalyst D를 연결하는 FastEthernet 트렁크 2개를 사용하여 STP는 구성된 모든 VLAN에 대해 동일한 차단 포트를 선택합니다. 이 경우 Catalyst R은 루트 브릿지이며 Catalyst D는 VLAN 1과 VLAN 2에 대해 포트 D2를 차단합니다. 이 설계의 주요 문제는 R2-D2 링크가 단순히 중단되고 두 스위치 간에 100Mb/s만 사용 가능하다는 것입니다. 두 링크를 모두 활용하려면 컨피그레이션을 변경하고 링크 R1-D1에서만 VLAN 1을 허용하고 링크 R2-D2에서만 VLAN 2를 허용할 수 있습니다.
그림 2에 표시된 결과 네트워크는 중복성을 상실했습니다. 이제 두 링크 모두 동시에 포워딩할 수 있으며 두 스위치 간에 200Mb/s를 사용할 수 있습니다. 그러나 하나의 링크에 장애가 발생하면 하나의 VLAN에 대한 연결이 완전히 끊깁니다. 이상적인 솔루션은 그림 3에 설명되어 있습니다.
그림 3에서는 두 스위치 사이에 트렁크를 유지하지만 포트 D1은 VLAN 1과 포워딩 VLAN 2를 차단합니다. 포트 D2가 VLAN 2를 차단하고 VLAN 1을 포워딩하고 있습니다. 이 설계는 그림 1과 그림 2의 최상의 기능을 유지합니다.
두 링크 모두 포워딩되므로 두 스위치 간에 200Mb/s의 총 연결이 제공됩니다.
한 링크에 장애가 발생하면 나머지 하나는 해당 VLAN의 차단을 해제하고 스위치 간 두 VLAN에 대한 연결을 유지합니다.
이 문서에서는 STP 작업에 대한 간단한 설명 후 이러한 컨피그레이션을 수행하는 방법에 대해 설명합니다.
STA 작동 방식에 대한 자세한 설명은 이 문서의 범위를 벗어납니다. 그러나 포트 차단 또는 전달 여부에 관계없이 알고리즘이 어떻게 결정하는지 간략하게 요약합니다. VLAN이 하나뿐인 가장 간단한 컨피그레이션에 중점을 둡니다. Catalyst R은 이 VLAN의 루트 브릿지이며 Catalyst D는 Catalyst R. Catalyst D에 대한 여러 이중화 연결을 통해 모든 포트를 Catalyst R로 차단하지만 루트 포트를 차단합니다. Catalyst D는 루트 포트를 어떻게 선택합니까? 링크를 통해 STA BPDU(Bridge Protocol Data Units)를 실행하는 브리지이며, 이러한 BPDU는 콘텐츠에 따라 엄격하게 분류될 수 있습니다. BPDU는 다음과 같은 기능이 있는 경우 다른 BPDU보다 우수합니다.
하위 루트 브리지 ID입니다.
루트에 대한 경로 비용이 낮습니다.
전송 브리지 ID가 더 낮습니다.
더 낮은 전송 포트 ID입니다.
이 네 가지 매개 변수를 순서대로 검사합니다. 즉, 비교 중인 두 BPDU에서 매개 변수 1이 동일하면 매개 변수 2만 고려합니다. Catalyst D에서 Root Port로 선택된 포트는 최상의 BPDU를 수신하는 포트입니다.
이 경우 그림 4에서는 Catalyst R에서 보낸 모든 BPDU의 루트 브리지 ID가 동일하며 루트에 대한 경로 비용이 동일하며 동일한 전송 브리지 ID가 있습니다. 가장 적합한 매개변수를 선택할 수 있는 유일한 매개변수는 전송 포트 ID입니다. Sending Port ID는 16비트 매개변수이며, 두 필드로 분할됩니다. 포트 우선 순위 및 포트 인덱스. 포트 우선 순위의 기본값은 32이며 포트 인덱스는 스위치의 각 포트에 대해 고유합니다.
포트 우선 순위 | 포트 인덱스 | |
---|---|---|
크기(비트) | 6 | 10 |
기본값 | 32 | 고정 고유 값 |
그림 4는 BPDU의 포트 ID 매개변수를 나타냅니다. 이 경우 Catalyst D는 포트 D1을 루트 포트로 선택합니다. 포트 인덱스 R2는 R1보다 낮기 때문입니다. D2를 포워딩하려면 루트 포트로 강제 지정해야 합니다. 이렇게 하는 유일한 방법은 R2 포트 우선 순위 값을 줄이거나 R1 포트 우선 순위 값을 늘리는 것입니다. 이것이 그림 5에서 한 일입니다.
두 트렁크 간의 로드 밸런싱을 달성하려면 Catalyst R의 포트 우선순위를 기준으로 VLAN을 조정합니다.
다음은 Catalyst R의 현재 STP 상태입니다. VLAN 1과 2의 루트이므로 모든 포트가 포워딩됩니다.
Catalyst_R> (enable) show spantree 3/1 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/1 1 forwarding 19 32 disabled 0 3/1 2 forwarding 19 32 disabled 0 Catalyst_R> (enable) show spantree 3/2 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/2 1 forwarding 19 32 disabled 0 3/2 2 forwarding 19 32 disabled 0 Catalyst_R> (enable)
Catalyst D에서 예상대로 포트 5/2는 VLAN 1과 2에 모두 차단됩니다.
Catalyst_D> (enable) show spantree 5/1 Port Vlan Port-State Cost Priority Fast-Start Group-Method --------- ---- ------------- ----- -------- ---------- ------------ 5/1 1 forwarding 19 32 disabled 5/1 2 forwarding 19 32 disabled Catalyst_D> (enable) show spantree 5/2 Port Vlan Port-State Cost Priority Fast-Start Group-Method --------- ---- ------------- ----- -------- ---------- ------------ 5/2 1 blocking 19 32 disabled 5/2 2 blocking 19 32 disabled Catalyst_D> (enable)
포트 3/2에서 VLAN 1의 포트 우선순위 값을 줄입니다. 이렇게 하면 Catalyst D의 해당 포트 5/2가 포트 5/1에서 전송된 BPDU보다 더 나은 BPDU를 받습니다(포트 우선순위 값은 32임).
Catalyst_R> (enable) set spantree portvlanpri 3/2 16 1 Port 3/2 vlans 1 using portpri 16. Port 3/2 vlans 2-1004 using portpri 32. Port 3/2 vlans 1005 using portpri 4. Catalyst_R> (enable)
VLAN 1에 대한 포트 우선순위 값이 변경되었는지 확인할 수 있습니다.
Catalyst_R> (enable) show spantree 3/1 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/1 1 forwarding 19 32 disabled 0 3/1 2 forwarding 19 32 disabled 0 Catalyst_R> (enable) show spantree 3/2 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/2 1 forwarding 19 16 disabled 0 3/2 2 forwarding 19 32 disabled 0 Catalyst_R> (enable)
Catalyst D에서 VLAN 1의 경우 포트 5/1이 차단되고 포트 5/2가 예상대로 포워딩되고 있음을 확인할 수 있습니다.
Catalyst_D> (enable) show spantree 5/1 Port Vlan Port-State Cost Priority Fast-Start Group-Method --------- ---- ------------- ----- -------- ---------- ------------ 5/1 1 blocking 19 32 disabled 5/1 2 forwarding 19 32 disabled Catalyst_D> (enable) show spantree 5/2 Port Vlan Port-State Cost Priority Fast-Start Group-Method --------- ---- ------------- ----- -------- ---------- ------------ 5/2 1 forwarding 19 32 disabled 5/2 2 blocking 19 32 disabled Catalyst_D> (enable)
트렁크당 포트 VLAN 우선순위에 대해 가능한 값은 두 개뿐이며, 그중 하나만 portvlanpri 명령을 사용하여 구성할 수 있습니다. 즉, 지정된 트렁크에는 두 개의 VLAN 그룹이 있습니다.
"전역" 포트 우선순위 값(기본값 32)이 있는 포트.
portvlanpri 명령과 함께 "custom" 값을 입력한 값입니다.
예를 들어 이를 명확하게 합니다. 이 예에서 세 번째 VLAN을 추가하는 것을 고려해 보십시오. 기본적으로 이 VLAN은 전역 포트 우선순위 값(기본값 32)이 있는 그룹에 속합니다.
Catalyst_R> (enable) set vlan 3 Vlan 3 configuration successful Catalyst_R> (enable) show spantree 3/2 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/2 1 forwarding 19 16 disabled 0 3/2 2 forwarding 19 32 disabled 0 3/2 3 forwarding 19 32 disabled 0 Catalyst_R> (enable)
set spantree portpri 명령을 사용하여 포트에 대한 전역 우선순위를 변경합니다.
Catalyst_R> (enable) set spantree portpri 3/2 48 Bridge port 3/2 port priority set to 48. Catalyst_R> (enable) show spantree 3/2 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/2 1 forwarding 19 16 disabled 0 3/2 2 forwarding 19 48 disabled 0 3/2 3 forwarding 19 48 disabled 0 Catalyst_R> (enable)
"global" 그룹에 속한 모든 VLAN의 우선 순위가 48로 변경되었습니다. 이제 VLAN 3을 다른 "사용자 지정" VLAN 그룹에 할당하여 portvlanpri 명령을 사용하여 값을 8로 지정합니다.
Catalyst_R> (enable) set spantree portvlanpri 3/2 8 3 Port 3/2 vlans 1,3 using portpri 8. Port 3/2 vlans 2,4-1004 using portpri 48. Port 3/2 vlans 1005 using portpri 4. Catalyst_R> (enable) show spantree 3/2 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/2 1 forwarding 19 8 disabled 0 3/2 2 forwarding 19 48 disabled 0 3/2 3 forwarding 19 8 disabled 0 Catalyst_R> (enable)
"사용자 지정" 그룹의 모든 VLAN의 우선순위가 VLAN 3이 아닌 8로 변경되었습니다. VLAN 3을 기본 그룹에 다시 넣으려면 clear spantree portvlanpri 명령을 사용합니다.
Catalyst_R> (enable) clear spantree portvlanpri 3/2 3 Port 3/2 vlans 1 using portpri 8. Port 3/2 vlans 2-1004 using portpri 48. Port 3/2 vlans 1005 using portpri 4. Catalyst_R> (enable) show spantree 3/2 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/2 1 forwarding 19 8 disabled 0 3/2 2 forwarding 19 48 disabled 0 3/2 3 forwarding 19 48 disabled 0 Catalyst_R> (enable)
이 명령에는 마지막 제약 조건이 하나 있습니다. "global" 그룹에 할당된 값은 "custom" 그룹에 구성된 값보다 우수해야 합니다.
Catalyst_R> (enable) set spantree portvlanpri 3/2 62 3 Portvlanpri must be less than portpri. Portpri for 3/2 is 48.
요약하려면
"글로벌" 그룹 | "사용자 지정" 그룹 |
---|---|
기본적으로 모든 VLAN은 이 그룹에 속합니다. | set spantree portvlanpri 명령으로 선택한 VLAN이 이 그룹에 속합니다. |
이러한 VLAN에 대한 우선순위는 set spantree port priority 명령을 사용하여 설정됩니다. | 이러한 모든 VLAN의 우선순위 값은 set spantree portvlanpri 명령에 의해 설정됩니다. |
"global" 그룹에 대해 구성된 우선순위 값은 "custom" 그룹에 대해 구성된 우선순위 값과 비교되어야 합니다. | clear spantree portvlan을 사용하면 이 그룹의 VLAN을 다른 그룹에 다시 넣을 수 있습니다. |
참고: 이 컨피그레이션 예는 IOS - Catalyst 2900/3500XL, Catalyst 2950, Catalyst 3550, Catalyst 4000 수퍼바이저 III/IV 및 Catalyst 6000을 실행하는 스위치에 적용됩니다.
다음은 Catalyst R의 현재 STP 상태입니다. VLAN 1과 2의 루트이므로 모든 포트가 포워딩됩니다.
Catalyst_R#show spanning-tree interface FastEthernet 3/1 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 128.129 P2p VLAN0002 Desg FWD 19 128.129 P2p Catalyst_R#show spanning-tree interface FastEthernet 3/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 128.130 P2p VLAN0002 Desg FWD 19 128.130 P2p
Catalyst D에서 예상대로 포트 5/2는 VLAN 1과 2에 모두 차단됩니다.
Catalyst_D#show spanning-tree interface FastEthernet 5/1 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Root FWD 19 128.129 P2p VLAN0002 Root FWD 19 128.129 P2p Catalyst_D#show spanning-tree interface FastEthernet 5/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Altn BLK 19 128.130 P2p VLAN0002 Altn BLK 19 128.130 P2p
포트 3/2에서 VLAN 1의 포트 우선순위 값을 줄입니다. 이렇게 하면 Catalyst D의 해당 포트 5/2가 포트 5/1에서 전송된 BPDU보다 더 나은 BPDU를 받습니다(포트 우선순위 값은 128임).
Catalyst_R#config terminal Catalyst_R(config)#interface FastEthernet 3/2 Catalyst_R(config-if)#spanning-tree vlan 1 port-priority 64 Catalyst_R(config-if)#end Catalyst_R#
VLAN 1에 대한 포트 우선순위 값이 변경되었는지 확인할 수 있습니다.
Catalyst_R#show spanning-tree interface FastEthernet 3/1 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 128.129 P2p VLAN0002 Desg FWD 19 128.129 P2p Catalyst_R#show spanning-tree interface FastEthernet 3/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 64.130 P2p VLAN0002 Desg FWD 19 128.130 P2p
Catalyst D에서 VLAN 1의 경우 포트 5/1이 차단되고 포트 5/2가 예상대로 포워딩되고 있음을 확인할 수 있습니다.
Catalyst_D#show spanning-tree interface FastEthernet 5/1 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Altn BLK 19 128.129 P2p VLAN0002 Root FWD 19 128.129 P2p Catalyst_D#show spanning-tree interface FastEthernet 5/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Root FWD 19 128.130 P2p VLAN0002 Altn BLK 19 128.130 P2p
VLAN 포트 우선순위를 정의하는 방법에는 두 가지가 있습니다.
인터페이스별로 수정할 수 있는 "전역" 포트 우선순위 값(기본값 128)은 port-priority 명령
"VLAN별" 포트 우선순위 값 - 인터페이스당 및 VLAN별로 수정할 수 있으며 VLAN port-priority 명령
예를 들어 이를 명확하게 합니다. 이 예에서 세 번째 VLAN을 추가하는 것을 고려해 보십시오. 기본적으로 이 VLAN은 전역 포트 우선순위 값(기본값 128)이 있는 그룹에 속합니다.
Catalyst_R#show spanning-tree interface FastEthernet 3/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 64.130 P2p VLAN0002 Desg FWD 19 128.130 P2p VLAN0003 Desg FWD 19 128.130 P2p
spanning-tree port-priority interface 컨피그레이션 명령을 사용하여 포트의 전역 우선 순위를 변경합니다.
Catalyst_R(config)#interface FastEthernet 3/2 Catalyst_R(config-if)#spanning-tree port-priority 160 Catalyst_R# Catalyst_R#show spanning-tree interface FastEthernet 3/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 64.130 P2p VLAN0002 Desg FWD 19 160.130 P2p VLAN0003 Desg FWD 19 160.130 P2p
"global" 그룹에 속한 모든 VLAN의 우선순위가 160으로 변경되었습니다. 이제 spanning-tree vlan port-priority interface 명령을 사용하여 VLAN 3의 자체 우선순위 48을 할당합니다.
Catalyst_R(config)#interface FastEthernet 3/2 Catalyst_R(config-if)#spanning-tree vlan 3 port-priority 48 Catalyst_R# Catalyst_R#show spanning-tree interface FastEthernet 3/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 64.130 P2p VLAN0002 Desg FWD 19 160.130 P2p VLAN0003 Desg FWD 19 48.130 P2p
VLAN 3만 우선순위를 48로 변경했습니다. VLAN 3을 기본 그룹에 다시 배치하려면 no spanning-tree vlan port-priority interface 명령을 사용합니다.
Catalyst_R(config)#interface FastEthernet 3/2 Catalyst_R(config-if)#no spanning-tree vlan 3 port-priority Catalyst_R# Catalyst_R#show spanning-tree interface FastEthernet 3/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 64.130 P2p VLAN0002 Desg FWD 19 160.130 P2p VLAN0003 Desg FWD 19 160.130 P2p
VLAN 로드 밸런싱 컨피그레이션이 방금 완료되어 두 Catalyst 간의 이중화 트렁크 사용이 최적화되었습니다.
기본 STP 값을 유지하면 두 Catalyst 간의 모든 이중화 링크가 차단 모드로 끝납니다. STP 우선 순위를 조정하면 여러 개의 링크를 여러 VLAN에 동시에 사용할 수 있습니다. 이렇게 하면 두 디바이스 간에 사용할 수 있는 전체 대역폭이 증가합니다. 링크가 실패할 경우 STP는 다시 변환될 때 나머지 트렁크에 VLAN을 다시 디스패치합니다.
이 설계에서 남은 유일한 단점은 VLAN을 기준으로 트래픽을 로드 밸런싱할 수만 있다는 것입니다. 이전 예에서 VLAN 1을 통해 흐르는 130Mb/s 트래픽과 VLAN 2의 10Mb/s 트래픽만 있는 경우 이론적으로 Catalyst R와 Catalyst D 사이에 200Mb/s가 있더라도 VLAN 1에서 패킷을 삭제합니다. EtherChannelling 기능은 패킷 기반으로 여러 링크 간의 로드 밸런싱을 제공하여 이를 해결합니다. 하드웨어가 이를 지원하는 경우 이 문서에 설명된 컨피그레이션 대신 FastEtherChannel(또는 GigabitEtherChannel)을 사용합니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
02-Dec-2013 |
최초 릴리스 |