网络隔离
net_device下面 {
struct QDISC qdisc
}
所以这里网络,也就是是说每个一个网卡都有一个qdisc队列,从tc qdisc中似乎也能看到端倪,每个网卡上都会有一个默认的排队规则,其中我的无线网卡上的排队规则就是pfifo_fast,有线网卡是只有一条规则,一些虚拟网卡上:tap0,docker0,都是没有排队规则的,详细分析下wlp4s0无线网卡中的规则设置发现,我这块网卡上是多队列规则,也就是说我这块网卡能同时收发好多的包呢,root排队规则是mq,然后在这个规则之下又有了pfifo_fast规则,这里好像是有四个排队的规则,这里应该是每个队列一个pfifo_fast,公司的电脑下面就没有这个约束呢。这个玩意到底是干啥子的呢?在这个root规则下面又有好多其他的规则,但是通过tc class和tc filter却没有看到其他的规则,所以这里很是奇怪。也就是说,现在这个网卡上建立了队列,但是并没有就这个队列生成相应的分类
qdisc noqueue 0: dev lo root refcnt 2 qdisc pfifo_fast 0: dev enp0s25 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 qdisc mq 0: dev wlp4s0 root qdisc pfifo_fast 0: dev wlp4s0 parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 qdisc pfifo_fast 0: dev wlp4s0 parent :2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 qdisc pfifo_fast 0: dev wlp4s0 parent :3 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 qdisc pfifo_fast 0: dev wlp4s0 parent :4 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 qdisc noqueue 0: dev tap0 root refcnt 2 qdisc noqueue 0: dev docker0 root refcnt 2
虽然tc class没有看到所有的class,但是tc class ls dev wlp4s0却能看到所有的所有的class
hon@station6:~/codebox/net/sock/inet$ tc class ls dev wlp4s0 class mq :1 root class mq :2 root class mq :3 root class mq :4 root
一个qdisc的根节点就是root,