配置pvst詳解
配置pvst
在學習pvst之前,先要學習一下stp
STP生成樹
思科預設有stp配置
1.選擇根網橋(root bridge)(這個是必須的配置)
選擇根網橋的依據是網橋ID,網橋ID是一個8位元組的欄位
網橋優先順序
|
網橋的MAC地址
|
| 2位元組 | 6位元組 |
網橋優先順序
一般都是4096的倍數
,網橋ID中的MAC地址是交換機的MAC地址之一
當使用命令show mac-address-table 檢視交換機的MAC地址表的時候,顯示在最前面的MAC地址是STP計算用的交換機的MAC地址。當網橋的優先順序相同的情況下,比較MAC地較小的為根網橋。
2.選擇根埠(這個也是)
選出根埠後,網路中的每臺交換機必須和根網橋建立某種關聯,因此,STP將進行選擇根埠的過程,根埠存在於非根網橋上,每個非根網橋上選擇一個根埠。
選擇根埠的依據是
-
根網橋上的所有埠皆為根埠
-
到根網橋路徑成本最低的埠
-
直連網橋 ID 最小的埠
-
埠 ID 值較小的(一個 2 位元組的 stp 引數,一個位元組埠優先順序 一個位元組的埠編號,優先順序是一個可配置的 stp 引數,埠編號不是埠號, 但是埠號低的埠,埠編號也低)
埠優先順序
|
埠編號
|
| 8位 | 8位 |
3.選擇指定埠
選擇完根網橋和每臺交換機的根埠後,一個樹形結構已經初步形成,但是,所有的鏈路仍連線在一起,並可能都處於活動狀態,最後導致形成環路,為了消除網橋迴路的形成科恩那個,STP進行最後的計算,在每個網段上選擇一個指定埠,選擇指定埠的依據與根端
口相同,
-
根路徑成本較低
-
所在的交換機的網橋ID的值較小
-
埠的ID值較小
也就是說在同一個交換機上的埠就是比較埠ID
PVST
cisco的pvst(+)其實就是基於每VLAN的802.1D STP;
cisco的rapid-pvst(+)就是基於每vlan的802.1w RSTP;
+代表支援什麼portfast、loopguard之類的特性;
cisco的MST就是標準的802.1s MSTP,都是從原始的cisco MISTP標準化而來的;
思科的很多機器預設stp版本為pvst+
前面所說的STP是交換機自動執行的協議,那麼有了以上的基礎在瞭解一個基於VLAN的生樹理解PVST就簡單了
(
另外之所以看的配置不是4096的倍數是因為預設加上了vlan的ID值
)
PVST是思科的私有協議,就像VSU是銳捷的私有協議。PVST為每個虛擬區域網執行單獨的的生成樹例項,能優化根橋的位置,能為所有的VLAN提供最優路徑。
前面說既然STP能夠自動配置執行,那麼為什麼還要配置呢??
原因就是如果一個網路的根網橋不穩定,那麼在調換的時候就會根據MAC地址重新計算根網橋,而MAC地址是隨機的,很可能碰見網路中最邊緣的交換機被選擇成了根網橋,因此需要配置。
必要的配置:
1.設定生成樹模式為pvst
spanning-tree mode pvst
2..配置所在交換機vlan的優先順序
spanning-tree vlan 10,20,30,40,100 priority 0(和stp一樣4096的倍數加vlan id)
除了配置網路中比較穩定的交換機為根橋外,PVST還有以下幾個方面幾個可選的配置選項
-
利用PVST實現網路負載分擔
-
配置上行鏈路,實現備份的上行鏈路快速恢復(意思就是指定的直連備份的根埠的可以直接恢復,不用經過轉換)
spanning-tree uploadfast
配置上行速鏈路,當接入層或匯聚成的交換機主用的上行鏈路斷開的時候,被阻塞的埠迅速轉換到轉發狀態,不需要經過偵聽和學習狀態
3.配置速埠,使連結終端的埠快速進入轉發狀態
spanning-tree portfast
配置速埠不經過偵聽和學習狀態,直接進入轉發狀態,但是該埠仍然執行生成樹協議,如果檢測到了環路,也能夠從轉發狀態轉換到阻塞狀態。速埠只能配置在連線終端的介面上,否則就有可能導致短時間的生成樹的環路
實際配置案例
區域性放大一下,定位到我們要講的部分
我們需要在兩個三層之間配置pvst
我們一第一個為所有的vlan的根,配置如下
第二個為次根,配置如下
檢查配置,檢視第一個,以vlan10為例
第二個同上
基本的配置已經完成,其實原理一大堆,配置就是這麼簡單,但是如果不懂原理的話,出了問題那就真的尷尬了。。。
如果需要配其他東西的話可以再新增。這裡不再配置。
相關文章
- Druid配置詳解UI
- MyBatis 配置詳解MyBatis
- nginx配置詳解Nginx
- iptables配置詳解
- hortonworks/registry配置詳解
- git ssh配置詳解Git
- Apache的配置詳解Apache
- nginx 詳解 - 詳細配置說明Nginx
- nginx 詳解 – 詳細配置說明Nginx
- webpack(2)——配置項詳解Web
- haproxy配置檔案詳解
- redis配置檔案詳解Redis
- Echars折線配置詳解
- redis 配置檔案詳解Redis
- Swoft2 配置詳解
- vsftpd.conf 配置詳解FTP
- Keepalived部署與配置詳解
- Nginx日誌配置詳解Nginx
- Nginx如何配置HTTPS詳解NginxHTTP
- php-fpm 配置詳解PHP
- Spring零配置之@Configuration註解詳解Spring
- docker-compose.yml配置詳解Docker
- Spring(環境搭建&配置詳解)Spring
- Echarts 柱狀圖配置詳解Echarts
- git config配置檔案詳解Git
- Ansible自動化配置詳解
- Android Studio Gradle 常用配置詳解AndroidGradle
- webpack loader配置全流程詳解Web
- 詳解:Flannel安裝與配置
- Nginx的配置檔案詳解Nginx
- Prometheus hashmod 配置引數詳解Prometheus
- Anaconda+Pytorch(GPU)配置詳解PyTorchGPU
- 詳解Spring Boot的RedisAutoConfiguration配置Spring BootRedis
- influx詳解(二):配置檔案UX
- Python - poetry(3)配置項詳解Python
- 詳解 Docker 容器網路配置Docker
- Swagger3 更新配置詳解Swagger
- Mysql 5.7憂化配置詳解MySql