본문 바로가기

네트워크/Switching

스위치 보호 기술 및 STP 성능 향상


  ◈ Port fast
    - STP에 의해서 포트에 연결된 장비가 Listening, Learning 을 거치지 않고, 바로 Forwarding 단계로 전환하는 기능.
    - Loop 구조가 생기지 않는 종단 장비가 연결된 포트에 설정하여, Port Forwarding 까지의 시간을 단축함.(50 Sec)
       switch(config-if)# spanning-tree portfast
       switch(config)# spanning-tree portfast default

  ◈ Host mode
    - 인터페이스에 대해서 Access mode, Portfast 설정 enable Channel group 설정 disable  
    - 종단 장비 연결 포트에 설정 권장. Port 연결 즉시, Frame 
       switch(config-if)# switchport mode host

  ◈ Uplink Fast
    -  직업 연결된(Direct) Link Down 시, Block 상태의 Port를 즉시 Forwarding 상태로 변경
    - 미 설정 시, Listening, Learning을 거쳐서 변경되므로, 30초 소요
       switch(config-if)# spanning-tree uplinkfast

  ◈ Backbone Fast
    -  간접 Link Down 시, Blocking Port를 바로 Listening으로 전환하여 20초의 Convergence Time을 줄임.
       (20초 : BPDU MAX Age / 2초 간 10회) 
    - 간접링크가 Down되어, Root Swtich까지의 경로가 차단된 스위치에서 inferior Bpdu를 전송.
    - inferior Bpdu를 전송받은 스위치에서는 자신의 Root Switch의 BID값보다 우선순위가 낮으므로, Root Switch에
      Root Link Query를 보내, Root Swtich까지의 경로를 체크
    - Root Swtich에서 Root Link Query Reply를 받으면, 해당 스위치는 Blocking Port를 바로 Listening으로 변경.



BPDU Guard.
    - 포트를 통해서 BPDU를 수신했을 때, 해당 포트를 자동으로 Shutdown하는 기능.
    - 일반적으로 BPDU를 수신할 일이 없는 종단포트에 설정한다. [ 장비간 포트에는 설정하지 않음 ]
    - 전체 포트에 설정하거나, 특정포트에만 설정. [ 전체모드 설정시  Portfast가 설정된 포트에만 설정]
       switch(config)# spanning-tree portfast bpduguard default
       switch(config-if)# spanning-tree bpduguard  enable

  ◈ BPDU Filtering
    - 포트를 통해서 BPDU를 송.수신하지 않도록함.
    - 전체모드 설정 시 : 송신만 금지. 포트로 BPDU를 수신 시에는 포트에 Filtering이 제거되고, BPDU에 따라 동작.
    - 특정포트 설정 시 : 송.수신 모두 금지. Spanning-Tree Protocol이 동작하지 않는 효과
    - BPDU가 필요없는 포트(종단포트)에 BPDU 송신을 줄여서 불필요한 동작을 제거.
        switch(config)# spanning-tree portfast bpdufilter default
        switch(config-if)# spanning-tree bpdufilter enable


  ◈ Loop Guard
    - BPDU를 받지못하더라도, 차단상태의 포트가 전송상태의 포트로 변환되는 것을 막음.
         → 차단상태에서 전송상태 대신에, Loop Guard에 의한 BLOCK로 변경. (LOOPGUARD_BLOCK)
         → 다시 BPDU 수신 시, UNBLOCK 상태로 자동 변경.
    - 단, 포트가 Down되거나 해당 포트로부터 우선순위가 낮은 BPDU를 전달받게 된 경우(실제적인 토폴로지 변화)
      정상적으로 BPDU를 수신해서 포트의 상태를 전환할 수 있다.
    - 설정은 전체 설정 및 포트별 설정 이 모두 가능하지만, 동작은 VLAN별 로 동작하게 된다.
    
         switch(config)# spanning-tree loopguard default
         switch(config-if)# spanning-tree guard loop

  ◈ UDLD (UniDirectional Link Detection)
    - 스위치 간의 단방향 링크 발생 시, 해당 포트를 Shutdown하여 Loop발생이나 패킷이 유실되는 것을 방지.
    - 포트별로 동작하며, 접속된 상태 장비에서도 UDLD 기능을 지원해야 가능. (UDLD 패킷을 송수신하여 동작)
    - Normal Mode : 광케이블의 결선오류로 인한 단방향 링크 감지
    - Aggressigve Mode : 광케이블과 UTP의 단방향 트래픽으로 인한 단방향 링크 감지
         switch(config)# udld  [aggressive | enable | message ]
         switch(config-if)# udld port  [aggressive | enable | message ]

  ◈  Root Guard
     - 현재 루트스위치 ID보다 우선순위가 높은 루트스위치 ID를 가진 BPDU 수신 시, 해당 포트를 Shutdown
     - 루트 스위치가 임의로 변경되어 네트워크에 영향을 주는 것을 방지할 수 있음.
     - Root Guard가 설정된 포트에서 BPDU가 더 높은 데이터가 들어오게 되면, 해당 포트는 Block됨.
       Block된 포트에서 다시 BPDU가 낮은 데이터가 들어오게 되면, 다시 Forwarding 상태로 전환됨.
          switch(config-if)# spanning-tree guard root
          switch# show spanning-tree inconsistentports    : Block된 포트 확인.