前文我們瞭解了MPLS基礎理論部分,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/16928096.html;今天我們來聊一聊MPLS靜態LSP設定相關話題;
為什麼要靜態設定LSP?
一般情況下,在MPLS網路中都使用標籤分發協定來實現動態建立LSP,如使用LDP;但是使用動態標籤分發協定來動態建立LSP,會存在動態標籤分發協定故障,導致MPLS網路流量丟失;因此對於某些關鍵重要的業務,我們還是需要設定靜態LSP來確保傳輸路徑;所以靜態LSP其實就是動態LSP的一個備份;當動態LSP故障,MPLS網路流量還可以走靜態LSP;這個就類似我們的靜態路由,當動態路由協定出現故障,如果有與之對應的靜態路由,那麼網路也是可以正常使用的;
提示:如果我們使用靜態的方式設定LSP,那麼我們需要提前規劃好對應mpls網路路由器出入標籤,以及出介面,下一條等資訊;當然LSP也是雙向的,它和路由資訊類似,既要有去的LSP,也要有回來的LSP,對應網路才會正常通行;來去的LSP都需要我們管理員手動設定;
靜態LSP的設定
實驗:如下拓撲,設定靜態LSP
R1的基礎設定
sys sys R1 dhcp en int g0/0/0 ip add 192.168.100.254 24 dhcp sel int int g0/0/1 ip add 12.0.0.1 24 ospf 1 router-id 1.1.1.1 area 0 net 12.0.0.1 0.0.0.0 net 192.168.100.254 0.0.0.0
R2的基礎設定
sys sys R2 int g0/0/0 ip add 12.0.0.2 24 int g0/0/1 ip add 23.0.0.2 24 ospf 1 router-id 2.2.2.2 area 0 net 12.0.0.2 0.0.0.0 net 23.0.0.2 0.0.0.0
R3的基礎設定
sys sys R3 dhcp en int g0/0/0 ip add 23.0.0.3 24 int g0/0/1 ip add 172.16.100.254 24 dhcp sel int q ospf 1 router-id 3.3.3.3 area 0 net 23.0.0.3 0.0.0.0 net 172.16.100.254 0.0.0.0
驗證三個路由器的ospf是否都工作正常?是否都學習到對方的網路?
提示:可以看到三臺路由器兩兩都建立起ospf鄰居,對應狀態都處於full狀態,並且都學習到了對方的宣告的網路;
驗證:用pc拿地址,看看對應dhcp是否工作正常?
提示:可以看到兩臺pc都各自從對應的路由器拿到了對應的ip地址;
驗證:pc1pingpc2是否能通?
提示:可以看到pc1能夠正常ping通pc2,說明pc1到pc2的基礎網路搭建就沒有問題;接下來我們設定mpls網路
設定MPLS LSR的id
提示:LSR id是用來標識mpls路由器的,vrp沒有預設的LSR ID 必須手動設定;如果要修改LSR ID必須undo mpls但是這樣會中斷mpls業務,所以在設定mpls之前要提前規劃好;其他兩個路由器和上述設定一樣;
全域性開啟mpls
提示:全域性開啟mpls必須要在設定LSR ID以後,否則MPLS開啟不起來;其他兩個路由器和上述設定一樣;
設定入節點靜態LSP
PC1--->R2方向的LSP
提示:上述命令表示,只要匹配目標地址是172.16.100.0/24的封包,對應封包都會從直連下一跳為12.0.0.2的介面傳送出去(路由器會根據下一跳,自動計算出出介面),並打上100的標籤;
設定R1---->PC1方向的LSP
提示:上述命令表示對應路由器從g0/0/1介面收到標籤為100的資料,對應封包都會將其標籤剝離(沒有出標籤,對應封包轉發出去就會自動不打標籤,隨後根據ip路由規則進行轉發);
設定中間節點靜態LSP
R1--->R2方向
提示:中間路由器的角色都是transit,表示中轉之意,即對應路由器只看標籤來轉發封包;上述命令表示從g0/0/0進來的封包,標籤為100的封包,會直接從和23.0.0.3直連的介面轉發出去,並打上200的標籤;
R2--->R1方向的LSP
提示:對應中間路由器來說,不管是從左至右還是從右至左的流量,對應角色還是transit;只有在邊界路由器上,流量的方向對應路由器是ingress還是egress的區別;除此之外就是流量的出入口,標籤的出入要搞清楚就可以了;
設定出節點靜態LSP
R3-->PC2方向的LSP
提示:上述命令表示只要從g0/0/0介面收到的帶有200標籤的封包,剝離其標籤後進行轉發;
PC2--->R3方向的LSP
提示:上述命令表示只要只要匹配去往192.168.100.0 24網路的封包,經由直連下一跳為23.0.0.2的介面打上200的標籤轉發出去;
驗證:檢視LSP
提示:從三個路由器的靜態LSP出入標籤,出入介面都沒有問題,就是對應的狀態都為down;這是因為我們沒有在對應的介面開啟mpls功能,所以對應狀態都為down;
在介面開啟mpls功能
提示:可以看到在對應介面開啟mpls功能以後,對應lsp的狀態就為UP了;這裡需要注意我只需要在mpls網路連線的介面開啟mpls功能即可;對應面向使用者端的介面不需要開啟mpls功能;
測試:在R2介面上抓包,看看pc1和pc2的封包是否封裝了mpls包頭?
提示:可以看到在R2的g0/0/0和g0/0/1介面上抓包,對應都有mpls包頭的封裝;說明pc1和pc2的通訊都是走mpls,我們設定的靜態lsp也生效了;
除了上述抓包的方法,我們也可以用ping和tracert命令來測試LSP,如下命令
提示:用這兩個命令需要注意一點,我們需加上lsp子命令,表示顯示lsp相關資訊,其次後面的ip需要和本地lsp匹配(網路地址和掩碼,或者主機地址和掩碼,這個要看本地lsp是主機地址還是網路地址);
好了,到此靜態lsp的設定案例就到此為止!!