分类: 虚拟化
2013-09-02 15:05:23
这几天配置linux的 vlan, 学习了下linux的vlan实现模型,记录一下。
默认情况下创建一个BR就是BR0,左图所示,这种情况下无vlan,BR0就是个简单的桥,tap0和tap1就是两个虚拟网卡,连接vm。
当创建vlan时,例如vlan 11,通过vconfig将eth0加入vlan11,会生成一个虚拟接口eth0.11。
然后创建BR11,将eth0.11加入BR11,这个BR11就是vlan11的桥设备,tap2和tap3是虚拟接口,连接vm。
下面说明linux中vlan的实现:
1 eth0.11相当于BR11的上联接口,这个接口上会进行tag封装/剥离的处理;对应于交换机的概念相当于trunk口;
2 挡转发报文要从eth0.11转发出去时,会加上本vlan的tag 11; 当报文从eth0.11收进来时,会进行tag的剥离,剥离后的un tag报文在BR内转发;
3 在BR11内成员口之间转发的流量是不会带tag的,例如tap2连接vm,vm发出的报文肯定不带tag,挡BR11转发报文时也不会加tag;
4 BR11相当于vlanif,通常在BR11上配置ip地址,这个ip地址可以作为BR11中下联所有vm的vlan网关;通常也是这么配置的;
5 和交换机上各种端口角色的对应关系:ethX.X 相当于交换机上的vlan trunk口; tapX 相当于交换机上的vlan access 接口;