본문 바로가기
Network tech/STP

[STP] STP의 동작과정

by 어깨 :) 2023. 10. 9.
728x90

 

 

오늘은 STP의 동작과정에 대해서 설명해 보겠습니다.

 

 


STP 알고리즘 최종 목적--> Block을 통한 looping 방지

 

 

 

 

 

STP 알고리즘의 최종 목적은 Block을 통한 루핑을 방지하는 것입니다. 

그러면 그 알고리즘 동작과정에서 알아야 할 포트 역할과 그 과정에 대해서 알아보도록 하겠습니다.


Port Role

 

루트 브리지(Root Bridge)

스패닝 트리 프로토콜을 수행할 때, 기준 브릿지 (스위치)
 

논 루트 브리지(Non Root Bridge)

루트 브릿지가 아닌 나머지 브릿지
Non Root Bridge 하나씩의 루트 포트(Root Port)를 가져야 한다.
 

루트 포트 (Root Port)

루트 브릿지로 가장 빨리갈 수 있는 포트 (= 루트 브릿지와 가장 가까운 포트)
 

지정 포트 (Designated Port)

세그먼트 당 하나씩의 Designated Port를 가져야 한다. (세그먼트 = 브릿지, 스위치 간 서로 연결된 링크)
, 브릿지나 스위치가 서로 연결되어 있을 때, 이 세그먼트에서 반드시 한 포트는 Designated Port로 선출되어야 한다.
 

STP 알고리즘 순서 1

스위치 간의 STP는 루프를 예방하기 위해 다음과 같이 동작한다.

1. 하나의 루트(Root) 스위치 선정

   a. 전체 네트워크에서 하나의 루트 스위치 선정

   b. 자신을 전체 네트워크의 대표 스위치로 적은 BPDU를 옆 스위치로 전달

 

 
 

 

 

루트 브리지 선출 1번 시나리오

BC는 부팅을 시작하고 서로의 BPDU를 주고받게 된다. 받게 된다 이때이때, BPDU에 자신의 BIDRoot BIDSender BID에 각각 넣는다. (이제 막 부팅해서 다른 BPDU를 한 번도 못 받았기 때문이다.)

각 스위치는 주고받은 BPDU를 뜯어 자신의 BID와 비교한다.

B의 상황 : BID 값이 더 작으니까, 내가 Root 브릿지이고 CBPDU는 무시

C의 상황 : BBID 값이 더 작으니까, BPDURoot BIDBBID로 바꾸고 BRoot 브리지로 인정.

 

 

 

B의 상황 : BID 값이 더 작으니까, 내가 Root 브릿지이고 CBPDU는 무시

C의 상황 : BBID 값이 더 작으니까, BPDURoot BIDBBID로 바꾸고 BRoot 브리지로 인정.

 

 

 

 

루트 브리지 선출 2번 시나리오

A가 부팅되는 상황. A는 자신의 BID를 담은 BPDUBC로 전송 (첫 부팅이기 때문에 Sender BIDRoot BID는 자신의 BID) BCBPDUA로 전송한다.

② BPDU를 받아 Root BID를 비교했을 때.

A의 상황 : 내가 BID값이 낮으니 내가 Root 브릿지이고 BCBPDU 무시
BC의 상황 : 기존의 Root BID 값보다 ABID 값이 작으니 ARoot BID로 수정하고 Root 브릿지로 인정
 
 

루트 브리지 선출 결론

∴ 결론 

스위치는 부팅할 때, BPDU를 2초마다 전송하고 그 안의 Root BID, Sender BID는 자기 자신의 BID 값을 넣는다.
 
BID 값을 비교해 낮은 BID를 가진 스위치가 Root 브릿지가 된다.
 
임의로 Root 브릿지를 지정하려면 Priority 값을 작게 주면 된다.
 

SW (config)# spanning-tree vlan 1 priority 100

SW # show spanning-tree

 
 
 

루트 브리지를 찾아보자

정답: SW1 (BID가 가장 낮기 때문에)

 

 


STP 알고리즘 순서 2

 

2. 루트가

 

a. 루트 브리지로 가는 경로가 가장 짧은 포트를 루트 포트라 한다.

b. 루트 BPDU를 받는 포트다.

 

 

 

 

루트 포트를 선출

※ 각 회선은 Fast EthernetEthernet(100 Mbps) => Path Cost : 19

 

A는 루트 브리지이다 브리지이다. 때문에 모든 포트의 Root Path Cost는 0이다. 즉, 모두 Designated Port

 

B와 C의 각 E0 포트는 루트인 A와 Fast Ethernet으로 연결되어 있고, 그 Path Cost는 19이다

 

BC의 각 E1 포트는 서로 Fast Ethernet으로 연결되어 있고, Root Bridge까지의 거리는 19+19=38이다.

 

 

 

∴ 결론 

②+③ 결론은 BCE0 포트가 Root Port로 선출된다.

 

 

 

 

루트 스위치로 제일 빨리 갈 수 있는 루트 포트를 표시해 보자.

 

 


STP 알고리즘 순서 3

3. 하나의.

 

a. 스위치와(Designated Port)를 선정한다.

b. 스위치

 

 

 

데지그네이티드 포트 선출과정

 

데지그네이티드(Designated) 포트 = 활성 포트

① 세그먼트-1, 2ARoot Bridge이고, E0, E1 포트의 Root Path Cost0이기 때문에, 당연히 데지그네이티드 포트는 AE0, E1 포트가 된다.

 

세그먼트-3BC의 각 E1 포트는 Root Path Cost19로 동일하므로 Sender BID 비교를 한다. BC보다 BID 값이 작기 때문에 BE1포트가 데지그네이티드 포트가 된다. CE1포트는 Non Designated Port(=Blocking Port)로 지정.

 

 

 

∴ 결론 

루트 브릿지는 모든 포트가 데지그네이티드 포트가 될 수 있다.
세그먼트 당 한 개의 데지그네이티드 포트를 선출해야 한다.

 

.

 

아래 구성에서 지정 포트(Designated Port)를 찾아보자

 

 

728x90