第 一 章 : 路 由 選 擇 原 理
1.1路由選擇基礎知識
路由是將對象從一個地方轉達發到另一個地方的一個中繼過程
學習和維持網絡拓樸結構知識的機制被認為是路由功能。渡越數據流經路由器進入接口
穿過路由器被移送到外出接口的過程,是另一項單獨的功能,被認為是交換/轉發功能。路由設備必須同時具有路由和交換的功能才可以作為一台有效的中繼設備。
為了進行路由,路由器必須知道下面三項內容:
l路由器必須確定它是否激活了對該協議組的支持;
l路由器必須知道目的地網絡;
l路由器必須知道哪個外出接口是到達目的地的最佳路。
路由選擇協議通過度量值來決定到達目的地的最佳路徑。小度量值代表優選的路徑;如果兩條或更多路徑都有一個相同的小度量值,那麼所有這些路徑將被平等地分享。通過多條路徑分流數據流量被稱為到目的地的負載均衡。
執行路由*作所需要的信息被包含在路由器的路由表中,它們由一個或多個路由選擇協議進程生成。路由表由多個路由條目組成,每個條目指明了以下內容:
l學習該路由所用的機制(動態或手動)
l邏輯目的地
l管理距離
l度量值(它是度量一條路徑的總"總開銷"的一個尺度)
l去往目的地下一HOP的中繼設備(路由器)的地址;
l路由信息的新舊程度
l與要去往目的地網絡相關聯的接口
使用命令SHOW IP ROUTE可看到以上內容
缺省管理距離的預先分配原則是:人工設置的路由條目優先級高於動態學到路由條目,度量值算法復雜的路由選擇協議優先級高於度量值算法簡單的路由選擇協議。
路由器一般選擇具有最小度量值的路徑;CISCO路由器的IP環境中如果同時出現了多條度量值最低且相同的路徑,那麼在這多條路徑上將啟用負載均衡,C ISCO默認支持4條相同度量值的路徑,通過使用"maximum-paths"命令可以認CISCO路由器支持最多達6條相同度量值路徑。
RIP是一種用在小到中型TCP/IP網絡中采用的路由選擇協議,它采用跳數作為度量值,它的負載均衡功能是缺省啟用的,RIP決定最佳路徑時是不考慮帶寬的!!!
IGRP是一種用在中到大型TCP/IP網絡中采用的路由選擇協議,它采用復合的度量值,它考慮了帶寬、延遲、可靠性、負載和最大傳輸單元(M TU),但缺省地使用了帶寬和延時值。IGRP也能進行負載均衡
在路由器啟動之後,它立刻試圖與其相鄰路由設備建立路由關系。該初始通信的目的是為了識別相鄰設備,並且開始進行通信並學習網絡相結構。建立相鄰關系的方法和對拓樸結構的初始學習隨路由選擇協議的不同而不同。
路由選擇協議會交換定期的HELLO消息或定期的路由更新數據包,以維持相鄰設備間進行著通信。
在了解了網絡拓樸結構,且路由表中已包含了到已知地網絡的最佳路徑後,向這些目的地的數據轉發就可以開始了;)
1.2 路由選擇協議
有類別路由選取擇(classful routing)概述
不隨各網絡地址發送子網掩碼信息的路由選擇協議被稱為有類別的選擇協議(RIPv1、IGRP)
當采用有類別路由選擇協議時,屬於同一主類網絡(A類、B類和C類)有所有子網絡都必須使用同一子網掩碼。運行有類別路由選擇協議的路由選擇協議的路由器將執行下面工作的一項以確定該路由型網絡部分:
l如果路由更新信息是關於在接收接口上所配的同一主類網絡的,路由器將采用配置在接口上的子網掩碼;
l如果路由更新是關於在接收接口上所配的不同主類的網絡的,路由器將根據其所屬地址類別采用缺省的子網掩碼。
有類別歸納路由的生成是由有類別路由選擇協議自動處理的
無類別路由選擇(classless routing)概述
無類別路由選擇協議包括開放最短路徑優先(OSPF)、EIGRP、RIPV2、中間系統到中間系統(IS-IS)和邊界網關協議版本4(BGP4)。
在同一主類網絡中使用不同的掩碼長度被稱為可變長度的子網掩碼(VLSM)。無類別路由選擇路由選擇協議支持VLSM,因此可以更為有效的設置子網掩碼,以滿足不同子網對不同主機數目的需求,可以更充分的利用主機地址。
多數距離矢量型路由選擇協議產生的定期的、例行的路由更新只傳輸到直接相連的路由設備。
在純距離矢量型路由環境中,路由更新包括一個完整的路由表,通過接收相鄰設備的全路由表,路由能夠核查所有已知路由,然後根據所接收到的更新信息修改本地路由表。解決路由問題的距離矢量法有時被稱為" 傳聞路由(routing by rumor)"
CISCO IOS支持幾種距離矢量型路由選擇協議,凶手RIPv1、RIPv2和IGRP。CISCO也直持EIGRP,它是一種高級的距離矢量型路由選擇協議。
路由選擇協議通常與協議組的網絡層關聯
大多數距離矢量型路由選擇協議采用貝樂曼-福特(Bellman-Ford)算法來計算路由。EIGRP是一種高級的距離矢量路由協議,它采用彌散修正算法(D UAL)
Cisco的IP距離矢量型路由選擇協議的比較
特征RIPv1RIPv2IGRPEIGRP
計數到無限XXX
橫向距離XXXX
抑制計時器XXX
觸發式更新,路由反向 XXXX
負載均衡-等成本路徑XXXX
負載均衡-非等成本路徑XX
VLSM支持XX
路由算法貝爾曼-福特貝爾曼-福特貝爾曼-福特DUAL
度量值跳數跳數復合復合
跳數限制1515100100
易擴展性小小中大
注:IGRP和EIGRP的跳數限制缺省為100,但是可以配置到最大為255。
鏈路狀態型路由選擇協議只當網絡拓樸結構發生變化時才生成路由更新數據包。當鏈路狀態發生變化時,檢測到這一變化的設備就生成一個關於該鏈路(路由)的鏈路狀態通告(L SA)。隨後LSA通過一個特殊的多目組播地址被傳播給所有相鄰設備。每台路由設備都會保留LSA拷貝,並向其相鄰設備轉發該LSA(這個過程變稱為擴散f looding)然後更新其拓樸結構數據庫(這是一個包含網絡所有鏈路狀態信息表)。LSA擴散被用於確保所有路由設備都能了解到這個變化,這樣它們就能夠更新它們的數據,並生成一個更新過的、反映新的網絡拓樸結構的路由表。
Cisco的鏈路狀態型路由選擇協議的比較
特征OSPFIS-ISEIGRP
要求體系化拓樸結構XX
保留對所有可能路由的了解XXX
路由歸納-人工XXX
路由歸納-自動X
事件觸發式通告XXX
負載均衡-等成本路徑XXX
負載均衡-非等成本路徑X
VLSM支持XXX
路由算法DijkstraIS-ISDUAL
度量值鏈路成本(帶寬)鏈路成本(帶寬)復合
跳數限制無1024100
易擴展性大很大大
各路由器中的路由進程都必須留有到各可能目的地邏輯網絡的無環路單路徑,當所有路由表都達到同步,且每個路由表都包含有到各目的地網絡的一條可用路由時,網絡就達到了收斂狀態。收斂是在網絡拓樸結構發生變化後,比如增加了新的路由或現有路由的狀態發生了變化後,與路由表同步相關聯的活動。
收斂時間是網絡中所有路由對當前拓樸結構的認知達到一致所需的時間,網絡的大小、所使用的路由選擇協議以及眾多可配置的計時器都能夠影響收斂時間。
有兩種檢測的方法:
l當物理層或數據鏈路層沒能接收到一定數量(通常是3)的連續keepalive消息時,就認為該鏈路失效。
l當路由選擇協議沒能接收到一定數量(通常是3)的連續Hello消息或路由更新或相類似消息時,就認為該鏈路失效了。
大多數路由選擇協議都具有防止在鏈路狀態轉換過程中產生拓樸結構環路用的計時器。
第 二 章 擴 展 I P 地址
Internet的發展快的令人難以置信。這種迅猛發展導致了地址方面的兩大挑戰:
lIP地址的耗盡
l路由表的增長和可管理性
IP尋址解決方案:
通過在IP地址中啟用更多的分級層來減慢IP地址的消耗及減少Internet路由表條目的
量。這些解決方案包括:
l子網掩碼
l私有網絡的地址分配
l網絡地址轉換(NAT)
l體系化編址
l可變長度子網掩碼(VLSM)
l路由歸納
l無類別域間路由(CIDR)
IP地址所屬類別:
地址的第一字節(十進制)地址類別
1~126A類
128~191B類
192~223C類
224~239D類
240~255E類
D類地址還沒有被廣泛使用,它是多目組播地址;一些路由選擇協議所使用的D類多目組播地址如下:
OSPF-----224.0.0.5和224.0.0.6
RIPv2-----224.0.0.9
EIGRP----224.0.0.10
體系化編址:
體系化編址很像我們打電話一般,每個電話局並不需要知道全國的電話號碼,你打電話如果第一位不是0的話總機就到自己的電話條目中找到鏈路然後接過, 如果是0,那麼它就看是那個區號,比如是0791-6221155,它就把這信息傳給南昌電話局(0791)由南昌話局找到6221155這鏈路並接通,這樣自己的總機就不需要存有外地的話條目了, 讓別人也有口飯吃吧J,原理同樣可以用在路由器中.
體系化編址的優點:
l減少路由條目的數量
路由歸納是當我們采用了一種體系化編址規劃後的一種用一個IP地址代表一組IP地址的集合的方法.通過對路由進行歸納,我們能夠將路由表條目保持為可管理的, 而它可以帶來以下益處:
------提高路由(轉發)效率;
------當重新計算路由表或通過路由表條目檢索一個匹配時,所需的CPU周期數減少了;
------降低了對路由器的內存需求
------在網絡發生變化時可以更快的收斂
------容易排錯
l有效的地址分配
體系化編址使我們能夠利用所有可能的地址,因為我們的地址分組是連續的;
可變長度子網掩碼 (VLSM)
VLSM提出供了在一個主類(A、B、C類)網絡內包含多個子網掩碼的能力,以及對一個子網的再進行子網劃分的能力。它的優點如下:
l對IP地址更為有效的使用-如果不采用VLSM,公司將被限制為在一個A、B、C類網絡號內只能使用一個子網掩碼;
l就用路由歸納的能力更強-VLSM允許在編址計劃中有更多的體系分層,因此可以在路由表內進行更好的路由歸納。
路由歸納
在大型互連網絡中,存在著成百上千的網絡。在這環境中,一般不希望路由器在它的路由表中保存所有的這些路由。路由歸納(也被子稱為路由聚合或超網s upernetting)可以減少路由器必須保存的路由條目數量,因為它是在一個歸納地址中代表一系列網絡號的一種方法。
在大型 、復雜的網絡中使用路由歸納的另一個優點是它可以使其它路由器免受網絡拓樸結構變化的影響。
只有在就用了一個正確的地址規劃時,路由歸納才能可行和最有效,在子網環境中,當網絡地址是以2的指數形式的連續區塊時,路由歸納是最有效的。
路由選擇協議根據共享網絡地址部分來歸納或聚合路由。無類別路由選擇協議---OSPF和EIGRP-支持基於子網地址,包括VLSM編者按址的路由歸納。有類別路由選擇協議- RIPv1和IGRP-自動地在有類別網絡的邊界上歸納路由。有類別路由選擇協議不支持在任何其它比特邊界上的路由歸納,而無類別路由選擇協議支持在任何比特邊界上的路由歸納。
因為路由表的條目少了,路由歸納可以減少對路由器內存的占用,減少路由選擇協議造成的網絡流量。要使網絡中的路由歸納能夠正確的工作,必須滿足下面要求:
l多個IP地址必須共享相同的高位比特;
l路由選擇協議必須根據32比特的IP地址和高達32比特的前綴長度來作出路由轉發決定
l路由更新必須將前綴長度(子網掩碼)與32比特的IP地址一起傳輸。
Cisco路由器中路由歸納的*作
CISCO通過以下兩種方法來管理路由歸納:
l發送路由歸納
l從路由歸納中選擇路由
地址不連續的子網是指由其它不同的主類網絡所分開的同一主類網絡中的一些子網
路由選擇協議對路由歸納的支持情況
協議是否在有類別網絡邊界自動歸納?能否關閉自動歸納是否能夠在的類別網絡邊界之外進行歸納
RIPv1是否否
RIPv2是是否
IGRP是否
EIGRP是是是
OSPF否--是
無類別域間路由(CIDR)
CIDR是開發用於幫助減緩IP地址和路由表增大問題的一項技術。CIDR的理念是多個C類地址塊可以被組合或聚合在一起生成更大的無類別I P地址集(也就是說允許有更多的主機)。成塊的C類地址是分配給各個ISP的
在串行接口上使用無編號IP地址
要在不給接口分配一個明確IP地址的前提出下在串行接口上啟用IP處理功能,可以使用 "ip unnumbered type number"接口配置命令。在該命令中"type number"是路由器上具有分配的IP地址的另一個接口(該接口被稱為指定接口或參考接口,即無編號接口從其處借用IP地址的那個接口)的類型和編號。它不能是另一個無編號接口。如果要關閉串行接口中的I P處理功能,可心使用該命令的NO形式。
無編號接口的限制:
l使用HDLC、PPP、LAPB、SLIP協議的串行接口,以及隧道接口可以采用無編號方式。不能在X。25或交換式多兆位數據服務SMDS接口上使用無編號接口配置命令。
l我們不能使用PING命令來確定無編號接口是否已經UP了,因為該接口沒有地址。SNMP可以遠程監控該接口狀態。
例子:
Interface Ethernet0 Ip address 10.1.1.1 255.255.255.0!interface Serial0 ip unnumbered Ethernet0
使用幫助地址(Helper Address)
路由器是不轉達發廣播的,幫助地址通過將這些廣播數據包直接轉發到目標服務器而幫助客戶機和服務器建立聯系。
幫助地址命令將廣播性目的地地址改變為單點傳達室送地址(或一個定向的廣播-在某個子網內的本廣播),使該廣播消息可以被路由到一個具體的目的地而不是所有地方
使用"ip helper-address address"接口配置命令配置一個可能會接收到廣播的接口。在該命令中"ADDRESS"是指在轉發用戶數據報協議(UDP)廣播時所使用的目的地地址。該指定地址可以是遠程服務器的單點傳送地址或定向廣播地址。
如果定義了"ip helper-address address"命令,為8個缺省UDP端口進行轉發的功能就被自動啟用,它們是:TFTP(69)、DNS(53)、時間(37)、NETBIOS服務(137)、N ETBIOS數據報服務(138)、BOOTP服務器(67)、BOOTP客戶機(68)和終端訪問控制器訪問控制系統TACACS(49)。
如果定義了"ip helper-address address"命 令 和 指定 了 這 8 個 U D P端 口 的"ip forward-protocol udp"命令,那麼尋址這8個UDP端口的廣播數據包將被自動轉發。
"ip forward-protocol"描述:
"ip forward-protocol"命令描述
udpUDP-傳輸層協議
port(任選)當指定了"udp"關鍵字時,可以定義UDP目的地端口號或端口名
nd網絡磁盤;無盤Sun工作站使用的一種老的協議
sdns網絡安全協議
實例:
Interface Ethernet 0 Ip address 172.16.1.100 255.255.255.0 Ip helper-address 172.16.2.2!ip forward-protocol udp 3000no ip forward-protocol udp tftp
"ip helper-address"命令必須被配置在接收到最初客戶廣播數據包的路由器接口上。
第 三 章 在 單 個 區 域 辦 配 置OSPF
OSPF是一項鏈路狀態型技術,比如路由選擇信息協議(RIP)這樣的距離矢量型技術相對。OSPF協議完成各路由選擇協議算法的兩大功能:路徑選擇和路徑交換。
OSPF是一種內部網關協議(IGP),也就是說它在屬於同一自治系統的路由器間發布路由信息。
OSPF是為解決RIP不能解決的大型、可擴展的網絡需求而寫的OSPF解決了以下問題:
l收斂速率
l對可變長度掩碼(VLSM)的支持
OSPF、RIPV2支持VLSM,RIP只支持固定長度子網掩碼(FLSM)
l網絡可達性
RIP跨度達16跳時被認為是不可達,OSPF理論上沒有可達性限制
l帶寬占用
RIP每隔30秒廣播一次完整路由,OSPF只有鏈路發生變化才更新
l路徑選擇方法
RIP是基於跳數選擇最佳路徑的,OSPF采用一種路徑成本(cost)值(對於Cisco路由器它基於連接速率)作為路徑選擇的依據。OSPF與RI P、IGRP一樣直持等開銷路徑
OSPF信息在IP數據包內,使用協議號89
OSPF可以運行在廣播型網絡或非廣播型網絡上
在廣播型多路訪問拓樸結構中的OSPF運行
Hello協議負責建立和維護鄰居關系
通過IP多目組廣播224.0.0.5,也被稱為ALLSPFROUTER (所有SPF路由器)地址,Hello數據包被定期地從參與OSPF的各個接口發送出去。
Hello數據包中所包含的信息如下:
l路由器ID
這個32比特的數字在一個自治系統內唯一的標識一個路由器。它缺省是選用活躍接口上的最高IP地址。這個標識在建立鄰居關系和直轄市運行在網絡中S PF算法拷貝的消息時是很重要的。
lHELLO間隔和DOWN機判斷間隔(dead interval)
HELLO間隔規定了路由發送HELLO的時間間隔(秒)。DOWN機判定間隔是路由器在認為相鄰路由器失效之前等待接收來自鄰居消息的時間,單位為秒,缺省是H ELLO間隔的4倍。
l鄰居
這些是已經建立了雙向通信關系的相鄰路由器
l區域ID
要能進行通信,兩台路由器必須共享一個共同的網絡分段
l路由器優先級
這8個比特數字指明了在選擇DR和BDR時這台路由器的優先級。
lDR和BDR的IP地址
l認證口令
l未節(stb)區域標志
OSPF數據包頭中的各個域:
l版本號 1(字節數)
l類型 1
HELLO
鏈路狀態請求
鏈路狀態更新
鏈路狀態確認
l數據包長度 2
l路由器ID 4
l區域ID 4
l校驗和 2
l認證類型 2
l認證 8
l數據 可變的
指定路由器DR和備用指定路由器BDR
在一個以太網分段這樣的多路訪問環境中的路由器必須選舉一個DR和BDR來代表這個網絡。在DR運行時,BDR不執行任何DR功能。但它會接收所有信息,只是不做處理而已,由D R完成轉發和同步的任務。BDR只有當DR失效時才承擔DR的工作,
DR和BDR的價值:
l減少路由更新數據流
DR和BDR為給定多路訪問網絡上的鏈路狀態信息交換起著中心點的作用。每台路由器都有必須建立與DR和BDR的毗鄰關系,DR向多路訪問網中的所有其它路由器發送各路由的鏈路狀態信息。這一擴散過程大大減少了網絡分段上與路由器相關的數據流。
l管理鏈路狀態同步
DR和BDR可保證網絡上的其它路由器都有有關於網絡的相同鏈路狀態信息
毗鄰關系是存在於路由器與其DR和BDR之間的關系。毗鄰的路由器將具有同步的鏈路狀態數據庫
OSPF數據包頭中的各個域:
l版本號 1(字節數)
l類型 1
HELLO
鏈路狀態請求
鏈路狀態更新
鏈路狀態確認
l數據包長度 2
l路由器ID 4
l區域ID 4
l校驗和 2
l認證類型 2
l認證 8
l數據 可變的
指定路由器DR和備用指定路由器BDR
在一個以太網分段這樣的多路訪問環境中的路由器必須選舉一個DR和BDR來代表這個網絡。在DR運行時,BDR不執行任何DR功能。但它會接收所有信息,只是不做處理而已,由D R完成轉發和同步的任務。BDR只有當DR失效時才承擔DR的工作,
DR和BDR的價值:
l減少路由更新數據流
DR和BDR為給定多路訪問網絡上的鏈路狀態信息交換起著中心點的作用。每台路由器都有必須建立與DR和BDR的毗鄰關系,DR向多路訪問網中的所有其它路由器發送各路由的鏈路狀態信息。這一擴散過程大大減少了網絡分段上與路由器相關的數據流。
l管理鏈路狀態同步
DR和BDR可保證網絡上的其它路由器都有有關於網絡的相同鏈路狀態信息
毗鄰關系是存在於路由器與其DR和BDR之間的關系。毗鄰的路由器將具有同步的鏈路狀態數據庫
l版本號 1(字節數)
l類型 1
HELLO
鏈路狀態請求
鏈路狀態更新
鏈路狀態確認
l數據包長度 2
l路由器ID 4
l區域ID 4
l校驗和 2
l認證類型 2
l認證 8
l數據 可變的
指定路由器DR和備用指定路由器BDR
在一個以太網分段這樣的多路訪問環境中的路由器必須選舉一個DR和BDR來代表這個網絡。在DR運行時,BDR不執行任何DR功能。但它會接收所有信息,只是不做處理而已,由D R完成轉發和同步的任務。BDR只有當DR失效時才承擔DR的工作,
DR和BDR的價值:
l減少路由更新數據流
DR和BDR為給定多路訪問網絡上的鏈路狀態信息交換起著中心點的作用。每台路由器都有必須建立與DR和BDR的毗鄰關系,DR向多路訪問網中的所有其它路由器發送各路由的鏈路狀態信息。這一擴散過程大大減少了網絡分段上與路由器相關的數據流。
l管理鏈路狀態同步
DR和BDR可保證網絡上的其它路由器都有有關於網絡的相同鏈路狀態信息
毗鄰關系是存在於路由器與其DR和BDR之間的關系。毗鄰的路由器將具有同步的鏈路狀態數據庫