Skip to content

Switch

네트워크 스위치는 받은 패킷을 어느쪽으로 보낼지 결정하는 역할을 하는 하드웨어이다.

스위치는 어떤 정보를 기준으로 스위칭을 하느냐에 따라 L1, L2, L3, L4, L7 스위치 등 다양한 종류가 있다.

L1

허브를 L1 스위치라고 부르기도 한다.

L2

L2 스위치는 스위치 패킷이 왔을 때, 그 패킷의 목적지가 어디인지를 본 후에 해당 목적지로 보내주는 역할을 수행한다. 2계층 주소인 MAC 주소를 기반으로 스위칭한다.

허브가 한 포트로 신호가 들어오면 같은 신호를 다른 모든 포트로 전달하는 것에 비해서, 스위치는 신호를 필요로 하는 포트에만 신호를 전달하기 때문에 속도가 빠르다.

스위치가 이 기능을 수행하기 위해서는 지나가는 트래픽의 목적지를 정확히 알아야 하니, 자신과 연결된 장비들의 맥 주소와 그 장비가 연결되어 있는 포트 번호를 기억해야 한다. 그리고서 자신이 아는 MAC 주소로 데이터가 오면 알고 있던 포트로 데이터를 전달한다.

여기서 아는 MAC들은 MAC Table이라는 곳에 저장되고, Switch가 이 MAC Table을 생성하고 참조하여 수신되는 프레임을 목적지로 전송하는 과정을 Transparent Bridging이라고 한다. (IEEE 802.1D에 표준으로 정의되어 있다.)

그 과정은 아래와 같다.

  1. Learning: 이더넷 프레임이 수신되면, source MAC address를 읽어서 수신 port 번호와 함께 MAC Table에 기록한다.

  2. Flooding: Destination MAC address가 MAC Table에 등록되어 있지 않은 Unicast 프레임(Unknown Unicast)이거나, ARP Request와 같은 브로드캐스트인 경우, 수신 port를 제외한 다른 모든 port로 프레임을 전송한다. 허브에서 데이터를 전송하는 것도 Flooding이라 부른다.

  3. Filtering: Destination MAC address가 MAC Table에 등록되어 있고, 등록되어 있는 port 번호가 프레임이 수신된 port 번호와 동일한 경우 해당 프레임이 포워딩 당하지 않도록 차단한다.

  4. Forwarding: Destination MAC address가 MAC Table에 등록되어 있고, 등록되어 있는 port 번호가 프레임이 수신된 port 번호와 동일하지 않은 Unicast인 경우 등록되어 있는 port로 프레임을 전송한다.

  5. Aging: MAC Table에 Entry가 등록될때 Timer도 같이 start 되며, 해당 Entry의 MAC address를 source MAC으로 하는 프레임이 수신되면 Timer가 reset 되어 다시 시작된다.

Timer가 경과되면 해당 Entry는 MAC Table에서 삭제된다. TTL 같은 개념이다

패킷 정보를 읽어서 MAC 주소를 판단하는 것도 아래와 같은 여러 방식들이 있는데, 주로 cut-through를 사용한다고 한다.

방식설명
cut-through수신된 frame의 목적지 주소만 확인 후 forwarding
store-and-forwarding수신 frame 전체 수신 및 체크 후 forwarding
Fragment FreeFrame 앞 64byte만 읽고 에러 처리, 포워딩

장점

  • 구조가 간단하고 가격이 저렴하지만, 신뢰성과 성능이 높다.
  • CPU에 의한 소프트웨어 처리가 아닌 ASIC 하드웨어에 의한 수행으로 인해 속도가 빠르고, 네트워크를 미세하게 분할하기 때문에 실사용자에게 대역폭을 최대한 할당할 수 있다.
  • 특정 세그먼트로의 트래픽을 고립 시켜 전체 가용 대역폭을 증가시킨다.
  • LAN 스위치에 의한 가상 LAN 기능을 구현할 수 있다.

단점

  • 브로트캐스트 패킷에 의해 성능 저하가 발생할 수 있다.
  • 라우팅 및 상위 레이어 프로토콜을 이용한 스위칭이 불가능하다.

보통 스위치라고 하면 이 L2 스위치를 일컫는 것이라 생각하면 된다.

L3

L3 스위치는 자신에게 온 패킷의 목적지가 외부에 존재하는 IP일 경우 그 패킷을 외부에 연결된 라우터로 보내줄 수 있다. 라우터 기능도 탑재되어 라우터와의 경계가 모호한 편이다.

L3 스위치로 포트간 패킷 스위칭을 위해 패킷의 IP나 IPX 주소를 읽어서 스위칭을 하며 통신 경로를 한번만 설정한다. 해당 프로토콜을 쓰는 패킷에 대해 스위칭이 가능하고, IP나 IPX 주소가 OSI 7계층 중 3계층에 해당함으로 L3 스위치라 한다. L2 스위치에 라우팅을 추가하고 고성능 하드웨어를 대부분 기초로 하였기 때문에 기본구성은 L2와 동일하다.

장점

  • 브로드캐스트 트래픽으로 인한 성능 저하가 방지된다.
  • 트래픽을 체크할 수 있다.
  • 가상 랜, 라우터 등의 많은 부가 기능들을 가진다.

단점

  • 특정 프로토콜을 이용해야 스위칭이 가능하다.

L4

L4 스위치는 웹 트래픽, FTP 트래픽과 같이 정해진 서비스 포트를 보고 트래픽을 스위칭해주는 장비이다. L3와 같이 프로토콜을 기반으로 하며, 어플리케이션별로 우선 순위를 두어 스위칭이 가능하다.

여러대의 서버를 1대처럼 묶을 수 있는 부하 분산 (Load Balancing) 기능 또한 제공한다.

L7

L7 스위치는 데이터 안의 실제 내용까지 조회해 보고 특정 문자열이나 특정 명령을 기준으로 트래픽을 스위칭한다.

HTTP의 URL, 또는 FTP의 파일명, 쿠키 정보, 특정 바이러스의 패턴 등을 분석하여 보안에 더 유리하고 정교한 로드 밸런싱이 가능해진다. 해커의 공격을 막는 웹 방화벽, 보안 스위치 등이 여기에 포함될 수 있다.


참고