描述: 路径选择
图片:
前面已经提到,一般我们把管理员手工输入到 路由表中的 路由信息称为静态 路由条目.那么动态 路由是不需要人为的干涉,而是完全依靠 路由器之间来相互学习晚上各自的 路由表.它们都是采用某种 协议来完成这项工作.
所有的 路由 协议都是围绕这某种算法来构建的.各种 路由 协议的工作状态,工作方式等的不同取决于它们各自采用什么样的算法.
一般来说,一个算法是一个逐步解决问题的过程.一个 路由算法就是为了解决 路由器学习 路由条目的问题.它至少要指明以下几个内容:
1、向其它 路由器传送 网络信息的过程;
2、接收来自其他 路由器发来的 网络信息的过程;
3、基于现有的 路由信息来决策最佳路径的过程,并将其添加入 路由表的过程;
4、响应、修正和通告 网络中的拓扑变化的过程
那么,总结下来,对所有 路由 协议而言,共有的几个问题是:路径决策,度量,收敛和负载均衡
下面我们分开来分别讨论这几个共有的问题
首先是路径决策!
大家看图。
在这个 网络图中,有三台 路由器,RA和RB各直连三条网段,而RC直连着四条网段。
网络中所有的 网络都必须连接到一台 路由器上,如果 路由器有一个接口连接到该 网络中,那么这个接口必须具有一个属于该 网络的地址,这个地址就是信息传送和接收的起点或者是终点。
RA知道有 网络192.168.1.0/24
        192.168.2.0/24
        192.168.3.0/24存在,因为该 路由器有接口连接在这些 网络上,并且配置了属于该 网络的地址及掩码。
同样的,RB和RC也都知道各自所直接相连的网段。
路由器知道有这些网段存在了。但是,这些网段是否工作正常呢?由于 路由器的每个接口都实现了所直连 网络的数据链路和物理层 协议,因此 路由器可以从接口状态上来判断出 网络的状态了(工作正常up,故障down)
分析一下在该图中,假设ABC运行一种 路由选择 协议路由选择 协议应该如何把它们各自所了解的 路由信息共享呢?
步骤1、A通过检查自己处于各条网段中的接口的IP和掩码,很容易得出直连各网段的 网络号:192.168.1.0/24;192.168.2.0/24;192.168.3.0/24
步骤2、A把所得到的直连 网络的信息连同标记(指明 网络为直连 网络)一同放入 路由表中。
步骤3、A开始向B,C发送报文,报文中包含“我的直连 网络是192.168.1.0,192.168.2.0,192.168.3.0”,这些报文我们把它们称之为 路由更新报文
步骤4、B、C执行和A完全相同的动作。假如它们现在都在向A发送报文,那么A收到报文后,将会对比自己的 路由表,做出相应的更新动作。
这个过程看似非常的简单,其实真正的过程要比这复杂的多。为什么这么说呢?我们再来分析一下 网络图——如果在信息共享的过程中出现了下面这些问题呢?
1、A收到来自B,C的 路由更新信息后,它拿这些信息做什么?比如,A是否需要把B的消息传递给C,把C的消息传递给B呢?
2、如果A不帮助B和C转发信息,那么它们之间很可能不能完成共享。比如,B和C之间的链路192.168.6.0根本不存在呢?那么B和C是无法直接相互学习对方的信息的,这时候,就需要A的转发。
3、如果 路由器A分别从B和C那里知道了192.168.6.0这个 网络,哪条路更近呢?
4、 路由更新信息会不会永无休止的在 网络中循环的传递下去?基于IP的 网络一般来说是不可靠的,那么有没有什么样的机制来确保所有的 路由器都能接收到所有的信息呢?
5、如果多个 路由器都共享某条 网络,它们还需要再通告该 网络的信息吗?例如A,B之间的192.168.1.0的 网络。它们之间还会再通告给对方192.168.1.0 网络的信息吗?
我们需要更加深入的了解上面这些问题,才能把 路由 协议掌握的更透彻。(蓝本:CCIE-TCP/IP 路由技术卷一)