병훈's Blog

Looping(루핑, 뺑뺑이) 본문

Computer/Network

Looping(루핑, 뺑뺑이)

thdqudgns 2023. 12. 5. 01:43

 

https://thdqudgns.tistory.com/142

 

후니형이 쉽게 써준 브리지와 스위치

허브에는 문제가 있었다. ☞ 한순간에 하나의 PC만 통신할 수 있음 ☞ 연결되는 PC가 많아질수록 콜리전이 자주 발생 ☞ 콜리전이 발생하면 연결된 모든 PC가 영향을 받음 이러한 문제를 해결하기

thdqudgns.tistory.com

 

브리지와 스위치에서 자주 발생하는 루핑 현상에 대해서 알아보자.

 

루핑은 프레임이 네트워크상에서 무한정으로 뱅뱅 돌기 때문에

이더넷의 특성상 네트워크에서 통신이 이루어지지 않기를 기다리기만 할 뿐

데이터 전송은 불가능해지는 상태를 말한다.

 

하나의 Host 에서 다른 Host 로 이동하는 경로가 두 개 이상인 상황을 보자.

보통 이렇게 구성하는 이유는 하나의 경로가 끊어져도 다른 경로를 쓰기 위한 것인데

아무 생각 없이 구성하면 루핑이 발생한다.

 

 

  1. Host A가 브로드캐스트 패킷을 보내면 양쪽 스위치로 전달이 된다. [세그먼트 E1]
    이더넷 특성상 같은 세그먼트에 있는 모든 네트워크 장비에 브로드캐스트가 전달된다.
  2. 두 스위치는 패킷을 분석한다.
    이 패킷이 브로드캐스트 패킷이란 걸 알아낸 스위치는 Flooding을 한다.
    나머지 모든 포트로 뿌려주는 것이다.
  3. 그럼 상대방쪽 세그먼트[E2]로 브로드캐스트 패킷이 보내진다.
    즉 양쪽 브리지에서 모두 패킷이 다리를 건너게 된다.
  4. 반대쪽으로 건너간 브로드캐스트 패킷은 다시 양쪽 스위치로 전달되고
    다시 반대쪽으로  건너간다.

이러한 과정이 반복되면

한 번 발생한 브로드캐스트 패킷이 네트워크를 뱅뱅 돌게 된다.

따라서 CSMA/CD 특성상 다른 데이터를 전송할 수 없게 된다.

 

이러한 루핑을 막아주는 알고리즘이 스패닝 트리 알고리즘이다.

 


그럼 스패닝 트리 알고리즘에 대해서 간단하게 알아보자. (참고용 링크)

 

스패닝 트리 알고리즘(Spanning Tree Algorithm)이란, 스위치나 브리지에서 두 개 이상의 경로가 발생하면 하나를 제외하고 나머지 경로를 자동으로 막아두었다가 기존 경로에 문제가 생기면 막아놓은  경로를 풀어서 데이터를 전송하는 알고리즘이다. 이런 방식으로 루핑을 미리 막는다. Spanning Tree Protocol을 줄여서 STP라고도 한다.

 

모든 스위치는 이 STP를 지원한다. 참고로 STP에 의해 경로가 변경되는 데 걸리는 시간은 약 1분 이상이 소요된다.

따라서 요즘의 스위치들은 여러 가지 다양한 기능을 가지고서 이러한 전통적인 STP의 약점을 보완하고 있다.

예를 들어 시스코의 이더 채널(Ether-Channel) 기술은 여러 개의 링크가 마치 하나의 링크처럼 인식되게 하는 기술이다.

 

이러한 이더 채널은 속도에 따라서 패스트 이더 채널(100메가로 연결된 포트들을 묶는 기술)과 기가 이더 채널(1000메가로 연결된 포트들을 묶는 기술) 등이 있고, 최대 8개의 링크를 묶어서 만들 수 있게 되어 있다.

 

업링크 패스트(Uplink Fast)라는 기술은 전통적인 스패닝 트리에서

링크 복구 시간을 2~3초 안에 가능하도록 만든 기술이다.

 

이와 같이 요즘은 다양한 스위칭 기술이 많기 때문에

전통적인 스패닝 트리 알고리즘으로는 생각할 수 없었던 많은 기능이 제공되고 있다.

 


참고: 후니의 쉽게 쓴 Cisco 네트워킹

 

 

 

728x90
728x90