文章目录
计算机网络——网络层(四)
十四、链路状态路由选择
距离矢量路由站的不高,看的不远,完全相信他的邻居。
链路状态路由选择力图站的足够高、足够远来避免距离矢量的问题。
14.1 主要思想
- 发现:发现他的邻居节点,了解他们的网络地址。
- 设置:到它的每个邻居的成本度量。
- 构造:一个分组,包含他所了解的所有信息。
- 发送:这个分组给所有其他的路由器。
- 计算:到每个路由器的最短路径。
发现
当一个路由器启动的时候,在每个点到点的线路发送一个特别的hello分组。
收到hello分组的路由器应该会送一个应答,应答中有它自己的名字。
设置链路成本
- 路由器发送一个特别的echo分组,另一端立刻回送一个应答,通过测量往返的时间,发送路由可以获得一个合理的延迟估计值。
- 另一种常用的选择是链路带宽(反比)。
构造链路状态分组
分组包含如下信息
- 发送方的标识
- 序列号
- 年龄
- 邻居列表
- 到邻居的成本
发布分组
- 每个分组都包含一个序列号,序列号随着分组产生递增。
- 路由器记录所有看到的 原路由器-序列号 对。
- 当新分组到达时,若分组是新的,就从除了来的线路泛洪出去。若是重复分组,则被丢弃。如当前序列号比之前接收过的还小,则会当做过时信息丢弃。
发布过程中的问题及解决:
- 序列号回转:使用32位序列号。
- 如果一个路由崩溃,那么他将丢失自己的序列号记录,如果他再从0开始,新分组将被当做旧分组被拒绝。
- 如果一个系列号被破坏了,比如发方的序列号是4,但是由于产生了一位错误,序列号被看做是64450,那么,序列号5-65540的分组都被当做过时分组拒绝。
解决路由崩溃和序列号破坏:
- 每个分组序列号后面的年龄每秒钟减1
- 当年龄为0,该路由的信息被丢弃。
算法改进
计算路径
- 一旦一个路由器获得了全部的链路状态分组,就可以构造出全部的网络图了。
- 可以使用最短路径算法来计算路径之间的最短路径。
- 计算机结果是一棵树,会形成相应的路由,安装在路由表中,引导数据分组的转发。
14.2 特点
十五、单区域OSPF
L-S路由协议的实例——开放的路径优先(OSPF)
使用图来表述真实的网络。
计算最短路径。
15.1 特点
- OSPF可以在大型网络中使用
- 无路由自环
- OSPF支持VLSM、CIDR等
- 使用带宽作为度量值
- 收敛速度快
- 通过分区实现高效的管理
15.2 重要术语
15.3 OSPF代价
15.4 OSPF分组类型
15.5 OSPF运行步骤
例:两台路由RT1和RT2,互相不认识。
- RT1发送hello报文
- RT2发送一个hello应答报文
- 3~9为双方互相发送自己掌握的LSP数据库,为了节约带宽,发送的是含有LSP摘要信息的DD报文。
- 然后将收到的摘要和自己掌握的LSP进行比较,若自己没有但是对方有的LSP,就会发送LSR报文请求完整的LSP。
- 收到 LSR报文的路由会将完整的LSP封装在LSU报文进行应答。
- 收到LSU的路由会回发一个LSAck报文进行应答。
- 结束的时候,双发会建立一个全毗邻的关系,拥有的LSP数据库完全一样。
15.6 选举DR和BDR
十六、无类域间路由CIDR
16.1 概述
CIDR的基本思想:分配IP地址不再以类别来分,而是按照可变长的地址块来分配。
例
使用CIDR路由后,路由表必须扩展,增加一个32位的子网掩码。
所以每个路由表有一个三元组(IP地址、子网掩码、输出线)。
当路由表中有两个表项匹配,选择子网掩码长的匹配项。(最长前缀匹配)
16.2 计算可用的IP地址
CIDR控制、缩减了路由表的规模。
16.3 路由聚合
十七、网络地址翻译NAT
17.1 概述
17.2 工作原理
带来的问题
无NAT服务的网络中使用的私有地址,私网内部可以进行通信,私网之间不同通信。