이번 시간에는 네트워크에서 발생하는 루핑(Looping)에 대해서 알아보도록 하겠습니다. 루핑은 왜 생기는 것이고 루핑이 생기면 어떤 문제가 발생하는지 , 루핑을 해결할 수 있는 방법까지 자세히 알아볼게요.
루핑은 네트워크에서 가장 흔하게 발생하는 장애 중에 하나이니 반드시 이해하고 해결방법까지 숙지하셔야 합니다.
1. 루핑(looping) 이란?
Spanning tree를 공부하시려면 먼저 Loop를 먼저 이해하셔야 합니다.
Looping이 왜 발생하는지를 알아야 이걸 방지하는 프로토콜을 공부할 의미가 있겠죠? 그럼 루핑이 무엇인지? 왜 발생하는지부터 알아볼까요
루핑(Looping)이란?
: 쉽게 네트워크상에서 무한정으로 뱅뱅 돌아 데이터를 전송할 수 없는 상태를 말합니다.
자 위에 그림을 보시면 Switch A & Switch C가 있습니다.
스위치는 기본적으로 들어온 포트를 제외한 나머지 포트로 패킷을 Flooding 시킵니다. (같은 브로드캐스트 도메인 안에서) Switch A와 C에는 케이블이 두 개 연결되어 있죠? (보통은 하나만 연결하는데 , Loop가 발생하는 구조를 만들기 위해 두개 연결해서 설명을 드립니다.) 1번 케이블 , 2번 케이블이라고 하겠습니다.
Switch A에 있는 PC가 Switch C에 있는 PC에게 패킷을 보냅니다. 그럼 Switch A는 PC가 연결되어 있는 포트를 제외한 나머지 포트로 패킷을 보낸 다했습니다. 1번 케이블로 패킷을 보내고 , 2번 케이블로도 패킷을 보내게 됩니다. 그럼 Switch C에서는 1번 케이블을 통해 들어온 패킷은 나머지 포트 전체로 다시 Flooding 그럼 Switch C에서는 2번 케이블을 통해 들어온 패킷은 나머지 포트 전체로 다시 Flooding 이렇게 동작하겠죠. (그림을 그리셔서 연필로 필기하시면서 보시면 이해가 빠르실 겁니다)
그럼 1번 케이블로 들어온 패킷은 2번으로 다시 보내고 , 2번으로 들어온 패킷은 다시 1번으로 보내고 그러다 보면 서로 무한으로 계속해서 1,2번 포트로 패킷을 계속~~ 보내겠죠. 이런 과정이 반복되게 되면 한 번 발생한 브로드캐스트 패킷이 양쪽 스위치를 통해 네트워크를 계속 뱅뱅 돌게 되는 루핑이 발생하게 되는 겁니다.
이와 같이 루핑이 발생되면 다른 데이터를 전송할 수가 없게 됩니다. 따라서 네트워크는 아무것도 못하는 상태가 됩니다. 우리 눈에는 보이지 않지만 , 두 포트를 통해 데이터가 엄청난 속도로 빙글빙글 돌고 있을 겁니다. 그럼 스위치 자체도 이 패킷을 처리하느라 , CPU가 한없이 높아져 스위치 자체도 다른 일을 할 수 없는 상태가 되어 버립니다.
스위치가 멈춰버렸으니 , 당연히 네트워크가 안 되겠죠.~ 이 사이트는 난리가 납니다. 인터넷이 안될 테니까요. 이걸 Looping이 발생했다고 합니다.
※ Looping이 걸리면 발생하는 문제
- Switch들은 계속 반복해서 Broadcast traffic을 전파하게 되며, 스위치들은 이것을 처리하기 위하여 많은 CPU 자원을 소모하게 될 것이고, 자신의 모든 자원들을 소모하면서 결국은 전체적인 네트워크가 다운되는 현상이 발생 필드 엔지니어를 하시다 보면 , 자주 발생하는 장애 중에 하나가 이 Loop에 의한 문제입니다.
요즘은 기본적으로 스위치에 STP가 enable 되어 나오는데 , disable 되어 있는 스위치들도 많습니다. 그러다 보니 , 위에 설명처럼 케이블을 잘못 연결해서 Loop구조가 만들어지고 , 그때 Looping이 발생해서 사이트에 장애가 발생되죠. 그러니 , STP를 공부하셔야 하고 , STP를 하시기 전에 이 Looping이 왜 발생하는지? 발생하면 어떤 문제가 생기는지를 꼭 기억하시기 바랍니다.
Looping이 발생하는 이유에 대해서 알아봤는데, 생각보다 쉽죠? 저 위에 그림 하나만 정확하게 이해하시면 다른 응용 구성을 보셔도 큰 문제없이 이해하실 수 있을 겁니다.
저의 글을 읽어 주셔서 감사합니다. 오늘도 즐거운 하루 보내세요.
댓글