네트워크 따라잡기 4강 : 허브와 충돌 문제
허브란?
네트워크를 구성하기 위해서는 각 장비들이 모두 연결되어있는 상태여야 한다는 것을 배웠다. 그리고 장비들을 연결하는 것이 전선/케이블이라는 것 또한 알고있다. 하지만 네트워크상의 장비들이 많아지면 문제가 발생한다. 장비가 3대있으면 케이블을 3갈래로 나누어 연결하고 4대 있으면 4갈래로, 5대 있으면 5갈래로... 각 장비에 맞춰 케이블을 끊고 연결하는 것이 번거로울 뿐더러 새로운 장비가 들어오면 이 작업을 다시해야한다. 너무 비효율적이다.
네트워크에서 쓰이는 케이블 중 우리가 가장 잘 알고있는 케이블은 랜선일 것이다. 랜선의 끝을 보면 마치 콘센트처럼 무언가에 꽂을 수 있도록 되어있는것을 볼 수 있다. 허브는 다수의 포트를 가져 연결과 제거가 용이함과 동시에 리피터(증폭기)역할을 할 수 있다. 그러나 이전 장에서 허브는 오늘날 별로 쓰이지 않는다고 하였다. 그 이유가 무엇일까?
충돌
허브의 단점에 대해 알아보기 전에 충돌이란 것을 알아보기로 하자. 임의로 하나의 허브에 연결된 3대의 PC가 있다. 각각 A, B, C라고 하자. A에서는 B의 주소로 정보를 보냈다. 하지만 A, B, C는 모두 연결되어있기 때문에 B만 받아야할 정보를 C도 받게된다. 이 경우 C는 그 정보에서 주소를 확인해 자신의 주소가 아니면 버리게 된다. 이 경우 문제가 발생하는데 바로 컴퓨터 네트워크에서는 한 PC가 다른 PC에게 정보를 보내는 경우 다른 PC들은 신호가 겹칠 우려 때문에 정보를 보내지 못하게된다. (신호가 겹친다고 표현했는데, 이를 다른말로 충돌이라고 한다.)
때문에 각 PC들은 이 문제 때문에 일정한 규칙에 따라 데이터를 전송하는데, 이를 CSMA/CD(Carrier Sense Multiple Access/Collision Detection)이라고 한다. CSMA/CD의 규칙을 간단히 표현하자면 다른 PC에서 정보가 전달되고 있는지 감지하고 전달되고 있으면 잠시후에 보내는 것이다.
방금전 상황을 보면 A에서 B에게 정보를 전달하고 있으면 C가 B에 정보를 보내고 싶어도 조금 기다려야 한다. 만일 연결된 장비가 4,5대 이상으로 많아지면 어떨까? 우리가 한번 다른 PC로 정보를 보내고자 하면 점점 더 많은 시간을 기다려야 되는 것이다. 우선 허브의 문제점 하나, 충돌을 제어하지 못해 연결된 장비가 많아질수록 속도가 느리다는 단점이 있다.
모두에게 전달
허브의 단점은 이 뿐만이 아니다. 허브는 특정 장비의 주소와 상관없이 연결된 모든 장비로 정보를 뿌리는데, 이 과정에서 보안상의 문제가 발생한다. 자세한건 보안 따라잡기에서 알아보겠지만, 대강 연결된 모든 PC로 정보를 뿌리는 것으로 인해 여러 문제가 발생할 수 있다는 것을 알아두자.
프로토콜
방금 충돌과 관련된 이야기를 하면서 CSMA/CD에 관해 설명했는데, 컴퓨터 네트워크 상에서 쓰이는 이러한 규칙들을 통틀어 프로토콜이라고 한다. 네트워크도 사람이 생각해낸 것이기 때문에 수많은 규칙에 따라서 움직인다.
네트워크를 구성하는 방법도 여러가지가 있는데, CSMA/CD의 프로토콜을 이용하는 네트워크 구성 방식을 이더넷이라고 한다. 이외에도 토큰링, ATM 등등의 네트워크 구성방식이 있고 사용하는 프로토콜 또한 다 다르다. 네트워크를 구성하는것 말고도 각각의 장비(스위치, 라우터)나 특정 애플리케이션을 이용하기 위한 네트워크 규칙들 또한 모두 프로토콜이라 한다.
정리해보면, 우리가 접하는 대부분의 네트워크는 이더넷 방식으로 구성되어 있으며, 이 이더넷 방식은 CSMA/CD라는 규칙(프로토콜)을 이용한다. CSMA/CD 규칙에 따라 각 연결된 장비끼리는 충돌을 방지하기 위해 다른 PC가 정보를 보내는지 확인하고 정보를 보내는데, 이 과정에서 속도 저하가 발생한다. 허브는 충돌을 제어할 수 없기 때문에 속도저하가 발생해 지금은 잘 쓰이지 않는다. 또한 허브는 연결된 모든 장비로 정보를 보내므로 보안상으로 취약하다.