허브(HUB)는 멀티포트(Multiport) 리피터(Repeater)라고 말할 수 있다. 여러 포트를 가지고 있는 허브는 한 포트로 들어온 데이터를 그대로 나머지 모든 포트로 뿌려준다는 것이다.
허브의 종류에는 이용 방식에 따른, 이더넷용과 토큰링용이 있다. 또, 속도에 따른 그냥 허브와 패스트 허브가 존재한다.
리피터(Repeater)
UTP 선은 장비와 장비 사이의 100m가 넘어가는 경우에는 통신이 불가능하다. 이를 중간에서 들어온 데이터를 다른 쪽으로 전달해주는 리피터를 사용하면, 100m 이상의 거리에서도 통신이 가능하게 해 준다. 그러나 최근에는 허브가 그 역할을 대신하고, 가격이 싸기 때문에 더 이상 리피터 장비를 사용하지 않는다.
이더넷 허브는 CSMA/CS의 적용을 받아, 같은 허브에 연결되어 있는 모든 PC들은 콜리전이 생기면 영향을 받기 때문에, 모두 같은 콜리전 도메인 (Collision Domain)에 있다고 이야기한다.
허브를 선택할 때는 안정성이 중요하다. 모든 PC들은 하나의 콜리전 도메인 안에 있기 때문에 어느 한순간에는 한 PC만 데이터를 보낼 수 있다. 데이터 양이 많은 화상회의나 멀티미디어에 PC들이 사용되었을 때, 100 Mbps 용으로 다 바꾸어도 하나의 콜리전 도메인 안에 있기 때문에 콜리 전이 자주 발생할 수밖에 없다.
허브의 종류에는 인텔리전트 허브와 더미 허브가 있다. 굳이 하나 더 나누자면, 세미 인텔리전트 허브가 있다.
인텔리전트 허브 : 지능형 허브. NMS를 통해서 관리가 되는가? NMS에서 모든 데이터를 분석할 수 있을 뿐 아니라 제어도 가능하다. 문제의 PC가 연결된 포트를 찾아서 Isolation 시켜 버린다. 해당 PC는 사용이 불가하겠지만 나머지는 정상적인 통신이 가능하다. 분리된 포트는 허브에서 램프로 표시되기 때문에 어떤 PC인지 알게 되어 조치가 가능하다. AutoPartition은 요즘 더미 허브에서도 많다.
더미 허브 : 다른 추가 기능 없이 허브의 역할만 담당하는 허브이다.
세미 인텔리전트 허브 : 세미 더미 허브라고도 하며, 인텔리전트 허브와 연결하면 자기도 인텔리전트 허브가 된다.
장비의 추가가 많아지고 허브를 붙일수록 콜리전 도메인은 커지게 된다. 따라서 콜리전 도메인을 나누어 줄 수 있는 장비로 브릿지와 스위치를 사용한다. 최근에는 브릿지보다 빠른 스위치가 나와서 브릿지는 사라지는 추세이다.
스위치(Switch)
스위칭 허브(Switching Hub)라고도 하는데, 말 끝에 허브가 있어서 헷갈려하는 경우가 많다. 일단 스위치란 말이 들어가면 스위치임을 알아두자.
예를 들어 1번과 2번 PC가 데이터를 주고받는 동안 3번과 4번의 PC가 서로 데이터를 주고받을 수 있게 한다. 포트별로 콜리전 도메인이 나누어 준다고 생각하면 된다. 각각의 포트에 연결된 PC가 독자적으로 10 Mbps, 100 Mbps의 속도를 갖는다.
허브를 선택할지, 스위치를 선택할지는 상황에 따라 다르다. 허브는 싸고, 데이터 처리 속도가 일반적으로 스위치에 비해 빠르다. 채팅이나 메일 정도를 쓰는 경우에는 네트워크 상에 트래픽이 적기 때문에 PC들을 스위치에 붙이는 건 아무래도 낭비이며, 모든 장비가 무조건 어느 한 곳(ex) 서버 등)으로만 향하는 경우는 허브나 스위치나 속도의 차이가 크게 나지 않는다.
브릿지 (Bridge)
허브로 만들어진 콜리전 도메인 사이를 반으로 나누고 중간에 다리를 두는 것이다. 나뉜 영역끼리의 콜리전 도메인을 만들어 두 영역에서 동시에 통신이 가능하게 만들고, 한쪽에서 다른 영역으로 통신해야 하는 경우에는 브리지를 건너서 통신이 이루어진다. 도메인에 뿌려지는 프레임을 읽어서 브릿지에서 다른 쪽으로 프레임을 통과시키지 않게 함으로 써 구역을 나눈다. 브릿지는 Learning, Flooding, Forwarding, Filtering, Aging의 5가지 일을 한다.
학습 (Learning) : 출발지의 MAC Address를 읽어서 자신의 MAC Address 테이블(브리지 테이블 이라고도 함.)에 저장해 놓게 배운다.
분배 (Flooding) : 목적지의 MAC Address를 읽어서 자신의 MAC Address 테이블에 없는 경우 들어온 포트를 제외한 나머지 포트로 뿌려준다.
전달(Forwarding) : 목적지의 MAC Address를 테이블에 가지고 있고, 출발지의 MAC Address와 다른 세그먼트에 존재하는 경우에 일어난다. 목적지가 다리를 건너가야만 하는 경우에 forwarding 발생.
정제(Filtering) : 브리지가 목적지의 MAC Address를 알고 있고, 출발지와 목적지가 같은 세그먼트에 있는 경우 다른 포트로는 못 건너가게 막는다.
보존 (Aging) : 지속적으로 테이블에 MAC Address를 저장하게 되면, 저장공간의 한계가 있기에 계속 가지고 있기에 부담스럽다. default로 5분, 300초가 지나도록 더 이상 그 출발지 주소를 가진 프레임이 들어오지 않으면 브리지 테이블에서 삭제시킨다. 원래 갖고 있던 MAC Address에서 프레임이 들어온 경우 Aging 타이머를 Refresh 하여 다시 300초로 맞춘다.
브리지와 스위치의 차이
브리지 - 소프트웨어적으로 프레임을 처리.
스위치 - 처리 절차를 미리 칩에 구워서 하드웨어 방식으로 만드는 ASIC(Application-Specific Integrated Circuit) 방식이기 때문에 프레임 처리 속도가 브리지에 비해 훨씬 빠르다.
브리지 - 포트들이 같은 속도를 지원
스위치 - 포트별로 서로 다른 속도를 연결해줄 수 있음.
브리지 - Store-and-forward 방법
스위치 - Cut-through, 또는 Store-and-forward 방식
Store-and-forward : 일단 들어오는 프레임을 전부 받아들인 후 처리를 시작하는 방식이다. 프레임을 모두 받아들이고 나서 프레임이 제대로 들어왔는지, 에러는 없는지, 출발지 주소는 어디인지, 목적지 주소는 어디인지를 파악해서 처리하는 방식. 에러가 발견되면 프레임을 버리고 재전송을 요구하기에 에러 복구 능력이 뛰어나다. 회선에 에러가 자주 발생하거나 출발지와 목적지의 전송매체가 다른 경우에는 자주 사용되는 방식이다.
Cut-through : 스위치가 들어오는 프레임의 목적지 주소만 본 후 바로 전송 처리를 시작하는 방식이다. 처음 48bit만 보기에 훨씬 빠른 처리가 장점이지만, 프레임에 발생됐을지 모를 에러를 찾아내기가 어렵기에 에러 복구 능력에는 약점을 가지고 있다.
Fragment-free : 앞서 배운 Store-and-forward와 Cut-through방식의 장점을 결합한 방식이다. 처음 512bit만을 보고 처리하기에 Store-and-forward보다 처리가 빠르고, Cut-through 보다 에러 감지 능력이 우수하다.
고가의 스위치들은 여러 가지 모드의 스위칭 방식을 지원하며, 최근 Store-and-forward의 경우 하드웨어가 워낙 발전되면서 Cut-through에 비해서 뒤지는 속도가 아니게 되었다.
Looping
루핑은 네트워크를 잘 못 구성했을 때 발생하며, 프레임이 네트워크상에서 무한적으로 뱅뱅 돌기 때문에 이더넷의 특성상 네트워크가 조용해야 데이터를 전송할 수 있는 다른 녀석들이 계속 네트워크가 조용해지기를 기다리기만 할 뿐 데이터 전송은 불가능해지는 상태이다. 주로 호스트 사이에 스위치나 브리지가 2개 이상 있는 경우 발생된다. 이를 막기 위해 스패닝 트리 알고리즘(Spanning Tree Algorithm)을 사용한다.
스패닝 트리 알고리즘(Spanning Tree Algorithm)은 스위치나 브리지에서 발생할 수 있는 루핑을 미리 막기 위해 두 개 이상의 경로가 발생하면 하나를 제외하고 나머지 경로를 자동으로 막아두었다가 기존 경로에 문제가 생기면 막아놓은 경로를 풀어서 데이터를 전송하는 알고리즘이다. 한쪽이 끊어진 경우 약 1분의 시간이 소요되며, 이러한 약점을 보완하고자, 이더 채널 기술로 여러 개의 링크가 하나의 링크처럼 인식되게 하는 기술이 있다. 또, 업링크 패스트라는 기술이 있는데, 이는 복구 시간 1분이 아닌 2~3초 안에 가능하도록 만든 기술이다.
* 번외 지식 *
Fault Tolerant : 네트워크상에 어떤 문제가 발생할 때를 대비해서 미리 장애 대비를 해놓는 것. 두대의 라우터를 네트워크로 구성한 후 한대가 죽었을 때, 자동으로 다른 라우터가 기존 라우터의 역할을 수행하는 것이 바로 진정한 의미의 장애 대비책.
Load Balancing : 로드를 분산하는 것. 예를 들어 하나의 인터넷 회선을 이용한 인터넷 접속이 아닌 두 개의 인터넷 회선을 사용하는 것. 자연스럽게 하나가 끊어지면 다른 회선으로 이전을 시키면서 Fault Tolerant를 겸하게 된다.
라우터(Router)는 브로드캐스트 영역을 나누어 준다. 최근에는 스위치에 라우터 기능이 탑재돼서 Layer 3 스위치가 그 기능을 진행한다.
브로드 캐스트 영역을 나눌 때는 IP일 때 500 노드, IPX 일 때 300 노드, Appletalk 일 때, 200 노드가 적당하다. 스위치가 보장 못하는 보안 기능, 패킷 필터링 기능을 제공한다. 여러 개의 경로를 가지고 다른 경로를 지정해주는 로드 분배 기능이 있다. 프로토콜이나 데이터의 크기, 중요도 등 여러 상황에 따라 트래픽의 전송 순서를 조정해주는 QOS 기능도 제공한다.
[참조] 후니의 쉽게 쓴 CISCO 네트워킹 [저자 : 진강훈]
'ComputerScience > 네트워크' 카테고리의 다른 글
8. 서브넷 마스크(Subnet Mask) (0) | 2020.07.20 |
---|---|
7. IP주소(IP Address) (0) | 2020.07.20 |
5. 네트워크 장비 - 랜카드 (0) | 2020.07.15 |
4. Protocol (프로토콜) - TCP & UDP (0) | 2020.07.15 |
3. OSI 7 Layer (OSI 7 계층) (0) | 2020.07.15 |