1. 주요 개념 정리
1️⃣ L2 vs L3 스위치
- L2 스위치: OSI 2계층(데이터 링크 계층)에서 동작한다. MAC 주소를 기반으로 같은 네트워크 대역(동일 서브넷) 내에서만 데이터를 전달한다. IP 주소를 이해하지 못하며 단순히 '전달자' 역할만 한다.
- L3 스위치: OSI 3계층(네트워크 계층)에서 동작한다. IP 주소를 이해하며, 라우팅(Routing) 기능을 수행할 수 있다. 서로 다른 네트워크 대역(예: 192.168.1.0과 192.168.2.0) 사이의 통신을 중재한다.
간단히 말하면, L3 스위치는 'L2 스위치 기능'에 '라우팅 기능'을 추가한 장비이다.
1. L2 스위치 vs L3 스위치 테이블 비교
L3 스위치는 "멀티레이어 스위치(Multi-layer Switch)"라고도 한다.
2계층(L2)과 3계층(L3)의 역할을 동시에 수행하기 때문에 두 종류의 테이블을 모두 관리한다.
| 구분 | L2 스위치 | L3 스위치 | 역할 |
| MAC 주소 테이블 | 있음 | 있음 | 포트 번호와 MAC 주소를 매칭 (L2 통신) |
| ARP 테이블 | 없음* | 있음 | IP 주소와 MAC 주소를 매칭 (L2/L3 연결) |
| 라우팅 테이블 | 없음 | 있음 | 목적지 네트워크로 가는 경로 정보 (L3 통신) |
*L2 스위치도 관리용 IP 설정을 위해 아주 제한적인 ARP 테이블을 가질 수는 있지만, 라우팅을 위한 용도는 아니다.
2. L3 스위치에 MAC 테이블이 왜 필요한가?
L3 스위치가 서로 다른 네트워크 간에 라우팅을 수행하더라도, 결국 데이터를 물리적인 포트로 내보낼 때는 "이 MAC 주소를 가진 장비가 몇 번 포트에 꽂혀 있는가?"를 알아야 한다.
- 라우팅 테이블: "목적지 IP로 가려면 어느 인터페이스(혹은 다음 라우터)로 가야 하는가?"를 결정.
- MAC 주소 테이블: "해당 인터페이스에 연결된 장비의 물리적 위치(포트)는 어디인가?"를 결정.
즉, L3 스위치 내부에서 라우팅이 결정된 후에도, 최종적으로 프레임을 전달하기 위해서는 MAC 주소 테이블이 반드시 필요해.
2️⃣스위칭 테이블 (MAC Address Table)
스위치는 내부에 MAC Address Table이라는 메모리 공간을 가지고 있다.
이곳에는 어떤 포트에 어떤 단말(MAC 주소)이 연결되어 있는지 저장한다.
- 학습(Learning) 과정: 초기 상태의 스위치 테이블은 비어 있다. 특정 PC(예: PC0)가 데이터를 보내면, 스위치는 프레임의 출발지 MAC 주소를 확인하여 해당 주소와 연결된 포트 번호를 테이블에 등록한다.
- 동작 방식: 이후 해당 MAC 주소로 가는 데이터가 들어오면 테이블을 참조해 특정 포트로만 데이터를 전달한다.

- 초기 상태 (Empty Table): 스위치가 처음 켜졌을 때는 어떤 포트에 어떤 장비가 있는지 모른다.
- 학습 (Learning): PC A가 데이터를 보내면, 스위치는 들어온 포트 번호와 PC A의 MAC 주소를 테이블에 저장한다.
- 플러딩 (Flooding): 목적지(PC B)의 위치를 모를 때는 들어온 포트를 제외한 모든 포트로 데이터를 뿌린다.
- 응답 및 추가 학습: PC B가 응답하면, 스위치는 PC B가 연결된 포트 번호와 MAC 주소를 추가로 저장한다.
- 포워딩 (Forwarding): 이제 양쪽의 위치를 모두 알기 때문에, 더 이상 모든 포트에 데이터를 뿌리지 않고 목적지 포트로만 데이터를 정확히 전달(Unicast)한다.
2. 시스코 패킷 트레이서(Cisco Packet Tracer) 실습 시나리오
아래 이미지는 두 개의 서로 다른 네트워크 대역을 L3 스위치로 연결한 구성도이다.
먼저 아래와 같이 두 개의 네트워크를 구성한다.
(multilayer 스위치는 3560 24PS 사용)

- Network A (왼쪽): 192.168.1.0/24 (Hub0 연결)
- Network B (오른쪽): 192.168.2.0/24 (L2SW0 연결)
- L3SW0 (중앙): 두 네트워크의 게이트웨이 역할을 수행하며 라우팅을 담당한다.
3. L3 스위치 설정 명령어
MLS스위치(Multilayer Switch)는 기본(default) 설정에서는 L2 모드로 동작하므로, 라우팅 기능을 활성화하고 인터페이스 설정을 변경해야 한다.
CLI 탭으로 들어가 다음 명령어들을 입력한다.
1️⃣ 라우팅 기능 활성화
L3 스위치가 라우터처럼 동작하게 만드는 전역 설정이다.
L3SW0의 CLI 창에 다음 명령을 실행한다.
---------------------------------------------------------------------------
Switch> enable
Switch# configure terminal
Switch(config)# ip routing
---------------------------------------------------------------------------
enable : 관리자 모드로 진입하기
처음 스위치에 접속하면 프롬프트가 Switch> 모양이다. 이를 User EXEC 모드라고 한다.
- 의미: 장비의 기본 정보만 조회할 수 있는 '일반 사용자 모드'에서 모든 설정을 보고 제어할 수 있는 관리자(Privileged EXEC) 모드로 전환하겠다는 명령어다.
- 프롬프트가 Switch> 에서 Switch# 로 바뀐다.
- 할 수 있는 작업:
- 현재 설정값 확인 (show running-config)
- 라우팅 테이블, ARP 테이블 조회
- 핑(Ping) 테스트
- 장비 재부팅 및 설정 저장
- 윈도우의 '관리자 권한으로 실행'이나 리눅스의 sudo와 유사하다고 볼 수 있다.
configure terminal : 전역 설정 모드로 진입하기
enable을 통해 # 모드가 되었다면, 이제 실제로 장비의 값을 바꿀 수 있는 Global Configuration 모드로 들어가야 한다.
- 의미: 터미널(현재 접속한 콘솔)을 통해 장비의 설정을 변경(Configure)하겠다는 뜻.
- 프롬프트가 Switch# 에서 Switch(config)#로 바뀐다.
- 할 수 있는 작업:
- 장비 이름 변경 (hostname)
- 비밀번호 설정
- 라우팅 기능 활성화 (ip routing)
- 인터페이스 설정 진입 (interface fa0/1)
- '설정(Settings)' 앱을 열어 시스템 전체 옵션을 건드리는 것과 비슷하다고 볼 수 있다.
2️⃣ 인터페이스 설정 (L2 포트 -> L3 포트 변경)
기본 switchport 모드를 해제하여 IP 주소를 직접 할당할 수 있는 Routed Port로 변경한다.
[Fa0/1 포트 - 192.168.1.0 대역 연결]
---------------------------------------------------------------------------
Switch(config)# interface fa0/1
Switch(config-if)# no switchport
Switch(config-if)# ip address 192.168.1.254 255.255.255.0
Switch(config-if)# no shutdown ---> router에서만 사용. L3스위치에서는 필요없음.
---------------------------------------------------------------------------
interface fa0/1
- 의미: FastEthernet 0/1번 포트를 설정하겠다는 뜻.
- 상태 변화: 전역 설정 모드(config)에서 인터페이스 설정 모드(config-if)로 진입한다. 이제부터 입력하는 명령어는 오직 이 0/1번 포트에만 영향을 준다.
no switchport
- 의미: 이 포트에서 L2 스위칭 기능을 끄겠다
- 상태 변화: 시스코 L3 스위치의 포트는 기본적으로 Switchport(L2 모드)로 작동하는데, 이 명령어를 치는 순간 이 포트는 Routed Port(L3 모드)로 전환된다.
- 결과: 이제 이 포트는 MAC 주소를 학습해서 전달하는 '다리' 역할이 아니라, IP 주소로 경로를 찾는 '라우터의 문' 역할을 하게 된다. 이렇게 L3 모드로 변경하지 않으면 ip address 명령어가 먹히지 않는다.
ip address 192.168.1.254 255.255.255.0
- 의미: 이 포트에 IP 주소와 서브넷 마스크를 할당한다.
- 상태 변화: 이제 이 포트(Fa0/1)는 192.168.1.0/24 네트워크 대역에 속한 장치들의 기본 게이트웨이(Default Gateway)가 된다.
- 역할: 192.168.1.x 대역의 PC들이 다른 네트워크(예: 192.168.2.x)로 가고 싶을 때, 이 주소(192.168.1.254)로 패킷을 던지게 되는 것이다.
no shutdown (라우터에서만 사용. L3스위치는 기본값이 no shutdown)
- 의미: 포트를 활성화(전원을 켬)한다.
- 상태 변화: 기본적으로 꺼져 있거나 비활성화된 포트를 'Up' 상태로 만든다.
- 결과: 케이블이 제대로 연결되어 있다면 포트에 초록불이 들어오고 실제 통신이 시작된다.
[Fa0/2 포트 - 192.168.2.0 대역 연결]
---------------------------------------------------------------------------
Switch(config-if)# interface fa0/2
Switch(config-if)# no switchport
Switch(config-if)# ip address 192.168.2.254 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# end
Switch# write memory # 설정값 저장
---------------------------------------------------------------------------
FastEthernet 0/2번 포트도 마찬가지로 세팅을 해준 후, 설정 모드를 종료하고 설정값을 저장해서 마무리한다.
end : 설정 모드 완전 종료
이 명령어는 현재 어떤 설정 모드(인터페이스, VLAN, 라우팅 설정 등)에 있든 상관없이 최상위 운영 모드인 'Privileged EXEC 모드(Switch#)'로 한 번에 빠져나오는 단축키 역할을 한다.
- 비교 (exit vs end):
- exit: 한 단계 위로 올라간다. (예: config-if → config)
- end: 어디에 있든 즉시 # 모드로 점프한다.
- 단축키: 키보드에서 Ctrl + Z를 눌러도 똑같이 동작한다.
write memory : 설정값 영구 저장
시스코 장비에는 두 가지 종류의 설정 파일(장부)이 존재한다.
write memory는 이 둘 사이의 간극을 메워주는 명령어다.
| 구분 | 이름 | 위치 | 특징 |
| 현재 설정 | Running-config | RAM (휘발성) | 지금 당장 적용되어 동작 중인 설정. 전원 꺼지면 날아감. |
| 저장된 설정 | Startup-config | NVRAM (비휘발성) | 장비가 켜질 때 읽어오는 설정. 전원이 꺼져도 유지됨. |
- 동작 원리: write memory(줄여서 wr)를 입력하면 RAM에 있는 실시간 설정 내용을 NVRAM으로 복사한다.
- 전통적인 명령어: 원래 공식 명령어는 copy running-config startup-config지만, 너무 길기 때문에 현업에서는 짧은 write memory나 wr를 훨씬 많이 사용한다.
3️⃣ 라우팅 테이블 확인
설정이 완료되면 show ip route 명령어로 경로가 정상적으로 생성되었는지 확인한다.
---------------------------------------------------------------------------
Switch# show ip route
---------------------------------------------------------------------------
# 출력 결과에 'C 192.168.1.0'과 'C 192.168.2.0'이 보여야 한다.

4. PC 단말 설정 및 통신 테스트
각 네트워크의 PC들이 L3 스위치를 통해 통신할 수 있도록 IP와 게이트웨이를 설정한다.
| 네트워크 | 대상 PC | IP 주소 | 서브넷 마스크 | 기본 게이트웨이 |
| Network A | PC0 ~ PC3 | 192.168.1.1 ~ 4 | 255.255.255.0 | 192.168.1.254 |
| Network B | PC0 ~ PC3 | 192.168.2.1 ~ 4 | 255.255.255.0 | 192.168.2.254 |


통신 테스트 (Ping)
PC0(192.168.1.1)의 Command Prompt에서 반대편 네트워크의 PC(192.168.2.1)로 핑을 보낸다.
---------------------------------------------------------------------------
C:\> ping 192.168.2.1
---------------------------------------------------------------------------
처음 한두 번은 ARP 과정으로 인해 Request timed out이 발생할 수 있으나, 이후 Reply from... 메시지가 뜨면 통신 성공이다.

5. 추가 관리 및 초기화
1️⃣ MAC 주소 테이블 확인
L2 기능을 수행하는 포트나 연결된 스위치(L2SW0)에서 학습된 주소를 확인할 수 있다.
---------------------------------------------------------------------------
Switch# show mac-address-table
---------------------------------------------------------------------------

❓L3 스위치에서 show mac-address-table이 안 먹히는 이유?
인터페이스를 no switchport로 설정하여 라우티드 포트(Routed Port)로 만들었기 때문이다.
라우티드 포트는 L2 스위칭이 아닌 L3 라우팅을 수행하므로, MAC 주소 학습 결과가 MAC Table이 아닌 ARP Table에 기록된다.
즉, L2 기능을 완전히 잃어버린 것이 아니라 해당 포트의 '역할'이 바뀌었을 뿐이다.
✅ ARP 테이블 확인 명령어

또는 조금 더 상세하게 IPv4 관련 정보만 보고 싶다면 아래 명령어를 쓸 수 있다.
실습을 마치고 설정을 지우고 싶을 때 사용한다.
---------------------------------------------------------------------------
Switch# erase startup-config
Switch# reload
# Proceed with reload? [confirm] -> Enter 입력
---------------------------------------------------------------------------
이와 같이 L3 스위치에서 ip routing과 no switchport 명령어를 적절히 활용하면 라우터 없이도 VLAN 간 라우팅 및 네트워크 연결이 가능하다.
'Journey to Security > 네트워크' 카테고리의 다른 글
| [Cisco IOS] VLAN 나누고 스위치 포트 설정해서 통신하기 (Trunk 모드) (0) | 2026.03.07 |
|---|---|
| [Cisco IOS] CLI 환경을 쾌적하게 세팅해주는 명령어 (0) | 2026.03.06 |
| Cisco Packet Tracer로 라우팅 테이블 조회하고 분석하기 (0) | 2026.03.06 |
| 우분투에 FTP 클라이언트 파일질라(FileZilla) 설치하고 실행해보기 (0) | 2026.01.13 |
| IP 주소와 서브넷 마스크: 클래스 기반에서 클래스리스 기반으로... (0) | 2026.01.08 |