network

[network] 혼자 공부하는 네트워크 02-4 스위치 (240718)

hail2y 2024. 7. 18. 21:11

허브의 충돌 문제

  • CSMA/CD로 어느 정도 완화할 수 있었지만 보다 근본적인 해결 방법이 있다
  • 전달받은 신호를 수신지 호스트가 연결된 포트로만 내보내고, 전이중 모드로 통신하면 된다
  • 다시 말해서 "주소 개념이 존재하는" 네트워크 장비이면 된다

 

이를 위한 장비가 바로 스위치(switch)

  • 허브와는 달리 특정 MAC 주소를 가진 호스트에만 프레임 전달 가능
    - 어떤 포트에 어떤 MAC 주소를 가지고 있는 호스트가 연결되어 있는지를 식별할 수 있다
    - 콜리전 도메인(collision domain)은 허브보다 작다
  • 전이중 모드 통신 지원
    - CSMA/CD 프로토콜이 필요하지 않음

https://www.netgear.com/kr/business/wired/switches/fully-managed/gsm4352/

cf. L2 스위치(L2 switch)

- 2계층에서 사용한다 하여 L2 스위치

- 4계층까지의 기능을 포괄하는 스위치는 L4 스위치

 

* 스위치의 주요 기능

- 스위치의 MAC 주소 학습 기능

  • 전달받은 신호를 원하는 포트로만 내보냄
  • 포트별로 콜리전 도메인이 나누어지기에 충돌 위험이 감소

- 스위치의 VLAN 기능

  • Virtual LAN; 가상의 LAN
  • 논리적으로 LAN을 분리하는 가상의 LAN, VLAN 구성 가능

 

1. 스위치의 MAC 주소 학습 기능 (MAC address learning)

    • 특정 포트와 해당 포트에 연결된 호스트의 MAC 주소와의 관계를 기억
    • 원하는 호스트에만 프레임을 전달
    • MAC 주소 테이블(MAC address table): 스위치 포트와 연결된 호스트의 MAC 주소간의 연관 관계를 나타내는 정보
    • 이 테이블이 어떻게 생성되고 관리되는지는 '플러딩', '포워딩과 필터링', '에이징' 용어와 관련

  • MAC 주소 학습: 프레임 내 송신지 MAC 주소 필드를 바탕으로 이루어짐
  • 송신지 호스트의 프레임만 보고 수신지 호스트가 연결된 포트는 알 수 없음
  • 플러딩(flooding): 허브처럼 모든 포트로 프레임 전송
  • 송신지 호스트 제외 다른 호스트들이 프레임을 수신 → 필요없는 호스트의 경우 프레임 폐기

https://packetlife.net/blog/2010/jun/4/blocking-unknown-unicast-flooding/

  • 목적지 MAC 주소와 일치하는 수신지 호스트는 스위치로 응답 프레임을 전송
  • '송신지 MAC 주소' 필드로 수신지 호스트의 주소를 학습, MAC 주소 테이블에 기록
  • 이제 호스트 A와 C가 프레임을 주고받을 때는 다른 포트로 프레임을 내보낼 필요가 없음

https://www.youtube.com/watch?v=Q9yiKrR1lWI&list=PLVsNizTWUw7HfOCgvlfHIDPPo3TE-2iQM&index=18

- 에이징(aging)

  • 만약 MAC 주소 테이블에 등록된 포트에서 일정 시간 동안 프레임을 받지 못하면 해당 학목은 삭제
  • 일정 시간 동안 '송신지 MAC 주소'가 ab:cd:ab:00:01인 프레임을 1번 포트에서 못 받으면 이 항목은 삭제

cf. 데이터 링크 계층의 또다른 장비, 브리지(bridge)

  • 데이터 링크 계층의 스위치와 유사한 장비
  • 네트워크 영역을 구획하여 콜리전 도메인을 나누거나 네트워크를 확장
  • 브리지는 앞서 설명한 스위치의 기능들도 제공
    - MAC 주소를 학습, 포워딩, 필터링

https://www.youtube.com/watch?v=Q9yiKrR1lWI&list=PLVsNizTWUw7HfOCgvlfHIDPPo3TE-2iQM&index=18

  • 하지만, 단일 장비로서의 브리지는 스위치에 비해 사용 빈도가 줄어드는 추세
  • 일반적으로 스위치의 기능이 더 다양하고 성능도 우수하기 때문
  • 그러나 '브리지' 용어는 여기저기서 사용되므로 알아야 함 

2. 스위치의 VLAN 기능

    • VLAN(Virtual LAN): 한 대의 스위치로 가상의 LAN을 만드는 방법
    • 불필요한 트래픽(허브, 스위치의 플러딩)으로 인한 성능 저하 방지
    • 한 대의 물리적 스위치를 여러 대의 스위치가 있는 것처럼 논리적인 단위로 LAN을 구획
    • "한 대의 물리적 스위치라 해도", "마치 여러 대의 스위치가 있는 듯이", "호스트의 물리적인 위치와 관계 없이"
    • VLAN은 사실상 다른 LAN: 서로 다른 네트워크로 간주, 브로드캐스트 도메인 달라짐

https://www.youtube.com/watch?v=Q9yiKrR1lWI&list=PLVsNizTWUw7HfOCgvlfHIDPPo3TE-2iQM&index=18

- VLAN1에 속한 개발부가 VLAN2의 총무부와 통신하려면, 2계층의 장비가 아니라 3계층 이상의 장비가 필요하다. 

- 네트워크 간의 통신을 해야 한다.

VLAN의 종류 ① 포트 기반 VLAN(port based VLAN)

  • 정적 VLAN
  • 일반적인 VLAN이라고 했을 때 포트 기반 VLAN을 지칭하는 경우가 많음
  • 스위치의 포트가 VLAN을 결정하는 방식 
  • 특정 포트에 VLAN을 할당한 뒤, 해당 포트에 호스트를 연결하여 VLAN에 참여

https://brainbell.com/tutorials/Networking/Protocol-based_VLANs.html#google_vignette

VLAN의 종류 MAC 기반 VLAN(MAC based VLAN)

  • 동적 VLAN
  • 사전에 설정된 MAC 주소에 따라 VLAN이 결정
  • 송수신하는 프레임 속 MAC 주소가 호스트가 속할 VLAN을 결정하는 방식

https://brainbell.com/tutorials/Networking/Protocol-based_VLANs.html

cf. VLAN Membership

- 특정 장치나 포트가 어느 VLAN에 속해 있는지를 나타낸다.

- 이외에도 프로토콜 기반 VLAN(Protocol-based VLAN), 서브넷 기반 VLAN(Subnet-based VLAN)이 있다.