计算机网络期末复习——第4章:网络层 Part Three

目录

  • [4.5 路由选择算法](#4.5 路由选择算法)
    • [4.5.1 优质路径](#4.5.1 优质路径)
    • [4.5.2 分类](#4.5.2 分类)
    • [4.5.3 链路状态(LS)路由选择算法](#4.5.3 链路状态(LS)路由选择算法)
    • [4.5.4 距离向量(DV)路径选择算法](#4.5.4 距离向量(DV)路径选择算法)
    • [4.5.5 对比LS和DV](#4.5.5 对比LS和DV)
    • [4.5.6 层次路由选择(Hierarchical routing)](#4.5.6 层次路由选择(Hierarchical routing))
  • 4.6因特网中的路由选择
    • [4.6.1 因特网中的intra-AS路由选择](#4.6.1 因特网中的intra-AS路由选择)
    • [4.6.2 因特网中的inter-AS路由选择](#4.6.2 因特网中的inter-AS路由选择)

4.5 路由选择算法

4.5.1 优质路径

  1. 成本低

  2. 速度快

  3. 拥塞少

4.5.2 分类

  1. 全局or分散

    a. 全局式路由选择算法(global routing algorithm)

    • 用完整的、全局性的网络制式计算出源到目的地之间的最低开销路径

    • 具有完整的拓扑和链路开销信息

    • 如链路状态(Link State,LS)算法

    b. 分散式路由选择算法(decentralized routing algorithm)

    • 路由器仅知道相邻节点和与其相连的链路成本

    • 迭代计算并与相邻节点进行信息交换

    • 如距离向量(Distance-Vector,DV)算法

  2. 静态or动态

    a. 静态路由选择算法(static routing alogrithm)

    • 路由随时间变化十分缓慢

    b. 动态路由选择算法(dynamic routing algorithm)

    • 路由随着网络流量负载或拓扑变化而变化

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

  1. 基本思想

    • 通过广播全网拓扑信息,让每个路由器独立计算到其他路由器的最短路径树(sink tree)

    • 由链路广播(link state broadcast)算法完成

  2. 执行步骤

    Step1:发现相邻节点

    • 发送HELLO包到点对点线路

    • 另一端路由器回复

    Step2:测量相邻节点链路成本

    • 测量相邻节点时延

    • 发送ECHO包测量往返时延

    • 多次测量取平均值

    • 是否考虑本地负载

    • 包含本地负载:计时从ECHO包入队开始

    • 忽略本地负载:计时从ECHO包到达队列前端开始

    Step3:创建链路状态包

    • 包含发送方标识,序号,生存时间,相邻节点列表

    • 触发时机

    • 定期触发

    • 重大网络事件发生

    Step4:将包发送到所有其他路由器

    Step5:计算到其他每个路由器的最短路径(Dijkstra)

    • 时间复杂度O(n^2),堆结构可优化至O(nlogn)

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

  1. Bellman-Ford动态规划方程

    流程

    1. 设置初始距离估计值

    2. 周期性更新

      • 向相邻节点发送本地距离向量

      • 接收相邻节点的距离向量更新

    3. 向量计算

    4. 两次计算结果相同时停止

    特性

    1. 迭代的

      • 每次本地迭代原因

        • 本地连接成本改变

        • 来自相邻节点的距离向量更新报文

    2. 异步的

      • 节点独立计算,不全局同步
    3. 分散的

      • 节点只在其距离向量更新才通知相邻节点

4.5.5 对比LS和DV

  1. 报文复杂度

    • LS:N个节点,E个链路,O(NE)

    • DV

      • 仅相邻节点交换

      • 收敛时间不同

  2. 收敛速度

    • LS:O(n^2)

    • DV:收敛慢,变化大

  3. 健壮性

    • LS

      • 节点会错误计算链路成本

      • 节点错误只影响自己

    • DV

      • 节点会错误计算链路成本

      • 错误会传播全网

4.5.6 层次路由选择(Hierarchical routing)

  1. 问题

    • 存储大规模路由表项

    • ISP希望管理自治

  2. 解决

    自治系统(Autonomous System,AS),也叫域(domain)

  3. 因特网的可扩展路由选择(层次)

    • 自治系统内(intra-AS)路由选择

      • 同一AS内的主机和路由器进行路由选择

      • 同一AS所有路由器运行相同协议

      • 不同AS可运行不同协议

    • 自治系统间(inter-AS)路由选择

      • AS之间进行路由选择

      • 网关执行域间路由选择(也执行域内路由选择)

  4. 互联(interconnected)AS

    AS内和AS间路由选择算法共同配置转发表

    • AS内路由决定AS内部目的地的项

    • AS内和AS间路由决定外部目的地的项

  5. 对于某AS1的路由器,如何把包路由选择到该AS1外的目的地

    AS1必须

    • 知道经AS2可到哪些目的地,经AS3可到哪些目的地

    • 向AS1所有路由器传播这些可达信息,因此每台路由器可配置其转发表以处理AS外目的地

  6. 热土豆路由选择(hot potato routing)

    若经多个路由可到达目的地,则将包发送到最近的路由

4.6因特网中的路由选择

4.6.1 因特网中的intra-AS路由选择

  1. 路由选择信息协议(RIP)

    a. 基于DV算法

    b. 用UDP封装报文

    c. 使用跳数来衡量到达目的网络的距离

    • 路由器到直连网络距离为1

    • 一条路径最多15个路由器,16代表不可达:因此RIP只适用于小型互联网

    • 好的路由是通过路由器最少的路由

    d. 相邻节点每30秒交换一次RIP响应报文(RIP response message),包含该AS多达25个目的子网的列表,又叫RIP通告(RIP advertisement)

    • 仅和相邻路由器交换

    • 周期性交换

    • 交换路由表

    e. 链路故障与恢复

    • 180秒没收到更新则认为相邻节点失效

    • 修改本地路由表,向依然可达的相邻节点发送通告

  2. 开放最短路径优先(OSPF)

    a. 基于LS算法

    b. 用IP封装报文

    c. 和IS-IS路由选择协议几乎一样

    d. 基本原理

    • 不限制网络规模,收敛速度快(收敛:所有路由表信息达成一致)

    • 采用SPF算法计算路由,保证不会产生路由环路

    • 每个节点维护完整拓扑图

    • 链路状态通告交换信息

      • 链路状态:路由器和哪些路由器相邻,以及链路的cost
    • 使用Dijkstra计算sink tree,保证不会产生路由环路

    e. 优点

    • 安全:所有OSPF消息都要认证

    • 多条相同成本的路径(RIP仅一条):无需选择单一路径

    • 支持单播和多播

    • 支持在单个路由选择域内的层次结构

    f. 其他

    • 分组类型

      • Hello分组

      • Database Description分组

      • Link State Request分组

      • Link State Update分组

    • 邻居关系建立

      • 选举DR和BDR

      • 所有非DR/BDR只与DR/BDR建立邻居关系,且非DR/BDR通过DR/BDR交换信息

4.6.2 因特网中的inter-AS路由选择

边界网关协议(BGP)

  1. 基于路径向量算法

  2. 用TCP封装报文

    两个路由器通过半永久TCP连接交换信息

  3. 让每个AS可以

    • eBGP:从相邻AS获得子网可达性信息

    • iBGP:向本AS内部的所有路由器传播这些可达性信息

    • 基于可达性信息和AS策略决定到达子网的好路由

    • 每个子网都可以像因特网其余部分通告其存在

  4. 属性

    • 前缀+属性=路由

    • AS-PATH:记录前缀通告经过的AS列表

    • NEXT-HOP:指定下一跳AS的内部路由器

  5. 基于策略的路由

    • 接收路由通告的网关根据导入策略是否决定接受路径

    • AS策略决定是否向其他相邻AS通告该路径

  6. BGP路由选择(有多条目标AS路径)

    • 本地优先级属性值(策略决定)

    • 最短AS-PATH

    • 最近NEXT-HOP路由器(热土豆路由)

    • 其他标准

  7. intra-AS和inter-AS路由选择的差异

    a. 策略

    • intra:单一管理员,无需控制流量路径和转接策略

    • inter:管理员需要控制流量路径和转接策略

    b. 规模

    • intra:无压力

    • inter:用分层路由节省表空间

    c. 性能

    • intra:可优化性能

    • inter:策略可能优先于性能

  8. 其他

    a. 基本原理

    • 选择BGP发言人

    • 发言人之间建立TCP连接交换信息

    b. 四种报文

    • OPEN报文

    • UPDATE报文

    • KEEPALIVE报文

    • NOTIFICATION报文

    c. 构造树形连通图


相关推荐
宵时待雨2 小时前
数据结构(初阶)笔记归纳3:顺序表的应用
c语言·开发语言·数据结构·笔记·算法
智者知已应修善业2 小时前
【C语言 dfs算法 十四届蓝桥杯 D飞机降落问题】2024-4-12
c语言·c++·经验分享·笔记·算法·蓝桥杯·深度优先
23zhgjx-zgx3 小时前
SQL注入攻击分析报告
网络·sql·ctf
whale fall3 小时前
【雅思听力语料库5.1】
笔记·学习
西西学代码3 小时前
aa---(9)
笔记
Xの哲學3 小时前
Linux SKB: 深入解析网络包的灵魂
linux·服务器·网络·算法·边缘计算
擎天柱工坊3 小时前
RK3576硬件设计全套讲解笔记1-整体硬件系统原理图详解
笔记·嵌入式硬件·硬件工程
西西学代码4 小时前
aa---(6)
笔记
半夏知半秋4 小时前
kcp学习-skynet中的kcp绑定
开发语言·笔记·后端·学习