導航:首頁 > 網路連接 > 計算機網路層最短路徑

計算機網路層最短路徑

發布時間:2023-06-11 12:03:25

計算機網路(四)網路層

主要任務是把分組從源端傳到目的端,為分組交換網上的不同主機提供通信服務。網路層傳輸單位是數據報。

鏈路層數據幀可封裝數據的上限稱為最大傳送單元MTU

標識:同一數據報的分片使用同一標識。

中間位DF(Don』t Fragment):

最低位MF(More Fragment):

片偏移:指出較長分組分片後,某片在原分組中的相對位置。以8B為單位。除了最後一個分片,每個分片長度一定是8B的整數倍。

IP地址:全世界唯一的32位/4位元組標識符,標識路由器主機的介面。IP地址::={<網路號>,<主機號>}

有一些IP地址是不能用的,有其特殊的作用,如:

網路地址轉換NAT(Network Address Translation):在專用網連接到網際網路的路由器上安裝NAT軟體,安裝了NAT軟體的路由器叫NAT路由器,它至少有一個有效的外部全球IP地址。

此外,為了網路安全,劃分出了部分IP地址和私有IP地址,私有IP地址網段如下:

路由器對目的地址是私有IP地址的數據報一律不進行轉發。

分類的IP地址的弱點:

某單位劃分子網後,對外仍表現為一個網路,即本單位外的網路看不見本單位內子網的劃分。

路由器轉發分組的演算法:

無分類域間路由選擇CIDR:

CIDR記法:IP地址後加上「/」,然後寫上網路前綴(可以任意長度)的位數。e.g. 128.14.32.0/20

CIDR把網路前綴都相同的連續的IP地址組成一個「CIDR地址塊」。

使用CIDR時,查找路由表可能得到幾個匹配結果(跟網路掩碼按位相與),應選擇具有最長網路前綴的路由。前綴越長,地址塊越小,路由越具體。

將多個子網聚合成一個較大的子網,叫做構成超網,或路由聚合。方法:將網路前綴縮短(所有網路地址取交集)。

由於在實際網路的鏈路上傳送數據幀時,最終必須使用MAC地址。

ARP協議:完成主機或路由器IP地址到MAC地址的映射。

ARP協議使用過程:

ARP協議4種典型情況:

動態主機配置協議DHCP是 應用層 協議,使用 客戶/伺服器 方式,客戶端和服務端通過 廣播 方式進行交互,基於 UDP

DHCP提供即插即用聯網的機制,主機可以從伺服器動態獲取IP地址、子網掩碼、默認網關、DNS伺服器名稱與IP地址,允許地址重用,支持移動用戶加入網路,支持在用地址續租。

DHCP工作流程如下:

ICMP協議支持主機或路由器:包括差錯(或異常)報告和網路探詢,分部發送特定ICMP報文

ICMP差錯報告報文(5種):

不應發送ICMP差錯報文的情況:

ICMP詢問報文:

ICMP的應用:

32位IPv4地址空間已分配殆盡,這時,可以採用更大地址空間的新版本的IPv6,從根本上解決地址耗盡問題

IPv6數據報格式如下圖

IPv6的主要特點如下:

IPv6地址表示形式:

零壓縮:一連串連續的0可以被一對冒號取代。雙冒號表示法在一個地址中僅可出現一次。

IPv6基本地址類型:

IPv6向IPv4過渡的策略:

R1的路由表/轉發表如下:

最佳路由:「最佳」只能是相對於某一種特定要求下得出的較為合理的選擇而已。

路由演算法可分為

由於網際網路規模很大且許多單位不想讓外界知道自己的路由選擇協議,但還想連入網際網路,可以採用自治系統來解決

自治系統AS:在單一的技術管理下的一組路由器,而這些路由器使用一種AS內部的路由選擇協議和共同的度量以確定分組在該AS內的路由,同時還使用一種AS之間的路由協議以確定在AS之間的路由。

一個AS內的所有網路都屬於一個行政單位來管轄,一個自治系統的所有路由器在本自治系統內都必須連通。

路由選擇協議

RIP是一種分布式的基於距離向量的路由選擇協議,是網際網路的協議標准,最大優點是簡單。

RIP協議要求網路中每一個路由器都維護從它自己到其他每一個目的網路的唯一最佳距離 [1] 記錄(即一組距離)。 RIP協議只適用於小互聯網。

RIP是應用層協議,使用 UDP 傳送數據。一個RIP報文最多可包括25個路由,如超過,必須再用一個RIP報文傳送。

RIP協議的交換

路由器剛開始工作時,只知道直接連接的網路的距離(距離為1),接著每一個路由器也只和數目非常有限的相鄰路由器交換並更新路由信息。

經過若干次更新後,所有路由器最終都會知道到達本自治系統任何一個網路的最短距離和下一跳路由器的地址,即「收斂」。

RIP的特點:當網路出現故障時,要經過比較長的時間(例如數分鍾) 才能將此信息傳送到所有的路由器,「慢收斂」。

對地址為X的相鄰路由器發來的RIP報文,修改此報文中的所有項目:把「下一跳」欄位中的地址改為X,並把所有的「距離」欄位+1。

開放最短路徑優先OSPF協議:「開放」標明OSPF協議不是受某一家廠商控制,而是公開發表的;「最短路徑優先」是因為使用了Dijkstra提出的最短路徑演算法SPF。OSPF最主要的特徵就是使用分布式的鏈路狀態協議。 OSPF直接用IP數據報傳送。

OSPF的特點:

為了使OSPF 能夠用於規模很大的網路,OSPF 將一個自治系統再劃分為若干個更小的范圍,叫做區域。每一個區域都有一個32 位的區域標識符(用點分十進製表示)。區域也不能太大,在一個區域內的路由器最好不超過200 個。

BGP 所交換的網路可達性的信息就是要到達某個網路所要經過的一系列AS。當BGP 發言人互相交換了網路可達性的信息後,各BGP 發言人就根據所採用的策略從收到的路由信息中找出到達各AS 的較好路由。

一個BGP 發言人與其他自治系統中的BGP 發言人要交換路由信息,就要先建立TCP 連接,即通過TCP傳送,然後在此連接上交換BGP 報文以建立BGP 會話(session),利用BGP 會話交換路由信息。 BGP是應用層協議,藉助TCP傳送。

BGP協議特點:

BGP-4的四種報文

組播提高了數據傳送效率。減少了主幹網出現擁塞的可能性。組播組中的主機可以是在同一個物理網路,也可以來自不同的物理網路(如果有組播路由器的支持)。

IP組播地址讓源設備能夠將分組發送給一組設備。屬於多播組的設備將被分配一個組播組IP地址(一群共同需求主機的相同標識)。

組播地址范圍為224.0.0.0~239.255.255.255(D類地址),一個D類地址表示一個組播組。只能用作分組的目標地址。源地址總是為單播地址。

同單播地址一樣,組播IP地址也需要相應的組播MAC地址在本地網路中實際傳送幀。組播MAC地址以十六進制值01-00-5E打頭,餘下的6個十六進制位是根據IP組播組地址的最後23位轉換得到的。

TCP/IP 協議使用的乙太網多播地址的范圍是:從01-00-5E-00-00-00到01-00-5E-7F-FF-FF .

收到多播數據報的主機,還要在IP 層利用軟體進行過濾,把不是本主機要接收的數據報丟棄。

ICMP和IGMP都使用IP數據報傳遞報文。組播路由器知道的成員關系只是所連接的區域網中有無組播組的成員。

IGMP工作的兩個階段:

只要有一個主機對某個組響應,那麼組播路由器就認為這個組是活躍的;如果經過幾次探詢後沒有一個主機響應,組播路由器就認為本網路上的沒有此組播組的主機,因此就不再把這組的成員關系發給其他的組播路由器。

組播路由協議目的是找出以源主機為根節點的組播轉發樹。構造樹可以避免在路由器之間兜圈子。對不同的多播組對應於不同的多播轉發樹;同一個多播組,對不同的源點也會有不同的多播轉發樹。

組播路由選擇協議常使用的三種演算法:

移動IP技術是移動結點(計算機/伺服器等)以 固定的網路IP地址 ,實現跨越不同網段的 漫遊 功能,並保證了基於網路IP的網路許可權在漫遊過程中不發生任何改變。

路由器是一種具有多個輸入埠和多個輸出埠的專用計算機,其任務是轉發分組。

若路由器處理分組的速率趕不上分組進入隊列的速率,則隊列的存儲空間最終必定減少到零,這就使後面再進入隊列的分組由於沒有存儲空間而只能被丟棄。 路由器中的輸入或輸出隊列產生溢出是造成分組丟失的重要原因。

路由器(網路層)可以互聯兩個不同網路層協議的網段。
網橋(鏈路層)可以互聯兩個物理層和鏈路層不同的網段。
集線器(物理層)不能互聯兩個物理層不同的網段。

路由表根據路由選擇演算法得出的,主要用途是路由選擇,總用軟體來實現。

轉發表由路由表得來,可以用軟體實現,也可以用特殊的硬體來實現。轉發表必須包含完成轉發功能所必需的信息,在轉發表的每一行必須包含從要到達的目的網路到輸出埠和某些MAC地址信息的映射。

Ⅱ Dijkstrath演算法是什麼如何用Dijkstrath演算法求計算機網路拓撲圖的最短路徑

Dijkstra演算法是典型 的單源最短路徑演算法,用於計算一個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。Dijkstra演算法是很有代表性的最短路徑演算法,在很多專業課程中都作為基本內容有詳細的介紹,如數據結構,圖論,運籌學等等。Dijkstra一般的表述通常有兩種方式,一種用永久和臨時標號方式,一種是用OPEN, CLOSE表的方式,這里均採用永久和臨時標號的方式。注意該演算法要求圖中不存在負權邊。
迪傑斯特拉(Dijkstra)演算法思想
按路徑長度遞增次序產生最短路徑演算法:

把V分成兩組:

(1)S:已求出最短路徑的頂點的集合

(2)V-S=T:尚未確定最短路徑的頂點集合

將T中頂點按最短路徑遞增的次序加入到S中,

保證:(1)從源點V0到S中各頂點的最短路徑長度都不大於

從V0到T中任何頂點的最短路徑長度

(2)每個頂點對應一個距離值

S中頂點:從V0到此頂點的最短路徑長度

T中頂點:從V0到此頂點的只包括S中頂點作中間

頂點的最短路徑長度

依據:可以證明V0到T中頂點Vk的最短路徑,或是從V0到Vk的

直接路徑的權值;或是從V0經S中頂點到Vk的路徑權值之和

(反證法可證)

求最短路徑步驟
演算法步驟如下:

1. 初使時令 S={V0},T={其餘頂點},T中頂點對應的距離值

若存在<V0,Vi>,d(V0,Vi)為<V0,Vi>弧上的權值

若不存在<V0,Vi>,d(V0,Vi)為∝

2. 從T中選取一個其距離值為最小的頂點W且不在S中,加入S

3. 對其餘T中頂點的距離值進行修改:若加進W作中間頂點,從V0到Vi的

距離值縮短,則修改此距離值

重復上述步驟2、3,直到S中包含所有頂點,即W=Vi為止

Ⅲ 計算機網路(三)——網路層

網路層的 目的 是實現在任意結點間進行數據報傳輸,它的目的與鏈路層、物理層不是一樣的嗎?但是通過它數據可以在更大的網路中傳輸。

為了能使數據更好地在更大的網路中傳輸,網路層主要實現三個功能: 異構網路互聯 路由與轉發 擁塞控制

我們知道,在物理層、鏈路層,可以使用不同的傳輸介質和拓撲結構將幾台、十幾台主機連接在一起形成一個小型的區域網,把這些組成結構不完全相同的區域網稱為異構網,因此將它們連接擴大成更大的網路,需要一個類似轉接頭的設備——路由器,路由器不僅僅可以連接異構網,還能隔離沖突域和廣播域,依照IP地址轉發。

下圖對集線器、網橋、交換機和路由器能否隔離沖突域和廣播域進行比較:

路由器作為連接多個網路的結點,不僅需要完成對數據的分組轉發,還要選擇傳輸路徑,因此路由器主要由 路由選擇 分組轉發 組成。

網路層最重要的功能是 路由與轉發 功能。路由也就是選擇一條合適的路,轉發則是在這條路上遵守協議。這有點像從某個多個國家的交界城市自駕,選其中一條路,那麼就遵守這個國家的交通協議。

數據通過一個又一個路由器到達目的地址,路由器怎麼知道數據應該從哪個埠出發才能到達目的地呢?這就需要構造路由表。
路由表有兩種構造方式: 靜態 動態

一個個小網路可以構成一個區域,足夠多的區域互連成一個網路,多個網路又形成巨大的互聯網。要想讓數據高效在網路中傳輸,採用「分而治之」的理念。
將互聯網分為許多較小的自治系統,系統有權決定自己內部採用什麼路由協議,這便是層次路由。通過層次路由便可以採用靈活的協議傳輸數據。數據在自治系統內傳輸採用 內部網關協議 而自治系統之間則採用 外部網關協議

內部網關協議有兩種協議: 路由信息協議(RIP) 開放最短路徑優先協議(OSPF)

外部網關協議則是邊界網關協議(BGP)。內部網關協議服務某個自治系統,范圍較小,所以盡可能有效地從源站送到目的站,也就是找到一條最佳路徑。而外部網關協議需要面對更大的網路范圍和網路環境,因此更關注的找到比較好的路徑,也就是不能兜圈子。

BGP工作原理:

將三種路由協議進行比較:

構建大規模、異構網路的互聯網除了硬體的支持外,還需要建立協議以實現數據報傳輸服務——IP協議。
目前IP協議有兩個版本:IPv4和IPv6。

現在主流的IP協議版本還是IPv4。

IP數據報主要由首部和數據部分組成,由TCP報文段封裝到數據部分,再在前端加上一些描述信息的首部,其格式如下圖:

IP協議使用分組轉發,當報文過大時需要分片。分片的思路如下:

如果把IP數據報看作是信,那麼首部中的源地址與目的地址則分別是發信地址和郵件地址。為了方便路由計算這些地址,並且使IP地址足夠使用,因此將IP地址進行分類。

IP地址的格式 : {<網路號>,<主機號>},網路號標志主機所連接的網路,主機號標志該主機,每個IP地址都是唯一的。

IP地址分類 如下:

通過分類,可以計算每個網路中最大的主機數:

網路地址轉換(NAT)是一種轉換機制,將專用網路地址轉換為公用地址,目的是為了對外隱藏內部管理的IP地址,這樣不僅可以保證網路安全,還可以解決IP地址不足問題。
當路由器接收到的目的地址是私有地址則一律不進行轉發,而如果是公用地址,則是用NAT轉換表將源IP及埠號映射成全球IP號,然後從WAN埠發送到網際網路上。

IP地址有A、B、C類網路號,如果把A類網路號分給一個廣播域,那麼這個廣播域可以接入16,777,212台主機,然而一個廣播域不可能融入這么多台主機,因為這樣會導致廣播域過飽和而癱瘓,而只給其分配一定數量的網路號,則會浪費大量的IP地址。因此在IP地址中增加一個「子網號欄位」,將IP地址劃分為三級,即IP地址={<網路號>,<子網號>,<主機號>},也就是從主機號中借用幾個比特號作為子網號,這個子網號是對內劃分的,對外仍舊表現為二級IP地址。

主機或路由器如何判斷一個網路是否進行子網劃分了呢?——利用子網掩碼。

CIDR是 無分類 域間路由器選擇,目的是消除A、B、C類網路劃分,這樣可以大幅度提高IP地址空間利用率。相比較子網掩碼劃分,它更加靈活。

上圖中,如果R1收到前綴為206.1的IP地址,它只需要轉發給R2,具體發往網路1還是網路2,則由R2計算得出。

通過IP地址,可以將數據從某個網路傳輸到目的網路,但是把信息發送給哪台主機呢?由於路由器的隔離,IP網路沒辦法使用廣播方式查找MAC地址,只有通過鏈路層的MAC地址以廣播方式定址。
因此,IP協議還包括三個協議—— ARP、DHCP和ICMP ,共同配合完成數據轉發。

IPv6是解決IP地址耗盡的根本手段。它與IPv4的報文形式差別如下圖:

IPv6與IPv4地址通信示意圖:

在通信過程中,如果分組過量而導致網路性能下降,會產生擁塞。

擁塞的控制方式:

Ⅳ 計算機網路自學筆記:選路演算法

網路層必須確定從發送方到接收方分組所經過的路徑。選路就是在網路中的路由瞎物器里的給某個數據報確定好路徑(即路由)。

一 台主機通常直接與一台路由器相連接,該路由器即為該主機的默認路由器,又稱為該主機的默認網關。 每當某主機向外部網路發送一個分組時,該分組都被傳送給它的默認網關。

如果將源主機的默認網關稱為源路由器,把目的主機的默認網關稱為目的路由器。為一個分組從源主機到目的主機選路的問題於 是可歸結為從源路由器到目的路由器的選路問題。

選路演算法的目標很簡單:給定一組路由器以及連接路由器的鏈路,選路演算法要找到一條從源路由器到目的路由器的最好路徑,通常一條好路徑是指具有最低費用的路徑。

圖 G=(N,E)是一個 N 個節點和 E 條邊的集合,其中每條邊是來自 N 的一對節點。在網 絡選路的環境中,節點表示路由器,這是做出分組轉發決定的節點,連接節點的邊表示路由 器之間的物理鏈路。

一條邊有一個值表示它的費用。通常一條邊的費用可反映出對應鏈路的物理長度、鏈路速度或與該鏈路相關的費用。

對於 E 中的任一條邊(xy)可以用 c(xy )表示節點 x 和 y 間邊的費用。一般考慮的都是無向 圖,因此邊(xy)與邊(y x)是相同的並且開銷相等。節點 y 也被稱為節點 x 的鄰居。

在圖中為各條邊指派了費用後,選路演算法的目標自然是找出從源到目的間的最低費用路徑。圖 G=(N,E)中的一條路徑(Path)是一個節點的序列,使得每一對以(x1,x2), (x2,x3),…,是 E 中的邊。路徑的費用是沿著路徑所有邊費用的總和。

從廣義上來說,我們對 選路演算法分類的一種方法就是根據該演算法是全局性還是分布式來區分的。

.全局選路演算法: 用完整的、全局性的網路信息來計算從源到目的之間的最低費用路徑。

實際上, 具有全局狀態信息裂殲的演算法常被稱作鏈路狀態 LS 演算法, 因為該演算法必須知道網路中每條鏈路的費用。

.分布式選路演算法: 以迭代的、分布式的方式計算出最低費用路徑。通過迭代計算並與相鄰節點交換信息,逐漸計算出到達某目的節點或一組目的節點的最低費用路徑。

DV 演算法是分布式選路演算法, 因為每個節點維護到網路中的所有其他節點的費用(距離)估計的矢量。

選路演算法的第二種廣義分類方法是根據演算法是靜態的還是動態的來分類。

一: 鏈路狀態選路演算法 LS

在鏈路狀態演算法中,通過讓每個節點向所有其他路由器廣播鏈路狀態分組, 每個鏈路狀態分組包含它所連接的鏈路的特徵和費用, 從而網路中每個節點都建立了關於整個網路的拓撲。

Dijkstra 演算法計算從源節點到網路中所有其他節點的最低費用路徑.

Dijkstra 演算法是磨源液迭代演算法,經演算法的第 k 次迭代後,可知道到 k 個目的節點的最低費用路徑。

定義下列記號:

D(V)隨著演算法進行本次迭代,從源節點到目的節點的最低費用路徑的費用。

P(v)從源節點到目的節點 v 沿著當前最低費用路徑的前一節點(,的鄰居)。

N`節點子集;如果從源節點到目的節點 v 的最低費用路徑已找到,那麼 v 在 N`中。

Dijkstra 全局選路演算法由一個初始化步驟和循環組成。循環執行的次數與網路中的節點個數相同。在結束時,演算法會計算出從源節點 u 到網路中每個其他節點的最短路徑。

考慮圖中的網路,計算從 u 到所有可能目的地的最低費用路徑。

.在初始化階段 ,從 u 到與其直接相連的鄰居 v、x、w 的當前已知最低費用路徑分別初始化為 2,1 和 5。到 y 與 z 的費用被設為無窮大,因為它們不直接與 u 連接。

.在第一次迭代時, 需要檢查那些還未加到集合 N`中的節點,找出在前一次迭代結束時具有最低費用的節點。那個節點是 x 其費用是 1,因此 x 被加到集合 N`中。然後更新所有節點的 D(v),產生下表中第 2 行(步驟)所示的結果。到 v 的路徑費用未變。經過節點 x 到 w 的 路徑的費用被確定為 4。因此沿從 u 開始的最短路徑到 w 的前一個節點被設為 x。類似地, 到 y 經過 x 的費用被計算為 2,且該表項也被更新。

.在第二次迭代時 ,節點 v 與 y 被發現具有最低費用路徑 2。任意選擇將 y 加到集合 N` 中,使得 N』中含有 u、x 和 y。通過更新,產生如表中第 3 行所示的結果。

.以此類推…

當 LS 演算法結束時,對於每個節點都得到從源節點沿著它的最低費用路徑的前繼節點, 對於每個前繼節點,又有它的前繼節點,按照此方式可以構建從源節點到所有目的節點的完 整路徑。

根據從 u 出發的最短路徑,可以構建一個節點(如節點 u)的轉發表。

二 距離矢量選路演算法 DV

LS 演算法是一種使用全局信息的演算法,而距離矢量演算法是一種迭代的、非同步的和分布式的演算法。

Bellman-Ford 方程:

設 dx(y)是從節點 x 到節點 y 的最低費用路徑的費用,則有  dx(y) = min {c(x,v) + dv(y) }

PS: 方程中的 min,是指取遍 x 的所有鄰居。

Bellman-Ford 方程含義相當直觀,意思是從 x 節點出發到 y 的最低費用路徑肯定經過 x 的某個鄰居,而且 x 到這個鄰居的費用加上這個鄰居到達目的節點 y 費用之和在所有路徑 中其總費用是最小的。 實際上,從 x 到 v 遍歷之後,如果取從 v 到 y 的最低費用路徑,該路 徑費用將是 c(x,v)+ dv(y)。因此必須從遍歷某些鄰居 v 開始,從 x 到 y 的最低費用是對所有鄰 居的 c(x,v)+dv(y)的最小值。

在該 DV 演算法中,當節點 x 看到它的直接相連的鏈路費用變化,或從某個鄰居接收到一 個距離矢量的更新時,就根據 Bellman-Ford 方程更新其距離矢量表。

三 LS 與 DV 選路演算法的比較

DV 和 LS 演算法採用不同的方法來解決計算選路問題。

在 DV 演算法中,每個節點僅與它的直接相連鄰居交換信息,但它為它的鄰居提供了從其 自己到網路中(它所知道的)所有其他節點的最低費用估計。

在 LS 演算法中,每個節點(經廣播)與所有其他節點交換信息,但它僅告訴它們與它直接 相連鏈路的費用。

·報文復雜性:

LS 演算法要求每個節點都知道網路中每條鏈路的費用,需要發送 O(nE)個消息。

DV 演算法要求在每次迭代時,在兩個直接相連鄰居之間交換報文,演算法收斂所需的時間 依賴於許多因素。當鏈路費用改變時,DV 演算法僅當在會導致該節點的最低費用路徑發生改 變時,才傳播已改變的鏈路費用。

·收效速度:

DV演算法收斂較慢,且在收斂時會遇到選路環路。DV演算法還會遭受到計數到無窮的問題。

•健壯性:  在 LS 演算法中,如果一台路由器發生故障、或受到破壞,路由器會向其連接的鏈路廣播 不正確費用,導致整個網路的錯誤。

在 Dv 演算法下, 每次迭代時,其中一個節點的計算結果會傳遞給它的鄰居,然後在下次迭代時再間接地傳遞給鄰居的鄰居。在這種情況下,DV 演算法中一個不正確的計算結果也會擴散到整個網路。

四.層次選路

兩個原因導致層次的選路策略:

•規模: 隨著路由器數目增長,選路信息的計算、存儲及通信的開銷逐漸增高。

•管理自治: 一般來說,一個單位都會要求按自己的意願運行路由器(如運行其選擇的某 種選路演算法),或對外部隱藏其內部網路的細節。

層次的選路策略是通過將路由器劃分成自治系統 AS 來實施的。

每個 AS 由一組通常在相同管理控制下的路由器組成(例如由相同的 ISP 運營或屬於相同 的公司網路)。在相同的 AS 內的路由器都全部運行同樣的選路演算法。

在一個自治系統內運行的選路演算法叫做自治系統內部選路協議。 在一個 AS 邊緣的一台 或多台路由器,來負責向本 AS 之外的目的地轉發分組,這些路由器被稱為網關路由器

在各 AS 之間,AS 運行相同的自治系統間選路協議。

Ⅳ 網路理論的最短路徑問題

一般提法是:尋找網路中兩點間的最短路徑,即尋找連接這兩點的邊的總權數(可以是距離、時間、費用等)為最小的通路。圖4為最短路徑問題的一個例子。最短路徑問題有兩種演算法。戴克斯特拉法1959年提出。其計算方法是:從始點vs,標以零值,並記在vs旁的方括弧內。然後依節點序號順序找出到達各點的最短距離,並說明來自何方,例如在節點v3處標上【v2,4】,即表示來自節點v2,距離累計為4。戴克斯特拉法可以通過編制計算程序,在計算機上運算。

Ⅵ 計算機網路-網路層-多協議標記交換MPLS

多協議標記交換MPLS (MultiProtocol Label Switching):「多協議」表示在MPLS的上層可以採用多種協議。 MPLS採用了面向連接的工作方式(或者說是利用面向連接技術) ,使每個分組攜帶一個叫做標記(label)的小整數(這叫做打上標記)。當分組到達交換機(即標記交換路由器)時,交換機讀取分組的標記,並用標記值來檢索分組轉發表。這樣就比查找路由表來轉發分組要快得多。

MPLS具有以下三個方面的特點:(1)支持面向連接的服務質量。(2)支持流量工程,平衡網路負載。(3)有效地支持虛擬專用網VPN。

在傳統的P網路中,分組每到達一個路由器,都必須查找路由表,並按照「最長前綴匹配」的原則找到下一跳的P地址(請注意,前綴的長度是不確定的)。當網路很大時,查找含有大量項目的路由表要花費很多的時間。在出現突發性的通信量時,往往還會使緩存溢出,這就會引起分組丟失、傳輸時延增大和服務質量下降。

MPLS的一個重要特點就是在MPLS域的入口處,給每一個IP數據報打上固定長度 「標記」 ,然後對打上 標記的IP數據報用硬體進行轉發 ,這就使得IP數據報轉發的過程大大地加快了」。 採用硬體技術對打上標記的P數據報進行轉發就稱為標記交換。 「交換」也表示在轉發時不再上升到第三層查找轉發表,而是根據標記在第二層(鏈路層)用硬體進行轉發。MPLS可使用多種鏈路層協議,如PPP、乙太網、ATM以及幀中繼等。

MPLS域(MPLS domain)是指該域中有許多彼此相鄰的路由器,並且所有的路由器都是支持MPLS技術的 標記交換路由器LSR (Label Switching Router)。 LSR同時具有標記交換和路由選擇這兩種功能 ,標記交換功能是為了快速轉發,但在這之前LSR需要使用路由選擇功能構造轉發表。

MPLS的基本工作過程:

(I)MPLS域中的各LSR使用專門的 標記分配協議LDP (Label Distribution Protocol)交換報文,並找出和特定標記相對應的路徑,即 標記交換路徑LSP (Label Switched Path)。例如在圖中的路徑A→B→C→D。各 LSR根據這些路徑構造出轉發表 。這個過程和路由器構造自己的路由表相似。但應注意的是,MPLS是面向連接的,因為在標記交換路徑LSP上的第一個LSR就根據IP數據報的初始標記確定了整個的標記交換路徑,就像一條虛連接一樣。

(2)當一個IP數據報進入到MPLS域時, MPLS入口結點(ingress node)就給它打上標記(實際上是插入一個MPLS首部),並按照轉發表把它轉發給下一個LSR。 以後的所有LSR都按照標記進行轉發。

給IP數據報打標記的過程叫做分類(classification)。嚴格的第三層(網路層)分類只使用了IP首部中的欄位,如源P地址和目的P地址等。大多數運營商實現了第四層(運輸層)分類(除了要檢查P首部外,運輸層還要檢查TCP或UDP首部中的協議埠號),而有些運營商則實現了第五層(應用層)分類(更進一步地檢查數據報的內部並考慮其有效載荷)。

(3)由於在全網內統一分配全局標記數值是非常困難的,因此一個標記僅僅在兩個標記交換路由器LSR之間才有意義。分組每經過一個LSR,LSR就要做兩件事:一是轉發,二是更換新的標記,即把入標記更換成為出標記。這就叫做標記對換(label swapping)。做這兩件事所需的數據都己清楚地寫在轉發表中。例如,圖4-61中的標記交換路由器B從入介面0收到一個入標記為3的IP數據報,標記交換路由器B就知道應當把該P數據報從出介面1轉發出去,同時把標記對換為1。當IP數據報進入下一個LSR時,這時的入標記就是剛才得到的出標記。因此,標記交換路由器C接著在轉發該IP數據報時,又把入標記1對換為出標記2。

(4)當IP數據報離開MPLS域時, MPLS出口結點(egress node))就把MPLS的標記去除 ,把IP數據報交付非MPLS的主機或路由器,以後就按照普通的轉發方法進行轉發。

上述的這種「由入口LSR確定進入MPLS域以後的轉發路徑」稱為顯式路由選擇(explicit routing),它和互聯網中通常使用的「每一個路由器逐跳進行路由選擇」有著很大的區別。

轉發等價類FEC

MPLS有個很重要的概念就是轉發等價類FEC(Forwarding Equivalence Class)。所謂「轉發等價類」就是路由器按照同樣方式對待的IP數據報的集合。這里「按照同樣方式對待」表示從同樣介面轉發到同樣的下一跳地址,並且具有同樣服務類別和同樣丟棄優先順序等。FEC的例子是:

(I)目的IP地址與某一個特定IP地址的前綴匹配的IP數據報(這就相當於普通的IP路由器):

(2)所有源地址與目的地址都相同的IP數據報;

(3)具有某種服務質量需求的IP數據報。

總之,劃分FEC的方法不受什麼限制,這都由網路管理員來控制,因此非常靈活。入口結點並不是給每一個IP數據報指派一個不同的標記,而是將屬於同樣FEC的IP數據報都指派同樣的標記。FEC和標記是一一對應的關系。

圖4-62給出一個把FEC用於負載平衡的例子。圖4-62(a)的主機H1和H2分別向H3和H4發送大量數據。路由器A和C是數據傳輸必須經過的。但傳統的路由選擇協議只能選擇最短路徑A→B→C,這就可能導致這段 最短路徑過載 。

圖4-62(b)表示在MPLS的情況下, 入口結點A可設置兩種FEC :「源地址為H1而目的地址為H3」和「源地址為H2而目的地址為H,」,把前一種FEC的路徑設置為H1→A→B→C→H3,而後一種的路徑設置為H2→A→D→E+C→H4。這樣可使網路的負載較為平衡。網路管理員採用自定義的FEC就可以更好地管理網路的資源。這種均衡網路負載的做法也稱為流量工程TE(Traffic Engineering)心或通信量工程。

MPLS並不要求下層的網路都使用面向連接的技術。因此一對MPLS路由器之間的物理連接,既可以由一個專用電路組成,如OC-48線路,也可以使用像乙太網這樣的網路。但是這些網路並不提供打標記的手段,而IPv4數據報首部也沒有多餘的位置存放MPLS標記。這就需要使用一種封裝技術:在把IP數據報封裝成以 太網幀 之前,先要插入一個MPLS首部。" 從層次的角度看,MPLS首部就處在數據鏈路層和網路層之間"。 在把加上MPLS首部的IP數據報封裝成乙太網幀時,乙太網的類型欄位在單播的情況下設置為 ,而在多播的情況下為 。這樣, 接收方可以用幀的類型來判決這個幀是攜帶了MPLS標記還是一個常規的IP數據報。

「給IP數據報打上標記」其實就是在 乙太網的幀首部和IP數據報的首部之間插入一個4位元組的MPLS首部 。具體的標記就在「標記值」這個欄位中。MPLS首部共包括以下四個欄位:

(1)標記值  佔20位。由於一個MPLS標記佔20位,因此從理論上講,在設置MPLS時可以使用標記的所有20位,因而可以同時容納高達2^20個流(即1048576個流)。但是,實際上幾乎沒有哪個MPLS實例會使用很大數目的流,因為通常需要管理員人工管理和設置每條交換路徑。

(2)試驗  佔3位,目前保留用於試驗。

(3)棧S  佔1位,在有「標記棧」時使用。

(4)生存時間TTL  佔8位,用來防止MPLS分組在MPLS域中兜圈子。

閱讀全文

與計算機網路層最短路徑相關的資料

熱點內容
新浪網網路信息來源有哪些 瀏覽:8
東麗區移動網路科技歡迎咨詢 瀏覽:848
網路音響在哪裡 瀏覽:893
筆記本電腦怎麼可以有移動網路 瀏覽:943
說熱點需要網路認證是什麼意思 瀏覽:376
登錄網路安全性沒有匿名驗證 瀏覽:98
kingroot網路連接失敗 瀏覽:240
中國哪個省網路最方便 瀏覽:794
手機怎麼用外地網路 瀏覽:194
如何使微信禁止使用網路 瀏覽:793
長城電視網路連接後沒反應 瀏覽:394
中專網路教學平台有哪些 瀏覽:72
網路現在是怎麼進化的 瀏覽:242
YS12設置共享網路 瀏覽:412
網路教育工商管理專業哪個大學好 瀏覽:906
6芯網路連接8芯網路怎麼不通 瀏覽:131
蘋果8p有4g信號沒網路 瀏覽:309
無線網路改密碼後怎麼連接 瀏覽:625
筆記本怎麼和蘋果手機usb共享網路 瀏覽:933
如何查看台式電腦網路名稱 瀏覽:284

友情鏈接