본문 바로가기
책/DB

Part 6 스위치를 켜라!

by 파이어볼러 2015. 3. 7.

Section 2 스패닝 트리로 가는 첫번째 관문 두 가지

 

STP는 스위치나 브리지에서 발생하는 루핑을 막아주기 위한 프로토콜이다

 

즉 스위치나 브리지 구성에서 출발지부터 목적지까지의 경로가 두 개 이상 존재할 때 한 개의 경로만을 남겨 두고 나머지는 모두 끊어 두었다가 사용하던 경로에 문제가 발생하면 끊어 두었던 경로를 하나씩 살리는 기법이다

 

STP를 이해하기 위해서는 먼저 브리지 ID와 Path Cost라는것을 이해해야 한다

 

브리지 ID는 16비트의 브리지 우선 순위와 48비트의 맥 어드레스로 만들어진다 맨 앞에 Bridge Priority가 오고 그 뒤에 맥 어드레스가 오는 것이 브리지 ID이다

 

맨 앞의 브리지 ID는 16비트이기 때문에 2의 16승-1까지가 되고 즉 0에서 65535까지가 될것이다 그런데 브리지 프라이오리티는 디폴트로 그 중간에 해당하는 값인 32768을 사용한다 즉 아무런 구성도 하지 않은 스위치나 브리지에서 그 값은 32768이다

 

자신의 고유 맥 어드레스가 브리지 프라이오리티 뒤에 붙게 된다 십진수 32768을 16진수로 바꾸면 8000으로 바꿔서 표현된다 이렇게 만들어진 브리지 ID는 나중에 스패닝 트리 프로토콜을 수행할 때 아주 중요한 값으로 사용된다

 

Path Cost란 말 그대로 길을 가는데 드는 비용 정도로 이해하면 된다 네트워크 분야에서 길이란 바로 장비와 장비가 연결되는 링크를 말하는 것이다 즉 패스 코스트란 브리지가 얼마나 가까이 그리고 빠른 링크로 연결되어 있는지를 알아내기 위한 값이다

 

예를 들어 두 스위치가 10Mbps로 연결되어 있다고 가정해 본다면 아까 배운대로 패스코스트는 1000Mbps를 둘 사이의 링크 대역폭으로 나눈 값이라고 했으니 1000/10 = 100 따라서 패스 코스트가 100이 된다 그러면 100Mbps로 연결된 링크라면 답은 10이 된다

 

즉 패스 코스트는 링크의 속도가 빠르면 빠를 수록 더 작은 값이 되는것이다 링크 속도가 빠르면 그만큼 빨리 도착할 테니 패스 코스트가 적게 된다는 것이다

 

그러다가 기가비트와 ATM이 나옴으로써 소수점이 계산되는 문제가 생긴다 그래서 대역폭 마다 STP Cost 를 정해놓은 값들이 있다

 




 

Section 3 스패닝 트리의 세가지

 

첫째 - 네트워크당 하나의 루트 브리지(Root Bridge)를 갖는다

둘째 - 루트 브리지가 아닌 나머지 모든 브리지(Non Root Bridge)는 무조건 하나씩의 루트 포트(Root Port)를 갖는다

셋째 - 세그먼트(Segment)당 하나씩의 데직네이티드 포트(Designated Port)를 갖는다

 

여기서 말하는 네트워크는 스위치나 브리지로 구성된 하나의 네트워크다 따라서 라우터에 의해 나누어지는 브로드캐스트 도메인이 하나의 네트워크라고 생각하면 된다 즉 하나의 브로드캐스트 도메인에 하나씩의 루트 브리지가 있는 것이다

 

루트 브리지란 한마디로 대장 브리지 즉 스패닝 트리 프로토콜을 수행할 때 기준이 되는 브리지(스위치)다 

 

두번째의 루트 포트란 루트 브리지에 가장 빨리 갈 수 있는 포트를 말한다 즉 루트 브리지쪽에 가장 가까운 포트라고 불 수 있다 네트워크당 하나의 루트 브리지가 있으므로 루트 브리지를 제외한 나머지 모든 브리지는 자동으로 Non Root Bridge가 된다 따라서 나머지 브리지들은 루트 브리지쪽으로 가장 가까이 있는 루트 포트를 하니씩 지정해 주어야 한다

 

세번째 세그먼트란 쉽게 생각해 브리지 또는 스위치 간에 서로 연결된 링크라고 보면 된다 즉 브리지나 스위치가 서로 연결되어 있을 때 이 세그먼트에서 반드시 한 포트는 데직네이티드 포트로 선출되어야 한다는 것이다

 

결국 스패닝 트리 프로토콜은 지금 배운 세 가지 규칙을 적용해서 어느 쪽 링크를 살려두고 어느 쪽 링크를 끊을지 결정하는 과정

 

Section 4 STP에서의 힘 겨루기

 

누가 루트 브리지가 되느냐? 누가 루트 포트나 데직네이티드 포트가 되느냐는 4가지의 단계를 통해 있다

 

1단계 - 누가 더 작은 Root BID를 가졌는가

2단계 - 루트 브리지까지의 Path Cost 값은 누가 더 작은가

3단계 - 누구의 BID(Sender BID)가 더 낮은가

4단계 - 누구의 포트 ID가 더 낮은가

 

브리지는 스패닝 트리 정보를 자기들끼리 주고받기 위해서 특수한 프레임을 사용하는데 이를 BPDU(Bridge Protocol Data Unit)라고 한다 스패닝 트리 정보를 실어 나르는 BPDU인데 루트 브리지의 BID와 루트 브리지까지 가는 경로값인 Root Path Cost, 보내는 브리지의 BID인 Sender BID 그리고 어떤 포트에서 보냈는지를 알게 해주는 Port ID 정보등이 실려 있다

 

브리자나 스위치가 부팅을 하면 이들은 각각의 포트로 BPDU를 매 2초마다 내보내면서 서로의 스패닝 트리 정보를 주고받게 된다 즉 브리지는 이 BPDU를 서로 주고받으면서 누가 루트 브리지이고 어떤 포트가 루트 포트가 될지, 그리고 어떤 포트가 데직네이티드 포트가 될지를 결정하게 된다

 

Section 5 스위치에서 Root Bridge 뽑기

 

 

 

BID는 전체 64비트로 구성되어 있고 가장 앞의 16비트에는 브리지 우선 순위가 뒤에 오는 48비트에는 브리지 또는 스위치의 맥 어드레스가 위치한다 만약 디폴트구성이라면 맨 앞에 오는 브리지 피리오리티는 32768이 된다

 

여기서 대장 브리지를 뽑는다면 일단 조건은 무조건 낮은 BID를 갖는 녀석이 대장이 된다 만약 브리지 A와 B가 먼저 부팅을 시작했다고 가정하면 A와 B끼리 서로 BPDU를 주고 받게 된다 여기에는 자기 자신의 BID도 포함이 되어 있는데 전에 루트 브리지로 선정된 브리지도 BID를 넣는다 이는 이제 막 부팅이 끝나서 다른 BPDU를 한 번도 받지 못했기 때문에 일단 이 네트워크에서 자기 혼자 있다고 생각하는 것이다 브리지가 혼자 있는 네트워크라면 당연히 자기가 루트 브리지가 된다

 

먼저 A와 B가 각자의 BPDU를 주고 받는다면 낮은 BID인 A가 루트 브리지로 된다 이제 B는 자신의 BPDU에 있는 루트 브리지 BID를 A의 BID로 바꾸어 다른곳으로 전송하게 된다 여기서 브리지C가 부팅이 된다면 C는 자신의 BPDU에 자신의 BID를 실어서 양쪽의 스위치 B와 C에게 보낸다

 

그리고 B와 C역시 A쪽으로 보내게 되고 결국 C의 BID가 가장 낮기 때문에 C가 루트 브리지가 된다 만약 A를 루트 브리지로 만들고 싶다면 브리지 피리어리티 값을 조정하면 된다

 

Section 6 Non Root Bridge의 Root Port와 Designated Port 뽑기

 

루트 포트는 루트 브리지에 가장 가까이 있는 포트를 말한다 가장 가까이 있따는것은 즉 Path Cost가 가장 적게 드는 포트를 말한다

 

 

 

스위치2와 3이 Non Root Bridge라는 것을 알 수 있다 

 

RP를 뽑는다면 DP를 뽑아야 하는데 이것은 어떤 포트를 풀어주고 어떤 포트를 막을지를 결정하는 문제라서 굉장히 중요하다 세그먼트당 하나씩의 데직네이티드 포트를 갖는다는 세번째 규칙이다 즉 브리지 네트워크에서 브리지와 브리지로 연결된 세그먼트당 각각 한 개의 데직네이티드 포트를 뽑아야 한다

 

데직네이티드 포트를 뽑는 기준은 루트 브리지까지의 Path Cost, 즉 세그먼트 상에서 Root Path Cost를 서로 비교해서 더 작은 Root Path Cost를 가진 포트가 데직네이티드 포트로 선출된다

 

그렇다면 스위치2와 3에서 스위치4로가는 경로 가운데 누가 데직네이티드 포트가 되느냐는 결국 이전에 보였던 4가지 단계에서 결정된다

 

1단계 - 누가 더 작은 Root BID를 가졌는가

2단계 - 루트 브리지까지의 Path Cost 값은 누가 더 작은가

3단계 - 누구의 BID(Sender BID)가 더 낮은가

4단계 - 누구의 포트 ID가 더 낮은가

 

1단계는 둘 다 같은 루트 브리지를 가졌기 때문에 PASS 2단계 역시 같기 때문에 PASS 

 

결국 3단계에서 갈리게 되는데 결국 MAC주소가 1이 낮은 SW2에서 SW4로 연결되는 경로가 DP로 선정이 된다 


여기서 NDP란 Non Designated Port를 말하는 것이다 즉 루트 포트도 데직네이티드 포트도 아닌 프토를 말한다

 

Section 8 스패닝 트리 프로토콜의 5가지 상태 변화

 

Disabled : 포트가 고장나서 사용할 수 없거나 네트우크 관리자가 포트를 일부러 Shutdown 시켜 놓은 상태

 

데이터 전송 : X

맥 어드레스 Learning : X

BPDU 주고 받기 : X

 

Blocking : 스위치를 맨 처음 켜거나 Disabled되어 있는 포트를 관리자가 다시 살렸을 때 그 포트는 블로킹 상태로 들어간다 맨처음 스위치가 켜지면 서로 BPDU를 주고 받으면서 루트 브리지 루트 포트 데직네이티드 포트 Non 데직네이티드 포트를 뽑는데 이런 과정이 블로킹 상태에서 발생한다

 

데이터 전송 : X

맥 어드레스 Learning : X

BPDU 주고 받기 : O

 

Listening : 블로킹 상태의 스위치 포트가 포트 선정이 완료되면 바로 리스닝 상태로 넘어간다 물론 리스닝 상태에 있던 포트도 네트워크에 새로운 스위치가 접속했거나 브리지나 스위치의 구성값들이 바뀌면 루트 포트나 데직네이티드 포트에서 NON D 포트로 상황이 변할 수도 있다 이때는 다시 블로킹 상태로 돌아가게 된다 여기서 러닝까지 가는데 15초가 소요된다

 

데이터 전송 : X

맥 어드레스 Learning : X

BPDU 주고 받기 : O

 

Learning : 리스닝 상태에 있던 스위치 포트가 포어딩 딜레이 디폴트 시간인 15초동안 그상태를 계속 유지하면 즉(포트 선정후 15초를 버티면) 리스닝 상태에서 러닝 상태로 넘어간다 러닝 상태에서야 비로소 맥 어드레스 테이블을 만들게 된다

 

데이터 전송 : X

맥 어드레스 Learning : O

BPDU 주고 받기 : O

 

Forwarding : 스위치 포트가 러닝 상태에서 다른 상태로 넘어가지 않고(루트포트나 D포트가 ND포트로 바뀌지 않았다는 뜻) 다시 포워딩 딜레이 디폴트 시간인 15초동안 그 상태를 계속 유지하면 러닝 상태에서 포워딩 상태로 넘어가게 된다 프레임을 주고 받을 수 있고 이 블로킹 상태에 있던 포트가 리스닝과 러닝을 거쳐 포워딩 상태로 오려면 디폴트 포워딩 딜레이인 15초가 두 번 지나 30초가 소요된다

 

데이터 전송 : O

맥 어드레스 Learning : O

BPDU 주고 받기 : O

 

 

 

이렇게 다섯가지 상태 변화를 통해 스위치나 브리지는 링크를 막기도 하고 열기도 하면서 스패닝 트리를 만든다 스패닝 트리 프로토콜이라는 것이 사실은 한 곳에서 다른 곳으로 가는 경로가 여러 개 일때 한 개의 경로만을 남겨두고 다 끊었다가 그 경로에 문제가 생겼을 때 경로를 하나하나 살리는 것이다 

 

포트의 변화를 통해서 일어나는 스패닝트리를 완성하기 위한 과정은 계속해서 유동적이다.

 

Section 10 스패닝 트리에 변화가 생기던 날

 

정상적으로  루트 브리지 루트 포트 데직네이티드 포트 선정이 잘 끝나고 포워딩 상태가 되고 나머지 한곳은 블로킹 상태가 된 후 잘 기동된다면 루트 브리지는 매 2초마다 Hello BPUD를 NRB로 전송하고 이 헬로 BPDU를 받은 NRB들은 이것을 자신의 데직네이티드 포트를 통해 다시 전달한다 (2초는 Default)

 

여기서 NRB들은 매 2초마다 들어오는 루트 브리지의 헬로캐핏을 보면서 아 루트 브리지까지 가는 길이 살아있구나 라는 것을 알게 된다 이때 만약 NRB들이 지정된 시간 동안 헬로패킷을 받지 못하면 중간 경로에 뭔가 문제가 발생했다고 생각하고 스패닝 트리 재편성모드가 들어가게 된다

 

### 용어 정리

 

Hello Time : 루트 브리지가 얼마만에 한 번씩 헬로 BPUD를 보내는지에 대한 시간 즉 루트 브리지는 자신에게 연결된 브리지들에게 헬로BPDU를 헬로타임이다 한 번씩 보내게 되는데 Default 는 2초

 

Max Age : 브리지 들이 루트 브리지로부터 헬로 패킷을 받지 못하면 맥스 에이지 시간 동안 기다린 다음 스패닝 트리 구조변경을 시작한다 즉 맥스 에이지란 브리지들이 루트 브리지로부터 얼마 동안 헬로패킷을 받지 못했을때 루트 브리자가 죽었다고 생각하고 새로운 스패닝 트리 만들기 시작하는가에 대한 시간

 

Forwarding Delay : 브리지 포트가 블로킹 상태에서 포워딩 상태로 넘어갈 때까지 걸리는 시간 블로킹 포트에서 리스닝 상태로 넘어간 포트는 포워딩 딜레이 시간 동안 기다린 다음 러닝 상태로 넘어가고 러닝 상태에서 다시 포워딩 딜레이 시간 동안 기다린 다음 포워딩 상태로 넘어가기 때문에 사실 블로킹에서 포워딩으로 넘어가는데 걸리는 시간은 포워딩 딜레이 시간의 두 배가 된다는 것

 

스패닝 트리에 문제가 생기게 되고 BPDU를 받지 못한다고 바로 문제점을 해결하는것이 아니라 맥스 에이지 시간을 다 채운 후(20초) 변경을 시작하게 된다 기존의 문제가 생긴 포트로부터 받지 못하게 되자 블로킹 상태의 다른 포트로부터 BPDU를 받은 후 새로 연결된 포트를 루트 포트로 선정하고 블로킹 -> 리스닝 -> 러닝 -> 포워딩을 거치게 된다 기존에 쓰던 문제가 생긴 포트는 블로킹 포트가 된다 물론 디폴트 포워딩 딜레이 시간인 15초를 리스닝에서 기다리고 다시한 번 러닝에서 15초를 기다린 후 포워딩 상태가 된다

 

그래서 대략 다른 경로를 통해 살리는 시간은 50초 정도 되서 짧은 편은 아니다 그래서 이 문제점을 해결할 다른 기법도 있다

 

Section 11 카타리스트 스위치 바라보기

 

 

 

 

카타리스트 스위치 중 P가 들어간다면 그것은 PoE를 지원한다는뜻이다 Power over Ethernet의 줄인 말로 이더넷 케이블 위에 데이터만 보내는 게 아니라 전원까지 함께 실어 보내자는 것이다 그것은 IP전화기나 AP(Access Point)라는 무선랜장비, IP 감시 카메라 같은 장비들에게 데이터 뿐 아니라 전원을 같이 제공하기 위해서다 어짜피 연결된 네트워크 케이블이라면 다른 전원케이블을 번거롭게 연결하지 않아도 하나로 연결해서 쓰는것이 간편하기 때문이다

 

S와 T는 SFP와 TP 방식의 업링크 포트를 제공한다는 의미 TP는 UPT방식 SFP는 Small Form-Factor Pluggable의 약자로 광케이블을 접속하는 접속방식중 하나로 보면 된다

 

C가 들어가는 건 스위치가 Dual Purpose Uplink를 가지고 있다는 의미다 포트가 4개가 있는걸 보면 위에 2포트는 SFP고 아래 2포트는 10/100/1000 Bast T 포트다 4포트를 다 사용하는것이 아니고 이 2가지 방식 중 하나를 선택해서 쓰는 의미다 광케이블은 SFP UTP는 Base T 포트 둘 중 하나만 사용이 가능하고 동시에 같이 사용은 X

 

 

 

SYST는 시스템 LED를 말한다 시스템의 전원 공급상태를 알 수 있는것이다 초록색이 정상상태 

 

RPS는 보조 전원 공급 장치의 상태를 나타낸다 무정전 전원 공급기로서 전원에 문제가 생겼을 때 RPS를 통해 전원을 공급 받을 수 있게 되어 있다 일반적으로 전원이 연결되면 LED에 불이 들어오고  초록색으로 깜박이면 전원공급 x 주황색으로 깜박이면 RPS가 기동중인것

 

STAT    Port Status           각 포트의 상태를 표시

DUPLX  Port DUplex Mode 각 포트의 듀플렉스 모드 표시(Half/Full)

SPEED  Port Speed           각 포트의 스피드(10/100/1000)를 표시

PoE      PoE Port Power     포트 별 PoE의 상태 표시

 

 

 

Section 13 맥 어드레스는 어디에 저장되어 있을까?

 

맥 어드레스는 스위치나 브리지가 출발지에서 들어오는 맥 어드레스를 보고 그것을 자신의 맥 어드레스 테이블에 저장한 다음 그 주소 테이블에 있는 맥 어드레스를 찾으면 그쪽 포트로만 보내고 나머지 포트를 막아줌으로써 스위치의 기본 기능 중 하나인 콜리전 도메인을 막는 역할을 한다 따라서 맥 어드레스를 배우고 저장하는 것은 어떻게 보면 스위치의 가장 큰 기능중 하나다

 

스위치가 맥 어드레스를 저장하는 방식은 크게 두 가지가 있는데 그 중 하나는 자동으로 배우는 Dynamic방식과 Permanet 사람이 수동으로 넣는 방식이 있다

 

Section 14 가상의 랜(Virtual Lan)이란

 

가정을 한다면 이 회사는 본관과 별관 두개의 건물이 있고 회사 전체는 3개의 네트워크로 나누어져 있다 따라서 본관에 있는 라우터에서는 3개의 이더넷 인터페이스가 나와야 하고 3개의 인터페이스는 3개의 서로 다른 스위치ABC에 연결되어야 한다 만약 이 회사의 별관쪽에도 똑같이 3개의 네트워크가 필요하다면 다시 3대의 스위치를 설치하고 맨 처음 스위치에서 같은 네트워크에 속한 스위치끼리 연결해 주어야 한다 즉 6개의 스위치가 필요하게 된다 하지만


 

 

 

 

VLAN이 지원되는 라우터와 스위치를 사용하면 라우터는 스위치로 하나의 링크만을 이용해서도 3개의 네트워크 정보를 같이 실어보낼 수 있다 즉 한 선에 여러 개의네트워크 정보를 보내는 것이 가능해지는 것이다 또 스위치도 여러가 개의 브로드캐스트 영역을 나누어줄 수 있게 된다 그림에서 보는 것 처럼 하나의 스위치가 3개의 서로 다른 네트워크에 속해 있다는 것을 알 수 있다

 

Section 15 VLAN에서 꼭 기억해야 할 몇 가지

 

VLAN은 스위치에서 지원하는 기능이다 허브나 브리지 또는 라우터에서는 지원하지 않는다 즉 VLAN을 지원한다면 그것은 스위치인것

 

VLAN은 한 대의 스위치를 여러 개의 네트워크로 나누기 위해서 사용한다 따라서 스위치가 일단 VLAN으로 나누어지면 나누어진 VLAN 간의 통신은 오직 라우터를 통해서만 가능하다 네트워크를 나눈다는 의미는 브로드캐스트 도메인을 나눈다는 의미다 

 

 

 

 

하나의 스위치 안에서 서로 다른 VLAN구성을 통해 다른 네트워크에 소속된 것이다 따라서 서로 간의 통신은 라우터를 통해서만 가능하다 스위치의 각 포트들은 서로 다른 스위치 중 어디에도 속할 수 있다 

 

 

 

VLAN으로 구성된 스위치를 트렁크 포트를 통해 서로 연결할 수도 있다 이 2대의 스위치는 패스트 이더넷 포트를 통해 연결되는데 각 스위치 별로 구성된 VLAN이 한꺼번에 전송되도록 구성했다 이렇게 하나의 포트를 통해 서로 다른 여러 개의 VLAN을 전송할 수 있게 하는 포트를 트렁크 포트(Trunk Port)라고 한다

 

물론 이 구성헤서도 서로 다른 네트워크로 구성된 VLAN들은 서로 통신할 수 없고 라우터를 통해서만 가능하다 트렁크포트가 가능하기 때문에 VLAN은 여러 대의 스위치에 구성이 가능하다 즉 같은 VLAN끼리는 스위치를 건너서도 통신이 가능하다는 것이다

 

트렁크에서 패킷이 전송될 때는 패킷에 VLAN 정보도 같이 전송된다 그 때문에 어느 VLAN에 속한 패킷인지를 목적지에서 구분할 수 있다

 

스위치에서 VLAN을 나누는 방식에는 스태틱 VLAN과 다이내믹 VLAN 방식 두 가지가 있다

 

스태틱 VLAN은 가장 일반적인 방식으로 스위치의 각 포트들을 원하는 VLAN에 하나씩 배정해 주면 된다 대부분의 스위치에서 사용하는 방식이다

 

다이내믹 VLAN은 스태틱처럼 포트별로 고정 VLAN을 배정하는 것이 아니라 그 포트에 접속하는 장비의 맥 어드레스를 보고 그 부서에 따라 VLAN을 달리 배정하는 것이다

 

즉 어떤 장비가 스위치에 접속하면 스위치는 자신의 기본 기능인 Learning을 이용해 그 장비의 맥 어드레스를 배우게 되고 그 장비의 맥 어드레스를 알게 된 스위치는 곧바로 VMPS(VLAN Membership Policy Server) 서버에게 이 장비의 맥 어드레스를 알려주고 맥 어드레스를 알게 된 VMPS 서버는 자신이 가지고 있는 데이터베이스를 뒤져 지금 들어온 맥 어드레스에 해당하는 VLAN을 찾은 다음, 그 정보를 해당 스위치에게 알려준다 VLAN 정보를 받은 해당 스위치는 장비의 VLAN을 방금 전달받은 그 VLAN값으로 세팅하는 것이다 따라서 장비가 스위치의 포트에 접속하기 전까지는 스위치의 포트에 접속하기 전까지는 스위치의 포트에 VLAN이 세팅되어 있지 않다 장비가 접속하면 그 장비의 맥 어드레스에 따라 VLAN을 세팅하는 것이다

 

다이내믹 VLAN에 VMPS는 들어온 맥 어드레스를 가지고 그 주소에 해당하는 VLAN을 찾아주는 통제 센터 역할을 하는데 주로 대형 스위치에서 이 기능을 제공

 

VMPS서버는 프라이머리 백업으로 나누어져 있고 TFTP서버는 실제 맥 어드레스와 이에 해당하는 VLAN 정보를 가진 FTP서버다 다이내믹 VLAN은 주로 이동이 잦은 사무 환경에적합하다 자기 맥 어드레스에 따라 해당 네트워크를 자동으로 찾아주니 편리하다

 

Section 16 VLAN에서의 트렁킹과 VTP(VLAN Trunking Protocol)

 

트렁킹은 여러 개의 VLAN들을 함께 실어나르는 것을 말한다 각 스위치에 여러 개의 VLAN이 있기 때문에 원래는 각 VLAN별로 링크를 만들어우저야 하지만 너무 많은 링크가 필요하기 때문에 모든 VLAN이 하나의 링크를 통해 다른 스위치나 라우터로 이동하기 위해 드렁킹을 만든 것이다 그러다 보니 함께 이동시킨 VLAN을 각각 분리하려면 별도의 이름표가 필요하게 되는데 이 이름표를 붙여주는 방식은 2가지가 있고 ISL 트렁킹과 IEEE802.1Q 방식의 트렁킹이 있다

 

숫자가 들어간 방식은 표준 트렁크 프로토콜이로서 네이티브 VLAN(Native VLAN)이라는 한가지 특색있는 VLAN이 나온다 트렁킹은 셔틀 버스에 올라타는 모든 VLAN 패킷에 각각의 VLAN 정보를 써서 가슴에 이름표로 붙여주는데 다른 모든 VLAN들은 이름표를 붙이지만 유독 붙이지 않는 VNAN이 있다

 

이 패킷은 유일하게 이름표를 달지 않았으니 찾기가 쉽고 이 네이트브 브이랜은 패킷에 브이랜 정보를 붙이지 않고 보내는 브이랜(Untagged 트래픽이라고도 말한다)으로 모든 스위치 네트워크에서 유일하게 한 개의 브이랜만을 네이티브 브이랜으로 세팅할 수 있다 그래야 나중에 이름표 없는 패킷이 어느 브이랜인지 알 수 있기 때문이다

 

ISL(Inter-Switch Link) 방식은 시스코만의 트렁킹 프로토콜로 스위치와 스위치간의 링크 스위치와 라우터 간의 링크에서 여러 개의 브이랜 정보를 함께 전달하는 방식이다 ISL은 네이티브 브이랜 이라는 개념이 없어 모든 브이랜에 이름표를 붙인다 각 브이랜 정보는 ISL 트렁크를 따라 전송된다 

 

 

 

쉽게 트렁킹이란 여러 개의 브이랜을 한 번에 전송하는 방식이라고 생각해보자

 

VTP는 스위치들 간에 브이랜 정보를 서로 주고받아 스위치들이 가지고 있는 브이랜정보를 항상 일치시켜 주기 위한 프로토콜이다 VTP 역시 시스코만의 프로토콜

 

 

 

만약 VTP 기능이 지원되지 않는 스위치라면 이 스위치들에게 새로운 브이랜 하나를 추가한다면 스위치 모두를 브이랜 구성 변경을 해야 한다 또 브이랜 하나를 지우러면 역시 모든 스위치 구성에서 지워야 한다 그러나 VTP가 있다면

 

VTP를 enable 구성한다면 VTP 서버에서 한번만 VLAN정보를 설정하면 VTP 서버는 다른 스위치와의 트렁크 링크를 통해서 브이랜 정보를 자동으로 업데이트 한다 따라서 모든 스위치에 일일이 브이랜 정보를 업데이트 할 필요가 없는 장점이 있다

 

어떻게 VTP가 전체 스위치들 간에 VLAN정보를 항상 일치시키는지를 알아보려면 먼저 VTP간에 주고 받는 메세지를 알아봐야 한다

 

- Summary Advertisement : VTP 서버가 자기에게 연결되어 있는 스위치들에게 매 5분마다 한 번씩 전달하는 메세지로 자신이 관리하는 VTP 도메인의 구성에 대한 Revision 넘버를 보낸다 스위치들은 바로 이 리비전 넘버를 보고 자신들의 브이랜 정보가 최신 버전인지 아닌 지를 판단하고 서머리 어드버타이즈먼트 또한 브이랜 구성에 변화가 생겼을 때도 전달이 되는데 이때는 5분을 기다리지 않고 즉시 전달

 

- Subset Advertisement : 이 메세지는 브이랜의 구성이 변경되었을 때나 VTP 클라이언트로부터 어드버타이즈먼트 리퀘스트를 받았을 때 전송된다 실제 브이랜 정보는 바로 이 서브셋 어드버타이즈먼트에 저장되어 전달된다 

 

- Advertisement Request : 클라이언트가 VTP 서버에게 Sum A와 Sub A를 요청하는 용도로 사용된다 클라이언트는 자신의 리비전 넘보보다 더 높은 리비전 넘버를 갖은 Sum A를 전달박더나 VTP 도메인 이름이 바뀌거나 Sub A 메세지를 잃어버렸거나 스위치가 새로 리셋되었을 경우 A R 메세지를 VTP 서버에게 보낸다

 

스위치의 처음 초기 상태는 VTP 이름이 세팅되어 있지 않다 또한 디폴트값으로 세팅되어 있고 리비전 넘버 역시 한 번도 업데이트가 일어나지 않았기 때문에 0으로 되어 있다 

 

VTP는 세가지 모드로 구성되어 있다

 

 

 

이 세가지 VTP 모드가 실제 네트워크에서는 이렇게 작동한다

 

 

 

VTP Pruning이란 브이랜을 좀 더 효율적으로 사용하기 위해 만든 응용 기법 중의 하나다 프루닝의 뜻은 가지치기 인데 말 그대로 트렁크로 이동하는 브이랜 트래픽 중에서 갈 필요가 없는 트렁크 쪽으로 트래픽이 흘러갈 경우 그 부분을 가지치기 하듯이 잘라낸다는 것이다

 

 

 

스위치가 모두 브이랜으로 세팅되어 있고 트렁크 된 상태다 이 상태에서 포트 2를 통해 B 컴퓨터와 통신하고 싶다고 하면 브로드캐스트를 굳이 상관 없는 스위치 3이나 5 6에 뿌릴 필요가 없게 된다 결국 트렁크의 대역폭 소비를 최소화 하기 위해서 전달되는 트래픽을 보고 그쪽으로 갈 필요가 없는지를 먼저 확인한다

 

그래서 갈 필요가 없는 곳을 가지치기 하고 갈 길만 열어주게 된다 그렇게 되면 대역폭 낭비를 막게 되는 것이다 VTP Pruning은 한마디로 내가 가지고 있지 않은 VLAN 정보에 대한 트래픽은 비록 모든 브이랜을 전송해주는 트렁크라 하더라도 받지 않겠다는 것이다 

 

 

 

 

' > DB' 카테고리의 다른 글

Sol  (0) 2015.05.17
Part 7 라우터?  (0) 2015.03.07
Part 5 IP 주소로의 여행  (0) 2015.03.07
Part 3 4 TCP/IP와의 만남 네트워크 장비들  (0) 2015.03.07
Part 1 2 네트워크의 세상으로  (0) 2015.03.07