重拾IP路由选择:CCNA学习指南中的IP路由选择
IP路由選擇技術 是網絡技術的核心部分,也是目前研究的熱點,其中的 動態路由選擇協議 比如RIPv1,RIPv2,OSPF等,解決了數據在網絡中轉遞的諸多問題。
在TCP/IP協議詳解的學習過程中,我們了解到該協議簇的層型結構,其中的網絡層(采用的協議一般為IP協議)與我們目前研究的路由選擇內容密切相關。
層型結構,把 如何把數據報從一臺主機發送到另外一臺主機,從而進行信息交流 這個復雜且難以解決的問題,利用分塊的思想,拆分成四層,每一層都有自己獨立要解決的問題,層次之間又相互聯系。
那么如何保證發送到網絡中的數據報能夠準確無誤的到達目的地?以及它是如何實現的?
簡單的來說,IP路由選擇是使用 路由器 將數據報 從一個網絡 轉移到另外一個網絡的過程。
路由選擇協議 與 被路由的協議 之間的區別
路由選擇協議,能夠讓路由器能夠 動態地 發現互聯網絡中的所有網絡,讓路由器之間相互交流,保證了所有路由器的 路由選擇表 都相同。也用于發現最優路徑,讓數據在網絡中轉遞的效率最高。RIP,RIPv2,OSPF,EIGRP(Cisco采用)等是常見的路由選擇協議。
被路由的協議,在路由器確定了所有網絡之后,就可以使用它來沿確定的路徑發送用戶數據了。被路由的協議是在接口上指定的,它決定了分組傳播方式。IP,IPv6就是屬于被路由的協議。
章節前瞻
IP路由選擇 是 Cisco路由器 固有的功能,處理的非常棒。因此你如果想在CCNA考試中拿到可觀的分數,或者是想在網絡管理的時候表現很棒,IP路由選擇都是應該掌握的基本功。
也就是說,IP路由選擇 非常重要。
本章節將介紹:
- 路由選擇基礎
- IP路由選擇的過程
- 靜態路由
- 動態路由
- 默認路由
路由選擇基礎
將 LAN 和 WAN 連接到路由器,從而打造出互聯網絡之后,需要給每一臺連接到互聯網絡的主機 分配邏輯網絡地址(IP地址),讓它們能夠通過互聯網絡進行通信。
路由選擇(routing):將來自設備的數據報 通過網絡 發送到另外的目的網絡的設備。
路由器只關心它所知道的網絡 以及 前往每個網絡的最佳路徑。
通過中間網絡 路由選擇的時候,邏輯網絡地址(IP地址)至關重要,它是數據報能夠準確無誤到達目的網絡的保證。
在到達目的網絡之后,路由器再根據MAC地址將數據報發送到正確的主機。
為了高效的路由分組,路由器必須知道以下的內容:
- 目的IP地址。
- 鄰接路由器,能夠提供遠程網絡的信息。
- 前往各個遠程網絡的可能路由。
- 前往各個遠程網絡的最佳路由。
- 如何維護和驗證路由信息。
路由表
問題:什么是路由表?
路由器從鄰接路由器獲取遠程網絡信息,之后創建一個路由選擇表,它相當于一個網絡的地圖,根據數據報的目的IP地址,路由表告訴路由器要將數據報發送往哪一個端口,從哪一個端口發送出去。
路由表內存儲的信息,有 1)路由器可以到達的網絡地址 2)達到目的網絡的下一跳路由器的信息(或者是直接相連的網絡的信息).
問題:如何根據網絡的變化 來更新路由表?
更新路由表的兩種方式
(1)靜態路由選擇:管理員手動添加所有網絡的位置,一般不采用該方法。
(2)動態路由選擇:利用 動態選路協議 來更新路由表。
執行 動態路由選擇 時,路由器運行的協議 將與 鄰接的路由器運行的協議 進行通信,這樣的話,路由器就得到了想要的路由及網絡的信息,并利用這些信息來更新路由表。
當網絡發送變化的時候,動態路由協議 自動的告知路由器 從而更新路由表。
也就是說,動態路由協議,是實現 路由器和相鄰路由器進行溝通 的方法。
而 靜態路由選擇 則需要管理員 把所有與變化相關的信息 手動輸入進去,無疑是一件非常麻煩的事情。
在管理大型網絡的時候,一般采取 動態路由選擇 + 靜態路由選擇 相結合的方法。
路由選擇的原則:最長匹配原則
問題:當一個路由器接收到一個數據報的時候,根據什么來對該數據報進行路由選擇呢?
1)在路由表中尋找 主機號+網絡號 都與目的IP地址相匹配的路由表項,根據找到的表項,決定發送往哪個端口。
2)第一步沒有找到,沒關系,找 網絡號 與目的IP地址相匹配的路由表項,根據找到的表項,決定發送往哪個端口。
3)第一第二步都沒有找到?好吧,我還有默認的表項,根據默認表項,發送往特定的端口。
注:如果在路由器上沒有啟用RIPv2,OSPF等路由選擇協議,也沒有手動添加靜態路由,那么路由選擇將只包含直連網絡:無法與其他路由器進行溝通,又沒有添加表項。
IP路由選擇過程
CCNA教材用了 P228 到 P232 一共32個步驟,詳細地闡述了數據報是如何從發送方主機發送,經中間路由轉遞,再到目的主機的過程。
這里做一個簡單的概況。以及列出比較重要的知識點。
例子:PC1發送一個數據報給 中間路由A,中間路由A 轉發給目的主機 PC2.
------ ----- ------| | | | | || PC1| -------> | A | ------->| PC2|| | | | | |------ ----- ------來到中間網絡之前,發送方PC1的處理:
客戶應用進程寫入了一個數據,打算發給遠端網絡的服務器。數據經過TCP層(這里不討論TCP層的內容),來到了IP層。
-> IP根據數據 創建一個IP數據報,這個數據報包含:源IP地址,目的IP地址,協議字段(區分所使用的傳輸層協議),以及數據。
現在報文長這樣:
-> IP 根據目的IP地址 判斷是發送往 遠程網絡 還是本地網絡。
-> 好,這是一個發送往遠程網絡的數據報,IP將這個數據報發送往它的默認網關:以便數據報能夠被路由到遠程網絡。
注意,在發送往默認網關之前,我們必須知道 默認網關的 介質訪問控制/MAC地址:因為只有在獲取了硬件地址之后,才能將分組交給數據鏈路層,再封裝成數據幀。
-> 檢查主機的ARP高速緩存,查看默認網關的IP地址 是否有被解析成 MAC地址,有的話跳過下一步,沒有的話進行下一步。
(->) 通過ARP協議,廣播的ARP請求 以及 默認網關所屬的路由器的 ARP答復,我們獲知了默認網關的MAC地址,并添加到高速緩存中。
-> 數據報來到了最底層:數據鏈路層,數據鏈路層中的 LAN驅動程序 根據 LAN/局域網類型(這里是以太網)來提供介質訪問,并將數據報封裝成幀,這個幀包含目的硬件地址,和源硬件地址。以及一個以太類型字段:指出了網絡層采用的協議(IP協議)。在末尾還有一個 FCS(CRC檢驗的結果),以及CRC(循環冗余校驗),用于檢驗中途是否出現差錯。
現在報文長這樣:
-> 遞送到默認網關,進行中間路由選擇。
以上就是發送方主機封裝數據的全過程,需要注意的一點是:MAC地址只能用于LAN內部通信,不能用于穿越路由器進行通信。
大意是:比如數據報從主機A發出,經過路由器B,來到了路由器C··· 那么我從A發送的數據幀中的 源MAC地址 -對應于主機A的MAC地址;目的MAC地址 -對應于路由器B的默認網關MAC地址,而不能是 路由器C的網關MAC地址。
來到中間網絡,路由器A的處理(路由選路)
每臺沖突域中接收到該數據幀(其實是將比特組裝成幀)的設備,都執行CRC計算,并與FCS進行比較,不相同丟棄。
那么數據報來到了路由器A(假設整個過程 只經過一個路由器)
-> CRC計算相同,檢查目的硬件MAC地址,發現這個數據幀屬于自己,于是查看 以太類型字段,找到對應的網絡層協議。
-> 交給IP,首先判斷是不是路由器配置中的IP地址。
-> 不是,進行路由選擇:
- 路由表項中有到達目的網絡的表項,接入下一步。
- 路由表項中沒有,丟棄數據報,返回ICMP網絡不可達差錯報文。
注:不過這個網絡。。只有一個路由器,因此沒有必要使用動態選路協議。
-> 根據選擇的路由表項,找到對應的接口E1,進入E1的緩存區。
-> 看ARP高速緩存中有沒有對應目的IP地址的轉換,沒有的話進行ARP請求和應答,得到目的MAC地址。
-> 進入數據鏈路層,同上封裝成數據幀。發送到中間鏈路。
來到接收方PC2
-> PC2檢查了CRC,檢查了MAC地址,發現是屬于自己的,于是根據 以太類型字段,找到了網絡層使用的IP協議。
-> IP首先對 IP報頭執行CRC檢查,再查看IP地址。(注:IP只通過檢查報頭來查看是否有錯誤,沒有像數據鏈路層那樣講究:計算FCS)
-> IP地址也匹配,于是查看協議字段,找到對應的使用的傳輸層協議。來到了TCP層
···
經過TCP層之后,根據端口號,找到了對應的應用進程。讀取了相關的信息之后,整個過程就結束了。
其他
以上就是一個簡單的概況,之后,服務器進程可能會返回一些數據給客戶端主機,也是經歷相同的過程。
需要注意的是,在返回的過程中,數據報也有可能再中間的路由丟失(因為網絡擁塞,或者鏈路關閉等),如果在中間路由,沒有前往目的網絡的表項,會馬上被丟棄。
因此,在ping失敗的時候,比如···timeout··· 數據報不是沒有到達目的地,有可能在返回的過程中因為某些原因導致數據報丟失。
沒有到達目的地,一般是不可達錯誤。
只要在返回的過程中,有一臺遠程路由器沒有前往目的網絡的路由,數據報就會在 返回途中被丟棄。
所有的MAC地址都屬于本地LAN。
交換機不會被用作默認網關。
Cisco 內部處理過程
為了能夠讓IP在路由選擇表中正確地查找目標地址,路由器必須采取正確的措施和處理。
在網絡發展的如此迅猛的現在,如果路由表包含成千上萬的選項,處理時間將耗費CPU大量時間,這種處理讓路由器不堪重負。
Cisco采用三種分組轉發技術 -通過緩存來減少路由器的工作量
- 進程交換,這實際上是許多人對路由器工作原理的看法,早在1990年Cisco推出它的第一代路由器的時候,就采用了這種機制,路由器就是以這種簡單的方法進行數據報的轉遞的。但是時過境遷,如今網絡流量需求極高,這種轉發過程又十分困難,于是就需要推出一些其他的技術來解決這些過程中過于復雜的內容。
- 快速交換,這種方法旨在提高緩慢的進程交換的速度 以及 效率。快速交換通過 緩存 來存儲最近使用過的目標網絡,避免每次路由選擇的時候都需要進行查找。
- CEF(Cisco Express Forwarding)思科特快轉發,為了適應現在網絡的速度,思科開發了這種最新的網絡技術。CEF創建了大量緩存表,這種創建工作由 變化(而非分組) 觸發,換句話說:緩存隨著網絡拓撲的變化而變化。
靜態路由的選擇
靜態路由選擇需要管理員手動添加路由,注意掌握它的優點和缺點。
優點:
- 不會增加路由器CPU的負擔。
- 不會占用路由器的帶寬,節省WAN鏈路方面的開支,最大限度的降低路由器的負擔:因為沒有使用動態路由選擇協議。
- 更加安全,管理員有很強大的決定權,可以限制主機可訪問的網絡。
缺點:
- 管理員必須對網絡了如指掌,知道各臺路由器是如何連接在一起的,這樣才能正確配置路由。
- 工作量太大了。。在互聯網絡添加網絡之后,必須在每臺路由器上添加前往該網絡的路由,這很繁瑣。
- 鑒于第二點,在大型網絡中使用靜態路由根本不可行。
默認路由選擇
默認路由選擇 指的是配置一條特殊的路由,以便在路由器在路由表中找不到目標網絡的時候,選擇該路由。
動態路由選擇
動態路由選擇指的是路由器使用路由選擇協議來獲悉網絡并更新路由表。比起靜態路由或者默認路由,這要簡單的多。
但是比起靜態路由和默認路由,它所占用的 路由器CPU處理時間 和 網絡鏈路帶寬 大的多。
路由選擇協議 制定了一些和鄰接路由器相關的一組規則,路由器根據這些規則與鄰接路由器交換信息。
本章討論的是 RIP 路由選擇信息協議。RIPv1,RIPv2。
互聯網絡中使用的路由選擇協議分兩類:內部網關協議(IGP)和 外部網關協議(EGP).
IGP用于在 位于同一個自主系統(autonomous system,AS)的路由器之間 交換路由選擇信息。AS是統一管理的單個網絡或者一系列的網絡,這意味著 路由選擇表信息相同的所有路由器均屬于同一個AS。
EGP用于 在AS之間 進行通信,邊界網關協議(BGP)就是一種EGP。
路由選擇協議 基礎
管理距離(AD),用于判斷從鄰接路由接收到路由選擇信息的 可靠程度。它是一個 0-255 的整數:0代表可信度最高,255代表不會有數據報選擇該路由。
如果,路由器收到兩條對同一個遠程網絡路由的更新,它將選擇 AD小 的更新添加到路由表中。
如果AD相同,那么比較 度量metric(跳數或者帶寬) 來確定最優路徑:將度量值最小的路由加入路由選擇表。
如果AD與metric都相同,那么采用均衡負載,也就是流量分配的方式。
常用的AD:直連接口(0),靜態路由(1),OSPF(110),RIP(120),未知(255,一般不會被使用)。
如果你配置了靜態路由,那么路由器將會認為該路由優于它獲悉的其他路由。
路由選擇協議,分為三類:
- 距離矢量型,它根據 距離(metric:跳數)來確定前往目的網絡的最佳路徑,在RIP中,跳數最少的路徑視為最優路徑,矢量表示前往該網絡的方向。典型的例子就是RIP,它定期的將路由選擇表發送給鄰接路由器。
- 鏈路狀態協議,又叫最短路徑優先協議,每臺路由器都創建三個表:用于記錄直接相連的鄰居,用于確定整個網絡的拓撲結構,以及路由選擇表。
鏈路狀態協議 能夠更好地了解網絡拓撲結構。OSPF是徹頭徹尾的鏈路狀態 IP路由選擇協議,鏈路狀態協議將包含鏈路狀態的更新發送給每一個直接相連的路由器,后者再傳播給鄰居。
- 混合型,Cisco采用的 高級距離矢量路由選擇協議EIGRP。
RIP 路由信息選擇協議
RIP是純粹的距離矢量路由選擇協議,它每隔30s就將整個路由表發送出去。RIP根據跳數來決定最短路徑,默認的最大跳數為15,16意味著網絡不可達。
在小型的網絡中,RIP的作用發揮的很好,但是在包含 大量路由器 或 低速WAN鏈路 的大型網絡中,效率 極 低;在鏈路狀態不同的網絡中,RIP根本不管用。
RIPv1只支持 分類路由選擇:這意味著網絡中所有的設備都需要使用相同的子網掩碼。這是因為RIPv1發送的更新信息中,沒有包含子網掩碼信息。
RIPv2支持 前綴路由選擇,并在 路由選擇更新中添加子網掩碼的信息,這稱作無類路由選擇。
相比RIP,OSPF重要的多,也復雜的多。
缺點:RIP更新過于頻繁,很容易引起網絡擁塞,增大網絡的負擔與壓力。
2016/8/27
轉載于:https://www.cnblogs.com/qq952693358/p/5811621.html
總結
以上是生活随笔為你收集整理的重拾IP路由选择:CCNA学习指南中的IP路由选择的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 九度oj 题目1376:最近零子序列
- 下一篇: 洛谷 1373 小a和uim之大逃离