BACnet標準已成為我國智能建筑的國家標準,但我國樓宇自控系統(tǒng)的發(fā)展現(xiàn)狀與國際標準仍有很大差距。一是非ISO標準的應用遠大于BACnet標準就應用;二是在工程應用上,即使采用BACnet標準,也基本上是全部引進國外的產(chǎn)品和技術,嚴重影響和制約著我國樓宇自控行業(yè)的發(fā)展。海思投入巨資研發(fā)Bacnet技術產(chǎn)品,正是基于海思“自主創(chuàng)新,產(chǎn)業(yè)報國”的宗旨,為樓宇自控系統(tǒng)解決方案的國產(chǎn)化增添新的動力。
MS/TP協(xié)議是BACnet標準中所特有的,實現(xiàn)MS/TP協(xié)議對于推廣BACnet標準有著重要作用和深遠影響。
作為Bacnet協(xié)議中用于現(xiàn)場設備通信的Bacnet MS/TP總線通信協(xié)議,是智能建筑系統(tǒng)集成技術中的一個十分重要的應用。本文將對MSTP協(xié)議作簡要介紹,并對MSTP通信配置作出說明,供海思員工學習、參考。
MSTP配置 (多生成樹)
一、什么是MSTP 當前和STP相關的協(xié)議有:IEEE 802.1D(STP),802.1W(RSTP),802.1(MSTP)。其中802.1D是最早關于STP的標準。RSTP(Rapid Spanning Tree Protocol)是STP的擴展,其主要特點是增加了端口狀態(tài)快速切換的機制,能夠實現(xiàn)網(wǎng)絡拓撲的快速轉換。
一、什么是MSTP
當前和STP相關的協(xié)議有:IEEE 802.1D(STP),802.1W(RSTP),802.1(MSTP)。其中802.1D是最早關于STP的標準。RSTP(Rapid Spanning Tree Protocol)是STP的擴展,其主要特點是增加了端口狀態(tài)快速切換的機制,能夠實現(xiàn)網(wǎng)絡拓撲的快速轉換。MSTP(Multiple Spanning Tree Protocol)提出了多生成樹的概念,可以把不同的vlan映射到不同的生成樹,從而達到網(wǎng)絡負載均衡的目的。
1.1 配置MSTP
1.1.1 設置模式
STP分為CST,MST兩種模式,用戶可以根據(jù)需要選擇合理的模式:
CST模式
CST(Common Spanning Tree)整個網(wǎng)絡形成一顆生成樹,STP基于端口設置狀態(tài)。如STP設置端口阻塞,則所有VLAN在該端口上都處于阻塞狀態(tài)。該模式的特點是配置、實現(xiàn) 簡單,適合小型網(wǎng)絡。缺點是沒有vlan的概念,當用戶VLAN的拓撲配置不一樣的時候,可能造成部分VLAN不能正常通信。
MST模式
MST(Multiple Spanning Tree)是對CST的擴展,其有如下特點:
可以把多臺交換機虛擬成一個MST域,該MST域類似CST的一個橋,和CST橋互通。
在MST域內(nèi),可以把具有相同拓撲的多個vlan映射到一個生成樹實例,即MSTI(Multiple Spanning Tree Instance)。每個MSTI在域內(nèi)可以有不同的拓撲,實現(xiàn)流量均衡的目的。
配置生成樹模式的步驟如下:
步驟1 進入spanning-tree配置模式并配置生成樹模式
步驟2 spanning-tree mode [cst | mst] 選擇生成樹模式
步驟3 show spanning-tree mst 顯示MSTP配置, mst-instance為0時候顯示的是IST的信息,其他的為MSTI的參數(shù)config spanning-tree
12.1.2 設置快速特性
RSTP引入了快速狀態(tài)轉換的機制,合理的配置端口屬性,可以達到網(wǎng)絡快速轉換。
Edge屬性
處于網(wǎng)絡邊緣的交換機一般與終端設備相連,如PC機、工作站。把和這些終端設備相連的端口配置成為Edge端口,可以實現(xiàn)端口狀態(tài)的快速轉換,而不需要DiscardingàLearningàForwarding的轉換過程。
Edge屬性配置步驟
步驟1 config spanning-tree 進入spanning-treespanning-tree配置模式
步驟2 Spanning-tree mode mst 配置mst工作模式
步驟3 spanning-tree port [edge] [yes | no] {}*1 配置交換機的指定端口是否參與指定域的STP協(xié)議計算,缺省為參與計算
步驟4 show spanning-tree mst 顯示MSTP配置, mst-instance為0時候顯示的是IST的信息,其他的為MSTI的參數(shù)
P2P屬性
交換機端口和交換機端口直連,則該端口就是P2P接口。RSTP針對P2P接口采用協(xié)商機制,可以實現(xiàn)端口狀態(tài)的快速轉換(DiscardingàForwarding)。
P2P屬性配置步驟
步驟1 config spanning-tree 進入spanning-tree配置模式
步驟2 spanning-tree port [none-stp] [yes | no] {}*1 配置交換機的指定端口是否參與指定域的STP協(xié)議計算,缺省為參與計算
步驟3 show spanning-tree mst 顯示MSTP配置, mst-instance為0時候顯示的是IST的信息,其他的為MSTI的參數(shù)
/*如果端口沒有和共享介質相連,盡量把端口設置為P2P屬性。*/
1.1.3 設置時間參數(shù)
MST有四個可以配置的時間參數(shù):
Hello-time:STP報文發(fā)送的間隔;
Forward-delay:端口處于從DiscardingàLearning,LearningàForwarding狀態(tài)的時間
Maximum-age:報文最大的生存周期;
Max-hops:MST域內(nèi)報文的最大生存周期。
下面說明MST模式接口的時間參數(shù)配置:
設置時間參數(shù)配置步驟
步驟1 config spanning-tree 進入spanning-tree配置模式
步驟2 Spanning-tree mode mst 配置mst工作模式
步驟3 spanning-tree [hello-time] {}*1 配置當本交換機被選為根橋時發(fā)送BPDU的時間間隔,單位為秒, 缺省為2。hello-time必須小于等于forward-delay – 2
步驟4 spanning-tree [forward-delay] {}*1 設置當本交換機被選為根橋時端口狀態(tài)切換的時間間隔,單位為秒, 缺省為15。forward-delay的時間必須大于等于hello-time + 2
步驟5 spanning-tree [maximum-age] {}*1 配置交換機在指定域上的BPDU報文老化的最長時間間隔,單位為秒,缺省為20,收到超過這個時間的BPDU報文,就直接丟棄。
maximum-age的時間必須大于等于2 *(hello-time + 1),小于等于2 * (forward-delay–1)
步驟6 spanning-tree max-hops mst 配置橋Forward delay 參數(shù)
步驟7 show spanning-tree mst 顯示MSTP配置, mst-instance為0時候顯示的是IST的信息,其他的為MSTI的參數(shù)
1.1.4 設置橋實例優(yōu)先級
用戶可以手動配置橋優(yōu)先級對網(wǎng)絡進行合理規(guī)劃。優(yōu)先級最高的橋(數(shù)值越?。┚褪蔷W(wǎng)絡的根橋。當兩條鏈路到根橋的距離一樣的時候,選擇指定橋優(yōu)先級高的路徑。配置交換機在指定MSTID上的MSTI橋優(yōu)先級,缺省為32768, MSTI橋優(yōu)先級必須是4096的倍數(shù)。
橋實例優(yōu)先級配置步驟
步驟1 config spanning-tree 進入spanning-tree配置模式并配置生成樹模式
步驟2 Spanning-tree mode mst 配置mst工作模式
步驟3 spanning-tree priority mst 配置橋實例優(yōu)先級
步驟4 exit 退出spanning-tree 配置模式
步驟5 show spanning-tree mst 顯示MSTP配置, mst-instance為0時候顯示的是IST的信息,其他的為MSTI的參數(shù)
1.1.5 設置端口優(yōu)先級
當兩條鏈路到根橋的距離一樣,指定橋優(yōu)先級一樣,根據(jù)端口優(yōu)先級決定拓撲結構。
端口優(yōu)先級配置步驟
步驟1 config spanning-tree 進入spanning-tree配置模式并配置生成樹模式
步驟2 Spanning-tree mode mst 配置mst工作模式
步驟3 spanning-tree port priority mst 配置端口的優(yōu)先級
步驟4 exit 退出spanning-tree 配置模式
步驟5 show spanning-tree mst 顯示MSTP配置, mst-instance為0時候顯示的是IST的信息,其他的為MSTI的參數(shù)
1.1.6 設置端口路徑
在根橋選定以后,端口路徑對網(wǎng)絡拓撲有著重大意義。到根的距離越小,就越有可能成為通路。選擇好根橋以后,根據(jù)端口速率等情況,合理的配置端口路徑,可以形成理想的拓撲。
端口pathcost配置步驟
步驟1 config spanning-tree 進入spanning-tree配置模式并配置生成樹模式
步驟2 Spanning-tree mode mst 配置mst工作模式
步驟3 spanning-tree port path-cost [auto | ] mst 配置端口的pathcost
步驟4 exit 退出spanning-tree 配置模式
步驟5 show spanning-tree mst 顯示MSTP配置, mst-instance為0時候顯示的是IST的信息,其他的為MSTI的參數(shù)
1.1.7 設置端口non-stp特性
MSTP可以將某些端口設置為不參與協(xié)議計算的端口,其方法是設置non-stp屬性。
non-stp屬性配置步驟
步驟1 config spanning-tree 進入spanning-tree配置模式并配置生成樹模式
步驟2 spanning-tree port [none-stp] [yes|no] {}*1 配置端口是否參加STP運算,端口不參加STP運算后,處于Forward狀態(tài)。
步驟3 show spanning-tree mst 顯示MSTP配置, mst-instance為0時候顯示的是IST的信息,其他的為MSTI的參數(shù)
1.1.8 設置MSTP域
屬于MSTP同一個域必須滿足:在設備之間有物理連接的情況下,name,revision, Vlan與MSTI的映射關系完全一致。
MSTP域配置步驟
步驟1 config spanning-tree 進入spanning-tree配置模式
步驟2 Spanning-tree mode mst 配置mst工作模式
步驟3 spanning-tree mst name 配置MSTP域標識符名稱
步驟4 spanning-tree mst revision 配置MSTP域標識符版本
步驟5 spanning-tree map vlan mst 配置MSTP域與vlans的映射
步驟6 exit 退出spanning-tree 配置模式
步驟7 show spanning-tree mst 顯示MSTP配置, mst-instance為0時候顯示的是IST的信息,其他的為MSTI的參數(shù)
1.1.9 設置MSTP使能
接口配置
MSTP在只二層接口上起作用,包括普通以太網(wǎng)和Trunk端口,以太網(wǎng)和Trunk缺省都為二層接口。當用戶希望使能某以太網(wǎng)或trunk的二層轉發(fā)功能,以使其參與生成樹計算時,可以進行以下配置:
MSTP在二層接口上的配置步驟
步驟1 interface ethernet 進入以太網(wǎng)接口
步驟2 forward l2 enable 禁止該接口的二層轉發(fā)功能
步驟3 exit 退出以太網(wǎng)配置模式
VLAN配置
MST模式涉及到VLAN。MSTP關心的是VLAN的二層屬性;而SuperVlan,基于協(xié)議的Vlan等都不是MSTP考慮的情況。
MST在VLAN上的配置步驟
步驟1 interface vlan 進入vlan配置模式
步驟2 add port untagged 將端口以untagged的方式加入VLAN
步驟3 exit 退出VLAN配置模式
使能MSTP
使能MSTP的配置步驟
步驟1 config spanning-tree 進入spanning-tree配置模式
步驟2 Spanning-tree mode mst 配置mst工作模式
步驟3 Spanning-tree enable 使能MSTP
步驟4 exit 退出spanning-tree 配置模式
步驟5 show spanning-tree mst 顯示MSTP配置, mst-instance為0時候顯示的是IST的信息,其他的為MSTI的參數(shù)
配置案列:
案例描述
本例主要為交換機配置MSTP域。在三臺交換機上分別創(chuàng)建單MST Region,并在其中創(chuàng)建3個Instance。通過配置實例優(yōu)先級使得在Instance1 中bridge1(MAC: 0005:3b80:03cf)為根橋,Instance 2中bridge2(MAC: 0005.3b81.1278)為根橋,在Instance3中 bridge3(MAC: 2222:2222:2222)為根橋。
MSTP將整個網(wǎng)絡劃分為多個域(不同的域用不同的name和revision區(qū)分),每個域中最多可包含64個實例,每個實例內(nèi)部生成一棵生成樹;每個 實例又可包含多個VLAN,多個vlan映射到一個Spaning Tree,所有的VLAN缺省都在Instance 0中。
在MST配置中,若配置最后帶Instance ,生成樹改變就只在特定的Instance中有效,對其它Instance的生成樹沒有影響;缺省情況下,改變參數(shù)只對該Region(Instance 0)中的生成樹計算有影響。
在Bridge1上的配置步驟
步驟1 創(chuàng)建vlan,并添加端口
Harbour (config )#interface vlan vlan10 10
Harbour (config -vlan-vlan10)#add port 2/1-5 tag
Harbour (config -vlan-vlan10)#exit
Harbour (config )#interface vlan vlan20 20
Harbour (config -vlan-vlan20)#add port 2/1-5 tag
Harbour (config -vlan-vlan20)#exit
Harbour (config )#interface vlan vlan30 30
Harbour (config -vlan-vlan30)#add port 2/1-5 tag
Harbour (config -vlan-vlan30)#exit
步驟2 進入config -mstp配置模式
Harbour (config ) # config spanning-tree
Harbour(config -cst) # spanning-tree mode mst
步驟3 創(chuàng)建一個mst region
Harbour(config -mst)# spanning-tree mst name region2
Harbour(config -mst)# spanning-tree mst revision 2
步驟4 使能MSTP
Harbour(config -mst)# spanning-tree enable
步驟5 創(chuàng)建三個實例
Harbour(config -mst)# spanning-tree map vlan 10-19 mst 1
Harbour(config -mst)# spanning-tree map vlan 20-29 mst 2
Harbour(config -mst)# spanning-tree map vlan 30-39 mst 3
步驟6 配置實例優(yōu)先級
Harbour(config -mst)# spanning-tree priority 4096 mst 1
Harbour(config -mst)# spanning-tree priority 32768 mst 2
Harbour(config -mst)# spanning-tree priority 61440 mst 3
在Bridge2上的配置步驟
步驟1 創(chuàng)建vlan,并添加端口
Harbour (config )#interface vlan vlan10 10
Harbour (config -vlan-vlan10)#add port 2/1-5 tag
Harbour (config -vlan-vlan10)#exit
Harbour (config )#interface vlan vlan20 20
Harbour (config -vlan-vlan20)#add port 2/1-5 tag
Harbour (config -vlan-vlan20)#exit
Harbour (config )#interface vlan vlan30 30
Harbour (config -vlan-vlan30)#add port 2/1-5 tag
Harbour (config -vlan-vlan30)#exit
步驟2 進入config -mstp配置模式 Harbou
Harbour (config -vlan-vlan20)#exit
Harbour (config )#interface vlan vlan30 30
Harbour (config -vlan-vlan30)#add port 2/1-5 tag
Harbour (config -vlan-vlan30)#exit
步驟2 進入config -mstp配置模式
Harbour (config ) # config spanning-tree
Harbour(config -cst) # spanning-tree mode mst
步驟3 創(chuàng)建一個mst region
Harbour(config -mst)# spanning-tree mst name region2
Harbour(config -mst)# spanning-tree mst revision 2
步驟4 使能MSTP
Harbour(config -mst)# spanning-tree enable
步驟5 創(chuàng)建三個實例
Harbour(config -mst)# spanning-tree map vlan 10-19 mst 1
Harbour(config -mst)# spanning-tree map vlan 20-29 mst 2
Harbour(config -mst)# spanning-tree map vlan 30-39 mst 3
步驟6 配置實例優(yōu)先級
Harbour(config -mst)# spanning-tree priority 61440 mst 1
Harbour(config -mst)# spanning-tree priority 4096 mst 2
Harbour(config -mst)# spanning-tree priority 32768 mst 3
在Bridge3上的配置步驟
步驟1 創(chuàng)建vlan,并添加端口
Harbour (config )#interface vlan vlan10 10
Harbour (config -vlan-vlan10)#add port 2/1-5 tag
Harbour (config -vlan-vlan10)#exit
Harbour (config )#interface vlan vlan20 20
Harbour (config -vlan-vlan20)#add port 2/1-5 tag
Harbour (config -vlan-vlan20)#exit
Harbour (config )#interface vlan vlan30 30
Harbour (config -vlan-vlan30)#add port 2/1-5 tag
Harbour (config -vlan-vlan30)#exit
步驟2 進入config -mstp配置模式
Harbour (config ) # config spanning-tree
Harbour(config -cst) # spanning-tree mode mst
步驟3 創(chuàng)建一個mst region
Harbour(config -mst)# spanning-tree mst name region2
Harbour(config -mst)# spanning-tree mst revision 2
步驟4 使能MSTP
Harbour(config -mst)# spanning-tree enable
步驟5 創(chuàng)建三個實例
Harbour(config -mst)# spanning-tree map vlan 10-19 mst 1
Harbour(config -mst)# spanning-tree map vlan 20-29 mst 2
Harbour(config -mst)# spanning-tree map vlan 30-39 mst 3
步驟6 配置實例優(yōu)先級
Harbour(config -mst)# spanning-tree priority 32768 mst 1
Harbour(config -mst)# spanning-tree priority 61440 mst 2
Harbour(config -mst)# spanning-tree priority 4096 mst 3
分別顯示三個交換機的配置結果:
brideg1上顯示結果:
Harbour(config -mst)# sh sp mst