计网基础-网络层之路由

路由和转发的关系

路由算法:确定去往目的网络的最佳路径

转发表:确定在本路由器如何转发分组

 

路由算法——>网络抽象:图 

weight = 权值/权重

选取最佳路径:权值越小越好

 


 

 

Q:如何求源到目的的最小费用路径?

A:最小路径算法

 

路由算法:(最小路径算法即动态路由算法

第一类:静态路由和动态路由

注意 ,现在的网络一般是动态路由。

 

第二类:全局信息和分散信息

LS:链路状态路由算法

DV:距离矢量路由算法

 


 

LS:链路状态路由算法

基于dijkstra算法,该算法要求某一点到达另一点的最短路径,需要掌握这张图完整的拓扑信息

Q:那么每一个路由器,如何来掌握一整张图,即掌握网络拓扑和链路费用?

A:每一个路由器都要构造一个链路状态分组,并且进行广播,即通过“链路状态广播”‘;当所有路由器收集全了网络中的所有链路状态分组,即能构造出该网络完整的拓扑。

①链路分组包括的信息(该路由器,与之相邻的所有路由器的ip地址,以及直接相邻的链路的费用);

②链路状态广播,实际上使用的是扩散或者泛洪的方式,先发给邻接路由器,再发给邻接的邻接

注意,当然这个过程中需要使用一些机制来控制它的大量繁殖,避免出现网络瘫痪的问题。

算法实现:

 

注意,迭代是k次迭代之后,得到到达k个目的结点的最短路径

 


 

DV:距离矢量路由算法distance vector

基于动态规划,bellman-ford方程

特点:不需要知道整个网络的拓扑,只需要知道邻接路由器之间的费用,以及将该邻接路由器距离最短的邻接路由器(邻接的邻接)告知本路由器,即可基于bellman-ford方程规划获知通过哪一个邻接路由器到达目的节点的最短路径

 

实现:

重点:节点可以获得最短路径的下一跳,该信息用于转发表中

 

DV路由算法的特点

1、异步迭代

每一个路由器并不是同步迭代,同步结束,

首先引发每次局部迭代的因素主要是(①局部链路费用改变,②来自邻居的DV更新)

 

2、分布式算法

每一个路由器都是根据它自身的链路的费用的变化、接收到新的距离向量进行计算,计算的结果可能导致自身的距离向量DV发生变化(或不发生变化),发生变化则一定要通知给邻居(邻接路由器)

 

算法描述:

针对每一个节点:

 

 

 

posted @ 2018-06-27 16:53  hoanfir  阅读(502)  评论(0编辑  收藏  举报