VLAN
VLAN은 Virtual Local Area Network로 하나의 물리 스위치에서 여러 개의 네트워크를 나누어 사용할 수 있는 기술이다.
한 대의 스위치를 여러개의 VLAN으로 분할할 수 있고 별도의 스위치처럼 동작한다.
VLAN은 물리적인 배치와 관계없이 LAN을 논리적 분할, 구성하는 기술이다.
최근에는 전화기, 복합기, 스마트폰 처럼 컴퓨터 외에도 다수의 단말 네트워크에 연결되기 때문에 네트워크 분할이 더 중요해졌다.
가상화를 이유는 과도한 브로드캐스트로 인해 단말들의 성능 저하, 보한 향상을 위한 차단 용도, 서비스 성격에 따른 정책 적용 같은 이유도 있다.
VLAN을 사용하면 물리적 구성과 상관없이 네트워크 분리가 가능하고, 물리적으로 다른 층에 있는 단말이 하나의 VLAN을 사용해 네트워크를 묶기가 가능하다.
같은 층에서 부서별로 네트워크를 분리하거나 pc, ip 전화기, 무선 단말같은 서비스나 단말의 성격에 따라 네트워크 분리가 가능하다.
그리고 이렇게 분리된 단말 간에는 3계층 장비로 통신한다.
VLAN을 나누면 하나의 장비를 서로 다른 네트워크를 갖도록 논리적으로 분할한 것이므로 유니캐스트 뿐만 아니라 브로드캐스트도 VLAN간 통신이 불가능
VLAN간 통신이 필요하면 서로 다른 네트워크 간의 통신이 앞서 배운것처럼 3계층 장비가 필요함.
종류 #
VLAN은 포트 기반, MAC 주소 기반의 VLAN으로 종류가 나뉜다.
포트 기반 VLAN은 처음 도입되었을때는 스위치가 고가였고 여러 허브를 묶는 역할을 스위치가 담당했으니 스위치를 분할 시켜
여러 네트워크에서 사용하는 것이 VLAN을 사용하는 목적이였다.
이렇게 스위치를 논리적으로 분할해서 사용하는 것이 목적인 VLAN은 포트기반 VLAN이라고 부르고 일반적으로 언급하는 대부분의 VLAN은 포트기반이다.
어떤 단말이 접속하든지 스위치를 특정 포트에 VLAN을 할당하게 되면, 할당된 VLAN에 속하게 된다.
ex. 포트1: VLAN 10, 포트2: VLAN20 일때 포트1에 접속하면 VLAN10, 2면 20 으로 속한다.
MAC 기반 VLAN은 사용자들의 자리 이동이 많아지면서 MAC기반이 탄생했는데,
스위치를 고정포트에 VLAN을 매핑시키는게 아니라 스위치에 연결되는 단말의 MAC주소에 할당을 시킨다.
단말이 연결되면 MAC 주소를 인식한 스위치가 해당 포트를 지정한 VLAN으로 변경된다.
단말에 따라 VLAN 정보가 바뀔수도 있어 다이나믹 VLAN이라고도 부른다.
ex. MAC이 AA일때 VLAN 10 할당. 그렇다면 어떤 포트에 연결하든 이 단말에 연결되었다면 VLAN10 반대로 같은 포트에 접속해도 단말에 따라 달라질수도 있다는 것이다.
Trunk/Access #
스위치 포트에 VLAN을 설정해 네트워크를 분리하면 물리적으로 스위치를 분리할때보다 효율적으로 장비가 사용이 가능하다.
여러 개의 VLAN이 존재하면 스위치를 서로 연결해야 하는 경우에 각 VLAN끼리 통신하려면 VLAN 개수만큼 포트를 연결해야한다.
만약 스위치에 3개의 VLAN이 존재하고 VLAN간 통신을 위해선 3개의 포트가 필요하다.
VLAN을 더 많이 사용하는 중,대형 네트워크에서는 VLAN이 별도 포트를 연결하면 장비간 연결만으로 많은 포트가 낭비된다.
이 문제를 해결하기 위해 VLAN 태그 기능이 생겼다.
태그 기능은 하나의 포트에 여러 개의 VLAN을 함께 전송할 수 있게 해준다.
이 포트를 Tagged Port 또는 Trunk Port라고 한다.
여러 개의 VLAN을 동시에 전송해야하는 태그 포트는 통신할 때 이더넷 프레임 중간에 VLAN ID 필드를 끼워 넣어서 이 정보를 이용한다.
태그 포트로 패킷을 보낼때는 VLAN ID를 붙이고 수신 측에서는 VLAN ID를 제거하면서 VLAN ID의 VLAN으로 패킷을 보낼수있게 한다.
결과적으로 태그포트 덕에 VLAN마다 필요했던 포트들을 하나로 묶어서 사용할 수 있으므로 포트 낭비 문제를 해결할 수 있다.
이런 태그 포트의 기능이 생기면서 스위치의 패킷 전송에 사용하는 Mac Address Table에도 변화가 생긴다.
다른 VLAN끼리 통신 못하도록 mac테이블에 vlan을 지정하는 필드가 또 추가되었다.
즉, 하나의 스위치에서 vlan을 이용해 네트워클르 분리하면서, vlan 별도로 mac 주소라는 테이블이 존재하는 것 처럼 동작한다.
일반적인 포트를 untagged port라고 하고 혹은 access port라고도 하는데 여러 vlan이 한번에 통신하도록 해주는 포트를 tagged port(trunk port)라고 한다.
- tagged port: 여러 네트워크를 하나의 물리적인 포트로 전달하는데 사용
- untagged port: 하나의 vlan에 속한 경우에만 사용
일반적으로 태그 포트는 여러 네트워크가 동시에 설정된 스위치 간의 연결해서 사용되며 하나의 네트워크에 속한 서버의 경우에는 언태그로 설정한다.
언태그 포트로 패킷이 들어온 경우, 같은 VLAN으로만 패킷을 전송, 태그 포트로 패킷이 들어온 경우, 태그를 벗겨내면서 태그된 VLAN 쪽으로 패킷을 전송한다.
스위치 간 연결이 아닌 서버와 연결된 port도 VMware, ESXi와 같은 가상화 서버가 연결될때는 여러 vlan과 통신해야할수도 있다.
이 경우, 서버와 연결된 스위치의 포트더라도 언태그 포트가 아닌 태그로 설정한다.
가상화 서버 쪽 인터페이스도 태그된 상태로 설정해야 한다. 가상화 서버 내부에 가상 스위치가 존재하므로 스위치간 연결로 보면 더 쉽다.
통신 #
unicast, broad cast, multi cast 모두 vlan을 넘지 못한다.
vlan이 다른 것은 네트워크와 ip가 모두 다른것이기 때문에 L3장비가 필요하다.