基于802.1Q 的VLAN

    在802.1q vlan 中,网卡(nic)不必去识别数据包头部分的802.1q 标记(tag),网卡只需发送和接收普通的以太网数据包。如果数据包的目的地址在同一个网段内,那么,就采用普通的以太网协议进行通信。只有当数据包的目的地址在另一台交换机上时,vlan 才进行判断是将此数据包丢弃还是进行转发。

 

    在理解ieee 802.1q vlan 时,有两个非常重要的名词需要掌握,就是端口vlan 的id(port vlan id numbers,简写为pvid)和vlan 的id(vlan id numbers,简写为vid)。这两个变量都是定义在端口上的,但是两者间有很大的区别。用户可以仅为每个交换机端口定义一个pvid。pvid 定义了交换机将向哪一个vlan 转发数据包,以及什么时候数据包会需要转发到另一台交换机的端口上,或者网络中的某个地方。另外,用户也可以定义某个端口同时属于多个vlan(vids),使得它可以接收网络中多个vlan 的数据包。pvid 和vid 这两个变量用于控制端口发送和接收vlan 数据流的能力,而两者之间的区别在于后者还允许信息可以在多个vlan 间共享。

 

    802.1q vlan 网段:

 

    举例来说,假设vlan2 中连接在交换机的端口12 上的计算机发送出一个数据包,而且其端口vlan id(port vlan idnumber)是2(pvid=2)。如果目的地址在另一个端口(通过查找转发地址表得到的),那么,交换机将看该目的端口(如端口10)是否属于vlan2。如果端口10 不属于vlan2,那么该数据包将被丢弃,不会送到它的目的地址。而如果端口10 属于vlan2,那么数据包将被送达其目的地址。这就是基于端口vlan 的工作机制,实质就是端口12 发送出的数据包只会在vlan2中传送,因为它的端口vlan id(port vlan id number)是2(pvid=2)。

 

    802.1q vlan 间信息的共享:

 

    但是网络中的打印机和服务器等资源是需要跨vlan 进行共享的。这可以通过设置重叠的vlan 方式来实现。

 

    跨交换机的vlan(vlans spanning multiple switches):

 

    802.1q vlan 可以设置在多台交换机之间。在设置这种vlan 时,需要注意两点:

 

    1.这些交换机是否支持ieee 802.1q(ieee 802.1q-compliant)。

 

    2.vlan 的数据包是需加标记的(tagged)还是去标记的(untagged)。

 

    相关的术语如下:

 

    1 tagging:将802.1q vlan 的信息加入数据包的包头的操作。具有加标记能力的(tagging enabled)端口会将vid、优先级和其它vlan 信息加入到所有进出该端口的数据包内。如果在此前数据包已经被做过标记。那么,端口将不对该数据包进行改动,让其保持其已有的vlan 信息。标记(tagging)使得数据包能够从一台支持802.1q 的交换机能够传送到另一台同类的交换机上。

 

    2 untagging:将802.1q vlan 的信息从数据包的包头去掉的操作。具有去标记能力的(untagging enabled)端口会将vid、优先级和其它vlan 信息从所有进出该端口的数据包包头中去掉。如果在此前数据包内没有被标记过,那么,端口将不对该数据包进行改动。去标记(untagging)使得数据包能够从一台支持802.1q 的交换机传送到其它不支持802.1q 的交换机上。

 

    3 ingress port:入站端口(ingress port)是交换机上的一个端口,数据包就是从该端口进入交换机的。如果入站端口上的ingress filter 被设置为enabled,那么交换机将检查每一个流经的数据包,确定它是否是同一vlan 的成员,以便决定是否转发此数据包。如果自身端口(入站端口)是流经数据包中标记的vlan 的成员,那么,数据包将被转发。否则,将丢弃该数据包。而如果ingress filtering 被设置为disabled,那么,交换机将以常规方式处理入站端口接收到的所有数据包。

 

    4 egress port:出站端口(egress port)是交换机上的一个端口,数据包就是从该端口流出交换机的,被传送到另一台交换机或者一台工作站上。在此端口处必须进行是否需要加标记的判断。如果出站端口被连接到一台支持802.1q 的交换机(802.1q-compliant switch)上,那么,必须加标记到数据包上,以便其它交换机根据标记信息进行判断,是否转发该数据包。而如果出站端口被连接到一台不支持802.1q 的交换机(non-compliant switch)或者一台工作站上时,那么,数据包中的标记(tag)需被去掉,变为普通的以太网数据包,以便接收该数据包的设备能够读懂它。

 

    基于802.1q 的vlan:

 

    当交换机以802.1q 为依据来维护vlan 时,就需要用到加标记的操作(tagging)。加标记操作可以将802.1q vlan 的信息加入到每个数据包的包头,以使接收到这些数据包的其它支持802.1q 的交换机能够知道应该如何处理这些数据包。根据接收到的数据包的标记信息,支持802.1q 的交换机才能够用以维护vlan 的完整性,并按照其优先级来转发数据包,等等。

 

[转自:http://qzone.qq.com/blog/5656579-1219904314]

你可能感兴趣的:(网络)