STP(Spanning Tree Protocol)
- 네트워크는 보통 버스형이다.
- STP는 일부러 브릿지를 연결해 링형으로 만들고, 한 쪽 연결을 끊어 버스형을 유지하는 프로토콜이다.
- 네트워크의 안정성이 올라감
- 기존 경로에 이상이 생겼을 경우 끊어놓았던 경로를 열어 대처할 수 있다.
- STP 기능을 사용하려면 스위치에 Mac Address가 있어야 함
BID(Bridge ID)
- 스위치 식별 정보
- 8byte
- Bridge Priority(2byte) + Mac Address(6byte)
- Bridge Priority는 수정 가능
- 작을 수록 우선순위가 높다.
BPDU(Bridge Protocol Data Unit)
- 일정 시간마다 브릿지(스위치)간 서로 주고받는 데이터
- 스위치에 문제가 발생하면 BPDU에 에러가 발생하여 새로운 경로를 설정한다.
Path cost
- 데이터 전송비용
- 속도가 빠를 수록 적은 값을 갖는다.
- 대역폭이 다양해짐으로 인해 값이 복잡해져 아래 표와 같이 단순화되었다.
![](https://velog.velcdn.com/images/jsgcom/post/e671c923-dea3-4cff-8c45-51abc4dde28c/image.png)
STP 구현 과정
- 네트워크에 Root bridge를 선정한다.
- 보통 BID가 가장 낮은 bridge가 선정된다.
- Root가 아닌 나머지 bridge(non root bridge)는 하나의 root port를 갖는다.
- 각 연결마다 하나씩의 Designated port를 선정한다.
- 중간에 PC를 놨을 때, root까지 가는 cost가 낮은 쪽 port
- root port, designated port가 아닌 포트는 block한다.
예시
![](https://velog.velcdn.com/images/jsgcom/post/bd9e3e5a-6c0b-4c47-993e-cc85b73982ab/image.png)
![](https://velog.velcdn.com/images/jsgcom/post/22c72cfd-1481-4965-8f5d-2c2f0b967376/image.png)
- A를 Root bridge로 지정
- B와 C에서 A를 향한 포트를 root port로 선정
- 각 연결마다 1개의 DP를 선정
- A는 root이므로 A의 포트는 모두 DP가 된다.
- B의 포트가 root까지 가는 데 비용이 덜 든다고 가정.
- C에 남는 하나의 포트를 block한다.