오늘은 CISSP의 Domain 4인 Communication & Networking 부분에서 네트워크 루핑(Network Looping)에 관하여 알아보도록 하겠습니다.
알아두면 좋은 배경지식
CSMA/CD
CSMA/CD는 LAN 프로토콜 중 한 종류이며, Ethernet 환경에서 사용됩니다.
CSMA/CD는 Carrier Sense Multiple Access/Collision Detetion의 줄임말로 해석하면 “알아서 눈치껏 통신하자”로 의역되는 프로토콜입니다.
간단하게 설명하면, Ethernet 네트워크에서 네트워크 매체의 사용여부를 우선 감지한 뒤, 사용하지 않으면 프레임을 전송하게하는 프로토콜입니다.
만약, Ethernet 네트워크가 사용 중이거나 데이터가 전송 중이라면 전송되고 있는 프레임이 있다면 해당 네트워크는 사용할 수 없음을 의미합니다.
네트워크 루핑(Network Looping)이란 ?
CSMA/CD 프로토콜 특성 상 Ethernet 네트워크에 돌아다니고 있는 프레임(데이터)가 없어야 전송할 수 있는데요.
네트워크 루핑(Network Looping)은 이 프레임이 네트워크 위에서 무한정으로 빙빙 돌아 네트워크가 안정이 되기만을 기다리기만 하고 데이터 전송을 불가능해지는 상태를 의미합니다.
요약하자면, 빙빙 돌고 있는 프레임 때문에 이후 데이터들을 전혀 전송할 수도 없고 네트워크를 사용할 수 없는 상태를 말합니다.
네트워크 루핑(Network Looping) 발생하는 이유는?
위 사진과 같이 네트워크가 구성되어 있다고 생각해보자.
- Host A와 Host B가 통신하는 상황
- Host A와 Host B 사이에는 2개의 경로가 존재, 하나의 경로에 장애가 생겨도 다른 하나의 경로로 통신가능
바로 이 부분에서 네트워크 루핑(Network Looping)의 원인이 발생한다.
네트워크 루핑(Network Looping) 현상이 발생하는 시나리오는 다음과 같다.
- Host A가 다음과 같이 BroadCast 패킷을 보낸다.
- Host A가 위와 같이 BroadCast 패킷을 보내면 스위치는 이를 받아들여 들어온 포트를 제외한 다른 모든 포트에 Flooding을 한다.
- 또 이렇게 되면 다시 들어온 포트를 제외한 다른 모든 곳에 Flooding을 하게 된다.
- 2번, 3번 과정이 무한반복되면 [네트워크 루핑(Network Looping)이 발생한다] 로 정의할 수 있다.결론적으로, BroadCast 패킷과 같은 패킷으로 인해 Flooding이 발생한다면 지속적으로 해당 네트워크에 네트워크 루핑(Network Looping) 현상이 발생하게되고 CSMA/CD 프로토콜에 의해 이 루핑이 끝날 때까지 해당 네트워크는 데이터 전송이 불가능해지는 것이다.
네트워크 루핑(Network Looping) 해결방안
네트워크 루핑(Network Looping) 해결방안은 크게 두 가지가 있다.
- 네트워크 담당자(사람)이 직접 구성하고 모든 목적지로 향하는 경로가 하나만 있도록 설정하는 방법
- 스위치에 STP(Spanning Tree Protocol)을 적용
* STP(Spanning Tree Protocol) : Spanning Tree Algorithm을 적용하여 목적지로의 경로가 2개 이상일 시 논리적으로 하나를 차단하는 알고리즘을 말합니다. 만약 기존 경로에 문제가 발생할 경우, 차단해두었던 나머지 경로를 활성화시켜 가용성을 확보합니다.