交换机技术中最重要、最常用的一项技术——VLAN(VirtualLocal Area Network,虚拟局域网)。是一项局域网(LAN)技术,是一项构建虚拟局域网的技术,与物理交换机构建的物理局域网相对。也是在物理局域网基础上构建的。
VLAN包括了基于端口、基于MAC地址、基于子网、基于协议和基于策略等几种VLAN划分方式,还有VLAN自动注册(GVRP)、VLANIF接口、管理VLAN、VLAN间路由通信等基本特性,还涉及许多VLAN扩展特性及应用,如VLAN聚合(Super-VLAN)、VLAN内用户隔离(MUX VLAN)、VLAN映射(VLAN Mapping)、VLAN多标签封装(QinQ)等。
VLAN基础
VLAN(虚拟局域网)是可以将一个物理LAN逻辑上划分成多个虚拟LAN的以太网技术。VLAN划分多个虚拟LAN的目的就是要缩小广播域(一个“广播域”就是一个LAN网段,即广播数据帧可以到达的节点范围),减少广播数据帧对LAN内用户通信的影响。因为一个广播数据帧会在整个LAN内各个节点泛洪发送的,其流量非常大。但广播数据帧只能在一个LAN中广播,属于二层通信,不能通过路由设备跨网段传输(但可以通过一些代理设备实现跨网段转发,如ARP代理),所以只需把一个大的物理LAN划分成多个小的虚拟LAN就可以实现缩小广播域的目的,这是VLAN技术产生的背景。
在LAN通信中有许多通信都会产生广播数据帧,如ARP在MAC地址寻址时会产生广播数据帧、DHCP服务器在为客户端自动分配IP地址时也会产生许多广播数据帧。
一、VLAN概述
VLAN技术标准IEEE802.1Q。VLAN主要用来解决如何将大型网络划分为多个小网络,隔离原本在同一个物理LAN中的不同主机间的二层通信(在物理LAN中,各主机是可以直接通过网络体系结构中的第二层,即数据链路层进行通信的,但划分VLAN后,不同VLAN中的主机是不可以直接通过第二层进行通信的,必须通过第三层,即网络层),广播域缩小了,广播风暴产生的可能性也大大降低了。因为传统共享介质的以太网和交换式以太网中,所有用户在同一个广播域中。
虽然在交换式网络中相对以集线器为集中设备的共享式网络来说缩小了冲突域(共享同一传输介质的节点范围),同时在非全交换全双工模式的以太网中通过CSMA/CD(Carrier Sense Multiple Access/Collision Detection,载波侦听多路访问/冲突检测)技术提供了冲突避免解决方案,但依然没有解决缩小广播域的问题。LAN内的广播数据帧仍然可以在整个LAN内广播,引起网络性能的下降,且其影响随着广播域的增大而迅速增强。
VLAN技术的基础还是基于以太网桥或交换机为集中设备的交换式网络,在以前以集线器为集中设备的共享式网络中VLAN标签是不能识别的,因为在集线器的共享网络中数据帧都是以复制方式广播的。只有在交换式网络中才可能针对具体的目的地址、VLAN标签进行数据转发。
通过将物理LAN划分为多个虚拟的VLAN网段,不仅可以控制不必要的广播数据帧传输,还可以强化网络管理和网络安全。而且VLAN的划分可以突破用户主机地理位置的限制,即不论用户主机实际上是与网络中哪个物理交换机连接,也不管它们所在网络中的物理位置如何,都可以把它们放进同一个虚拟的用户组——VLAN中。相对于物理LAN来说具有更好的划分灵活性,因为网络管理员完全可以根据实际应用或管理需求把位于同一物理LAN内的不同用户逻辑地划分成不同的VLAN,而不管这些用户所处的物理位置,连接的是哪个交换机。
如上图,每个VLAN中的成员都分布在不同楼层,每个VLAN相当于一个小的独立二层交换网络,也就是一个小的广播域。每个VLAN中的广播包只在本地VLAN中广播。如果没有通过三层设备的话,不同VLAN之间不能直接相互通信,这样加强了企业网络中不同部门之间的安全性。
二、理解VLAN的形成原理
1、同一物理交换机中的VLAN形成原理
理解VLAN的形成原理关键就是要理解“虚拟”这两个字。“虚拟”表示VLAN所组成的是一个虚拟,或者说是逻辑LAN,并不是一个物理LAN。通过不同的划分规则把连接的交换机上的各个用户主机划分到不同的VLAN中,同一个交换机中划分的各个VLAN可以理解为一个个虚拟交换机。如下图物理交换机中就划分了5个VLAN,相当于有5个互相只有逻辑连接关系的虚拟交换机。
其实只要把一个VLAN看成一台交换机(只不过它是逻辑意义上的虚拟交换机),同一物理交换机上的不同VLAN之间就像永远不可能有物理连接,只有逻辑连接的不同物理交换机一样。既然没有物理连接,那不同VLAN肯定是不能直接互相通信的,即使这些不同VLAN中的成员都处于同一IP网段,因为不同VLAN间的二层通信是隔离了的,只能通过更高的三层进行相互通信。但要注意,这里有一个必须的条件,就是这些不同VLAN必须位于同一个物理交换机上,如果同处于一个IP网段的不同VLAN位于不同交换机上,则又会有所不同(有时是可以直接互通的)。
位于同一VLAN中的端口成员就相当于同一物理交换机上的端口成员一样,不同情况仍可以按照物理交换机来处理。如同一VLAN中的各成员计算机可以属于同一个IP网段,也可以属于不同IP网段,但通常是把属于同一网段的节点划分到同一VLAN中。如果VLAN的各成员计算机都属于同一个IP网段,则肯定可以相互通信,就像同一物理交换机上连接同一网段的各计算机一样;但如果同一VLAN中的成员计算机是属于不同IP网段,则相当于一台物理交换机上连接处于不同网段的主机用户一样,这时肯定得通过路由或者网关配置来实现相互通信了,即使它们位于同一个VLAN中。
2、不同物理交换机中的VLAN
因为一个VLAN中成员计算机不是依据成员的物理位置来划分的,所以这些成员计算机通常连接在网络中的不同交换机上,也就是说一个VLAN可以跨越多台物理交换机,这就是VLAN的中继(Trunk)功能。这时不能总按照物理交换机来看待用户主机,而要从逻辑地VLAN角度看。如下图就不是把它当成两台物理交换机,而是看成五台(VLAN1~VLAN5)仅存在逻辑连接关系,但两台物理交换机中相同的VLAN间有相互物理连接关系(就是两台物理交换机间的物理连接)的虚拟交换机了。
通常情况下,这五个VLAN间的用户是二层隔离的,也就是不能直接互通,仅可以通过网络体系机构中的第三层(网络层)实现互通。
在同一物理交换机上不可能存在两个相同的VLAN,而在不同交换机上可以有相同的VLAN,而且这些不同物理交换机上的相同VLAN间一般情况下是可以直接互访的,当然这得要求他们都位于同一个IP网段,且在物理交换机连接的端口上允许这些VLAN数据包通过。不仅如此,如果位于不同交换机上的两个不同VLAN处于同一个IP网段,且交换机间连接的两个端口是分别隶属通信双方VLAN的Access端口,或者不带VLAN标签的Hybrid端口,则这两个VLAN间也是可以直接通信的。这涉及Access、Trunk和Hybrid这三种最基本的二层端口的属性和数据收、发规则了。
这里要区分“VLAN中继”和“中继端口”这两个概念。VLAN中继是指在一台交换机上的VLAN配置信息可以传播、复制到网络中相连的其他交换机上,在华为交换机上采用的是GVRP(GARP VLAN Registration Protocol,GARP VLAN注册协议)的VLAN自动注册功能来实现的;而Trunk(中继)端口则是指在一个交换机端口允许一个或多个VLAN通信到达网络中相连的另一台交换机上相同的VLAN中。
三、VLAN标签
VLAN是二层协议,对应于IEEE802.1Q标准,这样在二层的数据帧中会打上所属VLAN的标签,这就是IEEE802.1q标签(Tag),也就是通常所说的VLAN标签。
1、传统以太网帧格式
传统以太网数据帧中没有VLAN标签,其帧格式如下图:
(1)前导。前导(Preamble)字段占7个字节,由1和0交互构成(如10101010……),用于使PLS(物理层信号)子层电路与收到的帧达到时钟同步。
(2)帧起始。帧起始(Start-of-FrameDelimiter,SFD)字段占1个字节,前6位也是1和0交互构成,最后两位是连续的1,即10101011,表示一个帧的开始。前导码的作用是使接收端能根据“1”、“0”交互的比特模式迅速实现比特同步,当检测到连续两位“1”(即读到帧起始定界符字段SFD最末两位)时,便将后续的信息递交给MAC子层。
在以上两个字段中,早期的Intel和Xerox公司开发的以太网标准中是把SFD字段并入Pre字段中,所以那时的MAC帧格式中没有SFD字段。只有IEEE发布的以太网标准中才出现了SFD字段。但Pre和SFD两个字段只是用来提醒接收端新的一帧到来了,并不计入MAC帧大小中。
(3)目的MAC地址/源MAC地址。目的MAC地址(DestinationAddress,DA)和源MAC地址(Source Address,SA)字段各占6个字节,分别用于标识接收站点的MAC地址和发送站点的MAC地址。它们可以是单播MAC地址,也可以是组播地址或广播MAC地址。地址字段最高位为“0”表示单播MAC地址,仅指定网络上某个特定站点;地址字段最高位为“1”、其余位不为全“1”表示组播MAC地址,指定网络上给定的多个站点;地址字段为全“1”,表示广播MAC地址,指定网络上所有的站点。
(4)长度/类型。“长度/类型”(Length/Type)字段是一个二选一字段,也就是对具体的以太帧来说,他的含义不一样,占两个字节。在Ethernet Ⅰ和Ethernet Ⅱ以太网帧中,该字段为“类型”(Type)字段,指出帧中“数据”字段中的数据类型,总大于1536(对应的十六进制为x600);如果是IEEE802.3(包括Ethernet 802.3 raw、Ethernet 802.3 SAP、802.3/802.2 LLC和802.3/802.2 SNAP)以太网帧,则该字段为“长度”(Length)字段,值总小于或等于1500(对应的十六进制为x5DC)。在IEEE802.3以太网帧中,“数据”字段的长度为38~1500个字节。
DA、SA和Length/Type这三个字段组成MAC帧头部。Pre和SFD这两个字段通常不认为是MAC帧头部的组成部分。
(5)Data。“数据”(Data)字段对于不同的以太网帧所包括的内容也不一样,对于Ethernet Ⅰ、Ethernet Ⅱ和Ethernet 802.3 raw以太网帧,它就是从网络层来的数据包;而对于Ethernet802.3 SAP、802.3/802.2 LLC和802.3/802.2 SNAP以太网帧,则是LLC帧全部内容,包括LLC帧头和来自网络层的数据包。也正如此,“数据字段”长度范围也各不一样,具体如下:
● Ethernet Ⅰ、Ethernet Ⅱ帧“数据字段”长度范围为46~1500个字节。
● Ethernet 802.3 raw帧“数据字段”长度范围为44~1498个字节
● Ethernet802.3 SAP、802.3/802.2LLC帧“数据字段”长度范围为43~1497个字节
● 802.3/802.2 SNAP帧“数据字段”长度范围为38~1492个字节
整体而言,该字段长度范围为38~1500个字节。总的MAC帧长度最小为64个字节,最长为1518个字节(不包括“前导”字段和“帧起始字段”),如果不够64个字节时,要在“数据”字段中加上PAD填充字段。
这里说的38~1500个字节长度是在没有经过IEEE802.1qVLAN协议重封装时的长度范围,如果封装了VLAN协议,则因为VLAN标签占用了4个字节,所以就整个以太网帧来说,“数据”字段的取值范围就为34~1500个字节。
(6)Frame CheckSequence。“帧校验序列”(FCS)字段占4个字节,包括32位的循环冗余校验(CRC)值,由发送端对MAC帧自DA字段到Data字段间(不包括Pre和SFD这两个字段)的二进制序列生成校验和,然后通过接收端对所接收的帧的以上部分重新计算,看两次检验的结果是否一样即可得出所检验的帧在传输过程中是否已被破坏。
2、802.1q帧格式
IEEE802.1q是虚拟桥接局域网的正式标准,对传统的Ethernet帧格式进行了修改,在“源MAC地址”字段和“长度/类型”字段之间插入了一个4字节的“802.1q Tag”字段。而这个“802.1q Tag”字段又包括了TPID、PRI、CFI和VLAN ID四个子字段:
(1)TPID:“TagProtocol Identifier”(标签协议标识符)字段,占两个字节(16位),表明这是一个添加了IEEE802.1q标签的帧(区别于未加VLAN标签的帧),值固定为0x8100(表示封装了IEEE802.1q VLAN协议)。如果不支持802.1q的设备(如用户主机、打印机等终端设备就不支持)收到这样的帧,就会将其丢弃。
(2)PRI:Priority(优先级)字段,占3位,表示0~7八个优先级(值越大,优先级越高),主要用于当交换机阻塞时,优先发送哪个数据帧,也就是QoS(服务质量)的应用,是在802.1q规范中被详细定义的。
(3)CFI:“CanonicalFormat Idicator”(标准格式指示器)字段,占1位,用来兼容以太网和令牌环网。用来标识MAC地址在传输介质中是否以标准格式进行封装,取值为0表示MAC地址以标准格式封装,为1表示以非标准格式封装,缺省取值为0,在以太网中该值总为0,表示以标准格式封装MAC地址。
什么是“标准格式MAC地址”,什么是“非标准格式MAC地址”?其实,以太网(IEEE802.3)和令牌总线网(IEEE802.4)在传输介质中发送MAC地址字节的顺序是从低到高(也就是我们平时写MAC地址格式中的从右到左顺序),而令牌环网(IEEE802.5)和IEEE 802.6标准中MAC地址字节在传输介质中的发送顺序则相反,是从高到低的顺序。MAC地址字节的发送顺序也对应MAC地址字节的封装顺序,把IEEE802.3和IEEE802.4标准中的MAC地址封装顺序称之为“标准格式”(canonical form),而把IEEE802.5和IEEE802.6标准中的MAC地址封装顺序称之为“非标准格式”(non-canonial form)。例如一个MAC地址为12-34-56-78-9A-BC,二进制(00010010-00110100-01010110-01111000-10011010-10111100),以标准格式发送时,则它的比特顺序为01001000 00101100 01101010 00011110 00111101 00111101,但是以非标准格式发送时,它的比特次序是00010010 00110100 01010110 01111000 10011010 10111100(注意,比较每个字节可以发现,它与前面的标准格式是次序相反的)。
(4)VID:“VLANIdentified”(VLAN标识)字段,占12位,指明VLAN的ID,取值范围为0~4095,共4096个,但由于0和4095为协议保留取值,所以VLAN ID的实际有效取值范围是1~4094。每个进入支持802.1q协议的交换机发送出来的数据包都会包含这个域,以指明自己属于哪一个VLAN。
百度:
一、以太网帧格式的几种类型
1、1982年,出现了Ehternet II的标准。
2、1983年,现出了Novell—ether帧的标准。
3、1985年,出现了IEEE 802.3规范。
4、为解决EthernetII与802.3帧格式的兼容问题,后来推出了Ethernet SNAP格式。
5、cisco设备支持以下几种不同的以太网帧格式,包括arpa,sap,snap和Novell—ether。
二、不同类型的帧的格式
1、Ethernet II:
帧头(Frame Header)由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(标示封装在Frame里面的数据的类型)组成,后面是46—1500字节的数据,帧尾是4字节的帧校验(FCS)。
2、NovellEthernet:
帧头与Ethernet II的区别是其中的类型域变成了长度域,长度域后面的两个字节0xFFFF,用于标示此帧是NovellEther类型的帧;接着后面的数据域为44—1498个字节,帧尾与EthernetII相同。
3、IEEE802.3/802.2:
802.3帧头与EthernetII的区别也是其中的类型域变成了长度域,其中又引入802.2协议(LLC)在802.3帧头后面添加了一个LLC首部,由DSAP(DestinationService Access Point,占用1个字节),SSAP(Source SAP,占用一个字节),一个控制域(占用1个字节)。SAP是用来标示帧的上层协议的。
4、EthernetSNAP:
SNAP帧与802.3/802.2帧的最大区别是增加了一个5字节的SNAP ID,其中前面3个字节通常与源MAC地址前三个字节相同,表示厂商代码。有时也可设为0,后2个字节与Ethernet II的类型域相同。
三.如何区分不同的帧格式
如果帧头中源MAC地址后面的2个字节的值大于1500,则此帧为Ethernet II格式。接着比较后面的2个字节,如果为0xFFFF则是Novell Ether类型的帧;如果为0xAAAA则为Ethernet SNAP格式的帧;如果都不是则为Ethernet 802.3/802.2格式的帧。
四、主要VLAN特性及产品支持
华为交换机所支持的VLAN特性主要包括VLAN划分、VLAN注册、VLAN间通信、VLAN聚合、MUX VLAN、VLAN映射、Voice VLAN、管理VLAN。
1、VLAN划分
VLAN最基本的配置是划分VLAN,VLAN划分成功后即可实现不同VLAN内用户的二层隔离,缩小广播域。华为交换机支持5种VLAN划分方式:基于端口划分、基于MAC地址划分、基于子网划分、基于协议划分、基于策略划分。这5种方式又可归类为“静态VLAN划分”和“动态VLAN划分”两大类。“静态VLAN划分”方式是指连接用户的交换机端口被固定的划分到一个特定VLAN中,“基于端口划分”就属于这一种。“动态VLAN划分”中连接用户计算机的端口不是固定的划分到某一特定VLAN中,而是根据用户主机的MAC地址、IP地址、网络层协议或者MAC地址+IP地址或+交换机端口的组合策略来灵活的加入到不同的VLAN中,除“基于端口”的其他方式都是动态划分方式。但无论静态VLAN划分方式还是动态VLAN划分方式所划分的VLAN均属于静态VLAN。通过GVRP(GARP VLAN注册协议)协议动态注册的VLAN属于动态VLAN。
如果一交换机上同时配置了以上多种方式划分的VLAN,则对于具体用户主机将按以下从高到低的优先级顺序采用最终的VLAN划分方式:基于匹配策略划分VLAN——>基于MAC地址划分VLAN和基于子网划分VLAN——>基于协议划分VLAN——>基于端口划分VLAN。
2、VLAN间通信
一般情况下不同VLAN是不能直接进行通信的,因为VLAN间缺省是二层隔离的。但有时又需要不同VLAN中的用户进行通信,华为系列提供了3种实现VLAN间通信的解决方案:三层VLANIF接口方案、三层以太网子接口方案和VLAN Switch(VLAN交换)方案。
前两种是通过网络体系结构中的第三层——网络层功能来实现的,通过在各VLAN中的用户主机中配置指向所属VLAN的VLANIF接口或对应的三层以太网子接口的IP地址作为网关,然后利用三层交换机的IP路由功能实现交换机内部不同VLAN间的三层互通,或者利用其它路由功能在VLAN间实现三层互通。最后的VLAN Switch方案是通过VLAN标签替换方法来实现的。
3、管理VLAN
管理VLAN是一种特殊的VLAN,是专门用来为用户提供远程设备管理(通过管理VLANIF的IP地址)的VLAN,其中只有管理流(也就是进行各项网络管理的数据流)而无业务流(即用户的网络应用数据流),所以在管理VLAN中不能有业务用户主机。
4、VALN聚合
VLAN聚合(VLANaggregation)就是通常所说的Super VLAN技术。它是在一个主VLAN下包括多个同处一个IP网段的从VLAN,但只需要为主VLANIF接口配置IP地址,各从VLAN中的用户主机可以主VLAN的VLANIF接口的IP地址作为缺省网关实现三层互通。它是为了解决传统VLAN中要实现不同VLAN间相互通信必须为每个VLANIF接口配置一个IP地址,造成一定程度上IP地址资源浪费的问题,同时又可实现不同VLAN间的相互通信的目的。
5、MUX VLAN
MUX VLAN是一种可实现在VLAN内部各成员间二层隔离的技术。传统VLAN仅隔离不同VLAN中用户的二层通信,同一VLAN内的各用户是可以直接进行二层通信的。但有时又希望在VLAN内部的某个成员(如存在不安全因素的主机,或需要特别保护的主机等)与其他成员进行隔离,这时可采用MUX VLAN技术实现,主要是想达到安全保护,或用户授权的目的。
6、VLAN映射
传统的VLAN可有效控住广播域范围、隔离不同VLAN中用户间的二层通信。但由于一些低端交换机不支持全范围(1~4094)的VLAN ID,而是类似1~512的有限范围,而且还有一些VLAN ID被保留,可能导致用户网络中的VLAN ID与公网VLAN ID冲突。于是就产生了一种可以实现在用户VLAN ID和运营商VLAN ID之间相互转换的VLAN技术——VLAN映射(VLAN Mapping)。VLAN映射通过替换数据帧中的VLAN标签来实现用户VLAN与运营商VLAN的相互映射,使用户业务按照运营商的网络规划进行传输。
7、Voice VLAN
Voice VLAN(语音VLAN)是相对传统数据VLAN而言的,它是针对不同类型的用户话音流进行划分的,并能自动修改话音数据帧的优先级,以提高话音数据的传输质量。
8、VLAN透传
VLAN透传特性可以使交换机直接透明传输指定VLAN内的数据帧,不上送CPU处理,也就是不用去识别数据帧中的VLAN标签,从而提高了转发效率。
9、QinQ
QinQ(802.1Q-in-802.1Q)协议是基于IEEE802.1Q技术的一种二层隧道协议。在公网中传递的帧一般有两层802.1Q标签(一个公网VLAN标签,一个私网VLAN标签)。QinQ的核心思想是将用户私网VLAN标签封装在公网VLAN标签中,这样报文带着两层VLAN标签穿越网络运营商的骨干网络,从而为用户提供一种较为简单的二层VPN隧道。
基于端口划分VLAN
基于端口VLAN划分方式是最常用和最简单的,因为VLAN是二层协议,所以仅可以把二层以太网端口(包括物理以太网端口和Eth-Trunk聚合链路口)划分到VLAN中。虽然华为交换机的以太网端口可以转换为三层模式,但仍不能直接配置IP地址。
一、二层以太网端口
在华为交换机中主要包括Access(访问)、Trunk(干道)和Hybrid(混合)、QinQ这4种二层以太网端口。基于端口VLAN划分方式中可以把前3种二层交换机以太网端口加入特定的VLAN中,但是其他所有VLAN划分方式都只能添加Hybrid类型端口。QinQ端口仅用于支持QinQ协议,不能用于VLAN划分。
1、二层以太网端口类型
(1)Access端口。Access端口主要是用来连接用户主机的二层以太网端口。它有一种最主要的特性是仅允许一个VLAN的帧通过,反过来也就是Access端口仅可以加入一个VLAN中,且Access端口发送的以太网帧永远是Untagged(不带标签)的。
(2)Trunk端口。Trunk端口是用来连接与其他交换机的二层以太网端口。它的最主要特性是允许多个VLAN的帧通过,且所发送的以太网帧都是带标签的,除了发送VLAN ID与PVID(Port Default VLAN ID,端口缺省VLAN ID)一致的VLAN帧。
(3)Hybrid端口。Hybrid端口可以说是以上Access端口和Trunk端口的混合体,它们具有共同的特性,是一种特殊的二层以太网端口。正因如此,Hybrid端口既可以连接用户主机,又可以连接其他交换机、路由器设备。同时Hybrid端口又允许一个或多个VLAN的帧通过,并可选择以带标签或者不带标签的方式发送数据帧。
(4)QinQ端口。QinQ端口是专用于QinQ协议的二层以太网端口。他可以给数据帧加上双层VLAN标签,即在原来标签的基础上,给帧加上一个新的标签,从而可以支持多达4094 X 4094个VLAN,满足企业用户网络对VLAN数量更高的需求。
虽然从理论上讲交换机与交换机、交换机与路由器连接之间的链路也可以是Access类型的,但是实际的组网应用中通常是带标签类型的,可以是Trunk类型,也可以是带标签的Hybrid类型。一方面是因为不同网络设备间的通信通常是包含多个VLAN间的通信,而Access类型端口仅允许一个VLAN的数据通过,肯定不行;另一方面,Access类型和不带标签的Hybrid类型在发送数据时是不带标签的,这样一来,对端设备接口接收到来自本端设备任何VLAN的数据后都将打上该接口的PVID所对应的VLAN标签,并被错误的转发到该VLAN中,这显然不符合实际需求,最终造成无法正常通信。
另外,对于连接用户PC机、服务器主机或傻瓜式二层交换机设备的端口仅可以是Access类型或者不带标签的Hybrid类型,因为这些设备不能识别带有VLAN标签的数据帧,而这两种类型端口在发送数据时正好是不带VLAN标签的。傻瓜式二层交换机设备所连接的所有设备都将加入到对端交换机端口所加入的一个VLAN中。
2、二层以太网端口的缺省VLAN
以上Access、Trunk和Hybrid三种类型二层以太网端口都可以配置一个缺省VLAN,对应的VLAN ID为PVID。但端口类型不同,其缺省VLAN的含义也有所不同。Access端口的缺省VLAN就是Access端口所加入的VLAN,因为Access端口只能加入一个VLAN。但Trunk和Hybrid端口的缺省VLAN需要通过命令配置指定,因为他们都相当于加入了多个VLAN,缺省都是VLAN1。
3、二层以太网端口的数据收发规则
以上Access、Trunk和Hybrid三种类型二层以太网端口在接收和发送数据帧时对帧的处理规则也是不同的,而这些规则直接影响着数据通信的成败。
这里所说的数据帧的“收”是指交换机端口接收从对端设备发来的数据帧,而不是接收从交换机内部的另一个端口发来的数据帧,因为在交换机内部传输的数据帧都是带有VLAN标签的,无论是从哪种交换机端口发来的数据帧。同理,这里所说的数据帧的“发”是指从交换机端口向对端设备发送数据帧,而不是指本地交换机中一个端口向另一个交换机端口发送数据帧。这一点要特别注意,否则很难理解这些端口的数据接收、发送规则。
一个问题,帧到达Access端口时交换机是否会会为帧打上VLAN标签。因为许多人认为Access端口所发送的帧都是不打VLAN标签的,所以有人认为Access端口在帧中打上标签是没有任何意义的,也就认为Access端口不会再帧中打上标签。这种理解是错误的。
虽然Access端口向对端设备发送数据时是不带VLAN标签的,但是数据到了交换机后还需要一个转发过程,在交换机内部传输中所有数据都是带有VLAN标签的(当然这要求交换机支持VLAN才行),而且也有许多时候数据不是直接转发到目的节点的,而是需要在交换机上进行一些处理(如基于VLAN的策略路由、基于VLAN的ACL等),或者进行端口镜像等管理工作,这些都需要识别这些数据是来自哪个VLAN的用户。
二、二层以太网链路
Access、Trunk和Hybrid三种以太网端口所形成的链路又可归为两种以太网链路:接入链路(Access Link)和干道链路(Trunk Link)。它们是根据链路中允许通过的VLAN数据帧数量的不同来划分的。
●接入链路(AccessLink):这是交换机直接连接用户主机的链路。通常情况下,主机并不需要知道自己属于哪个VLAN,主机硬件通常也不能识别带有VLAN标签的帧,所以主机通过接入链路发送和接收的数据帧都是Untagged帧。但一定要注意,接入链路不一定只允许来自一个VLAN的数据帧通过,只是Access端口链路才仅允许一个VLAN数据帧通过,在连接用户主机的Hybrid端口链路上同样允许来自多个VLAN的数据帧(不带标签)通过。
●干道链路(TrunkLink):这是用于交换机间的互联或交换机与路由器之间连接的链路。干道链路可以承载多个不同VLAN数据,数据帧在干道链路传输时,干道链路的两端设备需要识别数据帧属于哪个VLAN,所以在干道链路上传输的都是Tagged帧,除了该链路的PVID所属VLAN的帧(缺省为VLAN1)。
上图显示了以上两种链路类型及所传输的帧类型(带有Tag的帧和Untagged帧),从中可以发现,在交换机设备之间的链路都属于干道链路,传输的是带有Tag的帧;而在交换机与主机设备之间的可以是接入链路,也可以是干道链路,具体要视主机所连接的交换机端口类型而定,但传输的都是Untagged的帧。
交换机在接收到帧后,会根据对应端口类型采取相应的数据收、发处理。如果帧需要通过另一台交换机转发,则该帧必须通过干道链路透传到对端交换设备上。为了保证其他交换设备能够正确处理帧中的VLAN信息,在干道链路上传输的帧必须打上VLAN标签。
当交换机最终确定帧出端口后,在将帧发送给主机前需要将VLAN标签从帧中删除,这样主机接收到的帧都是不带VLAN标签的以太网帧,也只有这样主机才能识别。所以一般情况下,干道链路上传输的都是带有VLAN标签的帧,接入链路上传输的都是不带VLAN标签的帧。这样处理的好处是网络中配置的VLAN信息可以被所有交换设备正确处理,而主机不需要了解VLAN信息。
三、配置基于端口划分VLAN
划分思想就是通过把连接用户计算机的交换机端口指定到具体的VLAN(是“交换机端口”与“VLAN”间的映射,不考虑用户计算机上任何配置)中来实现用户计算机的VLAN加入。是一种静态VLAN划分方式,所连接的用户计算机是属于固定的VLAN。
1、基本配置思路
基于端口划分VLAN主要包括以下三项配置任务。
(1)创建所需的VLAN:如果VLAN已创建好,可直接略过。
(2)配置端口类型:基于端口划分VLAN时可以加入Access、Trunk和Hybrid这三种二层以太网端口。在华为交换机中,二层以太网端口缺省情况下是Hybrid类型的,并且以不带标签方式加入VLAN 1。可通过命令修改。
(3)把端口加入VLAN中:这是把用户计算机连接的交换机二层以太网端口加入你所期望并且已创建好的VLAN中。
2、配置步骤
交换机端口从对端设备收到的帧有可能是Untagged的,如连接用户计算机时,但所有以太网帧在交换机内部都是以Tagged的形式进行处理、转发的,因此交换机必须给端口收到的Untagged帧加上VLAN标签。为了实现此目的,必须配置接口的缺省VLAN,即PVID。当该接口收到Untagged帧时给它加上该端口缺省VLAN的VLAN标签。如果是Access类型端口,不需要另外配置PVID,因为其PVID就是该端口唯一加入VLAN的VLAN ID。
示例:配置GE0/0/1端口的链路类型为Trunk,允许VLAN10~VLAN30通过,并配置其缺省VLAN为VLAN5。
示例:配置GE0/0/2端口的链路类型为Hybrid,并以带标签方式加入VLAN10~VLAN30,并配置其缺省VLAN为VLAN5。
示例:配置GE0/0/3端口的链路类型为Hybrid,并以不带标签方式加入VLAN10~VLAN30,并配置其缺省VLAN为VLAN5。
四、基于端口划分VLAN的配置示例
如下图拓扑,两台交换机(SwitchA和SwitchB)上各连接了许多进行不同业务操作的用户。现要把连接在SwitchA上的User1和连接在SwitchB上的User2都划分到VLAN2中,而把连接在SwitchA上的User3和连接在SwitchB上的User4都划分到VLAN3中。
分析:用户PC机连接的端口既可以是Access类型的,又可以是不带标签的Hybrid类型;交换机之间连接的端口类型可以是Trunk类型,又可以是带标签的Hybrid类型。则可以有4中配置方案。
方案一:用户端口采用Access类型,交换机间连接端口采用Trunk类型
(1)在SwitchA创建VLAN2和VLAN3,并将连接用户的端口类型都设置为Access类型,然后分别加入对应的VLAN中。SwitchB与SwitchA配置类似。
(2)配置SwitchA与SwitchB连接的端口类型为Trunk,同时允许VLAN2和VLAN3通过。
方案二:用户端口采用Access类型,交换机间连接采用带标签的Hybrid类型
(1)把用户加入对应的VLAN中,配置同方案一中的第(1)步。
(2)配置SwitchA与SwitchB连接端口类型为Hybrid,并以Tagged(带标签)方式同时加入VLAN2和VLAN3中。SwitchB配置类似。
方案三:用户端口采用不带标签的Hybrid类型,交换机间连接端口采用Trunk类型
(1)在SwitchA创建VLAN2和VLAN3,并将连接用户的端口类型设置为Hybrid类型,然后分别以Untagged方式加入对应的VLAN中,并且把对应的VLANID设置这些Hybrid端口的PVID。SwitchB配置类似。
(2)交换机间连接端口配置,同方案一中的第(2)步,即Trunk类型。
方案四:用户端口采用不带标签的Hybrid类型,交换机间连接端口采用带标签的Hybrid类型。
(1)把用户加入对应的VLAN中,同方案三中的第(1)步
(2)交换机间连接端口配置,同方案二中的第(2)步