详解路由与交换( 二 )


交换
谈到交换的问题,从广义上讲,任何数据的转发都可以称作交换 。当然,现在我们指的是狭义上的交换,仅包括数据链路层的转发 。做网络的人理解交换大多是从交换机开始的,电路交换机在通信网中已经使用了几十年了,做帧交换的设备,尤其是以太网交换机的大规模使用则是近几年的事情 。
理解以太网交换机的作用还要从网桥的原理讲起 。传统以太网是共享型的,假如网段上有四台计算机A、B 、C和D,那么A与B通信的同时,C和D只能是被动的收听 。假如将缆段分开(即微化),A、B在一段上,C、D在另一段上,那么A和B通信的同时,C和D也可以通信,这样原有10M的带宽从理论上讲就变成20M了 。同时,为了确保这两个网段可以互相通信,需要用桥将它们连接起来,桥是有两块网卡的计算机 。
在整个网络刚刚启动时,桥对网络的拓朴一无所知 。这时,假设A发送数据给B,因为网络是广播式的,所以桥也收到了,但桥不知到B在自己的左边还是右边,它就进行缺省的转发,即在另外一块网卡上发送这个信息 。虽然做了一次无用的转发,但通过这个过程,桥学习到数据的发送者A在自己的左边 。当网络上的每一台计算机都发送过数据之后,桥就是智能的了,它了解每一台计算机在哪一个网段上 。当A再发送数据给B时,桥就不进行数据转发了,与此同时,C可以发送数据给D 。
从上面的例子可以看出,桥可以减少网络冲突发生的几率,这就是我们使用桥的主要目的,称作减小冲突域 。但桥并不能阻止广播,广播信息的隔绝要靠三层的连接设备,路由器 。
按照缆段微化的思想,缆段越多,可用带宽就越高 。极限情况是每一台计算机处在一个独立的缆段上,假如网络上有十台计算机,就需要一个十端口的桥将它们连接起来 。但实现这样一个桥不太现实,软件转发的速度也跟不上,于是有了交换机,交换机就是将上述多端口的桥硬件或固件化,以达到更低的成本和更高的性能 。
交换机的一个重要的功能是避免交换循环,这就涉及到了STP(Spanning Tree Protocol,分支树协议) 。分支树协议的功能是避免数据帧在交换机构成的网络中循环传送 。如下图所示,假如网络中有冗余链路的话,STP协议现选出根交换机(Route Bridge),然后确定每一台非根交换机到根交换机之间的路径,最后,将此路径上的所有链路置成转发(Forward)状态,其余的交换机之间的连接就是冗余链路,置为阻塞(Block)状态 。
交换机的另外一个重要功能是VLAN(Virtual LAN,虚拟局域网) 。VLAN的好处主要有三个:
端口的分隔 。即便在同一个交换机上,处于不同VLAN的端口也是不能通信的 。这样一个物理的交换机可以当作多个逻辑的交换机使用 。
网络的安全 。不同VLAN不能直接通信,杜绝了广播信息的不安全性 。
灵活的治理 。更改用户所属的网络不必换端口和联线,只该软件配置就可以了 。
VLAN可以按端口或MAC地址来划分 。
有时,我们需要在交换机所构成的网络上保持VLAN的配置的一致性 。这就需要交换机之间按照VTP(VLAN Trunk Protocol,VLAN骨干协议)交流VLAN信息 。VTP协议只在骨干端口(Trunk Port),即交换机之间的端口,上运行 。
路由器是网络间的连接设备,它重要工作之一是路径选择 。这个功能是路由器智能的核心,它是由治理员的配置和一系列的路由算法实现的 。
路由算法有动静之分,静态路由是一种非凡的路由,它是由治理员手工设定的 。手工配置所有的路由虽然可以使网络正常运转,但是也会带来一些局限性 。网络拓扑发生变化之后,静态路由不会自动改变,必须有网络治理员的介入 。缺省路由是静态路由的一种,也是由治理员设置的 。在没有找到目标网络的路由表项时,路由器将信息发送到缺省路由器(gateway of last resort) 。而动态的算法,顾名思义,是由路由器自动计算出的路由,常说的RIP、OSPF等等都是动态算法的典型代表 。

推荐阅读