當一臺主機應用需要向位于不同網絡的目的地發送數據包時,路由器從一個接口接受數據信息。網絡層會檢查這個數據包來決定預計發送的網絡,然后,路由器會檢查自己的路由表,并利用路由表的信息來判斷預計要發送的端口。路由器再次把數據報按一定的規則進行封裝,然后把數據包在某個端口轉發出去。
路由器再轉發任何一個數據包的時候,都會發生這個路由判斷的過程。路由判斷使得路由器能夠選擇最合適的接口來轉發數據包。也就是說,路由器主要是靠路由表來工作的,若沒有路由表或者路由表中的信息錯誤的話,則路由器將如同一堆廢鐵,沒有任何價值。
根據路由表生成機制的不同,可以分為靜態路由與動態路由。
動態路由是指路由器會根據一定的方法,自動更新路由表。因為在網絡中,當添加某個路由器或者某條鏈路發生故障時,在網絡上都會產生一些信息來告知對方。路由器就是根據這些信息來更新自己的路由表,并按照一些預定的規則,來調整相關的路由信息。可見,采用動態路由的話,可以方便我們的管理。但是,其也會帶來一些問題。如動態路由會把網絡中所有可見的路由都在查尋出來,也就是說,采用路由器的動態路由的話,只要數據鏈路不出現問題,一般來說,各個網絡都是可達的,這就不利于網絡管理員控制網絡訪問。
靜態路由是由網絡管理員手工更新路由表。當網絡的拓撲結構發生變化或者路由器增加與減少等等,都需要網絡管理員手工的去更新路由器的路由表,否則的話,網絡通訊就會產生影響。不過,靜態路由跟動態路由比較起來,最大的缺點就是需要網絡管理員手工的更新路由表,無論企業的網絡發生任何的改變。這對于網絡管理員來說,是工作量非常大的一件工作。
不過,靜態路由也有其好處,如:一方面不需要啟用動態路由選擇協議服務,因此可以減少路由器的運行資源開銷。而且,在網絡中,也不需要進行信息的發送與傳遞,可以減少由此帶來的帶寬的占用。要實現動態路由的話,必須要有一些協議的支持,如RIP等等。這些協議規定了路由器中路由表的生成規則。而運行這些協議的話,畢竟會占用路由器的資源,同時,這些協議會經常的跟相鄰的路由器進行通信,以判斷對方的運作狀態是否正常。無疑,這會增加路由器以及企業網絡帶寬的負擔。
但是,以上這個優點不是我們采用靜態路由的主要原因。因為隨著企業網絡的改造升級,這些路由器資源或者網絡帶寬的限制,已經不再是企業網絡組建過程中的瓶頸資源。決定讓我們采用靜態路由技術的,是其另外一個特點。網絡管理員可以借助靜態路由,實現對網絡訪問的控制。
如筆者所在的企業是一個大的集團公司,集團總公司跟下面一個三個子公司是采用同一個網絡。現在在網絡組建時,領導希望各個子公司、集團公司的網絡能夠相互獨立,工作起來互不干擾。
當然實現這個需求的方法可以有很多,如可以為各個子公司都申請一個獨立的上網帳號,但是,這種處理方式的話,就是有些浪費,因為集團公司已經有光釬網絡,若再特意的為其他公司開通網絡而不走集團的線路的話,那需要額外的支付不少的錢,而且,速度可能也沒有光纖網絡那么快,所以,是不怎么現實。
再者,若理由CISCO路由器的訪問控制列表也可以實現相關的控制。但是,這個需要路由器能夠支持這個功能,而且,配置起來也有一定的方法,維護起來也不是很方面。所以,根據筆者的了解,訪問控制列表雖然是一個很不錯的網絡訪問控制機制,但是,在實際應用中,用的企業比較少,因為其配置起來,還是有一定的難度的。
其實,我們可以利用靜態路由技術,來實現網絡路由的控制。
在路由器的路由表中,大致包含以下信息。目的網絡地址、子網掩碼、網關、接口等等信息。目的網絡地址與子網掩碼跟數據包的發送IP地址一起,可以判斷出發送地址與目的地址是否屬于同一個網絡,若屬于同一個網絡的話,則路由器不會進行數據的轉發或者按預定的規則進行處理。而若發送地址跟目的地址不是屬于同一個子網的話,則路由器就會根據路由表中的信息進行路徑的判斷。若路由器找不到合適的路徑的話,在該數據轉發就會被終止而我們網絡管理員就可以根據這個特性來作好路由訪問的控制。
如筆者現在的集團公司,加上下面三個子公司的話,一共有四個子網,通過路由器對其進行連接,可以實現四網的相互通信。但是,此時不同公司之間的網絡通信是相互允許的。但是,出于種種的考慮,他們之間的通信是沒有必要的,同時也會給我們網絡維護帶來很大的干擾。如一個子網內中毒了,就可能影響到另一個網絡的性能,其他網絡也可能被感染上。同時,由于各個子網內的計算機可以相互訪問,如此的話,也不利于各個企業數據的安全性。而從實際工作出發,由于各個公司之間是相互獨立的,所以,彼此之間一般都不需要進行相互的訪問。故,無論從哪一個理由出發,都沒有必要對各個子網進行相互訪問。為此,我們就可以利用上面談到的靜態路由,來實現網絡訪問的控制。
如現在公司的網絡一共有五個路由器連接,四個路由器連接四個子網,再用一個路由器連接到外網上。現在我們就可以在四個連接子網的路由器上,進行靜態路由的設置。如我們在連接集團總公司子網的路由器上,就可以設置靜態路由。從集團子網的路由器中,向外的話只知道第五個路由器信息,而不知道其他三個連接子網的路由器路徑。如此的話,這個路由器即使想把數據包發送給其他子網的話,也會以失敗而告終。同時,其仍然可以正常的訪問外網。
可見,利用靜態路由的話,可以幫助網絡管理員來加強對于網絡訪問的控制。雖然說靜態路由的配置工作量比較大,但是,對于企業網絡來說,還是一個簡單的網絡結構,實現起來比較容易。根據筆者的了解,其實一個比較復雜的企業,其路由器級連的話,也不會超過五級。所以,靜態配置路由的話,也不會很復雜。
另外筆者在此再貢獻一個手工配置靜態路由的方法。我們在路由器上配置靜態路由之前,可以先把路由器設置為動態路由表,然后,查看相關的路由信息,把不需要的路由信息找出來。然后再在路由器上進行相關的配置。如此的話,一方面可以防止漏掉有用的路由記錄,另一方面,也可以禁止掉所有不用的路由信息,同時,我們在配置的時候,也可以省事很多,因為有了參考的依據。
在靜態路由配置的時候,還需要注意以下幾點:
1.盡量用交換機來代替路由器。若企業在網絡部署中采用靜態路由控制網絡訪問的話,則網絡部署好之后,最好不要再采用其他的路由器來擴展網絡應用,而最好利用交換機來代替路由器。也就是說,最好能夠保障企業網絡內部路由器數量與布局的穩定,如此的話,可以減少路由器配置的工作量。
2.在路由器上配置好靜態路由的話,一般是保存在running-config文件中。而這個文件是臨時文件,當路由器重新啟動的時候,該文件中的信息就會消失。所以,當靜態路由配置完成并測試沒有問題的話,就需要利用COPY命令把靜態路由表信息保存到startup-config中。并且,最好能夠在異地進行備份。如此的話,當路由器出現故障時,不需要在后備路由器是進行額外的設置,就可以馬上使用了。
3.根據企業對于網絡安全性的要求不同,采取不同的管理策略。不同的企業有不同的網絡安全需求,所以,對于靜態路由表的需求也不同。若企業的規模很小,只有幾十臺電腦,沒有不同子網的劃分;或者企業對于網絡安全的要求不是很高,此時,采用靜態路由配置的話,那是自找苦吃,根本沒有實際的作用。一般靜態路由是用來那些對于網絡安全要求比較高或者網絡主機數比較過、有多個子網的情況下,才會使用。所以,不是什么技術都是適合企業的,要根據企業自身的情況,作出合理的選擇。