-
스위치
스위치는 2계층의 장비로, 네트워크에서 가장 핵심적인 역할을 합니다.
MAC 주소를 인식하고 패킷을 올바른 곳으로 전달하며,
논리적으로 네트워크를 분리할 수 있는 VLAN,
네트워크의 루프를 방지하는 STP(Spanning Tree Protocol) 등 보안과 모니터링 기능들을 사용합니다.
스위치 동작 과정
스위치는 플러딩, 어드레스 러닝, 포워딩/필터링 3가지 과정을 거쳐 동작합니다.
스위치는 통신을 이어주기 위해 네트워크 내에 있는 기기들의 MAC 주소를 저장하는데,
이를 MAC 주소 테이블이라 합니다.
플러딩(Flooding)
스위치는 부팅하면 네트워크 관련 정보를 가지고 있지 않습니다.
따라서 통신이 들어오면 제 역할을 하지 못하고 모든 포트로 패킷을 전달합니다.
이러한 동작을 플러딩이라 합니다.
어드레스 러닝(Address Learning)
통신을 연결할 때마다 플러딩하게 되면 네트워크에 부담이 가게 되기 때문에
패킷이 스위치에 들어오면 해당 패킷의 MAC 주소를 MAC 주소 테이블에 저장합니다.
이를 어드레스 러닝이라 합니다.
포워딩/필터링(Forwading/Filtering)
패킷이 들어오게 되면 테이블의 MAC 주소를 비교하여 맞는 정보가 있으면
패킷의 도착지 MAC 주소로 패킷을 전달합니다.
패킷을 전달하는 것을 포워딩이라 하며,
다른 곳으로는 패킷을 보내지 않기 때문에 필터링이 동시에 진행됩니다.
기본적으로 유니캐스트에 대해서만 포워딩/필터링 작업을 수행하며
브로드캐스트, 멀티캐스트는 플러딩합니다.
VLAN(Virtual Lcal Area Network)
VLAN이란 하나의 물리 스위치에서 논리적으로 네트워크를 분할, 구성하는 기술입니다.
과도한 브로드캐스트로 인한 성능 저하, 보안 향상, 서비스 정책 적용과 같은 이유로 VLAN을 적용합니다.
VLAN은 하나의 장비에서 분리된 것이더라도 논리적으로 분할했기 때문에
VLAN간에 통신이 불가능합니다.
VLAN끼리 통신하기 위해서는 3계층 장비가 필요합니다.
VLAN은 포트 또는 MAC 주소를 기준으로 분리가 가능합니다.
Trunk/Access
VLAN을 나누려면 VLAN의 개수만큼 포트를 할당해주어야 합니다.
그 대신 패킷 내부에 VLAN ID를 끼워 넣어 포트 하나로만 통신하는 포트를
태그(Tagged) 포트 또는 트렁크(Trunk) 포트라고 합니다.
반대로 일반적인 포트를 언태그(Untagged) 포트 또는 액세스(Access) 포트라 합니다.
여러 VLAN이 한꺼번에 통신하도록 해주는 포트가 트렁크 포트이고,
액세스 포트는 하나의 VLAN에만 속해있습니다.
STP(Spanning Tree Protocol)
네트워크를 단일 네트워크로 구성한 경우 하나의 시스템이나 구성 요소에서 고장이 발생하면
전체 시스템의 작동이 멈출 수 있습니다.
이를 SPoF(단일 장애점)이라고 합니다.
SPoF를 피하기 위해 스위치 2대로 디자인하면 패킷이 계속 전송, 루프되어
네트워크를 마비시킬 수 있습니다.
- 브로드캐스트 스톰 :
포트 → 플러딩 → 포트 → 플러딩 → ... 처럼 루프에 빠져
네트워크의 모든 단말이 브로드캐스트를 처리하기 위해 리소스를 사용하게 됩니다. - 스위치 MAC 러닝 중복 문제 :
MAC 주소 테이블은 MAC 주소 당 포트가 1:1 대응되므로
하나의 MAC 주소가 여러 포트에서 학습될 경우 테이블이 반복 갱신되어 정상적으로 동작하지 않습니다.
위와 같은 문제를 해결하기 위해 자동으로 루프를 찾아 해결하는 STP가 개발되었습니다.
STP가 동작 중인 스위치에서는 새로운 스위치가 연결되면 트래픽을 차단합니다.
그리고 네트워크의 구조를 파악해서 트래픽을 흘리거나,
루프 구조인 경우 차단 상태를 유지합니다.
포트의 상태는 4가지로 구분할 수 있습니다.
- Blocking :
패킷 흐름을 차단한 상태로 루프 확인 데이터를 기다립니다.
데이터를 받지 못하면 Listening 상태로 들어갑니다. - Listening :
해당 포트가 전송 상태로 변경되는 것을 결정하고 준비합니다. - Learning :
MAC 주소를 러닝합니다. - Forwading :
패킷을 포워딩합니다.
STP 동작 방식
- 루트 스위치를 선정합니다.
- 루트가 아닌 스위치 중 하나의 루트 포트를 선정합니다.
- 하나의 세그먼트에 하나의 지정 포트를 선정합니다.
'네트워크' 카테고리의 다른 글
14. 로드밸런서 (0) 2022.09.15 13. 라우터 (1) 2022.09.14 11. ARP (0) 2022.09.09 10. TCP/UDP (0) 2022.09.09 09. MAC, IP (0) 2022.09.09 - 브로드캐스트 스톰 :