“交换”与“路由”的对比( 二 )


交换
谈到交换的问题 , 从广义上讲 , 任何数据的转发都可以称作交换 。当然 , 现在我们指的是狭义上的交换 , 仅包括数据链路层的转发 。做网络的人理解交换大多是从交换机开始的 , 电路交换机在通信网中已经使用了几十年了 , 做帧交换的设备 , 尤其是以太网交换机的大规模使用则是近几年的事情 。
理解以太网交换机的作用还要从网桥的原理讲起 。传统以太网是共享型的 , 假如网段上有四台计算机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) , 即交换机之间的端口上运行 。
路由
路由器是网络间的连接设备 , 它重要工作之一是路径选择 。这个功能是路由器智能的核心 , 它是由治理员的配置和一系列的路由算法实现的 。

推荐阅读