bxm's IT Story

VTP (Vlan Trunking Protocol) // DTP (Dynamic Trunking Protocol) 본문

Network/Cisco (KEDU)

VTP (Vlan Trunking Protocol) // DTP (Dynamic Trunking Protocol)

bxmsta9ram 2021. 6. 30. 10:15

VTP_DTP.txt
0.00MB

## VTP ##

## 'Vlan Trunking Protocol' 이란, 복수개의 스위치들이 VLAN 설정 정보를 교환할 때 사용하는 프로토콜이다. 

    VTP를 사용하면 VLAN 설정 작업이 편리하지만 주의하지 않으면 설정된 VLAN 정보가 순식간에 삭제되어

   스위치 네트워크가 제대로 동작하지 않을 수 있다.

 

## VTP 동작 원리

1. 스위치에서 VLAN을 추가, 수정 또는 삭제한다. 

   결과적으로 VLAN 설정 정보가 변경되고, 새로운 VLAN 정보를 다른 스위치에게 전송해야 한다.

 

2. 스위치는 VTP 설정 정보 (Configuration revision)를 기존값보다 1 증가시켜 다른 스위치에게 변경된 VLAN

   정보와 함께 전송한다.

 

3. VTP 정보를 수신한 스위치는 자신의 VTP 설정 정보와 수신한 번호를 비교한다. 

   수신한 VTP 프레임의 VTP 설정 번호가 더 높으면 자신의 VLAN 정보를 새로운 정보를 대체한다.

   수신한 VTP 프레임의 VTP 설정 번호와 자신의 번호가 동일하면, 수신한 프레임을 무시한다.

   수신한 프레임의 설정 번호 < 자신의 번호 → 자신의 VTP 정보를 전송한다.

 

 

## VTP 도메인

VTP는 도메인 이름이 같은 스위치 간에만 정보를 교환한다. VTP가 동작하기 위한 최소의 조건은 VTP 도메인 이름이

동일하고, 트렁크 포트로 연결되는 것이다. 트렁크로 연결되어 있어도 도메인 이름이 설정되어 있지 않으면 VTP가

동작하지 않는다. 그러나, 하나의 스위치에서 VTP 도메인 이름을 지정하면 트렁크로 연결된 스위치들은 자동으로 VTP 도메인 이름이 설정된다.

 

스위치간에 VTP 도메인 이름이 다르면 상대가 전송한 VTP 정보를 무시한다. 이 경우, DTP에 의해서 자동적으로 정해진

트렁크 포트는 액세스 포트로 변하므로 주의해야 한다. 즉, VTP 도메인 이름이 다른 스위치끼리 트렁킹 시키려면 직접

트렁킹 인캡슐레이션과 모드를 지정해야 한다.

 

VTP 정보는 라우터를 넘어가지 못한다. 즉, 중간에 라우터가 있으면 VTP 도메인은 분리된다.

 

 

## VTP 모드

VTP 모드는 서버(Server), 클라이언트(Client), 및 트랜스패런트(Transparent) 세 종류가 있으며, 각 모드마다 동작방식 및

역할이 다르다.

Server
- VLAN을 만들고 지우거나 또는 VLAN의 이름을 변경할 수 있다.
- VTP 정보를 다른 스위치에게 전송한다.
- 다른 스위치에게서 받은 정보와 자신의 정보를 일치시키며, 이를 다른 스위치에게 중계한다.
- 스위치의 Default VTP 모드가 바로 '서버'이다.

Client
- VLAN을 만들거나 삭제할 수 없다.
- VTP 정보를 다른 스위치에게 전송한다.
- 다른 스위치에게서 받은 정보와 자신의 정보를 일치시키며, 이를 다른 스위치에게 중계한다.

Transparent
- VLAN을 만들거나 삭제할 수 있다.
- 자신의 VTP 정보를 다른 스위치에게 전송하지 않는다.
- 다른 스위치에게서 받은 정보와 자신의 정보를 일치시키지 않는다.
- 하지만, 다른 스위치에게서 받은 VTP 정보를 중계한다.

## 스위치 1대당 VLAN이 100개가 설정되어 있다. 그런데 스위치가 총 10대이다. 그렇다면 VLAN을 1000번을

    설정해주는 짓을 해야한다. 

## 그러기에 첫 번째 스위치에서 100개의 VLAN을 설정해주고, 나머지는 자기들끼리 복제하도록 만들 수 있는게 VTP다.

## 하지만 위험성도 도사리고 있음. 실습하며 확인!!



공통]

conf t

no ip domain lookup

line c 0

  logg sy

  exec-timeout 0

  exit

line vty 0 4

  pass cisco

  exit


## VLAN 설정하지 말고, Trunking만

SW1]

no ip routing

int f1/1

  sw tr enc dot

  sw mo tr

  end

 

SW2]

no ip routing

int range f1/1 - 2

  sw tr enc dot

  sw mo tr

  end

 

SW3]

no ip routing

int range f1/2 - 3

  sw tr enc dot

  sw mo tr

  end

 

SW4]

no ip routing

int f1/3

  sw tr enc dot

  sw mo tr

  end


SW1]

show vtp status

 

## VLAN 생성

conf t

vlan 10

  exit

 

show vtp status

Revision(VLAN이 몇번 변화가 생겼느냐?) + 1

 

## VLAN 삭제

Revision = 2로 변경.

## 한마디로 Revision Number가 높으면 높은수록 최신 버전의 VLAN임. 그래서 아까 위에 설명에서

    숫자 비교하며 업데이트 할지, 말지를 선택했던 것임.

 

 

 

그리고 SW1 ~ SW4 까지 Trunking을 해준 이유는, 위의 설명에서 'VTP가 동작하기 위한 최소의 조건은 VTP 도메인

이름이 동일하고, 트렁크 포트로 연결되는 것이다.' 때문임!!


## VTP 만들기

SW1]

conf t

vtp mode server

vtp domain VTP30 ## 그냥 오늘날짜로 이름 준것임. 이러면 SW1~SW4 전부 동기화가 된다.

SW2]

conf t

vtp mode client

SW3]

conf t

vtp mode transparent

SW4]

conf t

vtp mode client


SW3]

vlan 100

  exit

vlan 200

  exit

SW1]

vlan 10

  exit

vlan 20

  end

 

show vtp status

VTP Domain에 VTP30이 설정되었다.


SW2]

show vtp status

## client고 리비전 똑같이 8고, vlan의 개수가 7개로 뜸.

 

show vlan-sw

## 우리는 SW2에서 VLAN10과 20을 만든적이 없다!!!!!!!!!!!!!

## 그런데 넘어왔음!! 심지어 Trunking을 했기에 도메인 이름도 같이 넘어왔음!!

SW1에서만 VTP Domain을 설정해주었는데, SW2에서도 마찬가지로 VTP Domain이 동기화 되었음!!

 

SW3]

show vlan-sw

## 얘는 VLAN10과 VLAN20을 복제하지 않았음. Transparent라서 독고다이 개썅 마이웨이임.

## 하지만 중계는 함!! SW4 가보면 VLAN 10과 VLAN 20이 생성되었을 것임.

 

SW4]

show vlan-sw

 

## VLAN10과 20이 넘어왔음!!


## 그렇다면 Transparent의 리비전 Number를 확인해보자!!

SW3]

show vtp status

 

## transparent는 리비전 넘버가 항상 0이다!!!!!

 


## 이 전까지Server가 Client보다 위인 것을 확인했다!!

 

SW3]

conf t

vlan 777

  exit

vlan 888

  exit

vlan 999

  exit

## transparent 모드 이므로 상관없이 만들 수 있다! 다른데에 영향 X

 

 

SW1]

conf t

vtp mode transparent

## SW1의 VTP Mode를 Server -> Transparent로 바꿔보자.

 

show vlan-sw

 

## VLAN 10과 20이 아직도 있다.

 

show vtp status

## Server -> Transparent로 바꾸니 리비전 넘버가 0으로 바뀌었다!!

 

 

SW3]

conf t

vtp mode server

exit

## SW1의 VTP Mode를 Transparent -> Server로 바꿔보자.

 

show vtp status

 

show vlan-sw

## 좀 전에 만들었던 777,888,999가 날아갔음.

## 왜 날아갔을까? 리비전 넘버가 낮으면 아무리 Server라 할지라도 Transparent가 Server를 뭉개버리기 때문임!!

 

 

conf t

vlan 777

  exit

vlan 888

  exit

vlan 999

  exit

 

 

SW2]

show vlan-sw

## client인 SW2에서 보면, 777,888,999가 넘어온 것을 확인할 수 있음.

 

 

SW3]

conf t

vtp mode transparent

## 다시 transparent로 바꿔보자!!

## 지금 SW1, SW3이 transparent인 상태이다.

 

 

SW2]

show vtp status

## 현재 vlan이 10개이고, 리비전 넘버가 7인 것을 확인

 

 

SW1]

## 현재 VLAN 10과 VLAN 20이 있는데,

## 다시 서버로 바꾸면 Client에 뭉개진다!!

conf t

vtp mo server

end

 

show vlan-sw

## client에게 뭉개져서 client 것을 배웠음. 10, 20, 777, 888, 999 !!

## 배울 수 있는 것.

    ==> 용산에서 중고 스위치를 샀는데 그냥 고쳐서 썼음.

           아무리 서버라 할지라도 리비전 넘버가 낮으면 뭉개진다고 했음.

           중고 스위치(리비전 넘버가 엄~~~~~~~~~청 많을 거임!!)를 기존에 사용하는 스위치와 트렁킹해서 실행했다.

           그러면 중고 스위치에 있는 정보로 전~~~~~부 갈아 엎어진다!! 그러면 회사에서 짤린다.. ^^

           그래서 transparent(리비전 넘버 0)로 바꾼 상태에서 고쳐서 사용해야함!!

           

   VTP는 여기까지!! VTP는 편하긴 하지만, 리비전 넘버 관리를 잘해야함. 매우 위험함!!

 



## DTP ##

## DTP(Dynamic Trunking Protocol)란 시스코 스위치에서 상대 스위치간 Trunk와 관련된 사항을 협상할 때

    사용하는 프로토콜이다. DTP에 의해서 결정되는 것은 [트렁크 포트 전환 여부]와 [트렁크 포트로 동작시 

    인캡슐레이션] 방식이다.

 

DTP 포트의 동작방식은 총 4가지가 있다.

1. Access 상대 포트와 상관 없이, 자신은 액세스 포트로 동작한다. 주로 말단 PC가 달려 있는 포트를 뜻한다.
2. Trunk - 상대 포트와 상관 없이, 자신은 트렁크 포트로 동작한다. 
- 상대 포트를 트렁크 포트로 동작시키기 위한 
DTP 패킷을 전송한다.
- 스위치 포트의 모드를 트렁크로 지정하려면 인캡슐레이션 방식을 미리 지정해야 한다.

- 사용가능한 방식은 dot1q(802.1Q), isl 및 negotiate(디폴트)가 있다.
- 인캡슐레이션 방식을 지정하지 않고, 
특정 포트를 트렁크로 동작시키기 위하여 'switchport mode
  trunk'
 명령어를 사용하면, 인캡슐레이션 방식이 
Auto일 때는 트렁크 모드로 지정할 수 없다는 에러    메시지가 표시된다.
3. Dynamic desirable - 이것이 스위치의 디폴트(default) DTP 모드이다. 
- 이 모드에서는 상대 
포트를 트렁크로 동작시키기 위해 DTP 패킷을 전송하지만, 상대측 포트가
  Trunk, desirable, auto인 
경우에만 자신도 트렁크로 동작한다.
- 상대방이 액세스 모드이면 자신도 액세스 모드로 동작한다.
4. Dynamic auto - 스위치 포트의 DTP 모드가 Dynamic auto면, 상대측 포트가 Trunk 또는 desirable인 경우에만
  Trunk로 동작한다.
- 상대측 포트의 모드가 동일한 Auto이거나 Access 모드이면, 자신도 Access 
모드로 동작한다.

## 이거 외워야 한다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 이게 바로 negotiation임.

## GNS로는 노드가 2개 밖에 없기때문에 딱히 GNS로는 실습할 수 없음.

## 취직해서 실제 장비를 자주 만지게 되면 자주 사용할 것임. 다음 실습때 해보자!

'Network > Cisco (KEDU)' 카테고리의 다른 글

Ether Channel을 통한 Total MAP 구성  (0) 2021.06.30
Open_Source_NET_ NAT  (0) 2021.06.30
DHCP Relay Agent (DHCP의 끝판왕)  (0) 2021.06.28
Ether Channel  (0) 2021.06.28
EIGRP 에서의 문제점 - SIA 현상 (Stuck In Active)  (0) 2021.06.23