본문 바로가기
공부/CCNP

05.09_Switch_STP종류

by kyoung-ho 2017. 5. 10.
반응형

## 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는 다음과 같다.

  1. Hello : 2초(Configuration BPDU 교환 주기)

  2. Max-age : 20초(Blocking 상태에서 대기 시간)

  3. 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

댓글