導航:首頁 > 網路連接 > 計算機網路中的ls演算法

計算機網路中的ls演算法

發布時間:2023-05-08 18:32:16

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

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

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

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

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

圖 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 運行相同的自治系統間選路協議。

2. 在網路圖中什麼是ES、EF、LS、LF、TF、FF並解釋它們的含義

在網路圖中ES、EF、LS、LF、TF、FF是網路圖中標注時間參數,含義如下:

ES = Earliest Start time(最早開始時間)。

EF = Earliest Finish time(最早結束時間)。

LS = Latest Start time(最晚開始時間)。

LF = Latest Finish time(最晚結束時間)。

TF = Total Float time(總浮動時間,總時差)。

FF = Free Float time(自由浮動時間,自由時差)。

相關資料

在網路圖中標注時間參數(es、ef、ls、lf、tf、lf及其組合)CCProject除顯示這些參數外,我們還根據客戶需求,添加了一些其他的顯示方式。

如果網路圖比較復雜,可以拖動一下工作名稱、工期數字或者參數的位置,盡量避免重疊。

3. 《計算機網路-自頂向下方法》第四章-網路層 要點

網路層的作用:實現主機到主機的通信服務,將分組從一台發送主機移動到一台接收主機。

1、轉發涉及分組在單一的路由器中從一條入鏈路到一條出鏈路的傳送。
2、路由選擇涉及一個網路的所有路由器,它們經路由選擇協議共同交互,以決定分組從源到目的地結點所採用的路徑。計算這些路徑的演算法稱為路由選擇演算法。

每台路由器都有一張轉發表,路由器通過檢查到達分組首部欄位的值來轉發分組,然後使用該值在該路由器的轉發表中索引查找。路由選擇演算法決定了插入路由器轉發表中的值。

路由選擇演算法可能是集中式的,或者是分布式的。但在這兩種情況下,都是路由器接收路由選擇協議報文,該信息被用於配置其轉發表。

網路層也能在兩台主機之間提供無連接服務或連接服務。同在運輸層的面向連接服務和無連接服務類似,連接服務需要握手步驟,無連接服務不需要握手。但它們之間也有差異:
1、 在網路層中,這些服務是由網路層向運輸層提供的主機到主機的服務。在運輸層中,這些服務則是運輸層向應用層提供的進程到進程的服務。
2、 在網路層提供無連接服務的計算機網路稱為數據報網路;在網路層提供連接服務的計算機網路稱為虛電路網路。
3、 在運輸層實現面向連接的服務與在網路層實現連接服務是根本不同的。運輸層面向連接服務是在位於網路邊緣的端系統中實現的;網路層連接服務除了在端系統中,也在位於網路核心的路由器中實現。(原因很簡單:端系統和路由器都有網路層)

虛電路網路和數據報網路是計算機網路的兩種基本類型。在作出轉發決定時,它們使用了非常不同的信息。

IP地址有32比特,如果路由器轉發表採用「蠻力實現」將對每個可能的目的地址有一個表項。因為有超過40億個可能的地址,這種選擇完全不可能(即使用二分查找也十分慢)。
我們轉發表的表項可以設計為幾個表項,每個表項匹配一定范圍的目的地址,比如有四個表項

(你可能也會考慮到,IP地址有32比特,如果每個路由器設計為只有2個表項,那麼也只需要有32個路由器就可以唯一確定這40億個地址中的一個。)

最長前綴匹配規則,是在轉發表中尋找最長的匹配項,並向與最長前綴匹配相關聯的鏈路介面轉發分組。這種規則是為了與網際網路的編址規則相適應。

1、輸入埠
「使用轉發表查找輸出埠」是輸入埠最重要的操作(當然還有其他一些操作)。輸入埠執行完這些所需的操作後,就把該分組發送進入交換結構。如果來自其他輸入埠的分組當前正在使用交換結構,一個分組可能會在進入交換結構時被暫時阻塞,在輸入埠處排隊,並等待稍後被及時調度以通過交換結構。
2、交換結構
交換結構的三種實現方式

3、輸出埠
分組調度程序 處理在輸出埠中排隊的分組
4、路由選擇處理器

</br>

</br>

IP協議版本4,簡稱為IPv4;IP協議版本6,簡稱為IPv6。

如上圖所示,網路層有三個主要的組件
1、IP協議
2、路由選擇協議
3、ICMP協議 (Internet Control Message Protocol, 網際網路控制報文協議)

</br>

不是所有鏈路層協議都能承載相同長度的網路層分組。有的協議能承載大數據報,而有的協議只能承載小分組。例如,乙太網幀能夠承載不超過1500位元組的數據,而某些廣域網鏈路的幀可承載不超過576位元組的數據。

一個鏈路層幀能承載的最大數據量叫做最大傳送單元(Maximun Transmission Unit, MTU)

所以鏈路層協議的MTU嚴格限制著IP數據報的長度。這也還不是主要的問題,問題在於發送方與目的地路徑上的每段鏈路可能使用不同的鏈路層協議,且每種協議可能具有不同的MTU。

舉個例子:假定從某條鏈路收到一個IP數據報,通過檢查轉發表確定出鏈路,並且該出鏈路的MTU比該IP數據報的長度要小。那麼如何將這個過大的IP分組壓縮進鏈路層幀的有效載荷欄位呢?

解決辦法是,將IP數據報中的數據分片成兩個或更多個較小的IP數據報,用單獨的鏈路層幀封裝這些較小的IP數據報;然後向輸出鏈路上發送這些幀。每個這些較小的數據報都被稱為片(fragment)。

路由器完成分片任務。同時,為了使得網路內核保持簡單,IPv4設計者把數據報的重組工作放到端系統中,而非放到網路路由器中。

前提:一個4000位元組的數據報(20位元組IP首部加上3980位元組IP有效載荷)到達一台路由器,且必須被轉發到一條MTU為1500位元組的鏈路上。假定初始數據報貼上的標識號為777。

這意味著初始數據報中3980位元組數據必須被分配到3個獨立的片(其中的每個片也是一個IP數據報)

IP分片:

IP地址有32比特,分為網路號和主機號。
IP地址的網路部分(即網路號)被限制為長度為8、16或24比特,這是一種稱為分類編址的編址方案。具有8、16和24比特子網地址的子網分別被稱為A、B和C類網路。

但是它在支持數量迅速增加的具有小規模或中等規模子網的組織方面出現了問題。一個C類(/24)子網僅能容納多大2^8 - 2 = 254台主機(2^8 = 256, 其中的兩個地址預留用於特殊用途),這對許多組織來說太小了。然而一個B類(/16)子網可支持多達65534台主機,又太大了。這導致B類地址空間的迅速損耗以及所分配的地址空間的利用率低。

廣播地址255.255.255.255。當一台主機發出一個目的地址為255.255.255.255的數據報時,該報文會交付給同一個網路中的所有主機。

某組織一旦獲得了一塊地址,它就可以為本組織內的主機與路由器介面逐個分配IP地址。既可手工配置IP地址,也可以使用動態主機配置協議(Dynamic Host Configuration Protocol, DHCP)自動配置。DHCP還允許一台主機得知其他信息,如它的子網掩碼、它的第一跳路由器地址(常稱為默認網關)與它的本地DNS伺服器的地址。

由於DHCP具有能將主機連接進一個網路相關方面的自動能力,它又被稱為即插即用協議。

DHCP是客戶-伺服器協議。客戶通常是新達到的主機,它要活的包括自身使用的IP地址在內的網路配置信息。在最簡單的場合下,每個子網將具有一台DHCP伺服器。如果在某子網中沒有伺服器,則需要一個DHCP中繼代理(通常是一台路由器),這個代理知道用於該網路的DHCP伺服器的地址。

DHCP協議工作的4個步驟:

網路地址轉換(Network Address Translation, NAT)

ICMP通常被認為是IP的一部分,但從體系結構上將它是位於IP之上的,因為ICMP報文是承載在IP分組中的。即ICMP報文是作為IP有效載荷承載的,就像TCP與UDP報文段作為IP有效載荷被承載那樣。

眾所周知的ping程序發送一個ICMP類型8編碼0的報文到指定主機。看到該回顯請求,目的主機發回一個類型0編碼0的ICMP回顯回答。大多數TCP/IP實現直接在操作系統中支持ping伺服器,即該伺服器不是一個進程。

新型IPv6系統可做成向後兼容,即能發送、路由和接收IPv4數據報,要使得已部署的IPv4系統能夠處理IPv6數據報,最直接的方式是採用一種雙棧方法。

1、鏈路狀態(Link State, LS)演算法:屬於全局式路由選擇演算法,這種演算法必須知道網路中每條鏈路的費用。費用可理解為鏈路的物理長度、鏈路速度,或與該鏈路相關的金融上的費用。鏈路狀態演算法採用的是Dijkstra演算法。

2、距離向量(Distance-Vector, DV)演算法:屬於迭代的、非同步的和分布式的路由選擇演算法。
「迭代的」,是因為此過程一直要持續到鄰居之間無更多信息要交換為止。
「非同步的」,是因為它不要求所有結點相互之間步伐一致地操作。
「分布式的」,是因為每個結點都要從一個或多個直接相連鄰居接收某些信息,執行計算,然後將其計算結果分發給鄰居。
DV演算法的方程:

其中,dx(y)表示從結點x到結點y的最低費用路徑的費用,c(x, v)是結點x到結點v的費用,結點v指的是所有x的相連結點,所以x的所有相連結點都會用minv方程計算。

(N是結點(路由器)的集合,E是邊(鏈路)的集合)

為了減少公共網際網路的路由選擇計算的復雜性以及方便企業管理網路,我們將路由器組織進自治系統。

在相同AS中的路由器全都運行同樣的路由選擇演算法,且擁有彼此的信息。在一個自治系統內運行的路由選擇演算法叫做自治系統內部路由選擇協議。

當然,將AS彼此互聯是必需的,因此在一個AS內的一台或多台路由器將有另外的任務,即負責向在本AS之外的目的地轉發分組。這些路由器被稱為網關路由器。

分為自治系統內部的路由選擇和自治系統間的路由選擇

1、網際網路中自治系統內部的路由選擇:路由選擇信息協議(Routing Information Protocol, RIP)
2、網際網路中自治系統內部的路由選擇:開放最短路優先(Open Shortest Path First, OSPF)
3、自治系統間的路由選擇:邊界網關協議(Broder Gateway Protocol, BGP)

為什麼要使用不同的AS間和AS內部路由選擇協議?

實現廣播的方法
1、無控制洪泛。該方法要求源結點向它的所有鄰居發送分組的副本。當某結點接收了一個廣播分組時,它復制該分組並向它的所有鄰居(除了從其接收該分組的那個鄰居)轉發之。
致命缺點: 廣播風暴 ,如果圖具有圈,那麼每個廣播分組的一個或多個分組副本將無休止地循環。
2、受控洪泛。用於避免廣播風暴,關鍵在於正確選擇何時洪泛分組,何時不洪泛分組。受控洪泛有兩種方法:序號控制洪泛、反向路徑轉發(Reverse Path Forwarding, RPF)
3、生成樹廣播。雖然序號控制洪泛和RPF能避免廣播風暴,但是它們不能完全避免冗餘廣播分組的傳輸。

多播:將分組從一個或多個發送方交付到一組接收方

每台主機有一個唯一的IP單播地址,該單播地址完全獨立於它所參與的多播組的地址。

網際網路網路層多播由兩個互補組件組成:網際網路組管理協議(Internet Group Management Protocol, IGMP)和多播路由選擇協議

IGMP只有三種報文類型:membership_query報文,membership_report報文,leave_group報文。

與ICMP類似,IGMP報文也是承載在一個IP數據報中。

網際網路中使用的多播路由選擇
1、距離向量多播路由選擇協議
2、協議無關的多播路由選擇協議

閱讀全文

與計算機網路中的ls演算法相關的資料

熱點內容
查看你的網路里都有哪些主機在線 瀏覽:930
手機安電信卡網路不好 瀏覽:14
雷凌導航怎麼設置網路 瀏覽:891
蘋果手機怎麼看無線網路網速 瀏覽:188
中國移動網路機頂盒怎麼設置簡潔 瀏覽:557
家裡多個網路埠只有一個有信號 瀏覽:743
蘋果11手機網路劫持 瀏覽:240
手機怎樣調試網路接入 瀏覽:33
無線網路網速測試 瀏覽:90
網路電視怎樣輸入英文密碼 瀏覽:99
為什麼電腦沒有網路限速 瀏覽:494
廣東網路空間安全考研哪裡好 瀏覽:586
網路信號多少錢一gb 瀏覽:712
移動網路一直跳不穩定 瀏覽:412
公共網路設備哪個好 瀏覽:848
真正無線網路視頻 瀏覽:67
自學電腦網路書籍推薦 瀏覽:974
網路可以用來干什麼 瀏覽:247
手機開熱點和usb網路共享哪個快6 瀏覽:141
國網公司網路安全三同步是指 瀏覽:74

友情鏈接