라우터와 스위치 차이: MAC·IP·브로드캐스트 도메인으로 구분하기

반응형

스위치와 라우터는 모두 데이터를 다음 지점으로 전달하지만 판단에 쓰는 정보와 연결하는 범위가 다르다. 전형적인 Layer 2 스위치는 Ethernet 프레임의 MAC 주소를 보고 같은 VLAN 안에서 전달하고, IP 라우터는 패킷의 목적지 IP 주소와 라우팅 테이블을 보고 다른 IP 네트워크로 전달한다.

다만 실제 장비 이름만 보고 역할을 단정하면 안 된다. Layer 3 스위치는 라우팅도 하고, 소프트웨어 라우터는 브리지 기능도 수행할 수 있다. “상자 이름”보다 지금 어떤 계층의 정보를 보고 전달하는지를 확인하는 편이 정확하다.

스위치는 VLAN 안에서 Ethernet 프레임을 전달한다

Layer 2 스위치는 들어온 프레임의 출발지 MAC 주소와 포트를 학습해 FDB(Forwarding Database)를 만든다. 이후 목적지 MAC 주소를 알고 있으면 해당 포트로 프레임을 전달한다.

목적지 MAC을 아직 모르는 unknown unicast나 브로드캐스트는 해당 VLAN의 허용된 여러 포트로 전파될 수 있다. 학습된 MAC 항목은 영구한 정보가 아니며 시간이 지나거나 토폴로지가 바뀌면 갱신된다.

Linux bridge 문서도 포트가 수신 프레임의 출발지 MAC을 학습해 동적 FDB를 갱신하고, 목적지 항목이 없는 unicast를 flood할 수 있다고 설명한다.

VLAN은 하나의 물리 스위치를 여러 논리적 Layer 2 네트워크로 나눈다. 같은 스위치 포트에 연결돼 있어도 서로 다른 VLAN이라면 라우팅 없이는 통신할 수 없다.

라우터는 IP 네트워크 사이에서 다음 홉을 고른다

RFC 1812는 라우터를 IP 데이터그램을 전달해 여러 네트워크를 연결하는 장치로 설명한다. 라우터는 목적지 IP와 라우팅 테이블을 대조해 다음 홉과 출력 인터페이스를 선택한다.

IPv4 패킷을 전달할 때는 TTL도 줄인다. 그래서 일반적인 Layer 2 스위치는 traceroute의 새 홉으로 나타나지 않지만, 라우팅하는 장비는 홉으로 관찰될 수 있다.

라우터를 지날 때 IP 패킷 전체가 매번 새로 만들어지는 것은 아니다. 목적지와 출발지 IP는 보통 유지되지만, 각 링크에 맞게 Ethernet 같은 Layer 2 헤더는 벗겨지고 다음 링크용 헤더로 다시 캡슐화된다. NAT나 터널처럼 IP 정보 자체를 바꾸는 기능은 별도 동작이다.

같은 서브넷과 다른 서브넷의 흐름이 다르다

호스트 A가 목적지 IP를 자신의 서브넷과 비교한다고 생각해 보자.

같은 서브넷에 있는 호스트 B로 보낼 때

  1. A는 ARP(IPv4) 또는 Neighbor Discovery(IPv6)로 B의 링크 계층 주소를 찾는다.
  2. 목적지 MAC이 B인 프레임을 만든다.
  3. 스위치는 FDB를 보고 B가 연결된 포트로 프레임을 전달한다.

다른 서브넷의 서버로 보낼 때

  1. A는 목적지가 로컬 서브넷 밖이라는 사실을 확인한다.
  2. 라우팅 테이블에서 기본 게이트웨이 또는 더 구체적인 경로를 고른다.
  3. ARP나 Neighbor Discovery로 게이트웨이의 MAC 주소를 찾는다.
  4. IP 목적지는 원격 서버로 두되, Ethernet 목적지 MAC은 게이트웨이로 만든다.
  5. 스위치가 프레임을 게이트웨이까지 전달하고, 라우터가 다음 IP 홉을 결정한다.

이 흐름 때문에 “인터넷 서버의 MAC 주소를 알아내서 직접 보낸다”는 설명은 맞지 않는다. 호스트가 먼저 필요한 것은 같은 링크에 있는 다음 홉의 MAC 주소다.

차이를 표로 줄이면

기준 전형적인 Layer 2 스위치 IP 라우터
주로 보는 주소 목적지 MAC 목적지 IP
참조 정보 FDB·MAC address table 라우팅 테이블·FIB
기본 전달 범위 같은 VLAN 서로 다른 IP 네트워크
브로드캐스트 VLAN 안에서 전달 가능 기본적으로 다른 인터페이스로 그대로 전달하지 않음
TTL·Hop Limit 일반적으로 변경하지 않음 전달 시 감소
대표 기능 VLAN, STP, MAC 학습 경로 선택, IP forwarding, 정책 라우팅

보안, QoS, ACL, NAT 같은 기능은 제품과 설정에 따라 스위치와 라우터 양쪽에 존재할 수 있다. 그런 부가 기능보다 기본 전달 기준을 먼저 보는 것이 구분에 도움이 된다.

운영체제에서 관찰할 지점

Linux 호스트에서는 다음 명령으로 계층별 상태를 나눠 볼 수 있다.

# IP 경로와 다음 홉
ip route

# IP와 링크 계층 주소의 이웃 매핑
ip neigh

# Linux bridge의 MAC 학습 결과
bridge fdb show

macOS에서는 route -n get 대상_IP, netstat -rn, arp -a로 비슷한 지점을 확인할 수 있다. 명령 출력만으로 물리 장비의 전체 구성을 확정할 수는 없고, VLAN과 가상 인터페이스·터널·정책 라우팅도 함께 봐야 한다.

IP 라우팅 테이블과 포워딩의 차이는 라우팅 동작 원리, TTL과 실제 홉을 읽는 방법은 네트워크 홉과 traceroute에서 이어진다.

이 글은 표준과 Linux 동작을 기준으로 개념을 교정한 학습 정리다. 특정 네트워크 장비에서 프레임이나 패킷을 캡처해 검증한 사례는 아니다.

참고 자료

반응형
KEEP READING
카테고리 전체 보기 →

댓글