距离向量算法
发布时间:2014/8/31 20:55:56 访问次数:716
对每一个相邻路由器发送过来的RIP报文,进行以下步骤:
(1)对地址为x的相邻路由器发来的RIP报文,先修改此报文中的所有项目: E5CN-HQQ2B把“下一跳”字段中的地址都改为x,并把所有的“距离”字段的值加1(见后面的解释1)。每一个项目都有三个关键数据,即:到目的网络N,距离是d,下一跳路由器是X。
(2)对修改后的RIP报文中的每一个项目,进行以下步骤:
若原来的路由表中没有目的网络N,则把该项目添加到路由表中(见解释2)。
否则(即在路由表中有目的网络N,这时就再查看下一跳路由器地址)若下一跳路由器地址是X,则把收到的项目替换原路由表中的项目(见解释3)。
否则(即这个项目是:到目的网络N,但下一跳路由器不是X)
若收到的项目中的距离d小于路由表中的距离,则进行更新(见解释4),否则什么也不做(见解释5)。
(3)若3分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器,即把距离置为16(距离为16表示不可达)。
(4)返回。
上面给出的距离向量算法的基础就足Bellman-Ford算法(或Ford-Fulkerson算法)。这种算法的要点是这样的:
设X是结点A到B的最短路径上的一个结点。若把路径A—B拆成两段路径A-X和X—B,则每一段路径A—X和X—B也都分别是结点A到X和结点X到B的最短路径。
下面是对上述距离向量算法的五点解释。
对每一个相邻路由器发送过来的RIP报文,进行以下步骤:
(1)对地址为x的相邻路由器发来的RIP报文,先修改此报文中的所有项目: E5CN-HQQ2B把“下一跳”字段中的地址都改为x,并把所有的“距离”字段的值加1(见后面的解释1)。每一个项目都有三个关键数据,即:到目的网络N,距离是d,下一跳路由器是X。
(2)对修改后的RIP报文中的每一个项目,进行以下步骤:
若原来的路由表中没有目的网络N,则把该项目添加到路由表中(见解释2)。
否则(即在路由表中有目的网络N,这时就再查看下一跳路由器地址)若下一跳路由器地址是X,则把收到的项目替换原路由表中的项目(见解释3)。
否则(即这个项目是:到目的网络N,但下一跳路由器不是X)
若收到的项目中的距离d小于路由表中的距离,则进行更新(见解释4),否则什么也不做(见解释5)。
(3)若3分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器,即把距离置为16(距离为16表示不可达)。
(4)返回。
上面给出的距离向量算法的基础就足Bellman-Ford算法(或Ford-Fulkerson算法)。这种算法的要点是这样的:
设X是结点A到B的最短路径上的一个结点。若把路径A—B拆成两段路径A-X和X—B,则每一段路径A—X和X—B也都分别是结点A到X和结点X到B的最短路径。
下面是对上述距离向量算法的五点解释。
上一篇:RIP协议的特点
上一篇:距离向量算法的五点解释