有线通信
流分类算法的定义和要求
给出流分类的正式定义:分类器有N条规则{Rj,1≤j≤N},规则Rj由3部分组成:1) 正则表达式Rj[i],1≤i≤k;2) 优先级pri(Rj);3) 执行的操作action(Rj)。对接收到的每个数据包,可以看作是k维空间中的一个点(P1,P2,…,Pk)。
k维流分类问题就是要在所有规则中找到与点(P1,P2,…,Pk)相匹配,并且优先级最高的规则Rm,即pri(Rm)>pri(Rj),∀j≠m,1≤m≤N,1≤j≤N,且∀(1≤i≤k),Pi与Pj[i]相匹配,则称Rm是最佳匹配规则。
对流分类算法的要求可以概括为以下5点:
1) 处理速度快。目前物理链路速度有了很大的提高,对网络处理器提出了更高的要求,而流分类算法的复杂性使得它成为了限制路由器和交换机处理速度的瓶颈。
2) 所需存储容量低。在存储容量要求低的情况下,可采用速度快但是造价昂贵的存储器技术。
3) 更新时间短。由于网络上各种数据流量巨大,流分类算法在更新数据结构时必须快,才能适应分类器的频繁变化。
4) 规则的定义灵活。好的流分类算法应该支持各种不同形式的规则,包括数据包头各个区域的精确匹配,前缀匹配和范围匹配。
5) 规则具有可扩展性。分类器必须能够对分类所依据的域的数目、域的长度以及规则数目进行扩展,应付以后网络的需要,特别是IPv4~IPv6的过渡。
全部0条评论
快来发表一下你的评论吧 !