목차
- STP에서 순서를 하는 4가지 순서
- BPDU (Bridge Protocol Data Unit)
- 스패닝 트리 프로토콜의 5가지 상태 변화
전 시간에 이어 스패닝 트리 알고리즘을 이어서 학습한다.
STP에서는 누가 루트 브리지가 될지, 누가 루트 포트나 데지그네이티드 포트가 될지를 정할 순서가 필요하다.
스위치에서 대장 브리지(Root Bridge)를 뽑을때 서로 Root BID를 비교한다.
만약 내가 Root Bridge로 만들고 싶은 스위치가 있다면 그 Root BID를 다른 스위치보다 작게 설정하면 된다.
Root Bridge가 정해지면 나머지들은 Non Root Bridge가 되고 이들은 각각 루트 포트(Root Port)를 가져야 한다.
루트 포트는 Path Cost값으로 비교해 결정한다.
지정 포트(Designated Port)도 세그먼트 상에서 Root Path Cost를 서로 비교해 더 작은 값을 가진 포트로 정해진다.
만약 스위치끼리의 값이 같아 비교할 수 없다면 3단계로 간다.
Sender BID: BPUD에 스패닝 트리 정보를 실어 보낼 때 발신자의 주소를 넣는 것
즉 자기 자신의 BID를 비교해 지정 포트를 정한다.
여기서도 지정 포트를 정하지 못했다면 4단계로 간다.
스패닝 트리 정보를 자기들끼리 주고받기 위해서 사용하는 특수한 프레임.
Root BID, Root Path Cost, Sender BID, Port ID 정보 등이 실린다.
브리지나 스위치가 부팅하면 이들은 각각의 포트로 BPUD를 매 2초마다 내보내 서로의 스패닝 트리 정보를 주고받는다.
이렇게 주고받으며 누가 루트 브리지고 어떤 포트가 루트 포트가 될지를 결정한다.
포트가 고장나서 사용할 수 없거나 네트워크 관리자가 포트를 일부러 Shut Down 시켜놓은 상태
스위치를 맨 처음 키거나 Disabled되어 있는 포트를 관리자가 다시 살렸을 때 블로킹 상태에 진입한다.
블로킹 상태에 있던 스위치 포트가 루트 포트나 데지그네이티드 포트로 선정됬을때 리스닝 상태로 넘어간다.
리스닝 상태에 있던 스위치 포트가 포워딩 딜레이 디폴트 시간인 15초동안 그 상태를 유지하면 러닝 상태로 넘어간다.
스위치 포트가 러닝 상태에서 다른 상태로 넘어가지 않고 다시 포워딩 딜레이 시간인 15초 동안 그 상태를 유지하면 포워딩 상태로 넘어간다.
루트 브리지는 매 2초마다 헬로(Hello) BPDU를 Non Root Bridge로 전송하고, 이 헬로 BPDU를 받은 Non Root Bridge들은 이것을 자신의 데지그네이티드 포트를 통해 다시 전달한다.
여기서 Non Root Bridge들은 매 2초마다 오는 루트 브리지의 헬로패킷을 보면서 루트 브리지까지의 길에 문제가 없다는 것을 알게 된다.
만약 지정된 시간동안(맥스 에이지) 받지 못했다면 중간 경로에 뭔가 문제가 발생했다고 생각하고, 스패닝 트리를 재편성하는 모드로 들어가게 된다.
이 과정에서 꽤 긴 시간이 걸린다.
루트 브리지가 얼마 만에 한 번씩 헬로 BPDU를 보내는지에 대한 시간. 디폴트 헬로타임은 2초이다.
브리지들이 루트 브리지로부터 헬로패킷을 받지 못하면 맥스 에이지 시간동안 기다린 후 스패닝 트리 구조 변경을 시작한다. 디폴트 시간은 20초이다.
브리지 포트가 블로킹 상태에서 포워딩 상태로 넘어갈 때까지 걸리는 시간.