4.6 路由相關
4.6.1 路由選擇協議概述:
概述
因特網所採用的路由選擇協議的主要特點
因特網採用分層次的路由選擇協議
-
自治系統 AS:在單一的技術管理下的一組路由器,而這些路由器使用一種 AS 內部的路由選擇協議和共同的度量以確定分組在該 AS 內的路由,同時還使用一種 AS 之間的路由選擇協議用以確定分組在 AS之間的路由。
自治系統之間的路由選擇簡稱為域間路由選擇,自治系統內部的路由選擇簡稱為域內路由選擇
域間路由選擇使用外部閘道器協議EGP這個類別的路由選擇協議
域內路由選擇使用內部閘道器協議IGP這個類別的路由選擇協議
閘道器協議的名稱可稱為路由協議
常見的路由選擇協議
路由器的基本結構
路由器是一種具有多個輸入埠,和輸出埠的專用計算機,其任務是轉發分組
路由器結構可劃分為兩大部分:
1、分組轉發部分
由三部分構成
-
交換結構
-
一組輸入埠:
訊號從某個輸入埠進入路由器
物理層將訊號轉換成位元流,送交資料鏈路層處理
資料鏈路層識別從位元流中識別出幀,去掉幀頭和幀尾後,送交網路層處理
如果送交網路層的分組是普通待轉發的資料分組
則根據分組首部中的目的地址進行查錶轉發
若找不到匹配的轉發條目,則丟棄該分組,否則,按照匹配條目中所指示的埠進行轉發
-
一組輸出埠
網路層更新資料分組首部中某些欄位的值,例如將資料分組的生存時間減1,然後送交資料鏈路層進行封裝
資料鏈路層將資料分組封裝成幀,交給物理層處理
物理層將幀看成位元流將其變換成相應的電訊號進行傳送
路由器的各埠還會有輸入緩衝區和輸出緩衝區
輸入緩衝區用來暫存新進入路由器但還來不及處理的分組
輸出緩衝區用來暫存已經處理完畢但還來不及傳送的分組
路由器的埠一般都具有輸入和輸出功能,這些例項分出了輸入埠和輸出埠是更好演示路由基本工作過程
2、路由選擇部分
-
路由選擇部分的核心構件是路由選擇處理機,它的任務是根據所使用的路由選擇協議。週期性地與其他路由器 進行路由資訊的互動,來更新路由表
如果送交給輸入埠的網路層的分組是路由器之間交換路由資訊的路由報文,則把這種分組送交給路由選擇處理機
路由選擇處理機根據分組的內容來更新自己的路由表
路由選擇處理機還會週期性地給其他路由器傳送自己所知道的路由資訊
4.6.2 路由資訊協議RIP的基本工作原理
接下來我們舉例說明RIP的基本工作過程
接下來我們來說明RIP的路由條目更新規則
路由器C將自己的路由表傳送給了路由器D。
路由器D收到後對其進行改造
之後D和自己原先的路由表進行對比,改變自己。改變規則在圖中
練習題:
記得距離要加1,再和原來的表對比。之後該加加,該替代替代。
再來看考研題:
最大的問題,看不懂<net1 ,16>的含義。 在RIP協議中:距離16是代表太遠了,根本不可達。
下面我們介紹RIP協議的“壞訊息傳的慢”的問題
假設N1和R1之間的路線故障,R1會將到N1的路由條目距離修改為16,表示N1到不了了。
並等待RIP更新週期到時後。傳送該路由資訊給R2,而此時R2的路由表中關於N1的記錄是之前通過RIP協議獲取到的,也就是到達N1的距離為2,下一跳為R1。
假設R2的RIP週期先到時,也就是R2的路由資訊先到達R1,R1的後到達R2
R1收到R2的之後,就會被該謠言誤導,認為可以通過R2到達N1,距離為3。並在自己的路由更新週期到時後,將這條資訊傳送給R2,R2收到說我可以通過R1到達N1啊,距離為4,R1又收到,說我可以通過R2到達啊,距離為5,反覆到16。雙方才意識到。俺兩都錯了。
練習題:
4.6.3 開放最短路徑優先0SPF的基本工作原理
我們來舉例說明:
我們來看一下鄰居關係是如何維護的。
使用OSPF的每個路由器都會產生鏈路狀態通告LSA(體檢表)。LSA中包含以下內容
-
直連網路的鏈路狀態資訊
-
鄰居路由器的鏈路狀態資訊
LSA被封裝在鏈路狀態更新分組LSU中,採用洪泛法傳送。收到該分組的路由器,將從自己所有介面轉發該分組。
使用OSPF的每個路由器都有一個鏈路狀態資料庫LSDB,用於儲存LSA。
因為各路由器洪泛傳送封裝有自己LSA的LSU分組,各路由器的LSDB最終將達到一致
使用OSPF的各路由器基於LSDB進行最短路勁優先SPF計算,構建出各自到達其它各路由器的最短路勁,即構建各自的路由表。
但是如果網路拓撲比較複雜,該項工作對人類而言就比較複雜了。因此可以按照地傑斯特拉的最短路勁優先演算法編制程式。讓路由器執行該程式。
OSPF有以下五種分組型別
接下來,我們來舉例說明OSPF協議的基本工作過程:
1)鄰居之間互相問候
2)問候完傳送資料庫描述分組,也就是自己的狀態。
3)收到資料庫之後,接收方會檢視自己少哪些,查漏補缺,然後向傳送方請求。
4)每30分組或者鏈路變化時,將會發送鏈路狀態更新分組,其它接收方收到後將會進行洪泛轉發。並給傳送方發個“收到”。這又稱為“新情況下的鏈路狀態資料庫同步”。
為了防止鄰居關係太多,要傳送的東西太多,所以就選個主任和副主任出來。所有的路由器值和這兩個建立鄰居關係。其它人不能直接交換資訊,只能通過主任或副主任。
為了使OSPF能夠用於規模很大的網路,OSPF把一個自治系統(廣西壯族自治區)再劃分為若干個更小的範圍,叫做區域(Area)(桂林區域,玉林區域,北海區域)。每個區域都有32位元的識別符號。但是注意主幹區域的識別符號必須為0。
劃分區域的好處就是,你洪泛法轉發的範圍小了,是一個區域而不是一個系統。減少通訊量。
區域內的路由器叫區域內路由器IR,邊上連通其它區域的叫做區域邊界路由器ABR
主幹系統內有一個路由器,專門和本系統外的其它自治系統交換路由資訊。
4.6.4 邊界閘道器協議BGP的基本工作原理
用於自治系統之間的路由選擇。
-
在配置BGP時,每個自治系統的管理員要選擇一個路由器作為發言人‘
-
不同自治系統的發言人建立TCP連線,埠號為179
-
在此TCP連線上交換BGP報文以建立BGP會話
-
利用BGP會話交換路由資訊(增刪改查路由資訊)
-
利用TCP連線交換路由資訊的兩個BGP發言人,彼此稱為對方的鄰站或對等站
-
-
BGP發言人處理執行BGP外,還必須準守自己所在自治系統的內部閘道器協議IGP,例如RIP或OSPF。
下面我們來看一個BGP發言人交換路徑向量的例子
接下來我們介紹BGP版本4中規定的報文。
在BGP協議剛剛執行時,BGP的鄰站交換整個路由表,但是執行中哪個有問題就專門交換哪個線路,不用全部。減少開銷。
練習題:
總結: