Network

허브, 스위치란?

수밈 2024. 7. 1. 21:17

앞 포스팅에서 이더넷과 NIC를 살펴보았습니다. 이 장비들은 '하나의 컴퓨터'에서 사용되는 프로토콜 및 장비입니다. 이제, 해당 장비들을 이용하여 통신 매체를 통해 데이터를 송수신할 때 다른 컴퓨터와의 통신 과정에서 사용되는 물리/데이터 링크 계층의 네트워크 장비들인 허브와 스위치에 대해 설명하겠습니다.

 

허브

허브는 네트워크의 물리 계층에서 사용하는 장비로, 여러 대의 컴퓨터를 연결해주는 역할을 합니다. 허브에는 여러 개의 포트가 있으며, 각 포트에 컴퓨터나 다른 네트워크 장치를 연결할 수 있습니다.

저 1, 2, 3, 4번 위에 있는 홈에 여러 컴퓨터를 사용합니다. 저 홈을 포트라고 합니다.

 

사진에서 보면 알 수 있듯이, 허브에는 여러 개의 포트가 있으며, 이 포트들에 컴퓨터나 네트워크 장비를 연결합니다. 허브는 물리 계층에서 사용하는 장비입니다. 즉 주소가 없어 신호를 받았을 때 어디로 보내는지 알 수 없습니다. 따라서 신호를 받았을 때 포트를 제외한 나머지 모든 포트로 데이터를 브로드캐스트 방식으로 전송합니다. (송신지 제외)

 

허브는 반이중 모드방식으로 다른 호스트와 통신합니다. 호스트가 신호를 보내고 있다면, 다른 호스트는 신호를 보낼 수 없습니다. 그러면, 전송은 막혔는데, 동시에 수신할 경우는 어떻게 될까요? 그럴땐 도메인이 충돌하게 되는데, 이것을 콜리전 도메인이라고합니다. 콜리전 도메인을 방지하기 위해 CSMA/CD(Carrier Sense Multiple Accss With Collision Detection) 을 사용하여 오류를 검출하고, 충돌을 감지하면 임의의 시간 대기 후 전송하는 방식으로 충돌을 해결합니다. 

 

 

 

스위치

스위치는 데이터 링크 계층에서 사용되는 네트워크 장비입니다. 정확히는 L2 스위치라고 불리며, MAC 주소를 인식하여 데이터를 전달합니다. L2 스위치는 MAC 주소를 기반으로 전체 포트로 데이터를 보내지 않고, 특정 수신지 포트로만 데이터를 전송할 수 있습니다.

L2 스위치는 MAC 주소 테이블이라는 스토리지 공간을 가지고 있습니다.

스위치의 주요 특징 및 동작 방식은 다음과 같습니다:

  1. MAC 주소 인식: 스위치는 각 네트워크 장치의 MAC 주소를 인식하여 데이터를 전달합니다. 송수신된 패킷을 통해 MAC 주소를 학습하고, 이를 MAC 주소 테이블에 저장합니다.
  2. MAC 주소 테이블: 스위치는 송신된 데이터 프레임의 출발지 MAC 주소와 해당 포트를 MAC 주소 테이블에 기록합니다. 이후 데이터가 수신되면 수신지 MAC 주소를 테이블에서 찾아 해당 포트로 데이터를 전송합니다.

스위치의 관련 용어는 다음과 같습니다:

  1. 플러딩 (Flooding): 수신지 MAC 주소가 MAC 주소 테이블에 없을 경우, 스위치는 데이터를 모든 포트로 전송합니다. 각 호스트는 자신이 아닌 경우 데이터를 폐기합니다.
  2. 필터링 (Filtering): 스위치는 데이터 프레임의 수신지 MAC 주소가 출발지 포트와 같은 경우, 해당 포트로 데이터를 보내지 않습니다.
  3. 포워딩 (Forwarding): 수신지 MAC 주소가 MAC 주소 테이블에 있을 경우, 스위치는 데이터를 해당 포트로만 전송합니다.
  4. 에이징 (Aging): MAC 주소 테이블에 기록된 항목은 일정 시간이 지나도 해당 MAC 주소로부터 프레임을 전송받지 못하면 삭제됩니다. 이는 테이블을 최적화하고 불필요한 데이터를 제거하기 위함입니다.

 

VLAN (Virtual LAN)

하나의 물리적 스위치를 논리적 구간으로 나누는 것을 VLAN(Virtual Local Area Network)이라고 합니다. 스위치에 여러 호스트가 연결되어 있을 때, 특정 호스트 그룹만 서로 통신하게 하고 싶을 경우 VLAN을 사용합니다. 예를 들어, 개발팀과 영업팀은 서로 다른 네트워크 세그먼트로 분리하여 각각의 데이터를 독립적으로 주고받게 할 수 있습니다.

VLAN을 설정하는 두 가지 주요 방법은 포트 기반 VLAN과 MAC 주소 기반 VLAN입니다.

  1. 포트 기반 VLAN: 스위치의 물리적 포트를 기준으로 VLAN을 설정합니다. 각 포트는 특정 VLAN에 할당되어, 해당 포트에 연결된 장치들은 동일한 VLAN 내에서만 통신할 수 있습니다. 예를 들어, 포트 14는 개발팀 VLAN에, 포트 58은 영업팀 VLAN에 할당됩니다.
  2. MAC 주소 기반 VLAN: 장치의 MAC 주소를 기준으로 VLAN을 설정합니다. 스위치는 MAC 주소를 인식하여 해당 장치를 특정 VLAN에 할당합니다. 이는 포트 위치에 상관없이 특정 장치가 항상 동일한 VLAN에 속하도록 합니다.

VLAN을 통해 논리적으로 네트워크를 분할함으로써, 보안이 강화되고 네트워크 트래픽 관리가 용이해집니다. 예를 들어, 개발팀과 영업팀은 같은 스위치에 연결되어 있지만, 서로 다른 VLAN에 속해 있어 서로의 트래픽을 보거나 접근할 수 없습니다.