本内容由全国科学技术名词审定委员会审定公布
路由原理
工作在OSI参考模型第三层——网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。虽然路由器可以支持多种协议(如TCP/IP、IPX /SPX、AppleTalk等协议),但是在我国绝大多数路由器运行TCP/IP协议。路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。路由器通过动态维护路由表来反映当前的网络拓扑,并通过网络上其他路由器交换路由和链路信息来维护路由表。
目录
展开
路由通常与桥接来对比,在粗心的人看来,它们似乎完成的是同样的事。它们的主要区别在于桥接发生在OSI参考模型的第二层(数据链路层),而路由发生在第三层(网络层)。这一区别使二者在传递信息的过程中使用不同的信息,从而以不同的方式来完成其任务。
路由的话题早已在计算机界出现,但直到八十年代中期才获得商业成功。究其主要原因是七十年代的网络普遍很简单,发展到后来大型的网络才较为普遍。
2、通过网络传输信息
在路由的过程中,后者也称为(数据)交换。交换相对来说比较简单,而选择路径很复杂。
路由算法根据许多信息来填充路由表。目的/下一跳地址对告知路由器到达该目的最佳方式是把分组发送给代表“下一跳”的路由器,当路由器收到一个分组,它就检查其目标地址,尝试将此地址与其“下一跳”相联系。下表为一个目的/下一跳路由表的例子。
路由表还可以包括其它信息。路由表比较metric以确定最佳路径,这些metric根据所用的路由算法而不同。路由器彼此通信,通过交换路由信息维护其路由表,路由更新信息通常包含全部或部分路由表,通过分析来自其它路由器的路由更新信息,该路由器可以建立网络拓扑图。路由器间发送的另一个信息是链接状态广播信息,它通知其它路由器发送者的链接状态,链接信息用于建立完整的拓扑图,使路由器可以确定最佳路径。
路由器查看了数据包的目的协议地址后,确定是否知道如何转发该包,如果路由器不知道如何转发,通常就将之丢弃。如果路由器知道如何转发,就把目的物理地址变成下一跳的物理地址并向之发送。下一跳可能就是最终的目的主机,如果不是,通常为另一个路由器,它将执行同样的步骤。当分组在网络中流动时,它的物理地址在改变,但其协议地址始终不变。
ISO定义了用于描述此过程的分层的术语。在该术语中,没有转发分组能力的网络设备称为端系统(ES--end system),有此能力的称为中介系统(IS--intermediate system)。IS又进一步分成可在路由域内通信的域内IS(intradomain IS)和既可在路由域内有可在域间通信的域间IS(interdomain IS)。路由域通常被认为是统一管理下的一部分网络,遵守特定的一组管理规则,也称为自治系统(autonomous system)。在某些协议中,域内路由协议仍可用于在区间内和区间之间交换数据。
路由算法通常具有下列设计目标的一个或多个:
在下图中的路由环中,某分组在时间t1到达路由器1,路由器1已经更新并知道到达目的的最佳路径是以路由器2为下一跳,于是就把该分组转发给路由器2。但是路由器2还没有更新,它认为最佳的下一跳是路由器1,于是把该分组发回给路由器1,结果分组在两个路由器间来回传递直到路由器2收到路由更新信息或分组超过了生存期。
由于静态路由系统不能对网络改变做出反映,通常被认为不适用于现在的大型、易变的网络。九十年代主要的路由算法都是动态路由算法,通过分析收到的路由更新信息来适应网络环境的改变。如果信息表示网络发生了变化,路由软件就重新计算路由并发出新的路由更新信息。这些信息渗入网络,促使路由器重新计算并对路由表做相应的改变。
动态路由算法可以在适当的地方以静态路由作为补充。例如,最后可选路由(router of last resort),作为所有不可路由分组的去路,保证了所有的数据至少有方法处理。
路由系统通常设计有逻辑节点组,称为域、自治系统或区间。在分层的系统中,一些路由器可以与其它域中的路由器通信,其它的则只能与域内的路由器通信。在很大的网络中,可能还存在其它级别,最高级的路由器构成了路由主干。
分层路由的主要优点是它模拟了多数公司的结构,从而能很好地支持其通信。多数的网络通信发生在小组中(域)。因为域内路由器只需要知道本域内的其它路由器,它们的路由算法可以简化,根据所使用的路由算法,路由更新的通信量可以相应地减少。
主机智能和路由器智能的折衷实际是最佳路由与额外开销的平衡。主机智能系统通常能选择更佳的路径,因为它们在发送数据前探索了所有可能的路径,然后基于特定系统对“优化”的定义来选择最佳路径。然而确定所有路径的行为通常需要很多的探索通信量和很长的时间。
由于链接状态算法聚合得较快,它们相对于距离算法产生路由环的倾向较小。在另一方面,链接状态算法需要更多的CPU和内存资源,因此链接状态算法的实现和支持较昂贵。虽然有差异,这两种算法类型在多数环境中都可以工作得很好。
路由算法使用了许多不同的metric以确定最佳路径。复杂的路由算法可以基于多个metric选择路由,并把它们结合成一个复合的metric。常用的metric如下:
通信代价是另一种重要的metric,尤其是有一些公司可能关系运作费用甚于性能。即使线路延迟可能较长,他们也宁愿通过自己的线路发送数据而不采用昂贵的公用线路。
静态路由是由管理员在路由器进行手工配置的固定的路由
静态路由允许对路由的行为进行精确的控制减少了网络流量单向以及配置简单静态路由通常情
况下优先级最高,因为其管理距离最短
静态路由的配置方法:
Router(config)#ip route network [mask] {address | interface} [distance] [permantet]
目标网络 掩码 到达目标网络的下一个路由器地址或本地接口
默认路由是静态路由的一种,是指当路由表中与包的目标地址之间没有匹配的表项时路由器能够作出
的选择
Router(config)#ip route 0.0.0.0 0.0.0.0 下一个路由器的接口地址
Router(config)#ip classless
其中 0.0.0.0 0.0.0.0 代表将发往任何网络的包都转发到下一个路由器接口地址
Ip classless 指路由器接收到不能转发的包的时候会将其匹配给默认路由
并且返回目标地址不可达的 ICMP的消息
动态路由是网络中的路由器之间根据实时网络拓扑变化,相互通信传递路由信息,利用收到的路由信
息通过路由选择协议计算,更新路由表的过程
动态路由减少了管理任务
常见的动态路由包括距离矢量路由选择协议和链路状态路由选择协议
路由分为静态路由(static routing)和动态路由(dynamic routing)。
静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。
静态路由的配置:
进去全局配置模式,定义目标网络号,目标网络的子网掩码和下一跳地址或接口
Router(config)#ip route {nexthop-address|exit-interface} [distance]
默认路由的配置:
Router(config)#ip route 0.0.0.0 0.0.0.0 {nexthop-address|exit-interface} [distance]
动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。
动态路由分为距离矢量路由协议(DistanceVector Routing Protocol)和链路状态路由协议(Link-State Routing Protocol)。
距离矢量路由协议包括RIP, EIGRP,IGRP
链路状态路由协议包括OSPF,ISIS
RIP
RIP是Internet中常用的路由协议,路由器根据距离选择路由,路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也把所收集的路由信息用RIP协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到了全网。
RIP 有两个不同的版本,RIPv1和RIPv2. RIPv1 。
RIPv1和RIPv2. RIPv1 的主要区别:
1.RIPv1是有类路由协议,RIPv2是无类路由协议
2.RIPv1不能支持VLSM,RIPv2可以支持VLSM
3.RIPv1没有认证的功能,RIPv2可以支持认证,并且有明文和MD5两种认证
4.RIPv1没有手工汇总的功能,RIPv2可以在关闭自动汇总的前提下,进行手工汇总
5.RIPv1是广播更新,RIPv2是组播更新,
6.RIPv1对路由没有标记的功能,RIPv2可以对路由打标记(tag),用于过滤和做策略
7.RIPv1发送的updata最多可以携带25条路由条目,RIPv2在有认证的情况下最多只能携带24条路由
8.RIPv1发送的updata包里面没有next-hop属性,RIPv2有next-hop属性,可以用与路由更新的重定
RIPv1的配置;
Router(config)#routerrip
Router(config-router)#networkxxxx.xxxx.xxxx.xxxx
RIPv2的配置
Router(config)#router rip
Router(config-router)#version2
Router(config-router)#noauto-sunnmary
Router(config-router)#networkXXXX.XXXX.XXXX.XXXX
RIP使用非常广泛,它简单、可靠,便于配置。但是RIP只适用于小型的同构网络,因为它允许的最大站点数为15,任何超过15个站点的目的地均被标记为不可达。而且RIP每隔30s一次的路由信息广播也是造成网络的广播风暴的重要原因之一。
EIGRP
EIGRP是思科私有的,他是高级距离矢量路由协议,使用DUAL算法。EIGRP是建立邻居关系最快的路由协议
EIGRP的5个Metric值:带宽(Bandwidth),负载(Load),延迟(Delay),可靠性(Reliability),MTU
配置:
Router(config)#router eigrp XX
Router(config-router)#noauto-sunnmary
Router(config-router)#networkXXXX.XXXX.XXXX.XXXX
OSPF
0SPF是一种基于链路状态的路由协议,需要每个路由器向其同一管理域的所有其它路由器发送链路状态广播信息。在OSPF的链路状态广播中包括所有接口信息、所有的量度和其它一些变量。利用0SPF的路由器首先必须收集有关的链路状态信息,并根据一定的算法计算出到每个节点的最短路径。而基于距离向量的路由协议仅向其邻接路由器发送有关路由更新信息。
配置:
Router(config)#router ospf XX
Router(config-router)#router-idX.X.X.X
Router(config-router)#networkXXXX.XXXX.XXXX.XXXX area X
OSPF将一个自治域再划分为区,相应地即有两种类型的路由选择方式:当源和目的地在同一区时,采用区内路由选择;当源和目的地在不同区时,则采用区间路由选择。这就大大减少了网络开销,并增加了网络的稳定性。当一个区内的路由器出了故障时并不影响自治域内其它区路由器的正常工作,这也给网络的管理、维护带来方便。
静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由
路由器的某一个接口接收到一个数据包时,会查看包中的目标网络地址以判断该包的目的地址在当前的路由表中是否存在(即路由器是否知道到达目标网络的路径)。如果发现包的目标地址与本路由器的某个接口所连接的网络地址相同,那么马上数据转发到相应接口;如果发现包的目标地址不是自己的直连网段,路由器会查看自己的路由表,查找包的目的网络所对应的接口,并从相应的接口转发出去;如果路由表中记录的网络地址与包的目标地址不匹配,则根据路由器配置转发到默认接口,在没有配置默认接口的情况下会给用户返回目标地址不可达的 ICMP 信息。
路由选择功能:为传送分组,路由器会使用地址的网络部分进行路由选择以确定一条最佳路径
路由交换功能:使路由器有能力接收分组并进行转发
路由转发:路由学习之后会照学习更新的路由表进行数据转发
路由维护:路由器通过定期与网络中其他路由器进行通信来了解网络拓扑变化以便更新路由表
路由器记录了接口所直连的网络 ID,称为直连路由,路由器可以自动学习直连路由而不需要配置
路由器必须支
路由器能够连接不同类型的局域网和广域网,如以太网、ATM网、FDDI网、令牌环网等。不同类型的网络,其传送的数据单元——帧(Frame)的格式和大小是不同的。就像公路运输是以汽车为单位装载货物,而铁路运输是以车皮为单位装载货物一样,从汽车运输改为铁路运输,必须把货物从汽车上放到火车车皮上,网络中的数据也是如此。数据从一种类型的网络传输至另一种类型的网络,必须进行帧格式转换。路由器就有这种能力,而交换机和集线器就没有。
实际上,我们所说的“互联网”,就是指各种路由器将各种不同的网络类型互相连接起来。集线器和交换机根本不能胜任这个任务,所以必须由路由器来担当这个角色。
有的读者会心生疑问:我是通过代理服务器上网的,不用路由器不也能接入互联网吗?其实代理服务器也是一种路由器,一台计算机加上网卡,再加上ISDN(或Modem或ADSL),再安装上代理服务器软件,事实上就已经构成了路由器,只不过代理服务器是用软件实现路由功能,而路由器是用硬件实现路由功能,就像VCD软解压软件和VCD机的关系一样,结构不同,但是功能却是相同的。
骨干网上的路由器终端系统通常是不能直接访问的,它们连接长距离骨干网上的ISP和企业网络。互联网的快速发展给骨干网、企业网和接入网都带来了不小的挑战。
持所需识别的逻辑地址的协议
一般情况下,软路由通常就是计算机了,硬件路由根据不同的标准可以做不同的分类,比如从性能上可以分为高、中、低端,从结 构上分为固定配置和模块化等等。
软路由的好处有很多,如使用便宜的台式机,配合免费的Linux软件,软路由弹性较大,而且台式机处理器性能强大,所以处理效能不错,也较容易扩充。但对应地也要求技术人员许掌握更多的例如设置方法、参数设计等专业知识,同时设定也比较复杂,而且需技术人员具备一定应变技术能力。同时台式机的硬件配置如果选择不好或不合理,而且担任路由器的功能如果长期工作,故障的机率将很高。用一台台式机搭建,成本并不低,但是如果要使用服务器,成本则更高,技术人员学习的过程亦较为烦琐。
硬路由的做法为配置专用机,像PC机一样,硬路由器包括电源、内部总线、主存、闪存、处理器和操作系统等,专为路由功能而设计,成本较低。路由器中的软件都是深嵌入到硬件中,包括对各种器件驱动的优化,不同体系cpu的不同优化策略等等,这个软件不是应用软件,而是系统软件,和硬件不能分开的。
由于架构设计考虑了长时间运作,所以稳定性有更高保证,再加上重要的功能大部份都已在内置系统设计中完成,所以人工管理设定的功夫非常少,可节省技术或网络管理人员的时间。但相对的,如果某一款硬件规格不强大,扩充性不宽,因此将有可能无法满足需求,尤其是需要加进持别功能时,如果厂商没有提供,那么技术或网络管理人员也无法解决。
以上的分析,都是比较偏向主观上,但也基本上合理地概括了整体的特征,下面就更全面、力求准确地分析一下软硬路由的各项对比,以供读者朋友参考。
如果网络大到要划分子网,那么软路由的效率显然是无法满足网络间的高速通讯的。而在价格方面,软路由就是一台计算机的价格,而硬件路由的价格则根据性能的不同而有较大的差别。说实话,如果仅仅是实现NAT转换,那么计算机的效率要比硬件路由器要高。
结合多方面的考虑,购买者就必须充分了解自身的网络环境和投资计划,来考虑如何选择路由器。笔者就举例分析一下网吧的工作环境需求。网吧对路由器的需求就有着以下几个共同点:数据处理能力要够强,上网高速畅通,大数据流量下不掉线、不停顿;具有高度的稳定性和可靠性,能长时间不间断稳定工作;要有很强的兼容性,要能适应不同运营商的不同接入服务;易安装、易配置、易管理、易使用,用户界面友好易懂;在保证性能的前提下,要有一个合理的价格,具有优异的性能价格比。
因此对一个有一定规模的网吧来说,他们更倾向于使用硬路由,使用硬件路由器则带来更大的优势,如成型设备,一次调试不用维护,没有零部件维护的麻烦;专业厂家技术支持,专业软件免费升级;可以实现线路备份、负载均衡、策略路由等很多符合网吧的应用;多数产品采用网络专用CPU解决网络路由的复杂问题;专业的技术跟踪可以解决不断出现的网络应用中出现的新问题,全部免费解决等等。