描述: 路径选择
图片:
路由协议基础-路径决策_休闲
前面已经提到,一般我们把管理员手工输入到路由表中的路由信息称为静态路由条目.那么动态路由是不需要人为的干涉,而是完全依靠路由器之间来相互学习晚上各自的路由表.它们都是采用某种协议来完成这项工作.
所有的路由协议都是围绕这某种算法来构建的.各种路由协议的工作状态,工作方式等的不同取决于它们各自采用什么样的算法.
一般来说,一个算法是一个逐步解决问题的过程.一个路由算法就是为了解决路由器学习路由条目的问题.它至少要指明以下几个内容:
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路由技术卷一)