앞서 VLAN에서 정리했듯이 VLAN을 설정함으로써 브로드캐스트 영역 안의 속도 향상과 불필요한 브로드캐스팅 방지, 보안 향상등을 가질 수 있으나. 다른 VLAN간으로는 통신이 불가능하다. 그러나 VLAN간의 Routing을 하게 된다면 서로 다른 VLAN간의 통신이 가능하게 된다. 이것을 Inter-VLAN이라고 한다. 위의 Topology 처럼 Router R4를 SW1에 연결하고, Router R4의 Interface f0/0을 논리적으로 분할하여 VLAN을 각각 할당시켜준다. 이처럼 하나의 물리적인 Interface에 여러 개의 VLAN을 소속시키는 것을 Trunking(트렁킹)이라고 한다.
R1>en
R1#conf t
R1(config)#hostname R1 / R2 / R3
R1(config)#enable secret cisco
R1(config)#no ip domain-lookup
R1(config)#line con 0
R1(config-li)#logging sync
R1(config-li)#exec-timeout 0
R1(config-li)#exit
R1(config)#line vty 0 4
R1(config-li)#password cisco
R1(config-li)#exit
R1 ~ R3 Interface IP 설정 (R4 Interface IP 설정은 따로 진행한다.)
R1>en
R1#conf t
R1(config)#int fa 0/0
R1(config-if)#ip add 1.1.10.1 255.255.255.0
R1(config-if)#no shutdown
R2>en
R2#conf t
R2(config)#int fa 0/0
R2(config-if)#ip add 1.1.10.2 255.255.255.0
R2(config-if)#no shutdown
R3>en
R3#conf t
R3(config)#int fa 0/0
R3(config-if)#ip add 1.1.20.3 255.255.255.0
R3(config-if)#no shutdown
장비들이 제대로 연결됐는지 확인
SW1(config)#do sh cdp neighbor
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
D - Remote, C - CVTA, M - Two-port Mac Relay
Device ID Local Intrfce Holdtme Capability Platform Port ID
R2 Eth 1/2 151 R B 7206VXR Fas 0/0
R3 Eth 1/3 168 R B 7206VXR Fas 0/0
R1 Eth 1/1 141 R B 7206VXR Fas 0/0
※ R4가 cdp neighbor에 뜨지 않는 이유는 위에서 IP 설정할 때 R4의 Port IP를 설정 & No Shutdown하지 않아서 뜨지 않는다.
SW1에서 설정할 때 바로 switchport mode trunk를 입력하면 "Command rejected: An interface whose trunk encapsulation is "Auto" can not be configured to "trunk" mode." 라는 오류가 뜨면서 포트 모드 설정이 거부가 된다. 이유는 Encapsulation 방식이 기본적으로 Auto로 되어있기 때문에 Encapsulation Mode를 지정해주지 않으면 트렁크 포트로 설정 할 수가 없기 때문이다. 고로 ⑴trunk의 인캡슐레이션을 dot1q로 설정해 준 뒤에 ⑵trunk port로 지정해줘야 정상적으로 설정이 된다.
설정 후 각 Router의 Gateway 주소를 Default Routing으로 지정해준다.
최종 설정이 끝난 후 VLAN 10 소속의 R1에서 VLAN 20 소속의 R2로 Ping을 날리면 정상적으로 날려지는 것을 확인할 수 있다.
R1#ping 1.1.20.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.20.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 36/52/72 ms
Inter-VLAN간의 Routing 동작 방식
VLAN ID 10인 R1에서 다른 VLAN ID 20인 R4로 Ping을 보낼 때 이뤄지는 절차와 방식을 확인해본다.
1. R1(1.1.10.1)에서 R3(1.1.20.3)로 Ping을 날리면 서로 다른 브로드캐스트 도메인에 소속되어있기 때문에 R1은 Gateway인 R4(f0/0.10) (1.1.10.254)의 MAC Address를 찾는 ARP Packet을 보낸다.
2. R4(f0/0.10) (1.1.10.254)의 MAC Address를 찾는 ARP Packet을 받은 SW1은 동일 VLAN(VLAN 10)에 소속 된 모든 포트(e1/2, e2/0[각주:1])로 Flooding한다.
3. SW1의 Flooding을 통해서 R4(f0/0.10) (1.1.10.254)의 MAC Address를 찾는 ARP Packet을 받은 R4는 R1에게 응답하여 R1은 R4의 MAC 주소를 알게 된다.
4. R1은 다시 한 번 목적지가 1.1.20.3인 L3 패킷[각주:2]을, 그대신 R4(1.1.10.254)의 목적지 MAC Address가 써져있는 L2 헤더를 붙여서 Ping Request Packet을 보낸다.
5. R4는 R1에서 목적지가 자신의 MAC Address로 되어있는 Ping Request Packet을 수신한 후 붙어있는 L2 헤더를 제거한다. 헤더를 제거한 후 L3 헤더를 확인한 R4는 목적지가 자신이 아닌 1.1.20.3이라는 것을 알게된다.
※ 이처럼 라우터는 프레임을 수신하면 L2 헤더를 제거하고 새로운 것(패킷)으로 대체한다.
6. R4는 R3(1.1.20.3)의 MAC Address를 알아내기 위해서 VLAN 20으로 R3 ARP Request Packet을 전송한다. 이 때는 R4가 중간 전달자가 되므로 출발지 MAC Address가 R1이 아닌 R4의 MAC 주소가 된다.
6-1. R3의 MAC Address를 찾는 ARP Packet을 받은 SW1은 동일 VLAN(VLAN 20)에 소속 된 모든 포트로 Flooding한다.
7. SW1의 Flooding을 통해서 R4 장비가 보낸 ARP Request Packet을 받게 된 R3는 자신의 MAC Address를 Gateway인 R4에게 ARP Reply Packet으로 응답하여 R4는 R3의 MAC 주소를 알게 된다.
9. R4는 출발지, 목적지 IP는 유지한 채 출발지 MAC Address를 자신의 R4의 MAC Address로, 목적지는 R3의 MAC Address로 Ping Request Packet을 재조립하여 R3에게 전송한다. (앞의 출발지, 목적지 IP는 바뀌지 않는다.)
10. Ping Request Packet을 받은 R3는 출발지 MAC Address, 자신의 IP Address로 설정된, 목적지는 자신의 MAC Address, R1의 IP Address로 된 Ping Reply Packet을 R4에게 전송한다.
11. R4는 출발지 MAC Address를 자신의 Mac Address로, 목적지 MAC Address는 R1의 MAC Address로 대체하여 Ping Reply Packet을 R1에게 전송한다.
출발지 IP
목적지 IP
출발지 MAC
목적지 MAC
Inform.
1.1.10.1
1.1.20.3
R1 MAC Add.
FFFF.FFFF.FFFF
R4 ARP
Flooding By VLAN 10
R1 MAC Address Table
R4 MAC Address
출발지 IP
목적지 IP
출발지 MAC
목적지 MAC
Inform.
1.1.10.1
1.1.20.3
R1 MAC Add.
R4 MAC Add.
Ping Req.
출발지 IP
목적지 IP
출발지 MAC
목적지 MAC
Inform.
1.1.10.1
1.1.20.3
DELETE
DELETE
Ping Req.
출발지 IP
목적지 IP
출발지 MAC
목적지 MAC
VLAN 20
1.1.10.1
1.1.20.3
R4 MAC Add.
FFFF.FFFF.FFFF
R3 ARP
Flooding By VLAN 20
R4 MAC Address Table
R3 MAC Address
출발지 IP
목적지 IP
출발지 MAC
목적지 MAC
Inform.
1.1.10.1
1.1.20.3
R3 MAC Add.
R4 MAC Add.
Ping Req.
출발지 IP
목적지 IP
출발지 MAC
목적지 MAC
Inform.
1.1.20.3
1.1.10.1
R3 MAC Add.
R4 MAC Add.
Ping Reply
출발지 IP
목적지 IP
출발지 MAC
목적지 MAC
Inform.
1.1.20.3
1.1.10.1
R4 MAC Add.
R1 MAC Add.
Ping Reply
즉, 앞의 L2 Header를 Gateway가 변경(중재 역할)하되 L3 Header는 변경하지 않고 그대로 유지하는 것이다.
같은 VLAN 내부의 Routing 동작 방식
VLAN ID 10인 R1에서 같은 VLAN 10인 R2로 Ping을 보낼 때 이뤄지는 절차와 방식을 확인해본다.
1. R1(1.1.10.1)에서 R2(1.1.10.2)로 Ping을 날리면 서로 같은 브로드캐스트 도메인에 소속되어있기 때문에 R1은 직접 R2(1.1.10.2)의 MAC Address를 찾는 ARP Packet을 보낸다.
2. R2(1.1.10.2)의 MAC Address를 찾는 ARP Packet을 받은 SW1은 동일 VLAN에 소속 된 포트(e1/2)로 Flooding한다.[각주:3]
3. Flooding된 ARP Request Packet을 받은 R2는 R1에게 응답하여 R1은 R2의 MAC 주소를 알게 된다.
4. R1은 다시 목적지가 R2(1.1.10.2)인 MAC Address가 써져있는 Ping Request Packet을 보낸다.
5. Ping Request Packet을 받은 R2는 같은 브로드캐스트 도메인에 소속된 R1에게 바로 Ping Reply Packet을 보낸다.
출발지 IP
목적지 IP
출발지 MAC
목적지 MAC
Inform.
1.1.10.1
1.1.10.2
R1 MAC Add.
FFFF.FFFF.FFFF
R2 ARP
Flooding By VLAN 10
R1 MAC Address Table
R2 MAC Address
출발지 IP
목적지 IP
출발지 MAC
목적지 MAC
Inform.
1.1.10.1
1.1.10.2
R1 MAC Add.
R2 MAC Add.
Ping Req.
출발지 IP
목적지 IP
출발지 MAC
목적지 MAC
Inform.
1.1.20.3
1.1.10.1
R4 MAC Add.
R1 MAC Add.
Ping Reply
즉, 동일한 VLAN에 소속되어있는 장비들간의 통신은 트렁킹 라우터를 거치지 않고 두 장비 간 직접 통신이 이루어진다.