* VLAN ( Virtual Local Area Network )
=> 한마디로 정의하자면, 스위치의 구역을 나누는 개념이다.
즉,
VLAN 을 지원하는 스위치는 하나의 물리적 근거리 네트워크 기반 구조 상에서
여러 개의 가상 근거리 네트워크를 정의할 수 있게 한다.
( virtual 이란 추상적인 뜻은 논리적, 소프트웨어적인 개념이다. )
VLAN 을 자세히 알아보기 전에 몇 가지 개념에 대해 살펴보자.
* Collision Domain
'Domain' 이란 개념은 '영역' 이다.
즉,
해석하면 충돌 영역이라고 볼 수 있는데 네트워크 관점에서 봤을 때의 충돌 영역은
데이터 전송 간에 스위치간 혹은 라우터간 등의 연결에서 충돌이 발생하는 구역이다.
일전에 이러한 충돌들을 해결하기 위해서
CSMA / CD, CSMA / CA 등의 전송 방식을 사용한다고 설명했다.
허브 장치는 단순히 연결된 라우터 등에게 데이터를 전달해주는 역할을 한다.
이 때,
Collision 영역이 따로 구분되어있지 않아서
허브는 하나의 통로로 데이터를 모든 경로에 있는 곳에 뿌리게 되는데 트래픽 충돌이 잦다.
반면 그림에서 보듯이,
스위치는 각각의 포트가 각각의 Collision Domain 을 가질 수 있다.
왜냐하면,
해당 MAC Address 를 기억하는 테이블을 가지고 있어서
연결된 PC 와 유니캐스트 방식으로 직접적으로 통신할 수 있는 기능과 더불어
통로도 마련되어져 있다.
* Broadcast Domain
마찬가지로 Domain = '영역' 이란 개념을 접목시켜
Broadcast Domain 은 '전파 영역' 정도로 해석할 수 있겠다.
=> 브로드캐스트 도메인을 나눌 수 있는 장비는 VLAN 구현 장비 ( 스위치 ), 라우터 등 이 있다.
=> VLAN 이 구현된 스위치는 브로드캐스트 도메인으로 네트워크를 구분지으며,
브로드캐스트가 다른 네트워크에 전달되지 않도록 한다.
이를 'Filtering' 기능 이라고 한다.
=> 브로드캐스트의 부작용으론
앞서 살펴본 것처럼 충돌로 인해 트래픽이 잦아지고 낭비와 보안성이 약화되어지므로
브로드캐스트 영역을 '최소화' 해야한다.
* 다중 스위치의 문제점
위 Broadcast Domain 그림 참고해서
만약, 스위치가 여러 대가 존재한다면 어떤 문제점이 있을까 생각해보자.
1. 트래픽 격리 부족
=> 브로드캐스트를 시행할 때, 필요치 않은 곳에서 받을 수 있다.
이는 사용하지 않는 신호를 받음으로써 트래픽을 유도한다. ( CSMA / CD )
2. 비효율적 사용
=> 만약, 인원이 10명인 그룹이 10 그룹이 있다고 가정할 때,
포트가 10 개 혹은 그 이상의 스위치가 10 개 있어야한다.
그냥 포트가 100 개 이상인 스위치 하나만 있어도 되지 않을까 ??
물론,
비용적으로 스위치 10개가 저렴할 수 있지만,
물리적으로 따졌을 땐 스위치 10 개를 설치할 공간도 마련해야할 것이다.
어쨌거나 일반적인 기준으로 따졌을 때 최소화된 기준이 아마도 저렴할 것이다.
3. 사용자 관리
=> 더욱 심각한 문제는 이용자들의 이동이다.
위의 예시에서 10 개의 그룹 중 한명이 다른 그룹으로 이동하게 될 때,
스위치가 10개라면 물리적으로 다른 스위치에 연결시켜야하는데 그 때마다 비용이 들 것이다.
위와 같은 문제들의 해결방안으로
VLAN 을 지원하는 용량이 큰 다중 포트의 스위치를 사용함으로써 해결할 수 있다.
* VLAN 구성
위 그림을 보다시피,
Switch 내의 구역을 나눔으로써 브로드캐스트 도메인이 나누어지게 되어 독립적이며
브로드캐스트에 대한 낭비를 줄이고 관리를 용이하게 한다.
=> 각각의 구역은 서로 다른 LAN 구역으로 치부하는데
이 때 중요한 것은 만약,
VLAN1 -> VLAN2 로 네트워크 통신을 하기 위해선 별도의 구역으로 정의하므로
중간에 라우터를 거쳐 돌아가야한다. ( 그림에서는 주황색 선. )
=> 다행히도,
스위치 생산자들은 단일 장치에 VLAN 스위치와 라우터를 모두 포함시켜서
위 그림처럼 별도의 라우터가 필요하지 않아도
관리자가 쉽게 네트워크 구성을 할 수 있도록 한다.
* VLAN 트렁킹 ( Trunking )
기본적인 VLAN 방식에서 더 나아가서
만약 다른 구역에서 해당 VLAN 의 구역에 포함되어지고 싶다면 어떻게 해야할까 ??
다른 구역의 하나의 포트를 해당 VLAN 구역으로 소속하게 하고 서로 연결시키면 된다.
하지만 문제는
만약 N 개의 VLAN 구역이 존재할 경우 다른 지역에서 해당 VLAN 을 연결하기 위해선
N 개의 포트가 필요할텐데 이는 매우 낭비일 것이다.
이 때, 'Trunking 방식' 을 이용할 수 있다.
각각의 스위차마다 2개의 특수 포트인 트렁크 포트가 존재하며,
이곳을 통해 다른 구역의 스위치로 데이터가 이동된다.
하지만 어느 구역의 VLAN 인지 어떻게 판별해아할까 ??
VLAN 을 식별해주는 'VLAN 태그 ( tag, 4byte )' 를 통해서
트렁킹해서 온 데이터를 어느 VLAN 에 전송될지 알 수 있다.
=> 다만 중요한 문제점은,
트렁크 포트로 전송된 데이터를
스위치에서 tag 가 붙은 이더넷 헤더를 제거하기 때문에
해당 End-point 는 자기가 소속된 VLAN 을 모른다.
이것은 반대로 해당 End-point 가 데이터를 내보낼 때,
소속된 VLAN 정보 없이 내보내게 되며 다시 트렁크 포트로
라우터에 연결된 최전방 스위치로 왔을 때 VLAN 구역을 모르기 때문에
'Flooding 으로 동작' 되어진다.
이는 앞전에 보았던 유니캐스트 플러딩 원인 중 하나이다.
* 802.1Q 태그된 이더넷 VLAN 프레임
=> 'VLAN tag 가 붙어있는 이더넷 프레임' 은
트렁크의 송신 측에 있는 스위치에 의해서 프레임에 추가되고
수신측은 그것을 파싱하고 제거한다.
=> VLAN 태그는
2바이트의 '태그 프로토콜 식별자 ( Tag Protocol Indentifier, TPID ) 필드'
[ 고정된 16진수 81-00 을 가짐. ]
2바이트의 '태그 제어 정보 ( Tag Control Information ) 필드'
[ VLAN 식별자 ( 12bit ) + 우선순위 필드 ( 3bit ) ] 로 구성되어있다.
더 자세한 사항은 802.1Q 표준 ( IEEE 802.1q 2005 ) 를 참고하자.
( 이더넷 헤더의 자세한 내용은 TCP/IP Header 정리 때 살펴볼 것이다. )
참고 자료
COMPUTER NETWORKING A TOP-DOWN APPROACH
컴퓨터 네트워킹 하향식 접근 - 제 6판
( James F. Kurose * Keith W. Ross 지음, 최종원, 강현국, 신용태, 안상현, 유영환, 황호영 옮김 )
'네트워크 > 개념' 카테고리의 다른 글
[NW] #11. TCP ( Transmission Control Protocol ) / IP ( Internet Protocol ) (0) | 2022.11.03 |
---|---|
[NW] #10. UDP ( User Datagram Protocol ) (0) | 2022.10.17 |
[NW] #8. Broadcast, Multicast, Unicast (0) | 2022.10.06 |
[NW] #7. CSMA/CD, CSMA/CA (0) | 2022.09.30 |
[NW] #6. URL, DNS 동작 과정 (0) | 2022.09.28 |