主权项 |
一种基于tcp连接的网络报文采样系统,所述报文采样系统包括:tcp报文判断模块、tcp标识判断模块和采样比例判断模块;其特征在于,与所述tcp标识判断模块连接的tcp查找模块,及所述tcp查找模块和所述采样比例判断模块分别与tcp连接管理表连接;所述tcp报文判断模块、所述tcp标识判断模块和所述采样比例判断模块依次连接;所述tcp连接管理表中的每个表项为标识tcp连接的四元组结构;所述tcp报文判断模块对输入的报文是否是tcp报文做出判断,确定是按采样比例随机采样,继续处理下一个输入报文还是将该报文传输到tcp标识判断模块;所述tcp标识判断模块判断报文的tcp标识,确定将所述tcp报文传输到所述采样比例判断模块还是将所述tcp报文传输到所述tcp查找模块;所述采样比例判断模块判断当前采样的数据量是否达到了系统预设的采样比例,判断是丢弃收到的报文,继续处理下一个输入报文,还是采样收到的报文,并且提取出所述收到的报文的四元组结构并传输到所述tcp连接管理表中;所述tcp查找模块在接到所述tcp标识判断模块发出的tcp报文后,提取出该tcp报文的四元组结构,并到所述tcp连接管理表中去查找是否有与所述提取的tcp报文相同的表项;所述的基于tcp连接的网络报文采样系统的基于tcp连接的网络报文采样方法,其特征在于,所述网络报文采样方法包括如下步骤:(1)在报文采样系统中建立一张tcp连接管理表;(2)判断输入报文的类型,如该报文类型是TCP报文,则查看该报文的tcp标识位;否则按采样比例随机采样,然后继续处理下一个输入报文;(3)判断报文的tcp标识位,如果该tcp报文属于新建的tcp连接的,则进行步骤(4);如果该tcp报文属于已建的tcp连接的数据报文,则进行步骤(5);如果该tcp报文属于tcp连接的关闭报文,则进行步骤(6);(4)判断当前采样的数据量是否达到了系统预设的采样比例,如果达到了采样比例,则丢弃收到的报文,继续处理下一个输入报文;否则采样收到的报文,并且提取出所述收到的报文的四元组结构,插入到所述tcp连接管理表中;(5)提取出tcp报文的四元组结构,到所述tcp连接管理表中去查找是否有与所述提取的tcp报文相同的表项,如果查找到了,则采样该tcp报文;否则丢弃该tcp报文,继续处理下一个输入报文;(6)提取出tcp报文的四元组结构,到所述tcp连接管理表中去查找是否有与所述提取的tcp报文相同的表项;如果查找到了,则采样该tcp报文,并从所述tcp连接管理表中删除该tcp连接;否则丢弃该tcp报文,继续处理下一个输入报文。 |