본문 바로가기
네트워크엔지니어의 삶/네트워크 이론

네트워크 기초 - Looping 루핑 원인 및 발생 이유

by └HR┐ 2022. 7. 11.

네트워크 엔지니어의 숙명인 STP(스패닝 트리 프로토콜 - Spanning Tree Protocol)를 공부하기 위해서

미리 루핑(Looping)을 먼저 알아보도록 하겠습니다.

 

스패닝트리를 알기 전에 Loop이 뭔지를 이해하는 게 중요합니다.

Looping이 왜 발생하는지를 알아야 루핑을 방지하는 프로토콜을 공부하는 의미가 그리고 이해를 도울 수 있겠죠

 

루핑이라 함은 프레임이 네트워크 상에서 무한정으로 뱅뱅 돌기 때문에 이더넷의 특성상 네트워크가 얌전해야

데이터를 전송할 수 있는 다른 녀석들이 계속 네트워크가 조용해지기를 기다리기만 할 뿐만 아니라 데이터 전송은 불가능해지는 상태를 이야기하는데, 스위치나 네트워크를 구축할 때 가장 주의를 해야 하는 사항입니다.

 

루핑(Looping)

그림으로 설명을 드리자면 왼쪽 Host A에서 Host B의 두 호스트 사이에 스위치끼리 경로가 두개 이상 만들어진다는 가정일 때 즉 이중화 및 다중화로 네트워크를 구성할 때 신경 써야 하는 것이 바로 루핑(Looping)입니다.

 

보통 이런 식으로 구성하는 이유는 하나의 경로가 끊어져도 다른 경로를 쓰기 위한 것인데 아무 생각없이 그림처럼 구성을 하게 되면 우리가 오늘 공부할 루핑이 발생하게 되는 것입니다.

 

루핑의 발생 원리

그림처럼 구성이 되어 있을때 Host A에서 브로드캐스트(broadcast) 패킷을 보냅니다.

그럼 양쪽 스위치로 전달이 되고 그다음 두 개의 스위치에선 들어온 패킷(Packet)에 대해 분석을 시작합니다.

스위치에서 들어온 패킷이 브로드캐스트 패킷이란 걸 알아차리는 순간 Flooding(플로딩) 처리하게 됩니다.- 플로딩 : 스위치에서 목적지 주소를 보고 그 주소가 스위치 테이블에 없거나, 브로드캐스트나 멀티캐스트 주소인 경우 들어온 포트를 제외한 나머지 모든 포트로 뿌려주게 됩니다. 양쪽 스위치에서 모두 패킷이 건너가게 되고, 그다음엔 반대쪽으로 건너간 브로드캐스트 패킷은 다시 양쪽 포트 즉 Host로 전달이 되고 그 패킷은 특성에 따라 또다시 위로 전달이 되는 걸 반복하게 되면서 계속 뺑뺑 동게 되는 루핑이 발생하게 됩니다.

 

이처럼 루핑이 발생하기 시작하면 데이터 전송을 할 수 없게 됩니다.따라서 네트워크 상태가 됩니다. 사람 눈에는 보이지 않지만, 두 개의 포트를 통해 데이터가 엄청난 속도로 뺑뺑 돌고 있게 됩니다. 그럼 스위치로 계속 들어오고는 패킷을 전달해야 하기 때문에, 스위치의 성능 즉 CPU가 높아지면서 멈춰버리게 됩니다. 

 

루핑은 네트워크를 치명적인 상태로 만들어 버리는데요, 그러면 이제 이 루핑을 막을 수 있는 방법이 뭘까요? 애초에 구성할 때 모든 목적지의 경로를 하나로만 만들어 주면 루핑은 발생하지 않습니다. 그러나 일부러 이중 이상으로 연결하는 경우도 있기 때문에 반드시 못하게 하는 것도 문제가 있습니다.

그래서 다음에 배울 알고리즘 기반인 스패닝트리 프로토콜(STP)입니다.

 

오늘은 사실 스패닝트리 프로토콜을 알기 위한 기본적인 Looping에 대한 개념에 대해 알아봤습니다.

다음 포스팅에서 STP의 동작 원리 및 종류 그리고 계산하는 방법 등에 대해서 포스팅하도록 하겠습니다.

 

 

댓글