ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [네트워크] 2.네트워크 장비(허브, 브리지, 스위치) - 후니의 쉽게쓴 시스코 네트워킹
    IT/네트워크 2024. 8. 29. 14:43

     

    📑 허브(HUB)란?

     

    허브를 한마디로 이야기하면 '멀티포트(Multiport) 리피터(Repeater)' 라고 할 수 있다. 멀티포트는 말 그대로 포트는 말 그대로 포트가 많이 붙어있다는 뜻이고, 리피터는 들어온 데이터를 그대로 재전송한다는 의미를 가지고 있으니까 허브는 포트가 여러 개 달린 장비인데, 이것은 한 포트로 들어온 데이터를 나머지 모든 포트로 뿌려준다는 것이다. 

     

     

     

    여기서 리피터란 네트워크에서 데이터를 전송하는 경우 케이블에 따라서 전송 거리는 제약이 있다. 예를 들어 우리가 현재 가장 많이 사용하는 UTP 케이블의 경우 최대 전송 거리가 100미터이다. 즉) 장비 사이가 100미터 이상 떨어져 있는 경우에는 통신이 불가능하다. 또 광케이블의 경우에도 케이블에 따라 차이는 있지만 수백 미터에서 수 킬로미터까지 제한되어 있다. 그럼 만약 두 장비 간의 거리가 150미터인 경우 두 장비 간을 UTP 케이블로 연결하려면 어떻게 해야할까?

     

    그때 중간에 들어온 데이터를 다른 쪽으로 전달해 주는 역할을 하는 것이 바로 리피터이다. 음성 통신의 경우 엠프라고 하는 것이 멀리 떨어진 곳에 소리를 전달하기 위해 쓰이는 것처럼 데이터는 중간에 리피터가 있어서 한쪽에서 들어온 데이터를 그대로 다른 쪽으로 전달해주는 것이다.  그러나 요즘에는 허브가 그 역할을 대신하다보니 리피터를 만나기 쉽지 않다.

     

     

     

     

    📑 인텔리전트 허브

     

    말 그대로 지능형 허브이다. 보통 우리가 인텔리전트 허브와 더미 허브를 나누는 가장 중요한 요소로는 NMS(네트워크 관리 시스템)를 통해서 관리가 되는가이다. 즉) 인텔리전트 허브는 NMS에서 모든 데이터를 분석할 수 있을 뿐 아니라 제어도 가능하다. 

     

    하지만 이 기능은 대형 네트워크에서 NMS를 쓰는 경우에나 필요하지 사무실에서 PC 몇대를 쓰는 경우라든지, PC방에서 사용하는 경우에는 필요하지 않다. 값만 비싸니까.! 

     

    🔖 Auto Partition

     

    인텔리전트 허브는 다른 기능도 갖고 있는데 예를들어 PC방에서 허브에 연결된 한 PC에 문제가 발생했다면? 계속 이상한 데이터를 보낸다고 가정해볼때 계속해서 콜리전이 발생하며 다른 모든 PC는 통신이 불가능한 형태로 빠져들게된다.

     

    바로 이더넷의 CSMA/CD라는 특징 때문이다.

     

    이 경우 PC를 찾아내서 끄지 않는 이상 문제를 해결할 수 없지만 인텔리전트 허브의 겨우 문제의 PC가 연결된 포트를 찾아내서 자동으로 Isolation(고립)시켜 버린다. 즉) 문제가 계속되는 포트는 방출시켜버리는 것이다. 또, 분리된 포트는 허브에서 램프로 표시되기 때문에 바로 어떤 PC인지 까지 알게 되어 조치가 가능하다. 이 기능을 Auto Partition이라고 한다. 

     

     

     ▶️스태커블(Stackable) 허브

     

    스태커블 허브는 스택이 가능한, 쌓을 수 있는 허브를 말한다.

     

    스택이 가능하다?? 이는 스택을 위한 케이블로 서로 연결되어 있는 경우이다. 허브의 상태를 웹 브라우저를 통해 그대로 확인할 수 있을 뿐 아니라 포트의 상태나 데이터 양의 감시도 가능하다. 이 경우 허브 관리에 필요한 값을 세팅해주어야한다. 관리용 IP 주소, 암호, 관리 옵션 등을 넣어주어야 멀리 떨어진 곳에서도 관리가 가능하다.

     

     

     

     

    스위치나 허브나 마찬가지로 스태커블(Stackable)과 스탠드얼론(Standalone, 단독)형으로 구분된다. 스태커블형은 말 그대로 허브나 스위치를 쌓아 놓을 수 있도록 만든 것이고, 스탠드얼론형은 단독으로 사용할 때 사용한다.

     

    그럼 스탠드얼론형을 쌓아두면 안될까?? 쌓아둬도 되지만 스태커블형의 경우 서로 간 연결이 훨씬 효율적으로 설계되있다. 백플레인(BackPlane, 장비 간 데이터 전송을 위해 연결된 일종의 고속도로)이 훨신 빨라지고, 연결된 장비 중 하나가 고장이 나도 다른 장비에 영향을 주지 않는 등 많은 장점을 가지게 된다. 

     

     

    📑 허브의 한계

     

    허브를 구매할 때 가장 중요한 것은 안정성과 사후 AS이다. 또한 이 모든 PC들은 하나의 콜리전 도메인안에 있기 때문에 어느 한순간에는 한 PC만 데이터를 보낼 수 있는 것이다. 따라서 이러한 기능을 수행하는 허브를 우리는 Shared 허브라고 한다. 즉) 10Mbps의 속도를 그 허브에 연결된 모든 PC들이 공유한다는 것이다. 따라서 우리가 10Mbps의 허브에 20대 PC를 연결해서 쓴다면 실제는 10Mbps를 20으로 나눈 만큼의 속도를 각자 쓰고 있는 것이다. 

     

    그런데 만약 아주 많은 데이터를, 예를 들어 화상 회의나 멀티미디어 등에 모든 PC들이 계속 사용된다면 ??

     

    랜카드, 케이블, 허브를 모두 100Mbps로 바꾸면 더 빨라질까? 빨라지겟지만 원하는 속도가 아닐 것이다. 왜냐하면 100Mbps 허브 역시 어느 한순간에는 한 PC만 네트워크상에 데이터를 실어 보낼 수 있기 때문이다.

    또 한가지는 한 번의 콜리전이 발생하면 그 허브에 붙어있는 모든 PC들이 영향을 받기 때문이다. 게다가 만약 허브 한 대를 추가해서 허브 두 대가 서로 연결되어 있고, 그 두 대의 허브에 붙어있는 모든 PC들을 하나의 콜리전 도메인 안에 있기 때문에 더욱 더 콜리전이 자주 발생할 수 밖에 없다. 

     

    아무리 빠른 속도를 내는 허브를 쓴다고 해도 어느 한순간에는 한 PC만 데이터를 보낼 수 있다. 즉) 허브에 연결된 한 PC에서 발생하는 콜리전이 다른 PC들에도 영향을 주는 콜리전 도메인(영역)이 그 허브에 연결된 모든 PC들이라는 의미이다. 그러므로 콜리전 도메인이 너무 커지는 상황을 항상 조심해야된다. 콜리전 도메인이 너무 커지게 되면 콜리전에 의해 영향을 받는 PC가 많아지게되며, 통신의 속도가 점점 떨어진다.

     

    이러한 문제를 해결하기 위해서 콜리전 도메인을 나누어 줄 수 있는 장비가 나왔는데, 이 장비가 바로 브리지(Bridge) 또는 스위치(Switch)이다.

     

     

     📝 스위치(Swtich)

     

    스위치는 예를 들어 1번 포트에 연결된 PC가 2번 포트에 연결된 PC와 데이터를 주고받는 동안에도 3번 포트에 연결된 PC와 4번 포트에 연결된 PC가 서로 데이터를 주고받을 수 있게 하는 장비이다. 즉) '포트별로 콜리전 도메인이 나뉘어 있다'라고 말한다. 

     

    1번 2번 사이에서 통신이 일어나면 나머지 모든 PC들은 기다려야만 하는 허브와는 달리 다른 PC들도 동시 통신이 가능하다. 이것이 허브와 스위치의 가장 큰 차이점이다. 예를들면 허브는 일차선 도로이고 스위치는 포트 수별로 차선이 만들어지는 다차선이라고 보면 된다.

     

    그렇다면 무조건 스위치를 쓰는게 좋을까??

     

    물론 스위치의 기능이 우수하지만 허브는 허브대로 장점이 있다. 일단, 허브는 스위치보다 저렴하다. 또한 데이터 처리 속도가 일반적으로 스위치에 비해 빠르다. 그럴 수 밖에 없는 게 들어온 데이터를 그냥 그대로 내보내기만 하면 되기 때문이다. 마지막으로 어떤 데이터가 돌아다니느냐 하는 것도 알아둬야하는데, 채팅이나 메일 정도를 쓰는 경우는 네트워크 상에 트래픽이 적기 때문에 PC들을 스위치에 붙이는 건 낭비일 수 있다.

     

     

     

     

     📝브리지(Bridge)

     

     

    브리지는 그럼 콜리전 도메인(하나의 허브에 연결되어 있는 모든 PC들은 같은 콜리전 도메인을 갖는다.) 을 어떻게 나눌까? 브리지는 허브로 만들어진 콜리전 도메인 사이를 반으로 나누고 중간에 다리를 놓는 것이다. 그렇게 되면 다리 남단은 다리 남단끼리, 다리 북단은 다리 북단끼리 동시에 통신이 가능하게 된다. 즉) 다리 남단에서 두 PC간 통신이 일어나는 사이에 다리 북단에 있는 PC들 끼리도 통신이 가능한 것이다. 그리고 만약 다리 남단에 있는 PC와 다리 북단에 있는 PC가 통신하고 자 하는 경우 다리를 건너 통신한다.

     

    요즘은 이러한 브리지의 역할을 스위치가 대신하기 때문에 많이 사용되지 않지만 엄연히 브리지가 스위치보다는 훨씬 먼저 나온 형님이다.

     

     

     

    📝 스위치와 브리지의 기능

     

     🔖1. Learning, 배우기

     

    브리지나 스위치는 자신의 포트에 연결된 'A'라는 PC가 통신을 위해 프레임을 내보내면 그때 이 PC의 맥 어드레스를 읽어서 자신의 맥 어드레스 테이블('브리지 테이블')에 저장해놓는다.(어디 포트에 MAC 주소는 무엇인지) 그리고 나중에 어떤 PC가 'A'에게 통신할 경우 자신의 브리지 테이블을 참고해서 다리를 건너게할 것인지, 못 건너가게 할 것인지를 결정한다.

     

     

    🔖2. Flooding, 모르면 들어온 포트를 제외한 다른 모든 포트로 뿌린다.

     

    브리지는 어떤 프레임에 대해서 브리지를 열어줄 것인가, 아니면 못 건너가게 막을 것인가를 관리하는 브리지 테이블을 보고 결정한다. 그런데, 들어온 프레임이 찾아가는 주소를 보니 그 주소가 브리지가 가지고 있는 테이블에 없는 주소라면?? 그냥 나머지 포트로 전부 뿌려준다. 즉) 브로드캐스트나 멀티캐스트의 경우에도 발생하는 것이 Flooding이다.

     

     

    🔖3. Forwarding, 해당 포트로 건네준다.

     

    한 번 이상 통신이 발생한 프레임은 브리지 테이블에 저장되어 있는데, 그러면 이를 접수한 브리지는 자신의 테이블을 보고 목적지에 넘겨주게 되는데 이것이 Forwarding이다.

     

     

    🔖 4. Filtering, 다른 포트로는 못 건너가게 막는다.

     

    필터링은 브리지가 목적지의 맥 어드레스를 알고있고 출발지와 목적지가 같은 세그먼트에 있는 경우이다. 이 경우에는 브리지를 건너가지 않아도 통신이 일어날 수 있기 때문에 브리지는 다리를 막는 필터링을 실시한다. 

     

     

    🔖 5. Again, 나이를 먹는다. 

     

    브리지는 출발지의 맥 어드레스를 외운 후 이것을 브리지 테이블이란 곳에 저장한다. 그렇다면 얼마 동안이나 저장할 수 있을까? 브리지는 어느 정도 시간이 지나고 나면 이 정보를 브리지 테이블에서 지우게 된다. 다시 새로운 맥 어드레스를 기억해야 하기 때문이다. 그 시간은 디폴트로는 5분이다. 이 값은 물론 조정 가능하다. 

     

    만약 'AAA'라는 맥 어드레스를 가진 어떤 프레임이 브리지에 들어왔다. 그러고 280초가 지났을 때, 'AAA'라는 프레임이 다시 들어오게 되면 브리지는 타이머를 리셋하고 처음부터 다시 카운팅한다. 이것을 Aging 타이머를 '리플래시(Refresh)' 한다 라고 한다. 

     

     

    📝 브리지와 스위치의 차이점

     

     

    일반적으로 스위치와 브리지는 같다고들 한다. 왜냐하면 하는 일도 비슷하고 둘 다 데이터 링크 레이어에 속하기 때문이다. 

     

    그래도 구체적인 차이점을 살펴보자.

     

    🔖 1. 스위치는 처리 방식이 하드웨어로 이루어지기 때문에 소프트웨어적으로 프레임을 처리하는 브리지에 비해 훨씬 빠르다는 차이가 있다. 즉) 브리지의 경우 프레임의 처리 방식이 소프트웨어적 프로그램에 의해서 처리되는 방식을 취하지만, 스위치의 경우는 처리 절차를 미리 칩에 구워서 하드웨어 방식으로 만드는 ASIC(Application-Specific Integrated Circuit) 방식이기 때문에 프레임 처리 속도가 브리지에 비해 훨씬 빠르다.

     

    🔖 2. 브리지는 포트들이 같은 속도를 지원하는 반면, 스위치는 서로 다른 속도를 연결해줄 수 있는 기능을 제공한다. 예를 들어 스위치는 10메가 포트와 100메가 포트가 한 장비에 같이 있게 된다.

     

    🔖 3. 스위치는 브리지에 비해 제공하는 포트의 수가 훨씬 많다. 브리지는 대부분 2, 3개 정도 포트를 가지고 있는 반면 스위치는 몇십 또는 몇백개의 포트를 제공할 수 있다.

     

    🔖 4. 스위치의 경우 Cut-through, Store-and forward 방식을 사용하는 데 비해 브리지는 오로지 Store-and-forward 방법만을 사용한다. 

     


    ▶️ 스토어-앤-포워드(Store-and-forwarding) 방식
    : 스위치나 브리지가 일단 들어오는 프레임을 전부 받아들인 후 처리를 시작하는 방식이다. 프레임을 모두 받아들이고 나서 이 프레임이 제대로 다 들어왔는지, 에러는 없는지, 출발지 주소는 어디인지, 목적지 주소는 어디인지를 파악해서 처리해주는 방식이다. 이때 에러가 발견되면 스위치나 브리지는 이 프레임을 버리고 재전송을 요구하기 때문에 에러 복구 능력이 뛰어나다. 

    ▶️ 컷스루(Cut-throgh) 방식
    : 스위치가 들어오는 프레임의 목적지 주소만 본 후 바로 전송 처리를 시작하는 방식이다. 따라서 앞에 언급한 스토어-앤-포워드 처럼 프레임이 다 들어오기를 기다리지 ㅇ낳고 들어오는 목적지의 주소, 즉) 처음 48비트만 보게 된다. 빠르다는 장점이 있지만 발생됐을지도 모를 에러를 찾기 어렵다.

    ▶️ 프래그먼트-프리(Fragment-free) 방식
    : Store-and-forward 방식과 Cut-through 방식의 장점을 결합한 방식이다. 즉) 전체 프레임이 다 들어올 때까지 기다릴 필요가 없는 측면에서는 Cut-through 방식과 닮았지만, 컷스루처럼 처음 48비트만을 보는 게 아닌 512비트를 보게 된다.

     

     

     


     

     

    해당 포스팅은 후니의 쉽게쓴 시스코 코딩을 내돈내산으로 구입 후 학습하기 위해 정리한 내용입니다. 😃

     

    반응형

    댓글

Designed by Tistory.