Link-Layer Switches

youngwiki
Pinkgo (토론 | 기여)님의 2025년 5월 22일 (목) 23:57 판

상위 문서: Switched Local Area Networks

개요

스위치(switch)는 link layer에서 작동하며, 프레임을 받아서 이를 송신 링크(link)로 forwarding하는 역할을 한다. 이더넷(Ethernet) 스위치는 능동적인(actice) 역할을 수행하는데, 이는 단순히 신호를 전달하는 것이 아니라, 프레임을 store-and-forward하고 수신한 프레임의 MAC 주소를 검사하여 적절한 포트로 selectively forwarding하기 때문이다. 또한 스위치는 transparent한데, 이는 호스트들은 스위치의 존재를 인식하지 못한다는 의미이다. 즉, 스위치는 네트워크에 있어도 사용자에게는 감춰진 존재이다.

Forwarding and Filtering

Filtering은 프레임을 어떤 인터페이스로 전달할지 혹은 단순히 버릴지(drop)를 결정하는 스위치 기능이다. 또한, forwarding은 프레임을 어느 인터페이스로 보낼지를 결정하고, 실제로 그 인터페이스들로 프레임을 이동시키는 기능이다. 스위치의 filtering과 forwarding은 스위치 테이블(switch table)을 사용하여 수행된다. 스위치 테이블에는 LAN에 있는 일부 호스트 및 라우터들에 대한 항목이 저장되어 있다. 스위치 테이블의 각 항목은 MAC 주소와, 해당 MAC 주소로 이어지는 스위치 인터페이스, 해당 항목이 테이블에 저장된 시각을 의미한다:

Switch Table Example
Address Interface Time
62-FE-F7-11-89-A3 1 9:32
7C-BA-B2-B4-91-10 3 9:36
... ... ...

이러한 프레임 forwarding 방식은 데이터그램 forwarding 방식과 비슷한 면이 많다. 하지만 중요한 차이점은 스위치는 MAC 주소 기반으로 프레임을 전달하며, 라우터는 IP 주소 기반으로 데이터그램을 전달한다는 것이다. 또한, 전통적인 스위치 테이블[1]은 라우터의 포워딩 테이블(forwarding table)과는 매우 다른 방식으로 구축된다.

스위치의 filtering과 forwarding이 어떻게 작동하는지를 이해하기 위해, 목적지 주소가 DD-DD-DD-DD-DD-DD인 프레임이 인터페이스 x에서 스위치로 도착한다고 가정하자. 이때 스위치는 MAC 주소 DD-DD-DD-DD-DD-DD을 이용해 스위치 테이블을 탐색한다. 이때 다음 세 가지 경우가 존재한다:

  1. 해당 목적지 MAC 주소에 대한 항목이 테이블에 저장되어 있지 않은 경우
    • 이 경우, 스위치는 프레임의 복사본을 인터페이스 x를 제외한 모든 출력 인터페이스 버퍼에 전송한다.
    • 즉, 목적지 주소에 대한 정보가 없을 경우, 스위치는 프레임을 브로드캐스트한다.
  2. 해당 프레임이 인터페이스 x에서 전송되었고, 목적지 MAC 주소도 인터페이스 x 방향인 경우
    • 이는 프레임이 이미 목적지와 같은 LAN 세그먼트에서 브로드캐스트된 것이며, 프레임이 목적지에 이미 도달했거나 도달 가능한 상태이므로 스위치는 프레임을 폐기한다. 즉, filtering 기능을 수행한다.
  3. 해당 프레임이 인터페이스 x에서 전송되었고, 목적지 MAC 주소가 인터페이스 y(단, y ≠ x)에 연결된 것으로 테이블에 저장되어 있는 경우
    • 이 경우, 프레임은 인터페이스 y에 연결된 LAN 세그먼트로 전달되어야 한다. 즉, forwarding 기능을 수행한다.

위에서 예시로 보여진 스위치 테이블을 바탕으로 목적지 MAC 주소가 62-FE-F7-11-89-A3인 프레임이 인터페이스 1로부터 스위치에 도착한 상황을 가정하자. 스위치는 자신의 테이블을 확인하고, 해당 목적지가 인터페이스 1에 연결된 LAN 세그먼트에 있다는 것을 확인한다. 이는 해당 LAN 세그먼트에서 프레임이 브로드캐스팅된 결과이므로, 스위치는 프레임을 filtering한다. 만약 동일한 목적지 주소를 가진 프레임이 인터페이스 2로부터 도착했다면, 스위치는 다시 테이브를 확인하고 해당 목적지가 인터페이스 1 방향에 있다는 것을 확인한다. 따라서 스위치는 프레임을 인터페이스 1에게 forwarding한다.

Self-Learning

스위치 테이블은 자동으로, 동적으로, 자율적으로 구성된다. 즉, 네트워크 관리자나 어떤 프로토콜의 개입 없이 스위치는 스스로 학습(self-learning)한다. 이 기능은 다음과 같은 방식으로 작동한다:

  1. 스위치 테이블은 초기에는 비어 있다.
  2. 각 인터페이스에서 프레임이 수신될 때마다, 스위치는 테이블에 다음 정보를 저장한다:
    1. 프레임의 출발지 주소 필드에 있는 MAC 주소
    2. 프레임이 도착한 인터페이스 번호
    3. 현재 시각
    • 이러한 방식으로, 스위치는 송신자가 어떤 LAN 세그먼트에 있는지를 테이블에 기록한다.
    • 만약 LAN의 모든 호스트가 프레임을 하나씩 전송한다면, 모든 호스트가 스위치 테이블에 기록된다.
  3. 일정 시간[2] 동안 해당 MAC 주소를 출발지 주소로 하는 프레임이 도착하지 않으면, 스위치는 테이블에서 해당 주소를 삭제한다.
    • 이를 통해, 만약 한 PC가 다른 PC로 교체되어 다른 MAC 주소를 가지게 된다면, 원래 PC의 MAC 주소는 결국 스위치 테이블에서 제거된다.

스위치는 플러그 앤 플레이(plug-and-play) 장비이므로, 네트워크 관리자나 사용자의 개입 없이 작동한다. 따라서 네트워크 관리자가 스위치를 설치하고자 할 경우 할 일은 LAN 세그먼트들을 스위치의 인터페이스에 연결하는 것뿐이다. 또한 어떤 호스트가 LAN 세그먼트에서 설치되거나 제거될 때, 스위치 테이블을 설정할 필요가 없다. 또한, 스위치는 전이중(full-duplex)을 지원하므로, 스위치의 어떤 인터페이스라도 동시에 송신과 수신이 가능하다.

Properties of Link-Layer Switching

스위치는 아래와 같은 기능과 특성들을 가지고 있다:
1. 충돌의 제거 (Elimination of collisions)
스위치들로 구성된 LAN에서는 충돌로 인한 대역폭 낭비가 없다. 스위치는 프레임들을 버퍼에 저장하고, LAN 세그먼트에 한 번에 하나의 프레임만 전송한다. 라우터와 마찬가지로, 스위치의 최대 총 처리량(aggregate throughput)은 모든 스위치 인터페이스의 전송률 합계와 같다.

2. 이기종 링크 지원 (Heterogeneous links)
스위치는 한 링크를 다른 링크로부터 격리하기 때문에, LAN 내의 각 링크는 서로 다른 속도로 작동하거나 서로 다른 매체를 사용할 수 있다.

3. 관리 기능 (Management)
스위치는 보안 기능 향상외에도, 네트워크 관리 측면에서도 유리하다. 예를 들어, 어떤 어댑터가 고장나서 지속적으로 이더넷 프레임을 송신하는 경우 스위치는 이를 감지하고 해당 어댑터를 차단(disconnect)할 수 있다. 또한 케이블이 끊어진 경우, 해당 케이블로 스위치에 연결된 호스트 하나만 연결이 끊어지므로, 전체 네트워크에서 어디에 문제가 생겼는지 쉽게 찾아낼 수 있다.

Switches Vs. Routers

라우터는 store-and-forward 방식의 패킷 스위치이며, IP 주소를 통해 패킷을 전달한다. 마찬가지로 스위치 또한 store-and-forward 방식의 패킷 스위치이지만, 라우터와 근본적으로 다른 점은 스위치는 MAC 주소를 활용하여 패킷을 전달한다는 점이다. 물론 현대의 스위치는 "match + action" 기능을 활용하여 프레임의 MAC 주소뿐만 아니라 IP 주소를 기반으로도 forwarding할 수 있다. 그렇다면 스위치와 라우터는 각각 어느 상황에서 사용되는 것인가?

스위치의 장점은 플러그 앤 플레이를 지원하기 때문에 네트워크 관리를 상당 부분 쉽게 할 수 있다는 것이다. 또한 라우터에 비해서 network layer를 처리할 필요가 없으므로 높은 filtering/forwarding 속도를 가지고 있다.
하지만 스위치의 단점은 브로드캐스트 프레임의 순환(cycling)을 방지하기 위해, 스위치 기반 네트워크의 활성 토폴로지는 스패닝 트리(spanning tree)로 제한된다는 것이다. 만약 스위치들이 순환 연결되어 있는 구조를 가지고 있다면, 브로드캐스트 프레임이 끊임없이 순환하며 네트워크를 마비시킨다. 또한 대규모 switched LAN에는 대용량의 ARP 테이블이 필요하므로, 이를 처리하는데에 상당한 양의 트래픽과 오버헤드가 발생한다. 또한 브로드캐스트 폭풍(Broadcast storm)에 취약하다는 단점이 있다. 이는 어떤 호스트가 이상 동작하여 이더넷 브로드캐스트 프레임을 무한히 전송한다면, 스위치는 이를 모두 전달하여 네트워크 전체가 마비될 수 있기 때문이다.

라우터의 장점은 IP 주소는 계층적(hierarchical)으로 구성되기 때문에 네트워크에 중복 경로가 있어도 패킷이 순환하지 않는다는 것이다. 따라서 라우터 기반의 네트워크는 스패닝 트리 형태로 토폴로지가 제한되지 않고 최적의 경로를 사용할 수 있다는 장점이 있다. 또한, 라우터는 link layer로부터의 브로드캐스트 폭풍으로부터 방화벽(firewall) 수준의 보호를 제공한다는 장점이 있다.
하지만 라우터는 플러그 앤 플레이 방식이 아니므로, 라우터와 연결된 호스트 모두에 IP 주소 설정이 필요하다는 단점이 있다. 또한 라우터는 스위치에 비해서 network layer를 추가로 처리해야 하므로, 패킷당 처리 시간이 더욱 길다는 단점이 있다.

따라서 소규모 네트워크[3]에서는 스위치만으로 충분하다. 하지만 대규모 네트워크의 경우, 스위치 외에 내부적으로 라우터도 포함하여 트래픽을 더 잘 격리하고 브로드캐스트 폭풍을 통제하며, 네트워크 내에서 더 지능적인 경로 선택을 가능하게 해야 한다.


각주

  1. 즉, SDN이 아닌 맥락에서의
  2. 이 일정 시간은 aging time이라고 한다.
  3. 예: 수백 개의 호스트와 몇 개의 LAN 세그먼트로 구성되는 경우