收藏 分销(赏)

移动业务海量数据处理系统收集和测试论文.doc

上传人:仙人****88 文档编号:9281899 上传时间:2025-03-19 格式:DOC 页数:35 大小:795KB
下载 相关 举报
移动业务海量数据处理系统收集和测试论文.doc_第1页
第1页 / 共35页
移动业务海量数据处理系统收集和测试论文.doc_第2页
第2页 / 共35页
点击查看更多>>
资源描述
毕业设计(论文) 第30页 毕业设计(论文) 设计论文题目: 移动业务海量数据处理 系统的收集和测试 学生姓名: 学生学号: 专业班级: 学院名称: 指导老师: 学院院长: 5 月 27 日 移动业务海量数据处理系统的收集和测试 摘 要 随着移动通信行业的发展,网络的优化显得尤为重要。而要进行网络优化,必须对海量网络参数进行采集和数据测试和分析,找出影响网络运行质量的原因。因此收集和测试移动业务的数据具有重要意义。 本文在Windows平台上设计和实现了一个数据收集和分析系统,系统依托于GSM/GPRS网络,集成了移动业务中的原始数据包的收集、过滤和分析功能。在设计和开发方面,本文利用多线程技术将数据包的收集和分析分别开来,以便加快数据收集的速度,能够实时捕获现网中的数据包。同时,系统根据用户的选择动态定制数据包过滤规则库,系统导入规则对数据过滤后进行分析,将数据信息显示在界面上并及时更新。 分析和实验结果表明,此系统可以较为及时地捕获数据包,并能对过滤出的数据包做出正确的分析。 关键词:网络优化,数据包,协议,数据收集,数据过滤 The collection and testing of Massive mobile business data processing system ABSTRACT With the mobile telecommunications sector development, network optimization it is particularly important. In order to optimize the network, the need for massive network parameters of testing and data collection and analysis to identify the impact of network operating quality reasons is necessary. Thus the collection and testing of mobile business data is of great significance. The paper based on the Windows platform design and implementation of a simple data collection and analysis system, the system is relying on the GSM / GPRS network, Integration of the original data package collection, filtering and analysis functions. In the design and development, this system uses a multi-threaded technical to separate data collection and analysis, In order to accelerate the speed of data collection, and capturing real-time network data packets, and the systems based on the user's choice of dynamic custom filtering rules, after using the rules to filter the data the system analysis the data packets, then show the information on the window page and can also be timely updates. The final analysis and experimental results show that this system can be timely capture data packets and filter out them, then make the right analysis. Keywords:network optimization, data packge, data collection, data filter 目 录 1 绪论 1 1.1 移动网络优化及数据收集和分析的必要性 1 1.1.1 移动网络质量的现状 1 1.1.2 网络优化的重要性 1 1.1.3 数据收集和分析对网络优化的作用 1 1.2 数据采集和分析技术的现状和发展趋势 2 1.2.1 数据采集和分析技术的现状 2 1.2.2 数据收集和分析技术的发展趋势 2 1.3 论文组织结构 3 2 移动网络的概述 4 2.1 移动网络架构的介绍 4 2.1.1 移动业务和网络的种类 4 2.1.2 移动网络的基本组成 5 2.2 GPRS网络的介绍 7 2.2.1 GPRS网络实体 7 2.2.2 GPRS网络的传输平面 9 2.3.3 GTP(GPRS隧道协议)的介绍 10 3 数据处理系统的设计 12 3.1 数据处理系统的介绍 12 3.2 数据处理系统的设计思想 13 3.2.1 多线程实现界面管理 13 3.2.2 基于WinPcap的数据包捕获 14 3.2.3 正则分析的数据包过滤 15 3.2.4 多协议的数据包解析 16 3.3 数据处理系统的应用 17 3.3.1 系统的部署 17 3.3.2 系统的其它应用 18 4 数据处理系统的实现 19 4.1 系统的总体结构 19 4.2 界面管理模块 20 4.2.1 管理界面的功能 20 4.2.2 各种管理界面的功能实现 22 4.3 数据包捕获模块 23 4.3.1 捕获模块的功能 23 4.3.2 模块的主流程以及相应的WinPcap库函数 23 4.4 数据包过滤模块 24 4.4.1 过滤模块的功能 24 4.4.2 选择协议和其它条件 24 4.5 数据包解析模块 25 4.5.1 解析模块的功能 25 4.5.2 各种协议的报头的类 25 5 数据处理系统的测试 28 5.1 测试方案 28 5.2 系统的性能 28 6 总结 29 致谢 30 参考文献 31 1 绪论 1.1 移动网络优化及数据收集和分析的必要性 1.1.1 移动网络质量的现状 现今,移动语音和数据业务主要承载于GSM/GPRS网络,移动业务网络发展到一定规模,覆盖范围方面已经得到相当不错的成就,但网络服务质量方面仍然不能满足用户的要求,主要原因是:网络扩容频繁,而扩容期间网络监控和保障不利,质量监控体系不完善,使得安装和开通过程中存在较多质量问题。同时各运营商对网络的投入也不足,扩容中遗留了很多问题,随着设备使用时间的增加,一些故障,特别是隐性故障逐渐增多,这类故障并未达到告警门限,但恶化了网络性能,而且网络优化并没有引起运营商足够的重视,种种这些导致了现在的移动网络质量并不尽如人意。 1.1.2 网络优化的重要性 随着中国信息产业更好更快发展,以及电信转型的不断深入,电信运营企业竞争日趋激烈。与此同时,现有通信网络的扩容、 3G业务平稳启动以及新一代网络的建设,都对网络质量提出更高要求。另一方面,电信用户对于业务需求的多样化和个性化,为转型期运营商带来新的发展机遇和挑战,运营商需要依靠高质量网络,带给用户完美服务体验。此外,伴随2008年奥运会对于奥运通信保障的重视,中国信息社会建设步伐的加快,也对网络质量提出全新需求。做好网络优化,保证服务质量,提升网络竞争力成为各大电信运营商工作的重点,业界关注的热点。 1.1.3 数据收集和分析对网络优化的作用 网络优化包括两个核心的内容:数据的采集分析和优化调整方案的实施。而数据采集是网络优化的前提和基础,网络优化之前需要收集大量的数据以为之后的网络质量分析提供依据,在这些数据中包含了很多描述网络状况的指标(例如:信令负荷、忙时鉴权次数、忙时TMSI 分配次数、VLR用户数、关机或脱网用户数、业务类型使用频率、忙时位置更新次数等),这就需要将截取的数据包解析为正确的数据文件,然后将这些数据文件提交给优化人员或其它专业人士,他们通过对解析出来的数据进做一部的分析和建模,就可以掌握整个网络的运行状态和质量状况,为维护及规划建设移动网络 合理化建议提供了依据,从而达到解决问题和优化网络的目的。 1.2 数据采集和分析技术的现状和发展趋势 1.2.1 数据采集和分析技术的现状 一般的网络优化活动分为两个阶段:先对现有的网络进行性能评估,对发现的问题进行分析,然后运用各种手段实施优化。而进行网络性能评估依靠的是大量的数据指标。 现在的网络优化数据采集和分析工作几乎都是由人手工来完成的,市面上为网络优化人员提供了一些辅助网络数据包抓取工具, 比如:Sniffer系列,Ethereal,SpyNet,Wireshark ,Wincap等,这些工具为专业人员提供了数据包采集的功能。但随着移动业务的增加和扩大,光靠着几个抓包工具和一些网络优化人员近手工的分析,面对移动网络中的海量数据,又缺乏统计手段,优化人员在工作上也已是力不从心。网络质量又势必会跟不上移动网络的更新和换代,从而又更加重了网络优化的负担。 1.2.2 数据收集和分析技术的发展趋势 面对日益复杂的移动网络状况和数以百万计的数据传输量,数据采集的及时性和分析的正确性也是不容忽视的重要方面,而优化人员也将渐渐达不到网络发展的水平另谋他法。 这其中的一种可行的方法,就是将这个棘手的工作交给几乎万能的电脑来做。即这个系统只需网络优化人员做出适当的配置,便可自动的抓取网络中流经的所有数据包,并遵守设定的规则对数据包进行过滤和解析,并存储入数据库中,在加入一些人工智能分析器,通过专业人员建立的模型及时准确的反映出网络的运行状况,为客户和运营商提供合理的解释和建议,从而达到网络优化分析到查询一体化。 网络优化中的数据通信收集和分析是一项复杂的工作,充分挖掘网络潜力,改善网络质量,获得客户的满意和企业最佳效益是网络优化的根本目的。 1.3 论文组织结构 本文先对移动网络的总体构架,通信流程,数据传输等原理进行概述,先要对移动业务网络的整体有了一定的了解,才能着手于网络优化和数据的收集分析,包括对一些接口,设备的认识等,这些背景知识有助于我们确定数据处理系统运行的方位和预期结果。然后本文将重点描述GTP(GPRS Tunelling protocol)隧道协议,因这系统在网络中抓取的原始数据包大部分是GTP协议的数据包,需要对协议有一定的了解,才能正确的解析数据包,再简要谈一谈TCP,UDP协议。最后本文将介绍系统的设计思路,工作流程等,此系统是基于Wincap工具所提供的库进行设计的,具有扩展性和可移植性的好处。 2 移动网络的概述 2.1 移动网络架构的介绍 2.1.1 移动业务和网络的种类 移动业务由传输的方式和内容分为两个大类: 一 语音业务,主要是常规的电话业务(还包手视频电话业务,多媒体业务等),它对及时性和准确性要求比较高,主要是承载于GSM网络段,只能提供电路交换的传输方式。 GSM(Global System for Mobile Communications 全球移动通讯系统),俗称"全球通",是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。GSM系统包括 GSM 900:900MHz、GSM1800:1800MHz 及 GSM-1900:1900MHz等几个频段。 二 数据业务,主要包括浏览页面业务,短信业务,游戏业务等,主要承载于GPRS网络段,是一种基于GSM系统的无线分组交换技术,提供端到端的、广域的无线IP连接。 GPRS (General Packet Radio Service 通用分组无线业务),是一种基于包的无线通讯服务,支持计算机和移动用户的持续连接。较高的数据吞吐能力使得可以使用手持设备和笔记本电脑进行电视会议和多媒体页面以及类似的应用。GPRS是基于GSM,并且能完成现有的一些服务,例如:蜂窝电话电路交换(circuit-switched)连接和短消息服务(SMS) GPRS是一种新的GSM数据业务,它可以给移动用户提供无线分组数据接入服务。GPRS主要是在移动用户和远端的数据网络(如支持TCP/IP、X.25等网络)之间提供一种连接,从而给移动用户提供高速无线IP和无线X.25业务。 GPRS采用分组交换技术,它可以让多个用户共享某些固定的信道资源。如果把空中接口上的TDMA帧中的8个时隙都用来传送数据,那么数据速率最高可达164kb/8.GSM空中接口的信道资源既可以被话音占用,也可以被GPRS数据业务占用。当然在信道充足的条件下,可以把一些信道定义为GPRS专用信道。 网络优化主要是针对比较复杂和数据量多的移动数据业务进行的。 2.1.2 移动网络的基本组成 如图 1.1 和 1.2 展现的就是移动网络中GSM部分的总体结构 图 1.1 图 1.2 如图1.3 和 1.4 展示的移动网络中GPRS部分的总体结构 图 1.3 图 1.4 移动台MS即是手机或车载台、可以配有终端设备和终端适配器,也可以是独立的带收发终端设备PCS手机,只要GSM网络提供此类业务,便可以通过无线接口,收发电子件等【2】。 基站收发台BTS(Base Transceiver Station)包括无线传输所需要的各种软件硬件,例如:发射仇。接收机,支持各小区结构所需要的天线(例如:全向。扇形。墨状和链状等,在网络信号覆盖的区域内,尽量做到不存在信号空隙。)连接基站控制器的接口电路,收发本身所需要的检测和控制装置等。3G365社区门户cK%L~ ~:yq5q 基站控制器BSC(Base Station Controller)是基站收发台和移动交换中心,操作维护中心之间的连接口,为它们之间的信息交换提供服务。其主要功能是进行无线信道管理,实施呼叫和通信链路的建立和拆除,并为本区内移动台的跨区切换进行控制等。 移动业务交换中心(MSC),对于位于它管辖区域中的移动台进行控制和交换的功能实体; 拜访位置寄存器(VLR VISITOR LOCATION REGISTER),它存储与呼叫处理有关的一些数据,例如用户的号码,所处位置区的识别,向用户提供的服务等参数; 归属位置寄存器(HLR HOME LOCATION REGISTER),它是管理部门用于移动用户管理的数据库; 设备识别寄存器 (EIR),存储有关移动台设备参数的数据库; 鉴权中心(AUC Authentication Center); 操作维护中心(OMC),它是操作维护系统中的各功能实体; 由上面四幅图可以看出移动网络中GPRS网络是由GSM网络发展而来的,两者在无线网传输方面是合为一体的,在MSC处根据不同的业务(语音或数据业务),而选择不同的承载网络,由于GPRS是GSM系统中提供分组业务的一种方式,所以它能广泛应用于IP域。其移动终端通过GSM网络提供的寻址方案和运营商的具体网间互通协议实现全球网间通信。这就是整个移动网络的总体结构。由于GPRS网络是研究重点,下面将进行详细介绍。 2.2 GPRS网络的介绍 2.2.1 GPRS网络实体 要实现GPRS网络,需要在传统的GSM网络中引入新的网络接口和通信协议。目前GPRS网络引入GSN(GPRS Surporting Node, GPRS支持节点)。移动台则必须是GPRS移动台或GPRS/GSM双模移动台。GSN有两种类型:一种为SGSN(Serving GPRS Supporting Node,服务GPRS支持节点),另一种为GGSN(Gateway GPRS Supporting Node,网关GPRS支持节点)。 移动的数据业务是将GPRS分组从基站发送到GPRS服务支持节点(SGSN),而不是通过移动交换中心(MSC)连接到语音网络上,SGSN与GPRS网关支持节点(GGSN)进行通信;GGSN对分组数据进行相应的处理,再发送到目的网络,如因特网或X.25网络。 来自因特网标识有移动台地址的IP包,由GGSN接收,再转发到SGSN,继而传送到移动台上。 SGSN是GSM网络结构中的一个节点,它与MSC处于网络体系的同一层。SGSN通过帧中继与BTS相连,是GSM网络结构与移动台之间的接口【1】。 SGSN的主要作用是记录移动台的当前位置信息,并且在移动台和GGSN之间完成移动分组数据的发送和接收。GGSN主要是起网关作用,它可以和多种不同的数据网络连接,如ISDN、PSPDN和LAN等。有的文献中,把GGSN称为GPRS路由器。GGSN可以把GSM网中的GPRS分组数据包进行协议转换,从而可以把这些分组数据包传送到远端的TCP/IP或X.25网络。 SGSN和GGSN利用GPRS隧道协议(GTP)对IP或X.25分组进行封装,实现二者之间的数据传输。图1.5给出了GPRS网络结构的接入与参考点的简图。 图 1.5 GGSN到外部分组网络是通过Gi参考点连通的,而与其他GPRS网络是通过Gp接口连通的。 由于GPRS网络增加了两个新的服务节点,需要对原有的GSM网络上的设备命名新的接口。如图 1.6 展现了移动网络中的各种接口。 图1.6 2.2.2 GPRS网络的传输平面 和GSM相比,GPRS体现了分组交换和分组传输的特点,即数据和信令是基于统一的传输平面,从图1.9可以看出,在数据传输所经过的几个接口,传输层(LLC)以下的协议结构对于数据和信令是相同的。而在GSM中,数据和信令只在物理层上相同【3】。 数据传输平面如0所示: 图 1.7 GPRS数据传输平台 对其中的协议层说明如下: 1. GTP(GPRS Tunnel Protocol,GPRS隧道协议):该协议在GPRS骨干网络内部和GPRS支持节点之间采用隧道方式传输用户数据和信令。所有的点对点的、采用PDP的分组数据单元都将通过GPRS隧道协议进行封装打包【5】。 2. UDP/TCP:传输层协议,建立端到端连接的可靠链路,TCP具有保护和流量控制功能,确保数据传输的准确,TCP是面向连接的协议。UDP则是面向非连接的协议,UDP不提供错误恢复能力,也不关心是否已正确接收了报文,只充当数据报的发送者和接收者。 3. IP:GPRS骨干网络协议,用于用户数据和控制信令的路由选择。 4. SNDCP(Sub-Network Dependent Convergence Protocol,子网会聚协议):该传输功能将网络层特性映射成低层网络特性。 5. L2:数据链路层协议,可采用一般的以太网协议。 6. L1:物理层。 7. NS(Network Service,网络业务):传输BSSGP协议数据单元。它建立在BSS和SGSN之间帧中继连接的基础之上,并且可以穿越帧中继交换节点网络。 8. BSSGP:该层包含了网络层和一部分传输层功能,主要解释路由信息和服务质量信息。 9. Relay(中继):在BSS侧,中继转发Um接口与Gb接口之间的LLC PDU包。而在SGSN,则中继转发Gb接口和Gn接口的PDP PDU包。 10. LLC(Logical Link Control,逻辑链路控制):传输层协议,提供端到端的可靠无差错的逻辑数据链路。 11. MAC:介质控制接入层,属于链路层协议,控制无线信道的信令接入过程以及将LLC帧映射成GSM物理信道。 12. RLC:无线链路控制子层,属于链路层和网络层协议,提供与无线解决方案有关的可靠链路。 2.3.3 GTP(GPRS隧道协议)的介绍 在GPRS系统的GSN(GPRS Support Node,包括SGSN 和GGSN)之间采用GTP(GPRS Tunnel Protoco1)协议,GTP在整个GPRS协议栈中起着举足轻重的作用,GTP协议承载在TCP或UDP协议之上,分为倍令平面和传输平面,其信令平面义了多种消息。涉及到GPRS许多重要方面,传输平面则提供了GSN之间数据包传送的隧道。另外以GTP为基础的GTP’协议用于GPRS计费数据采集和传输,深入理解GTP协议是熟悉GPRS网络所必须的。 GTP 版本 0 支持信令和在一个普通报头下的用户数据。它能够与 UDP(用户数据报协议)和 TCP (传输控制协议)一起使用在注册端口 3386 上。GTP 版本 1 仅用在 UDP 中。控制平面协议 GTP-C(控制)使用注册端口 2123 而用户平面协议 GTP-U(用户)使用注册端口 2152 。 GTP 协议应用在 SGSN 和 GGSN 之间,为各个移动台(MS) 建立 GTP 通道,GTP 通道是 GPRS服务节点(GSN) 之间的安全通道,两个主机可通过该通道交换数据。 SGSN 从 MS 接收数据包,并在 GTP 包头中对其进行封装,然后才通过GTP 通道将其转发到 GGSN。GGSN 接收这些数据包时,先将它们解封,然后转发到外部主机。 一般情况下,接收端 GGSN 会校验所接收的数据包中的序列号,接受端GGSN拿自身的计数器序列号和所接收的数据包中的序列号进行比较,如果这两个序号匹配上了,则 GGSN 转发该数据包,如果它们不匹配,则 GGSN 丢弃该数据包。 3 数据处理系统的设计 3.1 数据处理系统的介绍 移动业务海量数据处理系统顾名思义是用来处理来自移动网络的数据,此系统包括四个模块:数据包捕获模块,数据包解析模块,数据包过滤模块和界面管理模块。如图1.8: 海量数据处理系统 数据包 捕获模块 数据包 解析模块 数据包 过滤模块 界面 管理模块 操作 模块 信息 显示模块 图 1.8 此系统处理的流程是:设置好系统需要的一些配置后,先对现网中流经的数据包进行收集,然后通过系统规定的过滤法则对数据包进行筛选,得到符合用户要求的数据包,然后对其进行简易的分析,比如分析出数据包的协议,源地址,目标地址,端口号等等,最后将数据包分析出的信息及时的显示在界面上展示给用户,并随着时间不断的更新。系统运行的逻辑流程如图1.9: 操作界面: 配置设备和选择过滤规则 操作界面: 开始抓包 过滤数据包 过滤规则 解析数据包 NO YES 显示信息 图 1.9 3.2 数据处理系统的设计思想 下面我将根据系统的运行流程来介绍系统的各个模块的设计思想 : 3.2.1 多线程实现界面管理 管理模块主要是实现系统远行前的配置信息的设置,制定过滤规范和控制远行的状态(开始或是停止)。下面分别介绍一下: 1.因数据包的抓取需要在特定的网卡上进行,又不同机器的网卡存在差异,所以网卡设备的设置是系统开始之前的必备之举,不然将无法保证系统的正常远行,它可以由用户自行指定(需要指定所有的正确的信息包括主机,端口号等,注意一定不能使用虚拟网卡),也可以自行检测。 2.本系统提供了一个过滤规则库,可以根据用户的定制动态的调用,而这个信息需要通过界面管理模块来获取,用户可以选择协议,目标地址,源地址或数据包传输方向来过滤所需要的数据包。 3.因本系统旨在实现捕获网络数据包的同时基本同步地(根据网络状况,有一定延时)显示数据包概要信息的功能。所以本系统中有一个潜在问题:网络繁忙时,其数据流量会轻易的超过计算机的数据处理速度,此时就可能会发生漏包的情况,且网络越忙,漏包的概率越大。WinPcap库已在内核层对封包截获及过滤的效率做了优化。为了最大程度上降低漏包的概率,就必须在应用程序中使相邻两次收包之间的时间间隔尽可能短。如果以抓包—数据处理—显示—抓包~数据处理— 显示……..的方式编写程序,由于数据分析和显示的过程比较耗时,必然会漏掉大量的数据包。 一种解决此问题的方法是在整个捕获过程停止后集中处理数据并显示、,这样就不能同步监视网络数据,而且需要一个大容量的数据库来存储数据包,这就会给使用带来一些不便。 本系统采取另一种方法解决了这个问题。程序中使用了多线程的编程技术。利用了数据收集和数据分析两个线程。数据收集线程只负责接收数据、建立数据链表和判断是否存在工作线程,若存在则继续接收下一数据包,否则建立工作线程。数据分析线程仅负责在有新数据时解析并显示,没有新数据时自动结束。这样做的好处是,数据接收与数据显示完全分离。数据收集线程只完成最少的工作量,不必等待显示,最大程度上降低了漏包的概率。数据分析线程处理协议解析和显示,显示信息的速度仅仅受限于计算机的处理速度。 3.2.2 基于WinPcap的数据包捕获 此模块主要是利用WinPcap提供的公共编程接口来实现的。WinPcap是一套高性能、开放源代码的API封装库,专门用于网络封包截获的目的,兼容于UNIX平台下著名的libpcap,并在其基础上增加了自定义数据包的发送能力以及针对Win32平台的扩展函数。WinPcap 由3个部分组成:内核级的NPF(Netgroup Packet Filter)模块是一个虚拟设备驱动程序,它将从网卡捕获的数据直接交给用户层(不经过系统协议栈);用户层模块packet.dll为win32平台提供了一个独立于操作系统的底层公共编程接口。模块Wpcap.dll则是我们所需要的,它在packet.dll基础之上为我们提供了一套更加强大和高层的API函数接口,且兼容于libpcap【8】。 首先去下载WinPcap开发包: http://www.winpcap.org/devel.htm,解压之后得到5个文件夹:docs、Examples-pcap、Examples-remote、Include和Lib。新建一个VS2005的项目,在项目的引用文件和库文件里分别加入WinPcap的Include和Lib文件夹,再在头文件中的引用中加入#include <pcap.h>,这样就可以引用WinPcap为开发者提供的公共编程接口了。 3.2.3 正则分析的数据包过滤 WinPcap filters提供了一个基于正则表达式的表达式,此模块的基本思想是定义一个变量dump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。 在表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host。比如GTP协议中控制平面协议 GTP-C使用注册端口 2123 而用户平面协议 GTP-U使用注册端口 2152 。 第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。 第三种是协议的关键字,主要包括gtp,ip ,arp,rarp,tcp,udp等类型。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,将会监听所有协议的信息包。 然而除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast, less, greater等。 还有三种逻辑运算,取非运算是 'not ' '! ', 与运算是'and','&&';或运算 是'or' ,'||';这些关键字可以组合起来构成强大的组合条件来满足人们的需要。所以过滤语言可以是: host 10.192.226.195 and udp port 1813。具体将会按照不同协议数据经过的端口来过滤。 通过写好过滤语言,就可以在指定服务器和指定端口上过滤需要的数据包,从而捕获到不同协议类型的数据包。本系统主要使有的是数据包中协议的关键字 ,比如type[TYPE_TCP]==true. 3.2.4 多协议的数据包解析 先要了解各种协议的报送格式用意义: 1. GTP协议报头的格式如下: Version:表示协议版本; PT:PT=1指示GTP协议,PT=0指示GTP’协议(GPRS计费采集协议); sNN:指示包头中是否包含SNDCP N—PDULLC Number; Message Type:指示消息类型; Length:指示包的长度(不含包头); Sequence Number:对于倍令消息而言是交互的标识,对于T-PDU而言是顺序号; SNDCP N—PDULLC Number:用于越SGSN切换时协调MS与SGSN之间的数据传送; Flow Lable 唯一标识一个GTP流; TID:隧道标识,由IMSI和NSAPI两部分组成,用于指明MM (Mobility Management)和PDP(Packet Data Protoco1)上下文。 在 PDP 环境激活阶段,发送端 GGSN 向接收端 GGSN 发送的第一个 G-PDU 的序列号值是零 (0) ,发送端 GGSN 为其随后发送的每个 G-PDU 增加序列号值,G-PDU序列号值达到 65535 时,重置为零。 2. TCP报头格式如下【9】: 源端口:16位; 目的端口:16位 序列码:32位,当SYN出现,序列码实际上是初始序列码(ISN),而第一个数据字节是ISN+1; 确认码:32位,如果设置了ACK控制位,这个值表示一个准备接收的包的序列码; 数据偏移量:4位,指示何处数据开始; 保留:6位,这些位必须是0; 控制位:6位; 窗口:16位; 校验位:16位; 优先指针:16位,指向后面是优先数据的字节; 选项:长度不定;但长度必须以字节记;选项的具体内容我们结合具体命令来看; 填充:不定长,填充的内容必须为0,它是为了保证包头的结合和数据的开始处偏移量能够被32整除; 3. UDP报头由4个域组成,其中每个域各占用2个字节,分别是:源端口号,目标端口号,数据报长度,校验值。 3.3 数据处理系统的应用 3.3.1 系统的部署 在移动网络GPRS部分有两个很重要的接口,用做网络优化的采集数据常来源于此: Gi接口是GPRS与外部分组数据网之间的接口。GPRS通过Gi接口和各种公众分组网如Internet或ISDN网实现互联,在Gi接口上需要进行协议的封装/解封装、地址转换(如私有网IP地址转换为公有网IP地址)、用户接入时的鉴权和认证等操作。 Gn接口是GRPS支持节点间接口,即同一个PLMN内部SGSN间、SGSN和GGSN间接口,该接口采用在TCP/UDP协议之上承载GTP(GPRS隧道协议)的方式进行通信。 由此可见,Gn和Gi接口是GPRS骨干网与外部网络和无线网络之间联系的重要桥梁,在此接口处取得的数据有利于对整个移动网络的质量做比较全面的评估,所以系统应运行于SGSN和GGSN服务器之间。 3.3.2 系统的其它应用 本系统具有扩展性和移植性,只需要对系统配置和过滤规则进行了一定的修改或扩充,将新系统部署于不同的有线网络接口处,便可同样利用其对需要评估的网络进行数据采集和分析。 4 数据处理系统的实现 4.1 系统的总体结构 系统体系结构如图 2.0所示。它从逻辑上分为数据采集、数据分析和结果显示三个部分。 图 2.0 下面对各个模块的实现做个简单的介绍: 1. 界面管理模块 这个模块的可以对系统进行操作,并显示出对数据包初步分析的结果。窗口是采用MFC实现的,有一个难点就是要动态显示分析出的数据包的信息。因为数据包的捕获的是实时的,所以分析出来的数据包信息也要实时的显示出来。为了解决这个问题,在界面的设计中,我使用了多线程技术。 2. 数据包捕获模块 此模块是本系统最主要的部分,因现网流经的数据包高速并且海量级的,所以数据包的抓取也必须是实时的,才能及时得到最新的数据,因受计算机分析数据的速度的限制,所以收集到数据并不及时的同步被分析出来,若一味的按这个流程来执行,必定会导致大量的漏包,所以用一个数据收集线程来收集数据,从而与数据分析分开来,有利于捕获更多的数据包。且此模块的捕获数据包的功能是利用WinPcap为开发人员提供的类库实现的。 3. 数据包过滤模块 这个模块主要是根据使用者的选择,然后对应系统提供了数据包过滤规则,对现网中捕获的所有数据包进行分类.其中控制这个模块的是过滤规则,本系统是通过数据包中的一些关键字来组合成不同的正则表达式,来作为区分数据的条件的。通过对组合的修改和扩充可以满足用户的大量需求。在本系统中,可供选择分析的有GTP、TCP、UDP几种数据包。 4. 数据包解析模块 此模块也是本系统中一个非常重要的部分,它的主要功能是对现网中捕获到的数据包进行一些简要的分析之后(包括协议类型,主机,源端口,目的端口等),先根据不同协议的规范,将数据包进行解封,得到其字节信息并转化成需要的信息的格式,再根据协议的报头,为每种不同的协议的数据包建立不同的数据结构来存储数据包分析出来的简易信息, 以便显示出来。 下面将详细介绍每个模块的具体实现方法。 4.2 界面管理模块 4.2.1 管理界面的功能 此模块是人机交互的关键模块,相关界面见图2.1。 操作界面模块提供的功能如下: 1. 对系统的运行的环境做配置:选定抓包的网卡信息,包括主机,端口等; 2. 对过滤规则进行定制:通过用户的需要,自行对过滤条件进行选择,即数据包的协议,目标地址,源地址做出规定等; 3. 开始和退出系统的功能:用户可以通过手动控制系统的运行状态; 4. 清空信息和保存信息的功能 图 2.1 显示界面模块的功能,见图2.2: 1. 能按时间顺序显示出数据包分析出的信息:通过表格的形式,包括协议书,地址,端口等信息; 2. 能基本同步的更新数据包信息:使用户能及时了解到网络的状况 图 2.2 4.2.2 各种管理界面的功能实现 整个界面用MFC技术实现,包含以下几个重要的窗体: 对话框类: CDlgAdp (用于网卡设置)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服