990 likes | 1.2k Views
第三章. IP 路由技术. IP 路由原理. 直 连路由与静态路由. 动态路由协议基本原理. RIP 路由协议. OSPF 路由协议. Contents. IP 路由原理. 直 连路由与静态路由. 动态路由协议基本原理. RIP 路由协议. OSPF 路由协议. Contents. 什么是路由. 什么是路由 路由器提供了在异构网络中的互连机制,实现将数据包从一个网络发送到另一个网络。路由就是指导 IP 数据包发送 的路径信息。. 路由选路. 路由选择表项必须包括下面两个项目: 目的地址 指向目的地的指针
E N D
第三章 IP路由技术
IP路由原理 直连路由与静态路由 动态路由协议基本原理 RIP路由协议 OSPF路由协议 Contents
IP路由原理 直连路由与静态路由 动态路由协议基本原理 RIP路由协议 OSPF路由协议 Contents
什么是路由 • 什么是路由 • 路由器提供了在异构网络中的互连机制,实现将数据包从一个网络发送到另一个网络。路由就是指导IP数据包发送的路径信息。
路由选路 • 路由选择表项必须包括下面两个项目: • 目的地址 • 指向目的地的指针 • 最精确的匹配,按程序递减的顺序,排列如下: • 主机地址(主机路径) • 子网 • 一组子网(一条汇总路由) • 主网号 • 一组主网号(超网) • 缺省地址
路由选路(续) • 路由选择表的网络栏目列出了路由器可达的网络地址,指向目标网络的的指针在下一跳栏目
路由的基本概念 • 距离矢量路由协议与链路状态路由协议 • 工作方式 • 区别 • 有类路由协议与无类路由协议 • 概念 • 区别 • 路由协议的比较 • 更新方式 • 特点
有类路由协议与无类路由协议 • 有类路由协议 • 有类路由协议在网络宣告时不带子网掩码 • 在同一网络中,子网掩码保持一致 • 在网络的边界上交换汇总路由信息 • 典型的有类路由协议 RIPV1 IGRP
有类路由协议与无类路由协议 • 无类路由协议 • 无类路由协议在网络宣告时带有子网掩码 • 无类路由协议支持变长子网掩码 • 在网络中,无类路由协议可以手动控制汇总路由 • 典型的无类路由协议 RIPV2 OSPF IS-IS
路由协议的比较 • 距离矢量还是链路状态? • 静态路由还是动态路由? • 有类路由还是无类路由? • 考虑网络规模 • 考虑网络需求 • 考虑可扩展性
IP路由原理 直连路由与静态路由 动态路由协议基本原理 RIP路由协议 OSPF路由协议 Contents
静态路由配置 • 配置命令 • ip routenetwork-number network-mask {ip-address | interface-id [ip-address ] } [ distance ] [ enabled | disabled|permanent|weight | tag ]
静态路由配置示例 • 实施静态路由选择的过程共有3步: • 第一步:为互联的每个数据链路确定地址(包括子网和网络) • 第二步:为每个路由器标识所有非直连的数据链路 • 第三步:为每个路由器写出关于每个非直连数据链路的路由说明
浮动静态路由 • 浮动静态路由不能被永久的保存在路由选择表中,它仅仅会出现在一种特殊的情况下,即在一条首选路由发生失败的时候。浮动静态路由主要考虑到链路的冗余性能。
负载均衡 • 负载均衡可以是等价或非等价的,这里的代价(cost)是一个通用术语,它指的是与路由相关联的度量。 • 等价负载均衡(Equal-Cost Load Sharing)——将流量均等地分布到多条度量相同的路径上。 • 非等价负载均衡(Unequal-Cost Load Sharing)——将报文分布到不同度量的多条路径上,各条路径上分布的流量与路由代价成反比,也就是说,代价越低的路径分配的流量越多,代价越高的路径分配的流量越少。
负载均衡 • 负载均衡有两种方式:基于目标网络和基于报文。 • 基于目标网络的负载均衡和快速交换 • 基于报文的负载均衡和过程交换
IP路由原理 直连路由与静态路由 动态路由协议基本原理 RIP路由协议 OSPF路由协议 Contents
动态路由协议基础知识 • 路由协议:通过提供共享路由选择信息的机制来支持被动路由协议。路由选择协议消息在路由器之间传送。路由选择协议允许路由器与其他路由器通信来修改和维护路由选择表,如RIP路由协议。 • 被动路由的协议:是任何在网络层地址中提供了足够信息的网络协议,该网络协议允许将数据包从一个主机转发到以地址方案为基础的另一个主机,如IP协议。
路径决策 • 路由决策 • 如果其中有一个路由器链路失效了,如何通过其它路由器转发数据呢? • 到达同一目标网络出现了两路径,哪个路径又是最优的呢? • 什么机制可以确保所有路由器能顺利接收到所有的路由信息,而且这种机制怎样可以阻止更新报文在互联网中无休止地循环下去呢?
度量 • 度量是指派给路由的一种变量,作为一种手段,度量可以按最好到最坏,或按最先选择到最后选择对路由进行等级划分。 • 跳数(hop count) • 带宽(bandwidth) • 负载(Load) • 时延(Delay) • 可靠性(Reliability) • 代价
收敛 • 收敛:使所有路由选择表都达到一致状态的过程。 • 收敛时间:全网实现信息共享以及所有路由器计算最优路径所花费的时间的总和。 • 在任何路由选择协议里收敛时间都是一个重要的因素,在拓扑发生变化之后,一个网络收敛速度越快,说明路由选择协议越好。
动态路由协议的分类 • 按运行的区域范围分为: • Interior Gateway Protocol(IGP):内部网关协议,用来在同一个自治系统内部交换路由信息。 • Exterior Gateway Protocol(EGP):外部网关协议,用来在不同的自治系统间交换路由信息。 • IGP内根据路由选择协议的算法不同分为: • 距离矢量(Distance Vector):根据距离矢量算法,确定网络中节点的方向与距离。包括:RIP路由协议及IGRP(cisco私有协议)路由协议。 • 链路状态(Link-state):根据链路状态算法,计算生成网络的拓扑。包括:OSPF路由协议与IS-IS路由协议。
距离矢量路由协议与链路状态路由协议综述 • 距离矢量路由协议 • 路由以矢量(距离,方向)的方式被通告出去 • 链路状态路由协议 • 链路状态路由器从对等路由器那里获取第一手信息
距离矢量路由协议 • 距离矢量名称的由来是因为路由是以矢量(距离、方向)的方式被通告出去,其中距离是根据度量定义的,方向是根据下一跳路由器定义的。 • 通用属性 • 定期更新(Periodic Updates) • 邻居(Neighbours) • 广播更新(Broadcast Updates) • 路由失效计时器 • 水平分割(Split Horizon) • 计数无穷大 • 触发更新(Triggered Upadte) • 抑制定时器(Holddown Timer) • 异步更新(Asynchronous Update)
链路状态路由协议 • 链路状态路由协议,有时叫最短路径优先协议或分布式数据库协议,是围绕着图论中的一个著名算法——E.W.Dijkstra的最短路径算法设计的。 • 通用属性 • 邻居 • 链路状态泛洪扩散 • SPF算法 • 区域
静态路由和动态路由的区别 • 静态路由:无开销,配置简单,需要人工维护,适合简单拓扑结构的网络; • 动态路由协议:开销大,配置复杂,无需人工维护,适合复杂拓扑结构的网络。
IP路由原理 直连路由与静态路由 动态路由协议基本原理 RIP路由协议 OSPF路由协议 Contents
RIP路由协议 • 路由器用于判断到达目的网络的最佳路径的一种路由选择协议 • 开发于20世纪70年代 • 是内部网关路由协议(IGP) • 适用于小型网络 • 典型的距离矢量路由协议 • 原理、配置简单, • 不能准确选择最优路径,收敛也较慢
RIP路由协议 • 使用距离矢量来决定最优路径 • 跳数(hop count):一个报文从本节点到目的节点中途经的中转次数,也就是一个包到达目标所必须经过的路由器的数目 • 下一跳(next hop):本网上的报文欲通过本网络节点到达目的节点,如不能直接送达,则本节点应把此报文送到某个中转站点,此中转站点称为下一跳 • 跳(hop) :报文转发的中转过程
RIP路由协议 • 最多支持的跳数为15 ,跳数16表示不可达 • 跳数最小即为最优路由,跳数相同则为等代价路由 • 使用UDP 520端口交换路由信息 • 周期性更新,路由更新为完整的路由表 • 路由信息每经过一个路由器,跳数加1 • 使用多个时钟以保证路由的有效性与及时性
RIP的工作过程 • RIP路由器初始的路由表中只有自己的直连路由 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0
RIP的工作过程 • 路由器A的更新周期首先到达(更新计时器:30s) 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0 路由更新 路由更新 R 1.0.0.0 1hop R 2.0.0.0 1hop R 1.0.0.0 1hop R 2.0.0.0 1hop
RIP的工作过程 • 路由器B收到A发出的路由更新,将1.0.0.0加入路由表,跳数为1 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0
RIP的工作过程 • 随后,路由器B的更新周期到达 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0 路由更新 路由更新 R 2.0.0.0 1hop R 3.0.0.0 1hop R 1.0.0.0 2hop R 2.0.0.0 1hop R 3.0.0.0 1hop R 1.0.0.0 2hop
RIP的工作过程 • 路由器A和C收到B发出的路由更新,采取不同动作 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0
RIP的工作过程 • 接着,路由器C到达更新周期 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0 路由更新 路由更新 R 3.0.0.0 1hop R 4.0.0.0 1hop R 2.0.0.0 2hop R 1.0.0.0 3hop R 3.0.0.0 1hop R 4.0.0.0 1hop R 2.0.0.0 2hop R 1.0.0.0 3hop
RIP的工作过程 • 路由器B收到路由更新,刷新路由表,并在更新周期到来时发送新的路由更新 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0
RIP的工作过程 • 随着这个过程的不断重复,所有路由器都学习到了全部的路由——收敛完毕 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0
RIP的计时器 • 更新计时器 • 30s(为了防止同时更新,叠加一个随机变量,一般为5s之内) • 无效计时器 • 180s,6倍更新时间内未收到更新,该路由被标记为16跳(不可达) • 刷新计时器 • 120s,无效路由在刷新计时器时间内仍未被更新,则被删除 发送路由更新 路由无效 删除路由 0s 30s 180s 300s
RIP更新路由表 接收到路由信息 否 路由表中是否已 有该条目? 是 接收到的信息是否 优于路由表中的条目? 否 是否与原条目来自 同一源地址? 否 是 忽略路由信息 是 更新路由表
路由毒化 • 使用无穷大的度量(16跳)传播关于路由失效的坏消息 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0
计数到无穷大 • 在路由器C通告毒化路由之前,路由器B发送更新 路由更新 路由更新 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0
计数到无穷大 • 路由器C相信了错误的路由,并继续通告 路由更新 路由更新 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0
计数到无穷大 • 错误的路由在路由器B和C之间被不断传递,跳数持续增大至16跳 路由环路 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0
防止路由环路 • 水平分割 • 路由器记住每一条路由信息的来源,并且不在收到这条信息的端口上再次发送它 • 在锐捷路由器上默认启用 路由器A 路由器B 路由器C .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0 3.0.0.0/8 metric 1 4.0.0.0/8 metric 2 2.0.0.0/8 metric 1 1.0.0.0/8 metric 2
防止路由环路 • 触发更新 • 在改变一条路由度量时立即广播一条更新消息,而不管3 0秒更新计时器还剩多少时间 • 毒性逆转 • 当路由器学习到一条毒化路由(度量值为16)时,对这条路由忽略水平分割的规则,并通告毒化的路由
防止路由环路 路由器A 路由器B 路由器C 4.0.0.0 .1 .2 .1 .2 1.0.0.0 2.0.0.0 3.0.0.0 5.0.0.0 触发更新 4.0.0.0/8 metric 16 触发更新 4.0.0.0/8 metric 16 周期更新 4.0.0.0/8 metric 16 5.0.0.0/8 metric 1 周期更新 2.0.0.0/8 metric 1 1.0.0.0/8 metric 2 4.0.0.0/8 metric 16