前言
网际网路所带来的便利与冲击,引领世界走向另一波的「电子商务」新经济,而一般企业欲连上网际网路,不外乎使用数据专线(Leased Line)、ISDN,以及最新的ADSL等。自本期起,笔者将做一系列路由器(Router)运作方式与操作实务的范例与介绍。
路由演算法
路由器是以「逻辑」与「实体」两种定址方式来连接两个不同的网路,它先将整个网路分成几个逻辑上的网路区段,亦可称其为子网路(Subnet ),每个子网路都有一个位址以资区别,网路彼此之间就靠着这个位址资讯来互相传送和交换资料。当资料欲传送时,就将资料分割成一个个的封包(Packet),在封包中加上实体的网路装置位址与网路的逻辑位址,经组合之后再传送到目的地端。而路由器的主要任务之一,就是精确并更有效率地计算传输的最佳路径(Best Path),它会依据路由演算法(Routing Algori-thms)来决定传送资料的最佳路径。因为路由器是根据网路层的逻辑位址来传送资料封包,所以能够避免广播风暴(Broadcast Storm)的发生。
路由器内部储存了一份路由表(Routing Table),这份路由表中,包含了依据路由演算法计算和学习到的,以及手动建立的已知网路位址、可能的传输路径资讯、传送的距离Hop数(指的是资料传送到目的地所经过的路由器数目)等资讯。
路由(Routing)的功能分为「决定最理想的传送路径」与「将封包转送到网路上」两种,藉由路由演算法来起始与维护路由表(Routing Table)的内部资讯,并告诉路由器到达目的地的下一站(Next Hop)路径;而当路由器接收到封包时,它会先检查目的地位址,并且试图让这个位址与Next Hop连结。
路由表也能包含其他资讯,例如:有关路径要求的资料。在网路上,路由器彼此之间透过路由表的资讯交换,来更新与学习本身的路由。而所谓的「路由更新」(Rout- ing Update),也就是透过这些交换的资讯,来取得其他路由器所拥有的或其中一部的路由表,完成路由更新的动作。至于路由演算法的目标有以下五种:
1.最理想的路径
2.简单和低维护成本
3.高稳定性
4.迅速的收敛时间
5.可扩充性
静态路由与动态路由
路由器的路由方式分为静态路由(Static Route)与动态路由(Dynamic Route)两种,当路由器运作时,它会查询本身的路由表(Routing Table),以决定封包的转送。如上述提到,路由器并不需要知道到达目的地的完整路径,它只要决定路径中途的「下一站」(Next Hop)即可,而该「下一站」(Hop)也紧接着决定其「下一站」(Hop),以这样的方式,直到到达目的地为止。为了让路由器能够顺利的进行路由(Routing)工作并且转送封包,网管人员以手动方式替每台路由器设定已经算好的路由,该方式称为静态路由,而路由器之间以某种路由协定交换路由资料,则称为动态路由。
因为静态路由是以事先计算好的手动方式加以设定,网管人员可加以控制和预测其封包所走的路径,这是静态路由的优点。但优点同时也是其缺点,一旦网路架构庞大复杂时,手动设定便显得捉襟见肘。例如:在高达1,000个网路联结的架构中,使用了50台路由器,那么网管人员得计算50,000条路由途径,就算该网管人员耐心且细心地计算完毕且无误,一旦网路架构改变,或是新增/移除掉其中某些路由器,则网管人员就必须重新计算其路由途径。 (图一)
《图一 典型的静态路由,也是一般企业公司申请数据专线链接Internet的方式》 |
|
所谓的「动态路由」,是该路由器依靠其他路由器所提供的路由资讯来加以更新资讯并学习,每台动态路由的路由器,在网路上会向其他路由器宣告自己的存在,并公布自己所拥有的路由资讯,所以,若网路上新增/移除了某路由器,其他的路由器会知道这样的改变,网管人员不需要重新设定路由。这样一来,当发生断线的情况,动态路由的方式便可以派上用场,此时若该网路架构具有备援系统(例如:ISDN备援拨接),路由器会自动把路由转往这条备用路径。
不过,动态路由并非没有缺点,它的缺点就是复杂。使用动态路由的路由器,必须从其他路由器的路由资讯中更新并学习,才能选择与决定其封包转送的最佳路径。且当网路改变时,它必须知道那些资讯已经过时,并将其从路由表中移除,这工作相当的复杂,况且并非所有网路上的路由器都看得懂网管人员所设定的动态路由,此时,只有选择静态路由方式。网管人员在面对上述情形,一般做法是将静态路由设定在网路边陲地带(Edge),而动态路由应用在各个WAN或网路主干(Backbone)上。
距离向量协定与连结状态协定
上述提到,动态路由是路由器在网路上向其他路由器宣告自己的存在,并从其他路由器所送出的更新讯息学习路由、组成自己的路由表。依此方式,便产生「距离向量」(Distance-vector)与「连结状态」(Link-state)两种协定。
1.距离向量协定(Distance-vector):
在此情形下,路由器会定期向其他邻近的路由器传送更新讯息,并进行以下两项告知动作:
(1)告知其他路由器要传送的封包目的地有多远。
(2)告知其他路由器把封包往哪条路径送达目的地。
该协定是用一个称之为「Metric」的值来表示目的地的距离,Metric是一个度量单位,用来度量路径长度,路由演算法(Rout- ing Algorithms)决定到目的地最佳路径的长度,为帮助决定路径过程,路径演算法宣告路由表(Rout- ing Tables)用来包含容纳路由选择资讯,路由选择资讯随着路由演算法的使用而变化。
而RIP(Routing Information Protocol, 路由资讯协定)路由更新的Metric被定义为一个Hop(跳站数),一个站由一台路由器处理,当目的地所经过路径的Hop等于或超过16,便表示无法到达(Unrea-chable)。路由器从其他邻近路由器收到更新资讯,它就选择其中路由值Metric最低的那一台转送封包,且若是某个路由的Metric低于目前路由表,它就自己去更新路由表。路由器在宣告它学到的路由之前,会在Metric值上加上1,代表自己的这段距离。
RIP每隔30秒会送出更新资讯,但RIP只会告知其他路由器哪些路径可以到达,并不会告知哪些路径已经断线(不通、或无法到达),所以亦无法告知其他路由器该移除那一条已经断线的路由。因此,RIP替每条学到的路由设定一个Timer(计时器),当每30秒收到新的路由更新时便重设Timer,预设值是180秒,如果这条路由在第180秒时仍未收到路由更新,该路由器便将这条路由从自己的路由表中移除,而且也不再对其他邻近路由器公布这条路由。在实务的中型网路上,一台路由器要等30秒,送出更新资讯给其他路由器,下一台路由器又要经过30秒,所以,可能需要费时数分钟,该中型网路才知道整个网路的改变,而这段路由器适应期被称为「收敛时间」(Con- vergencetime)。
2.连结状态协定(Link- state):
第二种是连结状态协定(Link-state)。在这协定中,路由器不会提供关于到达目的地的资讯,它提供的是邻近网路的资讯。这些资讯具备其路由器本身的连结网路(Link),以及这些连线的状态(State, 是否有作用),然后将这些资讯散布充斥(Flood)在网路上,让每台路由器根据这些讯息更新自己的路由表。
因为每台路由器取得的都是一致的讯息,路由器会视使用的路由协定来决定最佳路径。它的优点是根据网路架构整个计算路由,网路的改变可以立刻做出回应,让所有路由器一致地更新自己的路由表,所以收敛时间短。但其缺点是非常复杂,例如OSPF。
OSPF(Open Short Path First)是一种很广泛应用的「连结状态协定」(Link State Protocol) 」,在这儿的Link,指的是路由器连结对外网路的界面,而State指的是该路由器与邻近路由器之间的关系。上述的RIP适用较小型的网路,因其最大定义Hop数为16,所以每条路由路径经过的路由器数目不得超过15,而OSPF则具备较大的弹性,可以使用在大型的网路,相对的在路由资讯与设计上,就显得非常复杂。在OSPF中,每一台路由器必须和其他网路上的路由器彼此交换路由资讯,但如此一来,问题就来了,因为每一台路由器都要和其他网路的路由器交换路由表资讯,那么便产生了每一台路由器的路由表资讯变得相当大和太复杂,因此OSPF采用「阶级」(Hierarchical)的架构。依据其网路所在的区域性,区割成数个较小的网路,各个小网路之间采用「摘要」(Summarization)来交换路由表资讯。
小结
由于篇幅关系,笔者将在下一次继续介绍各个动态路由协定与比较。以及将专篇介绍动态路由的问题和解决问题的方式,并以实例的方式,为各位读者介绍Cisco思科路由器的设定和应用。
(作者任职于将萌公司)
(网际先锋2000.1月号68期)