电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

链路状况算法怎样算?链路状况路由算法图解

2017-05-07 20:58分类:电子技术 阅读:

 

在一个链路状况路由挑选中,一个结点查看悉数直接链路的状况,并将所得的状况信息发送给网上悉数的别的的结点,而不只仅是发给那些直接相连的结点。每个节点都用这种办法,悉数别的的结点从网上接纳包含直接链路状况的路由信息。每逢链路状况报文抵达时,路由结点便运用这些状况信息去更新自个的网路拓扑和状况“视界图”,一旦链路状况发作改动,结点对跟新的网络图运用Dijkstra最短途径算法从头核算路由,从单一的报源宣告核算抵达悉数的结点的最短途径。


链路状况路由算法有三个特征:
1.向本自治体系中的悉数路由器发送信息。这儿运用的办法是洪泛法(Flooding),即路由器通过悉数的输出端口向悉数的相邻路由器发送信息。而每一个路由器又将此信息发往其悉数的相邻的路由器(但不包含刚刚发来信息的那个路由器)。
2.发送的信息即是本路由器相邻的悉数路由器的链路状况,但这仅仅路由器所知道的有些信息。所谓“链路状况”即是阐明本路由器和那些路由器相邻,以及该链路的“衡量”(Metric)。关于OSPF,链路状况的“衡量”首要用来标明费用、间隔、时延、带宽等。
3.只需当链路状况发作改动时,路由器才用洪泛法向悉数路由器发送此信息。
链路路由算法分为下列5步:
(1)每个路由器发现它的街坊节点,并了解街坊节点的网络地址
(2)设置到每个街坊节点的间隔或许本钱衡量值
(3)结构一个包含悉数取得的链路向信息包
(4)将这个链路信息包发送给网络中别的路由器,一同也承受别的路由器发送过来的链路信息包
(5)核算出到别的路由器的最短途径(这一步就会运用到基地算法Dijkstra算法)
下面将详细介绍每一步的细节:
1、发现街坊:

当一个路由器主张时,路由器会找出哪些路由器是它的街坊。完毕这个的办法即是在每一条点到点线路上发送一个分外的HELLO数据包。然后线路的别的一个路由器做出一个答复。

2、设置链路本钱:

一种常用的办法即是使本钱和链路带宽成反比,越高带宽的本钱越低,这么能够使高容量的途径变成路由器十分好的挑选。假定网络是在地舆上懈怠的,那么能够将推延作为本钱的构成有些,推延高的本钱也高,这么能够找出推延最低的途径。

3、结构链路状况包:

状况包中包含了这些内容:发送方的标识符,序号,年岁,街坊列表。

4、分发链路状况包:

路由器将会进行记载,假定是个新的数据包,那么就转发它,假定是个重复的数据包,就扔掉,假定数据报的序号小于其时所看到的最大的序号,那么就作为过期的数据包而回绝承受。

5、核算新路由:

每条链路或许被标了解两次,每个方向或许纷歧样。也即是说实习状况中,A到B的和B到A的最短途径或许是纷歧样的。这儿行将详细介绍下当每个路由器收到了链路状况包往后怎样去核算到网络中别的路由器的最短途径(Dijkstra算法):

Dijkstra算法是一种迭代算法,它的性质是通过算法的第K次迭代往后,能够知道到K个意图结点的最低费用处径。咱们先界说下列符号,意图是为了十分好地了解算法的内容:

D(v):到算法的本次迭代,从源节点到意图结点v的最低费用处径的费用

p(v):从源结点到意图结点v的最短途径中倒数第二个结点(也即是v结点之前的结点)

N ' :结点子集,假定从源节点到某个结点的最低费用处径现已供认,那么这个结点就应当添加到N '中

下面就用伪代码描写下Dijkstra算法的详细完毕,该算法由一个初始化进程和后边的循环构成。循环的次数和网络中的结点个数一样。
// Initialization
N ' = {u}
for all nodes v
if v is a neighbor of v
then D(v) = c(u,v)
else D(v) = max

// Loop
find w not in N ' and D(w) is a minium
add w to N '
update D(v) for each neighbor v of w and v is not in N '
D(v) = min( D(v) , D(w) + D(w,v) )
until N ' = N

上一篇:qos的三种模型及协议

下一篇:光纤收发器怎样接线_光纤收发器联接图解

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部