zoukankan      html  css  js  c++  java
  • 《计算机网络》课程笔记 (Ch05-网络层:控制平面)

    控制平面的主要职责是如何计算和维护路由转发表。

    路由选择算法

    从发送方到接收方确定一条代价最优的路径。

    分类

    • 集中式 / 分布式

      前者知道完整、全局的网络信息,后者只知道与其直接相连链路的开销。

    • 动态 / 静态

      动态算法会随着网络情况变化,但可能有路由震荡问题(频繁改变路由)。

    • 负载敏感 / 负载迟钝

      链路开销是否明确反映拥塞水平。目前主流算法均是负载迟钝的。

    链路状态路由选择算法(LS算法)

    是集中式的算法。可采用Dijkstra算法实现。

    两个集合S、U = Σ - S。Σ 表示全顶点集,S 称为已确定最短路的顶点数组,U 是未确定的。

    初始,S 只包含起点。初始化 dis[|Σ|] 数组用于表示起点到该点的最短距离。

    • 从 U 中选出“当前最近的顶点 k ”,将顶点 k 加入 S ,从 U 中移除 k 。

    • 利用 k 更新 U 中各个顶点到起点s的距离。d(s, v) = min(current, (s,k) + (k,v))。

    重复上述两步,直到遍历完所有顶点。

    如果需要同时获得具体路径,则在第二步更新时,在距离上附带来源顶点即可。

    问题 - 路由震荡

    当链路开销等于链路上承载的负载时,可能造成路由的反复变化。

    距离向量路由选择算法(DV算法)

    是分布式的算法。可采用Bellman-Ford算法实现。

    节点 x 维护一个距离向量[dis(x→y) : y є N ], 表示 x 到 N 中任意节点 y 的开销估计向量,其到任意邻居 v 的开销为 c(x, v) 。

    当 x 发现它的直接相连的链路开销发生变化, 或从某个邻居接收到一个距离向量的更新时, 就会利用 Bellman-Ford 方程更新自己的距离向量。如果确实有变化, 则向邻居发送更新后的距离向量。

    Bellman-Ford 方程:dis(x→y) = min {c(x, v) + dis(v→y)} through all v

    问题

    链路开销变化时,好消息传得快,坏消息传的慢,可能导致无穷计数问题(出现路由选择环路:为了到达x,y要经过z,z又要经过y)。

    处理方法:毒性逆转。如果z通过y路由到达x,则z告诉y它到x的距离是无穷大。这可以解决两个直接相连的邻居节点的无穷计数问题。

    LS与DV的比较

    • DV是分布式的,LS的集中式的
    • DV算法收敛较慢,可能遇到选路环路和无限计数问题
    • LS算法中若有路由器故障广播不正确的开销,因每台路由器只计算自己的转发表,故影响有限;DV算法中一个不正确的计算结果会扩散到整个网络

    AS内部的路由选择 - OSPF

    AS:自治系统。由于网络规模越来越大,不可能在全体主机之间运行路由选择算法,而要分层分级,ISP之间运行一个,ISP之内运行一个。这样ISP也可以隐藏自己的网络细节。

    开放路由最短路径优先协议OSPF就是AS内部的路由选择策略之一。采用的是LS算法。

    路由器会将OSPF连接状态通告所有其他路由器,并且每当一条链路状态发生变化,路由器就会广播链路状态信息。即使链路状态未发生变化, 它也要周期性地广播链路状态。

    AS之间的路由选择 - BGP

    边界网关协议BGP是AS之间的路由选择策略。它在AS内部运行iBGP会话,在AS之间运行eBGP会话。

    上图表示了连接关系和通告子网X的通告流程——内部通告、AS间通告。

    有时候,网关路由器可能获得到达某个目的地的多条路径,这时需要使用BGP的路由选择算法来决定。具体有如下几种策略:

    • 本地偏好策略:根据AS的网络管理员设定
    • 最短AS-PATH:通过最少的AS的路径
    • 热土豆路由选择:用最低开销把分组送出该AS,不考虑域间的开销(烫手山芋,尽快丢出去)

    SDN控制平面

    软件定义网络SDN的主要思想是让配置网络像配置软件一样简单、可伸缩。SDN体系结构有四个特征:

    • 基于流的转发(传统网络是基于目的地的转发)
    • 数据平面与控制平面分离
    • 网络控制功能位于数据平面交换机外部
    • 可编程的网络

    ICMP

    即因特网控制报文协议。主机和路由器用来交互网络层信息。虽然装在IP数据报中,但它是网络层协议。

  • 相关阅读:
    .net core 反编译一小段
    .net core 自动注入。。。。懵逼。。
    css 过渡效果
    sqlserver 插入语句
    sqlserver 删除表 外键
    关于selenium的CI、框架……
    浅析selenium的PageFactory模式
    java使用IO读写文件总结
    selenium结合sikuliX操作Flash网页
    记阿里巴巴的一次面试
  • 原文地址:https://www.cnblogs.com/zxuuu/p/12977956.html
Copyright © 2011-2022 走看看