2.3 流量模式识别法

这是在Caspian路由器中实现的一种功能,该路由器记录经过它的每条流的信息,因此可以实现基于流的流量识别和控制功能,以一种新的方式对P2P流量进行识别和控制。并且,如前所述,这一解决方案是基于P2P流的内在特征的,避免了前面两种识别方法中的一些问题。

P2P应用的特点是持续时间长、平均速率较高以及总的传输字节数高。这与文件传输如FTP等应用有些类似,但是该类应用可以很方便的通过端口号识别出来,而且由于这些应用与用户的交互性不如Web、视频等应用高,因此出现一定的误判导致对它们的流量限制不会造成大的问题。

另外,根据流所包含的字节数,可以很容易将普通Web流量同P2P文件共享流量区分开。

可见,通过分析不同应用的流量模式,可以实现识别P2P流量的目的。而且这一方法不需要对分组内部用户数据进行检查,因此不受数据是否加密的限制,扩大了其适用范围。但是,由于需要记录每条流的信息,这种方法对内存空间以及处理速度都提出了比较大的要求。这方面国内较为知名的网管软件:聚生网管系统就是采用这种方法,从而使得封堵P2P软件较其他网管软件有明显的优势。

2.4 连接模式识别法

[1]中提出了一种在传输层识别P2P流量的方法,它仅仅统计用户分组的首部信息,而不涉及具体数据。因此一方面克服了前述方法对加密数据无法识别的问题,同时又不涉及用户的具体数据,符合Internet体系结构中的端到端原则。其基本思想是:基于观察源和目的IP地址的连接模式。一些模式是P2P所独有的,因此可以由此直接将P2P流量识别出来;另外一些模式由P2P和其它少数应用所共有,这时可以根据对应IP地址的流历史以及其它特征来减少误判概率。

在这种思想的具体实现中,Thomas Karagiannis等给出了两种启发式方法:

(1) 识别出那些同时使用TCP和UDP进行数据传输的源-目的IP地址对。研究表明,大约2/3的P2P协议同时使用TCP和UDP协议,而其他应用中同时使用两种协议的仅仅包括NetBIOS、游戏、视频等少数应用[1]。因此,如果一个源-目的IP地址对同时使用TCP和UDP作为传输协议,那么可以认为在这一地址对之间的流除一些已知的应用外(对于这些应用可以根据它们的特征将其排除),很有可能就是P2P流,可以将它们加入到候选P2P流的队列中;

(2) 基于监测{IP, 端口}对的连接模式。这一方法的基本依据为:当一个新的主机A加入P2P系统后,它将通过super peer广播其IP地址以及接受连接的端口号port。其他主机收到后利用这一信息与主机A建立连接。这样,对端口port而言,与其建立连接的IP地址数目就等于与其建立连接的不同端口数目(因为不同主机选择同一端口与主机A建立连接的可能性是很低的,完全可以忽略不计)。而其他一些应用如Web,一个主机通常使用多个端口并行接收对象,这样建立连接的IP地址数目将远小于端口数目。但是另外一些应用,如mail、DNS等,也具有类似的属性,因此使用这种方法在实际识别过程中需要将它们区分出来。


相关内容