3.3 交换机基本技术与配置
交换机是局域网中重要设备之一。局域网交换技术(LAN Switching),使局域网共享传输介质引发的碰撞域减小,改善了网络通信性能,每个用户都能够独享带宽,从而缓解了带宽不足和网络瓶颈的问题。
3.3.1 交换机组成技术
交换机从本质看是一台特殊的计算机,主要由CPU、内存储器、I/O接口等部件组成。不同系列和型号的交换机,CPU也不尽相同。交换机的CPU负责执行处理数据帧转发和维护交换地址。中低端交换机多采用32位的CPU,高端交换机采用64位的CPU。
交换机主要采用了四种类型的内存:只读内存(ROM),闪存(Flash RAM),随机存取内存(RAM),非易失性RAM(NVRAM)。
ROM保存着交换机操作系统的基本部分,负责交换机的引导、诊断等。ROM通常是在一个或多个芯片上,插接在交换机的主机板上。闪存的主要用途是保存操作系统的扩展部分(相当于计算机的硬盘),支持交换机正常工作。闪存通常做成内存条的形式,插接在主机板的SIMM插槽上。RAM的作用是支持操作系统运行、建立交换地址表与缓存,以及保存与运行活动配置文件。NVRSM的主要作用是保存交换机启动时读入的启动配置脚本,这种配置脚本称为“备份的系统配置程序”。
交换机的I/O接口有10/100 Mbps自适应电口、1000 Mbps光口及Console口。电口和光口用来连接主机和其他交换机;Console口为异步端口,连接终端或支持终端仿真程序的计算机。可通过PC的“超级终端”界面对交换机进行配置。其配置包括运行配置、启动配置。两者均以ASCII文本格式表示。所以,用户能够很方便地阅读与操作。
3.3.2 交换机基本配置与级联
交换机品牌很多,如Cisco(含锐捷)、Juniper、锐捷、华为、H3C等,其配置基本一样。只要掌握了某一品牌交换机的配置方法,则其他品牌交换机按照配置手册即可完成配置。这里以Cisco交换机为例,说明交换机的基本配置。
交换机基本配置包括主机名、密码、以太网接口、管理地址及保存配置。交换机安装配置可通过PC的超级终端进行,用反转线(两端RJ-45接头线序相反)将PC串口(如COM1)和交换机Console口连接,反转线一端接在交换机的Console口,另一端通过DB9-RJ45转接头连接在PC的串口,如图3.15所示。
图3.15 交换机配置连接
(1)设置主机名。PC“超级终端”与交换机建立连接后,操作界面出现交换机普通用户操作提示符“>”,输入“enable”按Enter键后,进入特权用户提示符“#”,即可设置主机名,如图3.16所示。
图3.16 设置交换机名的命令行操作
(2)配置密码。全局配置模式可设置普通用户口令和特权用户口令,如图3.17所示。
图3.17 设置用户登录密码
(3)接口基本配置。交换机出厂(默认)时,交换机的以太网接口是开启的。使用时,交换机的以太网接口可配置双工通信模式和速率等,如图3.18所示。
图3.18 接口通信模式和速率设置
(4)管理地址配置。交换机运行时可通过Telnet登录,进行配置管理。这时,交换机需要配置一个IP地址,以便能通过PC进行Telnet。通常,交换机管理地址是在VLAN(虚拟子网,随后介绍)接口上配置的,如图3.19所示。设置默认网关IP地址,可使不同VLAN的PC也能通过Telnet登录该交换机,进行运行管理。
图3.19 管理地址与网关地址配置
(5)保存配置。以上配置操作完成后,需要将配置程序保存在NVRAM。在特权用户模式下,使用“wr”命令或“copy running-config startup-config”命令将配置程序保存。
(6)交换机连接。两台交换机连接时,采用连接线缆分别连接两台设备的对应端口。例如,Cisco交换机级联用交叉线(UTP线缆的RJ-45头分别采用568 A、568 B标准制作),锐捷交换机级联用平行线或交叉线均可。两台交换机的管理IP地址设置为同一VLAN的子网地址,如图3.20所示。
图3.20 交换机连接
按照以上操作步骤,设置SW2的主机名、密码、接口通信模式和速率,以及管理地址等内容。SW2的F0/1接口通信模式与速率要同SW1的F0/1接口通信模式与速率一致,如均设置为全双工、100 Mbps。
3.3.3 交换技术的基本原理
局域网交换技术是数据链路层(Data Link Layer)上的网桥技术,所谓“交换”实际上就是指转发数据帧(Frame)的过程。在数据通信中,交换机执行两个基本的操作:一是交换数据帧,将从输入传输介质上收到的数据帧转发至相应的输出介质;二是维护交换操作,构造和维护交换MAC地址表。
1.数据帧交换规则
交换机根据数据帧的物理地址(MAC,Media Access Control)进行数据帧的转发操作。交换机转发数据帧时应遵循以下规则。
(1)如果数据帧的目的MAC地址是广播地址或者组播地址,则向交换机所有端口转发(除数据帧来的端口)。
(2)如果数据帧的目的地址是单播地址,但这个地址并不在交换机的地址表中,那么也会向所有的端口转发(除数据帧来的端口)。
(3)如果数据帧的目的地址在交换机的地址表中,就根据地址表转发到相应的端口。
(4)如果数据帧的目的地址与数据帧的源地址在同一个网段上,它就会丢弃这个数据帧,交换也就不会发生。
2.数据帧交换过程
局域网数据帧的交换过程,如图3.21所示。
图3.21 交换机中数据帧交换过程示意图
(1)当主机D发送广播帧时,交换机从E3端口接收到目的地址为ffff.ffff.ffff(广播地址)的数据帧,则向E0、E1、E2和E4端口转发该数据帧。
(2)当主机D与主机E通信时,交换机从E3端口接收到目的地址为0260.8c01.5555的数据帧,查找地址表后发现0260.8c01.5555并不在表中,因此交换机仍然向E0、E1、E2和E4端口转发该数据帧。
(3)当主机D与主机F通信时,交换机从E3端口接收到目的地址为0260.8c01.6666的数据帧,查找地址表后发现0260.8c01.6666也位于E3端口,即与源地址处于同一网桥端口,所以交换机不会转发该数据帧,而是直接丢弃。
当主机D与主机A通信时,交换机从E3端口接收到目的地址为0260.8c01.1111的数据帧,查找地址表后发现0260.8c01.1111位于E0端口,所以交换机将数据帧转发至E0端口,这样主机A即可收到该数据帧。
(4)如果在主机D与主机A通信的同时,主机B也正在向主机C发送数据,交换机同样会把主机B发送的数据帧转发到连接主机C的E2端口。这时E1和E2之间,以及E3和E0之间,通过交换机内部的硬件交换电路,建立了两条链路,这两条链路上的数据通信互不影响,因此网络也不会产生碰撞。所以,主机D和主机A之间的通信独享一条链路,主机C和主机B之间也独享一条链路。而这样的链路仅在通信双方有需求时才会建立,一旦数据传输完毕,相应的链路也随之拆除。这就是交换机主要的特点。
从以上的交换操作过程中,可以看到数据帧的转发都是基于交换机内的MAC地址表。由此表明建立和维护MAC地址表是网桥隔离碰撞域的重要功能,也是交换机进行数据帧通信的基础。
3.构造和维护交换地址表
在交换机的交换地址表中,一条表项主要由一个主机MAC地址和该地址位于的交换机端口号组成。整张地址表的生成采用动态自学习的方法,即当交换机收到一个数据帧以后,将数据帧的源地址和输入端口记录在交换地址表中。例如Cisco交换机,将交换地址表放置在内容可寻址存储器(CAM,Content Addressable Memory)中,因此也称为CAM表。
当然,在存放交换地址表项之前,交换机首先应该查找地址表中是否已经存在该源地址的匹配表项,仅当匹配表项不存在时才能存储该表项。每一条地址表项都有一个时间标记,用来指示该表项存储的时间周期。地址表项每次被使用或者被查找时,表项的时间标记就会被更新。如果在一定的时间范围内地址表项仍然没有被引用,它就会从地址表中被移走。因此,交换地址表中所维护的是有效和精确的主机MAC地址与交换机端口对应的信息。
3.3.4 交换机的三种交换技术
交换机在交换数据帧时,可选择不同的模式来满足通信需求。目前,交换机一般使用存储转发、快速转发和自由分段3种交换技术,如图3.22所示。
图3.22 交换机的三种交换技术
1.存储转发
存储转发(Store and Forward)模式是指交换机接收完整个数据帧,并在CRC校验通过之后,才能进行转发操作。如果CRC校验失败,即数据帧有错,交换机则丢弃此帧。这种模式保证了数据帧的无差错传输,当然其代价是增加了传输延迟,而且传输延迟随数据帧长度的增加而增加。
2.快速转发
快速转发(Fast Forward)模式是指交换机在接收数据帧时,一旦检测到目的MAC地址就立即进行转发操作。由于数据帧在进行转发处理时并不是一个完整的帧,因此数据帧将不经过校验、纠错而直接转发。造成错误的数据帧仍然被转发到网络上,从而浪费了网络的带宽。这种模式的优势在于数据传输的低延迟,但其代价是无法对数据帧进行校验和纠错。
3.自由分段
自由分段(Fragment free)模式是指交换机在接收数据帧时,一旦检测到该数据帧不是碰撞碎片(Collision Fragment)就进行转发操作。碰撞碎片是因为网络冲突而受损的数据帧碎片,其特征是长度小于64 B。碰撞碎片并不是有效的数据帧,应该被丢弃。因此,交换机的自由分段模式实际上就是一旦数据帧已接收的部分超过64 B,就开始进行转发处理。这种模式的性能介于存储转发模式和快速转发模式之间。
从图3.22中可以看到,在进行转发操作之前,不同的交换模式所接收数据帧的长度不同,这也决定了相应的延迟大小。接收数据帧的长度越短,交换机的交换延迟就越小,交换效率也就越高,但相应的错误检测也就越少。