路由選擇算法的第一種分類方式:按集中式和分散式划分
集中式路由選擇算法:集中式路由選擇算法(centralized routing algorithm)用完整的、全局性的網絡知識計算出從源到目的地之間的最低開銷路徑。
分散式路由選擇算法:在分散式路由選擇算法(decentralized routing algorithm)中,路由器以迭代、分布式的方式計算出最低開銷路徑。沒有節點擁有關於所有網絡鏈路開銷的完整信息。相反,每個節點僅有與其直接相連鏈路的開銷知識即可開始工作。
第二種分類方式:按算法是靜態還是動態分類
靜態路由選擇算法:由選擇算法(static routing algorithm)中,路由隨時間的變化非常緩慢,通常是人工進行調整(如人為手工編輯一條鏈路開銷)。
動態路由選擇算法:行調整(如人為手工編輯一條鏈路開銷)。動態路由選擇算法(dynamic routing algorithm)隨着網絡流量負載或拓撲發生變化而改變路由選擇路徑。一個動態算法可周期性地運行或直接響應拓撲或鏈路開銷的變化而運行。
第三種分類方式:按負載敏感還是負載遲鈍划分
負載敏感算法:負載敏感算法(load-sensitive algorithm)中,鏈路開銷會動態地變化以反映出底層鏈路的當前擁塞水平。如果當前擁塞的一條鏈路與高開銷相聯系,則路由選擇算法趨向於繞開該擁塞鏈路來選擇路由。而早期的ARPAnet 路由選擇算法就是負載敏感的。
當今的因特網路由選擇算法(如RIP、OSPF和BGP)都是負載遲鈍的(load-insensitive),因為某條鏈路的開銷不明確地反映其當前(或最近)的擁塞水平。
距離向量算法(DV):特點是分布式,迭代,異步。
分布式:每個節點從一個或多個直接相連的鄰居收到某些信息,執行計算,然后將結果分發給鄰居。
迭代:因為此過程一直要持續到鄰居之間無更多信息要交換為止。
異步的,是因為它不要求所有節點相互之間步伐一致地操作。
Bellman-Ford方程提出了將DV算法中發生的鄰居到鄰居通信的形式。
OSPF(開放最短路優先)是AS(自治系統)內部的路由選擇協議,BGP(邊界網關協議)是ISP之間的路由選擇協議。
每條直接連接以及所有通過該連接發送的BGP報文,稱為BGP連接(BGP connection)。此外,跨越兩個AS的BGP連接稱為外部BGP(eBGP)連接,而在相同AS中的兩台路由器之間的 BGP會話稱為內部 BGP(iBGP)連接。
對於直接連接在不同AS中的網關路由器的每條鏈路而言,通常有一條eBGP連接。
當路由器通過BGP連接通告前綴時,它在前綴中包括一些BGP屬性(BGPattribute)。用BGP術語來說,前綴及其屬性稱為路由(route)。兩個較為重要的屬性是AS-PATH和NEXT-HOP。AS-PATH屬性包含了通告已經通過的AS的列表,為了生成AS-PATH的值,當一個前綴通過某AS時,該AS將其ASN加入AS-PATH中的現有列表。BGP路由器還使用AS-PATH屬性來檢測和防止通告環路;特別是,如果一台路由器在路徑列表中看到包含了它自己的AS,它將拒絕該通告。
NEXT-PATH屬性具有敏感而重要的作用。NEXT-HOP是AS-PATH起始的路由器接口的IP地址。
每條BGP路由包含3個組件∶NEXT-HOP;AS-PATH;目的前綴。在實踐中,一條BGP路由還包括其他屬性,眼下我們將暫且忽略它。注意到NEXT-HOP屬性是不屬於AS1的某路由器的IP地址;然而,包含該IP地址的子網直接連接到AS1。
BGP的路由選擇算法:熱土豆路由選擇
使用熱土豆路由選擇,(從所有可能的路由中)選擇的路由到開始該路由的NEXT-HOP路由器具有最小開銷。
當在轉發表中增加AS向外前綴時,AS間路由選擇協議(BGP)和AS內部路由選擇協議(如OSPF)都要用到。
熱土豆路由選擇依據的思想是∶對於路由器1b,盡可能快地將分組送出其AS(更明確地說,用可能的最低開銷),而不擔心其AS外部到目的地的余下部分的開銷。就"熱土豆路由選擇"名稱而言,分組被類比為燙手的熱土豆。因為它燙手,你要盡可能快地將它傳給另一個人(另一個AS)。熱土豆路由選擇因而是自私的算法,即它試圖減小在它自己 AS中的開銷,而忽略在其AS之外的端到端開銷的其他部分。注意到使用熱土豆路由選擇,對於在相同AS中的兩台路由器,可能對相同的前綴選擇兩條不同的AS路徑。
路由器選擇算法:
1). 路由被指派一個本地偏好值作為其屬性之一。一條路由的本地偏好可能由該路由器設置或可能由在相同AS中的另一台路由器學習到。
2). 從余下的路由中(所有都具有相同的最高本地偏好值),將選擇具有最短 AS-PATH的路由。如果該規則是路由選擇的唯一規則,則BGP將使用距離向量算法決定路徑,其中距離測度使用AS跳的跳數而不是路由器跳的跳數。
3). 從余下的路由中使用熱土豆路由選擇,即選擇具有最靠近NEXT-HOP路由器的路由。
4). 如果仍留下多條路由,該路由器使用BGP標識符來選擇路由.
路由選擇策略:當某路由器選擇到目的地的一條路由時,AS路由選擇策略能夠勝過所有其他考慮,例如最短AS路徑或熱土豆路由選擇。在路由選擇算法中,實際上首先根據本地偏好屬性選擇路由,本地偏好值由本地AS的策略所確定。
SDN體系結構四個關鍵特征:
-
基於流的轉發
-
數據平面與控制平面分離
-
網絡控制功能
-
可編程的網絡
SDN控制平面大體分為兩個部分:SDN控制器,SDN網絡控制應用程序。
SDN控制器的功能層次:
-
通信層:SDN控制器和受控網絡設備之間的通信。
-
網絡范圍狀態管理層
-
對於網絡控制應用程序層的接口。
SDN控制器被認為是“邏輯上集中的”,即該控制器可以被外部視為一個單一,整體的服務。
OpenFlow協議運行在SDN控制器和SDN控制的交換機或其他實現OpenFlow API設備之間,OpenFlow運行在TCP協議之上,使用6653默認端口號。
ICMP:因特網控制報文協議。主機和路由器用來彼此溝通網絡層信息,ICMP最典型的用途是差錯報告,但不僅是通知差錯。ICMP一般認為是IP一部分,但是ICMP是IP的有效載荷。ICMP報文有一個類型字段和一個編碼字段,並且包含引起該ICMP報文首次生成的IP數據報的首部和前8個字節。
ping程序發送一個ICMP類型8編碼0的報文到指定主機。看到回顯(echo)請求,目的主機發回一個類型0編碼0的ICMP回顯回答。
Traceroute由ICMP報文實現。
網絡管理框架:
-
管理服務器:運行在網絡運營中心的集中式網絡管理工作站上。是執行網絡管理活動的地方。
-
被管設備,每個被管設備中有幾個被管對象。
-
一個被管設備中的每個被管對象的關聯信息被收集在管理信息庫(MIB),MIB對象由SMI數據描述語言定義。
-
每個被管設備下還有網絡管理代理,是運行在被管設備中的一個進程,與管理服務器通信,對被管設備采取動作。
-
網絡管理協議:運行在管理服務器和被管設備之間,允許管理服務器查詢被管設備的狀態,並通過代理間接的采取動作。而代理能通過網絡管理協議向管理服務器通知異常事件。
簡單網絡管理協議(SNMP),是應用層協議,用於在管理服務器和代表管理服務器執行的代理之間傳遞網絡管理控制和信息報文。SNMP最常使用的是請求響應模式,其中 SNMP管理服務器向SNMP代理發送一個請求,代理接收到該請求后,執行某些動作,然后對該請求發送一個回答。請求通常用於查詢(檢索)或修改(設置)與某被管設備關聯的 MIB對象值。SNMP第二個常被使用的是代理向管理服務器發送的一種非請求報文,該報文稱為陷阱報文(trap message)。陷阱報文用於通知管理服務器,一個異常情況導致MIB對象值改變。
構建控制平面的兩大方法:傳統的每路由器控制和軟件定義網絡(SDN)控制。



