스위치 장비의 동작 과정

스위치는 네트워크의 핵심장비 중 하나로, OSI 2계층인 Data Link Layer의 장치이며 MAC 주소 기반으로 동작한다.
MAC Table에서 MAC주소와 포트 번호를 파악하여 들어온 패킷을 목적지로 보낸다. 또한, 패킷을 효율적으로 전송하여 원활한 네트워크 통신이 이루어지도록 하는 것이 스위치의 목적이다.
[주요 역할]
- 동시에 여러 단말이 통신할 수 있도록 한다.
- 패킷 간의 충돌 문제를 방지한다.
- 다른 패킷의 전달이 끝날때까지 대기하는 문제를 해결한다.
[동작 방식]
스위치는 기본적으로 MAC 테이블에 존재하는 도착지 주소를 가진 패킷이 들어오면 매핑된 포트로만 패킷을 전송한다.
또한, 테이블에 존재하지 않는 도착지 주소를 가진 패킷이 들어오면 전체 포트로 패킷을 전송한다.
플러딩, 어드레스 러닝, 포워딩, 필터링

[플러딩]
스위치와 MAC 테이블은 초기에 아무 정보가 없으며 비어있는 상태이다. 이 때 패킷이 들어올 경우, 패킷이 들어온 포트를 제외한 모든 포트로 패킷을 전달한다. 즉, 들어온 패킷의 MAC 주소가 MAC 주소 테이블에 목적지 주소가 없을 경우 들어온 포트를 제외한 나머지 포트로 패킷을 뿌린다는 것이다.
플러딩이 많아지면 스위치가 제 역할을 못하기 때문에, 스위치는 패킷 통신이 이루어질 때마다 MAC 주소를 학습해서 MAC주소 테이블을 만든다.
[어드레스 러닝]
MAC 테이블을 만들고, 유지하는 작업이다. 패킷이 특정 포트에 들어오면 스위치는 일단 해당 패킷의 출발지와 MAC주소, 포트번호를 MAC 주소 테이블에 저장한다.
[포워딩 & 필터링]
포워딩은 스위치가 패킷이 들어온 후 도착지 MAC주소를 확인하고 자신이 가진 MAC 테이블과 비교하여 맞는 정보가 있을 경우, 매칭되는 해당 포트로 패킷을 보내는 것을 말한다.
필터링은 포워딩과 달리, 매칭되지 않은 나머지 포트로는 패킷을 보내지 않는 작업이다.
VLAN (Virtual LAN)

물리적 배치와 상관없이 논리적으로 LAN을 구성할 수 있는 기술이다.
L2 스위치부터 제공되는 가상의 LAN을 구성하는 기능이다.
Switch와 연결된 모든 장비들은 하나의 Broadcast Domain에 포함된다.
스위치와 연결된 장비가 많아지면 많아질 수록 Broadcast의 발생이 점점 많아지기 때문에
Router를 사용해 물리적으로 Network 영역을 구분해야만 한다.
하지만 Router를 사용해 물리적으로 Network 영역을 구분하는 대신
VLAN 기술을 사용하면 논리적으로 Network (즉, Broadcast Domain)를 나눌 수 있다.
[Detail]
- 논리적인 네트워크 (브로드캐스트) 분리 기술이다.
- 식별자를 이용하여 네트워크 이름을 지정한다.
- 스위치 Port에 VLAN에 대한 정보를 설정한다.
- 지정된 Port로 전달되는 트래픽에 추가적포 (VLAN)을 태깅한다.
STP(Spanning Tree Protocol)
[ STP란? ]
이더넷 프레임을 주고 받는 계층인 OSI 2계층의 프로토콜로, 루프 발생 방지를 위해 만들어졌다.
[ SPoF (Single Point of Failure) ]

하나의 시스템이나 구성 요소가 고장났을 경우, 전체 시스템 작동이 중지되는 시스템의 일부를 의미한다.
네트워크를 스위치 하나로 구성하면 스위치 장애가 발생시 전체 네트워크에 영향을 주기 때문에 스위치 두 대로 디자인하는 경우가 있는데 이는 패킷이 네트워크를 따라 계속 전송되므로 네트워크 루프가 발생할 수 있다.
SPoF는 비즈니스 관행, 소프트웨어 응용 프로그램 또는 기타 산업 시스템과 같이 고가용성 및 안정성을 목표로 하는 시스템에서 바람직하지 않다.
[ 루프 (Loop) ]
말그대로 네트워크에 연결된 모양이 고리처럼 되돌아오는 형태로 구성된 상황을 말한다.
네트워크 루프가 발생한다면 네트워크가 마비되고 통신이 불가능한 상황이 오는데, 대부분의 원인은 브로드캐스트 스톰이다.
- 브로드캐스트 스톰
1 | 루프 구조로 네트워크가 연결된 상태에서 단말에 브로드캐스트를 발생시킨다. | |||
2 | 스위치는 패킷이 유입된 포트를 제외한 모든 포트로 플러딩한다. | |||
3 | 플러딩된 패킷은 다른 스위치로도 보내지고, 이 패킷을 받은 스위치느 패킷이 유입된 포트를 제외한 모든 포트로 다시 플러딩한다. |
- 스위치 MAC 러닝 중복 문제
루프 구조 상태에서는 유니캐스트도 문제를 일으킨다. 스위치는 출발지 MAC 주소를 통해 Address Learning을 하는데, 직접 전달되는 패킷과 스위치를 돌아 도착지로 들어간 패킷 간의 포트가 달라 MAC 주소를 정상적으로 학습할 수가 없다. 또한, 스위치 MAC 주소 테이블에서는 하나의 MAC 주소에 대해 하나의 포트만 학습할 수 있는데 동일한 MAC주소가 여러 포트에서 학습되면 MAC 테이블이 반복 갱신되어 정상적으로 동작할 수 없다. |
[ 스위치 포트의 상태 및 변경 과정 ]
STP가 동작중인 스위치에선 루프를 막기 위해 스위치 포트에 신규 스위치가 연결되면 바로 트래픽이 흐르지 않게 차단한다.
그리고 이 포트가 루프 구조가 아닌지 파악하기 위해 BPDU(Bridge Protocol Data Unit)를 기다려 학습 후에 구조를 파악 후 트래픽을 흘리거나 루프 구조인 경우 차단을 유지한다.
차단 상태에서 트래픽이 흐를 때까지 스위치 포트의 상태는 5가지로 구분된다.
- Disabled
- 포트가 닫힌 상태. 포트 고장이 났거나 관리자가 shutdown을 걸어 놓은 상태
- 데이터 송수신 불가 / MAC 주소 학습 불가 / BPDU 송수신 불가
- Blocking
- 패킷 데이터를 차단한 상태로 상대방이 보내는 BDPU를 기다린다.
- Disabled 되었던 포트가 열린 상태
- 총 20초인 Max Age 기간 동안 상대방 스위치에서 BPDU를 받지 못했거단 후순위 BPDU를 받을 때 포트는 리스닝 상태로 변경된다.
- 데이터 송수신 불가 / MAC 주소 학습 불가 / BPDU 송수신 가능
- 기본 교환 주기는 2초며 10번의 BDPU를 기다린다.
- Listening
- 해당 포트가 전송 상태로 변경되는 것을 결정하고 준비하는 단계
- 자신의 BDPU 정보를 상대에게 전송
- 데이터 송수신 불가 / MAC 주소 학습 불가 / BPDU 송수신 가능
- 총 15초 동안 대기
- Learning
- 포트를 포워딩하기로 결정하고 실제로 패킷 포워딩이 일어날 때 스위치가 바로 동작하도록 MAC 주소를 러닝
- 청취 상태에 있던 포트가 15초 (전송 지연 타이머)동안 그 상태를 계속 유지하면 학습 상태로 전환
- 데이터 송수신 불가 / MAC 주소 학습 가능 / BPDU 송수신 가능
- 총 15초 동안 대기
- Forwarding
- 패킷을 포워딩하는 단계, 정상적인 통신 가능
- 데이터 송수신 가능 / MAC 주소 학습 가능 / BPDU 송수신 가능
[ STP 동작 방식 ]
스위치 루프를 예방하기 위한 STP 동작 방식은 다음과 같다.

- 전체 스위치 중 Root 스위치를 선정
: 전체 스위치 중 브리지 ID (BID) 값이 가장 낮은 것이 루트 스위치가 된다. - 루트가 아닌 스위치 중 하나의 Root 포트로 선정
: 루트 스위치가 선택되면, 나머지 모든 스위치에서는 루트 스위치로 제일 빨리 갈 수 있는 경로를 로트 포트로 하나씩 선택한다. - 하나의 세그먼트에 하나의 지정포트 선정
: 지정 포트는 한 세그먼트당 하나를 무조건 선택해야 한다. - Root 포트도, Designated 포트도 아닌 포트인 Alternate Port(대체 Port)를 선출한다. 이 Port는 항상 차단
참고
| https://haeunyah.tistory.com/94
| https://majjangjjang.tistory.com/150
| https://cloudlab.tistory.com/entry/%EC%8A%A4%EC%9C%84%EC%B9%98-VLAN
| https://catsbi.oopy.io/315731e3-1730-4690-ad8f-663e0af7621b
'Network' 카테고리의 다른 글
7) 로드밸런서 (2) | 2022.09.14 |
---|---|
6) 라우터 (2) | 2022.09.12 |
4) 네트워크 통신 (0) | 2022.09.07 |
3-2) 네트워크 구성요소 (0) | 2022.09.05 |
3-1) 네트워크 유형 (0) | 2022.09.05 |