VLAN, 트렁킹 그리고 VTP

이번 포스팅에서는 VLAN에 대해서 이야기 하겠습니다


VLAN은 아주 중요한 개념입니다. 또 절대 쉽지않습니다.


하지만 여기서는 간단하게 집고 넘어가겠습니다. 처음부터 심화하게 이야기해봤자


다 알아들을 수도 없고 괜히 초반에 질리면 학습효과도 떨어지니깐요.


VLAN은 L2, L3와 연관된 개념입니다. 라우터가 아닌 스위치장비에서 사용되죠.


그럼 VLAN이 무엇이고 왜 사용되야 하느냐?


이것에 대해서 먼저 이야기해보겠습니다.











그림을 보겠습니다.


파란영역이 같은 네트워크라고 가정합니다. 즉 하나의 콜리젼도메임. 하나의 VLAN이라고 가정하면 됩니다.


맨왼쪽 PC가 브로드캐스트 패킷을 전송하면 그림과 같이 수신한 포트를 제외한 모든 포트로 패킷을 날리게 됩니다.


모든 클라이언트(PC)들이 이 패킷을 수신하게 되고, 수신한 후 자신에게 연관된 패킷인지 아닌지 판단하게 되죠.


응답을 해야하는 패킷이라고 판단하면 리턴패킷을 송신자 PC에게 보낼것이고, 그렇지 않다면 그냥 드롭시킬겁니다.


이것을 판단하는것도 CPU가 연산을 하게되고 그렇다면 클라이언트가 사용해야 할 리소스를 소모하게 되겠죠.












이번엔 네트워크 즉 VLAN이 2개 있다고 가정해 보겠습니다.


파란영역과 빨간영역으로 나뉘어져 있네요.


파란영역에 속한 클라이언트가 브로드캐스트 패킷을 발생하게 되면 스위치들은


파란색 영역에 속한 클라이언트들에게만 패킷을 송신합니다. 물론 수신한 포트는 제외하고요


VLAN이란 이렇게 콜리젼도메인을 나누는것이 가장 기본적인 개념입니다.


이 외에도 이야기할것이 아주 많지만 요것이 가장 기본이 되는 개념이죠. 이것을 잊지말아주세요.


그렇다면 나뉘어진 VLAN들은 서로 통신을 할 수 없을까요?


꼭 그렇진 않습니다.











물론 L2의 영역만 놓고 보자면 서로 다른 VLAN들끼리는 전혀 통신이 되지 않습니다.


왜냐고요? 네트워크가 서로 다르니깐요.


하지만 L3에서 라우터가 라우팅 경로를 지정해서 패킷을 보내주면 서로 다른 VLAN들끼리도 통신이 가능합니다.


위 그림을 보시면 파랑영역의 PC1이 PC2에게 통신을 요청하는 경로입니다.


지난포스팅에서 ARP와 게이트웨이에 대해서 이야기 했었죠. 이 그림이 바로 그 이야기입니다.


SW1은 PC2의 MAC어드레스를 학습하지 못합니다. (학습을 하더라도 VLAN이 다르죠)


그래서 게이트웨이(상단의 라우터)에게 패킷을 전달합니다.


이 패킷을 전달받은 라우터는 자신의 라우팅테이블을 참조하여 다시 SW1에게 패킷을 전달합니다.


그림이 약간 이상하긴 하지만 당연히 라우터-SW1, SW1-SW2구간의 링크는 트렁크로 설정되어 있어야 합니다.


그렇다면 트렁크란 무엇일까요?











트렁크도 자세히 들어가면 참 복잡한 이야기입니다.


이번엔 간단히 개념에 대해서만 이야기 해보겠습니다.


위 그림을 보면 파란색 링크가 VLAN 10이고 녹색 링크가 VLAN 20이네요.


SW1과 SW2, SW3를 연결하는 링크는 각각 1라인입니다.


하지만 이 1개의 라인으로 PC1은 PC2, PC4, PC7, PC9와 서로 통신이 되야합니다.


토폴로지 를 보면 PC2는 별 문제될게 없군요


암튼, 이와 동시에 PC3은 PC3번, 5번, 6번, 8번과 통신이 되야합니다.


한개의 라인으로 복수개의 VLAN을 적용하기 위해 필요한 것이 바로 이 트렁크라는 기술입니다.


이해가 되시나요?


위 그림처럼 2개라면 SW1과 SW2를 2개연결하면 된다고 하겠지만 만약 VLAN을 100개를 사용한다면


100개의 라인을 연결할 수는 없겠죠? 그렇기 때문에 이와 같은 기술을 사용하는 겁니다.



VLAN 트렁크에 대해서는 이 외에도 해야 할 이야기가 많이 있지만 여기서는


트렁크란 이런것이다~ 라고만 정리하겠습니다.












이번엔 VTP에 대해서 이야기 해 보겠습니다.


VTP (VLAN Trunking Protocol)은 복수개의 스위치들이 서로 VLAN설정정보를 공유 (동기화란 말이 더 어울릴듯하네요) 하는 것을 말합니다.






위 그림을 봅시다.


3개의 스위치가 있는데 SW1의 VLAN Database에는 총 5개의 VLAN이 존재합니다.


SW2와 SW3은 기본 VLAN인 VLAN1만 가지고 있는 상황이죠.


SW1은 VTP Server mode이고 SW2와 SW3은 VTP Client mode입니다.


이름부터 느낌이 팍팍 오시죠? Server가 갑이고 Client가 을이죠.


Client는 Server의 VLAN Database정보를 그대로 가져와서 적용합니다.


아이폰이 PC와 동기화 하듯 Client가 Server의 VLAN 정보를 동기화하는 것이죠.


다만 차이점은 Client모드는 VLAN Database 정보를 변경 할 수 없습니다.












위 그리처럼 3대의 스위치가 같은 VLAN 정보를 공유하게 되었습니다.


이 상태에서 VLAN 정보를 생성/삭제 및 변경이 가능한 건 Server 뿐입니다.


이게 VTP의 기본 개념입니다.


물론 이게 다는 아니죠.


다음 그림을 보겠습니다.












스위치에서 show vtp status라고 명령어를 입력하면 현재 스위치의 VTP 상태를 열람하게 됩니다.


VTP Version capable : 사용 가능한 VTP Version이죠. 1 to 3이라 하면 1부터 3까지 사용가능하답니다


VTP Version running : 현재 운영중인 VTP Version


VTP Domain Name : VTP의 대표이름입니다.


VTP Pruning Mode : 자신의 Database에 존재하지 않는 VLAN정보의 VTP 패킷을 차단하는 설정입니다. 


VTP Traps Generation : SNMP용 VTP트랩을 전송하는 설정입니다.


VTP Operationg Mode : Transparent  Server와 Client가 아닌 Transparent 모드도 있습니다. 차이점을 아래 설명드리겠습니다.


Number of existing VLANs : 보유하고 있는 VLAN의 갯수


Configuration Revision : 0


이 정도를 보시면 됩니다.


이 중에서 특히 중요한 건 도메인 이름과 운영 모드, 리비젼 넘버가 중요합니다. 물론 VTP Version도 중요하죠.



위에 스위치 그림을 보시면 아시겠지만 VTP가 형성되기 위해서는 스위치들간에 라인이 연결되야 합니다.


그렇다면 라인만 연결되면 다 VTP가 발동되느냐? 그것은 아닙니다.


이웃한 스위치들간에 VTP Version과 Domain Name이 같아야지만 (물론 링크도 연결되어 있고요) VTP관계가 성립됩니다.


필드에서 VTP를 만들 때 쉽게 하는 실수가 여기에 있습니다.


중요한 개념이니 잊지마시기 바랍니다.



Operating Mode도 매우 중요합니다. 위 예시를 보면 Server가 갑이 되고 Client가 을이되어서 동기화가 되죠?


그렇다면 Transparent는 무엇일까요? 


Transparent란 VTP데이터를 전달은 하지만 Transparent 스위치는 VTP 동기화를 하지 않습니다.


따라서 Transparent 스위치는 자신이 Server가 아니더라도 VLAN을 생성/삭제 할 수 있습니다.


Revison은 무엇일까요?


위에서 설명해드린대로 Server mode나 Transparent mode는 VLAN Database의 내용을 변경 할 수 있습니다.


VLAN Database를 변경하는 커맨드를 입력 실행할 때 마다 이 Revision 숫자를 1개씩 올라갑니다.


그럼이게 왜 필요하느냐?


동일한 Domain Name의 VTP에서 Server는 1개 이상 복수개가 존재할 수 있습니다.


그럼 SW1도 server이고 SW2도 server이면 이 스위치들을 포함한 다른 스위치는 어느 Server를 기준으로 동기화해야할까요?


여기서 우선순위를 두는것이 바로 이 Revision 숫자입니다. 당연히 숫자가 큰놈이 갑이되는거죠.




이 VTP는 언뜻보면 편리해보이지만 까딱하다 실수하면 한 사이트의 모든 VLAN정보를 한번에 삭제해 버릴수도 있습니다.


그래서 대부분의 필드에서는 손가락이 조금 힘들더라도 Transparent mode로 운영합니다.


물론 스위치가 몇백개가 되면 VTP를 사용해야 하는 상황이 될 수도 있겠죠?







한가지더!!!! VTP에 암호를 설정하는 것도 가능합니다.


글로벌 모드에서 show vtp password라고 입력하면 암호를 열람할 수 있는데요


당연 이 암호도 동일해야 VTP관계가 맺어질 수 있겠죠?






이상 VLAN과 VLAN 트렁킹, 그리고 VTP에 대해서 간단히 이야기해 봤습니다.


사실 이 VLAN이라는게 L2의 핵심중의 핵심이고 쉽지 않은 개념, 또 많은 기술들이 적용이 됩니다.


이번 포스팅은 정말 그냥 맛 뵈기이고 앞으로도 VLAN에 대해서는 많은 이야기를 할 것 같네요

댓글

이 블로그의 인기 게시물

ping 일반오류 (General failure)를 고쳐보자

Windows 10. 공유폴더 쉽게 삭제하기 (feat. CMD)

Piolink TiFront Switch password recovery (파이오링크 스위치 비밀번호 초기화)