zoukankan      html  css  js  c++  java
  • 31 路由算法.md

    31 路由算法
    路由算法(协议)确定去 往目的网络的最佳路径
    转发表确定在本路 由器如何转发分组
    网络抽象:图
    1571465998710
    点是路由器, 边是链路.
    每段链路的费用可以总是1, 或者是,带宽的倒数、拥塞程度等
    关键问题: 源到目的(如u到z)的最小费用路径是什么?
    路由算法: 寻找最小费用路径的算法
    路由算法分类

    静态路由:

    手工配置
    路由更新慢
    优先级高
    动态路由:

    路由更新快: 定期更新 ; 及时响应链路费用或 网络拓扑变化
    省时省力
    基于全局信息的路由算法:

    所有路由器掌握完整的网络 拓扑和链路费用信息
    E.g. 链路状态(LS)路由算法
    基于分散(decentralized)信息的路由算法:

    路由器只掌握物理相连的邻 居以及链路费用
    邻居间信息交换、运算的迭 代过程
    E.g. 距离向量(DV)路由算法
    链路状态路由算法

    Dijkstra 算法

    所有结点(路由器)掌握网 络拓扑和链路费用  通过“链路状态播”  所有结点拥有相同信息 计算从一个结点(“源”) 到达所有其他结点的最 短路径  获得该结点的转发表 迭代: k次迭代后,得到 到达k个目的结点的最短 路径
    符号

    c(x,y): 结点x到结点y链路费用;如果x和y不直接相 连,则=∞
    D(v): 从源到目的v的当前 路径费用值
    p(v): 沿从源到v的当前路 径,v的前序结点
    N’: 已经找到最小费用路 径的结点集合
    算法

    1571466498346
    算法复杂性: n个结点

    每次迭代: 需要检测所有不在集合N’中的结点w
     n(n+1)/2次比较: O(n2)
    更高效的实现: O(nlogn)
    存在震荡(oscillations)可能:

     e.g., 假设链路费用是该链路承载的通信量:
    1571466831410
    一个数据报可能在这个震荡过程中一直在路径中直到TTL减为0
    距离向量路由算法

    Bellman-Ford方程(动态规划)
    dx(y):=从x到y最短路径的费用(距离)
    1571467079338
    重点:结点获得最短路径的下一跳, 该信息用于转 发表中
    核心思想:

    每个结点不定时地将其自身的DV估计发送给其邻居 .
    当x接收到邻居的新的DV估计时,即依据B-F更新其自身 的距离向量估计:
    1571467327837
    Dx(y)将最终收敛于实际的最小费用 dx(y)
    异步迭代:

    引发每次局部迭代的因素 : 局部链路费用改变  来自邻居的DV更新
    分布式:

    每个结点只当DV变化时 才通告给邻居
     邻居在必要时(其DV更新 后发生改变)再通告它们 的邻居
    每个结点:

    1571467497808
    链路费用变化:

     结点检测本地链路费用变化
     更新路由信息,重新计算距离向量
     如果DV改变,通告所有邻居
    好消息传播快. 坏消息传播慢.
    存在环路时, 可能出现无穷计数问题.
    解决方法1: 毒性逆转

    如果一个结点(e.g. Z)到达某目的(e.g.X)的最小 费用路径是通过某个邻居(e.g.Y),则: 通告给该邻居结点到达该目的的距离为无穷大
    1571468560009
    1571468549107
    毒性逆转不能彻底解决无穷计数问题.
    解决方法2: 定义最大度量(maximum metric)

    定义一个最大的有效费用值,如15跳步,16跳步表示∞
    1571468922251
    层次路由

    将任意规模网络抽象为一个图计算路由-过于理想化
    聚合路由器为一个区域 :自治系统AS (autonomous systems)
    同一AS内的路由器运行 相同的路由协议(算法)
    网关路由器(gateway router): 位于AS“边缘” 通过链路连接其他AS的 网关路由器
    互连的AS

    转发表由AS内部路由算法 与AS间路由算法共同配置
     AS内部路由算法设置 AS内部目的网络路由 入口(entries)  AS内部路由算法与AS 间路由算法共同设置 AS外部目的网络路由 入口
    1571469795254
    自治系统间(Inter-AS)路由任务

    1.学习到哪些目的网络可 以通过AS2到达,哪些 可以通过AS3到达 2.将这些网络可达性信息 传播给AS1内部路由器
    1571469699073
    在多AS间选择

    热土豆路由: 将分组发送给最近的网关路由器
    1571469912168





  • 相关阅读:
    CAP分布式
    专职DBA-MySQL数据库开篇
    os.sep
    DocStrings
    Python如何获取脚本的参数
    LVM基础命令
    VoAndEntityTrans
    短信倒计时
    springboot在eclipse上搭建项目一(无页面)
    springboot问题
  • 原文地址:https://www.cnblogs.com/lee3258/p/11976169.html
Copyright © 2011-2022 走看看