## STP 종류 ##
[1. CST(Common STP)]
=> 표준 방식의 STP로 모든 VLAN이 하나의 동일 STP
프로세스에 따라서 동작하는 방식을 의미.
[2.PVST(Per VLAN STP)]
=> Cisco 방식의 STP로 VLAN 마다 독립된 STP 프로세스를
갖고 동작하는 방식을 의미.
=> Cisco 전용 Trunking 방식인 ISL에서만 동작.
[3.PVST+]
=> 기존의 PVST가 확장된 형태로 ISL 뿐 아니라 dot1에서도
사용이 가능하다.
=> 추가적으로 STP 보안 기술인 Root Guard/ BPDU Guard 등의
기능도 추가되었다.
=> 오늘날 기본적인 Cisco Switch의 STP 동작 방식이다.
(다른 밴더 장비에서 지원되는 경우도 있다.)
[4. RSTP(Rapid STP)]
=> IEEE 802.1w로 소개되었고, 추후 2004년 IEEE 802.10-2004
에서 STP 표준으로 정의되었다.
=> 기존 STP의 단점인 Convergence Time을 획기적으로 단축
시키는 것이 가능하다. 기존 30초에서 최대 50초였지만 이건 1초도 안걸림!
=> EtherSwitch 모듈에서는 지원되지 않는다.
[5. MSTP(Multiple STP)]
=> 다수의 VLAN을 instance로 묶어서 관리할 수 있는 STP방식.
=> EtherSwitch 모듈에서는 지원되지 않는다.
==================================================================
## STP 경로 조정 ##
- Cisco Switch의 경우 기본적으로 PVST+로 동작한다.
즉, VLAN 마다 독립된 STP 프로세스가 동작한다.
- 하지만 관리자가 별도의 경로 조정 설정을 입력하지
않는다면 모든 VLAN은 동일한 Root Bridge와 Block
포트를 사용하기 때문에 같은 경로를 사용하게 된다.
(MAC 주소를 기반으로 역할이 결정되기 때문이다.)
=> 결과적으로 트래픽이 분산되지 않는다!
- 관리자는 상황에 따라서 각 VLAN 마다 다른 경로를
사용할 수 있도록 STP 경로를 조정하여 트래픽을
분산처리할 수 있다.
- STP 경로 조정은 다음과 같은 방법으로 수행이 가능하다.
[1. Bridge-ID 변경]
- Bridge-ID는 다음과 같이 구성되어 있다.
<Bridge Priority(32,768)> + <MAC Address>
- Cisco Switch의 변경 가능한 Bridge Priority 값의
범위는 0 - 61440이고, 4096의 배수로 변경이 가능.
<IOU1 => VLAN10/VLAN20 Root Bridge>
conf t
spanning-tree vlan 10,20 priority 4096
<IOU2 => VLAN 20 Secondary Root>
conf t
spanning-tree vlan 20 priority 8192
<IOU3 => VLAN 10 Secondary Root>
conf t
spanning-tree vlan 10 priority 8192
- verify -
<IOU4>
sh spanning-tree vlan 10
sh spanning-tree vlan 20
==================================================================
[2. Path Cost 변경]
- 특정 VLAN이 전송되길 원하는 포트의 Path Cost를
반대편 포트의 Path Cost보다 낮게 설정하면 해당
포트가 Root 포트로 선출되어 Forwarding 상태가 된다.
<IOU4>
conf t
int e 0/1
spanning-tree vlan 10 cost 50
!
int e 0/0
spanning-tree vlan 20 cost 50
!
==================================================================
[3. Port ID 변경]
<공통>
en
conf t
no ip domain lookup
line con 0
exec-timeout 0 0
logging syn
exit
vlan 10
vlan 20
exit
int range f0/1 - 2
switchport mode trunk
!
<SW1>
spanning-tree vlan 10,20 priority 4096
!
int fa 0/1
spanning-tree vlan 20 port-priority 16
**Root 포트는 루트브리지에서 보내는 BPDU를 수신하는 포트이다.
**Root 포트 선출 -> Path 경로값이 작은 값
-> 나와 연결된 상대방의 Bridge-ID가 낮은값
-> 나와 연결된 상대방의 Port-ID가 낮은 값
==================================================================
## STP Convergence Time(수렴 시간) 조정 ##
- STP Timer의 기본값은 다음과 같다.
1) Hello : 2초
=> Configuration BPDU 교환 주기.
2) Max-age : 20초
=> 간접 link 단절 시 Blocking 상태에서 대기하는 시간.
3) Forward-Delay : 15초
=> Listening / Learning 상태에서 대기하는 시간.
- Blocking 상태의 포트가 Forwarding 상태로 전환되는 경우 다음과
같은 STP Convergence Time이 필요하다.
1) 직접 Link 단절 시 => 30초
[Listening(15초)] -> [Learning(15초)] -> [Forwarding]
2) 간접 Link 단절 시 => 50초
[Blocking(20초)] -> [Listening(15초)] -> [Learning(15초)] -> [Forwarding]
- 비활성화 상태(down)였던 Designated 포트 혹은 Root 포트과 활성화(up)
상태가 되면 역시 [Listening(15초)] -> [Learning(15초)] -> [Forwarding],
즉, 30초의 Convergence Time이 지난 후 Forwarding 상태로 변환된다.
==================================================================================
<IOU1/2/3/4>
conf t
default int range e 0/0 - 1
no vlan 10
no vlan 20
no vlan 999
<IOU1 => VLAN 1 Root Bridge>
conf t
spanning-tree vlan 1 priority 4096
<IOU2 => VLAN 1 Secondary Root>
conf t
spanning-tree vlan 1 priority 8192
==================================================================================
- 관리자가 설정을 통해 STP Convergence Time을 조정하는 것도 가능하다.
- 근본적인 해결 방법은 RSTP(Rapid STP)를 사용하는 것이다!
만약 RSTP를 사용할 수 없는 경우에 다음과 같은 방법으로 STP 수렴시간을
조정하는 것이 가능하다.
----------------------------------------------------------------------------------
[1. Uplinkfast]
- 직접 Link 단절시 30초의 STP 수렴 시간이 필요하다.
(Listening(15초) -> Learning(15초) -> Forwarding)
- 이 경우 Blocking 포트가 존재하는 Access Switch에서 Uplinkfast를 설정하게
되면 30초의 Convergence Time을 생략하는 것이 가능하다.
<IOU4 => BLK 포트가 위치한 Switch>
conf t
spanning-tree uplinkfast
- verify -
=> IOU4에 [debug spanning-tree events] 명령어를 입력 후
IOU4의 e0/1을 shutdown 시키고 debug 메시지를 비교해보자.
** 주의점 **
-> Uplinkfast 설정시 해당 Switch의 Bridge Priority 값이 자동으로
증가하기 때문에 절대 Root Bridge에서는 Uplinkfast 명령어를
입력하면 안된다!!
(Bridge ID가 높아지면서 Root Bridge 권한을 다른 Switch에게
뺏길 수 있다.)
-> Uplinkfast는 BLK 포트가 위치한 Access Switch에서 사용하는
명령어이다.
----------------------------------------------------------------------------------
[2. Backbonefast]
- 간접 Link 단절시 50초의 STP 수렴 시간이 필요하다.
(Blocking(20초) -> Listening(15초) -> Learning(15초) -> Forwarding)
- 이 경우 모든 Switch에 'Backbonefast'를 설정하게 되면 Blocking
상태에서 대기 시간인 Max-age(20초)를 생략하는 것이 가능하다.
<IOU1/2/3/4>
conf t
spanning-tree backbonefast
- verify -
=> IOU3/IOU4에 [debug spanning-tree events] 명령어를 입력 후
IOU3의 e0/1을 shutdown 시키고 debug 메시지를 비교해보자.
----------------------------------------------------------------------------------
[3. Portfast]
- 비활성화 상태(down)였던 Designated 포트 혹은 Root 포트과 활성화(up)
상태가 되면 역시 [Listening(15초)] -> [Learning(15초)] -> [Forwarding],
즉, 30초의 Convergence Time이 지난 후 Forwarding 상태로 변환된다.
- PC와 같은 End Device가 연결되는 포트의 역할을 ‘Designated Port’ 가 된다.
결과적으로 End Device에 전원을 키고 즉시 포트가 Forwarding 상태가 되는
것이 아니라 Listening/Learning, 즉 30초의 Convergence time 후 Forwarding
상태가 된다.
- 하지만 End Device가 연결된 포트의 경우 Loop가 발생되지 않기 때문에
이 경우 Portfast를 설정하게 되면 즉시 Forwarding 상태로 변환이 가능하다.
Switch>enable
Switch#conf t
Switch(config)#int range fa 0/1 - 20
Switch(config-if-range)#desc ##End_User_PC##
Switch(config-if-range)#spanning-tree portfast
=> Portfast 명령어 입력 후 해당 포트에 Switch 등의 장비를 연결할
경우 일시적인 loop가 발생할 수도 있다는 경고 로그가 발생된다.
------------------------------------------------------------------------------------------------------------------------
[4. STP Timer 조정]
- 기본적인 STP Timer는 다음과 같다.
-
Hello : 2초(Configuration BPDU 교환 주기)
-
Max-age : 20초(Blocking 상태에서 대기 시간)
-
Forward-delay : 15초(Listening/Learning 상태에서 대기 시간)
- 위의 STP Timer는 Switch의 diameter가 7인 경우를 가정한 것이다.
- 관리자가 STP Timer를 조정하는 것이 가능하다.
------------------------------------------------------------------------------------------------------------------------
| diameter | 2 | 3 | 4 | 5 | 6 | 7 |
------------------------------------------------------------------------------------------------------------------------
| Hello | 2 | 2 | 2 | 2 | 2 | 2 |
------------------------------------------------------------------------------------------------------------------------
| Max-age | 10 | 12 | 14 | 16 | 18 | 20 |
------------------------------------------------------------------------------------------------------------------------
| FWD-DLY | 7 | 9 | 10 | 11 | 13 | 15 |
------------------------------------------------------------------------------------------------------------------------
- 관리자가 실제 연결된 Switch의 숫자에 따라 위의 표를 참조하여
STP Timer 를 변경하는 것도 가능하다.
- STP Timer는 Root Bridge의 Timer를 사용하기 때문에 Root Bridge
에서 STP Timer를 조정해야 한다.
<IOU1 => Root Bridge>
conf t
spanning-tree vlan 1 max-age 14
spanning-tree vlan 1 forward-time 10
- [spanning-tree vlan 1 root primary diameter 4] 명령어를
사용해도 된다!!
==================================================================
enable
conf t
no ip domain lookup
line con 0
exec-timeout 0 0
logging syn
privilege level 15
int range e 0/2 - 3, e 1/0 - 3, e 2/0 - 3, e 3/0 - 3
shut
!
int range e 0/0
duplex full
=> IOU경우 Full Duplex로 수동 설정해도 인식이 되지 않는다.
때문에 다음과 같이 강제로 ‘point-to-point’
link-type으로 변경한다.
int range e 0/0 - 1
spanning-tree link-type point-to-point
!
<IOU1>
spanning-tree vlan 1 priority 4096
-or-
spanning-tree vlan 1 root primary
<IOU3>
spanning-tree vlan 1 priority 8192
-or-
spanning-tree vlan 1 root secondary
<IOU1/2/3/4>
spanning-tree mode rapid-pvst
'공부 > CCNP' 카테고리의 다른 글
ICT보안실무_DHCP Relay Agent (0) | 2017.05.14 |
---|---|
05.11_ICT보안실무_DHCP서버 (0) | 2017.05.14 |
05.08_Switch_Spanning-tree (0) | 2017.05.10 |
05.02_Switch_VRRP/GLBP (0) | 2017.05.02 |
04.28_Switch_FHRP (0) | 2017.05.02 |
댓글