华为数通笔记-VLAN

VLAN原理

以太网是一种基于CSMA/CD的数据网络通信技术,其特征是共享通信介质。当主机数目较多时会导致安全隐患、广播泛滥、性能显著下降甚至造成网络不可用。在这种情况下出现了VLAN (Virtual Local Area Network)技术解决以上问题。

广播域:

如图是一个典型的交换网络,网络中只有终端计算机和交换机。在这样的网络中,如果某一台计算机发送了一个广播帧,由于交换机对广播帧执行泛洪操作,结果所有其他的计算机都会收到这个广播帧。把广播帧所能到达的整个访问范围称为二层广播域,简称广播域(Broadcast Domain)。显然,一个交换网络其实就是一个广播域。

虚拟局域网(VLAN, Virtual LAN)

为了解决广播域带来的问题,人们引入了VLAN (Virtual Local Area Network),即虚拟局域网技术:

通过在交换机上部署VLAN,可以将一个规模较大的广播域在逻辑上划分成若干个不同的、规模较小的广播域,由此可以有效地提升网络的安全性,同时减少垃圾流量,节约网络资源。

VLAN的特点:

一个VLAN就是一个广播域,所以在同一个VLAN内部,计算机可以直接进行二层通信;而不同VLAN内的计算机,无法直接进行二层通信,只能进行三层通信来传递信息,即广播报文被限制在一个VLAN内。

VLAN的划分不受地域的限制。

VLAN的好处:

灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。

限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。

增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。

提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。

注:二层,即数据链路层。

基本原理

如何实现VLAN

VLAN标签(VLAN Tag)

如图所示,SW1识别出某个帧是属于哪个VLAN后,会在这个帧的特定位置上添加一个标签这个标签明确地标明了这个帧是属于哪个VLAN。其他交换机(如SW2)收到这个带标签的数据帧后,就能轻而易举地直接根据标签信息识别出这个帧属于哪个VLAN。

在交换机没做任何配置下,所有接口允许不带标签的vlan 1通过。其他VLAN的数据要想在交换机之间传输,接口就得允许此vlan通过。

IEEE 802.1Q定义了这种带标签的数据帧的格式。满足这种格式的数据帧称为IEEE 802.1Q数据帧,也称VLAN数据帧。

在一个VLAN交换网络中,以太网帧主要有以下两种形式:

有标记帧(Tagged帧):IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag)的数据帧。

无标记帧(Untagged帧)原始的、未加入4字节VLAN标签的数据帧。

VLAN数据帧中的主要字段:

TPID:2字节,Tag Protocol Identifier(标签协议标识符),表示数据帧类型。

取值为0x8100时表示IEEE 802.1QVLAN数据帧如果不支持802.1Q的设备收到这样的帧,会将其丢弃

各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时,为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。

PRI:3 bit,Priority,表示数据帧的优先级,用于QoS。

取值范围为0~7,值越大优先级越高。当网络阻塞时,交换机优先发送优先级高的数据帧。

CFI:1 bit,Canonical Format Indicator(标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网

CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI的值为0

VID:12 bit,VLAN ID,表示该数据帧所属VLAN的编号。VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是14094。交换机利用VLAN标签中的VID来识别数据帧所属的VLAN,广播帧只在同一VLAN内转发,这就将广播域限制在一个VLAN内。

如何识别带VLAN标签的数据帧:

数据帧的Length/Type = 0x8100。

注意:计算机无法识别Tagged数据帧,因此计算机处理和发出的都是Untagged数据帧为了提高处理效率,交换机内部处理的数据帧一律都是Tagged帧。

VLAN的实现

VLAN的划分方式

如果入方向Untagged帧同时匹配多种划分VLAN的方式,则优先级顺序从高至低依次是:基于匹配策略划分VLAN->基于MAC地址划分VLAN或基于子网划分VLAN->基于协议划分VLAN->基于接口划分VLAN

如果报文同时匹配了基于MAC地址划分VLAN和基于子网划分VLAN,缺省情况下,优先基于MAC地址划分VLAN。可以通过命令改变基于MAC地址划分VLAN和基于子网划分VLAN的优先级,从而决定优先划分VLAN的方式。

基于接口划分VLAN的优先级最低,但是最常用的VLAN划分方式。

计算机发出的数据帧不带任何标签。对已支持VLAN特性的交换机来说,当计算机发出的Untagged帧一旦进入交换机后,交换机必须通过某种划分原则把这个帧划分到某个特定的VLAN中去。

VLAN的划分包括如下5种方法:

基于接口划分根据交换机的接口来划分VLAN

网络管理员预先给交换机的每个接口配置不同的PVID,当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的标签,然后数据帧将在指定VLAN中传输。

基于MAC地址划分:根据数据帧的源MAC地址来划分VLAN。

网络管理员预先配置MAC地址和VLAN ID映射关系表,当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。

基于IP子网划分:根据数据帧中的源IP地址和子网掩码来划分VLAN。

网络管理员预先配置IP地址和VLAN ID映射关系表,当交换机收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。

基于协议划分:根据数据帧所属的协议(族)类型及封装格式来划分VLAN。

网络管理员预先配置以太网帧中的协议域和VLAN ID的映射关系表,如果收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。

基于策略划分:根据配置的策略划分VLAN,能实现多种组合的划分方式,包括接口、MAC地址、IP地址等。

网络管理员预先配置策略,如果收到的是Untagged帧,且匹配配置的策略时,给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。

基于接口的VLAN划分

划分原则:

将VLAN ID配置到交换机的物理接口上,从某一个物理接口进入交换机的、由终端计算机发送的Untagged数据帧都被划分到该接口的VLAN ID所表明的那个VLAN

特点:

这种划分原则简单而直观,实现容易,是目前实际的网络应用中最为广泛的划分VLAN的方式。

当计算机接入交换机的端口发生了变化时,该计算机发送的帧的VLAN归属可能会发生变化。

缺省VLAN,PVID (Port VLAN ID)

每个交换机的接口都应该配置一个PVID,到达这个端口的Untagged帧将一律被交换机划分到PVID所指代的VLAN。

默认情况下,PVID的值为1。

基于MAC地址的VLAN划分

划分原则:

交换机内部建立并维护了一个MAC地址与VLAN ID的对应表。当交换机接收到计算机发送的Untagged帧时,交换机将分析帧中的源MAC地址,然后查询MAC地址与VLAN ID的对应表,并根据对应关系把这个帧划分到相应的VLAN中。

特点:

这种划分实现稍微复杂,但灵活性得到了提高。

当计算机接入交换机的端口发生了变化时,该计算机发送的帧的VLAN归属不会发生变化(因为计算机的MAC地址没有变)。

但这种类型的VLAN划分安全性不是很高,因为恶意计算机很容易伪造MAC地址。

 

以太网二层接口类型

基于接口的VLAN划分依赖于交换机的接口类型。

Access接口

Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。

Trunk接口

Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。

Hybrid接口

Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。

华为设备默认的接口类型是Hybrid。

Access接口

Trunk接口

对于Trunk接口,除了要配置PVID外,还必须配置允许通过的VLAN ID列表,其中VLAN 1是默认存在的。

Trunk接口特点:

Trunk接口仅允许VLAN ID在允许通过列表中的数据帧通过。

Trunk接口可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。

Trunk接口接收数据帧:

当Trunk接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在允许通过的VLAN ID列表中。如果在,则对得到的Tagged帧进行转发操作;如果不在,则直接丢弃得到的Tagged帧。

当Trunk接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否在允许通过的VLAN ID列表中。如果在,则对这个Tagged帧进行转发操作;如果不在,则直接丢弃这个Tagged帧。

Trunk接口发送数据帧:

当一个Tagged帧从本交换机的其他接口到达一个Trunk接口后,如果这个帧的Tag中的VID不在允许通过的VLAN ID列表中,则该Tagged帧会被直接丢弃。

当一个Tagged帧从本交换机的其他接口到达一个Trunk接口后,如果这个帧的Tag中的VID在允许通过的VLAN ID列表中,则会比较该Tag中的VID是否与接口的PVID相同:

如果相同,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去;

如果不同,则交换机不会对这个Tagged帧的Tag进行剥离,而是直接将它从链路上发送出去。

Hybrid接口

华为交换机默认接口的为类型为hybird且pvid为1,未配置时,只有vlan1在Untagged Vlan列表中。

对于Hybrid接口,除了要配置PVID外,还存在两个允许通过的VLAN ID列表,一个是Untagged VLAN ID列表,另一个是Tagged VLAN ID列表,其中VLAN 1默认在Untagged VLAN列表中。这两个允许通过列表中的所有VLAN的帧都是允许通过这个Hybrid接口的。

Hybrid接口特点:

Hybrid接口仅允许VLAN ID在允许通过列表中的数据帧通过。

Hybrid接口可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag、某些VLAN的帧不带Tag。

Hybrid接口接收数据帧:

当Hybrid接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在Untagged或Tagged VLAN ID列表中。如果在,则对得到的Tagged帧进行转发操作;如果不在,则直接丢弃得到的Tagged帧。

当Hybrid接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否在Untagged或Tagged VLAN ID列表中。如果在,则对这个Tagged帧进行转发操作;如果不在,则直接丢弃这个Tagged帧。

Hybrid接口发送数据帧:

当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID既不在Untagged VLAN ID列表中,也不在Tagged VLAN ID列表中,则该Tagged帧会被直接丢弃。

当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID在Untagged VLAN ID列表中,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去。

当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID在Tagged VLAN ID列表中,则交换机不会对这个Tagged帧的Tag进行剥离,而是直接将它从链路上发送出去。

Trunk最主要的区别就是,能够支持多个VLAN的数据帧,不带标签通过。Trunk要pvid和vlan id相同才可以去掉tag否则只能带tagged发送,在只有一个接口的情况下只能允许通过一个untagged帧。

总结

 

VLAN的应用

VLAN的规划

VLAN编号建议连续分配,以保证VLAN资源合理利用。最常用的划分方式是基于接口的方式。

应用场景-基于接口的VLAN划分

应用场景-基于MACVLAN划分

配置

配置思路:

创建VLAN并将连接用户的接口加入VLAN,实现不同业务用户之间的二层流量隔离。

配置SW1和SW2的各接口类型以及通过的VLAN,实现相同业务用户通过SW1和SW2通信。

创建VLAN

 

配置Access接口和Trunk接口

配置思路:

创建VLAN并将连接用户的接口加入VLAN,实现不同业务用户之间的二层流量隔离。

配置SW1和SW2的各接口类型以及通过的VLAN,实现主机和服务器之间通过SW1和SW2通信。

配置思路:

创建VLAN。

配置各以太网接口以正确的方式加入VLAN。

配置主机1、主机2、主机3的MAC地址与VLAN关联,实现根据报文中的源MAC地址确定VLAN。

配置接口为Hybrid接口:在Access接口和Trunk接口上,只有基于MAC划分的VLAN和PVID相同时,才能使用MAC VLAN功能。所以基于MAC地址划分VLAN推荐在Hybrid口上配置。

实现VLAN间通信

传统交换二层组网中,默认所有网络都处于同一个广播域,这带了诸多问题。VLAN(Virtual Local Area Network,虚拟局域网)技术的提出,满足了二层组网隔离广播域需求,使得属于不同VLAN的网络无法互访,但不同VLAN之间又存在着相互访问的需求。

VLAN间通信

实际网络部署中一般会将不同IP地址段划分到不同的VLAN。

同VLAN且同网段的PC之间可直接进行通信,无需借助三层转发设备,该通信方式被称为二层通信。

VLAN之间需要通过三层通信实现互访,三层通信需借助三层设备。

使用路由器物理接口

在二层交换机上配置VLAN,每个VLAN单独使用一个交换机接口与路由器互联。

路由器使用两个物理接口,分别作为VLAN 10及VLAN 20内PC的默认网关,使用路由器的物理接口实现VLAN之间的通信。

使用路由器子接口

R1使用一个物理接口(GE0/0/1)与交换机SW1对接,并基于该物理接口创建两个子接口:GE0/0/1.10及GE0/0/1.20,分别使用这两个子接口作为VLAN 10及VLAN 20的默认网关。

由于三层子接口不支持VLAN报文,当它收到VLAN报文时,会将VLAN报文当成是非法报文而丢弃。因此,需要在子接口上将VLAN Tag剥掉,也就是需要VLAN终结(VLAN Termination)。

子接口处理流程

子接口终结VLAN的实质包含两个方面:

对接口接收到报文,剥除VLAN标签后进行三层转发或其他处理。

对接口发出的报文,又将相应的VLAN标签添加到报文中后再发送。

Dot1q终结:对接收到的带有一层或两层VLAN Tag的报文,剥除报文的最外一层VLAN Tag;对从接口发出的报文,添加一层VLAN Tag。

QinQ终结:对接收到的带有两层VLAN Tag的报文,剥除报文的两层VLAN Tag;对从接口发出的报文,添加两层VLAN Tag。

 

子接口配置示例

interface interface-type interface-number.sub-interface number命令用来创建子接口。sub-interface number代表物理接口内的逻辑接口通道。一般情况下,为了方便记忆,子接口ID与所要终结的VLAN ID相同。

dot1q termination vid命令用来配置子接口Dot1q终结的单层VLAN ID。缺省情况,子接口没有配置dot1q终结的单层VLAN ID。arp broadcast enable命令用来使能终结子接口的ARP广播功能。缺省情况下,终结子接口没有使能ARP广播功能。终结子接口不能转发广播报文,在收到广播报文后它们直接把该报文丢弃。为了允许终结子接口能转发广播报文,可以通过在子接口上执行此命令。

使用VLANIF技术实现VLAN间通信

三层交换机和VLANIF接口

VLAN配置示例

interface vlanif vlan-id命令用来创建VLANIF接口并进入到VLANIF接口视图。vlan-id表示与VLANIF接口相关联的VLAN编号。VLANIF接口的IP地址作为主机的网关IP地址,和主机的IP地址必须位于同一网段。

VLANIF转发流程(1)

VLANIF转发流程(2)

VLANIF转发流程(3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值