靜態路由和動態路由,路由按其被學到的方式,分為靜態路由(Static Route)和動態路由(DynamicRoute)。
1.靜態路由
靜態路由是由網絡管理員手動配置在路由器的路由表里的路由。靜態路由相對于動態路由有更大的優先級,因為它體現了網絡管理人員的意志。
配置靜態路由的命令如下:
其中[distance][permanent]是在配置浮動靜態路由時使用的,不屬于CCNA考試的范疇。
{address|interface}表示在靜態地添加到達目的網絡的路由時,可以指定路徑中的下一臺設備的地址,也可以指定與下一臺設備連接的自己這臺路由器上的接口。
下面以圖1為例來說明靜態路由的配置方法。
圖1 在末節網絡拓撲中配置靜態路由
如圖1所示的就是目前很普遍的企業通過專線上網的拓撲圖,其中路由器B及它的e0接口所連接的企業內部的局域網組成了一個末節(Stub)網絡。之所以稱為末節網絡,是因為企業內部網通過路由器B像一根樹枝一樣連接在廣域網這棵樹干上,除了路由器B以外,該企業網再沒有任何出口了。
我們在路由器A上,為企業內部網配置靜態路由,命令如下:
我們在路由器B上,配置默認路由,命令如下:
這條命令的意思是,企業內部局域網所發出的數據包,凡是在路由器B的路由表里沒有找到到達目的網段的明確的路由條目的,統統發向路由器B的默認網關--路由器A,通常這種配置被稱為“垃圾口”。一般來說,在專線的企業一端的路由器上,都是這么配置路由的。
默認路由是靜態路由的一個特例。
但是,想要讓默認路由起作用,還有一個條件,就是在路由器B上必須使用以下命令:
只有這條命令在路由器上運行了,配置在路由器上的默認路由才起作用。一般來說,現在的路由器的IOS都默認這條命令有效,不用再特意輸入此命令了。
如果想使默認路由無效,除了“no”掉那條默認路由命令以外,還可以“no”掉ipclassless這條命令:
這樣,所有在路由器的路由表里沒有找到到達目的網段的明確的路由條目的數據包都會被丟棄,而不再發往默認路由所指定的路徑。
另外,還有一種叫做默認路由的路由命令,它的命令格式如下:
如果在一個企業的內部網里有多臺路由器運行同一種動態路由協議,而其中有一臺路由器具有連接外部網的默認靜態路由,我們可以使用該命令,讓具有默認靜態路由的路由器通過動態路由協議使其他路由器學習到這條靜態默認路由,而不需要在每一臺路由器上手動配置。
2.動態路由
在大型的網絡里面,往往擁有幾百臺甚至上千臺路由器,它們之間的路徑多得像蜘蛛網一樣,如果單純依靠使用靜態路由,很難保證整個路由拓撲的正確和完整;同時,為成百上千臺路由器配置靜態路由也是一件浩大的工程。所以,我們需要使用動態路由協議來讓路由器自己學習路由。
動態路由協議有很多種,它們的工作原理和適用范圍大小各不相同。運行同一種路由協議的相鄰的路由器之間可以互相學習路由,所以,維護路由器之間的鄰居關系非常重要。