交换机简介
交换机的作用
- 如今随着计算机速度不断提高,以及网络应用越来越多,局域网的负载变得越来越大了,交换机的使用也变得更有必要。
- 交换机的作用主要有两个:一个是维护CAM(Context Address Memory)表,该表是MAC地址和交换机端口的映射表;另一个是根据CAM来进行数据的转发。
- 交换机对帧的处理方式有三种:交换机收到帧后,查询CAM表,如果能查询到目的计算机所在的端口,并且目的计算机所在的端口不是交换机接收帧的源端口,交换机将把帧从这一端口转发出去(Forward);如果该计算机所在的端口和交换机接收帧的源端口是同一端口,交换机将过滤掉该帧(Filter);如果交换机不能查询到目的计算机所在的端口,交换机将把帧从源端口以外的其他所有端口上发送出去,这称为泛洪(Flood),如果交换机接收到的帧是广播帧或者多播帧,交换机也会泛洪帧。
- 局域网中采用交换机可以大大降低冲突的机会,如果进一步采用全双工模式,则完全可以消除冲突,因此可以大大提高局域网的性能。提高局域网性能还可以采取提高网络速度的方法,例如从10Mbps升级到100Mbps。
- 除了交换机,早些年还经常采用网桥(Bridge)来隔离冲突。然而交换机和网桥相比性能要优越得多,体现在:交换机基于硬件来实现交换,速度快,而网桥采用软件来进行交换,速度慢;交换机端口密度大,也称为多口网桥,而网桥通常只有两个端口;交换机还支持虚拟网(VLAN)、生成树协议(STP),网桥不支持这些功能。
交换机的三种交换方式
- 存储转发(Store-and-Forward)
存储转发方式就是先接收后转发的方式。它把从端口输入的数据帧先全部接收并存储起来;然后进行CRC(循环冗余码校验)检查,把错误顿丢弃(如果它太短,小于64B;或者太长,大于1518B;或者数据传输过程中出现了错误,都将被丢弃);最后才取出数据帧的源地址和目的地址,查找地址表后进行过滤和转发。存储转发方式的延迟与数据帧的长度成正比,数据帧越长,接收整个帧所花费的时间越多,因此延迟越大,这是它的不足,但是它可以对进入交换机的数据包进行高级别的错误检测。这种方式可以支持不同速度的端口间的转换,保持高速端口与低速端口间的协同工作。 - 直接转发(Cut-Through)
交换机在输入端口检测到一个数据帧时,检查该帧的帧头,只要获取了帧的目的地址,就开始转发帧。它的优点是:开始转发前不需要读取整个完整的帧,延迟非常小,交换非常快。它的缺点是:因为数据的内容没有被交换机保存下来,所以无法检查所传送的数据帧是否有误,不能提供错误检测能力。 - 无碎片
这是改进后的直接转发,是介于前两者之间的一种解决方法。由于在正常运行的网络中,冲突大多发生在64B之前,所以无碎片方法在读取数据的前64后就开始转发该帧。这种方式也不提供数据校验,它的数据处理速度虽然比直接转发方式慢,但比存储转发方式快许多。
从三种交换方法可以看出,交换机的数据转发延迟和错误率取决于采用何种交换方法。存储转发的延迟最大,无碎片次之,直接转发最小;然而存储转发的顿错误率最小,无碎片次之,直接转发最大。在采用何种交换方法上,需要折中考虑。现在,许多交换机可以做到在正常情况下采用直接转发方式,而当数据的错误率达到一定程度时,自动转换到存储转发方式。
VLAN
- 虚拟局域网(Virtual LAN,VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理网段的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。
- VLAN是一种比较新的技术,工作在OSI参考模型的第二层,一个VLAN就是一个广播域,VLAN之间的通信是通过第三层的路由器来完成的。与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点:
(1)控制网络的广播问题:采用VLAN技术,可将某个交换端口划到某个VLAN中,由于一个VLAN的广播不会扩散到其他VLAN,因此端口不会接收其他VLAN的广播。这样一来,就大大减少了广播的影响,提高了带宽的利用率。同时通过控制VLAN中端口的数量,可以控制广播域的大小。
(2) 简化网络管理,减少管理开销:当VLAN中的用户位置移动时,不需或只需少量的重新布线、配置和调试,因此网络管理员能借助于VLAN技术轻松管理整个网络,减少了在移动、添加和修改用户时的开销。例如需要为完成某个项目建立一个工作组网络,其成员可能遍及全国或全世界,此时,网络管理员只需设置几条命令,就能在几分钟内建立该项目的VLAN网络,其成员使用VLAN,与在本地使用局域网一样。
(3) 提高网络的安全性:共享式局域网之所以很难保证网络的安全性,是因为只要用户插入一个活动端口,就能访问网络,甚至获取网络中所有数据流量。而VLAN能将重要资源或应用放在一个安全的VLAN内,限制用户的数量与访问;而且VLAN能控制广播组的大小和位置,甚至能锁定某台设备的MAC地址;由于VLAN之间不能直接通信,通信流量被限制在VLAN内,VLAN间的通信必须通过路由器,通过在路由器上设置访问控制,使得可以对要访问有关VLAN的主机地址、应用类型、协议类型等进行控制。因此VLAN能提高网络的安全性。
划分VLAN可以采用如下几种策略:
(1)局域网中的服务器系统单独划作一个VLAN;
(2)按照机构设置,不同部门、不同应用的用户样分别属于不同的VLAN;
(3)不同职位或权力等级的用户分别属于不同的VLAN;
(4)按照工作需要,承担某一任务的用户临时划分成一个VLAN。
定义交换机的端口在什么VLAN上的方法有很多,常用的有如下几种:
(1)基于端口的VLAN:基于端口的VLAN的划分是最简单、最有效的VLAN划分方法。管理员把局域网交换机端口指定为某一VLAN的成员。基于端口的VLAN又分为在单交换机端口和多交换机端口定义VLAN两种情况。
(2)基于MAC地址的VLAN:交换机根据节点的MAC地址,决定将其放置于哪个VLAN中。由于MAC地址是捆绑在网卡上的,所以这种VLAN的划分方法实际上是指定将某些工作站和服务器划属于某个VLAN。当设备移动时,交换机能够自动识别其MAC地址,并将其所连端口配置到相应的VLAN。这种VLAN属于动态VLAN。基于MAC地址的VLAN可以允许网络用户从一个物理位置移动到另一个物理位置上,并目个动保留其所属VLAN的成员身份
(3)基于三层地址的VLAN和基于MAC地址的VLAN很类似,不过交换机根据计算机的IP地址来决定其所处的VLAN。
Trunk
当一个VLAN跨过不同的交换机时,要怎样使得在同一VLAN上但却在不同的交换机上的计算机进行通信呢?可以采用图8-8(a)所示的方式,每一个VLAN用一个独立的物理线路进行级联。当有多个VLAN时,这种方法会需要多条物理线路,占用了太多的物理端口,在实际中并不可行。另一种方法是采用Trunk技术,如图8-8(b)所示,该技术允许任何一种VLAN的信息从一条线缆通过,相当于在一条物理链路上绑定了多条逻辑连接。
那么如何在一条物理线路上传送多个VLAN的信息而不会出现一个VLAN的信息扩散到另一个 VLAN上呢?如果扩散了就无法保证VLAN之间的互相隔离了。标记(Frame tagging)是通常采用的方法。如图8-9 所示,交换机从属于某一VLAN(例如VLAN3)的端口接收到数据,如果要从Trunk上传到另一交换机,在从Trunk链路上进行传输前,会加上一个标记,表明该数据是VLAN3的;到了对方交换机,交换机会把该标记去掉,只发送到属于VLAN3的端口上。
有两种常见的帧标记技术:ISL和802.1Q。帧标记实际上是数据链路层上的技术。因此说,VLAN是第二层技术。标记是在原有数据加入特定的字段表示不同的
交换机的配置命令
配置交换机的系统信息
- 在交换机工作前,需要对其系统信息进行基本配置,这些配置一般都通过Console端口配置方式完成。需要配置的系统信息主要有交换机的主机名、超级用户口令、设备管理地址和远程登录口令。
- 本教程实验均以Cisco公司的设备为例,Cisco公司的交换机系统主要有Cisco IOS和Catalyst OS(Catos)两大类,面分别各以一种设备为例介绍。
(1)Cisco 3500(Cisco IOS)交换机系统信息配置。
①配置交换机的主机名。
Cisco公司的3500系列交换机使用的是Cisco IOS系统。
步骤一:进入全局配置模式。
Switch-3528 >enable (进入特权模式)
PasSword:*********** (输入超级用户口令)
Switch-3528# config terminal
Switch-3528(config)#
步骤二:主机名配置。
Switch-3528(config)# hostname Switch-3528-TEST
Switch-3528-TEST(config)#
②配置超级用户口令。
Switch-3528-TEST (config) # enable secret 5 111111
Switch-3528-TEST (config)#
(该口令在交换机配置文件中被加密,显示信息为:enable seret 5 $1 $ mERr $gsT/OI5GvccluWxu2cQIL)
Switch-3528-TEST ( config) # enable secret 5 $1 $ mERr $gsT/OI5GvccluWxu2cQIL
Switch-3528-TEST (config)#
Switch-3528-TEST (config) # enable password 111111 (配置超级用户的明码口令)
Switch-3528-TEST (config)#
Switch-3528-TEST (config)# nable password 7 111111 (配置超级用户的加密口令)
Switch-3528-TEST (config)#
③配置远程登录口令。
Swilch-3528-TEST (config) # line vty 0 4 (对0至4号Tenet的虚拟终端进行配置,分别设置加密口令和明文口令)
Switch-3528-TEST ( config-line)#password 7 222222 (加密口令)
Switch-3528-TEST ( conlig-line) # password 0 222222 (明码口令)
Switch-3528-TEST ( config-line)#exit
Switch-3528-TEST ( config) #exit
Switch-3528-TEST#
④设置系统时间。
命令格式为:clock set hh:mm:ss day month year。因此设置系统时间为2013年8月28日12时的命令如下:
Switch-3528-TEST #clock set 12: 00: 00 28 August 2013 Switch-PHY-3548
Switch-3528-TEST #
⑤配置设备管理P地址
设置VLAN1的接口地址为192.168.11,子网掩码为255.255.255.0,远程用户就可以通过此地址进行远程访问,命令如下:
Switch-3528-TEST (config)# interface VLAN1(进入端口配置命令)
Switch-3528-TEST (conig-if) ip address 192.168.1.1 255255.255.0 (配置端口通信IP地址与子网掩码)
Switch-3528-TEST (config-if) #exit
Switch-3528-TEST (config)#
(注:VLAN1是用于设备管理的默认VLAN)
配置默认路由:
Switch-3528-TEST (config) # ip default-gateway 192.168.1.254 (配置缺省路由)
Swilch-3528-TEST (config)#
(配置交换机的默认路由,这样跨网段的数据包首先转发至192.168.1.254)
(2)Catalyst 6500 (Catos)交换机系统信息配置。
Cisco公司的6500系列交换机使用的是CatOS。
①配置交换机的主机名。
步骤一:进入超级用户模式,输入密码。
Switch-6509 > enable Enter password:
Switch-6509 > (enable)
步骤二:设置系统名或系统提示。
设置系统名称:
Switch-6509 > (enable) set system name Switch-6509-TEST
System name set.
Switch-6509-TEST>(enable)
设置系统提示:
Switch-6509-TEST (enable) set prompt Switch-6509-TEST >
Switch-6509-TEST> (enable)
②配置超级用户口令。
Switch-6509-TEST>(enable)set enablepass
Enter old password: <old password> (输入旧口令)
Enter new password: <new password> (输入新口令)
Retype new password: <new password> (新口令确认)
Password changed.
Switch-6509-TEST> (enable)
③配置远程登录口令。
Switch-6509-TEST> (enable)set password
Enter old password: <old password> (输入旧口令)
Enter new password: <new password> (输入新口令)
Retype new password: <new password> (新口令确认)
Switch-6509-TEST> (enable)
④设置系统时间。
命令格式:sct time [day_of_week] [mm/dd/yy] [hh: mm: ss]。
Switch-6509-TEST > (enable) set time Wed 8/28/2013 12: 00: 00 Wed Aug 28 2013, 12: 00: 00
(设置交换机时间为星期三,2013年8月28日12时)
Switch-6509-TEST>(enable)
⑤配置设备管理 IP 地址。
命令格式:set interlace sc0 <ip_addr> <ip_mask > <ip_addr> (broadcast address) 。
IP地址配置:
Switch-6509-TEST > (enable) set interface sc0 192.168.1.1 255.255.255.0 192.168.1.255
(设置IP地为192.168.1.1,子网掩码为255.255.255.0,广播地址为192.168.1.255)
Switch-PHY-6509 > (enable)
默认(缺省)路由设置:Switch-6509-TEST > (enable ) set ip route 0.0.0.0 192.168.1.254
交换机端口配置
- 配置完交换机系统信息后,只是完成了配置的基础工作,若要让交换机投入工作,还必须根据网络规划,进行更进一步的配置,其中端口配置则是交换机应用配置的基础。实施端口配置前,需要对端口使用方案进行预先规划,制定好端口的通信属性参数和需要启用的端口控制策略,以及交换机与网络中其他设备的连接关系。其中通信属性参数包括端日的通信方式、传输速率VLAN分配等信息;端口控制策略包括安全策略、质量保证(Qos)策路、资源预留协议(RSVP)、数据流量的控制、广播流量限制以及EEE802.1X和EEE802.1Q等协议的配置策略。
- 一般情况下,交换机端口配置的基本任务有如下几种。配置交换机的端口描述信息,通过描述信息,网络管理员可以了解交换机端口的物理连接情况。配置交换机端口的通信方式虽然数据通信通常有单工、半双工和全双工3 种通信方式,但是交换机端口通常工作在半双工或全双工方式。在网络中,直接相连的两台交换机端口的通信方式必须一致,否则将产生丢包现象,影响网络的正常运行。因此,有时为求通信方式一致需要强制将交换机端口设置为某种通信方式。
- 配置交换机端口的传输速率,交换机端口可以支持多种速率,如10/100/1 000Mbit/s,并且支持自动适应端口速率功能。但在实际应用中经常出现速度不匹配的问题,因此需要将某个交换机端口的速率强行设置为某个速率。
- 配置交换机端口的关闭与开启,一般出厂时交换机端口默认配置为关闭,即端口处于shutdown状态,由于在这种状态下端口是不能正常工作的,因此必须先开启端口,使它处于工作状态(active),然后才能使用该端口。
下面同样以Cisco公司的Cisco IOS和Catalyst OS(Catos)两类交换机为例来介绍交换机端口的配置工作。
(1)Cisco 3500(Cisco IOS)交换机配置
①配置交换机的端口描述信息。
步骤一:进入端口配置模式。
Switch-3528-TEST(config) #interface f0/1
Switch-3528-TEST(config-if) #
步骤二:配置端口描述信息。
Switch-3528-TEST ( config-if) # description To-Webserver
Switch-3528-TEST (config-if) #
②配置交换机端口的关闭与开启。
步骤一:进入端口配置模式。
Switch-3528-TEST (config) #interface fastethernet0/1
Switch-3528-TEST (conig-if)
步骤二:关闭或开启端口。
Switch-3528-TEST(conig-i)# shutdown (关闭端口)
Swilch-3528-TEST (conig-if) no shutdown (开启端口,使端口处于工作状态)
Switch-3528-TEST (config-if)#
③配置交换机端口的通信方式。
Swich-3528-TEST(config-il) # duplex auto (设置为自动协商(自适应),默认为此种方式)
Switch-3528-TEST(config-if)# duplex full (设置为全双工)
Switch-3528-TEST(config-if) # duplex half (设置为半双工)
④配置端口的传输速率。
Switch-3528-TEST(config-if)# auto (设置端口为自动速率配置)
Switch-3528-TEST(conlig-if)# speed 10 (设置端口速率为10Mbit/s)
Switch-3528-TEST(cong-if)# speed 100 (设置端口速率为100Mbit/s)
Switch-3528-TEST (config-if)#
(2)Catalyst 6500(CatOs系统)交换机配置
①配置交换机的端口描述信息。
命令格式:set port name <mod/port> <name>
其中,name为端口描述,字符数一般不超过240个
Switeh-6509-TEST> (enable) set port name 0/1 to-Webserver
Switch-6509-TEST> (enable)
②配置交换机端口的关闭与开启。
命令格式:set port disable <mod/port>(关闭端口)
set port enable <mod/port>(开启端口)。
Switch-6509-TEST>(enable) set port disable 0/1 (关闭0/1号端口)
Switch-6509-TEST>(enable) set port enable 0/1 (开启0/1号端口)
③配置端口的通信方式。
命令格式:set port duplex <mod/port> full(设置为全双工);
set port duplex <mod/pot> half (设置为半双工)
Switch6509-TEST> ( enable) set port duplex 0/1 full (0/1端口设置为全双工)
Switch6509-TEST> ( enable) set port duplex 0/1 half (0/1端口设置为半双工)
Switch-6509-TEST> (enable) set port duplex 0/1 -24 full (0/1 端口设置为全双工)
Switch-6509-TEST> (enable) set port duplex 0/1 - 24 half (0/1 端口设置为半双工)
④配置端口的传输速率。
命令格式:sct port speed < mod/port> auto Set speed to auto
set port speed <mod/port> <port speed> (10 , 100 ,1000)
Switch-6509-TEST > (enable)
Switch-6509-TEST > (enable) set port speed 0/1 auto(设置端口的速率为自适应)
Switch-6509-TEST > (enable) set port speed 0/1 10(设置端口0/1的速率为10Mbit/s)
Switch-6509-TEST>( enable) set port speed 0/1 100(设置端口0/1的速率为100Mbit/s)
Switch-6509-TEST>( enable) set port speed 0/1 1000(设置端口0/1的速率为1000Mbit/s)
Switch-6509-TEST>( enable) set port speed 0/1 - 24 auto
Switch-6509-TEST>( enable) set port speed 0/1 - 24 10
Switch-6509-TEST > (enable) set port speed 0/1 -24 100
Switch-6509-TEST > (enable) set port speed 0/1 -24 1000
(一次性对多个端口的速率设置)
Switch-6509-TEST> (enable)
理论练习
- 交换机收到帧后,对帧的处理有:转发、泛洪和过滤三种方式。
- 交换机转发数据帧有三种交换方式:存储转发、直接转发和无碎片。
- 什么是VLAN?VLAN有什么作用?
VLAN(虚网)是一组逻辑上的概念,可以把接在不同交换机上的计算机根据功能等组织成新的网段,同一VLAN的计算机属于同一广播域;然而不同VLAN属于不同广播域,从而控制了广播问题。
- 为什么需要Trunk?常用的有什么封装技术?
随着VLAN的产生,如何在交换机之间连接多个VLAN成了一个问题,Trunk技术是这一问题的解决方法。Trunk采用帧标记技术,实现了在单一链路上传送不同VLAN的数据帧,大大提高了链路的利用率。目前常用的Trunk封装有802.1q和ISL两种,前者是国际标准,后者是Cisco的专利技术。
- 交换机的VTP模式可以分为三种:服务器模式、客户机模式和透明模式。
- VLAN间的通信要借助第三层的设备。
- 什么是三层交换机?
三层交换机技术就是“二层交换技术+三层转发”。三层交换解决了传统路由器低速、复杂所造成的网络瓶颈问题。从使用者的角度可以把三层交换机看成是二层交换机和路由器的组合。