论文部分内容阅读
随着互联网技术的快速发展,宽带接入的普及程度越来越高,与此同时,宽带收费的标准也在逐渐降低。当前常见的宽带计费方式主要有包月制计费方式、基于时间的计费方式以及基于流量的计费方式。本文主要针对基于流量的计费方式,在小型公司、实验室、出租屋等局域网环境下,实现对局域网内用户流量的区分、统计与控制。 本论文从介绍嵌入式开源系统OpenWrt入手,分别对系统实现过程中所使用到的开发平台、交叉编译环境和关键技术进行了介绍。在此基础上本文提出了使用PPPoE服务器进行认证,基于Linux内核中Netfilter防火墙框架的数据包过滤与流量统计的设计方案。本文在OpenWrt系统及其交叉编译环境下完成了平台的搭建与功能模块的开发:包括PPPoE服务器、内核包过滤模块、轻型数据库SQLite、嵌入式Web服务器与守护进程。最后我们对所实现的基于OpenWrt的PPPoE流量控制系统进行了测试与分析。 本文主要研究与实现的工作包括以下几个方面: (1)详细介绍了基于Linux内核的开源路由器系统OpenWrt,通过构建交叉编译环境,实现对路由器的定制与开发。 (2)在局域网内构建PPPoE服务器,完成对局域网用户的认证。 (3)分析了基于Linux内核的Netfilter防火墙框架,通过注册并使用钩子函数,在内核空间完成对数据包的过滤与处理。 (4)利用mmap内存映射的方式,有效地实现了内核空间与用户空间的信息交互。 (5)使用嵌入式数据库SQLite和Web服务器,完成信息的存储及与用户的可视化交互。 (6)将内核模块与守护进程移植到路由器中安装运行,并对系统的功能进行了测试,基本达到了设计要求。