常平东莞网站设计,做一张网页需要多少钱,建站记录查询,太原市做网站公司VLAN(Virtual Local Network#xff0c;虚拟局域网)#xff0c;对于VLAN的划分方法有很多种#xff1a;基于端口划分#xff0c;基于MAC地址划分#xff0c;基于网络协议划分#xff0c;基于IP地址划分#xff0c;基于策略划分等等。但是就上述而言#xff0c;对VLAN的…VLAN(Virtual Local Network虚拟局域网)对于VLAN的划分方法有很多种基于端口划分基于MAC地址划分基于网络协议划分基于IP地址划分基于策略划分等等。但是就上述而言对VLAN的划分就是以交换机为主语的也就是说主机并不感知VLAN的存在那么关于报文中VLAN的标签到底是怎么回事呢
首先我们先来说一下交换机的端口。
交换机的端口以三种分类
Access接口一般用于接用户计算机一个Access端口只能属于一个VLAN。Trunk接口一般用于交换机之间的互联的端口trunk口可以属于多个VLAN可以接受和发送多个VLAN的报文。Hybrid接口可以用于交换机之间的连接也可以用于接用户的计算机ybrid端口可以属于多个VLAN可以接受和发送多个VLAN的报文。
那么对于可以接受和发送多个VLAN的端口来说就有一个缺省VLAN的概念什么是缺省VLAN呢举个例子当收到一个不知道属于哪个VLAN的报文的时候Trunk端口或者Hybrid端口怎么对其进行处理呢就将其设置为缺省VLAN。对于缺省VLAN也有叫做PVID(Port VID)或者Native Vlan的叫法。缺省VLAN可能是不存在的VLAN。
Access端口只属于一个VLAN则缺省VLAN就是他所在的VLAN不用设置。Hybrid端口和Trunk口都属于多个VLAN所以需要设置缺省VLAN ID。在没有设置的情况下这个缺省VLAN ID均为1。
所谓VLAN tag就是在以太网帧格式的源MAC和目的IP之间添加了4字节这四个字节中除了控制位以外就是12bit的VLAN ID号码。这个报文格式由于是IEEE 802.1Q协议提出的所以有时候也称为802.1Q帧格式。
端口对于报文的处理其处理方面分为两种接受报文、发送报文
Access端口 当收到不带VLAN Tag的报文则加上端口的PVID当收到带VLAN Tag的报文则交换机不做处理直接丢弃。当Access端口向主机发送帧时会剥离802.1Q的 tag头部发送普通的以太网帧给主机。Trunk端口 当收到不带VLAN Tag的报文则打上端口的PVID如果该帧包含802.1Q的报文头部查看是否允许进入缺省VID所包含VID如果可以则接收否则丢弃。当发送帧时比较该帧的VLAN ID与端口PVID当不同时且是允许通过的VLAN ID则保留Tag直接透传当相同时则去掉Tag发送报文。Hybrid端口 当接收到不带VLAN Tag的报文时打上端口的PVID当该帧包含802.1Q报文头部查看是否允许进入PVID所包含VID如果可以则接收否则丢弃。当发送报文时当VLAN ID是该端口允许通过的VLAN ID则发送该报文并可以通过命令进行配置端口在发送该VLAN报文时候是否携带Tag。总的来说在接受数据的时候PVID的作用是为不带VLAN Tag的untag报文添加一个PVID 的tag在发送报文的时候将带有PVID Tag的报文的VLAN Tag剥离从而发送一个不带VLAN Tag的untag报文。这也就是主机与交换机相连的时候采用Access端口主机从属VLAN但是主机不感知VLAN的原因。Trunk端口和Hybrid端口的最大区别是Trunk端口在发送报文时候只有当VLAN TagPVID的时候才会发送出不带Tag的报文而Hybrid端口可以配置发送多个VLAN的报文且不带VLAN Tag。值得一提的是同一个交换机上Trunk和Hybrid是不允许并存的。对于Hybrid的妙用如下
可以看到B与D的通信过程是这样的
1.当D向B发送数据到了端口2加上VID20的标签。交换机发现端口1允许通过VID20的报文然后报文到了端口1端口1对于VID20的报文是不加标签的所以剥离标签到达B。2.当B向D发送数据时候B的报文进入端口1打上VID10的标签。交换机发现端口2允许VID10的报文然后报文到达端口2端口2对于VID10的报文是不叫标签的所以剥离标签到达D。3.对于这次通信的往返虽能正常通信但所走的VLAN是不同的。原文链接https://blog.csdn.net/dandandean_96/article/details/83857092