基于Intel网络处理器的防火墙中带宽管理模块的设计与实现

基于Intel网络处理器的防火墙中带宽管理模块的设计与实现

论文摘要

随着人们对语音、视频等多媒体业务的需求不断增加,网络得到了迅猛的发展。学校、企业、银行、政府机关等单位都拥有了自己的局域网。这些局域网最终都通过互联网实现互联,并通过它来传递一些商业信息及其他重要数据。同时网络的安全性成为互联网用户必须面对的问题,因此,保护局域网的安全成为一项十分重要的课题。其中,在网络入口处安装防火墙是一个极为有效的方法。防火墙是网络安全中应用最多的技术,而传统的网络设备一般采用硬件芯片或者基于纯粹的软件方案,很难兼顾性能与灵活性两方面的要求。于是,并行可编程的网络处理器的出现将网络技术的发展推向一个新的阶段。在网络处理器上开发防火墙,利用其可编程特性,可以灵活的实现防火墙技术,同时,网络处理器的线性处理速度,可以很好的满足网络的性能。我们开发基于IXP2400网络处理器的千兆防火墙,可以为用户提供很好的网络性能和网络安全性。本文主要基于作者在研究生学习期间关于英特尔系列网络处理器所做的一些研发工作展开,首先介绍了英特尔IXP2400网络处理器和防火墙的一些基础知识:其中着重讲述了英特尔公司的IXP2400网络处理器的硬件体系结构、软件体系结构及IXA软件框架;接着介绍了防火墙的一些基础知识,主要包括防火墙的技术背景、概念、分类及其关键技术。随后介绍了IXP2400千兆防火墙的整体情况,主要包括:NeTrust NP系统硬件结构、软件结构(数据平面、控制平面、管理平面及Xscale和微引擎上的结构)。然后重点介绍了其中带宽管理模块的设计和实现,主要包括:总体设计方案以及本模块初始化、内部处理和消息处理的具体设计与实现。最后介绍了该软件的调试及测试情况其中包括了相应的测试内容及结果。

论文目录

  • 摘要
  • ABSTRACT
  • 目录
  • 第1章 网络处理器及防火墙技术概述
  • 1.1 网络处理器概述
  • 1.1.1 网络处理器简介
  • 1.1.2 网络处理器的技术特点
  • 1.1.3 网络处理器的应用
  • 1.1.4 网络处理器的体系结构
  • 1.1.4.1 硬件体系结构
  • 1.1.4.2 软件体系结构
  • 1.1.4.3 英特尔IXA软件框架
  • 1.2 防火墙概述
  • 1.2.1 防火墙技术背景
  • 1.2.2 防火墙的基本概念
  • 1.2.3 防火墙的分类
  • 1.2.3.1 包过滤防火墙
  • 1.2.3.2 应用级防火墙
  • 1.2.4 防火墙的关键技术
  • 第2章 基于IXP2400的千兆防火墙的设计与实现
  • 2.1 NeTrust NP系统硬件结构
  • 2.2 NeTrust NP千兆防火墙系统软件结构
  • 2.2.1 NeTrust NP千兆防火墙软件系统总体结构
  • 2.2.2 数据平面功能模块
  • 2.2.3 控制平面功能模块
  • 2.2.4 管理平面功能模块
  • 2.3 IXP2400软件结构分配
  • 2.3.1 XScale上的软件结构
  • 2.3.2 微引擎上的软件结构
  • 第3章 带宽管理模块的设计与实现
  • 3.1 模块功能描述和总体结构设计
  • 3.2 各子模块详细介绍
  • 3.2.1 初始化模块详细介绍
  • ccbwminit'>3.2.1.1 ixccbwminit
  • bcnlbwminitmem初始化阶段分配内存空间'>3.2.1.2bcnlbwminitmem初始化阶段分配内存空间
  • bcnlbwminitmutexsem初始化阶段分配信号'>3.2.1.3bcnlbwminitmutexsem初始化阶段分配信号
  • bcnlbwmregisterhandler注册消息处理函数和其他处理进程'>3.2.1.4bcnlbwmregisterhandler注册消息处理函数和其他处理进程
  • ccbwmfini(主函数)'>3.2.1.5 ixccbwmfini(主函数)
  • bcnlbwmreleasemem释放分配的内存空间'>3.2.1.6bcnlbwmreleasemem释放分配的内存空间
  • bcnlbwmreleasemuxsem释放分配的信号量'>3.2.1.7bcnlbwmreleasemuxsem释放分配的信号量
  • bcnlbwmremovehandler释放所有的处理进程和处理行数'>3.2.1.8bcnlbwmremovehandler释放所有的处理进程和处理行数
  • 3.2.2 令牌桶相关模块(内部函数)详细介绍
  • bcnlbwmlinkbucket(当使用一个bucket时注册它)'>3.2.2.1bcnlbwmlinkbucket(当使用一个bucket时注册它)
  • bcnlbwmunlinkbucket当一个flow完成使用bucket时从这个令牌桶中注册掉一个连接'>3.2.2.2bcnlbwmunlinkbucket当一个flow完成使用bucket时从这个令牌桶中注册掉一个连接
  • bcnlbwmaddbucket新增一个令牌桶及其参数'>3.2.2.3bcnlbwmaddbucket新增一个令牌桶及其参数
  • bcnlbwmdelbucket将现有的一个令牌桶删除'>3.2.2.4bcnlbwmdelbucket将现有的一个令牌桶删除
  • bcnlbwmaddipconf加入令牌桶的配置ip段'>3.2.2.5bcnlbwmaddipconf加入令牌桶的配置ip段
  • bcnlbwmaddipinsortarea加入配置ip地址段到排序区'>3.2.2.6bcnlbwmaddipinsortarea加入配置ip地址段到排序区
  • bcnlbwmchgicmp修改icmp参数'>3.2.2.7bcnlbwmchgicmp修改icmp参数
  • bcnlbwmchgother修改除icmp其他所有协议的参数'>3.2.2.8bcnlbwmchgother修改除icmp其他所有协议的参数
  • bcnlbwmprocbucket(处理令牌桶指令处理进程)'>3.2.2.9bcnlbwmprocbucket(处理令牌桶指令处理进程)
  • bcnlbwmdobucketcmd(处理与令牌桶相关的指令)'>3.2.2.10bcnlbwmdobucketcmd(处理与令牌桶相关的指令)
  • bcnlbwmcheckaddbucket当指令为add的参数检查'>3.2.2.11bcnlbwmcheckaddbucket当指令为add的参数检查
  • bcnlbwmcheckaddipcfg检查当指令为add ip cfg的参数检查'>3.2.2.12bcnlbwmcheckaddipcfg检查当指令为add ip cfg的参数检查
  • bcnlbwmcheckbucketidbucketid参数检查'>3.2.2.13bcnlbwmcheckbucketidbucketid参数检查
  • bcnlbwmcheckcirupcir和downcir参数检查'>3.2.2.14bcnlbwmcheckcirupcir和downcir参数检查
  • bcnlbwmcheckipcfg配置ip地址段参数检查'>3.2.2.15bcnlbwmcheckipcfg配置ip地址段参数检查
  • 3.2.3 管理相关模块详细说明
  • bcnlbwmmancmdprocess(处理配置命令进程,该进程使用一个输入命令缓冲区从其中提取命令进行处理)'>3.2.3.1bcnlbwmmancmdprocess(处理配置命令进程,该进程使用一个输入命令缓冲区从其中提取命令进行处理)
  • 3.2.4 连接相关模块详细说明
  • bcnlbwmaddconnect加入连接'>3.2.4.1bcnlbwmaddconnect加入连接
  • bcnlbwmdelconnect删除连接'>3.2.4.2bcnlbwmdelconnect删除连接
  • bcnlbwmctlcmdprocess连接的建立与拆除命令处理进程'>3.2.4.3bcnlbwmctlcmdprocess连接的建立与拆除命令处理进程
  • 3.3 带宽管理模块内部的数据结构
  • 3.3.1 公共内容区(全局变量)
  • 3.3.2 内部变量
  • 3.3.3 错误号定义
  • 3.3.4 其它定义
  • 3.4 与其他模块的接口
  • 3.4.1 与管理平面之间的消息
  • 3.4.2 与流模块的消息结构
  • 第4章 调试与测试
  • 4.1 测试目的
  • 4.2 测试内容
  • 4.3 测试方法
  • 4.4 测试结果
  • 结束语
  • 英文缩略语索引
  • 参考文献
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  

    基于Intel网络处理器的防火墙中带宽管理模块的设计与实现
    下载Doc文档

    猜你喜欢