3.4 虚拟局域网与路由技术
交换机的第二层交换功能实现了数据链层通信。多个交换机连接扩大了局域网的范围,同时也扩大了广播域的范围。广播域扩大易产生广播风暴,使网络通信效率减低或瘫痪。因此,交换机提供了虚拟局域网(Virtual LAN)和路由(第三层交换)功能。VLAN技术能够控制第二层广播域的大小,减少或避免广播风暴的发生。第三层交换可实现不同VLAN子网之间的数据通信,扩大了局域网的规模和覆盖范围。
3.4.1 虚拟局域网技术与应用
虚拟局域网(VLAN,Virtual Local Area Network)是指在交换局域网的基础上,采用VLAN协议(802.1Q)实现的逻辑网络。这种逻辑网络可跨越多个交换机,实现不同地理位置的PC(IP地址为同一子网)互连互通。
1.VLAN实现途径
建立VLAN的条件:构成虚拟局域网的PC必须直接连接到支持VLAN功能的局域网交换机端口上,交换机要有相应的VLAN管理及协议。交换式以太网实现VLAN主要有3种途径:基于端口的VLAN、基于MAC地址的VLAN和基于IP地址的VLAN。
(1)基于端口的VLAN。基于端口的VLAN就是将交换机中的若干个端口定义为一个VLAN,同一个VLAN中的PC处于同一个网段,不同的VLAN之间进行通信需要通过路由器。采用这种方式的不足之处是灵活性差。例如,当一个网络PC从一个端口移动到另外一个新的端口时,如果新端口与旧端口不属于同一个VLAN,则用户必须对该PC重新进行配置,加入到新的VLAN中;否则,该PC将无法进行网络通信。
(2)基于MAC地址的VLAN。在基于MAC地址的VLAN中,交换机对PC的MAC地址和交换机端口进行跟踪。在新PC入网时根据需要将其划归至某一个VLAN,该PC在网络中可以自由移动。由于其MAC地址保持不变,因此所处的VLAN保持不变。这种VLAN技术的不足之处是在PC入网时,需要对交换机进行比较复杂的手工配置,以确定该PC属于哪一个VLAN。
(3)基于IP地址的VLAN。在基于IP地址的VLAN中,新PC在入网时无须进行多项配置,交换机则根据各PC的IP地址自动将其划分成不同的VLAN。在3种VLAN的实现技术中,基于IP地址的VLAN智能化程度最高,实现起来也最复杂。
虽然VLAN的优点很突出,但是虚拟网络技术的应用,又会产生新的问题,这就是虚拟网间如何通信的问题。下面介绍此问题的解决方法。
2.VLAN实现方法
(1)VLAN的划分。利用支持VLAN的交换机可以很方便地实现虚拟局域网。虚拟局域网只是给用户提供的一种跨交换机逻辑组网的服务,而不是一种新的局域网。
一般情况下,在一个企业或组织的园区网络中,多基于交换机端口划分VLAN,并通过多层交换技术(VLAN干道Trunk),即可实现园区网络的VLAN划分与管理。
(2)虚拟网传输协议。虚拟网传输采用802.1q协议实现交换机间的VLAN中继。它是一个数据包标记协议,在支持802.1q接口上发送的帧由一个标准以太网帧及相关的VLAN信息组成。在支持802.1q的接口上可以传送来自不同VLAN的数据。
(3)VLAN的优点。VLAN是一个由用户与资源构成的逻辑网络,不论用户和资源在何处,都可以由支持VLAN的交换机进行协议配置和逻辑组合。当用户新增或变更PC业务时,可通过远程登录(Telnet)交换机,进行VLAN配置,由此可见,VLAN的管理简单方便。
3.VLAN设计案例
例如,某公司现有技术科、财务科、销售科等部门(分布在不同楼层)。为了实施信息化管理,计划组建公司内部网络。组网技术要求同一业务部门PC为同一逻辑子网,不同业务部门PC及公司业务服务器在数据链路层隔离,确保数据安全。
按照该公司组网要求,可采用VLAN技术实现公司业务逻辑子网。该公司VLAN划分与服务器连接拓扑结构,如图3.23所示。其中核心交换机(锐捷RG-S3760)连接三台服务器和三台接入交换机(RG-S2328G),每台接入交换机连接业务处理PC,在物理上构成一个局域网。
图3.23 VLAN划分与服务器连接示例图
按照公司业务需要分成三个工作组,采用基于端口的VLAN,可划分为VLAN10、VLAN20、VLAN30三个逻辑子网。考虑到服务器的安全,可为服务器单独设置一个虚拟网VLAN1。每个逻辑子网是一个广播域,在数据链路层被隔离,子网之间的通信需要第三层(IP路由)交换实现。锐捷RG-S3670交换机是具有第三层交换功能的低端交换机,可实现不同VLAN数据包的路由转发。由此,不同业务部门的PC通过RG-S3670设置的IP路由协议,可直接访问服务器,以及分布在不同楼层的同一业务部门PC也可交换数据。
3.4.2 虚拟局域网的多层交换
虚拟局域网的多层交换,是在局域网的多台交换机中选取一台或几台交换机作为中心(即Server),采用VTP建立、修改和删除VLAN。VLAN信息通过Trunk链路自动扩散到局域网中级联的交换机(即Client),使交换机保持相同的VLAN信息。
1.交换机的VTP技术
VTP(VLAN Trunk Protocol)是交换机管理VLAN的方法。VTP被组织成管理域(VTP Domain),相同域中的交换机共享VLAN。根据交换机在VTP域中的作用不同,VTP可分为以下三种模式。
(1)服务器(Server)模式。VTP服务器能创建、修改和删除VLAN,同时变更后的VLAN信息会通告给域中的其他交换机。默认情况下,交换机是服务器模式。每个VTP域必须至少有一台交换机是服务器模式,域中的VTP服务器可以有多台。
(2)客户机(Client)模式。VTP客户机不允许创建、修改和删除VLAN,但它会监听来自其他交换机的VTP通告,并更改自己的VLAN信息。接收到的VTP信息也会在Trunk链路上向其他交换机转发,因此,这种交换机还能充当VTP中继。
(3)透明(Transparence)模式。这种模式的交换机不参与VTP,可在该模式的交换机上创建、修改和删除VLAN,更改的VLAN不会通告给其他交换机;也不会接受其他交换机通告的VLAN而更改自己的VLAN。但该模式的交换机会通过Trunk链路转发接收到的VTP通告,充当了VTP中继的角色。因此,将该模式称为透明模式。
2.路由交换机的MLS技术
路由交换机的多层交换(MLS,Multi Layer Switching)是基于硬件实现的技术。多层交换采用专用集成电路(ASIC,Application Specific Integrated Circuit)交换部件完成子网间的IP包交换,可以大大减小路由器进行数据包转发的延时。
MLS是一种用硬件处理包交换和重写帧报头的IP路由技术。MLS将路由器的包交换功能迁移到第三层交换机上,其条件是交换路径必须存在。MLS主要由以下三个部分组成。
(1)多层路由处理器(MLS-RP)。MLS-RP相当于网络中的路由器,负责处理每个数据流的第一个数据包,协助MLS交换引擎(MLS-SE)在第三层的内容可寻址存储器(CAM,Content Addressable Memory)中建立捷径条目(Shortcut Entry)。MLS-RP可以是一个外部的路由器,也可以由三层交换机的路由交换模块(RSM)来实现。
(2)多层交换引擎(MLS-SE)。MLS-SE负责处理转发和重写数据包的交换实体。
(3)多层交换协议(MLSP)。MLSP通过多层路由处理器(MLS-RP)对多层交换引擎进行初始化。
总之,路由交换机利用ASIC芯片进行“一次路由,多次交换”处理数据包,速度相当快,其速率可以达到每秒几百兆位,甚至达到每秒几千兆位。
3.VLAN间的信息传递
交换机必须有一种方式来了解VLAN的成员关系,即哪一个PC属于哪一个虚拟网。否则,虚拟网就只能局限在单台交换机的应用环境里。为了使多个虚拟网能够部署在多台交换机级联的环境中,交换机采用了基于VLAN的信息传递技术。
(1)交换机列表支持方式(Table Maintenance)。在这种方式下,当PC第一次在网络上广播其存在时,交换机就在自己内置的地址列表中将PC的MAC地址或交换机的端口号与所属虚拟网一一对应起来,并不断向其他交换机广播。如果PC虚拟网成员身份改变了,交换机中的地址列表将由网管员手动修改。随着网络规模的扩充,大量用来升级交换机地址列表的广播信息将导致主干网路上的拥塞。因此,这种方式在实际应用中不太普及。
(2)帧标签方式(Frame Tagging)。帧标签是一种流行的VLAN技术,帧标签是在每个数据帧头位置插入了一个标签,以标注该数据帧属于哪个虚拟网。目前,很多品牌交换机均采用帧标签方式。这种方式存在两个问题,其一,若不同品牌交换机的标签长度不一样,则他们之间不能互连。其二,数据帧加上标签后使交换机处理数据帧的负担加重了。
(3)时分复用方式(TDM,Time Division Multiplexing)。TDM在虚拟网上的实现方式与它在广域网上的实现方式类似。在这里,每个虚拟网都将拥有自己的网络通路。这样,在一定程度上避免了前两者方式中所遇到的问题。但另一方面,属于某一个虚拟网的时间片断只能被该虚拟网的成员使用。所以,仍然有很多带宽被浪费了。现在,非常流行的ATM网络也允许内部的两个交换机之间交换虚拟网信息。与上述三种方式都不同的是,ATM使用一种被称做LANE(LAN Emulation,局域网仿真)的技术来实现这项功能。
3.4.3 虚拟局域网的路由配置
交换机划分VLAN后,不同VLAN的PC在数据链路层就无法通信了。不同VLAN间的通信需要路由器实现。局域网规模很小(PC < 20台),可采用低端路由器的单臂路由技术。局域网规模稍大,可采用路由交换机的第三层交换技术。
1.单臂路由配置
低端路由器的以太网接口较少(一般配置2个),使用路由器为不同VLAN提供通信,当VLAN个数较多时,路由器的以太网接口无法直连多个VLAN的交换机。因此,提出了单臂路由解决方案。路由器只需一个以太网接口和交换机连接,交换机的这个接口设置为Trunk接口。在路由器上建立多个子接口(物理接口上的逻辑接口)和不同的VLAN连接。单臂路由网络拓扑结构,如图3.24所示。R1表示路由器,如锐捷RSR20-04;S1表示二层交换机,如RG-S2328;R1和S1的连接是VLAN间路由的Trunk(干道)。
图3.24 单臂路由网络拓扑结构
假设,PC1给PC2发送数据,当交换机F0/2口收到PC1发来的数据帧后,由于F0/2和F0/3的VLAN号不同,交换机通过Trunk接口将PC1的数据发给路由器。路由器收到PC的数据后,将该数据的VLAN2标签去掉,重新用VLAN3的标签封装发往PC2的数据,通过Trunk链路将数据发送到交换机的Trunk接口。交换机收到该数据帧,去掉VLAN3标签,发给PC2。从而实现了VLAN间的通信。具体操作步骤如下。
(1)在S1上建立VLAN。PC1以“超级终端”方式进入交换机的全局配置模式,建立VLAN2,将F0/2口设置为VLAN2,如图3.25所示。可按照图3.25的操作建立VLAN3,并将F0/3口设置为VLAN3。
图3.25 交换机建立VLAN2及端口设置
(2)在S1上建立连接路由器R1的Trunk。确定F0/1接口为Trunk,在全局配置模式下,设置F0/1为Trunk,并采用802.1Q协议封装。如图3.26所示。
图3.26 交换机建立Trunk接口
(3)在R1上建立连接交换机S1的Trunk子接口。PC1以“超级终端”方式进入路由器的全局配置模式,确定F0/0为连接S1的物理接口。在F0/0口上分别建立子接口F0/0.1和F0/0.2,对子接口用802.1Q封装,并设置VLAN2和VLAN3的路由网关地址,激活物理端口。如图3.27所示。
图3.27 路由器建立Trunk子接口
(4)在PC1和PC2上配置IP地址和网关。PC1的网关为192.168.2.1,PC2的网关为192.168.3.1。测试PC1和PC2的通信。
2.第三层交换配置
路由交换机取代路由器的网络组成,如图3.28所示。SR1表示三层交换机,如RG-S3760。S1表示二层交换机,如RG-S2328。SR1和S1的连接是VLAN间路由的Trunk。连接在S1上的PC1和PC2分别属于VLAN2和VLAN3,PC1和PC2要进行通信需要通过SR1提供路由。具体操作步骤如下。
图3.28 三层交换网络拓扑
(1)在S1上划分VALN。操作方法与图3.25相同。
(2)在S1上建立连接SR1的Trunk。操作方法与图3.26相同。
(3)配置三层交换机SR1。PC1以“超级终端”方式进入SR1的全局配置模式,确定F0/1为连接S1的Trunk接口。对该接口用802.1Q封装,并设置VLAN2和VLAN3的路由网关地址,激活VLAN接口,激活IP路由,如图3.29所示。
图3.29 三层交换机提供VLAN间路由的配置
(4)检查SR1上的IP路由表。在SR1的特权模式下,输入“show ip route”命令,该命令的结果如图3.30所示。第三层交换机和路由器一样也有IP路由表。
图3.30 检查三层交换机上的IP路由表
(5)在PC1和PC2上配置IP地址和网关。PC1的网关为192.168.2.1,PC2的网关为192.168.3.1。测试PC1和PC2的通信。
3.4.4 交换机的性能与连接技术
以太网交换机按照组成结构,可分为固定端口交换机和模块化交换机。通常,一个局域网有多台交换机,固定端口交换机用来连接PC,模块化交换机用来汇聚连接固定端口交换机,由此,形成星状或扩展星状结构的局域网。局域网组建需考虑交换机的性能、交换机链路冗余、交换机级联带宽与瓶颈等问题。
1.交换机性能指标
描述交换机性能的指标较多,如交换容量(Gbps)、背板带宽(Gbps)、吞吐率或包转发率(Mpps)等。在这些指标中,最重要的是包转发率Mpps(Million Packet Per Second,每秒转发百万包数)。包转发率的衡量标准是以单位时间内发送64 B的数据包(最小包)的个数作为计算基准的。1 Gbps以太网包转发率=1000000000 bps/8 bit/(64+8+12)B = 1488095 pps。该算式中的“64+8+12”表示,当以太网帧为64 B时,需考虑8 B的帧头和12 B的帧间隙的固定开销。所以,一个线速的1 Gbps以太网端口在转发64 B包时的包转发率为1.488 Mpps。快速以太网的线速端口包转发率是1 Gbps以太网的十分之一,为148.8 kpps。10 Gbps以太网的线速端口包转发率是1 Gbps以太网的十倍,为14.88 Mpps。转发率越高,表明交换机的交换性能越强。交换机选型,就是要看该产品每秒能转发多少个数据包。
交换容量(转发能力)表示交换引擎的转发性能。一般二层转发能力用bps表示,三层转发能力用pps表示。根据包转发率计算公式,交换机转发带宽 = 包转发速率×8×(64+8+12)=包转发速率×672 Mbps。例如,一台最多可以提供64 Gbps端口的交换机,其满配置交换容量应达到64×1.488×672=63.995904 Gbps。
背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。一台交换机的背板带宽越高,所能处理数据的能力就越强,同时成本也会增加。按照背板带宽选择交换机应从两个方面来考虑:第一,所有端口速率乘以端口数量之和的2倍小于背板带宽,可实现全双工无阻塞交换,表明交换机具有发挥最大数据交换性能的条件。第二,满配置吞吐量(Mpps)=满配置1 Gbps端口数×1.488 Mpps,其中1个1 Gbps端口在包长为64 B时的理论吞吐量为1.488 Mpps。一般是两者都满足的交换机才是合格的交换机。
2.交换机的连接技术
(1)冗余连接。众所周知,以太网为总线结构,不允许出现环路。为了提高通信链路的可靠性,工程中常采用冗余连接,由此也就形成了环路。交换机在冗余连接的环路中,任何时刻只允许有一条链路工作(主链路),另一条链路处于备份状态。能够担此重任的协议就是生成树(Spanning Tree),生成树协议可以在交换机之间实现冗余连接又避免出现环路,如图3.25所示。当然,这要求交换机支持生成树。
交换机是一种多端口的透明桥接设备,交换机有桥接设备固有的“拓扑环”(Topology Loops)问题。当某个网段的数据包通过某个桥接设备传输到另一个网段,而返回的数据包通过另一个桥接设备返回源地址时,这个现象就称为“拓扑环”。
通常情况下,交换机采用生成树协议802.1q,让网络中的每一个桥接设备相互知道,自动防止拓扑环的生成。交换机通过将检测到的“拓扑环”中的某个端口断开,达到消除“拓扑环”的目的,维护网络中拓扑树的完整性。
网络设计中,“拓扑环”常被用于主干数据链路冗余备份。也就是说,支持生成树802.1q协议的交换机,可用于冗余连接网络中的主干网交换机,如图3.31所示。该图中核心层交换机与汇聚层交换机彼此间均有两条连接线路,以确保网络通信的高可靠性。
图3.31 交换机的冗余连接示意图
(2)链路汇聚。为了解决交换机间的带宽瓶颈问题,可以采用链路汇聚技术,如图3.25中核心层交换机彼此间的两条线路(圆圈标注部分,表示链路汇聚)。FEC(Fast Ethernet Channel)、GEC(Gigabit Ethernet Channel)、ALB(Advanced Load Balancing)和Port Trunking技术,可以允许每条冗余连接链路实现负载分担。其中FEC、GEC和ALB技术是用来实现交换机与交换机(服务器)之间的连接(Switch to Switch);通过Port Trunking的冗余连接,交换机之间可以实现2倍或4倍线速带宽的连接。
(3)堆叠。提供堆叠接口的交换机之间可以通过专用的堆叠线连接起来。通常,堆叠的带宽是交换机端口速率的几十倍。例如,一台100 Mbps交换机,堆叠后两台交换机之间的带宽可以达到几百兆甚至上千兆。多台交换机的堆叠是靠一个提供背板总线带宽的多口堆叠母模块与单口堆叠子模块相连实现的,并插入不同的交换机实现交换机的堆叠。
(4)上连。交换机可以通过上连端口实现与骨干交换机的连接。例如,一台具有24个10/100 Mbps和1个1000 Mbps端口的交换机,就可以通过1000 Mbps端口与1000 Mbps主干交换机实现1000 Mbps传输速率的连接。