<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          23 張圖詳解路由協(xié)議:計算機網(wǎng)絡(luò)的核心技術(shù)

          共 5172字,需瀏覽 11分鐘

           ·

          2021-09-19 01:36

          開門見山,先上一張全景圖。

          上帝視角

          路由的概念

          在 TCP/IP 通信中,網(wǎng)絡(luò)層的作用是實現(xiàn)終端的點對點通信。IP 協(xié)議通過 IP 地址將數(shù)據(jù)包發(fā)送給目的主機,能夠讓互聯(lián)網(wǎng)上任何兩臺主機進行通信。IP 地址可以識別主機和路由器,路由器可以把全世界的網(wǎng)絡(luò)連接起來。

          網(wǎng)絡(luò)層

          什么是路由器

          路由器可以連接多個網(wǎng)絡(luò)。它有多個端口,分別連接不同的網(wǎng)絡(luò)區(qū)域。通過識別目的 IP 地址的網(wǎng)絡(luò)號,再根據(jù)路由表進行數(shù)據(jù)轉(zhuǎn)發(fā)。路由器會維護一張路由表,通過路由表的信息,路由器才能正確的轉(zhuǎn)發(fā) IP 報文。

          路由器

          什么是路由

          路由是網(wǎng)絡(luò)設(shè)備根據(jù) IP 地址對數(shù)據(jù)進行轉(zhuǎn)發(fā)的操作。當(dāng)路由器收到一個數(shù)據(jù)包時,它根據(jù)數(shù)據(jù)包的目的 IP 地址查詢路由表,如果有匹配的路由條目,就根據(jù)查詢結(jié)果將數(shù)據(jù)包轉(zhuǎn)發(fā)出去,如果沒有任何匹配的路由條目,則將數(shù)據(jù)包丟棄,這個過程就是 IP 路由。除了路由器,三層交換機、防火墻、負載均衡設(shè)備甚至主機等設(shè)備都可以進行路由操作,只要這個設(shè)備支持路由功能

          路由

          什么是路由表

          為了將數(shù)據(jù)包發(fā)給目的節(jié)點,所有節(jié)點都維護著一張路由表路由表是路由器通過各種途徑獲得的路由條目,每一個路由條目包含目的網(wǎng)段地址 / 子網(wǎng)掩碼、路由協(xié)議、出接口、下一跳 IP 地址、路由優(yōu)先級和度量值等信息。路由表記錄 IP 包在下一跳應(yīng)該發(fā)給哪個路由器。IP 包根據(jù)路由表在各個數(shù)據(jù)鏈路上傳輸。

          路由表

          路由表來源

          一個實際的網(wǎng)絡(luò)中,一臺路由器通常包含多條路由條目,這些路由條目從不同的來源獲取。路由表的來源可分為三類,分別是直連路由靜態(tài)路由動態(tài)路由

          • 直連路由:路由器直接連接的路由條目,只要路由器接口配置了 IP 地址,接口狀態(tài)正常,就會自動生成對應(yīng)的直連路由。

          直連路由
          • 靜態(tài)路由:通過命令手動添加的路由條目就是靜態(tài)路由。

          靜態(tài)路由
          • 動態(tài)路由:通過路由協(xié)議從相鄰路由器動態(tài)學(xué)習(xí)到的路由條目。

          動態(tài)路由

          路由優(yōu)先級

          不同來源的路由有不同的優(yōu)先級,優(yōu)先級的值越小,則路由的優(yōu)先級就越高。當(dāng)存在多條目的網(wǎng)段相同,但來源不同的路由時,具有最高優(yōu)先級的路由成為最優(yōu)路由,將被加入到路由表中,而其它路由則處于未激活狀態(tài),不顯示在路由表中。

          路由協(xié)議的默認優(yōu)先級如下:

          路由優(yōu)先級

          路由環(huán)路

          路由環(huán)路是數(shù)據(jù)轉(zhuǎn)發(fā)形成死循環(huán),不能正確到達目的地。

          路由環(huán)路

          路由環(huán)路的主要生成原因是配置錯誤的路由網(wǎng)絡(luò)規(guī)劃錯誤導(dǎo)致。比如:在兩臺路由器上配置到相同目的地址的路由表項,下一跳互相指向?qū)Ψ剑蜁斐陕酚森h(huán)路。另外某些動態(tài)路由協(xié)議配置不當(dāng),也有可能產(chǎn)生環(huán)路。

          黑洞路由

          一條路由條目,無論是靜態(tài)的還是動態(tài)的,都需要關(guān)聯(lián)到一個出接口,出接口指的是設(shè)備要到達目的網(wǎng)絡(luò)是的出站接口。路由的出接口可以是這個設(shè)備的物理接口,如千兆網(wǎng)口,也可以是邏輯接口,如 VLAN 接口,或者是隧道接口等。其中有一種接口非常特殊,那就是 Null 接口,只有一個編號,那就是 0 。Null0 是一個系統(tǒng)保留的邏輯接口,當(dāng)網(wǎng)絡(luò)設(shè)備在轉(zhuǎn)發(fā)數(shù)據(jù)包時,如果使用出接口 Null0 的路由,那么數(shù)據(jù)包將被丟棄,就像被扔進了一個黑洞里,因此出接口為 Null0 的路由條目又被稱為黑洞路由

          黑洞路由是一種非常有用的路由條目,適用于如下場景:

          • 在網(wǎng)絡(luò)使用中,按需將數(shù)據(jù)包指向黑洞路由,實現(xiàn)流量過濾。

          • 在已經(jīng)部署路由匯總的網(wǎng)絡(luò)中,用于防止數(shù)據(jù)轉(zhuǎn)發(fā)出現(xiàn)環(huán)路。

          • 在部署了 NAT 的網(wǎng)絡(luò)中,用于防止數(shù)據(jù)轉(zhuǎn)發(fā)出現(xiàn)環(huán)路。

          • 在 BGP 網(wǎng)絡(luò)中,用于發(fā)布特定網(wǎng)段的路由。

          動態(tài)路由協(xié)議

          靜態(tài)路由是手動添加完成的。如果有 100 個網(wǎng)段,一個路由器就需要設(shè)置將近 100 條路由信息。網(wǎng)絡(luò)使用過程中,不可避免的出現(xiàn)網(wǎng)段新增、刪除、修改等情況,這些更新的路由信息需要在所有路由器上進行設(shè)置。還有一個不可忽視的問題,一旦某個路由器出現(xiàn)故障,數(shù)據(jù)傳輸無法自動繞過故障節(jié)點,只能通過手動設(shè)置才能恢復(fù)正常。

          靜態(tài)路由

          如果是使用動態(tài)路由,提前設(shè)置好路由協(xié)議,路由器之間會定期交換路由信息,路由器會知道網(wǎng)絡(luò)中其它網(wǎng)段的信息,動態(tài)生成路由表。如果網(wǎng)絡(luò)出現(xiàn)變化,網(wǎng)段需要增刪改時,只需要在相應(yīng)的路由器上配置動態(tài)路由即可。不需要像靜態(tài)路由那樣,在所有路由器上進行修改。對于大型網(wǎng)絡(luò),路由器個數(shù)較多時,主要使用動態(tài)路由協(xié)議。

          動態(tài)路由

          即使網(wǎng)絡(luò)上的節(jié)點出現(xiàn)故障,只要有一個可繞行的其它路徑,那么路由器的路由表會自動重新設(shè)置,數(shù)據(jù)包也會自動選擇這個路徑。

          采用路由協(xié)議后,網(wǎng)絡(luò)拓撲結(jié)果變化的響應(yīng)速度會大大提升。無論網(wǎng)絡(luò)正常的增刪改,還是異常的網(wǎng)絡(luò)故障,相鄰的路由器都會檢測到變化,會把拓撲的變化通知網(wǎng)絡(luò)中其它的路由器,使它們的路由表產(chǎn)生相應(yīng)的變化。這個過程比手動對路由表的修改要快很多,也準(zhǔn)確很多。

          對于少于 10 個路由器的小型網(wǎng)絡(luò),靜態(tài)路由或許已經(jīng)能夠滿足需求,但是在大中型網(wǎng)絡(luò)中,通常會使用動態(tài)路由協(xié)議,或者動態(tài)路由與靜態(tài)路由協(xié)議相結(jié)合的方式來建設(shè)這個網(wǎng)絡(luò)。

          路由協(xié)議基本原理

          路由器之間需要運行相同的路由協(xié)議,才能相互交換路由信息。每種路由協(xié)議都有自己的語言,即相應(yīng)的路由協(xié)議報文。如果兩臺路由器啟動了相同的路由協(xié)議,那么就有了相互通信的基礎(chǔ)。不同的路由協(xié)議,有相同的目的,就是計算和維護路由表。通常工作過程包含 4 個階段:

          • 鄰居發(fā)現(xiàn)階段:運行了路由協(xié)議后,路由器會主動把自己的網(wǎng)段信息發(fā)送給相鄰的路由器。既可以使用廣播發(fā)送路由協(xié)議消息,也可以單播將路由協(xié)議消息發(fā)送給指定的鄰居路由器。

          • 交換路由信息階段:發(fā)現(xiàn)鄰居后,每臺路由器都將自己的路由信息發(fā)送給相鄰的路由器,相鄰路由器又發(fā)送給下一個相鄰的路由器。經(jīng)過一段時間后,每臺路由器都會收到網(wǎng)絡(luò)中所有的路由信息。

          • 計算路由階段:每一臺路由器都會運行某種算法,計算出最終的路由表來。

          • 維護路由階段:為了感知突然發(fā)送的網(wǎng)絡(luò)故障,比如:設(shè)備故障或線路中斷等,路由協(xié)議規(guī)定相鄰兩臺路由器之間,應(yīng)該周期性發(fā)送協(xié)議報文。如果路由器在一段時間內(nèi),沒收到鄰居發(fā)來的協(xié)議報文,就認為鄰居路由器失效。

          路由協(xié)議

          自治系統(tǒng)

          隨著 IP 網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)規(guī)模已經(jīng)很大了,無論哪種路由協(xié)議都不能完成全網(wǎng)的路由計算,因此網(wǎng)絡(luò)分成了很多個自治系統(tǒng)( AS , Autonomous System )或路由選擇域 ( Routing Domain )。自治系統(tǒng)可以制定自己的路由策略,并管理自治系統(tǒng)內(nèi)進行具體路由控制的路由器集合。

          每個自治系統(tǒng)都有一個唯一的自治系統(tǒng)編號,它的基本思路是希望通過不同的編號來區(qū)分不同的自治系統(tǒng)。通過路由協(xié)議和自治系統(tǒng)編號,路由器可以確定路由路徑和路由信息的交換方式。某個自治系統(tǒng)缺乏足夠的安全機制,就可以利用編號改變路徑回避它。

          自治系統(tǒng)的編號范圍是 1 ~ 65535 ,其中 1 ~ 64511 是注冊的因特網(wǎng)編號,64512 ~ 65535 是專用網(wǎng)絡(luò)編號。

          自治系統(tǒng)和路由協(xié)議

          EGP 和 IGP

          自治系統(tǒng)(路由選擇域)內(nèi)部動態(tài)路由使用的協(xié)議是域內(nèi)路由協(xié)議,即 IGP 。而自治系統(tǒng)之間的路由控制使用的是域間路由協(xié)議,即 EGP

          IGP 和 EGP 的關(guān)系,跟 IP 地址網(wǎng)絡(luò)號和主機號的關(guān)系類似。根據(jù) IP 地址的網(wǎng)絡(luò)號在網(wǎng)絡(luò)中進行路由選擇,根據(jù)主機號在網(wǎng)段內(nèi)部進行主機識別一樣。既可以根據(jù)  EGP 在區(qū)域網(wǎng)絡(luò)之間進行路由選擇,也可以根據(jù) IGP 在區(qū)域網(wǎng)絡(luò)內(nèi)部進行主機識別

          路由協(xié)議被分為 EGP 和 IGP 兩個層次。沒有 EGP 就不可能有世界上各個不同機構(gòu)網(wǎng)絡(luò)之間的通信,沒有 IGP 機構(gòu)內(nèi)部也就不可能進行通信。

          IGP 是指在同一個自治系統(tǒng)內(nèi)交換路由信息的路由協(xié)議。RIPRIP2OSPF 屬于 IGP 。IGP 的主要目的是發(fā)現(xiàn)和計算自治系統(tǒng)內(nèi)的路由信息。

          EGP 與 IGP 不同,EGP 用于連接不同的自治系統(tǒng),并在不同自治系統(tǒng)間交換路由信息。EGP 的主要目的是使用路由策略和路由過濾等手段,控制路由信息在自治系統(tǒng)間的傳播。BGP 屬于 EGP

          動態(tài)路由協(xié)議類型

          按照路由的算法和路由信息的交換方式,路由協(xié)議可以分為距離矢量( Distance-Vector ,D-V )路由協(xié)議和鏈路狀態(tài)( Link-State )路由協(xié)議。其中典型的距離矢量協(xié)議是 RIP ,典型的鏈路狀態(tài)協(xié)議是 OSPF

          距離矢量路由協(xié)議

          距離矢量路由協(xié)議指的是基于距離矢量的路由協(xié)議,RIP 是最具代表性的距離矢量路由協(xié)議。距離矢量這個概念包含兩個關(guān)鍵的信息:距離方向,其中距離是指到達目的網(wǎng)絡(luò)的度量值(即所要經(jīng)過路由器的個數(shù)),而方向指的是到達目的網(wǎng)絡(luò)的下一跳設(shè)備。

          距離矢量路由協(xié)議

          每一臺運行距離矢量路由協(xié)議的路由器會周期性的將自己的路由表通告出去,相鄰的路由器收到路由信息并更新自己的路由表,再繼續(xù)向其它直連的路由器通告路由信息,最終網(wǎng)絡(luò)中的每臺路由器都能知道各個網(wǎng)段的路由,這個過程稱為路由的泛洪過程。

          路由宣告

          路由器之間互換目的網(wǎng)絡(luò)的方向和距離的信息,并以這些信息更新路由表。這種方法在處理上比較簡單,不過由于只有距離和方向的信息,所以當(dāng)網(wǎng)絡(luò)構(gòu)造變得復(fù)雜時,在獲得穩(wěn)定的路由信息之前需要消耗一定時間(即路由收斂時間長),也極易發(fā)生路由循環(huán)等問題。

          路由收斂

          鏈路狀態(tài)路由協(xié)議

          運行鏈路狀態(tài)路由協(xié)議的路由器會使用一些特殊的信息描述網(wǎng)絡(luò)的拓撲結(jié)構(gòu)和 IP 網(wǎng)段,這些信息被稱為鏈路狀態(tài)信息LSA ),所有路由器都會產(chǎn)生自己直連接口的鏈路狀態(tài)信息。

          鏈路狀態(tài)路由協(xié)議

          路由器將網(wǎng)絡(luò)中泛洪的鏈路狀態(tài)信息搜集起來,存入一個數(shù)據(jù)庫中,這個數(shù)據(jù)庫就是 LSDB (鏈路狀態(tài)數(shù)據(jù)庫),LSDB 是對整個網(wǎng)絡(luò)的拓撲結(jié)構(gòu)及 IP 網(wǎng)段的描述,路由器擁有相同的 LSDB 。對于任何一臺路由器,網(wǎng)絡(luò)拓撲都完全一樣。

          LSDB

          接下來所有的路由器都基于 LSDB 使用最短路由優(yōu)先算法進行計算,得到一棵已自己為根的、無環(huán)路的最短路徑樹,并將得到的路由加載到路由表中。

          帶權(quán)有向圖

          鏈路狀態(tài)算法使用增量更新機制,只有當(dāng)鏈路的狀態(tài)發(fā)生變化時,才發(fā)送路由更新信息。

          最短路徑樹

          相比距離矢量路由協(xié)議,鏈路狀態(tài)路由協(xié)議具有更大的擴展性和更快的收斂速度,但是它的算法消耗更多的內(nèi)存和 CPU 處理能力。

          路由協(xié)議的性能指標(biāo)

          不同的路由協(xié)議,有不同的特點。各個路由協(xié)議的性能指標(biāo)體現(xiàn)如下:

          • 協(xié)議計算的正確性:是指路由協(xié)議的算法會不會產(chǎn)生錯誤的路由導(dǎo)致網(wǎng)絡(luò)環(huán)路。不同的路由協(xié)議使用的算法不同,因此路由正確性也不相同。鏈路狀態(tài)路由協(xié)議(如 OSPF )在算法上杜絕了產(chǎn)生路由環(huán)路的可能性,比距離矢量路由協(xié)議更優(yōu)。

          • 路由收斂速度:路由收斂是指全網(wǎng)路由器的路由表達到一致狀態(tài)。收斂速度快,意味著網(wǎng)絡(luò)拓撲結(jié)構(gòu)發(fā)生變化時,路由器能夠更快的感知,并及時更新相應(yīng)的路由信息。OSPF 、BGP 等協(xié)議的收斂速度快于 RIP 。

          • 協(xié)議所占的系統(tǒng)開銷:路由器在運行路由協(xié)議時,需要消耗的系統(tǒng)資源,比如:CPU 、內(nèi)存等。工作原理的不同,各個路由協(xié)議對系統(tǒng)資源的需求也不同。OSPF 路由技術(shù)的系統(tǒng)開銷要大于 RIP 協(xié)議。

          • 協(xié)議自身的安全性:是指協(xié)議設(shè)計時,有沒有考慮防止網(wǎng)絡(luò)攻擊。OSPF 、RIPv2 有相應(yīng)的防止攻擊的認證方法,而 RIPv1 沒有。

          • 協(xié)議適用網(wǎng)絡(luò)規(guī)模:不同路由協(xié)議所適用的網(wǎng)絡(luò)規(guī)模、拓撲結(jié)構(gòu)不同。RIP 協(xié)議有 16 跳的限制,所以只能應(yīng)用在較小規(guī)模的網(wǎng)絡(luò)中;而 OSPF 可以應(yīng)用在幾百臺路由器的大規(guī)模網(wǎng)絡(luò)中;BGP 能夠管理全世界所有的路由器,其所管理的網(wǎng)絡(luò)規(guī)模大小只受系統(tǒng)資源的限制。

          主要路由協(xié)議

          各種路由協(xié)議都需要使用 IP 來進行報文封裝,但其細節(jié)有所不同。

          RIP 協(xié)議是最早的路由協(xié)議,是為小型網(wǎng)絡(luò)中提供簡單易用的動態(tài)路由。RIP 協(xié)議報文采用 UDP 封裝,端口號是 520 。由于 UDP 是不可靠的傳輸層協(xié)議,所以 RIP 協(xié)議需要周期性的廣播協(xié)議報文來確保鄰居收到路由信息。

          OSPF 是目前應(yīng)用最廣泛的路由協(xié)議,可為大中型網(wǎng)絡(luò)提供分層的、可靠的路由服務(wù)。OSFP 直接采用 IP 進行封裝,所有協(xié)議報文都由 IP 封裝后進行傳輸,協(xié)議號是 89 。IP 是盡力而為的網(wǎng)絡(luò)層協(xié)議,本身是不可靠的,所以為了保證傳輸?shù)目煽啃裕琌SPF 采用了復(fù)雜的確認機制來保證傳輸可靠。

          BGP 采用 TCP 來保證協(xié)議傳輸?shù)目煽啃裕?strong style="font-size: inherit;line-height: inherit;color: rgb(0, 128, 240);">TCP 端口號是 179 。BGP 不需要自己設(shè)計可靠傳輸機制,降低了協(xié)議報文的復(fù)雜度和開銷。

          路由協(xié)議的底層協(xié)議圖

          幾種主要的路由協(xié)議表如下:

          路由協(xié)議對比表


          end



          瀏覽 63
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄色日本视频 | 北条麻妃国产九九九 | 内射网站大全中文 | 后入在线视频 | 色婷婷成人网站 |