基于ACR的硬件抽象层结构及关键技术研究
时间:08-30
来源:互联网
点击:
目前,大多数路由器均采用分布式转发、集中式路由处理的体系结构。该结构方式使主处理单元与各从处理单元可以根据所处位置及执行任务的不同采用不同的处理方式,但也使顶层管理软件对底层各从处理单元难以进行协调统一的管理。硬件抽象层HAL(Hardware Abstraction Layer)在逻辑上介于底层硬件与上层协议软件之间,维护两者之间的数据传递,并对底层各接口模块进行管理,屏蔽底层硬件细节,使得应用软件可以通过控制HAL达到操纵底层硬件的目的。高性能路由器硬件抽象层的提出成功解决了分布式路由器面临的通用性支撑软件系统结构的设计问题,为构建开放通用的路由器软件基础平台提供了保证。
随着路由器承载业务能力的不断增强,大规模接入汇聚路由器的设计与实现也被提上了议事日程。ACR(大规模接入汇聚路由器)是3Tnet(高性能宽带网)网络的关键设备。该设备采用ACR宽带接入方式,即通过带有远端用户接口单元(RIU)、基于以太网传输接口的分合路器(EMDi)组成树形分叉地域分布式系统构架,保证大规模的用户直接接入骨干高速网络,实现视频点播、网络电视、IP电话等宽带业务,从而更加减化了网络拓扑结构,使业务引入更加快速,运营策略更加多样化。
大规模用户接入方式也给路由器硬件抽象层的实现方式及信息的实时、高速传输提出了新的挑战,主要表现在以下几个方面:首先,承载业务量的数量及种类的增多对路由器内部通信的实时性、高效性提出了更多的要求;其次,大规模用户接入方式增加了路由器对外接口的数量,从而带来了设备管理上的难度;再次,从系统的通用性及可扩展性考虑,要求构建一种具有可扩展性且不依赖于硬件具体实现方式的软件体系结构,方便路由软件的移植和应用。由此可见,硬件抽象层的高度稳定性、可扩展性及可靠性将直接影响路由器的各项性能指标。
由于大规模用户接入方式的特性,使得以前基于IPv6路由器的硬件抽象层的实现方式已经不适应数据高速传输及多用户接入的管理方式。本文将在讨论硬件抽象层基本结构的基础上,提出一种适用于大规模接入汇聚路由器的HAL的通用性软件结构设计及实现方式,提供高效、可靠的内部通信,并针对多用户接入数量不确定的情况,提出动态加载虚拟驱动模块的实现方法,增强路由器面向ACR接入方式的可用性。
1 硬件抽象层基本结构及功能实现
根据文献提出的方案,高性能路由器硬件抽象层可分为内部通信、虚拟驱动及设备管理三大模块,这三部分模块相互配合,共同完成面向实际的用户设备接口的功能模拟及硬件细节的屏蔽,并对其进行统一协调的管理。硬件抽象层对用户设备接口的功能模拟主要由虚拟驱动模块完成,包括数据包的收发及协议报文的预处理等工作,为上层协议软件提供标准的API函数;而对用户设备的接口管理则由上层网络管理软件通过设备管理模块对其进行管理配置及监控;内部通信模块运行于内部以太网络,协调各模块之间的功能接口,保证各从处理单元与主处理单元之间实时可靠的数据传输。其基本结构如图1所示。
图1 硬件抽象层基本结构示意图
根据各模块的功能可知,硬件抽象层内部通信模块是各分处理单元与主处理单元信息交互的重要传输通道。内部通信模块汇集各底层设备的数据并根据类型分流至各上层处理模块,同时,数据维护模块对虚拟设备及各处理单元的维护信息也需要通过内部通信模块进行。因此,内部通信模块采用何种基于内部以太网的数据传输实现方式,对路由器内部数据的实时、有效、可靠传输起着至关重要的作用。当前内部通信模块采用基于分隔符的TCP传输方式,在应用层数据包的起始部分附加有特定格式的分隔符和数据长度域,解决了由于Nagle算法产生的包粘滞问题。但该方式没能解决TCP传输方式的消耗过大、实时性不强的问题。同时,消除分割符恢复报文的完整性也增加了应用程序的处理复杂度,从而不可避免地增加系统的开销并降低系统的实时性。系统的实时性对于用户业务急剧增多的ACR路由器而言是一个迫切需要解决的问题。UDP是一个面向消息的传输协议,其最大数据缓冲区长度为8192~65536字节,满足一次传输一个完整报文的条件。在内部以太网中采用UDP传输方式具有明显的优势。但由于UDP协议的无连接性,导致它是一个不可靠传输,文中第二部分将讨论如何实现一种基于UDP的内部通信的可靠性传输机制。
硬件抽象层对用户设备接口的功能模拟主要通过虚拟驱动进行,路由器业务类型的扩展使得用户接口数量增多并呈现接入时间的不确定性,从而带来用户设备管理上的难度。针对此种情况,文中第三部分提出动态加载虚拟驱动模块的实现方法,增强路由器面向多用户接入方式的可用性。
随着路由器承载业务能力的不断增强,大规模接入汇聚路由器的设计与实现也被提上了议事日程。ACR(大规模接入汇聚路由器)是3Tnet(高性能宽带网)网络的关键设备。该设备采用ACR宽带接入方式,即通过带有远端用户接口单元(RIU)、基于以太网传输接口的分合路器(EMDi)组成树形分叉地域分布式系统构架,保证大规模的用户直接接入骨干高速网络,实现视频点播、网络电视、IP电话等宽带业务,从而更加减化了网络拓扑结构,使业务引入更加快速,运营策略更加多样化。
大规模用户接入方式也给路由器硬件抽象层的实现方式及信息的实时、高速传输提出了新的挑战,主要表现在以下几个方面:首先,承载业务量的数量及种类的增多对路由器内部通信的实时性、高效性提出了更多的要求;其次,大规模用户接入方式增加了路由器对外接口的数量,从而带来了设备管理上的难度;再次,从系统的通用性及可扩展性考虑,要求构建一种具有可扩展性且不依赖于硬件具体实现方式的软件体系结构,方便路由软件的移植和应用。由此可见,硬件抽象层的高度稳定性、可扩展性及可靠性将直接影响路由器的各项性能指标。
由于大规模用户接入方式的特性,使得以前基于IPv6路由器的硬件抽象层的实现方式已经不适应数据高速传输及多用户接入的管理方式。本文将在讨论硬件抽象层基本结构的基础上,提出一种适用于大规模接入汇聚路由器的HAL的通用性软件结构设计及实现方式,提供高效、可靠的内部通信,并针对多用户接入数量不确定的情况,提出动态加载虚拟驱动模块的实现方法,增强路由器面向ACR接入方式的可用性。
1 硬件抽象层基本结构及功能实现
根据文献提出的方案,高性能路由器硬件抽象层可分为内部通信、虚拟驱动及设备管理三大模块,这三部分模块相互配合,共同完成面向实际的用户设备接口的功能模拟及硬件细节的屏蔽,并对其进行统一协调的管理。硬件抽象层对用户设备接口的功能模拟主要由虚拟驱动模块完成,包括数据包的收发及协议报文的预处理等工作,为上层协议软件提供标准的API函数;而对用户设备的接口管理则由上层网络管理软件通过设备管理模块对其进行管理配置及监控;内部通信模块运行于内部以太网络,协调各模块之间的功能接口,保证各从处理单元与主处理单元之间实时可靠的数据传输。其基本结构如图1所示。
图1 硬件抽象层基本结构示意图
根据各模块的功能可知,硬件抽象层内部通信模块是各分处理单元与主处理单元信息交互的重要传输通道。内部通信模块汇集各底层设备的数据并根据类型分流至各上层处理模块,同时,数据维护模块对虚拟设备及各处理单元的维护信息也需要通过内部通信模块进行。因此,内部通信模块采用何种基于内部以太网的数据传输实现方式,对路由器内部数据的实时、有效、可靠传输起着至关重要的作用。当前内部通信模块采用基于分隔符的TCP传输方式,在应用层数据包的起始部分附加有特定格式的分隔符和数据长度域,解决了由于Nagle算法产生的包粘滞问题。但该方式没能解决TCP传输方式的消耗过大、实时性不强的问题。同时,消除分割符恢复报文的完整性也增加了应用程序的处理复杂度,从而不可避免地增加系统的开销并降低系统的实时性。系统的实时性对于用户业务急剧增多的ACR路由器而言是一个迫切需要解决的问题。UDP是一个面向消息的传输协议,其最大数据缓冲区长度为8192~65536字节,满足一次传输一个完整报文的条件。在内部以太网中采用UDP传输方式具有明显的优势。但由于UDP协议的无连接性,导致它是一个不可靠传输,文中第二部分将讨论如何实现一种基于UDP的内部通信的可靠性传输机制。
硬件抽象层对用户设备接口的功能模拟主要通过虚拟驱动进行,路由器业务类型的扩展使得用户接口数量增多并呈现接入时间的不确定性,从而带来用户设备管理上的难度。针对此种情况,文中第三部分提出动态加载虚拟驱动模块的实现方法,增强路由器面向多用户接入方式的可用性。
Linux 相关文章:
- 在Linux下使用ADSL(01-26)
- 使用 ADSL 动态 IP 建置虚拟主机(01-26)
- 做个ADSL+LINUX软路由器(01-26)
- 在嵌入式Linux实现802.11b无线网关(03-02)
- 如何保证Linux操作系统下的密码安全 (04-28)
- 在Linux系统下优化Oracle具体步骤(05-01)