STP(Spanning Tree Protocol) └ LAN SWITCHING

- Broadcast Storm 또는 Broadcast Island -> Looping 발생 구간을 칭함

- Flooding으로 인한 Looping 발생 시 문제
  1. 하나의 장비에 대해 2개 이상의 Port 존재 시
  2. MAC-Address 불안정

Spanning Tree Protocol
  물리적으로 2개 이상의 연결이 발생 시 논리적으로 하나를 제외한 모든 포트에 Blocking을 걸어 Looping을 막음

STP의 종류

  1. CST(Common Spanning Tree, 802.1D)
    Switch 한대당 하나의 Spanning Tree 동작, 표준 프로토콜로 802.1Q에서 동작
    장점 : CPU 소모가 낮다.
    단점 : VLAN별로 로드분산이 불가능

  2. PVST(Per Vlan Spanning Tree, 802.1D)
    VLAN 당 하나의 Spanning Tree 동작(최대 128개). Cisco 전용이므로 ISL에서만 동작, Native VLAN 사용불가

  3. PVST+(Per Vlan Spanning Tree Plus, 802.1D)
    PVST와 동작원리는 같지만 PVST와는 달리 ISL, 802.1Q에서 모두 동작, Cisco Switch의 Default 값
    단점 : 속도가 느림(Disable→Blocking(20초)→Listening(15초)→Learning(15초)→Forwarding)

  4. RSTP(Rapid Spanning Tree, 802.1W)
    PVST+의 속도 단점 보완, 표준 프로토콜, ISL, 802.1Q에서 모두 동작
    Port 상태(Discard → Learning(1초) → Forwarding)
    단점 : Spanning Tree 128개까지 밖에 지원하지 않는다.
    (Config)#Spanning-tree mode Rapid-pvst

  5. MSTP(Multiple Spanning Tree, 802.1S)
    표준 프로토콜이며, ISL, 802.1Q 모두 동작 Spanning Tree 갯수는 Config에 따라 달라짐
    물리적으로 하나의 Spanning Tree를 논리적으로 여러개의 Spanning Tree를 동작 시킴
    단점 : Block Port가 발생

 6. Etherchannel(스패닝 트리x)
    물리적으로 여러개의 Line을 논리적으로 하나로 만듬, 최대 8개 Line을 하나로 묶을 수 있음, 단 물리적으로 동일해야함
 

STP Blocking Port의 선출 순서

  1. Root Bridge 선출
     ⓐ Bridge-ID 낮은 순서(Bridge-ID = Priority + VLAN + MAC)
     ⓑ Priority + Vlan 번호 낮은 순서
     ⓒ MAC-Address 낮은 순서
   
  2. Root Bridge의 모든 포트는 DP가 됨, DP는 Blocking이 되면 안됨
   * DP(Designated Port) = BPDU를 송신하는 역할
   * BPDU : Switch와 Switch간의 Looping이 없는 경로를 만들기 위해 주고 받는 Frame, 2초 Hello time , 20초 Max-age
    └ 설정 BPDU : 일반 BPDU
    └ TCN BPDU : 오류 발생시 오류를 알려주는 BPDU 
     Root Bridge-ID, Path cost, Port-Priority, Protocol Type, Hello Time, Max-age, Forward-time, MAC-Addres, Priority 등 포함

  3. Non-Root Bridge에서 Root Bridge까지 가는 Port 중 Cost값이 작은 Port를 선출
            PVST+                  RSTP
    -------------------------------------------
      속도   Cost             속도       Cost
      10G      2                10G      2000
      1G        4                 1G      20000
      100M    19              100M   200000
      10M     100             10M   2000000

   4. Non-Root Bridge의 Port들이 Cost값이 같은 경우 Bridge-ID가 작은 Port를 선출
 
   5. Non-Root Bridge의 Port들이 Cost값과 Bridge-ID가 같은 경우 Port-Priority가 작은 Port를 선출
  
   6. 선출되지 못한 Non-Root Bridge의 Port는 Blocking 되며 Alternate Port 또는 Non-DP라고 부름. BPDU 수신은 하지만 Frame을 주고 받지는 못함
      선출된 Non-Root Bridge의 Port는 BPDU를 수신하는 역할을 하며 RP(Root Port)라고 부름

- Priority 값 바꾸기 명령
  Switch가 2대일 때  
  SW3(Config)#Spanning-tree vlan 1 Priority 4096의 배수
  Switch가 3대 이상일 때 또는 Vlan이 여러개일때, 만약 SW2, SW3에서 Vlan 10, 20에 대해 Block되는 Port가 없어야할 때
  SW3(Config)#Spanning-tree vlan 10 root primary
                        Spanning-tree vlan 20 root secondary
  SW2(Config)#Spanning-tree vlan 20 root primary
                        Spanning-tree vlan 10 root secondary 
  Block Port를 바꾸고 싶을 때
  ⓐ Cost 값 변경 (Config-if)#Spanning-tree vlan 1 cost 10
  ⓑ Priority 값 변경 (Config-if)#Spanning-tree port-priority 160
  
* Switch의 5가지 Port 상태 변화
  - Disable : interface shutdown, BPDU/Frame 전송 x
  - Blocking : BPDU 전송 O, Frame 전송 x, Max-Age : 20초
  - Listening : Block된 Port가 Forwarding이 되었을 때 Looping 발생 여부 확인
                      TCN(Topology Change Notification), TCA(Topology Change ACK), TC Aging-Time을 15초로 변경
  - Learning : MAC-Address 학습, 15초
  - Forwarding : 프레임 송수신 가능
 
* Switch의 Port Disable → Forwarding 까지 소요 시간 줄이기
   (Config)# Spanning-tree vlan 10 Hello-time 1  (BPDU 주기 줄이기)
   (Config)# Spanning-tree vlan 10 max-age 10  (MAX-AGE Time 줄이기)
   (Config)# Spanning-tree vlan 10 Forward-time 7 (Listening-Learning Time 줄이기)
   (Config)# Mac-address-table aging-time 300 (Aging Time 줄이기)

   - Portfast : Switch에 PC나 Server 연결 시 Listening과 Learning을 하지 않음
    1. (Config)# Spanning-tree portfast default - Access로 설정된 모든 Port에 자동적으로 Portfast가 걸린다
    2. (Config-if)# Spanning-tree portfast

   - Uplinkfast : 반드시 Non-Root Bridge에서 설정
                        Switch간 Block된 Port가 Forwarding 될 때 Listening/Learning을 하지 않음
     (Config)# Spanning-tree uplinkfast

   - Backbonefast : 어느 Switch에 설정해도 상관없다
                               Block된 Port를 가진 Switch의 장애가 아닌 다른 곳에서 장애 발생 시 MAX-AGE Time 생략
                              단 Listening, Learning은 한다.
     (Config)# Spanning-tree backbonefast

* Port-Security = 해당 Interface에 MAC Address 저장 후 해당 MAC Address만 통신 가능하게 해줌
   (Config)#Switchport port-security 
   (Config)#Switchport port-security maximum 숫자(맥주소숫자)
   (Config)#Switchport port-secuirty mac-address AAAA.AAAA.AAAA(수동)/Stickey(자동)
   (Config)#Switchport port-secuirty Violation Shutdown(셧다운)/Protect(해당MAC이 아니면 통신X)/Restrict(Protect에 Message 추가)

* Err Disable = Port-Security 등과 같이 Shutdown된 Interface를 자동 up 시켜주는 명령어
  (Config)#Errdisable detect cause 원인(Loopguard, BPDUGuard, Port-Security 등) -> Detect 켜고 끄기
  (Config)#Errdisable recovery cause 원인(Loopguard, BPDUGuard, Port-Security 등)  -> 자동복구 켜고 끄기
  (Config)#Errdisable recovery interval 150  -> 기본 복구시간 300초를 줄일 때

* BPDU Guard = BPDU Guard가 설정된 interface로 BPDU가 들어오면 해당 interface를 shutdown시킨다
                            단, Spanning-tree Portfast가 먼저 설정되어있어야 함.
   (Config)#spanning-tree portfast bpdugurard default - Portfast가 설정된 모든 Interface에 적용
   (Config-if)#spanning-tree bpduguard enable

* BPDU Filter = BPDU Filter가 설정된 interface로 BPDU를 주고 받지 않음
                           단, Spanning-tree Portfast가 먼저 설정되어있어야 함.
   (Config)#spanning-tree portfast bpdufilter default
   (Config-if)#Spanning-tree bpdufilter enable

* Root Guard = Root Guard가 설정된 Interface로 Root Bridge의 Bridge ID보다 작은 Bridge ID가 들어오면 해당 Interface를 Shutdown
   (Config-if)#Spanning-tree guard root

* Loop Guard = Block된 Port에 BPDU가 들어오지 않아도 해당 Interface를 Forwarding 하지 않음
                         소프트웨어적인 문제시 Port 상태변경 X
                         물리적인 문제시 Port상태 변경, VLAN 기반
   (Config-if)#Spanning-tree loop guard  (Block된 Port에 설정)

* UDLD = 물리적인 Line에서 RX나 TX가 문제가 생기면 단방향통신을 하게 되는데 이 때 Looping이 발생할 수 있음
                 이러한 단방향 통신시 해당 Interface를 Shutdown 시킨다. 포트기반
       - 정상모드 : Fiberoptic Cable에서 쓸 때 
       - 적극모드 : Ethernet Cable에서 쓸 떄
   (Config)#udld enable (정상모드)
   (Config)#udld aggressive (적극모드)
   (Config-int)#udld port (정상모드)
   (Config-int)#udld port aggressive (적극모드)


    




  
  

덧글

댓글 입력 영역


통계 위젯 (화이트)

02
6
139766