雅那安

拥有正确的价值观,实现自己的人生价值:所作所为有益于人类社会发展。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

参考链接:http://blog.sina.com.cn/s/blog_68268661010166j5.html

 

 

 SPF计算发生在OSPF LSDB到路由表的过程中;OSPF通过接收LSA形成LSDB信息,然后通过SPF计算得出最终的路由表。
SPF计算用到path列表和tentative列表。
以上图中的A为例,描述A的LSDB到路由表的计算过程:
首先,A先把到达A自己的地址,开销,下一跳放到path表中

PATH

TENT

{A,0,0}

{empty}

注:{A,0,A}分别代表目的地址,开销,下一跳。
然后,把到达A所有邻居的地址,开销,下一跳(邻居自己本身)放到TENTative表中。

PATH

TENT

{A,0,0}

{B,6,B}

{C,3,C}

{D,2,D}

然后,找出到所有邻居中开销最小的邻居放到path表中,可以看出,D开销为2,会被放到path列表中

PATH

TENT

{A,0,0}

{D,2,D}

{B,6,B}

{C,3,C}

然后,找出list表中D的所有邻居,从图中可以看出除了A之外还有C,路径A - D - C的开销为2+5=7,路径A-C的开销为3。所以把{C,3,C}放到path表中。

 

PATH

TENT

{A,0,0}

{D,2,D}

{C,3,C}

{B,6,B}

然后,找出list表中的C的所有邻居,从图中可以看出除了A之外还有B,路径A-C-B的开销为3+2,路径A-B的开销为6。所以把{B,6,B}从tentaive表中删除,添加{B,5,C}。

PATH

TENT

{A,0,0}

{D,2,D}

{C,3,C}

{B,6,B}

{B,5,C}

最后,将tentative表中的{B,5,C}放入到path表中,tent表为空,停止计算。

PATH

TENT

{A,0,0}

{D,2,D}

{C,3,C}

{B,5,C}

 

这时的path表项就成了路由表项。

结点

代价

下一跳

A

0

Self

B

5

C

C

3

Connected

D

2

Connected

posted on 2021-02-03 13:15  雅那安  阅读(190)  评论(0编辑  收藏  举报