可能好多人还不了解各种路由器关键技术,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。如果能实现真正的QoS,对于互联网变为一个商业应用的网络来说,当然是最理想的。
在目前网络阻塞无法避免的情况下,IETF提出了一些模型和机制来支持QoS,主要有两种实现框架,即IS(Integrated Service)和DS(Differentiated Service)。其中,IS应用资源预留协议(RSVP),在实时业务发送前建立发送通道并预留资源;而DS通过给数据包做标记将数据包分类,使不同的数据包享受不同的服务。实现真正的QoS有一定的难度,无论是采用输出缓冲,还是共享缓冲的交换结构,内部都需要N倍的加速。
路由器关键技术之MPLS和流量工程
在互联网上,可以通过MPLS支持显式路由。显式路由可以弥补传统IP网络中OSPF(Open Shortest Path First)协议在源和目的之间只建立一条最短路径的不足。它的好处是,ISP可以在两点之间的不同路径上分配业务量,从而减少业务繁忙的路径的阻塞率,提高线路的利用率,提供一定程度的QoS保证。还可以通过显式路由建立冗余线路,在某些路由器发生故障的情况下,保证通信线路的畅通。IETF的相关工作组和许多网络设备厂商正在进行这方面的工作,并且已经提出了一些实现方案。
路由器关键技术之阻塞控制
TCP协议采用滑动窗口机制进行流量和阻塞控制,实际上是发送端根据网络的阻塞情况调整自己的发送速率。TCP协议有两个特点,一是不公平性,RTT(Round Trip Time)短的进程发送窗口增加得快,会占用更大的带宽。路由器应该抑制这种不公平性。另一个是同步现象,以前的路由器采用的尾丢弃策略在网络阻塞时,有可能导致许多TCP连接的发送窗口同时急剧下降,然后又同时上升而导致阻塞;如此循环往复,线路的利用率很低。这种现象称为同步,路由器应该采取措施以避免这种现象的发生。
路由器处理阻塞的一个主要措施就是利用TCP协议的丢包性质。当分组丢失时,TCP会降低发送速率,从而减轻路由器的负担。由于TCP协议对丢包很敏感,丢包会造成发送速率急剧下降,路由器应该针对TCP的性能对缓冲管理进行优化,以避免网络性能的急剧下降。目前,许多路由器采用随机早期检测(RED Random Early Detection)的方法来进行阻塞控制。这种方法通过在阻塞发生前提早丢包,使得终端降低发送速率,以减轻网络负载,避免阻塞,抑制同步现象。RED算法的***缺点是:只对类似TCP协议自动进行流控的传输层协议起作用;对于UDP协议路由器丢包并不会促使发送端降低发送速率。由于TCP数据流量在网络中所占的比重很大,RED算法的性能还是比较好的。互联网上许多路由器都采用了这种方法进行阻塞控制,事实证明这种方法效果良好。
路由器关键技术之软件的重要性
过去,路由器被看作是***转发数据包的硬件设备,软件仅提供监视器的功能。但随着路由器的发展,软件在路由器中起的作用越来越大。实际上,实时操作系统(如,通信领域常用PSOS和VxWorks)的选择对一个通信产品来说是至关重要的。如果要开发效率很高的软件,需要操作系统厂商的支持。像Cisco公司,就是自己开发专用的路由器操作系统以及应用软件。如果这种趋势继续发展,终端用户将来可以很方便地在路由器上装载各种应用软件模块,使路由器能够提供防火墙、流量管理策略、特殊应用信令、路由策略等功能。
路由器关键技术之网管系统
目前的网管协议是简单网管协议版本2.0(SNMPv2,Simple Network management Protocol v2.0),在TCP/IP协议中用UDP协议实现。由于路由器在体系结构上的变化,使得一些网管信息需要由底层的硬件来提供,这一点和以前的实现方法是不同的。这里的工作主要是通过网管功能和管理信息数据库(MIB-Management Information Base)的实现来给网络管理者提供充足的管理信息和强大、灵活的管理功能。
路由器关键技术之计费
对用户的数据流量进行计费需要提取IP包的地址、端口、CoS等信息,由于端口速率很高,这部分信息的数据量也是比较大的,如果在接口板上进行处理很不现实。而且,不同的ISP收费的标准很可能是不一样的。因此,应该将计费功能分离出去,路由器接口板只负责提供一个计费信息的接口,把计费信息送出来。之后,可以将这些数据写到外部存储设备,由专门的机器进行计费处理。这样将减轻路由器的负担,计费功能的实现也更加灵活。
路由器关键技术之配置
路由器的配置是一项非常重要而又较困难的工作,一旦出现错误配置,不但难以发现,而且会出现一些难于琢磨的性能问题。随着路由技术的发展,其配置会越来越简单和有效,这个问题的完善解决将是一个长期的工作。
路由器关键技术之软件的稳定性
大家知道,路由器的硬件可以用热备份、双电源供电、数据通路备份等方法来提高稳定性,但对于软件的稳定性则是一个较难解决的问题。一个大网络系统的稳定性的前提条件是软件的稳定性。软件稳定性的难点在于软件的状态均受不同软件相互作用的影响。