理解Hybrid接口的应用

原理概述

Hybrid接口既可以连接普通终端的接入链路又可以连接交换机间的干道链路,它允许多个VLAN的帧通过,并可以在出接口方向将某些VLAN帧的标签剥掉。

Hybrid 接口处理VLAN帧的过程如下:

(1)收到一个二层帧,判断是否有VLAN标签。没有标签,则标记上Hybrid接口的PVID,进行下一步处理;有标签,判断该Hybrid接口是否允许该VLAN的帧进入,允许则进行下一步处理,否则丢弃。

(2)当数据帧从Hybrid接口发出时,交换机判断VLAN在本接口的属性是Untagged还是Tagged。如果是Untagged,先剥离帧的VLAN标签,再发送;如果是Tagged,则直接发送帧。

通过配置Hybrid接口,能够实现对VLAN标签的灵活控制,既能够实现Access接口的功能,又能够实现Trunk接口的功能。

实验目的

●掌握配置 Hybrid接口的方法

●理解Hybrid接口处理Untagged数据帧过程

●理解Hybrid接口处理Tagged数据帧过程

●理解Hybrid接口的应用场景

实验内容

某企业二层网络使用两台S3700交换机S1和S2,且两台设备在不同的楼层。网络管理员规划了3个不同VLAN, HR部门使用VLAN 10,市场部门使用VLAN20, It部门使用VLAN 30。现在需要让处于不同楼层的HR部门和市场部门实现部门内部通信,而两部门之间不允许互相通信; IT 部门可以访问任意部门。可以通过配置Hybrid接口来实现较复杂的VLAN控制。

实验拓扑

 

 

实验步骤

1.基本配置

按照实验编址表为PC配置IP地址,如图所示的配置过程适用于所有终端。

 

 

完成配置后,测试主机之间的连通性。在PC-1上,使用ping命令。

 

 

可以观察到,此时PC-1访问其他主机通信正常,其他主机上的测试过程省略。

在没有定义VLAN及接口类型之前,默认情况下,交换机上所有接口都是Hybrid类型,接口的PVID是VLAN 1,即所有接口收到没有标签的二层数据帧,都被转发到VLAN1中,并继续以Untagged的方式把帧发送至同为VLAN1的其他接口。所以,即使未做任何配置,主机之间默认仍然可以互相通信。

 

在S1上使用display port vlan命令查看接口的默认类型。

 

 

可以观察到,接口默认是Hybrid类型,接口PVID是VLAN1,其他接口也一样。

在交换机上使用display vlan命令查看接口和所属VLAN的对应关系。

 

 

可以观察到,所有接口都默认属于VLAN 1,其他交换机也都- -样, 因此VLAN 1内所有的主机都可以直接访问。

2.实现组内通信、组间隔离

交换机接口的类型可以是Access、Trunk 和Hybrid. Access 类型的接口仅属于- - 1VLAN,只能接收、转发相应VLAN的帧:而Trunk类型接口则默认属于所有VLAN,任何Tagged帧都能经过Trunk接收和转发: Hybrid 类型接口则介于二者之间,可自主定义端口上能接收和转发哪些VLAN Tag的帧,并可决定VLAN Tag是否继续携带或者剿离。Acess 和Trunk 类型接口是Hybrid 类型接口的两个特例,一个仅支持一个VLAN的传递,一个默认 支持所有VLAN的传递,而Access 类型和Trunk类型的接口 能做到的,Hybrid接口都能做到。

目前要求实现HR部门和市场部门的员工终端可以进行部门内部通信,即VLAN10内PC-2和PC-4之间可以自由访问,VLAN20内PC-1和PC-3之间可以自由访问,而两个部门间的员工不能互相访问,即VLAN 10和VLAN 20之间不能互相访问。要实现此需求,可以使用Access和Trunk的配置方法,也可以仅使用Hybrid的配置方法。

使用Trunk和Access类型接口的配置过程如下。

将S1上的E 0/0/2 和S2上的E 0/0/2 配置为Access类型,并将相应的接口加入到VLAN 20。同理,将S1.上的E 0/0/3和S2上的E 0/0/3也配置为Access类型接口,并加入到VLAN10.而交换机之间的互连链路的两个E0/0/1接口则配置为Trunk类型。

[fengnuoS1]vlan 10

[fengnuoS1-vlan10]vlan 20

[fengnuoS1-vlan20]int e0/0/3

[fengnuoS1-Ethernet0/0/3]port link-type access

[fengnuoS1-Ethernet0/0/3]port default vlan 10

[fengnuoS1-Ethernet0/0/3]int e0/0/2

[fengnuoS1-Ethernet0/0/2]port link-type access

[fengnuoS1-Ethernet0/0/2]port default vlan 20

[fengnuoS1]int e0/0/1

[fengnuoS1-Ethernet0/0/1]port link-type trunk

[fengnuoS1-Ethernet0/0/1]port trunk allow-pass vlan all

 

[fengnuoS2]vlan 10

[fengnuoS2-vlan10]vlan 20

[fengnuoS2-vlan20]int e0/0/3

[fengnuoS2-Ethernet0/0/3]port link-type access

[fengnuoS2-Ethernet0/0/3]port default vlan 10

[fengnuoS2-Ethernet0/0/3]int e0/0/2

[fengnuoS2-Ethernet0/0/2]port link-type access

[fengnuoS2-Ethernet0/0/2]port default vlan 20

[fengnuoS2-Ethernet0/0/2]int e0/0/1

[fengnuoS2-Ethernet0/0/1]port link-type trunk

[fengnuoS2-Ethernet0/0/1]port trunk allow-pass vlan all

配置完成后,查看接口和VLAN的对应关系。

 

 

 

 

可以观察到,配置已经生效。

在PC1上测试与同VLAN20的PC3的连通性,以及与VLAN10内终端的连通性。

 

 

 

 

 

可以观察到,在单台交换机及跨交换机间的访问控制使用Trunk和Access类型接口实现了需求,但同样的需求使用Hybrid实现会更灵活。

S1的E 0/0/2接口连接PC1主机,该接口收到的PC1发送的Untagged的帧会被交换机转发到VLAN 20。同样,交换机从其他接口收到VLAN 20的发往PC1的帧也会以Untagged的方式从E 0/0/2 接口发送。S1 的E 0/0/3接口连接PC2主机,该接口收到Untagged的帧会被转发到VLAN 10。如果交换机收到的VLAN 10的发往PC2的帧也会以Untagged的方式从接口E 0/0/3发送。VLAN 10和VLAN 20的帧也要经过交换机间链路发送至邻居交换机S2。反之,S1 收到来自邻居交换机S2的Tagged的帧后,也会根据VLAN Tag转发到相应的VLAN。

在S1的E 0/0/2接口上使用undo port default vlan命令用来恢复接口默认VLAN。

 

 

配置port link-type hybrid命令修改接口类型为默认的Hybrid类型。

 

 

配置port hybrid untagged vlan 20命令使得交换机在该接口转发VLAN 20的帧时,剥离掉相应的VLAN Tag 20,以Untagged的方式发送给PC。

 

 

配置port hybrid pvid vlan 20命令设置Hybrid类型接口的默认VLANID,即使得该端口,上接收到PC发来的未带VLAN Tag的帧时,加上VLAN Tag20,并转发到VLAN 20。

 

 

同样在连接另一台终端的E 0/0/3接口做同样配置。

[fengnuoS1-Ethernet0/0/2]int e0/0/3

[fengnuoS1-Ethernet0/0/3]undo port default vlan

[fengnuoS1-Ethernet0/0/3]port link-type hybrid

[fengnuoS1-Ethernet0/0/3]port hybrid untagged vlan 10

[fengnuoS1-Ethernet0/0/3]port hybrid pvid vlan 10

在连接交换机S2的E 0/0/1接口上修改端口类型为默认的Hybrid类型,并使用porthybrid tagged vlan 10 20命令设置该链路仅接收带有VLAN Tag 10和20的帧,而交换机也仅转发VLAN 10和VLAN 20的帧到该链路。一般该命令配置在交换机互连的链路接口之上。

(按照以上做法第二句错误,无法更改成默认hybrid接口,不知道是不是因为之前设置成trunk接口,现在改不过来,我重新配置了S1,没有设置0/0/1为trunk接口,因为这个配置操作本来就是在接口默认为hybrid类型的,所以重新配置也只用配置VLAN即可,配置完成后直接执行以下命令)

 

 

S2交换机将在E 0/0/1接口接收到的Tagged帧,根据VLAN Tag标识,向接口E 0/0/2转发VLAN20的帧,向接口E0/0/3转发VLAN30的帧。反之,接口E0/0/2接收到PC发送的未带Tag的帧转发到VLAN 20,端口E 0/0/3 接收的到未带Tag的帧会被转发到VLAN 10,并且这些帧发送到邻居交换机S1时,会保留原有Tag。

S2上的配置和SI类似,这里不再解释。

[fengnuoS2]int e0/0/2

[fengnuoS2-Ethernet0/0/2]undo port default vlan

[fengnuoS2-Ethernet0/0/2]port link-type hybrid

[fengnuoS2-Ethernet0/0/2]port hybrid untagged vlan 20 [fengnuoS2-Ethernet0/0/2]port hybrid pvid vlan 20

[fengnuoS2-Ethernet0/0/2]int e0/0/3

[fengnuoS2-Ethernet0/0/3]undo port default vlan

[fengnuoS2-Ethernet0/0/3]port link-type hybrid

[fengnuoS2-Ethernet0/0/3]port hybrid untagged vlan 10

[fengnuoS2-Ethernet0/0/3]port hybrid pvid vlan 10

 

 

(和S2配置出现相同问题,重新配置S1操作如下)

[fengnuoS2]vlan 10

[fengnuoS2-vlan10]vlan 20

[fengnuoS2-vlan20]int e0/0/2

[fengnuoS2-Ethernet0/0/2]port link-type hybrid

[fengnuoS2-Ethernet0/0/2]port hybrid untagged vlan 20

[fengnuoS2-Ethernet0/0/2]int e0/0/3

[fengnuoS2-Ethernet0/0/3]port link-type hybrid

[fengnuoS2-Ethernet0/0/3]port hybrid untagged vlan 10

[fengnuoS2-Ethernet0/0/3]int e0/0/1

[fengnuoS2-Ethernet0/0/1]port link-type hybrid

[fengnuoS2-Ethernet0/0/1]port hybrid tagged vlan 10 20

配置完成后,使用display vlan命令查看使用Hybrid配置下接口和VLAN的对应关系。

 

 

 

 

可以观察到,同样的需求,Hybrid 和Access、Trunk 都能实现(测试省略),但Hybrid的灵活性及解决复杂需求的能力是Access和Trunk达不到的。

3.实现网管员对所有网络的访问

在实现各部门内部终端可以互相访问,不同部门间的终端隔离访问后,要求网络管理员所在的IT部门(使用终端PC-5)能够实现对所有部门的访问。即要求实现VLAN 30访问VLAN 10和VLAN 20, VLAN 10和VLAN 20之间仍然不允许互相访问。如果S1的E 0/0/2接口仍是Access类型且属于VLAN 10,则不能被其他VLAN访问。若要VLAN30的终端能访问VLAN 10的终端,则需要修改接口的配置,使其既能被VLAN 10访问,又能被VLAN 30访问,这就要求此接口同时要属于多个VLAN,且端口所连设备是PC,不能识别带VLAN Tag的帧,故此时只能使用Hybrid类型接口。Hybrid 端口既能破加入多个VLAN中,又能够在将其余VLAN的帧转发到此接口时,剥离掉相应的VLAN Tag.

配置S1交换机,E 0/0/4接口是网络管理员的PC终端,属于VLAN 30,该接口收到的PC发送的Untagged帧要能够发送至VLAN 30中,配置port hybrid pvid vlan 30命令设置Untagged帧加入至VLAN 30。

[fengnuoS1]vlan 30

[fengnuoS1-vlan30]int e0/0/4

[fengnuoS1-Ethernet0/0/4]port hybrid pvid vlan 30

因为在华为交换上,默认所有接口都为Hybrid类型接口,所以在该接口下不需要修改配置。

S1交换机收到VLAN 10, VLAN 20和VLAN 30的帧也要能够从该接口发送至PC,配置port hybrid untagged vlan 10 20 30命令使得上述3个VLAN的帧会以Untagged的方式从该接口发送出去。

 

 

同理,端口E0/0/2接PC-1,接口收到PC的Untagged帧需要发送至VLAN20,使用port hybrid pvid vlan 20命令。E 0/0/2接口同时也要能够被VLAN 30和.VLAN 20的主机访问,即VLAN 20和30的帧能够从该接口发送出去,并以Untagged的方式发送至PC1。

 

 

接口E 0/0/3收到Untagged的帧需发送至VLAN 10,同时VLAN 10和30的帧要能从该接口发送出去。

 

 

VLANI0、VLAN20和VLAN30的帧要能够发送至邻居交换机S2,且要保留原有的VLANTag,以便于邻居交换机S2根据VLAN Tag继续转发到相应的VLAN。同样,邻居交换机S2发送过来的帧也会带有相应的VLAN Tag,所以S1与S2间互连的接口E0/0/1配置如下。

 

 

 

 

同理在S2交换机上, E 0/0/1接口收到的带有相应VLAN Tag标记的帧,如果是VLAN10的帧要能发送至接口E 0/0/3,如果是VLAN 20的帧要能发送至E 0/0/2。 而如果是VLAN 30的帧要能发送至接口E 0/0/2和E 0/0/3.VLAN10、20和30的帧都是以Untagged的方式发送至接口E 0/0/2或E 0/0/3.反之,如果PC-3发出的Untagged的帧发送至接口E 0/0/2时会进入到Hybrid接口PVID所指明的VLAN 20中,PC-4 发出的Untagged的帧发送至接口E 0/0/3时会进入到Hybrid接口PVID所指明的VLAN 10中,具体配置过程如下。

[fengnuoS2-Ethernet0/0/1]int e0/0/2

[fengnuoS2-Ethernet0/0/2]port hybrid untagged vlan 20 30

[fengnuoS2-Ethernet0/0/3]int e0/0/3

[fengnuoS2-Ethernet0/0/3]port hybrid untagged vlan 10 30

S1和S2上全部配置完成后,使用ping命令在IT部门的网络管理员的PC-5.上测试与不同部门内的各台主机间的连通性,以PC-1为例。

 

 

可以观察到,PC-5 所属网络管理员所在的VLAN 30,能够正常访问到其他部门的所有终端。

同理,选择市场部门所在VLAN 20内的主机PC-1,测试其与其他主机间的连通性。

测试PC-1与本部门内的主机PC-3间的连通性。

 

 

可以正常通信。

测试PC-1与外部门的主机PC-2和PC-4间的连通性。

 

 

 

 

不能正常通信,实现了设计要求。

测试PC-1与IT部门网络管理员主机PC-5间的连通性。

 

 

可以正常通信。

在交换机上可以定义多个VLAN,每个VLAN都可以看做是一-个广 播域,通常情况下每个VLAN都会分配-一个独立的IP网络,根据需要把相应主机所在的接口划入到指定的VLAN中,并配置相应的网络IP地址,VLAN间通过路由来实现互相访问。这是较为常用的方法。但是相比于基于端口的Hybrid配置,三层路由方式则不够灵活,原因在于VLAN之间的访问控制要借助于路由设备来实现。而控制VLAN访问使用Hybrid接口则极大地简化了配置的复杂性,它仅需在端口上自主定义基于VLAN Tag的过滤规则,来决定指定的VLAN的二二层帧是否允许发送:它是通过二层来实现VLAN间的访问控制,既不需要每个VLAN定义单独的IP网段,更不需要在VLAN闻引入路由设备,配置更为灵活方便。

思考:

 在本实验中,如果将PC-5所连交换机的接口E 0/0/4下的port hybrid pvid 30命令删除,PC-4所连的端口E 0/0/3下port bhybrid pvid 10命令删除,其他端口配置则保持不变。此时在PC-5与PC-4间的连通性是否正常?报文经过S1和S2间端口时使用的VLAN Tag是哪个?为什么?

posted @ 2019-11-21 20:52  Bieber诺诺吖  阅读(2160)  评论(0编辑  收藏  举报