허브란?
허브는 물리 계층 장비이다.
통신 매체를 통해 송수신되는 메시지는 다른 호스트에게 전달되는 과정에서
네트워크 장비를 거칠 수 있다.
대표적인 네트워크 장비로
물리 계층에는 허브가 있고,
데이터 링크 계층에는 스위치가 있다.
먼저 물리 계층에서 여러 대의 호스트를 연결하는 허브의 특징을 살펴보고,
이와 관련해 허브의 동작 방식인 반이중 모드 통신에 대해 알아보겠다.
아울러 이와 반대되는 개념인 전이중 모드 통신도 함께 학습해보자.
허브에서 발생하는 충돌이라는 문제와
이를 해결하기 위한 CSMA/CD도 학습해보자.
데이터 링크 계층에는 NIC와 스위치가 있다.
스위치는 전이중 통신과 VLAN이란 특징을 가진다.
물리 계층에는 트위스티드 페어 케이블, 광섬유 케이블, 허브
허브는 반이중 통신, CSMA/CD란 특징을 가진다.
주소 개념이 없는 물리 계층
물리 계층의 허브를 소개하기 전에 기억해야 할 중요한 사실이 있다.
바로 물리 계층에는 주소 개념이 없다는 점이다.
송수신지를 특정할 수 있는 주소는 데이터 링크 계층부터 존재하는 개념이다.
물리 계층에서는 단지 호스트와 통신 매체 간의 연결과 통신 매체상의 송수신이 이루어 질 뿐이다.
그렇기에 물리 계층의 네트워크 장비는
송수신되는 정보에 대한 어떠한 조작(송수신 내용 변경)이나 판단을 하지 않는다.
반면 데이터 링크에는 주소 개념이 있다.
MAC주소가 여기 속한다.
따라서 데이터 링크 계층의 장비나 그 이상 계층의 장비들은
송수신지를 특정할 수 있고, 주소를 바탕으로 송수신되는 정보에 대한 조작과 판단을 할 수 있다.
이 차이점은 단순해 보여도
물리 계층과 데이터 링크 계층의 장비 기술, 특징을 이해하는 데 중요한 기반이다.
허브
물리 계층의 허브는 여러 대의 호스트를 연결하는 장치이다.
리피터 허브라 부르기도 하고,
이더넷 네트워크의 허브는 이더넷 허브라고 부른다.
허브가 어떻게 생겼냐면
다음과 같이 커넥터를 연결할 수 있는 네 개의 연결 지점이 있다.
이를 포트라 부른다.
포트에 호스트와 연결된 통신 매체를 연결할 수 있다.
허브의 특징
사실, 허브는 오늘날 인터넷 환경에서 잘 사용되지 않는다.
수많은 네트워크 서적이 허브를 설명하는 이유는 허브가 가진 두 가지 큰 특징 때문이다.
이 특징은 중요한 네트워크 개념을 내포하고 있으며, 곧 허브의 한계와도 직결된다.
첫째, 전달받은 신호를 다른 모든 포트로 그대로 다시 돌려보낸다.
허브는 물리 계층에 속하는 장비이고,
물리 계층에는 주소 개념이 없기에 허브는 수신지를 특정할 수 없다.
따라서 신소를 전달받으면 어떠한 조작이나 판단을 하지 않고 송신지를 제외한
모든 포트에 그저 내보내주기만 하면 된다.
허브를 통해 이 신호를 전달받은 모든 호스트는 데이터 링크 계층에서
패킷의 MAC 주소를 확인하고 자신과 관련 없는 주소는 폐기한다.
둘째, 반이중 모드로 통신한다.
반이중 모드는 마치 1차선 도로처럼 번갈아 가면서 하는 통신 방식이다.
가령 다음 그림처럼 호스트 A가 B에게 메시지를 송신할 때 호스트 B는 A에게 송신할 수 없다.
반대의 경우도 마찬가지이다. 즉, 동시에 송수신이 불가능하다.
다른 쪽의 말이 끝나야 비로소 이쪽에서 말할 수 있는 무전기를 떠올리면 쉽다.
반대로 전이중 모드는 송수신을 동시에 양방향으로 할 수 있는 통신 방식이다.
마치 2차선 도로와 같다.
즉
반이중 모드는 한 번에 한 방양으로만 전송할 수 있는 통신 방식,
전이중 모드는 동시에 양방향으로 데이터를 전송할 수 있는 통신 방식이다.
리피터
허브 이외에 물리 계층의 대표적인 장비로 리피터라는 장비도 있다.
예를 들어 매우 긴 트위스티드 페어 케이블이 있다고 가정해보자.
이 경우 트위스티드 페어 케이블에 흐르는 전기 신호는
전송 거리가 길어질수록 감소하거나 왜곡될 수 있다.
리피터는 이렇듯 전기 신호가 감소하거나 왜곡되는 것을 방지하기 위해
전기 신호를 증폭시켜 주는 장비이다.
리피터는 물리 계층의 장비이므로 신호에 대한 어떤 판단이나 조작을 하지 않고,
그저 신호를 증폭시키기만 한다.
허브는 이러한 리피터의 기능을 포함하는 경우가 많다.
콜리전 도메인
허브는 반이중 통신을 지원한다고 했다.
한 호스트가 허브에 송신하는 동안
다른 호스트는 송신하고 싶은 것이 있어도 기다려야 한다.
그런데 만일 동시에 허브에 신호를 송신하면 어떻게 될까?
충돌(collision)이 발생한다.
허브에 호스트가 많이 연결되어 있을수록 충돌 발생 가능성이 높다.
불시에 다른 호스트가 허브로 신소를 송신할 수 있기 때문이다.
이렇게 충돌이 발생할 수 있는 영역을 콜리전 도메인이라고 한다.
콜리전 도메인은 즉 충돌이 발생할 수 있는 영역이라 했다.
그럼 콜리전 도메인이 작으면 작을수록 충돌이 발생할 가능서옫 줄어든다.
허브의 넓은 콜리전 도메인으로 인한 충돌 문제를 해결하려면
CSMA/CD 프로토콜을 사용하거나 스위치 장비를 사용해야 한다.
CSMA/CD
허브에서 충돌이 발생하는 근본적인 원인은 반이중 모드로 통신하기 때문이다.
첫째, CS는 Carrier Sense, 캐리어 감지를 의미한다.
CSMA/CD 프로토콜을 사용하는 반이중 이더넷 네트워크에서
메시지를 보내기 전에 현재 네트워크상에서 전송 중인 것이 있는지 먼저 확인한다.
현재 통신 매체의 사용 가능 여부를 검사하는 것이다.
이를 캐리어 감지라한다.
둘째, MA는 Multiple Access, 다중 접근을 의미한다.
때로는 캐리어 감지를 하는 데도 두 개 이상의 호스트가 부득이하게
동시에 네트워크를 사용하려 할 때가 있다.
복수의 호스트가 네트워크에 접근하려는 상황을 다중 접근이라고 한다.
이때 충돌이 발생하게 된다.
셋째, CD는 Collision Detection, 충돌 검출을 의미한다.
충돌이 발생하면 이를 검출하는데, 이를 충돌 검출이라 한다.
충돌을 감지하면 전송이 중단되고,
충돌을 검출한 호스트는 다른 이들에게 충돌이 발생했음을 알리고자
잼 신호라는 특별한 신호를 보낸다.
그리고 임의의 시간 동안 기다린 뒤에 다시 전송한다.
즉 정리하자면
반이중 이더넷 네트워크 CSMA/CD 프로토콜을 사용하면
다음과 같이 진행이 된다.
- 먼저 현재 전송이 가능한 상태인지 확인하고
- 다른 호스트가 전송 중이지 않을 때 메시지를 전송한다.
- 만일 부득이하게 다수의 호스트가 접근하여
충돌이 발생하면 임의의 시간만큼 대기한 후에 다시 전송한다.
'컴퓨터 프로그래밍 공부 > 네트워크 서버' 카테고리의 다른 글
LAN을 넘어서는 네트워크 계층의 기능 (0) | 2024.11.16 |
---|---|
스위치와 VLAN (3) | 2024.11.14 |
물리 계층과 데이터 링크 계층 - 이더넷 (0) | 2024.10.30 |
네트워크 미시적으로 살펴보기 (1) | 2024.10.27 |
네트워크 거시적으로 살펴보기 (1) | 2024.10.26 |