由于具有时间复杂度低、算法简单等特点,基于端口号匹配的数据流分类算法曾经一度作为数据流分类的主要算法 [9] 。然而,随着互联网应用的快速发展,端口识别的流分类方法越来越多的受到限制:1.一部分应用协议为躲避防火墙的拦截而使用未定义端口号;2.在一些情况下,服务器端口被动态分配,如FTP在数据文件的过程中使用动态协议端口。3.一些注册的端口号被多个应用协议所使用,如:scp(securecode)与ssh(secureshell)同时使用TCP端口22 [9] 。4.一些应用搭载其它应用使用知名端口号,如:P2P搭载HTTP使用80端口进行文件传输。5.一些应用使用常用端口以外的端口,以绕过访问限制:如在非80端口上运行WWW服务器。6.一些情况下,服务器的端口是动态分配的。7.木马等网络攻击行为并不专属于某一单一端口号。8.一些新的协议不再使用IANA中的注册端口,如BitTorrent等P2P协议 [9] 。