分类: 系统运维
2011-10-20 08:37:15
当启动了VMPS服务器以后,交换机首先会启动MAC地址-VLAN的映射数据库,然后它会打开一个UDP进程来监听从客户端发来的请求,并进行处理。所以,对于VMPS客户机来说,它无需知道VMPS服务器是在本地设备上,还是在网络中的远程设备上。依据从VMPS客户机所接收的不同请求,VMPS服务器在它的数据库中搜索MAC地址与VLAN映射条目。
当客户端交换机接收到新主机的MAC地址,都会发送一个VQP查询到VMPS中。当VMPS接收到这个查询时,它将在MAC地址与VLAN映射的数据库中进行搜索。VMPS服务器基于对应MAC地址与VLAN的映射关系,以及VMPS服务器是处于开放,或者安全模式来进行响应。如果有,则把对应的VLAN号发给客户端交换机;如果没有,在安全模式下,VMPS服务器在检测到非法的主机MAC地址时,将对应交换机上连接该主机的端口关闭,想要重新开启此端口,只有进行手工操作;在开放模式下,VMPS服务器简单地拒绝该端口上的对应主机访问。
有关VMPS服务器的工作模式将在本节后面具体介绍。
1. VMPS为端口指派VLAN的原则如果该端口当前是未分配的(也就是该端口还没有指派到属于哪个VLAN),则VMPS按照以下原则为它分配一个VLAN:
如果从VMPS数据库中找到的对应MAC地址-VLAN映射项中得到的VLAN在一组端口中是限制的,VMPS服务器会依据端口组成员进行验证,并按以下原则进行响应:
n 如果在所连接的端口上是允许的,VMPS服务器发送VLAN名称作为对VMPS客户机的响应。
n 如果在所连接的端口上该VLAN是不允许的,且VMPS不是工作于安全模式,则VMPS服务器发送“access-denied”消息作为响应,拒绝所连主机MAC访问该端口。
n 如果在所连接的端口上该VLAN是不允许的,且VMPS是处于安全模式。VMPS发送一个port-shutdown响应,关闭该主机所连的端口。
如果在VMPS数据库中没有找到匹配于当前端口上所连的VLAN,并且在该端口上有活动主机,在VMPS开放模式下,则VMPS服务器发送一个带有Fallback VLAN(后备VLAN)名称的“access-denied”消息作为对请求的响应,拒绝连接该端口的主机访问;如果VMPS是工作于安全模式,则VMPS发送一条“port-shutdown”消息作为对请求的响应,关闭主机所连的端口;如果VMPS是工作于多重模式,则VMPS发送一条“new VLAN name”消息作为对请求的响应,以指定的VLAN名创建新的VLAN。
如果交换机从VMPS服务器上接收到了“access-denied”消息的响应,交换机继续阻止到,或者来自对应的MAC地址主机的通信。交换机继续监控流入该端口的数据包,当它识别到新的AMC地址时向VMPS发送VQP查询。如果交换机接收到一条“port-shutdown”响应消息,则交换机关闭该端口,要重新启用,必须手动激活。
2. 动态访问端口VLAN成员一个动态访问端口可隶属于一个VLAN ID范围在1~4094所有VLAN。当链路建立后,交换机不允许来自,或者到该端口的通信,直到VMPS为之分配了VLAN。VMPS从连接到这个动态访问端口的新主机的数据包上接收源MAC地址,并且试图与VMPS数据库中的一个VLAN对应的MAC地址匹配。
如果在VMPS数据库中找到了与源MAC地址匹配的VLAN,则VMPS发送这个VLAN号到该端口。如果客户交换机还没有配置,它使用从它的中继端口上接收来自VMPS的第一个VTP包中的VTP域名;如果客户交换机已配置,它发送一个包括它的VTP域名的查询包到VMPS,以获得它的VLAN号。VMPS在接收这个请求前会先校验包中的这个VTP域名是否与它自己的VTP域名匹配,然后以为该客户交换机分配的VLAN号进行响应。如果在VMPS数据库中没有找到与源MAC地址匹配的VLAN,VMPS要么拒绝这个请求,要么关闭这个端口,具体要依据VMPS是处于安全模式还是开放模式而定。
如果多主机在同一个VLAN中,则在一个动态访问端口上可以有多个MAC地址处于活动状态。但是如果在一个端口有超过50个主机(Catalyst 3750及以前系列中只允许在一个端口上连接最多20个主机)处于活动状态,则VMPS会关闭这个动态访问端口。
如果动态访问端口上的链路关闭了,端口返回到隔离状态,不再属于一个VLAN中。在把该端口分配到一个VLAN前,任何通过该端口成功联机的主机再会通过VMPS的VQP检查。
动态访问端口可用于主机的直接连接,或者与网络连接。在交换机的一个端口上可以有最多50个MAC地址。动态访问端口在同一时刻可以仅属于一个VLAN,但是这个VLAN在随后可以改变。
3. Fallback VLAN
你可以在VMPS服务器上配置一个Fallback VLAN(后备VLAN)名。如果没有为端口分配VLAN,VMPS服务器将按照以下原则进行处理:
n 如果你连接设备的MAC地址不在VMPS数据库中,VMPS服务器将发送一个Fallback VLAN名给客户机。
n 如果你没有配置Fallback VLAN名,并且MAC地址在数据库中不存在,则VMPS服务器将发送一个“access-denied”消息进行响应,拒绝访问。
如果已为端口分配了VLAN,且VMPS服务器工作在安全模式,它将发送一个“port-shutdown”消息进行响应,关闭端口,不管VMPS服务器上是否配置了Fallback VLAN名。
本文摘自《Catalyst交换机VLAN、VMPS配置与管理》第八章