1. 程式人生 > 實用技巧 >網路基礎知識——路由協議Ⅰ(RIP、OSPF、IS-IS、IGP、BGP等)

網路基礎知識——路由協議Ⅰ(RIP、OSPF、IS-IS、IGP、BGP等)

路由協議

簡介:

路由協議(Routing protocol)是一種指定資料包轉送方式的網上協議。Internet網路的主要節點裝置是路由器,路由器通過路由表來轉發接收到的資料。轉發策略可以是人工指定的(通過靜態路由、策略路由等方法)。在具有較小規模的網路中,人工指定轉發策略沒有任何問題。但是在具有較大規模的網路中(如跨國企業網路、ISP網路),如果通過人工指定轉發策略,將會給網路管理員帶來巨大的工作量,並且在管理、維護路由表上也變得十分困難。為了解決這個問題,動態路由協議應運而生。動態路由協議可以讓路由器自動學習到其他路由器的網路,並且網路拓撲發生改變後自動更新路由表。網路管理員只需要配置動態路由協議即可,相比人工指定轉發策略,工作量大大減少。

路由協議的分類:

在這裡插入圖片描述
常見的動態路由協議:RIP、OSPF、IS-IS、IGRP、EIGRP、BGP等。RIP、OSPF、IS-IS、IGRP、EIGRP是內部閘道器協議(IGP),適用於單個ISP的統一路由協議的執行,一般由一個ISP運營的網路位於一個AS(自治系統)內,有統一的ASnumber(自治系統號)。BGP是自治系統間的路由協議,是一種外部閘道器協議,多用於INTERNET上,在不同運營商之間交換路由資訊,在某些大型的企業的內部網路裡,有時也會用到BGP路由協議。下面為大家介紹各種路由協議的特性。

1. RIP路由協議
RIP(路由資訊協議):是一種使用最廣泛的內部閘道器協議(IGP)。(IGP)是在內部網路上使用的路由協議(在少數情形下,也可以用於連線到因特網的網路),它可以通過不斷的交換資訊讓路由器動態的適應網路連線的變化,這些資訊包括每個路由器可以到達哪些網路,這些網路有多遠等。 IGP是應用層協議,並使用UDP作為傳輸協議,使用埠號為520。

RIP使用跳數(HopCount)來衡量到達目的地址的距離,稱為度量值。在RIP中,預設情況下,路由器到與它直接相連網路的跳數為0,通過一個路由器可達的網路的跳數為1,其餘依此類推。也就是說,度量值等於從本網路到達目的網路間的路由器數量。為限制收斂時間,RIP規定度量值取0~15之間的整數,大於或等於16的跳數被定義為無窮大,即目的網路或主機不可達。由於這個限制,使得RIP不可能在大型網路中得到應用。
RIP協議分為:RIP V1和RIP V2。

RIPv1和RIPv2區別:
在這裡插入圖片描述
2. OSPF路由協議**
OSPF路由協議是一種典型的鏈路狀態路由協議,一般用於同一個路由域內。在這裡,路由域是指一個自治系統(Autonomous System),即AS,它是指一組通過統一的路由政策或路由協議互相交換路由資訊的網路。在這個AS中,所有的OSPF路由器都維護一個相同的描述這個AS結構的資料庫,該資料庫中存放的是路由域中相應鏈路的狀態資訊,OSPF路由器正是通過這個資料庫計算出其OSPF路由表的。

3. OSPF路由器間組播

ospf是以組播地址傳送協議包,只有加入了ospf區域的介面地址才會接受和傳送組播地址傳送的ospf報文(224.0.0.6指代一個多路訪問網路中DR和BDR的組播接收地址,224.0.0.5指代在任意網路中所有執行OSPF程序的介面都屬於該組,於是接收所有224.0.0.5的組播資料包。

重點理解好 屬於某一組 和 接收怎樣的組播資料包,

比如 DR/BDR屬於組播地址為224.0.0.6的組(Group),因此它接收目的地址為224.0.0.6的組播資料包,也就可以理解為何多路訪問通過設定DR/BDR可以防止資訊過多處理(因為屬於某組的接收者(指OSPF介面),只會剝離到二層,而不會進一步處理,也就省去了很多資源浪費)。

在這裡插入圖片描述

4. 指定路由器(DR)和備份指定路由器(BDR)

在多路訪問網路上可能存在多個路由器,為了避免路由器之間建立完全相鄰關係而引起的大量開銷,OSPF要求在區域中選舉一個DR。每個路由器都與之建立完全相鄰關係。DR負責收集所有的鏈路狀態資訊,併發布給其他路由器。選舉DR的同時也選舉出一個BDR,在DR失效的時候,BDR擔負起DR的職責。

當路由器開啟一個埠的OSPF路由時,將會從這個埠發出一個Hello報文,以後它也將以一定的間隔週期性地傳送Hello報文。OSPF路由器用Hello報文來初始化新的相鄰關係以及確認相鄰的路由器鄰居之間的通訊狀態。

對廣播型網路和非廣播型多路訪問網路,路由器使用Hello協議選舉出一個DR。在廣播型網路裡,Hello報文使用多播地址224.0.0.5週期性廣播,並通過這個過程自動發現路由器鄰居。在NBMA網路中,DR負責向其他路由器逐一發送Hello報文。

5. OSPF區域

OSPF協議引入“分層路由”的概念,將網路分割成一個“主幹”連線的一組相互獨立的部分,這些相互獨立的部分被稱為“區域”(Area),“主幹”的部分稱為“主幹區域”。每個區域就如同一個獨立的網路,該區域的OSPF路由器只儲存該區域的鏈路狀態。每個路由器的鏈路狀態資料庫都可以保持合理的大小,路由計算的時間、報文數量都不會過大。

共有五種區域的主要區別在於它們和外部路由器間的關係:

標準區域: 一個標準區域可以接收鏈路更新資訊和路由總結。

主幹區域(傳遞區域):主幹區域是連線各個區域的中心實體。主幹區域始終是“區域0”,所有其他的區域都要連線到這個區域上交換路由資訊。主幹區域擁有標準區域的所有性質。

存根區域(stub Area):存根區域是不接受自治系統以外的路由資訊的區域。如果需要自治系統以外的路由,它使用預設路由0.0.0.0。

完全存根區域:它不接受外部自治系統的路由以及自治系統內其他區域的路由總結。需要傳送到區域外的報文則使用預設路由:0.0.0.0。完全存根區域是Cisco自己定義的。

不完全存根區域(NSAA): 它類似於存根區域,但是允許接收以LSA Type 7傳送的外部路由資訊,並且要把LSA Type 7轉換成LSA Type 5。

6. OSPF鏈路狀態公告型別

OSPF路由器之間交換鏈路狀態公告(LSA)資訊。OSPF的LSA中包含連線的介面、使用的Metric及其他變數資訊。OSPF路由器收集連結狀態資訊並使用SPF演算法來計算到各節點的最短路徑。LSA也有幾種不同功能的報文,在這裡簡單地介紹一下:

LSA TYPE 1:router LSA由每臺路由器為所屬的區域產生的LSA,描述本區域路由器鏈路到該區域的狀態和代價。一個邊界路由器可能產生多個LSA TYPE1。

LSA TYPE 2:network LSA由DR產生,含有連線某個區域路由器的所有鏈路狀態和代價資訊。只有DR可以監測該資訊。

LSA TYPE 3:summary LSA由ABR產生,含有ABR與本地內部路由器連線資訊,可以描述本區域到主幹區域的鏈路資訊。它通常彙總預設路由而不是傳送彙總的OSPF資訊給其他網路。

LSA TYPE 4:Summary LSA由ABR產生,由主幹區域傳送到其他ABR, 含有ASBR的鏈路資訊,與LSA TYPE 3的區別在於TYPE 4描述到OSPF網路的外部路由,而TYPE 3則描述區域內路由。

LSA TYPE 5:AS External LSA由ASBR產生,含有關於自治域外的鏈路資訊。除了存根區域和完全存根區域,LSA TYPE 5在整個網路中傳送。

LSA TYPE 6:multicast OSPF LSA,MOSF可以讓路由器利用鏈路狀態資料庫的資訊構造用於多播報文的多播發布樹。

LSA TYPE 7:Not-So-Stubby LSA由ASBR產生的關於NSSA的資訊。LSA TYPE 7可以轉換為LSA TYPE 5。

7. OSPF的三張表

1、 鄰居列表:列出每臺路由器全部已經建立鄰接關係的鄰居路由器
2、 鏈路狀態資料庫:列出網路中其他路由器的資訊,由此顯示了全網的網路拓撲
3、 路由表:列出通過SPF演算法計算出到達每個相連網路的最佳路徑

8. OSPF鄰居狀態機

1、 down:初始狀態,沒有收到來自鄰居的hello包,在NBMA網路中pollinterval時間傳送一次he1lo給鄰居。

2、 attempt:只用於NBMA網路,鄰居有效(收到鄰居的hello)後,hellointerval取代pollinterval來發送hello包。

3、 init: (收到了來自鄰居的he1lo)標識著自身鄰居表創立完成。

4、 2way: (在鄰居的hello包中看見了自己的RID)多路訪問網路選取DR/BDR才能往下進行,其他網路無條件往下繼續。標識著鄰居的鄰居表建立完成。

5、 exstart: (協商主從後才能往下進行) RID大的為master,確定DBD的序列號。主先發DBD,從後發DBD。

6、 exchange:交換DBD,也向鄰居傳送LSR來請求新的LSA。 DBD交換完。

7、 loading:傳送LSR請求最新LSA,收到新的LSA,對比LSA的序列號(如果LSDB相同往下)

8、 full:完全鄰接。同步完成計算最短路徑,載入入路由表。

9. ospf和rip的區別

在這裡插入圖片描述