路由选择是一个非常复杂的问题,因为它是网络中所有节点共同协调工作的结果。其次,路由选择的环境往往是不断变化的,这种变化有时是无法事先知道的,例如,网络中出现了某些故障或网络发生拥塞等情况。
路由算法如果按网络的通信量或网络的拓扑情况进行自适应调整,可分为静态路由选择和动态路由选择两类。静态路由选择又称非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。动态路由选择又称自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也较大。
因特网采用自适应动态的分布路由选择协议。由于下面两个原因,因特网采用分层次的路由选择协议:
1)因特网的规模非常大,有几百万个路由器互连在一起。如果让所有的路由器知道所有的网络是怎样到达的,则这种路由表将会非常大,处理时间也很长,这些路由器之间交换路由信息所需的线路带宽会使因特网通信链路达到饱和。
2)各单位不愿意外界了解本单位网络的布局细节和采用的路由选择协议,但希望能够连接到因特网上。
为此,因特网将整个互联网划分成许多较小的自治系统(Autonomous System,AS)。一个自治系统的是一个互联网,它的特点是有权自主决定在本系统内采用何种路由选择协议。一个自治系统的所有路由器都必须在本自治系统内是连通的。如果一个部门管辖两个网络,但这两个网络要通过其他主干网才能互连起来,那么这两个网络就不能构成一个自治系统。这样因特网就把路由选择协议划分为图4-71所示的两大类:内部网关协议(Interior Gateway Protocol,IGP)和外部网关协议(External Gateway Protocol,EGP)。
图4-71 自治系统和内部网关协议、外部网关协议
自治系统之间的路由选择也称为域间路由选择(Interdomain Routing);自治系统内部的路由选择也称为域内路由选择(Intradomain Routing)。
IGP的具体协议有多种,常用的有路由信息协议(Routing Information Protocol,RIP)和开放最短路径优先(Open Shortest Path First,OSPF)协议。
EGP目前使用的协议是边界网关协议(Border Gateway Protocol,BGP)。
1.IGP
最常用的IGP有RIP和OSPF协议两种。注意,因特网的早期文档中未使用“路由器”,而是使用“网关”这一名字。现在的因特网文档都使用了“路由器”这个名字。因此IGP可改为内部路由协议(Interior Routing Protocol,IRP),EGR可改为外部路由协议(Exteral Routing Proto-col,ERP)。
(1)RIP。RIP是IGP中使用得最广泛的一种协议,它是一种分布式的距离向量的路由选择协议。它的最大优点是简单。
RIP中的“距离”称为“跳数”(Hop Count),每经过一个路由器,跳数就加1。RIP认为一个最好的路由就是它通过的路由器数目最少,即距离最短,RIP允许一条路径中最多只能包含15个路由器(直接连接的网络因为不经过另外的路由器,因此它的“网络距离”可定义为0),因此RIP只适用于小型互联网。
相邻的路由器之间按固定的时间间隔(如30s)交换路由信息,更新路由表。路由表更新的原则是找到各目的网络的最短距离。这种更新算法称为距离向量算法。(www.xing528.com)
RIP的主要问题是当网络发生故障时,须经过较长的时间才能将故障信息传送到全部路由器。但如果一个路由器发现了更短的路径路由,那么这种更新信息就会传得很快。
(2)OSPF协议。OSPF协议是为克服RIP的这些缺点在1989年开发出来的。OSPF协议最主要的特征是使用分布式的链路状态协议(Link State Protocol),而不是像RIP那样的距离向量协议。OSPF协议与RIP相比有三个不同要点:
1)向本自治系统中的全部路由器发送路由信息。
2)发送的信息是说明本路由器与哪些路由器相邻的“链路状态”及用来表示链路“度量”(表示费用、距离、延时、带宽等)的信息。
3)只有当链路状态发生变化时,路由器才向其他所有路由器发送更新信息。
由于各路由器之间频繁地交换链路状态信息,因此所有路由器最终都能建立一个链路状态数据库(Link State Database),这个数据库实际上就是全网的拓扑结构图。
为了使OSPF协议能够用于规模很大的网络,可将一个自治系统中的各个子网划分成若干个区域(Area),每个区域都设有一个32bit的区域标识符(用点分十进制表示)。
OSPF协议不用UDP,而是直接用IP数据报传送。OSPF协议构成的数据报很短,可减少路由信息的通信量。
为使链路状态数据库与全国的状态保持一致,OSPF还规定每隔一段时间,如30min,要刷新一次数据库中的链路状态。
2.EGP
两个选择路由信息的路由器如果分别属于两个自治系统,则称为外部邻站。外部邻站使用的向其他自治系统通知可达信息的协议称为EGP。EGP支持自治系统(AS)之间的邻站路由器交换可达信息、路由器持续地测试其邻站是否有响应以及周期地传送路由更新报文传送来的交换网络信息。
为适应因特网发展的需要,因特网工程组于1995年发布了BGP作为不同自治系统的路由器之间交换路由信息的协议。
EGP力求寻找一条能够达到目的网络且比较好的(不能兜圈子)路由,EGP-4(简称EGP)采用了路径向量(Path Vector)的路由选择协议。它与距离向量协议和链路状态协议有很大的区别。
EGP协议交换的路由信息节点数与自治系统的数量相等,因此,这些网络数比自治系统内部的网络数要少很多,即边界路由器的数量是很少的。这样就可简化路由选择。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。