天天看點

VTP協定原理及配置

轉載自http://nctec.blog.163.com/blog/static/23626847200791373735784/

一、VTP簡介

    VLAN中繼協定(VTP,Vlan Trunking Protocol)是CISCO專用協定,VTP負責在VTP域内同步VLAN資訊,這樣就不必在每個交換上配置相同的VLAN資訊.VTP最重要的作用是,将進行變動時可能會出現在的配置不一緻性降至最低.VTP也有一些缺點,這些缺點通常都與生成樹協定有關.

1、VTP協定的作用

    VLAN中繼協定(VTP)利用第2層中繼幀,在一組交換機之間進行VLAN通信.VTP從一個中心控制點開始,維護整個企業網上VLAN的添加、添加和重命名工作,确何配置的一緻性。

2、VTP的優點

 保持配置的一緻性

 提供跨不同媒體類型如ATM FDDI和以太網配置虛拟區域網路的方法

 提供跟蹤和監視虛拟區域網路的方法

 提供檢測加到另一個交換機上的虛拟局域的方法

 提供從一個交換機在整個管理域中增加虛拟區域網路的方法

二、VTP的工作原理

1、VTP概述和工作原理

    VTP是一種消息協定,使用第2層幀,在全網的基礎上管理VLAN的添加、删除和重命名,以實作VLAN配置的一緻性。可以用VTP管理網絡中VLAN1到1005。有了VTP,就可以在一台交換機上集中進行配置變更,所作的變更會被自動傳播到網絡中所有其他的交換機上。(前提是在同一個VTP域),為了實作此功能,必須先建立一個VTP域,以使它能管理網絡上目前的VLAN。在同一管理域中的交換機共享它們的VLAN資訊,并且,一個交換機隻能參加到一個VTP管理域,不同域中的交換機不能共享VTP資訊。

    a).交換機間交換下列資訊:

 管理域域名

 配置的修訂号

 已知虛拟區域網路的配置資訊.

    b).交換機使用配置修正号,來決定目前交換機的内部資料是否應該接受從其他交換機發來的VTP更新資訊.如果接收到的VTP更新配置修訂号與内部資料庫的修訂号相同域者比它小,交換機忽略更新.否則,就更新内部資料庫,接受更新資訊.

VTP管理域在安全模式下,必須配置一個在VTP域中所有交換機惟一的密碼.

    c).VTP的運作有如下特點:

 VTP通過發送到特定MAC位址01-00-0C-CC-CC-CC的多點傳播VTP消息進行工作.

 VTP通告隻通過中繼端口傳遞.

 VTP消息通過VLAN1傳送.(這就是不能将VLAN1從中繼鍊路中去除的原因)

 在經過了DTP自動協商,啟動了中繼之後,VTP資訊就可以沿着中繼鍊路傳送.

 VTP域内的每台交換機都定期在每個中繼端口上發送通告到保留的VTP多點傳播位址

    d).VTP通告可以封裝在ISL或者IEEE802.1Q幀内.

2、VTP域

    VTP域,也稱為VLAN管理域,由一個以上共享VTP域名的互相接連的交換機組成.要使用VTP,就必須為每台交換機指定VTP域名.VTP資訊隻能在VTP域内保持.一台交換機可屬于并且隻屬于一個VTP域.預設情況下,CATALYST交換機處于VTP伺服器模式,并且不屬于任何管理域,直到交換機通過中繼鍊路接收了關于一個域的通告,或者在交換機上配置了一個VLAN管理域,交換機才能在VTP伺服器上把建立或者更改VLAN的消息通告給本管理域内的其他交換機如果在VTP伺服器上進行了VLAN配置變更,所做的修改會傳播到VTP域内的所有交換機上.如果交換機配置為"透明"模式,可以建立或者修改VLAN,但所做的修改隻影響單個的交換機.控制VTP功能的一項關鍵參數是VTP配置修改編号.這個32位的數字表明了VTP配置的特定修改版本.配置修改編号的取值從0開始,每修改一次,就增加1直到達到4294967295,然後循環歸0,并重新開始增加.每個VTP裝置會記錄自己的VTP配置修改編号;VTP資料包會包含發送者的VTP配置修改編号.這一資訊用于确定接收到的資訊是否比目前的資訊更新.要将交換機的配置修改号置為0,隻需要禁中繼,改變VTP的名稱,并再次啟用中繼.

    VTP域的要求:

 域内的每台交換機必須使用相同的VTP域名,不論是通過配置實作,還是由交換機自動學動

 CATALYST交換機必須是相鄰的,這意味着,VTP域内的所有交換機形成了一顆互相連接配接的樹.每台交換機都通過這棵樹與其他交換機互相.

 在所有的交換機之間,必須啟用中繼.

3、VTP的運作模式

    VTP模式有3種,分别是:

 伺服器模式(SERVER 預設):VTP伺服器控制着它們所在域中VALN的生成和修改.所有的VTP資訊都被通告在本域中的其他交換機,而且,所有這些VTP資訊都是被其他交換機同步接收的.

 客戶機模式(CLIENT):VTP客戶機不允許管理者建立、修改或删除VLAN。它們監聽本域中其他交換機的VTP通告,并相應修改它們的VTP配置情況.

 透明模式(TRANSPARENT):VTP透明模式中的交換機不參與VTP.當交換機處于透明模式時,它不通告其VLAN配置資訊.而且,它的VLAN資料庫更新與收到的通告也不保持同步.但它可以建立和删除本地的VLAN.不過,這些VLAN的變更不會傳播到其他任何交換機上.

    各種運作模式的狀态:

     功能     伺服器模式     用戶端模式       透明模式

  提供VTP消息    √            √                ×

  監聽VTP消息    √            √                ×

  修改VLAN       √            ×                √(本地有效)

  記住VLAN       √            ×√(版本相關)  √(本地有效)

4、VTP的通告

    a).VTP通告概述

 使用VTP時,加入VTP域的每台交換機在其中繼端口上通告如下資訊:

  管理域

  配置版本号

  它所知道的VLAN

  每個已知VLAN的某些參數

 這些通告資料幀被發送到一個多點廣播位址(多點傳播位址),以使所有相鄰裝置都能收到這些幀.新的VLAN必須在管理域内的一台牌伺服器模式的交換機上建立和配置.該資訊可被同一管理域中所有其他裝置學到,VTP幀是作為一種特殊的幀發送到中繼鍊路上的.

 有2種類型的通告:

  來自客戶機的請求,由客戶機在啟動時發出,用以擷取資訊.

  來自伺服器的響應

 有3種類型的消息:

  來自客戶機的通告請求

  彙總通告

  子集通告

 VTP通告中可包含如下資訊:

  管理域名稱

  配置版本号

  MD5摘要--當配置了密碼後,MD5是與VTP一起發送的密碼.如果密碼不比對,更新将被忽略.

  更新者身份--發送VTP彙總通告的交換機的身份.

    b).VTP通告處理以配置修訂号為0為起點.每當随後的字段變更一項時,這個修訂号就加1,直到VTP通告被發送出去為止.VTP修訂号存儲在NVRAM中,交換機的電源開關不會改變這個設定值.要将修訂号初始化為0,可以用下列方法:

  将交換機的VTP模式更改為透明模式,然後再改為伺服器模式.

  将交換機VTP的域名更改一次,再更改回原來的域名.

  使用clear config all指令,清除交換機的配置和VTP資訊.再次啟動.

    c).3種VTP消息類型

 (1)彙總通告:用于通知鄰接的CATALYST交換機目前的VTP域名和配置修改編号.預設情況下,CATALYST交換機每5分鐘發送一次彙總通告.當交換機收到了彙總通告資料包時,它會對比VTP域名,如果域名不同,就忽略此資料包;如果域名相同,則進一步對比配置修改編号;如果交換機自身的配置修改編号更高或與之相等,就忽略此資料包.如果更小,就發送通告請求.

 (2)子集通告:如果在VTP伺服器上增加、删除或者修改了VLAN,"配置修改編号"就會增加,交換機會首先發送彙總通告,然後發送一個或多個子集通告.挂起或激活某個VLAN,改變VLAN的名稱或者MTU,都會觸發子集通告.子集通告中包括VLAN清單和相應的VLAN資訊.如果有多個VLAN,為了通告所有的資訊,可能需要發送多個子集通告.

 (3)通告請求:交換機在下列情況下會發出VTP通告請求:

  交換機重新啟動後

  VTP域名變更後

  交換機接到了配置修改編号比自己高的VTP彙總通告

5、VTP域内安全

    為了使管理域更安全,域中每個交換機都需要配置域名和密碼,并且域名和密碼必須相同.

 例(将TEST管理域設定為安全管理域):

  進入配置模式:switch#configure terminal

  配置VTP域名:switch(config)#vtp domain test

  配置VTP運作模式:switch(config)#vtp mode server

  配置VTP密碼:switch(config)#vtp  password mypassword

  傳回到特權模式:switch(config)#end

  檢視VTP配置:switch(config)#show vtp status

  删除VTP管理域中的密碼,恢複到預設狀态switch(config)#no vtp password

6、VTP修剪

    VTP修剪(VTP PRUNING)是VTP的一個功能,它能減少中繼端口上不必要資訊量.在CISCO交換上,VTP修剪功能預設是關閉的.

預設情況下,發給某個VLAN的廣播會送到每一個在中繼鍊路上承載該VLAN的交換機.即使交換機上沒有位于那個VLAN的端口也是如此.

VTP通過修剪,來減少沒有必要擴散的通信量,來提高中繼鍊路的帶寬使用率.

7、VTP的版本

    在VTP管理域中,有兩個VTP版本可供采用,cisco catalyst型交換機既可運作版本1,也可運作版本2,但是,一個管理域中,這兩個版本是不可互操作的.是以,在同一個VTP域中,每台交換機必須配置相同的VTP版本.交換機上預設的版本協定是VTP版本1,如果要在域中使用版本2,隻要在一台伺服器模式交換機配置VTP版本2就可以了.

 VTP版本2增加了版本1所沒有的以下主要功能:

  與版本相關的透明的模式:在VTP版本1中,一個VTP透明模式的交換機在用VTP轉發資訊給其他交換機時,先檢查VTP版本号和域名是否與本機相比對.比對時,才轉發該消息.VTP版本2在轉發資訊時,不檢查版本号和域名.

  令牌環支援:VTP版本2支援令牌環交換和令牌環VLAN,這個是VTP版本2和版本1的最大差別.

 設定VTP版本2的步驟如下:

  switch#config terminal

  switch(config)#vtp version 2

  switch#show vtp status

8、VTP如何在域内增加、減少交換機

    a).增加交換機:VTP域是由多台共享同一VTP域名的互連裝置組成.交換機隻能屬于某個VTP域内,各個交換機上的VLAN資訊是通過交換機互連中繼端口進行傳播的.要把一個交換機加入到一個VTP域内,可以使用"VTP DOMAIN DOMAIN-NAME".當一個新交換機配置了VTP的域和伺服器模式後,交換機每隔300秒,或者,每當VLAN結構發生變化時,就會通告一次.将新的交換機添加到域中,一定要保證該交換機的修訂号已經為0,VTP修訂号存儲在NVRAM中,交換機的電源開關不會改變這個設定值.可以使用下列方法:

  将交換機的VTP模式變到透明模式,然後再變回伺服器模式.

  将交換機的域名修改為一個其他的域名(一個不存在的域),然後再回到原來的域名

  使用erase startup-config 或 erase nvram指令,清除交換機的配置和VTP資訊.再次啟動.

    b).删除交換機:要從管理域中删除交換機,隻要在交換機上删除VTP域名的配置,或者将交換配置為透明模式,即可讓這個交換機脫離該VTP管理域.

三、配置VTP

    在開始配置VTP和VLAN之前,必須做一些規劃.

 确定将在網絡中運作的VTP版本.

 決定交換機是成為已有管理域的成員,還是另外成為其創立一個新的管理域,如果要加入到已有的管理域中,則确定它的名稱和密碼.

 為交換機選擇一個VTP的工作模式.

 是否需用啟用修剪功能.

    2950預設配置:

 VTP域名:空

 VTP模式:SERVER伺服器模式

 VTP版本2:禁用

 VTP認證:空,未啟用

 VTP修剪:未啟用

1.創立VTP域:域名長度可達32字元,密碼可是64個字元長,至少應該有一台交換機被設定為伺服器模式.一台交換機不想與網絡中的其他交換機共享VLAN資訊,剛可以将它設定為透明模式.建議至少将兩台核心交換機設定為VTP伺服器模式,而将其他交換機設定為VTP客戶機模式.這有效地,如果交換機掉電了,它重新開機後,可以從伺服器處獲得有效的VLAN資訊.

 進入全局配置模式:switch#config terminal

 加入到某個管理域:switch(config)#vtp domain test

    a).配置VTP伺服器

 switch(config)#vtp domain domain-name

 switch(config)#vtp mode server

 switch#show vtp status

    b).配置VTP用戶端

 switch(config)#vtp domain domain-name

 switch(config)#vtp mode client

 switch(config)#exit

    c).配置VTP透明模式

 switch(config)#vtp domain domain-name

 switch(config)#vtp mode transparent

 switch(config)#exit

2、VTP域内的安全、修剪、版本的設定

    a).VTP密碼的配置:

 switch(config)#vtp password mypassword

 switch(config)#no vtp password(删除)

    b).VTP修剪:預設情況下,在基于IOS交換機的中繼産品,VLAN2-1001都是可修剪的.要在管理域内啟動修剪.使用:

      啟動VTP修剪:switch(config)#vtp pruning

 指定要修剪的特定VLAN:switchport trunk pruning vlan vlan-id

 檢查VTP修剪的配置:show vtp status 和 show interface interface-id switchport

VTP