<br>
## My Thoughts
- 08.08.2007, Created a PPT for NHN
<br>
## Summary
※ Legend
CS (Core Switch)
DS (Distribution Switch)
AS (Access Switch)
LS (L4 Switch)
Fiber (Fiber-Optic)
TP (Twisted-Pair)
### Table of Contents
### Loop 방지 및 STP 보호 기능 - 1
#### BPDU Guard
- 포트를 통해서 BPDU를 수신했을 때 해당 포트를 자동으로 shutdown 시키는 기능 (관리자 shutdown/no shutdown 필요)
- BPDU Guard의 주요 용도
1. 스위치의 access port에 다른 스위치가 접속한 후 STP 프로토콜을 이용하여 네트웍에 영향을 주는 것을 미리 차단
2. Port Fast가 설정된 인터페이스를 통하여 일시적으로 Layer 2 Loop가 발생하는 것을 방지
- 적용: AS의 모든 포트에 설정 (Uplink 포트 제외)
```
Interface GigabitEthernet 1/1
spanning-tree portfast
spanning-tree bpduguard enable
show spanning-tree int g1/1 detail
Bpdu guard is enabled
```
Global configuration (전체 적용 시)
Sw1(config)# spanning-tree portfast bpduguard default
Sw1(config)# int g1/1
Sw1(config-if)# spanning-tree portfast
Global config에서 BPDU Guard가 설정이 되어 있어도, Port Fast가 설정되지 않은 인터페이스는 BPDU를 수신해도 BPDU Guard가 동작하지 않는다.
인터페이스 설정모드에서 spanning-tree bpduguard enable 명령어를 사용하면 Port Fast 설정 여부와 상관없이 해당 인터페이스로 BPDU를 수신하면 포트를 shutdown 시킨다.
### Loop 방지 및 STP 보호 기능 - 2
#### BPDU Filtering
- 특정 포트로 BPDU를 보내거나 받지 않게 하는 기능
- BPDU를 송신하지 않음으로써 스위치 및 포트에 접속된 종단 장치에 불필요한 부하가 걸리는 것을 방지
- BPDU Filtering은 Global config와 Interface config에서 지정할 수 있으나 동작하는 방식은 다름
- Global config 모드에서 spanning-tree portfast bpdufilter default를 설정하면 Port Fast가 설정된 포트에만 BPDU Filtering을 적용하여 BPDU를 송수신하지 않는다.
- Interface에 설정하는 경우 해당 포트들에는 STP가 동작하지 않는 것과 같아서 L2 loop가 발생할 수 있으므로 주의
- 적용: DS의 LS 스위치 연결 포트
- AS에 global config 적용 검토 (Port Fast 포트에만 적용)
```
Interface g3/1
spanning-tree bpdufilter enable
show spanning-tree int g3/1 detail
Bpdu filter is enabled
```
### Loop 방지 및 STP 보호 기능 - 3
#### Loop Guard
- Blocking (차단) 상태에 있는 포트가 상대 포트에서 BPDU를 받지 못했을 때 Forwarding (전송) 상태로 변경되는 것을 방지
- Loop Guard가 동작하는 것은 VLAN 별로 하지만 설정은 blocking 포트에 한다.
- [Loop Guard versus UDLD](https://www.cisco.com/c/en/us/support/docs/lan-switching/spanning-tree-protocol/10596-84.html#loop_guard_vs_uld)
1. Loop Guard는 전체 port channel이 disable되어 backup port channel로 fail-over 된다.
2. UDLD는 케이블링이 잘못된 것을 감지하고 동작하지만 Loop Guard는 상대 스위치가 혼잡 등의 소프트웨어적인 상황 때문에 BPDU를 전송하지 못하는 경우 동작한다.
3. UDLD는 포트 단위로 동작하고, Loop Guard는 포트내에서 VLAN별로 동작한다.
- 적용: AS의 Uplink Port channel에 설정
```
Interface port-channel 1
spanning-tree guard loop
show spanning-tree int po 1 detail
Loop guard is enabled on the port
```
### Loop 방지 및 STP 보호 기능 - 4
#### UDLD (UniDirectional Link Detection)
- 스위치간 단 방향 (Unidirectional) 링크 발생시 해당 포트를 shutdown 시키는 L2 프로토콜
- UDLD (Port based) Normal (default) or Aggressive
- 아래와 같은 unidirectional link를 감지한다.
1. Fiber 혹은 TP 링크에서 하나의 인터페이스가 트래픽을 송수신 하지 못할 경우
2. Fiber 혹은 TP 링크에서 다른 포트가 up 상태에서 한쪽 포트가 down 인 경우
3. Fiber에서 pair 한 가닥이 단절된 경우
- Aggressive mode는 양단간 aggressive mode를 지원하는 P2P 링크 간에만 사용
- UDLD는 불필요한 제어 트래픽의 전송을 피하기 위해 Copper LAN 포트는 disabled 시킴
- AS에 UDLD 적용 시에 unidirectional 상황 발생 시, 하나의 포트만 disable 되어 backup쪽 Port Channel로 fail-over 되지 않음.
- 적용: Distribution Switch (DS-DS간)
```
interface TenGigabitEthernet1/1, 2/1
udld port aggressive
show udlp t1/1
```
Global configuration (전체 적용 시)
```
udld enable / udld aggressive
```
▶ UDLD
- 광케이블이나 UTP 케이블이 끊겼을 때에는 물리 계층에서 autonegotiation을 통하여 인식한다. 그러나 물리계층의 자동 네고 기능은 상대 포트에 잘못 접속되어 있는 것을 인식하지 못한다.
- UDLD Normal Mode는 광포트의 광케이블 가닥이 잘못 연결된 경우에 단방향 링크를 감지하지만, autonegotiation이 active 되어 있지 않는 한 광케이블 한 가닥이 끊어진 경우 링크가 up 되지 않는다.
- UDLD는 주기적으로 송신 포트를 통하여 UDLD 패킷을 전송하고, 이 패킷을 수신한 상태 포트는 이것을 다시 자신의 송신 포트를 이용하여 상대에게 반향 (echo) 시켜줌으로써 양방향 링크가 동작중인 것을 확인한다.
- UDLD는 케이블링이 잘못된 것을 감지하고 동작하지만 Loop Guard는 상대 스위치가 혼잡 등의 소프트웨어적인 상황 때문에 BPDU를 송신하지 못할 때 동작한다.
- UDLD는 Port 단위로 동작하고, Loop Guard는 VLAN별로 동작한다. 따라서, UDLD와 Loop Guard를 동시에 사용하는 것이 좋다.
<br>
## References
<br>
## Links
[[_MOC_2_Network]]
<br>
## Tags
<br>