三层交换机通过硬件来交换和路由选择数据包。为完成在硬件中处理数据包的高层信息,思科交换机使用传统的MLS(多层交换)体系结构或基于CEF(快速转发)的MLS体系结构。
1、传统的MLS MLS让ASIC(应用专用集成电路)能够被路由的数据包执行第二层重写操作,第二层重写操作包括重写源和目标MAC地址,以及写入重新计算得到的循环冗余校验码(CRC)。 使用传统MLS时,交换机将数据流中的第一个数据包转发给第三层引擎,后者以软件交换的方式对数据包进行处理。对数据流中的第一个数据包进行路由处理后,第三层引擎对硬件交换组件进行程序处理,使之为后续的数据包选择路由。 2、基于CEF的MLS CEF是一种基于拓扑的转发模型,可预先将所有路由选择信息加入到转发信息库(FIB)中。这样,交换机就能够快速查找路由选择信息。 CEF主要包含如下两个转发用的信息表。 转发信息库(FIB):CEF使用FIB来做出基于目标IP前缀的转发决策。FIB类似于路由表,包含路由表中转发信息的镜像。当网络的拓扑发生变化是,路由表将被更新,而FIB也将随之变化。FIB中包含下一跳地址信息,这些信息时根据路由表中的信息得到的。使用基于CEF的MLS时,第三层引擎和硬件交换组件都维护一个FIB。 邻接关系表:在网络中,如果两个节点之间在数据链路层只有一跳,则它们彼此相邻。除了FIB外,CEF还使用邻接关系表来存储2层编制信息,对于每个FIB条目邻接关系表中都包含相应的第二层地址。和FIB一样,使用基于CEF的MLS时,第三层引擎和硬件交换组件都维护一个邻接关系表。 3、虚拟接口的引入 大家可能没注意,在交换机中的VLAN1实际就是一个虚拟接口,默认所有接口都属于这个VLAN,因此不管从哪个端口接入到交换机,都可以远程连接此交换机,前提是配置IP地址可相关口令。从这点我们可以分析出,我们只需要在三层交换上开启相关的VLAN,并配置IP地址,该地址就属于所有该VLAN内主机的网关。
三层交换的配置 1、开启路由功能 Switch(config)#ip routing 2、创建VLAN并配置地址 列如:在三层交换上创建vlan 10和vlan 20并配置ip地址,实现不同vlan之间的通信。 拓扑图如下:
三层交换Switch1的配置如下: Switch1(config)#valn 10 Switch1(config-vlan)#ip add 192.168.1.1 255.255.255.0 Switch1(config-vlan)#no sh Switch1(config-vlan)#exit Switch1(config)#valn 20 Switch1(config-vlan)#ip add 192.168.2.1 255.255.255.0 Switch1(config-vlan)#no sh Switch1(config-vlan)#exit Switch1(config)#int range f0/0 -1 Switch1(config-if-range)#switchport trunk encapsulation dot1q Switch1(config-if-range)#switchport mode trunk Switch1(config-if-range)#no sh 注意:三层交换和二层交换之间的链路为中继链路,应将相应的接口设置为trunk 二层交换机Switch2的配置如下: Switch2(config)#valn 10 Switch2(config-vlan)#exit Switch2(config)#int f0/1 Switch2(config-if)#switchport access vlan 10 Switch2(config-if)#no sh Switch2(config)#int f0/0 Switch2(config-if)#switchport trunk encapsulation dot1q Switch2(config-if)#switchport mode trunk Switch2(config-if)#no sh 二层交换机Switch3的配置如下: Switch3(config)#valn 20 Switch3(config-vlan)#exit Switch3(config)#int f0/1 Switch3(config-if)#switchport access vlan 20 Switch3(config-if)#no sh Switch3(config)#int f0/0 Switch3(config-if)#switchport trunk encapsulation dot1q Switch3(config-if)#switchport mode trunk Switch3(config-if)#no sh
此时只需要给PC1和PC2配置相应的IP地址以及网关,就可以互相通信了。 注意:如果需要给三层交换的某个接口配置IP地址,需要先进入该接口然后no switchport一下。 Switch1(config-if)#no switchport
|