[네트워크] 스위치

windowook·2024년 6월 21일
post-thumbnail

🌱 스위치

스위치는 데이터링크 계층의 네트워크 장비입니다. 그래서 L2 스위치라고도 부릅니다. 스위치의 여러 포트에는 호스트를 연결할 수 있고, MAC 주소를 학습해 특정 MAC 주소를 가진 호스트에만 프레임을 전달할 수 있으며 허브와 달리 전이중 모드의 통신을 지원합니다.

또한, 포트별로 콜리전 도메인이 나뉘어서 CSMA/CD가 필요하지 않습니다.
그래서 프로토콜 대기 시간이 없기 때문에 성능면에서 허브보다 더 좋습니다.
이더넷 네트워크 구성시 스위치를 사용합니다.

스위치는 특정 포트와 해당 포트에 연결된 호스트의 MAC 주소와의 관계를 기억합니다.
이를 통해 원하는 호스트에만 프레임을 전달 가능합니다.
MAC 주소 학습을 위해서는 포트와 연결된 호스트의 MAC 주소 간의 연관 관계를 메모리에 표 형태로 기억합니다.

🌱 MAC 주소 학습

플러딩

스위치의 MAC 주소 학습은 프레임 내 '송신지 MAC 주소' 필드로 진행합니다. 스위치가 호스트 A에서 프레임을 수신하면, 프레임 내 '송신지 MAC 주소' 정보를 바탕으로 호스트 A의 MAC 주소와 연결된 포트를 MAC 주소 테이블에 저장합니다. 하지만 스위치에 있는 수신지 주소인 C는 알지 못합니다.

그래서 스위치는 마치 허브처럼 송신지 포트를 제외한 모든 포트로 프레임을 전송하며, 플러딩이라고 합니다. 프레임을 전달받은 B, C, D 중에서 B, D는 이를 폐기합니다.

필터링

호스트 C는 스위치로 응답 프레임을 전송합니다. 프레임의 '송신지 MAC 주소' 필드에는 호스트 C의 MAC 주소를 명시합니다. 이를 통해 스위치는 호스트 C의 MAC 주소와 연결된 포트를 알아내어 이 정보를 MAC 주소 테이블에 기록합니다.

이렇게 하면 스위치는 호스트 A, C의 MAC 주소와 연결된 포트를 알고 있기 때문에 두 호스트가 프레임을 주고받을 때는 다른 포트로 프레임을 내보낼 필요가 없습니다. 이 과정을 필터링이라고 합니다.

포워딩

프레임이 전송될 포트에 실제로 프레임을 내보내는 것을 포워딩이라고 합니다.

에이징

만약 MAC 주소 테이블에 등록된 특정 포트에서 일정 시간 동안 프레임을 전송받지 못했다면 해당 항목은 삭제합니다. 이를 에이징이라고 합니다.

🌱 VLAN

가상 LAN, Virtual LAN입니다.
허브는 송신지 포트를 제외한 모든 포트로 신호를 내보내기 때문에 네트워크상에 불필요한 트래픽이 늘어날 수 밖에 없어서 성능 저하가 불가피합니다.

스위치를 사용해도 마찬가지입니다. 스위치에 연결된 호스트 중에서도 굳이 같은 네트워크에 속할 필요가 없는 호스트가 존재할 수 있습니다. 근데 이들을 분리하려고 매번 새로운 스위치 장비에 구분하는 것도 낭비입니다. 이 상황을 대처하기 위해서 구성하는 것이 VLAN입니다.

VLAN을 구성하게 되면 한 대의 물리적 스위치라 해도 여러 대의 스위치가 있는 것처럼 논리적인 단위로 LAN을 구성할 수 있습니다. 호스트의 물리적 위치와 관계없이 논리적인 LAN을 구성하는 것입니다.
VLAN을 두 개 구성하여 호스트들을 분리해놓으면 호스트들은 물리적인 거리와 관계없이 다른 LAN에 있는 것처럼 인식 가능합니다.

VLAN 1에 속한 호스트가 VLAN 2에 속한 호스트와 통신하고자 한다면 데이터링크 계층의 장비가 아니라 네트워크 계층 이상의 상위 계층 장비가 필요합니다.

그리고 VLAN에 속하게 되면 브로드캐스트 도메인도 달라집니다. VLAN에 있는 호스트가 브로드캐스트를 해도 다른 VLAN에 있는 호스트에게까지는 전달되지 않습니다. 서로 다른 네트워크이기 때문입니다.

포트 기반 VLAN

가장 대중적인 방식의 VLAN 구성 방식입니다. 스위치의 포트가 VLAN을 결정하는 방식입니다.
사전에 특정 포트에 VLAN을 할당하고, 해당 포트에 호스트를 연결함으로써 VLAN에 포함 가능합니다.

하지만 한 대의 스위치만으로 포트 기반 VLAN을 설정하면 포트 수가 부족할 수 있습니다.
VLAN 스위치 여러 대를 구비해 같은 VLAN 포트끼리 연결하여 확장하는 방법도 있으나 낭비에 가깝습니다.

VLAN 트렁킹

그래서 포트 수가 부족할 때 VLAN 트렁킹을 사용합니다.
두 대 이상의 VLAN 스위치를 효율적으로 연결하여 확장하는 방법입니다.
스위치 간의 통신을 위한 특별한 포트인 트렁크 포트에 VLAN 스위치를 연결하는 방식입니다.

스위치 1, 스위치 2의 트렁크 포트를 사용하면 낭비되는 포트를 최소화하는 동시에 같은 스위치에 직접 연결하고 있지 않아도 같은 VLAN에 속하도록 네트워크를 구성 가능합니다.

MAC 기반 VLAN

포트가 LAN을 결정하는 것이 아니라 송수신하는 프레임 속 MAC 주소가 호스트가 속할 VLAN을 결정하는 방식입니다.

profile
안녕하세요

0개의 댓글