靜態路由

一種路由的方式

靜態路由(英語:Static routing),一種路由的方式,路由項(routing entry)由手動配置,而非動態決定。與動態路由不同,靜態路由是固定的,不會改變,即使網路狀況已經改變或是重新被組態。一般來說,靜態路由是由網路管理員逐項加入路由表。

優點


使用靜態路由的另一個好處是網路安全保密性高。動態路由因為需要路由器之間頻繁地交換各自的路由表,而對路由表的分析可以揭示網路的拓撲結構和網路地址等信息。因此,網路出於安全方面的考慮也可以採用靜態路由。不佔用網路帶寬,因為靜態路由不會產生更新流量。

缺點


大型和複雜的網路環境通常不宜採用靜態路由。一方面,網路管理員難以全面地了解整個網路的拓撲結構;另一方面,當網路的拓撲結構和鏈路狀態發生變化時,路由器中的靜態路由信息需要大範圍地調整,這一工作的難度和複雜程度非常高。當網路發生變化或網路發生故障時,不能重選路由,很可能使路由失敗。

配置命令


(以右圖為例)
靜態路由的配置有兩種方法:帶下一跳路由器的靜態路由,和帶送出介面的靜態路由
router(config)#hostnameA(更改路由器主機名)
靜態路由
靜態路由
A(config)#interfacef0/0(進入介面f0/0)
A(config-if)#ipaddress192.168.1.1255.255.255.0(設置介面ip地址和子網掩碼)
A(config-if)#noshutdown(啟用介面)
A(config)#interfacef0/1
A(config-if)#ipaddress192.168.2.1255.255.255.0
A(config-if)#noshutdown
×××以下二選一:
A(config)#iproute192.168.3.0255.255.255.0f0/1(目標網段IP地址目標子網掩碼送出介面(路由器A))
或者
A(config)#iproute192.168.3.0255.255.255.0192.168.2.2(目標網段IP地址目標子網掩碼下一路由器介面ip地址)
×××
router(config)#hostnameB
B(config)#interfacef0/0
B(config-if)#ipaddress192.168.3.1255.255.255.0
B(config-if)#noshutdown
B(config)#interfacef0/1
B(config-if)#ipaddress192.168.2.2255.255.255.0
B(config-if)#noshutdown
×××以下二選一:
B(config)#iproute192.168.1.0255.255.255.0192.168.2.1
或者:
B(config)#iproute192.168.1.0255.255.255.0f0/1(目標網段IP地址目標子網掩碼送出介面(路由器B))
×××
注1:此網路鏈路為乙太網鏈路,如果是串列鏈路,送出介面也就是本地路由器的串列介面。
簡明解釋:iproute192.168.3.0255.255.255.0192.168.2.2
這句話的意思是:在HOSTA上,路由器見到目的網段為192.168.3.0的數據包,就將數據包發送到192.168.2.2上
注2:iproute指向一個就可,如果兩個都配了,就是說將這個數據包從發fa0/1出去,而另一個說數據包發到這個ip(例如192.168.2.2)。兩個重複。一般我們設置為指向IP。

舉例


基本的靜態路由舉例如圖所示,由兩個路由器R1和R2組成(介面號和IP地址在圖中給出),它們分別連接了各自的網路:R1連接了子網192.168.0.0/24,R2連接了子網192.168.2.0/24。
靜態路由
靜態路由
在沒有配置靜態路由的情況下,這兩個子網中的計算機A、B之間是不能通信的。從計算機A發往計算機B的IP包,在到達R1后,R1不知道如何到達計算機B所在的網段192.168.2.0/24(即R1上沒有去往192.168.2.0/24的路由表),同樣R2也不知道如何到達計算機A所在的網段192.168.0.0/24,因此通信失敗。
此時就需要管理員在R1和R2上分別配置靜態路由來使計算機A、B成功通信。
● 在R1上執行添加靜態路由的命令iproute192.168.2.0255.255.255.0192.168.1.1。它的意思是告訴R1,如果有IP包想達到網段192.168.2.0/24,那麼請將此IP包發給192.168.1.1(即和R1的2號埠相連的對端)。
● 同時也要在R2上執行添加靜態路由的命令iproute192.168.0.0255.255.255.0192.168.1.2。它的意思是告訴R2,如果有IP包想達到網段192.168.0.0/24,那麼請將此IP包發給192.168.1.2(即和R2的3號埠相連的對端)。
通過上面的兩段配置,從計算機A發往計算機B的IP包,能被R1通過2號埠轉發給R2,然後R2轉發給計算機B。同樣地,從計算機B返回給計算機A的IP包,能被R2通過3號埠轉發給R1,然後R1轉發給計算機A,完成了一個完整的通訊過程。

常見問題


1)為什麼要有默認路由
路由得查看路由表而決定怎麼轉發數據包,用靜態路由一個個的配置,繁瑣易錯。如果路由器有個鄰居知道怎麼前往所有的目的地,可以把路由表匹配的任務交給它,省了很多事。
例,網關會知道所有的路由,如果一個路由器連接到網關,就可以配置默認路由,把所有的數據包都轉發到網關。
2)為什麼默認路由是0.0.0.0
匹配IP地址時,0表示wildcard,任何值都可以。所以0.0.0.0和任何目的地址匹配都會成功,造成默認路由要求的效果。