1.1交换机的工作原理
交换机是一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备,交换机正如它的名字一样采用的是交换的工作模式,它可以“学习”网络中各个终端的Mac 地址,并把其存放在内部的MAC地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。 在计算机网络系统中,交换工作模式的提出是相对于对共享工作模式的改进,我们知道集线器(hub)是一种共享介质的网络设备,而且集线器(hub)本身不能识别目的地址,是采用广播的方式向所有节点发送,然后由每一个节点上的终端通过验证数据包头的地址信息来确定是否接收,在这种方式下很容易造成网络堵塞,因为接收数据的只有一个节点终端,而向所有的节点都发送数据,那么绝大多数的数据流是无效的,这样就造成网络数据的传输效率很低,而且由于发送的数据每个节点都会接收到,就可能导致不安全的因素产生。交换机拥有一条很高很快的背部总线和内部交换矩阵。交换机的所有端口均挂接在这条背部总线上,当控制电路接收到数据包后,处理端口会查找内存中的MAC地址对照表以确定目的MAC地址的网卡接在哪个端口上,通过内部交换矩阵直接将数据包传送到目的端口,而不是所有端口,如果目的MAC地址不存在,则广播到所有的端口,交换机的这种工作方式较于集线器来说不但效率高,不浪费网络资源,因为它只是对目的地址传输数据,不容易造成网络堵塞,而且安全系数高,发送数据是其他节点很难侦听到所发送的信息。这也是交换机能很快取代集线器的重要原因之一。交换机的另一个重要特点是它不像集线器一样每个端口共享带宽,它的每一个端口都是共享一部分交换机的总带宽,这样在速率上就对每个端口有个根本的保障。这样交换机就可以在同一时刻进行多个端口之间数据传输,每个端口都视为独立的网段,享有独立固定的带宽。无需同其他设备竞争使用。比方说现在使用的8端口10Mbps以太网交换机,当数据流量较大时,它的总流量可达到8*10Mbps=80Mbps,而使用10Mbps的共享式hub是,因为共享机制,使得每一时刻只能有一个端口通信,那即使数据流再多,总流量也不会超过10Mbps,如果使用16端口,24端口时情况会更加明显。 总之,交换机的目的是使得传输效率更高,它根据MAC地址来进行判断,决定数据帧该送到目的地址的连接端口,而不打扰其他不相干的连接端口,如果内存中的地址表中不包含目的MAC地址,交换机则会向所有端口广播这个数据包,找到后再将这个MAC地址加入到自己的MAC地址表中,这样下次发送到这个地址时便不会发错,交换机的这个功能就称为“MAC地址学习”功能。 1.2交换机的选型方法交换机的选型依据:
1 Vlan类型和数量
一个交换机支持越多的VLAN类型和数量将更加方便的进行网络拓扑的设计与实现。
2 端口数量及类型
不同的需求情况有不同的应用,需要按情况而定。
3 是否有支持网络管理的协议和方法
网吧交换机的网管功能可以使用管理软件来管理、配置交换机,比如可通过Web浏览器、Telnet、SNMP、RMON等管理。
4 是否支持堆叠
当用户量提高后,堆叠就显得非常重要了。一般公司扩展交换机端口的方法为一台主交换机各端口下连接分交换机的级联方式,这种方式里分交换机与主交换机之间的最大传输速率只有100M,极大的影响了交换性能,,而采用专用堆叠模块和堆叠总线进行堆叠方式,不占用网络端口;多台交换机堆叠后,具有足够的系统带宽,从而保证堆叠后每个端口仍能达到线速交换,Vlan不受影响。
5、背板带宽、交换吞吐量。
背板带宽及吞吐量真正决定着网络的实际性能,不管交换机再多,管理再方便,吞吐量不够,网络只会拥堵不堪。 5.1背板带宽是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。交换机机箱内部背后设置的大量的铜线,而背板带宽指的是这些铜线提供的带宽,与背板带宽有关的,是背板铜线部署的多少;交换容量是实际业务板卡与交换引擎之间的连接带宽,真正标志了交换机总的数据交换能力,与交换容量有关的,是业务插槽与管理引擎上的交换芯片,交换容量是决定交换机性能转发的主要因素。 所有单端口容量*端口数量之和的2倍<背板带宽,才可以实现全双工无阻塞交换。 比如cisco公司的Catalyst2950G-48,它有48个100Mbit/s端口和2个1000Mbit/s端口,它的背板带宽应该不小于13.6Gbit/s,才能满足线速交换的要求。 计算如下:(2*1000+48*100)*2(Mbit/s)=13.6(Gbit/s) 5.2 满配置吞吐量(Mpps)=满配置GE端口数×1.488Mpps,其中1个千兆端口在包长为64字节时的理论吞吐量为1.488Mpps。例如:1台最多能够提供64个千兆端口的交换机,其满配置吞吐量应达到 64×1.488Mpps = 95.2Mpps,才能够确保在任何端口均线速工作时,提供无阻塞的包交换。假如一台交换机最多能够提供176个千兆端口,而宣称的吞吐量为不到 261.8Mpps(176 x 1.488Mpps = 261.8),那么用户有理由认为该交换机采用的是有阻塞的结构设计。 1.488的由来:包转发线速的衡量标准是以单位时间内发送64byte的数据包(最小包)的个数作为计算基准的。 计算方法如下:一个数据包的实际长度为(64+8+12)byte=(512+64+96)bit=672bit,说明:当以太网帧为64byte时,需考虑8byte的帧头和12byte的帧间隙的固定开销。故一个线速的千兆以太网端口在转发64byte包时的包转发率为1.488095Mpps=1000Mbit/s/672bit。快速以太网的线速端口包转发率正好为千兆以太网的十分之一,为0.1488095Mpps=100Mbit/s/672bit。 对于万兆以太网,一个线速端口的包转发率为14.88Mpps; 对于千兆以太网,一个线速端口的包转发率为1.488Mpps; 对于百兆以太网,一个线速端口的包转发率为0.1488Mpps; 5.3典型的网络设计会采用过载的设计模式 过载设计的规则: 接入层到汇聚层--过载率:10:1到20:1 汇聚层到核心层--过载率:2:1到4:1 服务器群--过载率:1:1到4:1 例子:假设三级网络结构 接入层:10000台PC,每台PC使用1000M接入,采用10G上联汇聚层,20:1的过载率; 汇聚到核心层:10GE上联,4:1的过载率;双核心架构,核心交换机之间使用双10G捆绑链路相连提供冗余。 最终核心层的网络流量最高为:10000*1000M*2*1/(4*20)+10G*2*2=290Gbps,也就是说最大需要的背板带宽为290Gbps,包转发能力为:290G*1.488Mpps=431.52Mpps; 汇聚层的网络流量为:10G*(4+2)*2=120Gbps,即最大需要背板带宽为120Gbps,包转发率为:120G*1.488Mpps=178.56Gpps; 接入层选择48口的交换机,交换容量为:(48*1000M+1*10000M)*2=116Gbps,即最大需求背板带宽为116Gbps,包转发率为:116*1.488Mpps=172.6Mpps。按照20:1的过载率,可以知道汇聚层交换机的每个10G端口下联5台堆叠的交换机(200/48=5),10000台PC/200台PC=50个汇聚层交换机端口,则需要5*50=250台接入层交换机;按照汇聚到核心4:1的过载率,需要汇聚层交换机数为:50/4=13台。 1.3小结本章主要介绍了交换机的工作原理及交换机的选型,并举例说明了依据吞吐量如何选择交换机的方法。 参考文献: 1、王廷尧 《以太网技术及应用》 北京:人民邮电出版社 2、Rich seifert 《千兆以太网技术与应用》 郎波 译 北京:机械工业出版社 3、罗庆超 《二层交换机转发帧的原理和实现》2004 4、李勇敢 《浅谈集线器与交换机的区别》【J】.内江科技.2005