본문 바로가기

Engineering/Network

STP(spanning tree protocol) 정의

728x90

STP는 동일한 두개의 컴퓨터 네트웍 세그먼트를 서로 연결하기 위해 두개의 브리지가 사용된 곳에서 브리지 간에 정보를 교환할 수 있도록 함으로써, 주어진 메시지를 둘 중 오직 한 개의 브리지만이 처리할 수 있도록 해주는 프로토콜이다. STP는 흔히 '브리지 루프'라고 알려져 있는 상황을 예방한다.

이더넷이나 토큰링과 같은 근거리 통신망에서, 컴퓨터는 공유하고 있는 전송로를 서로 먼저 사용하기 위해 경쟁한다. 만약 너무 많은 수의 컴퓨터가 동시에 데이터를 전송하려 시도하면, 네트웍의 전반적인 효율이 악영향을 받을 수 있으며 심지어 트래픽 전달이 거의 멈추는 지경에 까지 이를 수 있다. 이러한 개연성을 최대한 줄이기 위해, 브리지라고 불리는 장치를 이용하여 근거리 통신망을 두개 이상의 네트웍 세그먼트로 나누게 된다. 이로 인해 각 메시지는 원하는 목적지로 가기 전에 브리지를 통과하게 되는데, 이때 브리지는 그 메시지를 송신측이 속해있는 동일 세그먼트 내 어디론 가로 보내야 할지, 아니면 다른 세그먼트로 보내야 할지를 결정하게 된다. 브리지는 수신측 주소를 보는 것 외에 어떠한 일도 하지 않으며, 자신이 미리 알고 있는 정보에 기반하여 받은 메시지를 올바른 경로로 전달하기만 한다. 네트웍 세그먼트와 브리지 이용의 장점은 네트웍 경로를 사용하기 위해 벌어지는 경쟁을 절반 이하로 줄임으로써, 네트웍이 멈출 가능성을 현저하게 줄이는데 있다.

각각의 브리지는 양측 세그먼트 간에 교환하게 되는 최초 메시지와 메시지에 응답한 컴퓨터를 인식하고 기록해 놓는 등의 후속 행위를 통해, 어느 컴퓨터가 어느 세그먼트에 속해 있는지를 지속적으로 학습하게 된다. 따라서 브리지는 점차 어느 컴퓨터가 어느 세그먼트에 속해 있는지 그 자체에 대한 그림을 스스로 구축하게 된다. 브리지는 두 번째 이후의 메시지가 전송될 때부터, 그 메시지를 어떤 세그먼트로 전달할 것 인가를 결정할 때 자신이 갖고 있는 표를 참조하게 된다. 경험을 통해 브리지가 네트웍을 학습하게 하는 이러한 접근 방식을, 관리자가 따로 브리지 설정을 할 필요가 없는 형식의 브리징이라는 의미로 ‘투명한 브리징’이라고 부른다.

네트웍 내에 브리지를 설치할 때에는, 고장에 대비하여 백업용 브리지를 추가하는 것이 보통이다. 메시지 전송은 실제로 주 브리지가 담당하지만, 주 브리지와 백업 브리지 모두는 지속적으로 네트웍 형상을 파악하고 있어야 한다. 그리고 두 브리지는 서로 어떤 브리지가 주 브리지인지를 알 수 있도록 하기 위한 방법이 필요하다. 이를 위하여 두 브리지 간에는 BPDU를 이용하여 정보를 교환하기 위해 별도의 경로를 통한 접속을 갖고 있다.

각 브리지 내의 프로그램이 그 프로토콜을 어떻게 사용할지를 결정할 수 있도록 해주는 것을 스패닝 트리 알고리즘이라고 부른다. 이 알고리즘은 특히 브리지 루프, 즉 한 세그먼트에서 다른 세그먼트로 연결되는 경로를 다중화하면 무한 루프가 생기는 상황이 벌어지지 않도록 고안되었다. 이 알고리즘은 브리지가 다중 경로를 가지고 있을 때, 그 중 가장 효율적인 경로를 사용하도록 할 책임이 있다. 만약 최적의 경로를 이용할 수 없는 상황이 생기면, 알고리즘이 새로 계산하여 차선의 경로를 찾는다.

STP가 네트웍을 결정하고 나면 BPDU를 이용하여 이 데이터를 교환하는데, 이 작업은 다음의 두 단계로 나뉘어 진다.

1 단계: 알고리즘은 수신된 설정 메시지를 평가하고 제일 나은 선택 사항을 고름으로써 브리지가 보낼 수 있는 최적의 메시지를 결정한다.

2 단계: 특정 브리지가 보낼 수 있는 최적의 메시지를 선택한 후, 루트 접속이 아닌 곳에서 받은 설정 메시지와 알고리즘이 선택한 내용을 서로 비교한다. 이때, 만약 1단계에서 선택한 옵션이 루트 접속이 아닌 곳으로부터 받은 내용보다 못하면, 알고리즘은 그 포트를 제거한다.

STP는 IEEE의 한 위원회에 의해 개발되었다. IEEE는 현재, 기존의 STP에 네트웍 복원시간을 줄일 수 있도록 품질 향상에 주력하고 있는데, 링크 상태의 고장 또는 변경 후 30~60 초 내의 시간을 10초 이내로 줄이는데 목표를 두고 있다.

출처 : http://terms.co.kr/spanningtreeprotocol.htm

--------------------------------------------------------------------------------

브릿지 설정때문에 STP 를 찾다가 나온 내용을 두고두고 봐야할듯 싶어서 복사해서 블로그로 올렸습니다.