在当今信息化社会中,人们对数据通信的需求日益增加,使得互联网以每6~9个月翻一番的速度飞速增长。TCP/IP已成为网络层通信协议的事实标准。Every Thing Over IP,IP Over Every Thing已成为当前IP网最真实的写照。路由器作为IP网的核心设备,其技术已成为当前信息产业的关键技术。低端路由器是应用最多、最广泛的路由器,为此有必要对其技术以及产品作研究和分析。
1 低端路由器定义
路由器是工作在OSI参考模型中第3层――网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。虽然路由器可以支持多种协议(例如:TCP/IP、IPX/SPX、AppleTalk等协议),但使用最多的还是TCP/IP协议。路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表来决定输出端口和下一跳地址,并且重写链路层数据包头实现数据包的转发。路由器通过动态地维护路由表来反映当前的网络拓扑,通过与网络上其他路由器交换路由和链路信息来维护路由表。
从能力区分,路由器可分中高端路由器和低端路由器。各厂家的划分标准并不完全一致。通常将包交换能力>1 Mpps的路由器称为中高端路由器,包交换能力在1 Mpps以下的路由器称为低端路由器。以Cisco公司为例,7500以上系列路由器(包括12000系列和7500系列)为中高端路由器;7500以下系列路由器(包括3600系列和2600系列)称为低端路由器。
出于性能考虑,低端路由器一般适用于作为小规模网络核心路由器、小型企业网互联路由器、局域网接入公网路由器等。
2 低端路由器技术
2.1 路由器软件
路由器技术中最核心的技术是软件技术。路由器软件是最复杂的软件之一,有些路由软件运行在Unix操作系统上,有些路由器软件运行在嵌入式操作系统上,甚至有些路由器软件为提高效率,其本身就是操作系统。全球最大的路由器生产厂家Cisco公司曾一度宣称自己是一个软件公司,可见路由器软件在路由器技术中所占的重要地位。
路由器软件一般实现路由协议、查表转发和管理维护等功能。由于互联网规模庞大,运行在互联网上的路由器中的路由表也相应地非常巨大,可能包含几十万条路由信息。查表转发工作非常繁重。在高端路由器中,上述功能通常由ASIC芯片硬件实现。
路由软件的高复杂性另一方面体现在路由软件的高可靠性、高可用性以及鲁棒性。实现路由软件的功能并不复杂,在免费共享软件中甚至可以得到路由协议和数据转发的实现源代码,但是其可靠性无法满足商用产品不间断运行的需要。
在路由器研制过程中,可以通过购买商用源代码等形式迅速实现路由器软件,但成熟的路由器软件需要一年甚至两年的时间才稳定。
2.2 路由器接口
路由器接口用来将路由器连接到网络,可以分为局域网接口及广域网接口两种。局域网接口主要包括以太网?10 Mbit/s、100 Mbit/s和1000 Mbit/s以太网?、令牌环、令牌总线、FDDI等网络接口。广域网主要包括E1/T1、E3/T3、DS3、通用串行口(可转换成X.21DTE/DCE、V.35DTE/DCE、RS232DTE/DCE、RS449DTE/DCE、EIA530DTE)、ATM接口、POS接口等网络接口。
当前路由器接口技术较成熟,难点在于高密度接口板的设计与制作以及高速接口(≥2.5 Gbit/s)的实现。低端路由器一般不包括上述接口。
2.3 路由协议
路由器路由协议的程序是路由器软件中的重要组成部分。路由协议用作建立以及维护路由表,路由表用作为每个IP包选择输出端口和或下一跳地址。开放的路由协议主要包含RIP/RIPv2、OSPF、IS-IS和BGP4等。
RIP/RIPv2、OSPF和IS-IS作为域内路由协议,一般用在AS内部作为计算以及交换网络可达性消息。RIP/RIPv2是距离向量路由协议,一般用于企业内部小规模网络。OSPF和IS-IS协议原理和实现都类似,是链路状态协议,一般用于大规模企业网或运营商网络。
BGP4协议基于距离向量,是当前AS间路由协议的唯一选择。通常BGP交换大量网络可达性消息,是IP网上重要协议。
路由协议的实现与路由器软件要求相似,需要实现高可靠、高稳定、鲁棒性以及安全性。
3 路由器的性能
路由器性能通常主要包含如下内容。
? 背板能力:通常指路由器背板容量或者总线能力。
? 吞吐量:指路由器包转发能力。
? 丢包率:指路由器在稳定的持续负荷下,由于资源缺少在应该转发的数据包中不能转发的数据包所占比例。
? 转发时延:指需转发的数据包最后一比特进入路由器端口到该数据包第一比特出现在端口链路上的时间间隔。
? 路由表容量:指路由器运行中可以容纳的路由数量。
? 可靠性:指路由器可用性、无故障工作时间和故障恢复时间等指标。
除了以上的基本性能外,路由器的性能还体现在以下诸多方面。
3.1 路由器队列管理机制
由于路由器是基于分组交换的设备,在每个端口上带宽统计复用,所以路由器必须在端口上维护一个或多个队列,否则路由器无法处理多个数据包同时向同一端口转发,以及端口上的QoS能力等问题。队列管理算法的好坏直接影响到路由器性能、QoS能力以及拥塞管理能力。通常队列管理算法分为基于时标算法、基于轮转算法以及基于优先级队列等。
基于时标的分组调度算法都有相同的形式,它们为每个分组维持两个时标,一个命名为起始时标(start time_stamp),一个命名为完成时标(finish time_stamp)。路由器根据上述时标来决定下一个转发数据包。基于时标的算法最常见的有WFQ、WF2Q等。
基于轮转调度机制的工作原理与操作系统里的多任务的轮转调度有类似之处。基于轮转的调度算法通常有WRR、DRR等。
基于优先级的队列管理能根据预先规定或用户指定的优先级,调度不同队列的数据包转发。
路由器通常还在队列中使用RED(随即早期侦测)、WRED(加权随即早期侦测)等机制来避免拥塞。
3.2 路由器上的QoS
路由器上的QoS可以通过下面几种手段获得。
? 通过大带宽得到,即在路由器上除增加接口带宽以外不作任何额外工作来保障QoS。由于数据通信网中的流量没有相应公认的数学模型作保障,因此该方法只能粗略地使用经验值作估计。通常认为当带宽利用率到达50%以后就应当扩容,以保证接口带宽利用率<50%。
? 通过端到端带宽预留实现。该方法通过使用RSVP或者类似协议在全网范围内通信的节点间端到端预留带宽。该方法能保证QoS?但是代价太高,通常只在企业网或者专用网上运行,在大网和公网上无法实现。
? 通过接入控制、拥塞控制和区分服务(DiffServ)等方式得到。该方式无法完全保证QoS。这个方法可以与增加接口带宽等方式结合使用,在一定程度上提供相对的QoS。
? 通过MPLS流量工程得到。MPLS流量工程实质上是一种半基于连接的方式,为数据流指定源路由。
在指定的路由中只能通过上面几种方式或者结合使用来保证QoS。
3.3 路由器安全性
路由器的安全性分两方面:一方面是路由器本身的安全;另一方面是数据的安全。
由于路由器是互联网的核心,是网络互联的关键设备。所以路由器要比其他设备的安全性要求更高。主机的安全漏洞一般只导致该主机无法访问,而路由器的安全漏洞可能导致整个网络不可访问。
路由器的安全漏洞可能存在于管理上的原因和技术上的原因。在管理上,对路由器口令不恰当的选择、路由协议授权机制的不恰当使用、错误的路由配置都可能导致路由器工作出现问题。在技术上,路由器的安全漏洞可能有如下几方面的原因。
? 恶意攻击。如:窃听、流量分析、假冒、重发、拒绝服务、资源非授权访问、干扰和病毒等攻击。
? 软件漏洞。后门、操作系统、数据库、TCP/IP协议以及网络服务等都可能会存在漏洞。
路由器所传递数据的安全性可以由网络提供或者用户提供。如果由网络提供则只与接入路由器相关,通常由接入路由器提供IPSec安全通道来保证安全。
3.4 分组语音能力
在企业网中,路由器分组语音承载能力非常重要。在远程办公室与总部之间,支持分组语音的路由器可以使电话通信和数据通信一体化,有效地节省长途话费。
当前技术环境下,分组语音可以分3种:使用IP承载语音、使用ATM承载语音以及使用帧中继承载语音。使用ATM承载语音时可以分AAL1和AAL2两种。AAL1即电路仿真,技术非常成熟但是成本相对较高。AAL2技术较先进,但是当前ATM接口通常不支持。帧中继承载语音也比较成熟,成本相对较低。IP承载语音当前较流行,其成本最低,但是当前IP网络中的QoS保证困难,通话质量较难保证。
在IP承载语音中,H.323是ITU标准,是当前IP Phone网络最常用的协议栈。SIP是IETF的标准,其目的是将网络设备简单化,将复杂功能做到用户终端中。从IP网本质来看,路由器与所承载业务无关,但是路由器端口对IP Phone协议的支持可以节约成本。
语音压缩是IP电话节约成本的关键之一,通常可