네트워크

"네트워크의 경찰이자 토목기사" 스패닝 트리 프로토콜의 이해

John Breeden II | Network World 2022.03.31
스패닝 트리 프로토콜(Spanning Tree Protocol), 줄여서 스패닝 트리는 현대 이더넷 네트워크의 웨이즈(Waze) 또는 맵퀘스트(MapQuest)로, 실시간 상태에 따라 가장 효율적인 경로로 트래픽을 보내는 역할을 한다.
 
ⓒ Getty Images Bank

스패닝 트리의 기반은 미국 컴퓨터 과학자 라디아 펄만이 1985년 디지털 이큅먼트 코퍼레이션(DEC)에서 만든 알고리즘이다. 이 프로토콜의 주목적은 복잡한 네트워크 구성에서 중복 링크와 커뮤니케이션 경로의 루프를 방지하는 것이다. 또한, 패킷이 문제 지점을 우회하도록 경로를 설정해 장애가 발생한 네트워크에서도 커뮤니케이션이 이뤄지게끔 하는 부수적 기능도 있다.
 

스패닝 트리 토폴로지 vs. 링 토폴로지

1980년대에 여러 기업이 컴퓨터를 네트워크로 연결하기 시작하면서 가장 많이 사용한 구성 중 하나는 링 네트워크였다. IBM은 1985년 독자적인 토큰 링(Token Ring) 기술을 내놓기도 했다. 링 네트워크 토폴로지에서 각 노드는 링에서 각각 앞에 위치한 노드와 뒤에 위치한 노드 하나씩, 두 개의 다른 노드와 연결된다. 링에서 신호는 단방향으로만 움직인다. 링을 타고 도는 패킷을 경로상의 각 노드가 전달하는 방식이다.

단순한 링 네트워크는 컴퓨터의 수가 소수일 때는 잘 작동하지만 수백, 수천 대 기기가 네트워크에 추가되면 효율성이 떨어진다. 컴퓨터에서 단순히 옆방에 있는 다른 시스템과 정보를 공유하려는 때도 수백 개의 노드를 거쳐 패킷을 보내야 하기 때문이다. 트래픽이 한 방향으로만 흐를 수 있으므로 대역폭과 처리량 역시 문제가 된다. 경로상의 한 노드가 손상되거나 과도하게 혼잡하게 되더라도 마땅한 대처 방안이 없다.

90년대 들어 이더넷 속도가 빨라지고(초당 100Mbit 고속 이더넷은 1995년에 등장함) 이더넷 네트워크(브리지, 스위치, 케이블 등) 비용이 토큰 링보다 훨씬 더 저렴해지면서 스패닝 트리가 LAN 토폴로지 전쟁에서 승리했고 토큰 링은 빠르게 시장에서 사라졌다.
 

스패닝 트리의 작동 원리

스패닝 트리는 데이터 패킷을 위한 포워딩 프로토콜이다. 데이터가 이동하는 네트워크 고속도로의 교통경찰 역할도 하고 토목기사 역할도 한다. 2계층(데이터 링크 계층)에 위치하므로 패킷을 적절한 목적지로 보내는 것에만 관여하며, 전송되는 패킷의 종류나 포함된 데이터에는 무관심하다.

워낙 많이 사용되는 만큼 스패닝 트리 사용은 IEEE 802.1D 네트워킹 표준에 정의돼 있다. 표준 정의에 따르면 두 엔드포인트가 정상적으로 동작하기 위해서는 엔드포인트 또는 스테이션 사이에 하나의 활성 경로만 존재해야 한다.

스패닝 트리는 네트워크 세그먼트 사이를 통과하는 데이터가 루프에 갇힐 가능성을 없앤다. 일반적으로 루프는 네트워크 기기에 설치된 포워딩 알고리즘에 혼란을 주고, 기기는 어디로 패킷을 보내야 할지 더는 알 수 없게 된다. 그 결과 프레임 중복 또는 중복 패킷을 여러 목적으로 포워딩하는 경우가 발생할 수 있다. 메시지가 반복되고 커뮤니케이션이 보낸 사람에게 되돌아올 수 있다. 또한, 루프가 너무 많이 발생하면서 대역폭을 소모하고, 루프 외 트래픽의 흐름까지 막아 네트워크를 멈추게 할 수도 있다.

스패닝 트리 프로토콜은 각 데이터 패킷에 대해 하나의 가능한 경로만 남기고 나머지는 모두 닫는 방식으로 루프 형성을 막는다. 네트워크의 스위치는 스패닝 트리를 사용해 데이터가 이동할 수 있는 루트 경로와 브리지를 정의하고, 주 경로가 제공되는 동안 중복 경로를 닫아 비활성 상태로 만들어 사용되지 않도록 한다.

결과적으로 네트워크가 아무리 복잡해지고 커지더라도 네트워크 커뮤니케이션은 중단 없이 흐르게 된다. 어떤 면에서 스패닝 트리는 과거 루프 네트워크 시절 네트워크 엔지니어가 하드웨어에 적용했던 방식과 거의 같은 방식으로 소프트웨어를 사용해 네트워크에서 데이터 이동을 위한 하나의 경로를 만든다.
 

스패닝 트리의 부가적인 혜택

스패닝 트리를 사용하는 주목적은 네트워크 내의 라우팅 루프 가능성을 없애는 것이지만 다른 이점도 있다. 스패닝 트리는 데이터 패킷이 통과하는 데 사용할 수 있는 네트워크 경로를 지속적으로 찾고 정의하므로 주 경로 중 하나에 위치한 노드가 비활성화된 경우를 감지할 수 있다. 노드가 비활성화되는 이유는 하드웨어 장애부터 새로운 네트워크 구성에 이르기까지 다양하다. 대역폭 또는 다른 요인에 따른 일시적 상황일 수도 있다.

스패닝 트리는 주 경로가 더는 활성이 아님을 감지하면 닫혀 있는 다른 경로를 신속하게 연다. 그런 다음 문제 지점을 피해 데이터를 보내고, 최종적으로는 이 우회 경로를 새로운 주 경로로 지정하거나 원래의 주 경로가 다시 살아나는 경우 패킷을 원래 브리지로 다시 보낸다.

처음 나온 스패닝 트리도 필요에 따라 비교적 빠르게 새 연결을 만들 수 있었지만, IEEE는 2001년 래피드 스패닝 트리 프로토콜(Rapid Spanning Tree Protocol: RSTP)을 발표했다. 스패닝 트리 802.1w 버전이라고도 하는 RSTP는 네트워크 변경, 일시적 중단 또는 구성요소 장애가 발생하면 더 빠른 복구를 제공하도록 설계됐다. 

RSTP는 프로세스의 속도를 높이기 위해 새로운 경로 수렴 동작과 브리지 포트 역할을 채택했지만, 원래의 스패닝 트리와 완전한 하위 호환성도 유지했다. 따라서 두 버전의 프로토콜이 설치된 기기가 같은 함께 동작할 수 있다.
 

스패닝 트리의 단점

스패닝 트리는 처음 등장한 이후 오랜 시간을 거치면서 널리 쓰이는 프로토콜이 됐지만 이제 사라질 시간이라고 주장하는 이들도 있다. 스패닝 트리의 가장 큰 단점은 네트워크 내의 잠재적 루프를 닫기 위해 데이터가 이동할 수 있는 잠재적 경로를 닫는다는 것이다. 스패닝 트리를 사용하는 네트워크에서는 데이터 이동에 사용할 수 있는 잠재적인 네트워크 경로의 약 40%가 닫힌다.

데이터센터 네트워킹과 같이 극히 복잡한 네트워킹 환경에서는 수요를 맞추기 위한 신속한 확장 역량이 매우 중요하다. 데이터센터에서는 스패닝 트리와 그에 따른 제약 없이 훨씬 더 많은 대역폭을 열 수 있고 이 과정에서 부가적인 네트워킹 하드웨어도 불필요하다. 애초에 스패닝 트리가 만들어진 이유가 복잡한 네트워킹 환경에 있음을 감안하면 다소 아이러니한 상황이다. 또한 스패닝 트리 프로토콜이 제공하는 루프에 대한 보호 기능이 네트워킹 환경의 잠재력을 완전히 발휘하지 못하도록 하는 면도 있다.

루프 형성을 차단하는 기능을 그대로 유지하면서 더 많은 네트워크 경로를 동시에 열기 위해 이 프로토콜의 개선된 버전인 가상 LAN을 도입한 다중 인스턴스 스패닝 트리(Multiple-Instance Spanning Tree: MSTP)가 개발됐다. 그러나 MSTP를 사용하더라도 이 프로토콜을 사용하는 네트워크에서는 여전히 상당수의 잠재적 데이터 경로가 닫힌 채로 유지된다.

그동안 스패닝 트리의 대역폭 제한을 개선하기 위해 표준화되지 않은 독립적인 시도도 많았다. 그런 시도 중 일부는 성공적인 결과를 얻었다고 주장했지만, 대부분은 코어 프로토콜과 완전히 호환되지 않는다. 즉, 기업에서 이를 사용하려면 모든 기기에 비표준 변경을 채택하거나, 표준 스패닝 트리를 구동하는 스위치와 동시에 사용할 방법을 찾아야 한다는 의미다. 대부분은 스패닝 트리의 여러 변형을 유지하고 지원하는 데 따르는 비용을 감수할 만큼의 실익은 없다.
 

스패닝 트리는 미래에도 계속 존재할까

스패닝 트리가 네트워크 경로를 닫는 데서 비롯되는 대역폭 제한 문제를 해결하기 위한 활동 외에, 이 프로토콜 자체를 대체하기 위한 노력이나 움직임은 많지 않다. IEEE는 효율성을 더 높이기 위해 이따금 업데이트를 내놓지만, 업데이트는 항상 기존 버전과 하위 호환성을 유지한다.

어떤 면에서 스패닝 트리는 '망가지지 않은 것을 고치지 말라'는 원칙에 따른다. 대부분 네트워크에서 스패닝 트리는 백그라운드에서 독립적으로 실행되면서 트래픽 흐름을 유지하고 네트워크 중단을 야기하는 루프 형성을 차단하며 문제 지점을 우회해 트래픽을 라우팅한다. 덕분에 최종 사용자는 네트워크에 일시적 중단이 발생했음을 인지할 필요 없이 사용할 수 있고, 백엔드 관리자는 네트워크의 나머지 부분 또는 외부 세계와 커뮤니케이션이 가능할지에 대해 큰 걱정 없이 네트워크에 새 기기를 추가할 수 있다.

지금까지 살펴본 모든 상황을 고려할 때 스패닝 트리는 앞으로도 오랜 시간 동안 계속 사용될 가능성이 크다. 종종 소소한 업데이트는 나오겠지만, 코어 스패닝 트리 프로토콜과 모든 핵심 기능은 당분간 유지될 것으로 보인다.
editor@itworld.co.kr
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.