二层能不能做流量控制?
各位,我在三层用TC做流量控制,能实现根据目的IP,对各条流分别做流量控制的功能。这个动作在二层能不能实现?我的测试结果是不行。
具体测试方法为,在设备上创建一个internet类型的wan连接,各条流TC流控正常。
但如果是仅创建一个bridge类型的wan连接,TC就全是走的默认通道了。
原因我猜可能是TC本来就是作用于三层的,如果仅在桥这一层处理,可能不能正常工作了吧?
各位有没有在网桥这一层面用TC做流控的? 应该可以的吧。流量控制在入口和出口的地方做相应的策略。
只需要做好相应的mark, 正确filter , 就可以的。 二楼可能没有看明白我的问题。
如果是桥接的话,那么数据在二层就被转发出去了,到不了三层,那就不可能做流控了。因为TC是工作在三层。
如果是路由型的wan连接的话,数据就能进入三层处理,TC就能做流控。 我是这样理解的。TC 无非做的是流量控制,那么应该作用在数据包入口或者数据包出口处。
个人观点,TC和工作在什么层没有什么关系。
由于没有深入了解过TC工作,不好乱说。
希望哪位大神对此了解能给我纠正一下。谢谢!
回复 3# jiahehao01
因为TC是工作在三层。
你从哪里看到的???
tc 没有工作在那一层之说。tc直接控制网卡的发送队列,根本就没有协议栈的概念。
如果在二层的环境下进行流控,那么需要在二层上对数据包打mark,让tc正确识别到mark就可以了。
关于二层怎么打mark,google一下ebtables吧,跟iptables非常类似。
哦,多谢楼主指点。。。。。我确实用ebtables打了mark,但测试的效果是没有生效。所以怀疑是二层还是三层的问题。
我再详细调试一下。有结果了会上来告诉大家。 回复 6# jiahehao01
放心用吧,只要用对了,决定没有问题。
之前开发过一个应用,其中有个功能就是这么搞的。:mrgreen:
回复 1# jiahehao01
有的芯片 专门有二层流控功能, 用软件做, 多慢呀?流控占的资源比转发都大了。 回复 8# goldenfort
有些应用场景是不需要芯片的。当然了20G和40G的情况,最好用芯片了,如果小于1G,软件是可以搞定的。。。
回复 9# 瀚海书香
流控一般 在运营商 的接入交换机 做, 如果其它场合也用使用这个功能,只能是少有的场合。