linux c vlan tag 技术详解

来源:互联网 发布:网络销售酒 编辑:程序博客网 时间:2024/05/30 05:22

两个问题开始本文章:

1. 什么是vlan?

   vlan 全称 virtal local area netwok  明白没? 就是虚拟的lan 侧的局域网络。

2. 为什么需要vlan ?  

    a) 我们知道在router中我们可以通过nat 吧不同ip 段之间的相互通讯(丢弃一些自己不需要的packets 如mutilcust packets)。而在二层的交换机上 如何 实现呢,就靠这个vlan。

   b) 防止广播风暴


概念:

 tag : 顾名思义就是在ethernet 头即 8021.q协议上 打上id,(packet 出去时 不做任何处理)

untag :不带vlan id(packets 出去时 去掉vlan id)。

  Notes 这两个都是针对vid port 的属性不是物理的port 的属性。tag 和untag 都只针对 output packet 对input 没有 用,input packets 是和是什么类型的port 有关。

VID: vlan id的意思

PVID:default vlan id 这是一个物理端口的属性,每个物理端口有且只有一个pvid

Access port:他是只有一个PVID=VID 的口,他是一个untag的口。

Trunk port: VID 是一个list 有且只有一个untaget port PVID = VID  

Hybrid port:和trunk 一样只不过他的untaget port 是一个list。


前面讲了各个名词的概念下面我们讲一下 个端口和个 tag 的属性:

tag:  他只针对 output的packets, 在send 时 不做任何处理,原样送出。

untag: 他也只针对output 的packets 在send 是如果 带tag 的包 的vlan id和 该端口的pvid 相同 去掉vlan id 送出

access port: 对进入 的packets 如果没带valn 打上pvid 转发,如果带有vlan 一般是丢弃,也有厂商只收vlan id == pvid 的packets

trunk port : 对recevie 的packets 如果没有带vlan 打上pvid 转发,如果带有vlan 查看允许进入的list 及vid list +pvid 则receive。

hybrid port: 和 trunk receive 相同。



记住一点就ok 了 packet 进入的处理方式和 port 的类型相关,packet 出去的处理方式和 port 的tag untag 属性相关。







原创粉丝点击