我目前正在为ISP级公司开发一种流量整形解决方案,但遇到了一个有趣的(有点哲学上的)问题。
寻找系统应该处理的端点数量(大约2万个),我有点担心当我需要对更多用户的流量进行策略/调整时会发生什么。由于我目前在整个网络中使用HFSC整形树(请参阅tc-hfsc,与众所周知的HTB大多相同,但较冷的东西),因此,我需要使用更多的ClassID(显然,对于每个用户,至少要使用一个ClassID)网络)。我发现的问题是TC ClassID是有限的-它们是16位数字,这使我最大可能受此解决方案影响的64k用户。
同样,如果我想有效地管理TC过滤器(例如,不使用“全部刷新”),则需要能够删除或修改单个过滤器条目。(我正在使用类似于LARTC [1]中的哈希表的东西)。同样,似乎唯一适用的方法是使用单独的优先级对所有过滤器进行编号(tc filter add dev ... prio 1)。没有其他参数可用于此目的,遗憾的是,prio也是仅16位的。
我的问题是:是否存在某种扩大可用“标识符空间”的好方法,例如用于“ tc类”命令的32位clsid和用于“ tc过滤器”的32位优先级(或任何其他修改句柄)命令?
非常感谢,
-mk
(顺便说一句,我希望这不会出现在“ 64k用户应该对每个人都足够”的情况下...)