Wisdom’s Cloud

[NETWORK] 23. 트렁킹과 VTP 본문

NETWORK

[NETWORK] 23. 트렁킹과 VTP

지혜로운지혜쓰 2021. 2. 19. 11:20
트렁킹(Trunking)이란?
  • 여러 개의 VLAN들을 함께 실어 나르는 것을 말한다. 즉 각 스위치에 여러 개의 VLAN이 있기 때문에 원래는 각 VLAN별로 링크를 만들어줘야 하지만, 그렇게 되면 너무 많은 링크가 필요하기 때문에 마치 셔틀버스처럼 모든 VLAN이 하나의 링크를 통해 다른 스위치나 라우터로 이동하기 위해 트렁킹이란 것을 만든 것이다.
  • 따라서 버스를 내릴 때 자기 집을 제대로 찾아가려면 각 VLAN별로 별도의 이름표가 있어야 되기 때문에 각 VLAN들은 트렁킹이라는 셔틀버스에 자기들의 패킷을 태울 때 각각의 이름표를 붙여주며, 이 이름표를 어떻게 붙여주느냐에 따라 ISL 트렁킹과 IEEE 802.1Q 트렁킹 방식으로 나뉜다.
  • 먼저 ISL 방식은 시스코에서 만든 트렁킹 프로토콜로, 시스코 장비끼리만 사용하는 방식인 반면, IEEE 802.1Q 방식은 트렁킹에 대한 표준 프로토콜이다. Catalyst 2950의 경우에는 이 두 개의 트렁킹 방식 중 IEEE 802.1Q 방식만을 지원한다.
  • 또한 IEEE 802.1Q 방식에는 네이티브 VLAN(Native VLAN)이라는 VLAN이 있다. 이 네이티브 VLAN은 패킷에 VLAN 정보를 붙이지 않고 보내는 VLAN(Untagged 트래픽)으로, 모든 스위치 네트워크에서 유일하게 한 개의 VLAN만을 네이티브 VLAN으로 세팅할 수 있다.
  • ISL(Inter-Switch Link) 방식은 스위치와 스위치 간의 링크, 스위치와 라우터 간의 링크에서 여러 개의 VLAN 정보를 함께 전달하는 방식이다. IEEE 802.1Q 방식과 큰 차이는 없지만, ISL 방식은 네이티브 VLAN이라는 개념이 없이 모든 VLAN에 이름표를 붙인다.

 

 

VTP(VLAN Trunking Protocol)란?
  • VTP는 스위치들 간에 VLAN 정보를 서로 주고받아 스위치들이 가지고 있는 VLAN 정보를 항상 일치시켜 주기 위한 프로토콜이며, VTP 역시 시스코만의 프로토콜이다.
  • 스위치에 VTP 기능이 지원되지 않으면, 새로운 VLAN 하나를 추가할 필요가 생길 경우 모든 스위치에 VLAN 구성을 변경해 주어야 한다. 마찬가지로 VLAN 하나를 지우려면 역시 각 스위치의 구성에 들어가서 VLAN을 지워주어야 한다는 문제가 있다.
  • 하지만 VTP가 enable되도록 구성하면, VTP 서버에서 한 번만 VLAN 정보를 설정해도 VTP 서버는 다른 스위치와 트렁크 링크를 통해서 VLAN 정보를 자동으로 업데이트하기 때문에 나머지 모든 스위치에 일일이 VLAN 정보를 업데이트할 필요가 없는 장점이 있다.
  • VTP에서의 VLAN 정보는 스위치 간 트렁크 링크를 통해서만 전달되며, 이때 두 스위치 간의 트렁킹 방식이 IEEE 802.1Q 방식이든 ISL 방식이든 상관없이 전달이 가능하다.

 

 

VTP 간에 주고받는 메시지
  • Summary Advertisement: VTP 서버가 자기에게 연결되어 있는 스위치들에게 5분마다 한 번씩 전달하는 메시지로, 자신이 관리하는 VTP 도메인의 구성에 대한 Revision 넘버를 보낸다. 스위치들이 바로 이 Revision 넘버를 보고 자신들의 VLAN 정보가 최신 버전인지 아닌지를 판단한다. 또한 Summary Advertisement는 VLAN 구성에 변화가 생겼을 때도 전달되는데, 이때는 5분을 기다리지 않고 즉시 전달된다.
  • Subset Advertisement: 이 메시지는 VLAN의 구성이 변경되었을 때나 VTP 클라이언트로부터 Advertisement Request 메시지를 받았을 때 전송된다. 실제 VLAN 정보는 바로 이 Subset Advertisement에 저장되어 전달된다.
  • Advertisement Request: 이 메시지는 클라이언트가 VTP 서버에 Summary Advertisement와 Subset Advertisement를 요청하는 용도로 사용된다. 클라이언트는 자신의 Revision 넘버보다 더 높은 Revision 넘버를 갖은 Summary Advertisement를 전달받거나, VTP 도메인 이름이 바뀌거나, Subset Advertisement 메시지를 잃어버렸거나, 스위치가 새로 리셋되었을 경우 Advertisement Request 메시지를 VTP 서버에 보낸다.

 

 

VTP의 3가지 모드
  • VTP 서버 모드: VTP 서버 모드에서는 VLAN을 생성하고, 삭제하고, VLAN의 이름을 바꿔줄 수 있으며, VTP 도메인 안에 있는 나머지 스위치들에서 VTP 도메인 이름과 VLAN 구성, Configuration Revision 넘버를 전달해 줄 수 있다. VTP 서버는 VTP 도메인의 모든 VLAN에 대한 정보를 NVRAM에서 관리하며, 스위치가 꺼졌다 다시 켜지더라도 VLAN 정보를 모두 가지고 있다. 여기서 NVRAM이란 비휘발성 RAM으로 전원이 꺼져도 저장된 정보를 잃지 않도록 설계된 내부 메모리다.
  • VTP 클라이언트 모드: VTP 클라이언트 모드에서는 VLAN을 만들거나 삭제하고, VLAN 이름을 바꿔주는 일은 불가능하다. VTP 클라이언트는 VTP 서버가 전달해준 VLAN 정보를 받고, 또 받은 정보를 자기와 연결된 다른 쪽 스위치에 전달하는 것만 가능하다. 또한 VTP 클라이언트는 이 정보를 NVRAM에 저장하지 않기 때문에 만약 스위치가 리부팅하면 모든 VALN 정보를 잃게 되어 VTP 서버로부터 다시 받아와야 한다. 서버에 비해 몇 가지 제약이 있기는 하지만, VTP 정보를 자신의 메모리에 따로 보관하지 않기 때문에 메모리가 적은 스위치는 이 방식이 유리하다.
  • VTP Transparent 모드: VTP 트랜스페어런트 모드는 VTP 도메인 영역 안에 있지만, 서버로부터 메시지를 받아 자신의 VLAN을 업데이트하거나 자신의 VLAN을 업데이트한 정보를 다른 스위치에 전달하지 않는다. 따라서 직접 VLAN을 만들고, 삭제할 수 있으며, 이 정보를 자기만 알면 되기 때문에 다른 스위치들에게 알리지 않는다. 다만 VTP 트랜스페어런트 모드는 서버로부터 들어온 메시지를 자기를 통해 연결된 다른 스위치쪽으로 전달해 주거나 자기와 연결된 다른 스위치쪽에서 서버쪽으로 가는 VTP 메시지를 전달해 주는 역할만 한다. 따라서 한 스위치에서 만든 VLAN을 그 스위치에서만 쓰기 때문에 외부 스위치가 이를 알 필요가 없을 경우, 즉 로컬 스위치에서만 사용할 VLAN을 가진 스위치에 주로 사용되며, VTP 트랜스페어런트 모드 스위치 역시 자신의 VLAN 정보를 NVRAM에 저장한다.

 

 

[예제1-1] 초기 스위치 상태

  • 스위치 3대가 처음 초기 상태에서는 VTP Name이 세팅되어 있지 않고, VTP 모드는 디폴트 값인 서버 모드로 세팅되어 있다. 현재의 VLAN 업데이트 상태를 나타내는 Revision 넘버는 아직 한 번도 VLAN 업데이트가 일어나지 않았기 때문에 0으로 되어 있고, 맨 아래 VLAN 역시 디폴트 VLAN인 1번 VLAN만이 존재하고 있다.

[예제1-2] 스위치 A의 VTP 서버 모드 변신

  • 먼저 스위치 A는 VTP 모드를 서버로 하고, VTP 도메인 이름을 Cisco로 준다. 그리고 3개의 VLAN도 추가해서 VLAN 2, VLAN 3, VLAN 4를 만들면 Config Revision 값이 3으로 변경되었다.

[예제1-3] Summary Advertisement를 전송하는 VTP 서버 스위치

  • 스위치 B는 VTP 클라이언트 모드로, 스위치 C는 VTP 트랜스페어런트 모드로 만들어 스위치 A와 직접 연결하면 스위치 A는 스위치 B와 스위치 C에게 Summary Advertisement를 전송한다.

[예제1-4] VTP 서버와 VTP 클라이언트의 VLAN 정보 일치

  • Summary Advertisement를 받은 스위치 B는 먼저 자신의 VTP 도메인 이름을 Cisco로 변경하고, Config Revision 넘버를 비교한다. 비교해 보니 현재 갖고 있는 Revision 넘버(0) 보다 더 높은 Revision 넘버(3)이 들어온 것을 확인하고, 스위치 B는 VTP 서버인 스위치 A에게 Advertisement Request를 보내 업데이트된 VLAN 정보를 요청한다. 그럼 스위치 A는 다시 Summary Advertisemetn와 Subnet Advertisement를 스위치 B에 보내주게 된다. 이제 스위치 B는 자신의 VLAN 정보에 VLAN 2, 3, 4를 추가하고, Config Revision 넘버를 3으로 변경하여 스위치 B와 스위치 A 간의 VLAN 정보를 일치시킨다.
  • 반면 스위치 C는 스위치 A로부터 VTP 도메인 이름과 Config Revision 넘버가 들어있는 Summary Advertisement를 받았지만, 이 메시지를 자신의 VLAN 정보에 전혀 반영하지 않고 원래 상태 그대로 유지한다. 여기서 스위치 C가 VTP 도메인 이름을 Cisco라고 만들고 VLAN 10과 20을 추가했다고 가정해보자. 스위치 C는 트랜스페어런트 모드로 동작하기 때문에 자신의 VLAN 정보를 다른 어떤 스위치에도 전달하지 않고, 다른 스위치로부터 VLAN 정보를 받아 자신의 VLAN 정보를 수정하지도 않는다. 하지만 트랜스페어런트 모드로 동작하는 C와 같은 스위치가 VTP 메시지를 아예 막아버리는 것은 아니다.

[예제1-5] 트랜스페어런트 모드 스위치

  • 그림에서처럼 트랜스페어런트 스위치로 동작하는 C의 뒤에 다시 D라는 스위치가 새로 연결된다면 스위치 C는 스위치 A로부터 전달받은 VTP 메시지를 스위치 D에 전달해주고, 또 스위치 D에서 전달받은 VTP 메시지를 스위치 A에 전달하는 릴레이 역할을 한다. 즉 스위치 C 자신은 이 정보를 사용하지 않더라도 중간에서 전달을 해주는 것이다.

'NETWORK' 카테고리의 다른 글

[NETWORK] 25. VLAN 구성 예시  (0) 2021.02.19
[NETWORK] 24. VLAN 구성  (0) 2021.02.19
[NETWORK] 22. VLAN  (0) 2021.02.18
[NETWORK] 21. 카타리스트 스위치 구성  (0) 2021.02.18
[NETWORK] 20. 카타리스트 스위치  (0) 2021.02.18