1) 스위치란?
▶ 스위치(Switch)란?
- 스위치(Switch) : Ethernet 프레임을 기반으로 목적지 MAC 주소를 조회하여, 적절한 출력 포트를 결정하고 전달하는 L2 중심 네트워크 장비
- 스위치는 전송하려는 패킷의 헤더 안에 있는 MAC 주소를 확인하고, 'MAC 주소 테이블'에서 해당 주소가 어느 포트에 있는지 확인해 해당 패킷을 그 포트로만 전송
▶ 왜 필요할까?

- 초기 네트워크는 허브(Hub) 기반이었음
- 허브는 들어온 데이터를 모든 포트 broadcast!
- 목적지 구분 없이 보내기 때문에 불필요한 트래픽이 증가하고, 모든 데이터가 노출되어 보안에 취약함
- but, 스위치는 MAC 주소를 기반으로 목적지 포트만 선택하여 전송
+) Hub vs Switch
| 구분 | 허브 | 스위치 |
| 동작 계층 | L1 | L2 |
| 전달 방식 | 무조건 Flooding | MAC 기반 Forwarding |
| 충돌 도메인 | 전체 공유 | 포트별 분리 |
| 보안 | 매우 취약 | 상대적으로 안전 |
2) 스위치의 기본 동작 (MAC 기반)
▶ MAC 주소 기반 전달
(1) Flooding → (2) Address Learning → (3) Forwarding → (4) Filtering

- Flooding (Unknown Destination)
- 스위치는 Destination MAC이 MAC Table에 없으면 해당 프레임을 입력 포트를 제외한 모든 포트로 전송
- Unknown Unicast Flooding이라고도 함
- 예시
- PC1(AAA) -> PC3(CCC)로 프레임 전송
- 스위치는 아직 CCC를 모름
- PC2, PC3, PC4 모두 프레임 수신
-> PC3만 정상처리, 나머지는 폐기
- Address Learning (MAC 학습)
- 스위치는 모든 프레임에 대해 Source MAC + Ingress port를 MAC Table에 저장
- 이 과정은 Flooding과 별개가 아니라 프레임 수신 순간 항상 수행됨
- 예시
- PC1 -> 스위치 (Fa0/1로 들어옴)
- 스위치 내부 : AAA -> Fa0/1 등록
- Forwarding (정확한 전달)
- Destination MAC이 MAC Table에 존재하면 해당 포트로만 전송 (Unicast Forwarding)
- 예시
- 이후 PC3가 응답 (CCC -> AAA)
- 스위치 동작
- Source 학습 : CCC -> Fa0/3
- Destination 조회 : AAA -> Fa0/1 존재
- Filtering (불필요 전송 차단)
- 스위치는 다음 경우 프레임을 버림
- 목적지가 같은 포트에 있을 때
- 브로드캐스트 도메인 외 불필요 전달 방지
- 예시
- 현재 PC1 <-> PC3 통신이 안정화 된 상태
- MAC 테이블에도
AAA -> Fa0/1
CCC -> Fa0/3 - PC1 -> PC3로 트래픽을 던지면?
- Fa0/1 -> Fa0/3만전달
- Fa0/2, Fa0/4는 전송 안함
- 스위치는 다음 경우 프레임을 버림
▶ MAC 주소 테이블
- 스위치는 내부적으로 MAC 주소 테이블을 가지고 있음
- 예를 들어
- A MAC -> 1번포트
- B MAC -> 3번 포트
- 이런 식으로 특정 MAC이 어디에 연결되어 있는지를 기억하고 있는 것이 MAC 주소 테이블
3) IP는 왜 필요한가? (ARP 등장)
▶ 왜 필요한가?
- PC는 IP 주소만 알고 있음
- 스위치는 MAC 주소만 사용
- 서로 사용하는 주소 체계가 다름!!
▶ ARP 역할
- ARP(Address Resolution Protocol) : IP 주소를 MAC 주소로 변환
▶ 동작 흐름
- PC A : "192.168.1.10 누구냐?"
- 스위치 : Flooding (브로드캐스트)
- PC B : "내 MAC은 XX:XX"
- 스위치 : MAC 테이블 학습
- A ↔ B 통신 가능
4) IP와 Subnet Mask
▶ 왜 필요한가?
- MAC은 "같은 네트워크 내부"에서만 의미가 있음
- 다른 네트워크로 갈 때는 IP 기반의 판단 필요
▶ Subnet Mask
- IP를 네트워크/호스트 영역으로 분리
- 예시
- IP : 192.168.1.10
- Subnet: 255.255.255.0
- 이때 네트워크는 192.168.0, 호스트는 10
▶ 통신 판단 로직
- 목적지 IP 확인
- Subnet Mask 적용
- 결과 비교
- 같으면 직접통신
- 다르면 Gateway
4) VLAN (브로드캐스트 문제 해결)
▶ VLAN이란?
- 하나의 물리 스위치를 여러 개의 논리 네트워크로 분리
- 즉, 같은 스위치에 꽂혀 있어도 서로 다른 네트워크처럼 완전히 분리
- ARP 브로드 캐스트의 경우에도 VLAN 내부에서만 발생함
→ VLAN이 다르면 직접 통신이 불가능함
▶ 왜 필요할까?
- VLAN이 없다고 가정해본다면
- 스위치 하나에 PC 4대가 있음 (A, B, C, D)
- 이 상태에서 A가 ARP 요청을 보냄 : "이 IP 누구야?"
- 그럼 이 요청을 B, C, D가 전부 받게 됨
- 즉,
- 모든 장비가 브로드캐스트를 받고,
- 불필요한 트래픽이 증가하며
- 내부 트래픽이 전부 노출되는 문제가 생김
- 좀 더 가깝게 예시를 들어보자면
- A 회사에 개발팀, 인사팀이 존재함.
- 이때 두 팀 모두 다 같은 스위치 + 트래픽을 쓰면?
- ARP 다 퍼지고 트래픽도 터지고 내부 공격하기도 쉬워짐
- VLAN을 적용하면?
- VLAN 10 → A, B
- VLAN 20 → C, D
- 이때
- A ↔ B 통신 가능
- C ↔ D 통신 가능
- A ↔ C 통신 불가능
5) 스위치와 게이트웨이 (L3)
▶ 게이트웨이란?
- 게이트웨이 : 다른 네트워크로 나가기 위한 출구
▶ 동작 흐름
| PC A | VLAN 10 (192.168.1.10) |
| PC B | VLAN 20 (192.168.2.10) |
| VLAN 10 Gateway | 192.168.1.1 |
| VLAN 20 Gateway | 192.168.2.1 |
- 네트워크 판단 (A)
- "192.168.2.10은 내 네트워크가 아니다!"
- IP + Subnet Mask 기준으로 판단
- 게이트웨이 전송
- B가 아닌 Gateway로 보냄 (A -> VLAN 10 Gateway)
- 게이트웨이 동작 (L3)
- 목적지 IP 확인
- B의 MAC 주소 조회 (ARP)
- 대신 패킷 전달
▶ 핵심 포인트!
- L2 스위치는 MAC 기반
- L3 장비는 IP 기반 판단
+) L2, L3, L4 스위치
| 구분 | L2 | L3 | L4 |
| 기준 | MAC | IP | Port |
| 기능 | Switching | Routing | Load Balancing |
| 사용 목적 | 내부 통신 | 네트워크 간 연결 | 트래픽 분산 |
8) 스위치 보안
▶ 왜 보안이 중요한가?
스위치는 내부 네트워크 중심의 장비!
한 번 침해되면 트래픽 가로채기, 변조, 우회 등이 가능해짐
특히 L2에서는 IDS/IPS 등을 우회할 수 있기 때문에 탐지가 어려움
▶ 주요 공격 기법
- MAC Flooding
- 공격자가 수천 개의 가짜 MAC 전송
-> MAC Table overflow 발생
-> 스위치가 MAC을 기억하지 못하게 되어 모든 트래픽에 Flodding을 하게 됨
-> 허브처럼 동작 - 이 경우, 트래픽 스니핑이 가능해지며, 이로 인해 내부 정보가 유출될 수 있음
- 공격자가 수천 개의 가짜 MAC 전송
- ARP Spoofing
- 공격자가 Gateway인 것처럼 속임 (192.168.1.1 = 내 MAC 주소다)
-> 모든 트래픽이 공격자를 통하게 됨
-> MITM (Man-In-The-Mirror) - 이경우, 세션 탈취 및 데이터 변조가 가능해짐
- 공격자가 Gateway인 것처럼 속임 (192.168.1.1 = 내 MAC 주소다)
'study > network' 카테고리의 다른 글
| [Network] OSI 7계층 : 웹 요청 하나가 패킷이 되기까지 (0) | 2026.03.26 |
|---|