PVLAN的概念中,交换机端口有三种类型:Isolated port(隔离端口)、Community port(公共端口)、Promiscuous port(混杂端口)。它们分别对应不同的VLAN类型:Isolated port属于Isolated PVLANCommunity port属于Community PVLAN;而代表一个Private VLAN整体的是Primary VLAN,前面两类VLAN需要和它绑定在一起。

PVLAN中,通信的原则如下:Isolated port只能和Promiscuous port通信,但彼此不能交换通信流;在Community PVLAN中,Community port不仅可以和Promiscuous port通信,而且彼此也可以交换通信流;Promiscuous port 与路由器或三层交换机接口相连,它收到的通信流可以发往Isolated portCommunity port

PVLAN解决了服务商在使用VLAN时所遇到的两个问题:

n         交换机仅支持最多4096VLAN。如果要为每个客户分配一个VLAN,则服务提供商可以为客户提供的VLAN数量就比较有限。

n         要启用IP路由,每个VLAN要分配一个子网空间,或者一个地址块,这样就会引起IP地址浪费和创建IP地址管理问题。

使用私有VLAN可以解决扩展性问题,并可以为服务商提供IP地址管理益处,为客户端提供二层安全。

PVLAN功能把一个VLAN二层广播域划分为多个子域。一个子域包括一对PVLAN:一个主VLAN primary VLAN)、一个从VLANsecondary VLAN)。一个PVLAN域可以有多个PVLAN对,每个子域一对。在PVLAN域中的所有子域中的PVLAN对共享相同的主VLAN,但每个子域中的从VLAN ID是不同的。如图8-3所示。在其中的PVLAN中包括了两个子域(Subdomain),每个子域中都有自己的从VLAN(图中分别为“Secondary community VLAN”“Secondary isolated VLAN”),而共享相同的主VLANPrimary VLAN)。

8-3  PVLAN示例

一个PVLAN域仅有一个主VLANPrimary VLAN)。在一个PVLAN域中的每个端口都是主VLAN的成员。也就是说,主VLAN是整个PVLAN域。从VLANSecondary VLAN)在同一个PVLAN域中的端口间提供二层隔离。这里有两种类型的从VLAN

n         隔离VLANIsolated VLAN):被隔离的VLAN中的端口不能与其他二层端口通信。

n         公共VLANCommunity VLAN):一个公共VLAN中的端口可以与同一个公共VLAN中的其他二层端口通信,但是不能与其他公共VLAN中的二层端口通信。

 

在上节已介绍到了,PVLAN中有以下三种类型的端口:

n         混杂端口(Promiscuous port):一个混杂类型端口属于主VLAN,可以与所有接口通信,包括与主VLAN关联的从VLAN中的共有和隔离VLAN中的主机端口。

n         隔离端口(Isolated port):一个隔离端口是一个属于隔离VLAN中的主机端口(也就是只能与主机连接的端口)。这个端口与同一个PVLAN域中的其他端口完全二层隔离,除了混杂端口外。但是,PVLAN会阻止所有从混杂端口到达隔离端口的通信,从隔离端口接收到的通信仅可以转发到混杂端口上。

n         共有端口(Community port):一个共有端口是一个属于公共VLAN的主机端口。共有端口可以与同一个公共VLAN中的其他端口通信。这些接口与所有其他公共VLAN上的接口,以及同一PVLAN中的其他隔离端口之间都是二层隔离的。

【注意】因为中继可以支持VLAN在隔离、共有和混杂端口间承载通信,所以,隔离和共有端口通信可能通过中继端口进入或者流出交换机。

与三种端口对应,PVLAN中也就有三种不同类型的VLAN,那就是:主VLANPrimary VLAN)、隔离VLANIsolated VLAN)和公共VLANCommunity VLAN)三种VLAN。后两种VLAN都属于从VLANSecondary VLAN)。

VLAN和两种类型的从VLAN具有以下特征:

n         VLAN:主VLAN承载从混杂端口到隔离和共有主机端口的,以及到其他混杂端口的单向通信。

n         隔离VLAN:一个PVLAN域中仅有一个隔离VLAN。一个隔离VLAN是一个承载从主机到混杂端口和网关之间单向通信的从VLAN

n         公共VLAN:一个公共VLAN是一个承载从共有端口到混杂端口、网关和其他在同一个公共VLAN中的主机端口之间单向通信的从VLAN

一个混杂端口仅可以服务于一个主VLAN、一个隔离VLAN和多个公共VLAN之中。三层网关是典型的通过混杂端口与交换机直接连接的情形。一个混杂端口,你可以连接大范围内的设备作为PVLAN的访问点。例如,你可以使用混杂端口在一个工作站上监控或者备份所有PVLAN服务器。

在一个交换环境中,你可以分配一个具体的PVLAN和关联的IP子网到每个单独,或者公共终端站点组。终端站点仅需要与一个连接外部PVLAN的默认网关通信。

 

你可以使用使用PVLAN用以下方法来控制到终端站点的访问:

n         配置连接到终端站点的接口为隔离端口,以阻止任何二层通信。例如,如果终端站点是服务器,则这个配置阻止服务器之间的二层通信。

n         配置连接到默认网关和选择的终端站点(如备份服务器)的接口作为混杂端口,以允许所有终端站点可以访问到默认网关。

你可以通过中继主、隔离和区有VLAN到其他支持PVLAN的设备,来扩展PVLAN穿过多个设备。为了维护你的PVLAN安全,避免其他VLAN配置为PVLAN,在所有中间设备上配置PVLAN,包括没有PVLAN端口的设备。

8.4.4 P
VLAN
IP
地址架构

在你为每个客户指派一个独立的VLAN时,请按照以下指南部署有效的IP地址架构:

n         为客户VLAN分配一个地址块可能导致未使用的IP地址;

n         如果VLAN中的设备数增加,分配的地址数可能不能满足这个要求。

这些问题可以通过使用PVLAN来减少,因为在一个PVLAN中的所有成员共享一个公用的地址空间。这个公用的地址空间就是分配给主VLAN的地址空间。连接到从VLAN的主机,DHCP服务器可以使用主VLAN中的地址块为他们分配IP地址。后面的IP地址可以分配给在不同从VLAN(但是同一个主VLAN中)中的客户端设备。在添加新设备时,DHCP服务器可以从一个大的子网地址池中为他们分配后面可用的地址。

 

VLAN一样,PVLAN可以跨越多个交换机。一个中继端口承载主VLAN和从VLAN到邻居交换机之间的通信。中继端口把PVLAN当作其他任何一个VLAN来处理。跨越多个交换机的PVLAN的一个特征就是从一个交换机(如图中的switch A)的隔离端口的通信不能到达另一个交换机(如图8-4中的Switch B)的隔离端口。

因为VTP不支持PVLAN,所以你必须在二层网络中的所有交换机上手动配置PVLAN。如果你没有配置主和从VLAN,则在这些交换机上的二层数据库不能合并。这样就可能导致在其他交换机上有不必要的PVLAN流量。

 

8-4  跨越多个交换机的PVLAN示例

 

PVLAN与交换机的一些其他功能有些类似,如单播、广播和组播通信,以及SVI接口等。下面分别予以介绍。

1. PVLAN
和单播、广播和多播通信

按照VLAN规则,在同一个VLAN中的设备可以与其他所有二层设备进行通信,但是连接到不同VLAN接口的设备必须在三层进行通信。在PVLAN中,混杂端口是主VLAN成员,而像隔离、共有类型的主机端口属于从VLAN。因为从VLAN与主VLAN是关联的,所以这些VLAN中的成员可以与其他二层成员进行通信。

按照VLAN规则,广播包会转发到VLAN中的所有端口上。PVLAN的广播包依据端口类型来决定是否转发这个广播包:

n         隔离端口仅发送广播包到混杂端口或者中继端口。

n         共有端口发送广播包到所的混杂端口、中继端口和同一个公共VLAN中的所有其他端口。

n         混杂端口发送广播包到所有PVLAN中的端口(包括其他混杂端口、中继端口、隔离端口和共有端口)。

多播通信可以跨越PVLAN边界被路由或者被桥接,也可以在一个公共VLAN内转发。但多播通信不会在同一个隔离VLAN的端口间,或者不同从VLAN的端口间转发。

2. PVLAN
SVI

SVI是二层VLAN的三层接口。三层设备仅可以通过PVLAN中的主VLAN,而不能通过从VLAN进行通信,所以仅需要在主VLAN中配置三层SVI接口,而不要在副LVAN中配置SVI接口。从VLAN中的SVI接口是非活动的。

n         如果你想要为从VLAN配置一个活动SVI接口的VLAN,则配置不被接受,直到SVI接口被禁用。

n         如果你想要在从VLAN创建SVI接口,当从VLAN已被映射时,SVI接口也不能创建,会出现错误。如果这个从VLAN没有在三层中映射,则SVI接口可以创建,但是它将自动关闭。

当主VLAN与从VLAN关联,并映射到从VLAN时,所有在主VLAN上的配置会传播到从VLANSVI接口上。例如,如果你为主VLAN SVI接口配置了一个IP地址,则这个地址就成为整个PVLANIP地址。