[네트워크] STP (Spanning-Tree Protocol)

1. 이중화 구조

네트워크는 이중화 (Redundancy) 구조로 되어있다. Single Point of Failure를 없애 한 회선에 장애가 발생하여도 다른 회선으로 통신하여 서비스를 중단 없이 지속적으로 제공할 수 있다. 또한 부하분산을 통해 트래픽을 분할하여 보내 통신 속도를 향상시킬 수 있다.

image

하지만 이중화 구조에는 3가지 문제점이 있다.

1) Broadcast Strom

PC1에서 브로드캐스트 프레임을 전송한다.

S1은 f0/13과 f0/12로 프레임을 Flood한다.

S3은 f0/1과 f0/14로 Flood한고, S2는 f0/14와 f0/1로 Flood 한다.

S3은 다시 f0/13와 f0/1로 Flood하고, S2는 f0/12와 f0/1로 Flood한다.

S1은 다시 f0/13, f0/12, f0/1로 Flood 하며 앞선 과정을 계속 반복한다.

트래픽이 브로드캐스트 프레임으로 가득차 통신 장애가 발생한다.

2) Duplicated Frames Delivery

PC1에서 PC3으로 프레임을 전송하는데, S1과 S2은 PC3의 MAC 주소를 모른다고 가정하자.

그렇다면 S1과 S2는 프레임을 Flood할 것이며, 결과적으로 PC3은 동일한 프레임을 2번 수신하게 된다.

3) MAC Address Table Instability

PC1에서 PC3에게 프레임을 전송하는데 스위치들은 PC들의 MAC 주소를 모른다고 가정하자.

먼저 S1은 프레임을 Flood할 것이며, 이를 수신한 S2는 f0/12포트에 PC1이 있다고 테이블에 기록할 것이다.

S1에서 Flood된 프레임을 수신받은 S3는 PC3의 MAC 주소를 모르기 때문에 Flood할 것이다.

S3에서 Flood된 프레임을 수신받은 S2는 f0/14포트에 PC1이 있다고 테이블에 재기록하게 된다.

2. STP 역할

이러한 이중화 구조의 문제를 해결하기 위한 것이 STP (Spannig-Tree Protocol) 이다. 이중화 구조를 이루는 포트중 하나를 다운시켜 그 회선으로는 통신이 불가하게 만든다. 정상적으로 가동하던 회선들 중 하나에 장애가 발생하면 다운시켰던 포트를 정상작동시켜 네트워크 장애를 해결한다.

3. STP 작동 방식

3단계로 나누어 설명된다.

1) Root 스위치 선출

이중화 구조를 이루고 있는 스위치들 중 BID (Bridge ID) 가 가장 낮은 스위치가 Root 스위치가 된다. 이 Root 스위치는 다른 스위치들에게 어떠한 명령을 전달하는 역할을 맡게 된다.

BID (Bridge ID)

image

BPDU (Bridge Protocol Data Unit)


STP를 위해 스위치들은 BPDU라는 프레임을 주고받는다. 이 중 8 bytes 크기의 Bridge ID 를 기준으로 Root 스위치를 선출한다.

Bridge ID는 2Byte의 Bridge Priority 와 6Byte의 MAC Addr 로 구성된다. Bridge Priority의 기본 값은 32768이며, 0~65535 사이의 값으로 설정할 수 있다.

먼저 스위치들 간 Bridge Priority를 비교하고, 값이 가장 낮은 스위치들 중 MAC 주소가 낮은 스위치가 Root로 선출된다.

Root 스위치의 모든 포트는 DP (Designated Port)가 된다. DP는 Root 스위치의 명령을 전달하는 포트이다.

2) RP 선출

Non-Root 스위치들은 스위치당 하나의 RP (Root Port)를 선출해야 한다. RP는 Root 스위치에게 정보를 전달하는 포트이다.

다음과 같은 3가지 기준으로 선출한다.

  1. 먼저 각 포트를 기준으로 Root 스위치까지의 총 STP cost가 가장 낮은 것을 RP로 선출한다.

    Date rate STP cost
    10 Mbps 100
    100 Mbps 19
    1 Gbps 4
    10 Gbps 2
  2. 모든 포트의 cost가 같다면 연결된 상대방 스위치의 BID가 낮은 것을 RP로 선출한다.

  3. 상대방 스위치의 BID가 같다면 연결된 상대방 포트번호가 낮은 것을 RP로 선출한다.

3) DP 선출

Non-Root 스위치들은 Segment당 하나의 DP 를 선출한다.

다음과 같은 2가지 기준으로 선출한다.

  1. 스위치 기준으로 Root 스위치까지의 총 STP cost가 가장 낮은 것을 DP로 선출한다.
  2. cost가 같다면 자기 스위치의 BID가 낮은 것을 DP로 선출한다.


위와 같은 과정을 거치면 한 포트를 제외한 모든 포트는 RP 혹은 DP가 된다. 역할을 부여받지 못한 포트는 작동되지 않음으로써 Broadcast Strom과 같은 문제점들이 발생하지 않게 된다.

하지만 장애가 발생하기 전까지 하나의 회선이 계속 동작되지 않는 것은 낭비이다. 따라서 하나의 서브넷을 다수의 VLAN으로 나누고 각 VLAN 별로 STP를 적용시켜 부하분산을 구현한다.

카테고리:

업데이트:

댓글남기기