企业网络必用到的技术-VLAN原理和配置

知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系! 

  • 随着网络中计算机的数量越来越多,传统的以太网络开始面临冲突严重、广播泛滥以及安全性无法保障等各种问题。
  • VLANVirtual Local Area Network)即虚拟局域网,是将一个物理的局域网在逻辑上划分成多个广播域的技术。通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,而不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性。

传统以太网

  • 早期的局域网LAN技术是基于总线型结构的,它存在以下主要问题:
  • 若某时刻有多个节点同时试图发送消息,那么它们将产生冲突。
  • 从任意节点发出的消息都会被发送到其他节点,形成广播。
  • 所有主机共享一条传输通道,无法控制网络中的信息安全。
  • 这种网络构成了一个冲突域,网络中计算机数量越多,冲突越严重,网络效率越低。同时,该网络也是一个广播域,当网络中发送信息的计算机数量变多时,广播流量将会耗费大量带宽。
  • 因此,传统局域网不仅面临冲突域太大和广播域太大两大难题,而且无法保障传输信息的安全。
  • 为了扩展传统LAN,以接入更多计算机,同时避免冲突的恶化,出现了网桥和二层交换机,它们能有效隔离冲突域。网桥和交换机采用交换方式将来自入端口的信息转发到出端口上,克服了共享网络中的冲突问题。但是,采用交换机进行组网时,广播域和信息安全问题依旧存在。
  • 为限制广播域的范围,减少广播流量,需要在没有二层互访需求的主机之间进行隔离。路由器是基于三层IP地址信息来选择路由和转发数据的,其连接两个网段时可以有效抑制广播报文的转发,但成本较高。因此,人们设想在物理局域网上构建多个逻辑局域网,即VLAN。

VLAN技术

  • VLAN技术可以将一个物理局域网在逻辑上划分成多个广播域,也就是多个VLANVLAN技术部署在数据链路层,用于隔离二层流量。同一个VLAN内的主机共享同一个广播域,它们之间可以直接进行二层通信。而VLAN间的主机属于不同的广播域,不能直接实现二层互通。这样,广播报文就被限制在各个相应的VLAN内,同时也提高了网络安全性。
  • 本例中,原本属于同一广播域的主机被划分到了两个VLAN中,即,VLAN1VLAN2VLAN内部的主机可以直接在二层互相通信,VLAN1VLAN2之间的主机无法直接实现二层通信。

 VLAN帧格式

  • VLAN标签长4个字节,直接添加在以太网帧头中,IEEE802.1Q文档对VLAN标签作出了说明。
  • TPIDTag Protocol Identifier2字节,固定取值,0x8100,是IEEE定义的新类型,表明这是一个携带802.1Q标签的帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
  • TCITag Control Information,2字节。帧的控制信息,详细说明如下:
1. Priority 3 比特,表示帧的优先级,取值范围为 0 7 ,值越大优先级越高。当交换机阻塞时,优先发送优先级高的数据帧。
2. CFI Canonical Format Indicator 1 比特。 CFI 表示 MAC 地址是否是经典格式。 CFI 0 说明是经典格式, CFI 1 表示为非经典格式。用于区分以太网帧、 FDDI Fiber Distributed Digital Interface )帧和令牌环网帧。在以太网中, CFI 的值为 0
3. VLAN Identifier VLAN ID 12 比特,在 X7 系列交换机中,可配置的 VLAN ID 取值范围为 0 4095 ,但是 0 4095 在协议中规定为保留的 VLAN ID ,不能给用户使用。
  • 在现有的交换网络环境中,以太网的帧有两种格式:
  • 没有加上VLAN标记的标准以太网帧(untagged frame);有VLAN标记的以太网帧(tagged frame)。

链路类型

  • VLAN链路分为两种类型:Access链路和Trunk链路。
  • 接入链路(Access Link):连接用户主机和交换机的链路称为接入链路。如本例所示,图中主机和交换机之间的链路都是接入链路。
  • 干道链路(Trunk Link):连接交换机和交换机的链路称为干道链路。如本例所示,图中交换机之间的链路都是干道链路。干道链路上通过的帧一般为带TagVLAN帧。

PVID 

  •  PVIDPort VLAN ID,代表端口的缺省VLAN
  • 交换机从对端设备收到的帧有可能是Untagged的数据帧,但所有以太网帧在交换机中都是以Tagged的形式来被处理和转发的,因此交换机必须给端口收到的Untagged数据帧添加上Tag。为了实现此目的,必须为交换机配置端口的缺省VLAN。当该端口收到Untagged数据帧时,交换机将给它加上该缺省VLANVLAN Tag

端口类型-Access 

  • Access端口是交换机上用来连接用户主机的端口,它只能连接接入链路,并且只能允许唯一的VLAN ID通过本端口。
  • Access端口收发数据帧的规则如下:
  • 如果该端口收到对端设备发送的帧是untagged(不带VLAN标签),交换机将强制加上该端口的PVID。如果该端口收到对端设备发送的帧是tagged(带VLAN标签),交换机会检查该标签内的VLAN ID。当VLAN ID与该端口的PVID相同时,接收该报文。当VLAN ID与该端口的PVID不同时,丢弃该报文。
  • Access端口发送数据帧时,总是先剥离帧的Tag,然后再发送。Access端口发往对端设备的以太网帧永远是不带标签的帧。
  • 在本示例中,交换机的G0/0/1G0/0/2G0/0/3端口分别连接三台主机,都配置为Access端口。主机A把数据帧(未加标签)发送到交换机的G0/0/1端口,再由交换机发往其他目的地。收到数据帧之后,交换机根据端口的PVID给数据帧打上VLAN标签10,然后决定从G0/0/3端口转发数据帧。G0/0/3端口的PVID也是10,与VLAN标签中的VLAN ID相同,交换机移除标签,把数据帧发送到主机C。连接主机B的端口的PVID2,与VLAN10不属于同一个VLAN,因此此端口不会接收到VLAN10的数据帧。

端口类型-Trunk

  • Trunk端口是交换机上用来和其他交换机连接的端口,它只能连接干道链路。Trunk端口允许多个VLAN的帧(带Tag标记)通过。
  • Trunk端口收发数据帧的规则如下:
1. 当接收到对端设备发送的不带 Tag 的数据帧时,会添加该端口的 PVID ,如果 PVID 在允许通过的 VLAN ID 列表中,则接收该报文,否则丢弃该报文。当接收到对端设备发送的带 Tag 的数据帧时,检查 VLAN ID 是否在允许通过的 VLAN ID 列表中。如果 VLAN ID 在接口允许通过的 VLAN ID 列表中,则接收该报文。否则丢弃该报文。
2. 端口发送数据帧时,当 VLAN ID 与端口的 PVID 相同,且是该端口允许通过的 VLAN ID 时,去掉 Tag ,发送该报文。当 VLAN ID 与端口的 PVID 不同,且是该端口允许通过的 VLAN ID 时,保持原有 Tag ,发送该报文。
  • 在本示例中,SWASWB连接主机的端口为Access端口,PVID如图所示。SWASWB互连的端口为Trunk端口,PVID都为1,此Trunk链路允许所有VLAN的流量通过。当SWA转发VLAN1的数据帧时会剥离VLAN标签,然后发送到Trunk链路上。而在转发VLAN20的数据帧时,不剥离VLAN标签直接转发到Trunk链路上。

端口类型-Hybrid 

  • Access端口发往其他设备的报文,都是Untagged数据帧,而Trunk端口仅在一种特定情况下才能发出untagged数据帧,其它情况发出的都是Tagged数据帧。
  • Hybrid端口是交换机上既可以连接用户主机,又可以连接其他交换机的端口。Hybrid端口既可以连接接入链路又可以连接干道链路。Hybrid端口允许多个VLAN的帧通过,并可以在出端口方向将某些VLAN帧的Tag剥掉。华为设备默认的端口类型是Hybrid
  • 在本示例中,要求主机A和主机B都能访问服务器,但是它们之间不能互相访问。此时交换机连接主机和服务器的端口,以及交换机互连的端口都配置为Hybrid类型。交换机连接主机A的端口的PVID2,连接主机B的端口的PVID3,连接服务器的端口的PVID100

端口类型-Hybrid(续) 

  • Hybrid端口收发数据帧的规则如下:
  • 当接收到对端设备发送的不带Tag的数据帧时,会添加该端口的PVID,如果PVID在允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。当接收到对端设备发送的带Tag的数据帧时,检查VLAN ID是否在允许通过的VLAN ID列表中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。
  • Hybrid端口发送数据帧时,将检查该接口是否允许该VLAN数据帧通过。如果允许通过,则可以通过命令配置发送时是否携带Tag
  • 配置port hybrid tagged vlan vlan-id命令后,接口发送该vlan-id的数据帧时,不剥离帧中的VLAN Tag,直接发送。该命令一般配置在连接交换机的端口上。
  • 配置port hybrid untagged vlan vlan-id命令后,接口在发送vlan-id的数据帧时,会将帧中的VLAN Tag剥离掉再发送出去。该命令一般配置在连接主机的端口上。
  • 本例介绍了主机A和主机B发送数据给服务器的情况。在SWASWB互连的端口上配置了port hybrid tagged vlan 2 3 100命令后,SWASWB之间的链路上传输的都是带Tag标签的数据帧。在SWB连接服务器的端口上配置了port hybrid untagged vlan 2 3,主机A和主机B发送的数据会被剥离VLAN标签后转发到服务器。

VLAN划分方法 

  • VLAN的划分包括如下5种方法:
1. 基于端口划分:根据交换机的端口编号来划分 VLAN 。通过为交换机的每个端口配置不同的 PVID ,来将不同端口划分到 VLAN 中。初始情况下, X7 系列交换机的端口处于 VLAN1 中。此方法配置简单,但是当主机移动位置时,需要重新配置 VLAN
2. 基于 MAC 地址划分:根据主机网卡的 MAC 地址划分 VLAN 。此划分方法需要网络管理员提前配置网络中的主机 MAC 地址和 VLAN ID 的映射关系。如果交换机收到不带标签的数据帧,会查找之前配置的 MAC 地址和 VLAN 映射表,根据数据帧中携带的 MAC 地址来添加相应的 VLAN 标签。在使用此方法配置 VLAN 时,即使主机移动位置也不需要重新配置 VLAN
3. 基于 IP 子网划分:交换机在收到不带标签的数据帧时,根据报文携带的 IP 地址给数据帧添加 VLAN 标签。
4. 基于协议划分:根据数据帧的协议类型(或协议族类型)、封装格式来分配 VLAN ID 。网络管理员需要首先配置协议类型和 VLAN ID 之间的映射关系。
5. 基于策略划分:使用几个条件的组合来分配 VLAN 标签。这些条件包括 IP 子网、端口和 IP 地址等。只有当所有条件都匹配时,交换机才为数据帧添加 VLAN 标签。另外,针对每一条策略都是需要手工配置的。

VLAN配置

  • 在交换机上划分VLAN时,需要首先创建VLAN。在交换机上执行vlan <vlan-id>命令,创建VLAN。如本例所示,执行vlan 10命令后,就创建了VLAN 10,并进入了VLAN 10视图。VLAN ID的取值范围是14094。如需创建多个VLAN,可以在交换机上执行vlan batch { vlan-id1 [ to vlan-id2 ] }命令,以创建多个连续的VLAN。也可以执行vlan batch { vlan-id1 vlan-id2 }命令,创建多个不连续的VLANVLAN号之间需要有空格。

 配置验证

  • 创建VLAN后,可以执行display vlan命令验证配置结果。如果不指定任何参数,则该命令将显示所有VLAN的简要信息。
  • 执行display vlan [ vlan-id [ verbose ] ]命令,可以查看指定VLAN的详细信息,包括VLAN ID、类型、描述、VLAN的状态、VLAN中的端口、以及VLAN中端口的模式等。
  • 执行display vlan vlan-id statistics命令,可以查看指定VLAN中的流量统计信息。
  • 执行display vlan summary命令,可以查看系统中所有VLAN的汇总信息。

配置Access端口 

  • 华为X7系列交换机上,默认的端口类型是hybrid
  • 配置端口类型的命令是port link-type <type>type可以配置为AccessTrunkHybrid。需要注意的是,如果查看端口配置时没有发现端口类型信息,说明端口使用了默认的hybrid端口链路类型。当修改端口类型时,必须先恢复端口的默认VLAN配置,使端口属于缺省的VLAN 1

添加端口到VLAN 

  • 可以使用两种方法把端口加入到VLAN
1. 第一种方法是进入到 VLAN 视图,执行 port <interface> 命令,把端口加入 VLAN
2. 第二种方法是进入到接口视图,执行 port default vlan < vlan -id> 命令,把端口加入 VLAN vlan -id 是指端口要加入的 VLAN

配置验证 

  • 执行display vlan命令,可以确认端口是否已经加入到VLAN中。在本示例中,端口GigabitEthernet0/0/5GigabitEthernet0/0/7分别加入了VLAN 3VLAN 2。UT表明该端口发送数据帧时,会剥离VLAN标签,即此端口是一个Access端口或不带标签的Hybrid端口。UD分别表示链路当前是Up状态或Down状态。

 配置Trunk端口

  • 配置Trunk时,应先使用port link-type trunk命令修改端口的类型为Trunk,然后再配置Trunk端口允许哪些VLAN的数据帧通过。执行port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }命令,可以配置端口允许的VLANall表示允许所有VLAN的数据帧通过。
  • 执行port trunk pvid vlan vlan-id命令,可以修改Trunk端口的PVID。修改Trunk端口的PVID之后,需要注意:缺省VLAN不一定是端口允许通过的VLAN。只有使用命令port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }允许缺省VLAN数据通过,才能转发缺省VLAN的数据帧。交换机的所有端口默认允许VLAN1的数据通过。
  • 在本示例中,将SWAG0/0/1端口配置为Trunk端口,该端口PVID默认为1。配置port trunk allow-pass vlan 2 3命令之后,该Trunk允许VLAN 2VLAN 3的数据流量通过。

 配置验证

  •  执行display vlan命令可以查看修改后的配置。TG表明该端口在转发对应VLAN的数据帧时,不会剥离标签,直接进行转发,该端口可以是Trunk端口或带标签的Hybrid端口。本示例中,GigabitEthernet0/0/1在转发VLAN 2VLAN3的流量时,不剥离标签,直接转发。

 配置Hybrid端口

  • port link-type hybrid命令的作用是将端口的类型配置为Hybrid。默认情况下,X7系列交换机的端口类型是Hybrid。因此,只有在把Access口或Trunk口配置成Hybrid时,才需要执行此命令。
  • port hybrid tagged vlan{ { vlan-id1 [ to vlan-id2 ] } | all }命令用来配置允许哪些VLAN的数据帧以Tagged方式通过该端口。
  • port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }命令用来配置允许哪些VLAN的数据帧以Untagged方式通过该端口。
  • 在本示例中,要求主机A和主机B都能访问服务器,但是它们之间不能互相访问。此时通过命令port link-type hybrid配置交换机连接主机和服务器的端口,以及交换机互连的端口都为Hybrid类型。通过命令port hybrid pvid vlan 2配置交换机连接主机A的端口的PVID2。类似地,连接主机B的端口的PVID3,连接服务器的端口的PVID100
  • 通过在G0/0/1端口下使用命令port hybrid tagged vlan 2 3 100,配置VLAN2,VLAN3VLAN100的数据帧在通过该端口时都携带标签。在G0/0/2端口下使用命令port hybrid untagged vlan 2 100,配置VLAN2VLAN100的数据帧在通过该端口时都不携带标签。在G0/0/3端口下使用命令port hybrid untagged vlan 3 100,配置VLAN3VLAN100的数据帧在通过该端口时都不携带标签。

 

  • SWB上继续进行配置,在G0/0/1端口下使用命令port link-type hybrid配置端口类型为Hybrid
  • G0/0/1端口下使用命令port hybrid tagged vlan 2 3 100,配置VLAN2VLAN3VLAN100的数据帧在通过该端口时都携带标签。
  • G0/0/2端口下使用命令port hybrid untagged vlan 2 3 100,配置VLAN2VLAN3VLAN100的数据帧在通过该端口时都不携带标签。

 配置验证

  •  SWA上执行display vlan命令,可以查看hybrid端口的配置。在本示例中,GigabitEthernet 0/0/2在发送VLAN2VLAN100的数据帧时会剥离标签。GigabitEthernet 0/0/3在发送VLAN3VLAN100的数据帧时会剥离标签。GigabitEthernet 0/0/1允许VLAN 2VLAN 3VLAN 100的带标签的数据帧通过。此配置满足了多个VLAN可以访问特定VLAN,而其他VLAN间不允许互相访问的需求。

Voice VLAN应用

  • 随着IP网络的融合,TCP/IP网络可以为高速上网HSIHigh Speed Internet)业务、VoIPVoice over IP)业务、IPTVInternet Protocol Television)业务提供服务。
  • 语音数据在传输时需要具有比其他业务数据更高的优先级,以减少传输过程中可能产生的时延和丢包现象。
  • 为了区分语音数据流,可在交换机上部署Voice VLAN功能,把VoIP的电话流量进行VLAN隔离,并配置更高的优先级,从而能够保证通话质量。

配置Voice VLAN

  • 执行voice-vlan <vlan-id> enable命令,可以把VLAN 2VLAN 4094之间的任一VLAN配置成语音VLAN
  • 执行voice-vlan mode <mode>命令,可以配置端口加入语音VLAN的模式。
  • 端口加入Voice VLAN的模式有两种:
  • 自动模式:使能Voice VLAN功能的端口根据进入端口的数据流中的源MAC地址字段来判断该数据流是否为语音数据流。源MAC地址符合系统设置的语音设备OUIOrganizationally Unique Identifier)地址的报文认为是语音数据流。接收到语音数据流的端口将自动加入Voice VLAN中传输,并通过老化机制维护Voice VLAN内的端口数量。
  • 手动模式:当接口使能Voice VLAN功能后,必须通过手工将连接语音设备的端口加入或退出Voice VLAN中,这样才能保证Voice VLAN功能生效。
  • 执行voice-vlan mac-address mac-address mask oui-mask [ description text ]命令,用来配置Voice VLANOUI地址。OUI地址表示一个MAC地址段。交换机将48位的MAC地址和掩码的对应位做“与运算可以确定出OUI地址。接入设备的MAC地址和OUI地址匹配的位数,由掩码中全“1”的长度决定。例如,MAC地址为0001–0001–0001,掩码为FFFF-FF00–0000,那么将MAC地址与其相应掩码位执行“与”运算的结果就是OUI地址0001–0000–0000。只要接入设备的MAC地址前24位和OUI地址的前24位匹配,那么使能Voice VLAN功能的端口将认为此数据流是语音数据流,接入的设备是语音设备。

 配置验证

  • 执行display voice-vlan status命令,可以查看语音VLAN的信息,包括状态、工作模式、老化时间、以及使能了语音VLAN功能的端口信息。
  • Add-Mode字段表明语音VLAN的添加模式。自动模式中,使能了语音VLAN功能后,端口可以自动加入到语音VLAN。如果语音设备发送的报文的MAC地址匹配了OUI,连接该语音设备的端口也会加入语音VLAN。如果在老化时间内,端口没有收到语音设备的任何语音数据报文,端口自动会被删除。手动模式中,在端口上使能了语音VLAN功能之后,必须手动把端口添加到语音VLAN中。
  • Security-Mode字段表示Voice VLAN端口的工作模式,有两种:
1. 正常模式:可以传输语音数据和业务数据,但是容易受到恶意数据流量的攻击。
2. 安全模式:只允许传输语音数据流。安全模式可以防止 Voice VLAN 受到恶意数据流量的攻击,但是检查报文的工作会占用一定的系统资源。
  • Legacy字段表明端口是否开启与其他厂商语音设备互通的功能,Enable表示开启,Disable表示关闭。

本章总结

问:如果一个Trunk链路PVID5,且端口下配置port trunk allow-pass vlan 2 3,那么哪些VLAN的流量可以通过该Trunk链路进行传输?

答:执行了port trunk allow-pass vlan 2 3命令后,VLAN 5的数据帧不能在此链路上进行传输。VLAN 1的数据默认也可以通过Trunk链路进行传输。所以VLAN 1VLAN 2VLAN 3的数据帧可以在Trunk链路上传输。

问:PVID为2Access端口收到一个不带标记的帧会采取什么样的动作?

答:收到不带标签的数据帧后,PVID2Access端口会给数据帧打上VLAN 2的标签。然后交换机会根据标签和目的MAC地址将数据帧发送到其他端口。

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值