什么是三层交换机   三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。三层交换技术就是二层交换技术+三层转发技术。传统交换技术是在OSI网络标准模型第二层——数据链路层进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发,既可实现网络路由功能,又可根据不同网络状况做到最优网络性能。 三层交换技术的工作原理   第三层交换工作在OSI七层网络模型中的第三层即网络层,是利用第三层协议中的IP包的包头信息来对后续数据业务流进行标记,具有同一标记的业务流的后续报文被交换到第二层数据链路层,从而打通源IP地址和目的IP地址之间的一条通路。这条通路经过第二层链路层。有了这条通路,三层交换机就没有必要每次将接收到的数据包进行拆包来判断路由,而是直接将数据包进行转发,将数据流进行交换。   三层交换技术   近年来的对三层技术的宣传,耳朵都能起茧子,到处都在喊三层技术,有人说这是个非常新的技术,也有人说,三层交换嘛,不就是路由器和二层交换机的堆叠,也没有什么新的玩意,事实果真如此吗?下面先来通过一个简单的网络来看看三层交换机的工作过程。   组网比较简单   使用IP的设备A------------------------三层交换机------------------------使用IP的设备B   比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。   如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。   如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,对应第三层路由模块,所以可见对于不是同一子网的数据,最先在MAC表中放的是缺省网关的MAC地址;然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进流缓存条目表,以后的A到B的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。   以上就是三层交换机工作过程的简单概括,可以看出三层交换的特点:   a -- 由硬件结合实现数据的高速转发。   b -- 这就不是简单的二层交换机和路由器的叠加,三层路由模块直接叠加在二层交换的高速背板总线上,突破了传统路由器的接口速率限制,速率可达几十Gbit/s。算上背板带宽,这些是三层交换机性能的两个重要参数。   c -- 简洁的路由软件使路由过程简化。   d -- 大部分的数据转发,除了必要的路由选择交由路由软件处理,都是又二层模块高速转发,路由软件大多都是经过处理的高效优化软件,并不是简单照搬路由器中的软件。   三层交换机的配置命令   步骤一:给交换机配置IP地址   S2724G#conf   S2724G(config)#int vlan 1   S2724G(config-if)#ip addess 192.168.0.100 255.255.255.0   ----给VLAN 1配置IP地址   S2724G(config-if)#no shutdown ----激活该VLAN接口   S2724G(config-if)#exit   S2724G(config)#ip default-gateway 192.168.0.1 ----指定交换机的网关地址   步骤二:创建VLAN   S2724G#conf   S2724G(config)#vlan 10 ----创建VLAN 10   S2724G(config-vlan)#exit   S2724G(config)# vlan 20 ----创建VLAN 20   S2724G(config-vlan)#exit   步骤三:把相应接口指定到相应的VLAN中   S2724G(config)#int gi 0/10   S2724G(config-if)#switch access vlan 10   ----把交换机的第10端口划到VLAN 10中   S2724G(config-if)#exit   S2724G(config)#int gi 0/20   S2724G(config-if)#switch access vlan 20   ----把交换机的第20端口划到VLAN 20中   S2724G(config-if)#exit   S2724G(config)#int gi 0/24   S2724G(config-if)#switch mode trunk   ----设置24口为Trunk模式(与三层交换机的连接口   S2724G(config-if)#   步骤四:保存配置   S2724G(config-if)#end   S2724G#write   模式转换命令   用户模式----特权模式,使用命令“enable”   特权模式----全局配置模式,使用命令“config t”   全局配置模式----接口模式,使用命令“interface+接口类型+接口号”   全局配置模式----线控模式,使用命令“line+接口类型+接口号”   注:   用户模式:查看初始化的信息。   特权模式:查看所有信息、调试、保存配置信息   全局模式:配置所有信息、针对整个路由器或交换机的所有接口   接口模式:针对某一个接口的配置   线控模式:对路由器进行控制的接口配置   (2)配置命令   show running config 显示所有的配置   show versin 显示版本号和寄存器值   shut down 关闭接口   no shutdown 打开接口   ip add +ip地址 配置IP地址   secondary+IP地址 为接口配置第二个IP地址   show interface+接口类型+接口号 查看接口管理性   show controllers interface 查看接口是否有DCE电缆   show history 查看历史记录   show terminal 查看终端记录大小   hostname+主机名 配置路由器或交换机的标识   config memory 修改保存在NVRAM中的启动配置   exec timeout 0 0 设置控制台会话超时为0   service password-encryptin 手工加密所有密码   enable password +密码 配置明文密码   ena sec +密码 配置密文密码   line vty 0 4/15 进入telnet接口   password +密码 配置telnet密码   line aux 0 进入AUX接口   password +密码 配置密码   line con 0 进入CON接口   password +密码 配置密码   bandwidth+数字 配置带宽   no ip address 删除已配置的IP地址   show startup config 查看NVRAM中的配置信息   copy run-config atartup config 保存信息到NVRAM   write 保存信息到NVRA   erase startup-config 清除NVRAM中的配置信息   show ip interface brief 查看接口的谪要信息   banner motd # +信息 + # 配置路由器或交换机的描素信息   description+信息 配置接口听描素信息   vlan database 进入VLAN数据库模式   vlan +vlan号+ 名称 创建VLAN   switchport access vlan +vlan号 为VLAN为配接口   interface vlan +vlan号 进入VLAN接口模式   ip add +ip地址 为VLAN配置管理IP地址   vtp+service/tracsparent/client 配置SW的VTP工作模式   vtp +domain+域名 配置SW的VTP域名   vtp +password +密码 配置SW的密码   switchport mode trunk 启用中继   no vlan +vlan号 删除VLAN   show spamming-tree vlan +vlan号 查看VLA怕生成树议   2. 路由器配置命令   ip route+非直连网段+子网掩码+下一跳地址 配置静态/默认路由   show ip route 查看路由表   show protocols 显示出所有的被动路由协议和接口上哪些协议被设置   show ip protocols 显示了被配置在路由器上的路由选择协议,同时给出了在路由选择协议中使用   的定时器   等信息   router rip 激活RIP协议   network +直连网段 发布直连网段   interface lookback 0 激活逻辑接口   passive-interface +接口类型+接口号 配置接口为被动模式   debug ip +协议 动态查看路由更新信息   undebug all 关闭所有DEBUG信息   router eigrp +as号 激活EIGRP路由协议   network +网段+子网掩码 发布直连网段   show ip eigrp neighbors 查看邻居表   show ip eigrp topology 查看拓扑表   show ip eigrp traffic 查看发送包数量   router ospf +process-ID 激活OSPF协议   network+直连网段+area+区域号 发布直连网段   show ip ospf 显示OSPF的进程号和ROUTER-ID   encapsulation+封装格式 更改封装格式   no ip admain-lookup 关闭路由器的域名查找   ip routing 在三层交换机上启用路由功能   show user 查看SW的在线用户   clear line +线路号 清除线路   3. 三层交换机配置命令   配置一组二层端口   configure terminal 进入配置状态   nterface range {port-range} 进入组配置状态   配置三层端口   configure terminal 进入配置状态   interface {{fastethernet | gigabitethernet} interface-id} | {vlan vlan-id} | {port-   channel port-channel-number} 进入端口配置状态   no switchport 把物理端口变成三层口   ip address ip_address subnet_mask 配置IP地址和掩码   no shutdown 激活端口   例:   Switch(config)# interface gigabitethernet0/2   Switch(config-if)# no switchport   Switch(config-if)# ip address 192.20.135.21 255.255.255.0   Switch(config-if)# no shutdown   配置VLAN   configure terminal 进入配置状态   vlan vlan-id 输入一个VLAN号, 然后进入vlan配态,可以输入一个新的VLAN号或旧的来进行修改   name vlan-name 可选)输入一个VLAN名,如果没有配置VLAN名,缺省的名字是VLAN号前面用0填满   的4位数,如VLAN0004是VLAN4的缺省   名字   mtu mtu-size (可选) 改变MTU大小   例   Switch# configure terminal   Switch(config)# vlan 20   Switch(config-vlan)# name test20   Switch(config-vlan)# end   或   Switch# vlan database   Switch(vlan)# vlan 20 name test20   Switch(vlan)# exit   将端口分配给一个VLAN   configure terminal 进入配置状态   interface interface-id 进入要分配的端口   switchport mode access 定义二层口   switchport access vlan vlan-id 把端口分配给某一VLAN   例   Switch# configure terminal   Enter configuration commands, one per line. End with CNTL/Z.   Switch(config)# interface fastethernet0/1   Switch(config-if)# switchport mode access   Switch(config-if)# switchport access vlan 2   Switch(config-if)# end   Switch#   配置VLAN trunk   configure terminal 进入配置状态   interface interface-Id 进入端口配置状态   switchport trunk encapsulation {isl | dot1q | negotiate}配置trunk封装ISL 或 802.1Q 或   自动协商   switchport mode {dynamic {auto | desirable} | trunk} 配置二层trunk模式。   dynamic auto—自动协商是否成为trunk   dynamic desirable—把端口设置为trunk如果对方端口是trunk, desirable, 配置Native VLAN   (802.1q)   或自动模式,trunk—设置端口为强制的trunk方式,而不理会对方端口是否为trunk   switchport access vlan vlan-id 可选) 指定一个缺省VLAN, 如果此端口不再是trunk   switchport trunk native vlan vlan-id 指定802.1Q native VLAN号   例:   Switch# configure terminal   Enter configuration commands, one per line. End with CNTL/Z.   Switch(config)# interface fastethernet0/4   Switch(config-if)# switchport mode trunk   Switch(config-if)# switchport trunk encapsulation dot1q   Switch(config-if)# end   定义TRUNK允许的VLAN   configure terminal子 进入配置状态   interface interface-id 进入端口配置   switchport mode trunk 配置二层口为trunk   switchport trunk allowed vlan {add | all | except | remove} vlan-list可选) 配置trunk允   许的VLAN.使用add, all, except, remove关健字   no switchport trunk allowed vlan 允许所有VLAN通过   例   Switch(config)# interface fastethernet0/1   Switch(config-if)# switchport trunk allowed vlan remove 2   Switch(config-if)# end   配置Native VLAN(802.1q)   configure terminal 进入配置状态   interface interface-id 进入配置成802.1qtrunk的端口   switchport trunk native vlan vlan-Id 配置native VLAN号   no switchport trunk native vlan 端口配置命令回到缺省的状态   配置基于端口权值的负载均衡   configure terminal 进入Switch 1配置状态   vtp domain domain-name 配置VTP域   vtp mode server 将Switch 1配置成VTP server.   show vtp status 验证VTP的配置   show vlan 验证VLAN   configure terminal 进入配置状态   interface fastethernet 0/1 进入F0/1端口   switchport trunk encapsulation {isl | dot1q | negotiate}配置trunk