숨숨 베이스

지식이 숨어있는 공간

L2 스위치

Last updated on December 10, 2025
2550T-PWR-Front.jpg
출처: 위키피디아

1. 정의

MAC 주소 기반으로 송수신 호스트를 연결해주는 데이터-링크 계층의 네트워크 장비
여러 호스트를 연결 시켜서 교차로 역할을 할 수 있음.

2. 특징

  1. 전이중 통신 모드 지원
  1. 통신 과정을 도우며, MAC 주소를 학습함. ( '플러딩''에이징' )
  1. 학습한 MAC 주소 기반으로 송신지 포트에만 신호를 흘려 보냄 ( '필터링''포워딩' )

(1) 출시 이유 - CSMA/CD의 비효율성

CSMA/CD 프로토콜을 통해 허브의 고질적 문제점인 연결된 LAN 전체를 콜리젼 도메인으로 만드는 부작용을 해결하긴 했으나, 해당 방법은 다음과 같은 이유로 '성능 저하' 를 야기했다.
  1. 콜리젼 도메인 내의 단 하나의 호스트라도 LAN을 쓰고 있다면, 나머지 호스트들이 LAN 이용을 못함 -> 시간 지연
  1. 허브는 송수신지 특정을 못해서 일단 연결된 호스트에 전부 쏨 -> NIC가 거르는 역할, NIC 처리 부하 야기
이와 같은 비효율성을 해결하기 위해 데이터-링크 계층을 이해할 수 있는 스위치가 출시되었고, 스위치는 수신한 신호의 목적지 포트만 열고, 전이중 통신도 지원하며 LAN 환경에서의 콜리젼 도메인을 아예 없애버렸다.

(2) MAC 주소 학습의 원리

KEY WORD: MAC 주소 테이블, 플러딩, 에이징

A. MAC 주소 테이블

스위치는 저마다 고유의 MAC 주소 테이블을 가지고 있다.
image.png
여기서 중요한 것만 살펴보면,
  • MAC 주소: 해당 포트로 들어가면 나오는 호스트의 MAC 주소
  • AGE: 마지막으로 MAC 주소를 학습한 시점에서 얼마나 시간이 흘렀는지를 나타냄.
  • VLAN: 해당 포트의 호스트는 몇 번 VLAN 소속인지
AGEVLAN은 나중에 살펴보고 일단 포트와 Mac 주소가 대응함을 이해하자.

B. 플러딩

플러딩이란 스위치가 정보를 수신한 포트를 제외한 모든 포트에 신호를 흘려보내는 방식을 의미한다.
수신 신호의 목적지를 알 수 없을 때, 정보 전달을 위해 사용하며, 추후 결과를 MAC 주소 테이블에 기록하여 다음부터는 주소를 특정할 수 있도록 역량을 강화한다.
과정은 다음과 같다. 호스트 A가 호스트B에게 정보를 전달하는 상황이라 가정한다.
  1. 송신 호스트 A가 스위치로 신호를 흘려보냄. (이때 송신 호스트의 MAC 주소도 주소테이블에 적혀있지 않다면, 이때 기록)
    1. image.png
  1. 신호의 수신 호스트 MAC 주소를 까봤는데, 주소 테이블에 적혀있지 않음. 이때는 목적지인 B를 찾기 위해, 플러딩 방식을 활용해 모든 포트에 받은 신호 다시 흘려보냄
    1. image.png
  1. 이 중 특정 포트에서 응답 신호를 보낸다. 스위치는 해당 포트가 B라고 생각하고, 주소 테이블에 포트 번호와 응답 신호의 송신지 MAC 주소를 대응시킨다.
    1. image.png

C. 에이징

포트 탈부착은 언제든 가능하므로, 항상 같은 포트에 같은 호스트가 꽂혀있을거라 기대할 수 없다. 에이징이란 일정 시간 이상 교신하지 않은 포트에 대한 MAC 주소 테이블 기록을 지워버리는 작업을 의미한다.
MAC 주소 테이블에 있는 age라는 속성은 특정 포트가 마지막으로 교신한 시점부터 점점 숫자가 올라가는데,
이 값이 스위치에서 정해둔 특정 임계치를 넘어가면 자동으로 MAC 주소에서 삭제된다. 만약 삭제되기 전에 통신을 다시 했다면 age값이 갱신된다.

(3) 송신지 MAC 주소에만 신호 흘려 보내는 원리

이제 A와 B의 MAC 주소를 아는 상태에서 A가 B에게 다시 정보를 송신했다고 치자.
이때 스위치는 수신지인 B의 포트외에 다른 포트는 덮개로 가려버리는 필터링작업과 B 포트로 신호를 흘려보내는 포워딩 작업을 동시에 진행한다.
image.png

3. VLAN

VLAN이란 하나의 스위치를 여러 개의 가상 LAN 환경으로 분리하는 기술을 말한다.

(1) 등장 배경

기본적으로 1스위치 = 1 LAN 환경인데, 이는 서로 교류가 거의 없는 호스트들끼리도 묶여 있어 서로 불필요한 브로드 캐스트 메시지나 플러딩 신호를 받아야 해서 트래픽 낭비를 야기했다. 이를 절약하고자 같은 스위치 내에서도 영역을 구획하는 VLAN이 등장했다.

(2) 특징

동일 스위치더라도 VLAN이 다르면 서로 다른 LAN 취급을 받기 떄문에 네트워크 계층 이상의 통신 프로토콜이 필요하다. (아예 멀리 떨어진 네트워크로 취급되기 때문)

(3) 종류

  1. 포트 기반 VLAN
  1. MAC 기반 VLAN

A. 포트 기반 VLAN

image.png
포트 위치 기준으로 영역을 구획하여 VLAN 공간을 나누는 VLAN 기법이다. 해당 방법은 각 VLAN의 포트 수 부족으로 물리적 스위치를 추가할 떄 문제가 생긴다. 각 VLAN의 포트 중 하나는 스위치 연결 포트로 써야해서 포트를 낭비하기 때문이다.
image.png
해결법: 트렁크 포트
위의 문제점을 해결하기 위해 '스위치 연결 포트를 하나로 통일하는 트렁크 포트' 방법을 활용한다. 스위치 별로 딱 하나의 ’공용 연결 포트'를 놔두고 모든 VLAN이 해당 포트를 활용해 다른 스위치에도 프레임을 보낸다.
image.png
ℹ️ 트렁크 포트의 부가적인 문제점과 해결법
트렁크 포트를 쓰면 연결 포트를 하나로 줄인 것은 좋지만, 스위치 변경 -> 자신의 VLAN 찾기 로 과정이 하나 더 생긴다. 여기서 트렁크 포트 방식은 MAC 주소를 찾기 위해 플러딩을 쓸 수 없다는 것이다!
만약 목적지 스위치의 주소 테이블에 가고자 하는 MAC 주소가 없을 경우, 원래라면 플러딩으로 다 쏴보겠지만, 이렇게 하면 LAN 환경 분리라는 VLAN의 근본적인 가치를 잃게된다.

해결법은 일반 이더넷 프레임 대신 802.1Q 프레임을 활용하는 것이다.
802.1Q 프레임은 이더넷 프레임의 헤더에 32bit 크기의 VLAN 태그가 추가된 버전이다. 이곳에 자신이 속한 VLAN이 무엇인지에 대한 정보가 적혀있다. 이를 통해 자신과 같은 VLAN에 속한 포트에 대해서만 플러딩을 진행하여 원하는 MAC 주소를 찾으면 된다.
image.png
 

B. MAC 기반 VLAN

사전에 정해둔 MAC 주소 - VLAN 매핑 규칙에 맞춰서 MAC 주소에 따라 VLAN 그룹이 결정되도록 하는 VLAN 기법을 말한다. 포트 기반 VLAN 방식은 만약 호스트가 포트를 잘못 꽂으면 엉뚱한 VLAN에 속하는 문제를 겪을 수 있었는데, MAC 기반은 포트를 무엇을 쓰든 LAN 환경 어디에 호스트가 있든 상관없이 일관된 VLAN 환경을 사용할 수 있다는 장점이 있다.

부록

A. 모르는 것 정리

  • 전이중 모드
    : 양쪽에서 갈 수 있는 2차선 도로처럼, 동시 양방향 송수신이 가능한 통신 방식
    • image.png

⬅️ 이전 글