스위칭이란 무엇인가? 스위치가 프레임을 전달하는 과정

    스위칭이란 무엇인가?

    컴퓨터와 서버가 같은 네트워크에 연결되어 있으면 서로 데이터를 주고받을 수 있습니다.

    이때 네트워크 장비인 스위치(Switch)는 데이터를 목적지까지 전달하는 중요한 역할을 합니다.

    스위치가 네트워크를 통해 들어온 프레임(Frame)을 확인하고 목적지 장치가 연결된 포트로 전달하는 과정을 스위칭(Switching)이라고 합니다.

    쉽게 말하면 스위칭은 스위치가 MAC 주소를 확인하여 데이터를 어느 포트로 보낼지 결정하는 과정입니다.

    PC A │ │ 프레임 전송 ↓스위치 │ ├── PC B │ └── PC C

    PC A가 PC C에게 데이터를 보내면 스위치는 목적지 MAC 주소를 확인한 뒤 PC C가 연결된 포트로 프레임을 전달합니다.

    스위치는 어떤 데이터를 전달할까?

    네트워크에서 데이터는 여러 계층을 거치면서 다양한 형태로 표현됩니다.

    스위치는 주로 OSI 2계층인 데이터 링크 계층에서 동작하며, 이 계층에서 사용되는 데이터 단위를 프레임(Frame)이라고 합니다.

    상위 계층   ↓데이터   ↓패킷   ↓프레임   ↓스위치

    스위치는 프레임의 MAC 주소 정보를 확인하여 어디로 전달할지 판단합니다.

    따라서 스위칭을 이해하려면 MAC 주소프레임의 개념을 함께 알아두는 것이 좋습니다.

    MAC 주소란 무엇인가?

    MAC 주소(Media Access Control Address)는 네트워크 장치를 식별하기 위한 주소입니다.

    일반적으로 네트워크 인터페이스에 할당되는 고유한 식별자이며 48비트 형태로 표현되는 경우가 많습니다.

    예를 들어 다음과 같이 표현할 수 있습니다.

    00:1A:2B:3C:4D:5E

    스위치는 이러한 MAC 주소를 이용하여 프레임의 목적지를 확인합니다.

    출발지 MAC00:11:22:33:44:55목적지 MACAA:BB:CC:DD:EE:FF

    스위치는 프레임에 포함된 목적지 MAC 주소를 확인하고 해당 장치가 연결된 포트로 프레임을 전달합니다.

    스위치 포트란 무엇인가?

    스위치에는 여러 개의 포트(Port)가 존재합니다.

    컴퓨터나 서버 등의 네트워크 장치를 케이블로 연결하는 물리적인 접속 지점입니다.

    예를 들어 4개의 포트를 가진 스위치라면 다음과 같이 사용할 수 있습니다.

               스위치       ┌───────────┐PC A ──┤ 1번 포트   │PC B ──┤ 2번 포트   │PC C ──┤ 3번 포트   │PC D ──┤ 4번 포트   │       └───────────┘

    스위치는 각 포트에 어떤 MAC 주소의 장치가 연결되어 있는지 학습할 수 있습니다.

    MAC 주소 테이블이란 무엇인가?

    스위칭에서 가장 중요한 개념 중 하나가 MAC 주소 테이블(MAC Address Table)입니다.

    스위치는 네트워크에서 프레임을 전달하면서 어떤 MAC 주소가 어느 포트에 연결되어 있는지 학습합니다.

    예를 들어 다음과 같은 테이블을 만들 수 있습니다.

    MAC 주소              포트AA:AA:AA:AA:AA:AA → 1번 포트BB:BB:BB:BB:BB:BB → 2번 포트CC:CC:CC:CC:CC:CC → 3번 포트DD:DD:DD:DD:DD:DD → 4번 포트

    이 정보를 이용하면 특정 MAC 주소를 가진 장치가 어느 포트에 연결되어 있는지 알 수 있습니다.

    스위치는 MAC 주소를 어떻게 학습할까?

    스위치는 프레임이 들어오면 출발지 MAC 주소를 확인합니다.

    예를 들어 PC A가 1번 포트에 연결되어 있고 다음과 같은 프레임을 보냈다고 가정해 보겠습니다.

    출발지 MACAA:AA:AA:AA:AA:AA목적지 MACCC:CC:CC:CC:CC:CC

    스위치는 해당 프레임이 1번 포트에서 들어왔다는 사실을 확인합니다.

    그리고 다음과 같이 MAC 주소 정보를 학습할 수 있습니다.

    AA:AA:AA:AA:AA:AA → 1번 포트

    이후 다른 프레임에서도 새로운 MAC 주소를 발견하면 해당 MAC 주소와 포트 정보를 MAC 주소 테이블에 추가합니다.

    이러한 과정을 MAC 주소 학습이라고 합니다.

    스위칭은 어떻게 이루어질까?

    스위칭 과정은 크게 다음과 같이 이해할 수 있습니다.

    프레임 수신    ↓출발지 MAC 주소 확인    ↓MAC 주소 테이블 학습    ↓목적지 MAC 주소 확인    ↓MAC 주소 테이블 검색    ↓해당 포트로 프레임 전달

    예를 들어 PC A에서 PC C로 프레임이 전달된다고 가정하겠습니다.

    PC A │ │ 목적지 MAC = PC C ↓스위치 │ │ MAC 주소 테이블 확인 ↓3번 포트 │ ↓PC C

    스위치는 목적지 MAC 주소가 어느 포트에 연결되어 있는지 확인하고 해당 포트로 프레임을 전달합니다.

    목적지 MAC 주소를 알고 있다면?

    스위치가 목적지 MAC 주소가 어느 포트에 연결되어 있는지 알고 있다면 해당 포트로만 프레임을 전달합니다.

    예를 들어 다음과 같은 MAC 주소 테이블이 있다고 가정하겠습니다.

    AA:AA:AA:AA:AA:AA → 1번 포트BB:BB:BB:BB:BB:BB → 2번 포트CC:CC:CC:CC:CC:CC → 3번 포트

    PC A가 PC C에게 데이터를 보낸다면 스위치는 목적지 MAC 주소를 확인합니다.

    목적지CC:CC:CC:CC:CC:CC        ↓MAC 주소 테이블 검색        ↓3번 포트 확인        ↓3번 포트로 전달

    따라서 다른 포트로 불필요하게 프레임을 전달하지 않을 수 있습니다.

    목적지 MAC 주소를 모른다면?

    스위치가 목적지 MAC 주소를 아직 학습하지 못한 경우도 있습니다.

    이때 스위치는 해당 프레임을 들어온 포트를 제외한 다른 포트로 전달할 수 있습니다.

    이를 플러딩(Flooding)이라고 합니다.

               스위치             │       ┌─────┼─────┐       ↓     ↓     ↓      PC B  PC C   PC D

    PC A에서 들어온 프레임의 목적지 MAC 주소를 스위치가 모르는 경우 PC A가 연결된 포트를 제외한 여러 포트로 프레임을 전달합니다.

    그중 실제 목적지 장치가 응답하면 스위치는 해당 MAC 주소와 포트 정보를 학습할 수 있습니다.

    브로드캐스트 프레임과 스위칭

    스위치는 브로드캐스트 프레임도 처리합니다.

    대표적인 브로드캐스트 MAC 주소는 다음과 같습니다.

    FF:FF:FF:FF:FF:FF

    이 주소를 목적지로 하는 프레임은 같은 브로드캐스트 도메인에 있는 여러 장치에게 전달됩니다.

               스위치             │       ┌─────┼─────┐       ↓     ↓     ↓      PC A  PC B  PC C

    따라서 일반적인 유니캐스트 프레임과 브로드캐스트 프레임은 스위치에서 처리되는 방식에 차이가 있습니다.

    유니캐스트와 스위칭

    유니캐스트(Unicast)는 하나의 송신자가 특정 하나의 수신자에게 데이터를 전달하는 방식입니다.

    예를 들어 PC A가 PC C에게 데이터를 보내는 경우입니다.

    PC A ↓스위치 ↓PC C

    스위치가 PC C의 MAC 주소와 연결된 포트를 알고 있다면 해당 포트로만 프레임을 전달합니다.

    이러한 방식은 불필요한 트래픽을 줄이는 데 도움이 됩니다.

    스위칭과 허브의 차이

    스위칭을 이해하려면 허브(Hub)와 비교해보는 것도 좋습니다.

    허브는 들어온 데이터를 여러 포트로 전달하는 방식으로 동작합니다.

    반면 스위치는 MAC 주소를 학습하고 목적지에 해당하는 포트로 프레임을 전달할 수 있습니다.

    허브PC A → 허브 → PC B             → PC C             → PC D
    스위치PC A → 스위치 → PC B                 PC C                 PC D

    스위치는 목적지 MAC 주소를 알고 있다면 필요한 포트로만 프레임을 전달할 수 있기 때문에 일반적으로 허브보다 효율적인 네트워크 구성이 가능합니다.

    스위칭 방식의 종류

    스위치가 프레임을 처리하는 방식은 여러 가지로 구분할 수 있습니다.

    대표적으로 Store-and-Forward, Cut-Through 등의 방식이 있습니다.

    Store-and-Forward

    Store-and-Forward 방식에서는 스위치가 프레임 전체를 받은 후 프레임을 확인하고 전달합니다.

    프레임 전체 수신       ↓오류 검사       ↓목적지 확인       ↓프레임 전달

    프레임 전체를 확인할 수 있기 때문에 오류 검사가 가능하다는 장점이 있습니다.

    Cut-Through

    Cut-Through 방식은 프레임 전체를 모두 받은 후 전달하는 것이 아니라 목적지 정보를 확인한 뒤 비교적 빠르게 전달을 시작하는 방식입니다.

    프레임 수신   ↓목적지 확인   ↓바로 전달

    전체 프레임을 기다리지 않기 때문에 지연 시간을 줄이는 데 도움이 될 수 있습니다.

    스위칭과 라우팅의 차이

    스위칭과 라우팅은 모두 데이터를 전달하는 과정이지만 사용하는 정보와 범위가 다릅니다.

    스위칭은 주로 MAC 주소를 이용해 같은 네트워크 내에서 프레임을 전달하는 과정입니다.

    라우팅은 주로 IP 주소를 이용해 서로 다른 네트워크 사이에서 패킷의 경로를 결정하고 전달하는 과정입니다.

    스위칭MAC 주소   ↓프레임 전달라우팅IP 주소   ↓패킷 경로 결정 및 전달

    따라서 스위치와 라우터는 네트워크에서 서로 다른 역할을 수행합니다.

    스위칭이 중요한 이유

    스위칭은 오늘날 대부분의 유선 네트워크에서 기본적인 데이터 전달 방식으로 사용됩니다.

    회사나 학교, 데이터센터 등의 네트워크에서는 여러 대의 컴퓨터와 서버가 스위치를 통해 연결됩니다.

                 라우터                │             스위치       ┌────────┼────────┐       ↓        ↓        ↓      PC       서버     프린터

    스위치는 각 장치의 MAC 주소를 학습하고 필요한 포트로 프레임을 전달함으로써 네트워크 장치 간 통신을 가능하게 합니다.

    스위칭을 쉽게 이해하는 방법

    스위칭은 택배 분류 시스템에 비유하면 쉽게 이해할 수 있습니다.

    택배가 물류센터에 들어오면 송장에 적힌 목적지를 확인하고 해당 지역으로 가는 분류 라인으로 보냅니다.

    네트워크에서도 비슷한 과정이 이루어집니다.

    프레임 도착    ↓목적지 MAC 확인    ↓MAC 주소 테이블 확인    ↓연결된 포트 확인    ↓해당 포트로 전달

    즉, 스위치는 네트워크에 들어온 프레임을 확인하고 어느 포트로 보내야 하는지 판단하는 역할을 합니다.

    결론

    스위칭(Switching)은 네트워크 스위치가 프레임의 MAC 주소를 확인하고 목적지 장치가 연결된 포트로 데이터를 전달하는 과정입니다.

    스위치는 프레임의 출발지 MAC 주소를 이용하여 어떤 MAC 주소가 어느 포트에 연결되어 있는지 학습하고, 이를 MAC 주소 테이블에 저장합니다.

    이후 목적지 MAC 주소를 확인하여 해당 장치가 연결된 포트로 프레임을 전달합니다.

    목적지 MAC 주소를 아직 알지 못하는 경우에는 플러딩을 통해 여러 포트로 프레임을 전달할 수 있으며, 브로드캐스트 프레임 역시 같은 브로드캐스트 도메인 내의 여러 장치로 전달됩니다.

    또한 스위칭은 MAC 주소와 프레임을 중심으로 동작하고, 라우팅은 IP 주소와 패킷을 중심으로 동작한다는 차이가 있습니다.

    결국 스위칭은 스위치가 MAC 주소를 기반으로 네트워크 프레임의 목적지를 판단하고 적절한 포트로 전달하는 핵심적인 데이터 전송 과정이라고 할 수 있습니다.

    답글 남기기

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다