网络课笔记整理——网络层:路由算法和路由协议

一、路由算法

二、路由协议



一、路由算法

1、网络中的路由选择:
a、根据分组的目的地址选择路径:
  • 数据报方式,每个分组要在途径的节点上被单独选路
  • 虚电路的方式:在建立连接时要进行选路

    • b、路由选择考虑的主要因素
      • 正确性、简洁性、稳健性等等
      • 性能评估准则:用于路由选择,一般为最小代价,最简单的为最小跳数。代价可以与带宽、延迟、拥塞有关,但是由于我们在计算代价的时候都是将不同的路径的代价直接相加,所以一般代价应该不能为带宽,因为带宽相加是没有意义的。
      2、路由算法
      a、Flooding——泛洪
      • 不需要网络的信息
      • 由源节点将分组发送给其临近的节点
      • 节点收到分组之后,在除接收链路之外的所有链路上转发,例如交换机的自学习算法
      • 最终,分组的多个备份可能会到达目的节点
      • 每个分组有唯一的一个序列号,以消除重复的分组
      • 节点可以记住那个分组曾经被转发过,将网络负载控制在一定的范围内
      • 在分组中可以包含有关跳数的信息,一般是设置一个值,每当经过一个路由器的时候就将这个值减一,当这个值减少为0的时候说明这个分组已经经过了足够的跳数,那么就不再转发这个分组

      优点:
      • 尝试了所有可能的路由,很稳健
      • 可以获得最小跳数的路由,可用于建立虚电路
      • 可以获得所有结点信息
        • 缺点:
          多次复制并转发分组,增加了网络的负载。
          例子:
          ppt上的例子分析:首先数字表示的应该是限制其跳数的上限,开始的时候1结点进行泛洪将数据发送给其所有的邻接结点,也就是2,3,4结点,这时候将数字减一,所以2,3,4收到的跳数的数字为2.然后每个节点泛洪, 但是注意的是其不会再发给接收链路上的节点,所以2,3,4在发送的时候都不会发送给1。现在从接收的角度看,2接收了3和4发送给自己的包,那么就会有两次泛洪,一次不发送给3,一次不发送给2,所以1接受了两个,3,4各自接收了一个,从这里也可以看出泛洪会使结点收到多余的数据。其余的也是这样分析

b、 最短路径算法:集中式算法,也就是说路由器有全部的拓扑结构即链路代价的完整信息,Dijkstra算法。

Dijkstra算法:

  • 所有的节点已知网络拓扑以及链路的代价——通过:链路状态广播获得,所有的节点有相同的信息。
  • 计算从一个源节点到其他所有结点的代价最小的路径,给出对应结点的转发表转发表值记录的只是这个节点到其他结点的下一步,也就是里自己最近的一步应该怎样跳转
  • 迭代:经过k次迭代,获得到k个目的节点的最小代价路径
c、矢量距离算法:分布式算法:路由器知道其邻居结点,以及它到邻居结点的代价,计算的这是与邻居结点交换信息通过迭代来逐渐获得整个网络的信息,获得最小的代价的路径。
Bellman-Ford算法:
  • 定义dx(y)为从x到y的最小的代价,遍历所有x的邻居结点,记录通过那个邻居结点到达y的代价最小,那么取最小的节点作为最短路径上的下一跳,得到转发表。
  • 距离矢量算法的关键是:利用邻居结点来更新我的跳转表,同时将我的更新的内容发给邻居结点,让邻居结点也进行更新,当不能再进行更新的时候,那么就说明找到了最好的路径。

二、路由协议:

1、RIP:基于距离矢量的分布式路由协议
跳数是经过的路由器数目加一
2、OSPF:基于最短路径的集中式路由协议
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值