1. 程式人生 > >IGP(RIP、OSPF)和EGP(BGP)

IGP(RIP、OSPF)和EGP(BGP)

0x01 AS(autonomous system,自治系統)

在網際網路中,一個自治系統(AS)是一個有權自主地決定在本系統中應採用何種路由協議的小型單位。這個網路單位可以是一個簡單的網路也可以是一個由一或多個普通的網路管理員來控制的網路群體,它是一個單獨的可管理的網路單元(例如一所大學,一個企業或者一個公司個體)。

一個自治系統將會分配一個全域性的唯一的16位號碼,有時我們把這個號碼叫做自治系統號(ASN)。

0x02 IGP(Interior Gateway Protocol,內部閘道器協議)

在一個自治系統內部使用的路由選擇協議,包括RIP,OSPF等。

2.1 RIP(路由資訊協議)

一種分散式的基於距離向量的路由選擇協議。最大優點就是簡單,開銷小。缺點是當網路出現故障時,要經過較長的時間才能將資訊傳送到所有的路由器,即好訊息傳播得快,壞訊息傳播的慢。

2.1.1 原理

協議中,每個路由器都要維護從自己到其他每一個路由器距離紀錄(距離向量),距離也稱為跳數(與其直接相連的路由器跳數為1,此類計算;另,與其直接相連的主機,跳數為0)。跳數為16時相當於不可達。因此,RIP只適用於小型網路。

RIP不能再兩個網路之間同時使用多條路由,其選擇一條具有最少路由器的路由。

2.1.2 路由器之間交換資訊
  • 僅和相鄰路由器交換資訊
  • 交換的是本路由器知道的全部資訊,即路由表
  • 按固定間隔交換

經過若干次更新後,所有路由器最終會知道所在A中任何一個網路的最短距離和下一跳路由器的地址。

2.1.3 距離向量演算法

收到相鄰路由器(其地址為 X)的一個 RIP 報文:

(1) 先修改此 RIP 報文中的所有專案:把“下一跳”欄位中的地址都改為 X,並把所有的“距離”欄位的值加 1。每一項都有三個關鍵資料:到目的網路N,距離d,下一跳路由器X。

(2) 對修改後的 RIP 報文中的每一個專案,重複以下步驟:

若專案中的目的網路不在路由表中,則把該專案加到路由表中。

否則(在路由表中),若下一跳欄位給出的路由器地址是X(同樣的),則把收到的專案替換原路由表中的專案。

否則(下一跳不是同樣),若收到專案中的距離小於路由表中的距離,則進行更新。

否則,什麼也不做。

(3) 若 3 分鐘還沒有收到相鄰路由器的更新路由表,則把此相鄰路由器記為不可達路由器,即將距離置為16(距離為16表示不可達)。

(4) 返回。

2.1.4 RIP協議的報文格式

RIP協議使用與俗稱的使用者資料報進行傳送(UDP埠520)。RIP報文作為UDP使用者資料報的資料部分封裝成UDP資料報。

2.2 OSPF(開放最短路徑優先)

“最短路徑優先”是使用了Dijkstra提出的最短路徑演算法SPF。另,OSPF只是一個協議的名字,並不代表其他路由選擇協議不是最短路徑優先。

OSPF最主要的特點是使用分散式鏈路狀態協議,而不是RIP那樣的距離向量協議。

優點是更新過程收斂得快。

2.2.1 原理

OSPF與RIP不同:

  • 向本自治系統中所有路由器傳送資訊(洪泛法)
  • 傳送的資訊是與本路由器相鄰的所有路由器的鏈路狀態(該路由器和哪些路由器相連,之間度量(費用、距離、時延、頻寬等,由網路管理員決定),這只是路由器所知道的部分資訊。
  • 只有當鏈路狀態發生變化時,才用洪泛法傳送此資訊。

由於各路由器間頻繁交換鏈路狀態資訊,最終所有路由器都能建立一個鏈路狀態資料庫(全網的拓撲結構圖)。路由器使用這一鏈路狀態資料庫,構建出自己的路由表。

2.2.2 劃分區域

為了能夠用於規模很大的網路,OSPF將一個自治系統再劃分為若干個區域。每個區域都有個32位區域識別符號。分好區域後洪泛法交換鏈路資訊就只限於一個區域。

2.2.3 OSPF協議的報文格式

OSPF不用UDP而是直接用IP資料報傳送。其IP首部的協議欄位值為89。

特點:

  • OSPF對於不同型別的業務可計算處不同的路由
  • 如果到達目的網路有多條相同代價的路徑,可以將流量分給多條路徑,進行多路徑間的負載均衡。
  • 所有在OSPF路由器間交換的分組都具有鑑別功能。
  • 支援可變長度的子網劃分和五分類的編址CIDR。
  • 每一個鏈路狀態都帶一個32位序號,序號越大狀態越新

OSPF的五種分組型別:

  • 問候;用來發現和維護鄰站可達性。
  • 資料庫描述;向鄰站給出的自己鏈路狀態資料庫中的所有鏈路狀態項的摘要資訊
  • 鏈路狀態請求;向對方請求某些鏈路狀態項的詳細資訊
  • 鏈路狀態更新;用洪泛法對全網更新鏈路狀態
  • 鏈路狀態確認;對鏈路更新分組的確認

0x03 EGP(External Gateway Protocol)

在自治系統的相鄰兩個閘道器主機間交換路由資訊的協議。目前使用最多的EGP是BGP的版本4(BGP-4)。

若源主機和目的主機處在不同的AS中(兩個系統可能使用不同的IGP),當資料報傳到一個AS邊界時,即要一種協議將路由選擇資訊傳遞到另一個AS中,這樣的協議就是EGP。

3.1 BGP(Border Gateway Protocol,邊界閘道器協議)

執行在自制系統間的路由協議,主要作用交換域間路由協議。

力求尋找到一條到達目的網路比較好的路由(不能兜圈子),而並非要尋找到一條最佳路由。採用路徑向量路由選擇協議。

一個AS一個邊界發言人(BGP邊界路由器),邊界發言人交換路由資訊,需要建立TCP連線(埠179),在此連線上交換BGP報文以建立BGP回話。BGP交換的可達性資訊就是要達到某個網路需經過的一系列AS。

轉載請註明出處