电脑技术学习

路由器技术综述

dn001

  在当今信息化社会中,人们对数据通信的要求日益增加。路由器作为IP网的核心设备,其技术已成为当前信息产业的要害技术。
  
  什么是路由器
  
  路由器是工作在OSI参考模型第三层——网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。虽然路由器可以支持多种协议(例如TCP/IP、IPX/SPX、AppleTalk等协议),但是在我国绝大多数路由器运行TCP/IP协议。
  
  路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。
  
  路由器通常动态维护路由表来反映当前的网络拓扑。路由器通过与网络上其他路由器交换路由和链路信息来维护路由表。
  
  路由器是连接IP网的核心设备。
  
  路由器的分类
  
  当前路由器分类方法各异。各种分类方法有一定的关联,但是并不完全一致。
  
  从能力上分,路由器可分高端路由器和中低端路由器。各厂家划分并不完全一致。通常将背板交换能力大于40G的路由器称为高端路由器,背板交换能力40G以下的路由器称为中低端路由器。以市场占有率最大的Cisco公司为例,12000系列为高端路由器,7500以下系列路由器为中低端路由器。
  
  从结构上分,路由器可分为模块化结构与非模块化结构。通常中高端路由器为模块化结构,低端路由器为非模块化结构。
  
  从网络位置划分,路由器可分为核心路由器与接入路由器。核心路由器位于网络中心,通常是使用高端路由器。要求快速的包交换能力与高速的网络接口,通常是模块化结构。接入路由器位于网络边缘,通常使用中低端路由器。要求相对低速的端口以及较强的接入控制能力。
  
  从功能分,路由器可分为通用路由器与专用路由器。一般所说的路由器为通用路由器。专用路由器通常为实现某种特定功能对路由器接口、硬件等作专门优化。例如接入服务器用作接入拨号用户,增强PSTN接口以及信令能力;VPN路由器增强隧道处理能力以及硬件加密;宽带接入路由器强调宽带接口数量及种类。
  
  从性能上分,路由器可分为线速路由器以及非线速路由器。通常线速路由器是高端路由器,能以媒体速率转发数据包;中低端路由器是非线速路由器。但是一些新的宽带接入路由器也有线速转发能力。
  
  路由器分类方法还有很多,并且随着路由器技术的发展,可能会出现越来越多的分类方法。
  
  路由器功能
  
  路由器通常实现下列基本功能:
  
  实现IP、TCP、UDP、ICMP等互联网协议。
  连接到两个或多个数据包交换的网络。对每个连接到的网络,实现该网络所要求的功能。这些功能包括:
  IP数据包封装到链路层帧或从链路层帧中取出IP数据包。
  按照该网络所支持的最大数据包大小发送或接收IP数据报。该大小是网络最大传输单元(MTU)。
  将IP地址与相应网络的链路层地址相互转换。例如将IP地址转换成以太网硬件地址。
  实现网络支持的流量控制和差错指示。
  接收及转发数据包,在收发过程中实现缓冲区治理、拥塞控制以及公平性处理。
  出现差错时辨认差错并产生ICMP差错及必要的差错消息。
  丢弃生存时间(TTL)域为0的数据包。
  必要时将数据包分段。
  按照路由表信息,为每个IP数据包选择下一跳目的地。
  支持至少一种内部网关协议(IGP)与其他同一自治域中路由器交换路由信息及可达性信息。支持外部网关协议(Exterior Gateway Protocol,EGP)与其他自治域交换拓扑信息。
  提供网络治理和系统支持机制,包括存储/上载配置、诊断、升级、状态报告、异常情况报告及控制等。
  路由器技术
  
  路由器软件
  
  路由器技术中最核心的技术是软件技术。路由软件是最复杂的软件之一。有些路由软件运行在UNIX操作系统上,有些路由软件运行在嵌入式操作系统上,甚至有些软件为提高效率,本身就是操作系统。全球最大的路由器生产厂家Cisco公司曾一度宣称是一个软件公司,可见路由器软件在路由器技术中所占的重要地位。
  
  路由器软件一般实现路由协议功能、查表转发功能和治理维护等其他功能。由于互联网规模庞大,运行在互联网上路由器中的路由表非常巨大,可能包含几十万条路由。查表转发工作可想而知非常繁重。在高端路由器中上述功能通常由ASIC芯片硬件实现。
  
  路由软件的高复杂性另一方面体现在高可靠性、高可用性以及鲁棒性。实现路由软件的功能并不复杂,在免费共享软件中我们甚至可以得到路由协议和数据转发的实现源码。但是难点在于需要该软件每年365天,天天24小时高效可靠地运行。
  
  在路由器研制过程中,可以通过购买商用源码等形式迅速实现路由器。但是通常认为路由器软件需要一年甚至两年的时间来稳定。
  
  可编程ASIC
  
  ASIC芯片是专用集成电路,是当前路由器实现线速转发数据的的核心技术。可编程ASIC将多项功能集中到一个芯片上,具有设计简单、可靠性高、电源消耗少等优点,能使设备得到更高的性能和更低的成本。
  
  通过ASIC芯片的使用,还可以增加设备端口密度。使用ASIC芯片的端口密度是使用通用芯片时端口密度的数倍。
  
  可编程ASIC芯片的设计是当前高性能路由器实现的硬件保证。
  
  路由器接口
  
  路由器接口用作将路由器连接到网络,可以分为局域网接口及广域网接口两种。局域网接口主要包括以太网(10M、100M和1000M以太网)、令牌环、令牌总线、FDDI等网络接口。广域网主要包括E1/T1、E3/T3、DS3、通用串行口(可转换成X.21 DTE/DCE、V.35 DTE/DCE、RS232 DTE/DCE、RS449 DTE/DCE、EIA530 DTE)ATM接口、POS接口等网络接口。
  
  当前路由器接口技术较成熟,难点在于高密度接口板的设计与制作和高速接口(大于/等于2.5Gbps)的实现。
  
  路由协议
  
  路由器路由协议的实现是路由器软件中重要组成部分。路由协议用作建立以及维护路由表。路由表用于为每个IP包选择输出端口或下一跳地址。开放的路由协议主要包含RIP/RIPv2、OSPF、IS-IS和BGP4。
  
  RIP/RIPv2、OSPF和IS-IS作为域内路由协议,一般用在AS(自治系统)内部,用于在AS内部计算以及交换网络可达性消息。RIP/RIPv2是距离向量路由协议,一般用于企业内部小规模网络。OSPF和IS-IS协议原理和实现都类似,是链路状态协议,一般用于大规模企业网或运营商网络。
  
  BGP4协议基于距离向量,是当前AS间路由协议的唯一选择。通常BGP交换大量网络可达性消息,是IP网上重要协议。
  
  路由协议的实现与路由器软件要求相似,需要实现高可靠、高稳定、鲁棒性以及安全性。 路由器性能
  
  路由器性能通常主要包含如下内容:
  
  背板能力:通常指路由器背板容量或者总线能力。
  吞吐量:指路由器包转发能力。
  丢包率:指路由器在稳定的持续负荷下由于资源缺少在应该转发的数据包中不能转发的数据包所占比例。
  转发时延:指需转发的数据包最后一比特进入路由器端口到该数据包第一比特出现在端口链路上的时间间隔。
  路由表容量:指路由器运行中可以容纳的路由数量。
  可靠性:指路由器可用性、无故障工作时间和故障恢复时间等指标。
  路由器队列治理机制
  
  由于路由器是基于分组交换的设备,在每个端口上带宽统计复用,所以路由器必须在端口上维护一个或多个队列,否则路由器无法处理多个数据包同时向同一端口转发以及端口上QoS能力等问题。队列治理算法的好坏直接影响路由器性能、QoS能力以及拥塞治理能力。通常队列治理算法分为基于时标算法、基于轮转算法以及基于优先级队列等。
  
  基于时标的分组调度算法都有相同的形式,它们为每个分组维持两个时标,一个命名为起始时标(start time-stamp),一个命名为完成时标(finish time-stamp)。路由器根据上述时标来决定下一转发数据包。基于时标的算法最常见的有WFQ、WF2Q等。
  
  另一类调度算法是基于轮转调度机制的,它们的工作原理与操作系统里的多任务轮转调度有类似之处。基于轮转的调度算法通常有WRR、DRR等。
  
  基于优先级的队列治理能根据预先规定或用户指定的优先级,调度不同队列的数据包转发。
  
  路由器通常还在队列中使用RED(随即早期侦测)、WRED(加权随即早期侦测)等机制来避免拥塞。
  
  MPLS技术
  
  作为一种高效的IP骨干网技术平台,MPLS技术为下一代的IP网络提供了一种灵活的而且具有可扩展性的骨干网交换技术基础。使用MPLS技术,将可以大大提高网络的运行效率,可以实现对IP网上业务的QoS划分,并且可以通过流量工程对网络的资源进行合理的分配,实现约束路由。借助于这些能力,MPLS网络还将能够提供高效的VPN业务、实时业务等。可以说,MPLS技术很有可能成为IP网络向下一代的电信级的IP网络演进中的要害技术。所以MPLS技术也可能是路由器是否成为下一代IP网络的核心设备的要害。
  
  虽然MPLS拥有种种优点,但是在大网上还没有广泛应用。原因在于协议不成熟,多厂商互通性存在问题,MPLS跨AS甚至跨Area存在问题,VC Merge(VC合并)需要研究。然而在目前看来,MPLS是实现基于网络VPN最理想的方案并且能够实现流量工程。未来IP网的研究必须探讨采用MPLS的可能性。路由器设备必须考虑实现MPLS。
  
  VPN技术
  
  VPN是指在公用网络上建立虚拟私有网。可以从不同的角度对VPN进行分类:
  
  按接入方式划分
  专线VPN:为已经通过专线接入ISP边缘路由器的用户提供的VPN实现方案。
  拨号VPN(又称VPDN):指为利用拨号PSTN或ISDN接入 ISP的用户提供的VPN业务。
  按协议类型划分
  第二层隧道协议:点到点隧道协议(PPTP)、第二层转发协议(L2F)、第二层隧道协议(L2TP)。
  第三层隧道协议:通用路由封装协议(GRE)、IP安全(IPSec)。
  MPLS隧道协议可以看成在第二层和第三层之间。
  按VPN的发起方式划分
  客户发起(也称基于客户的):VPN服务提供的起始点和终止点是面向客户的,其内部技术构成、实施和治理对VPN客户可见。
  服务器发起(也称客户透明方式或基于网络的):在公司中心部门和ISP处(称为POP)安装VPN软件,客户无须安装任何非凡软件。
  按目前运营商所开展的类型划分
  拨号VPN业务(VPDN):就是第一种划分方式中的VPDN。
  虚拟租用线(VLL):是对传统的租用线业务的仿真,以IP网络对租用线进行模拟,而这样一条虚拟租用线两端的用户看来,该虚拟租用线等价于过去的租用线。
  
  虚拟专用路由网(VPRN)业务:包括两类,一是使用传统的VPN协议,如 IPSec、GRE等实现的VPRN。另外一种是MPLS方式的VPN。
  
  路由器上的QoS
  
  路由器上的QoS可以通过下面几种手段获得:
  
  通过大带宽得到。在路由器上除增加接口带宽以外不作任何额外工作来保障QoS。
  由于数据通信没有相应公认的数学模型作保障,该方法只能粗略地使用经验值作估计。通常认为当带宽利用率到达50%以后就应当扩容,保证接口带宽利用率小于50%。
  通过端到端带宽预留实现。该方法通过使用RSVP或者类似协议在全网范围内通信的节点间端到端预留带宽。该方法能保证QoS,但是代价太高,通常只在企业网或者私网上运行,在大网公网上无法实现。
  通过接入控制、拥塞控制和区分服务(DiffServ)等方式得到。该方式无法完全保证QoS。这能与增加接口带宽等方式结合使用,在一定程度上提供相对的CoS。
  通过MPLS流量工程得到。
  路由器安全性
  
  路由器的安全性分两方面,一方面是路由器本身的安全,另一方面是数据的安全。
  
  由于路由器是互联网的核心,是网络互连的要害设备。所以路由器的安全要求比其他设备的安全性要求更高。主机的安全漏洞最多导致该主机无法访问,路由器的安全漏洞可能导致整个网络不可访问。
  
  路由器的安全漏洞可能存在治理上原因和技术上原因。在治理上,对路由器口令糟糕的选择、路由协议授权机制的不恰当使用、错误的路由配置都可能导致路由器工作出现问题。技术上路由器的安全漏洞可能有如下方面:
  
  恶意攻击。如窃听、流量分析、假冒、重发、拒绝服务、资源非授权访问、干扰、病毒等攻击。
  软件漏洞。后门、操作系统漏洞、数据库漏洞、TCP/IP协议漏洞、网络服务等都可能会存在漏洞。
  路由器所传递数据的安全可以由网络提供或者用户提供。假如由网络提供则只与接入路由器相关。通常可以由接入路由器提供IPSec安全通道来保证安全。