路由器的发展很快,在结构上也有很大的改善,于是我研究了一下路由器结构,在这里拿出来和大家分享一下,希望对大家有用。从体系结构上看,路由器结构可以分为第一代单总线单CPU结构路由器、第二代单总线主从CPU结构路由器、第三代单总线对称式多CPU结构路由器。
路由器结构
路由器结构具有四个要素:输入端口、输出端口、交换开关和路由处理器。输入端口是物理链路和输入包的进口处。端口通常由线卡提供,一块线卡一般支持4、8或16个端口,一个输入端口具有许多功能。第一个功能是进行数据链路层的封装和解封装。第二个功能是在转发表中查找输入包目的地址从而决定目的端口(称为路由查找),路由查找可以使用一般的硬件来实现,或者通过在每块线卡上嵌入一个微处理器来完成。第三,为了提供QoS(服务质量),端口要对收到的包分成几个预定义的服务级别。第四,端口可能需要运行诸如SLIP(串行线网际协议)和PPP(点对点协议)这样的数据链路级协议或者诸如PPTP(点对点隧道协议)这样的网络级协议。一旦路由查找完成,必须用交换开关将包送到其输出端口。如果路由器结构是输入端加队列的,则有几个输入端共享同一个交换开关。这样输入端口的最后一项功能是参加对公共资源(如交换开关)的仲裁协议。
交换开关可以使用多种不同的技术来实现。迄今为止使用最多的交换开关技术是总线、交叉开关和共享存贮器。最简单的开关使用一条总线来连接所有输入和输出端口,总线开关的缺点是其交换容量受限于总线的容量以及为共享总线仲裁所带来的额外开销。交叉开关通过开关提供多条数据通路,具有N×N个交叉点的交叉开关可以被认为具有2N条总线。
如果一个交叉是闭合,输入总线上的数据在输出总线上可用,否则不可用。交叉点的闭合与打开由调度器来控制,因此,调度器限制了交换开关的速度。在共享存贮器路由器结构中,进来的包被存贮在共享存贮器中,所交换的仅是包的指针,这提高了交换容量,但是,开关的速度受限于存贮器的存取速度。尽管存贮器容量每18个月能够翻一番,但存贮器的存取时间每年仅降低5%,这是共享存贮器交换开关的一个固有限制。
输出端口在包被发送到输出链路之前对包存贮,可以实现复杂的调度算法以支持优先级等要求。与输入端口一样,输出端口同样要能支持数据链路层的封装和解封装,以及许多较高级协议。路由处理器计算转发表实现路由协议,并运行对路由器结构进行配置和管理的软件。同时,它还处理那些目的地址不在线卡转发表中的包。