交换机简介
交换机的作用
- 如今随着计算机速度不断提高,以及网络应用越来越多,局域网的负载变得越来越大了,交换机的使用也变得更有必要。
- 交换机的作用主要有两个:一个是维护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)