路由基础知识学习
路由原理
路由概述
路由(route),为需要跨网络转发的数据包提供的路径信息,依据逻辑地址对跨网络的数据包执行转发。
路由器是工作在网络层的数据包转发设备,路由器的主要功能是路由选择,路由器可以连接多个网络或网段,对不同网络或网段之间的数据信息进行“翻译”,从而构成一个更大的网络
静态路由
按照某种规则在一对源节点和目的节点之间的多条路由中选择一条最佳路由的方法叫做路由选择算法,简称路由算法
静态路由选择算法不用测量也不需要利用网络信息,路由选择在网络设计时或网络安装时已经设置好,是一种按照某种固定规则进行的路由选择。
扩散式路由选择
一个网络节点从某条线路收到一个分组后,向除该线路外的所有线路重复发送收到的分组。
基本思想:把分组发送给除发送节点以外的所有邻节点,各节点收到重复分组时都有废弃能力(扩散式,全路发送)

- 各节点第一次收到分组时,就继续向目的地方向发送,经其他节点,直至目的地节点;
- 除了第一次收到的分组外,其它重复收到的分组将被废弃;
- 网络资源利用率低,但可靠性高。
适用范围:规模小,负荷轻的网络
固定式路由选择
网络中的网络控制中心按照最佳路由选择算法求出每对源、目的节点之间的最佳路由,为每个节点构造一个固定路由表并分发给各节点,每个网络节点的表格中每一项记录着对应某个目的节点的下一个节点或链路
优点:简便易行,在负载稳定,拓扑结构变化不大的网络中运行效果较好
缺点:灵活性差

随机路由选择
转发节点随机地选择一个链路发送分组,如果选择各个链路的概率相同,则可用循环方式轮流的把各个分组转发到所有相邻的节点。
优点:是简单易行,对网络负载的增加小。
缺点:是分组在网络中迂回旅行的时间过长。
静态路由选择算法只适宜小型的、结构相对稳定的计算机网络。
动态路由
动态路由选择算法的节点的路由选择要依靠网络当前的状态信息来决定。它能较好地适应网络流量、拓扑结构的变化,有利于改善网络的性能,因此又称为自适应路由选择算法。
独立路由选择:利用本地信息进行分布式控制;
集中路由选择:利用相邻节点的信息进行集中式控制:
分布路由选择:利用全网节点的信息进行分布式控制;
路由选择协议
路由选择协议也称为路由协议,是执行路由选择算法的协议,是路由器之间实现路由信息共享的一种机制,它允许路由器之间相互交换和维护各自的路由表。
TCP/IP网络的路由协议分为两大类:内部网关协议IGP(Interior Gateway Protocol)和外部网关协议EGP(External Gateway Protocol)。IGP用于自治系统或管理域之内,而EGP用于自治系统之间或管理域之间。
内部网关协议IGP:具体的协议有多种,如RIP和OSPF等。
外部网关协议EGP:目前使用的协议是BGP。

适用于单播的路由算法分为:V-D(向量距离)和L-S(链路状态)两大类;
适用于组播的路由算法分位:SBT(源树路由)和CBT(核心树路由)两大类。

路由表与路由条目
路由表:路由条目的集合
路由条目:记录特定IP地址与转发接口的某类表项
每台路由设备中都至少维护着一张路由表:路由器必须依赖路由表中的信息来转发数据包;如果路由表中没有与数据包目的IP地址相关的路由条目,路由器就只能丢弃数据包;如果路由表中有多条与数据包目的1P地址相关的路由条目,路由器需要依据一些规则选出“最优路由”,并以此执行转发。

路由来源与优先级
优先级数值越小,来源越可靠,管理员可以修改优先级值(直连路由除外)

路由开销: 路由开销值越小,路由越优,对于每种动态路由协议来说,路由开销的参数各不相同,当多条路由的路由来源相同时,通过路由开销来选出最优路由
RIP协议
RIP路由协议概述
RIP是一种内部网关协议,结构简单,适用于小型网络。它运行于UDP之上,缺省的端口号是512。RIP是一种分布式的基于距离向量的路由选择协议,RIP协议的”距离”也称为“跳数(hop count)”。
从一路由器到直接连接的网络的距离定义为0。从一路由器到非直接连接的网络的距离定义为所经过路由器数加1。RIP支持的最大跳数是15,跳数为16的网络被认为不可达。因此RIP只适用于小型互联网。
交换路由信息
如果两个路由器之间的通信不需要金国另一个路由器,则他们是相邻的,两个相邻路由器在同一个网络上都有自己的接口
RIP 协议规定,对于不相邻的路由器就不交换信息,交换的信息是到本自治系统中所有网络的最短距离,以及到每个网络应该经过的下一跳路由器,RIP协议交换的是当前本路由器所知道的全部信息,即路由表。RIP协议按固定的时间间隔交换路由信息。然后路由器根据收到的路由信息更新路由表。
当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息
RIP协议的特点
- 仅和相邻路由器交换信息
- 交换的信息是当前路由器知道的全部信息,即自己的路由表
- 按固定的时间间隔交换路由信息,当网络拓扑发生变化时,也要及时向相邻路由器通告拓扑变化后的路由信息
- RIP不能在两个网络之间同时使用多条路由,RIP选择一条具有最少路由器的路由。
- RIP协议的每个路由器都要不断的和其他路由器交换路由信息
路由表的初始化
路由器启动时对路由表进行初始化,为与自己直接相连的每个网络生成一个表项,路由表中最主要的信息是:到某个网络的距离,以及经过的下一跳地址

RIP协议的缺点
- 限制了网络的规模,它最大只有15跳。
- 路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加
- “坏消息传的慢”,更新过程的收敛时间过长
- 依赖于固定的路由度量,不考虑真是距离和带宽
OSPF协议
OSPF协议概述
开放最短路径优先协议OSPF(Open Shortest Path First)是一个典型的基于L-S算法的路由协议,它运行在IP协议之上,协议号为89。
OSPF最主要的特征是使用分布式的链路状态协议。“链路状态”是说明本路由器和哪些路由器相邻,以及该链路的”度量(metric)
OSPF协议特点
OSPF能提供负载均衡功能
OSPF允许将AS中的网络分成若干区域
OSPF允许灵活配置IP子网,支持无分类路由和特定分类网络的路由
OSPF支持最佳(最长或最具体的)地址匹配
所有OSPF协议交换都要被鉴别
从外部得到的路由选择数据要在整个自治系统中通告
OSPF区域划分和路由类别
OSPF使用层次结构的区域划分。在上层的区域叫做主干区域,其作用是连通其他在下层的区域。从其他区域来的信息都由区域边界路由器进行概括。
OSPF将一个规模很大的自治系统划分为若干个小的区域,每一个区域都有一个32bt的区域标识符。在一个区域内的路由器最好不超过200个。

【R6】ASBR(Autonomous System Boundary Router)自治系统边界路由器:和属于其它自治系统的路由器交换路由信息的路由器。在自治系统中的每一个路由器都知道到ASBR的路径。
【R5】BR(Backbone Router)骨干路由器:有一个接口连到骨干区域的路由器。
【R7】ABR(Area Border Router)区边界路由器:连接到多个区域的路由器。
【R9】IR(Internal Router)内部路由器:路由器连接的所有网络都在同一个区域内。
OSPF基本路由选择算法
- 当路由器启动时,首先初始化路由协议数据结构
- 路由器使用OSPF的Hello协议获得邻居
- 路由器尝试与其新获得的邻居中的一些形成邻接。OSPF仅在邻接路由器上收发路由更新
- 路由器周期性地通告它的链路状态LSA
- LSA在整个区域内洪泛发送。确保一个区域中的所有路由器有完全相同的链路状态数据库


OSPF报文类型
Hello报文。路由器之间定时交换Hello报文,发现相邻路由器,维护邻居关系,确定链路状态。另外,在具有多播或广播性能的物理网络,Hello包使用多播方式发送,允许动态地发现邻居路由器。
OSPF规定两个相邻路由器每隔10秒钟交换一次问候分组,以确定哪些邻站是可达的。
只有可达邻站的链路状态信息才存入链路状态数据库。
若40秒钟没有收到某个相邻路由器发来的问候分组,则认为该相邻路由器是不可达的,应立即修改链路状态数据库,并重新计算路由表。
Link State Update(链路状态更新包):链路状态更新报文用于节点之间广播的L-S信息。
Link State Acknowledgement(链路状态确认包):节点收到Link StateUpdate报文后必须应答该报文。
Link State Request(链路状态请求包):局域网上一个路由器启动后向值班路由器发出该请求。
Database Description(数据库描述包):值班路由器以该报文响应Link State Request报文,将自己的所有L-S信息下载给非值班路由器。
OSPF规定
两个同步的路由器叫做“完全邻接的”(fully adjacent)路由器。
OSPF每一个路由器用数据库描述分组与相邻路由器交换本数据库中已有的链路状态摘要信息。
为了确保链路状态数据库与全网的状态保持一致,OSPF每隔30min刷新一次数据库中的链路状态。
通过路由器之间交换的链路状态信息,每个路由器都可得出该互联网的链路状态数据库,算出以自己为根的最短路径树。根据最短路径树得出路由表。