SPF演算法計算過程--例_網路

來源:互聯網
上載者:User
http://golehuang.blog.51cto.com/7499/920865

當鏈路狀態路由演算法構建完LSDB後,接下來節要調用SPF演算法,對LSDB內的LSA進行處理,計算出所有路徑。SPF演算法在《Routing TCP/IP volmun I》的OSPF章節中有描述。

SPF演算法簡單描述如下(LSDB已收斂):

一、選定根節點;//----不管以哪個節點為根節點,最後計算出的產生樹應該是一樣的(即每個節點到其他節點的權值不變)

二、遍曆該選定節點的所有直連節點。遍曆過程中,若根與某節點的分支為

l 新分支,則添加該分支到分支列表,並記錄分支的權重、根的下一跳;

l 已存在於分支列表,則與分支列表中已存在分支的權重值比較優劣,並把較優值更新到分支列表中;

l 已存在於權重列表,則忽略;

三、把分支列表中的最優分支移出至權重列表,並選定該分支的節點;

四、若分支列表非空,則繼續步驟三;否則演算法結束。

演算法結束後,權重列表即為最短路徑樹,用於產生路由表或其它後續工作。

下面舉個簡單例子,箭頭方向為節點配置鏈路權重(metric),注意權重是單向的,修改權重一般情況下要確保兩端一致。a為運行SPF演算法的節點,LSDB已收斂:

*下述顯示含義為節點(下一跳) 權重

一、SPF把a、b、c、d、e、f、g、h置為未遍曆狀態,並以本節點(R1)為根。添加a(a)到權重列表,權重為0,下一跳為a。接著遍曆a的直連節點b、c、d,並把b(b) 50,c(c) 85,d(d) 20添加到分支列表。其中d(d)的權重最優,為20。添加d(d)到權重列表,權重為20,下一跳為d,並選定d;

二、遍曆d所有串連的節點。這裡d-b 20,d-c 20,d-g 20,d-h 20。分支列表中b(b)從50改為40,下一跳改為d;c(c)從85改為40,下一跳改為d;添加g(d) 40,h(d) 40。這時分支列表包含:b(d) 40,c(d) 40,g(d) 40,h(d) 40。添加b(d)到權重列表,權重為40,下一跳為d,並選定b;

三、遍曆b所有串連的節點。這裡分支為b-e 80,b-d 20,由於d已以被添加到權重列表,不再考慮。分支列表中添加e(d) 120。這時分支列表包含:c(d) 40,g(d) 40,h(d) 40,e(d) 120。添加c(d)到權重列表,權重為40,下一跳為d,並選定c;

四、遍曆c。這裡分支為c-f 20,c-d 20,由於d已被添加到權重列表,不再考慮。分支列表添加f(d) 60。這時分支列表包含:g(d) 40,h(d) 40,e(d) 120,f(d) 60。添加g(d) 到權重列表,權重為40,下一跳為d,並選定g;

五、遍曆g。g分支為g-e 20,g-h 50。分支列表修改e(d) 60。這時分支列表包含:h(d) 40,e(d) 60,f(d) 60。添加h(d)到權重列表,權重為40,下一跳為d,並選定h;

六、遍曆h。h分支為h-g 50,h-f 20。g已被添加到權重列表,不考慮;而a-d-c-f和a-d-h-f同為60,下一跳同為d,該新分支與分支列表中的分支並無差異。這時分支列表包含:e(d) 60,f(d) 60。添加e(d)到權重列表,權重為60,下一跳為d,並選定e;

七、遍曆e。分支為e-b 80,e-g 20,由於b、g已在權重列表,分支列表無需改變,為f(d) 60。添加f(d)到權重列表,權重為60,下一跳為d。

八、由於分支列表為空白,因此SPF演算法結束。這時權重列表為:

節點

a

d

b

c

g

e

f

權重

a

d

d

d

d

d

d

下一跳

0

20

40

40

40

60

60

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.