分类: 系统运维
2011-10-20 00:10:53
上节的以太网接口是从物理意义上划分的。但在这些物理接口中,又可以从接口用途进行划分。如本小节介绍的交换端口(Switch Port),以及后面各小节将要介绍的路由端口(Route Port)、交换机虚拟端口(Switch Virtual Port)、连接接口(Connecting Interface)、Uplink端口(Uplink Port)、太网管理接口(Enthernet Mangement Interface)等。交换端口仅是与一个物理接口关联的二层接口,仅与二层协议关联,不支持路由和桥接。很明显,交换端口就是用于进行数据交换的端口,可属于一个,或者多个VLAN中。
在Cisco交换机中,交换端口又可划分为:访问端口(access port)、中继端口(trunk port)、隧道端口(tunnel port)。你可以配置一个端口作为访问端口,或中继端口;或者一个点对点对等端口(也就是隧道端口)。在点对点隧道端口中,是通过DTP(Dynamic Trunking Protocol,动态中继协议)与链路另一端协商(negotiate)来设置每个交换端口模式。但你必须手动配置隧道端口作为连接到IEEE 802.1Q中继端口的异步链路的一部分。
可通过使用switchport接口配置命令来配置交换端口。使用不带no关键字的switchport命令可以把工作在三层模式的接口转换成二层模式。从命令本身的名字(“switchport”命令的中文名就是交换端口)就可以看出它的用途就是用来把端口模式转换成二层交换模式。而使用带no关键字的switchport命令可以把工作在二层模式的接口转换成三层模式,这个命令具体将在本章后面介绍。
【注意】在你转换三层模式接口为二层模式时,则当前这个被转换的接口配置信息可能被丢失,恢复到默认配置状态。
1. 访问端口(access port)一个访问端口仅可属于,并且承载一个VLAN内的通信(除非被配置成语音VLAN端口)。访问端口上接收和发送的通信是不带VLAN标记(因为它只属于一个VALN,所以也就不用标记了)的本地格式,到达一个访问端口的通信是假定来自分配到该端口所属VLAN的。如果一个访问端口接收了一个带有标记ISL(Inter-Switch Link,交换机间链路)或者IEEE 802.1Q标记)的包,则这个包将被丢弃,这样发送该包的源地址也不会被学习到。
访问端口在收到一个报文后,先判断是否有VLAN标记信息:如果没有,则打上端口的PVID(port VLAN ID,端口VLAN ID),并进行交换转发;如果有,则默认直接丢弃。在访问端口上发送报文时,会先将报文中的VLAN信息剥离,然后再直接发送出去。总之,访问端口所发送的包都是不带VLAN标记的,访问端口所接收的也只能是不带VLAN标记的包。
【经验之谈】PVID其实就是指出该访问端口所属VLAN的ID,与所属的VLAN ID是一样的。只是在相应访问端口上标注,就表明了该端口所属的VLAN(因为在访问端口上传输的帧都是不带VLAN标记的,所以通过PVID的标注也就同时满足了VLAN标记的目的)。又因为访问端口仅可隶属于一个VLAN,所以这样的一一对应关系就有了意义。从PVID中就可以同时看出,对应访问端口所隶属的VLAN,同时也可以看出对应的VLAN所属端口。不过,在下面将要介绍的IEEE 802.1Q中继端口中也有一个默认的PVID,用于标识所有不带VLAN标记的帧。
Cisco交换机支持两种类型访问端口:
n 静态访问端口(Static access port):它是被手动指派到一个VLAN中的(也可以通过使用IEEE 802.1x的RADIUS服务器指派)。
n 动态访问端口(Dynamic access port):它所属的VLAN成员资格是通过流入的包学习到的。默认情况下,一个动态访问端口是不属于任何VLAN的成员,仅在该端口发现了某个VLAN成员后,才会加入到相应的VLAN中,并从该端口上转发来自该VLAN的数据包,或者发送数据包到该VLAN。
交换机的动态访问端口是通过VMPS(VLAN Membership Policy Server,VLAN成员策略服务器)来指派到一个VLAN中的。VMPS可以是Catalyst 6500系列交换机,像Catalyst 3750、Catalyst 3550这样比较低端的系列交换机不能作为VMPS。有关VMPS基础知识参见本书的第8章,有关VMPS的配置参见本书的第9章。
2. 中继端口(trunk port)中继端口用于承载多个VLAN的通信,并且默认是VLAN数据库所有VLAN的成员(也就是默认情况下,中继端口上可以接收、转发,或者发送所有来自,或者到达VTP(VLAN中继协议)域中所有VLAN的数据包),所以它不是仅用于某一个VLAN内部通信。在Cisco交换机中,也有两种类型的中继端口:
n ISL中继端口:ISL(Inter-Switch Link,交换机间链路)是思科设备专用的VLAN中继协议,是用来在交换机间点对点链路上保持VLAN信息的中继协议。在一个ISL中继端口中,所有接收到的数据包均将以ISL协议头封装,并且所有传输的数据包都与ISL头一起被发送。在ISL中继端口上接收到的无VLAN标记(non-tagged)本地帧都将被丢弃。
n IEEE 802.1Q中继端口:IEEE 802.1Q是IEEE以标准形式发布的公用中继标准协议。IEEE 802.1Q中继端口同时支持加VLAN标记和不加VLAN标记的帧通信。IEEE 802.1Q中继端口分配有一个默认PVID,所有非标记通信都是在默认PVID的端口上传输。带有与流出端口默认PVID相等VLAN ID的数据包都将不带标记发送。所有其他通信都将带上VLAN标记被发送。
【说明】ISL 标记能与IEEE 802.1Q 中继执行相同的VLAN信息中继任务,只是所采用的帧格式不同。具体的帧格式将在本书的第8章介绍。
尽管默认情况下中继端口是VTP域中每个VLAN的成员,但你仍可以通过为每个中继端口配置允许的VLAN列表来限制所传输通信的VLAN。这个VLAN允许列表不影响其他端口,除了关联的中继端口外。默认情况下,所有可能的VLAN(VLAN ID范围是1~4094)都在允许列表中。如果VTP知道有这个VLAN,并且这个VLAN是活动状态,则中继端口可以仅成为该VLAN成员;如果VTP学习到一个新的活动VLAN,且该新的VLAN是在某个中继端口允许列表中,则中继端口自动成为这个新的VLAN成员,并且为该VLAN转发所有流经该中继端口的通信;如果VTP学习到了一个新的活动VLAN,但它并不在某个中继端口的VLAN允许列表中,则该中继端口不会成为该VLAN的成员,也不会为该VLAN转发流经该中继端口的通信。
在中继端口收到一个报文后,先会判断是否有VLAN信息:如果没有,则打上端口的PVID,并进行交换转发;如果有,判断该中继端口是否允许该VLAN的数据进入。如果可以,则转发,否则丢弃。在中继端口上发送报文时,先会比较端口的PVID和将要发送报文的VLAN信息:如果两者相等则剥离VLAN信息,再发送;如果不相等,则直接发送。
3. 隧道端口(tunnel port)隧道端口是专用于IEEE 802.1Q隧道中,用来隔离一个服务提供商网络的客户与另一个使用相同VLAN号的客户。你需要在一个服务提供商边缘交换机的隧道端口上配置一个到客户交换机的IEEE 802.1Q中继端口的异步链接。进入边缘交换机中继端口,已经以客户VLAN进行IEEE 802.1Q标记的数据包,再用IEEE 802.1Q标记的其他层(称之为metro标记)进行封装,包括每个客户的服务提供商惟一的VLAN ID。这个双重标记的数据包通过服务提供商网络继续保持原始的客户VLAN,以区别于其他客户。在流出的接口(也作为隧道端口)中,metro标记将被删除,这样就可以从客户端网络中重新得到的原始VLAN号。
隧道端口不能作为中继端口或者访问端口,而且对于客户端来说,必须属于惟一的VLAN。
本文摘自《(CiscoH3C交换机配置与管理完全手册)》第四章