• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 即时通信监控系统的设计与实现

即时通信监控系统的设计与实现

录入:edatop.com     点击:

3.1、命令解析

命令解析的本质就是分析字符串的含义,它类似计算机高级语言编译器中词法分析的功能。MSNP协议涉及多达几十个命令,服务器和客户端使用的命令也不相同。系统对涉及信息传输的命令进行了重点解析,主要包括握手命令和数据传输命令。对于客户端命令。主要解析"ANS"和"MSG"。服务器端主要解析"IRO"、"USR"、"JOI"和"MSG"。

图4 MSNP协议分析模型

3.2、协议数据重组

协议数据重组主要针对P2P消息,当二进制头和二进制尾之间的消息内容大小超过1202字节时。消息会被分片传输。通常被拆分的P2P消息包括MSNSLP消息和实际传输的各种数据(如文件、表情)。二进制头中共有9个字段,其中"Data Offset"、"Total Data Size"和"Message Length"3个字段和消息分片密切相关。这3个字段分别表示"总数据大小"、"数据偏移量"和"本条消息长度"。由于TCP处理模块已对重复和无序的数据流进行了处理,协议分析模块的输入是顺序的数据流。按顺序将数据取出即可。如图5所示。

图5 P2P消息重组方法

3.3、数据存储

在协议数据重组之后,对重组的数据进行分析及数据提取。分析主要针对MSNSLP消息,MSNSLP消息负责会话的建立和结束。对MSNSLP的分析除取得传输的类型外,最重要的是提取文件名,以备存储时使用。显示图片和自定义表情的文件名封装在各自的MSNObi对象中,而传输文件的文件名以Unicode格式存储在INVITE方法的Context中类CFileName用于存储文件名,其结构如下:

//name of file transfered in asession

class CFileName{

public:

CHIcNanle();

~CFileNameTram();

public:

U_int m_nSessioID;//Session ID

char*m_pszFileName;//Name of current file

};

其中数据成员m_nSessionID用于确定文件名和文件数据的对应关系。在数据提取完毕后根据CHle.Name和CDataTrans的m_nSessionID大小得到对应关系,进行数据存储。

3.4、性能方面的考虑

在数据流量比较大的时候,数据处理会导致大量的内存占用,从而降低系统的效率。对于协议数据重组模块,尤其是传输文件的提取,系统使用定时器机制和定量存储机制进行控制。

当接收到第1个分片的时候对相应的CDataTrans对象设置定时器。如果在定时器超时的时候仍没有接收到新的分片,就认为此次传输失败,将之前缓存的数据清除,释放所占用的空间。若有新的分片到达,还原定时器的超时时间。系统预设的定时器为10分钟,管理员可以重设超时时间。

对于大小超过1MB的文件,系统采用定量存储。当接收的数据大小达到一定量,便进行一次存储操作。当然。频繁的存储操作会增加磁盘读写的开销。系统预设大小为1MB,管理员同样可以更改大小,以减少磁盘读写的开销。

4、系统测试

系统测试主要是对系统进行性能测试。目标是测试系统在给定工作环境下的性能,检查系统对指定数据的监听提取能力。监控服务器主机一台,客户机(目标主机)若干,客户机通过交换机连接在一个局域网中,并与Internet互联。对上述测试环境进行一个工作周(周一到周五)测试。每个工作日测试时间为12小时(早8点到晚8点),每个工作日客户机数量维持在124--168之间,测试结果如表1所示。

表1测试结果

从上表可以看出显示图片和自定义表情的提取率均在96%以上。数据丢失的原因主要是由于丢包造成的,由于系统采用过滤策略进行数据包捕获,在网络流量比较大的时候,可能会导致一定的丢包率,而显示图片和自定义表情文件比较都比较小,若干数据包的丢失对结果会有一定影响。文件传输的提取率只有61.7%,原因主要有3个方面:一是丢包率;二是协议分析中对NAT穿越的判断结果;第三点,也是最重要的一点,当传输的双方位于同一局域网时,实际数据传输仅在局域网中进行,而不会通过服务器中转,这样系统仅能监听到传输邀请,而无法监听到实际传输的数据。测试结果没有对文字信息进行评估,因为文字信息的传输没有握手过程,难以评估。系统的设计实现能够保证在丢包率较小的情况下,使文字信息的提取率接近100%。

5、结束语

针对中小规模企业网对即时通信安全的实际需求,研究、设计并实现了MSN协议的监控分析系统。首先分析了系统的功能和性能需求,并给出了系统的体系结构、总体实现模型。接着详细讨论了数据采集与存储策略,数据分析与处理的过程,重点研究了MSNP协议的分析。最后,对系统性能进行测试,并对测试结果进行了分析。

来源:万方数据

上一篇:IP化成技术创新基石
下一篇:基于ECL门电路的UWB信号发生器的设计

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图