앞서 VLAN과 802.1Q 등 Layer 2에서 대표되는 기술들을 알아보면서 프레임(Frame)을 함께 언급했습니다.
이전 포스팅에서도 OSI 계층에서 Layer 2에 해당하는 이더넷 프레임을 설명했던 적이 있습니다.
그래서 오늘은 실제 예제와 함께 이 프레임이 Layer 2 통신을 할 때 어떻게 동작하는지 살펴보고자 합니다.
우선 동일한 VLAN이라는 가정하에 여러 스위치를 오고 가는 두 장치간의 통신을 알아보겠습니다.
기본 시나리오 구성
위 그림을 살펴보면, PC-1과 Server-1은 각각 IP주소가 제대로 설정되어 있고, 각 스위치는 VLAN 1, 10, 20이 설정되어 있습니다. 두 스위치간에는 트렁크 포트로 구성되어서 VLAN 1, 10, 20의 트래픽이 통신할 수 있도록 허용되어 있습니다.
Access-1 스위치의 1/1/3포트에 VLAN 20과 함께 PC-1이 연결되어 있고, Access-2 스위치의 1/1/4 포트에 VLAN 20과 함께 Server-1이 연결되어 있습니다.
아직 PC-1과 Server-1간 통신을 한 적이 없다라고 가정하고, PC-1이 Server-1으로부터 FTP 통신으로 파일을 다운로드 받는 시나리오로 어떻게 프레임이 전송되는지 살펴보겠습니다.
FTP 세션 시작
PC-1의 사용자는 브라우저를 열고 Server-1의 IP주소를 입력합니다.
ftp://10.1.20.200
PC-1은 목적지 IP주소를 알더라도 이 IP주소에 매핑된 MAC주소를 아직 모르기 때문에 ARP 프로세스가 진행되어야 합니다. 또한, PC-1은 프레임을 만들기 위한 Layer 3부터 Layer 7을 포함하여 나머지 Layer 2의 정보는 모두 알고 있습니다.
ARP 요청(Request)
PC-1은 ARP 프로세스를 위해 ARP 요청 메시지를 만듭니다. 그리고 해당 메시지를 목적지 MAC주소(FF:FF:FF:FF:FF:FF)를 통해 Layer 2 전체로 브로드캐스트 합니다.
ARP 브로드캐스트 전송
Access-1 스위치는 해당 메시지를 받고, MAC 주소 테이블에 1/1/3 포트와 PC-1 MAC주소를 입력합니다.
또한, ARP 요청은 브로드캐스트이기 때문에, VLAN 20에 해당하는 모든 포트로 해당 프레임을 플러딩(전송)합니다. 이 때, 트렁크 포트로 연결된 1/1/28을 통해 Access-2 스위치로 전달됩니다.
dot1q – 태깅(Tagging)
Access-1 스위치의 1/1/28은 트렁크 포트로 구성되어 있기 때문에 프레임을 전송할 때 VLAN ID = 20이라는 dot1q 태그를 사용합니다. Access-2 스위치는 해당 프레임을 받고 MAC주소 테이블에 항목을 생성합니다.
Untagged 프레임 전달
Access-2 스위치는 VLAN 20로 매핑된 모든 포트로 해당 프레임을 전달합니다. VLAN20이 설정된 1/1/4 포트로 프레임이 전달됩니다. 이 인터페이스는 트렁크 포트가 아니기 때문에 Server-1으로 전달되는 프레임에는 VLAN ID 등 802.1q 태그가 포함되지 않습니다.
ARP 응답(Reply)
Server-1은 ARP 요청을 받고, ARP 응답(Reply)를 생성합니다. PC-2는 출발지 MAC주소를 알기 때문에 이 프레임의 통신은 유니캐스트 방식이 됩니다.
이제, Access-2 스위치는 ARP Reply 메시지를 처리해야 합니다. 우선, Server-1의 MAC주소를 학습하고 MAC주소 테이블에 항목을 입력합니다. 그리고 VLAN-ID를 포함하여 프레임을 Access-1 스위치로 전달합니다.
ARP 메시지 수신
Access-1 스위치는 ARP Reply 프레임을 PC-1으로 전송합니다. 역시나 이 1/1/3 포트는 트렁크 포트가 아니기 때문에 802.1q 태그를 제거하고 프레임을 전달합니다. 그리고 Access-1 스위치는 MAC주소 테이블과 ARP 테이블에 Server-1의 MAC 주소 항목을 추가합니다.
이제 PC-1은 Server-1의 MAC주소를 알았기 때문에, 이더넷 프레임을 완성할 수 있고 FTP 통신을 통해 파일을 다운로드 받을 수 있게 됩니다.
자, 이렇게 지난 포스팅에서 다뤘던 VLAN과 ARP, 802.1Q과정이 실제로 어떻게 동작하고 움직이는지 알아보았습니다. 간단한 예제를 통해 쉽게 확인해 볼 수 있는 만큼 확실히 이해가 되었으면 합니다.
VLAN과 802.1Q에 대한 내용은 실제 필드에서 아주 많이 사용하는만큼 확실하게 이해해야 합니다.
간단하게 실습환경을 갖춰놓고 Wireshark 등을 통해서 프레임의 내용을 직접 보는 것도 큰 도움이 될 것입니다.