米葫芦网

三层交换机的原理和设计

热度:7℃ 发布时间:2023-11-16 19:35:47

摘要:三层交换机集第二层交换技术和第三层路由技术的优势于一体,逐渐成为了宽带高速网络中的要害设备。

本文在介绍三层交换技术和三层交换机工作原理的基础上,给出了一款三层交换机的设计,依照该设计实现的三层交换机已投入实际运行。

要害词:交换;路由;三层交换机

1.引言传统路由器在网络中起到隔离网络、隔离广播、路由转发以及防火墙的作业,并且随着网络的不断发展,路由器的负荷也在迅速增长。其中一个重要原因是出于安全和治理方便等方面的考虑,VLAN(虚拟局域网)技术在网络中大量应用。VLAN技术可以逻辑隔离各个不同的网段、端口甚至主机,而各个不同VLAN间的通信都要经过路由器来完成转发。由于局域网中数据流量很大,VLAN间大量的信息交换都要通过路由器来完成转发,这时候随着数据流量的不断增长路由器就成为了网络的瓶颈。为了解决局域网络的这个瓶颈,很多企业内部、学校和小区建设局域网时都采用了三层交换机。三层交换技术将交换技术引入到网络层,三层交换机的应用也从最初网络中心的骨干层、汇聚层一直渗透到网络边缘的接入层。

2.第三层交换技术

2.1三层交换的概念第三层交换技术也称为IP交换技术或高速路由技术等,是相对于传统交换概念而提出的。众所周知,传统的交换技术是在OSI 网络标准模型中的第二层—数据链路层进行操作的,而第三层交换技术是在网络模型中的第三层实现了数据包的高速转发。简单地说,第三层交换技术就是:第二层交换技术+第三层转发技术,这是一种利用第三层协议中的信息来加强第二层交换功能的机制。一个具有第三层交换功能的设备是一个带有第三层路由功能的第二层交换机,但它是二者的有机结合,并不是简单地把路由器设备的硬件及软件简单地叠加在局域网交换机上。

2.2三层交换的原理从硬件的实现上看,目前,第二层交换机的接口模块都是通过高速背板/总线交换数据的。在第三层交换机中,与路由器有关的第三层路由硬件模块也插接在高速背板/总线上,这种方式使得路由模块可以与需要路由的其他模块间高速地交换数据,从而突破了传统的外接路由器接口速率的限制(10Mbit/s---100Mbit/s)。在软件方面,第三层交换机将传统的基于软件的路由器重新进行了界定:

(1).数据封包的转发:如IP/IPX封包的转发,这些有规律的过程通过硬件高速实现;

(2).第三层路由软件:如路由信息的更新、路由表维护、路由计算、路由的确定等功能,用优化、高效的软件实现。

假设有两个使用IP协议的站点,通过第三层交换机进行通信的过程为:若发送站点A在开始发送时,已知目的站B的IP地址,但尚不知道它在局域网上发送所需要的MAC 地址,则需要采用地址解析(ARP)来确定B的MAC 地址。A把自己的IP 地址与B的IP 地址比较,采用其软件中配置的子网掩码提取出网络地址来确定B是否与自己在同一子网内。若B 与A 在同一子网内,A 广播一个ARP 请求,B 返回其MAC 地址,A 得到B 的MAC 地址后将这一地址缓存起来,并用此MAC 地址封包转发数据,第二层交换模块查找MAC 地址表确定将数据包发向目的端口。若两个站点不在同一子网内,则A 要向"缺省网关"发出ARP(地址解析)封包,而"缺省网关"的IP 地址已经在系统软件中设置,这个IP 地址实际上对应第三层交换机的第三层交换模块。当A 对"缺省网关"的IP 地址广播出一个ARP 请求时,若第三层交换模块在以往的通信过程中已得到B 的MAC 地址,则向发送站A 回复B 的MAC 地址;否则第三层交换模块根据路由信息向目的站广播一个ARP 请求,B 得到此ARP 请求后向第三层交换模块回复其MAC 地址,第三层交换模块保存此地址并回复给发送站A 。以后,当再进行A 与B 之间数据包转发时,将用最终的目的站点的MAC 地址封包,数据转发过程全部交给第二层交换处理,信息得以高速交换[1] 。

2.3第三层交换的特点突出的特点如下: 

(1).有机的硬件结合使得数据交换加速;

(2).优化的路由软件使得路由过程效率提高;

(3).除了必要的路由决定过程外,大部分数据转发过程由第二层交换处理;

(4).多个子网互连时只是与第三层交换模块的逻辑连接,不象传统的外接路由器那样需增加端口,保护了用户的投资。

第三层交换的目标是,只要在源地址和目的地址之间有一条更为直接的第二层通路,就没有必要经过路由器转发数据包。第三层交换使用第三层路由协议确定传送路径,此路径可以只用一次,也可以存储起来,供以后使用。之后数据包通过一条虚电路绕过路由器快速发送。

第三层交换技术的出现,解决了局域网中网段划分之后,网段中子网必须依靠路由器进行治理的局面,解决了传统路由器低速、复杂所造成的网络瓶颈问题。当然,三层交换技术并不是网络交换机与路由器的简单叠加,而是二者的有机结合,形成一个集成的、完整的解决方案。

3.一款第三层交换机的设计考虑到市场需要,交换机成本和自主知识产权因素,我们设计开发了有自主知识产权的VLSW4150系列交换机。VLSW4150 系列交换机是为企业提供的高性能、多层次化的解决方案。VLSW 4150也适用于ISP和服务提供商,尤其是对于一些大型的运营商,将能够增强其在IP市场的竞争力。


;3.1总体设计VLSW4150交换机有24个RJ45 10/100BASE-TX自适应端口,提供2个可选的光纤10/100BaseTx以太口、100BaseFx快速以太端口或者千兆以太网口(SX,LX,ZX),并另外提供一个串口和一个100M以太网口对交换机进行配置。

VLSW4150交换机的体系结构可以支持最高到11Gbps的速率,多层交换速率达到6.6Mpps;可以支持8,192个MAC地址;为了更好的控制网络流量和网络安全,还支持以1M为步长的速率限制;支持TaggedVLAN和MAC-based的帧过滤以及RIP、OSPF和BGP路由协议。

VLSW4150交换机提供堆栈技术可以以一个逻辑IP地址来治理多个交换机,并可在一个口上镜像其他的数据包,提供基于Web的网管系统以及CLI方式来调试交换机。VLSW4150支持SNMP协议、RMON和Telnet功能来便于治理。

3.2硬件结构

VLSW4150三层交换机的硬件结构分为两个部分,处理器模块和交换模块,它们之间通过PCI接口相连,同时配合相应的外围电路形成完整的三层交换机系统,见图1。

图1; 硬件结构

(1)处理器模块

如图2所示,处理器部采用一款MOTOROLAPowerQUICCIICPU,同一些外部存储设备以及一些外围电路构成三层交换机的处理器部分。处理器模块主要是运行嵌入式操作系统,配置系统和路由表的维持,而不是数据转发通路的组成部分。CPLD 保存一些CPU初始化的一些配置以保证上电后CPU正常启动,Flash 芯片用于存储三层交换机的所需要的所有软件和相关配置,SDRAM在系统启动之后载入FLASH中的程序,保证系统正常运行。处理器模块一方面提供一个快速以太网接口和一个异步口,用于对交换机进行配置和调试;另一方面通过PCI接口和交换模块相连,通过PCI接口对交换模块进行控制,并进行数据传输[2] 。

图2; 处理器模块的硬件组成

(2)交换模块

如图3所示,交换模块采用了BROADCOM公司的BCM5645作为ASIC芯片,通过PCI接口与处理器模块进行通信完成数据传输,通过5645提供的内存接口,可以给交换模块提供一个64M的外部SDRAM,从而提高交换机的吞吐量和交换速度。5645通过MII接口和GMII接口分别连接24个百兆以太网和2个千兆以太网[3]。

图3; 交换模块的硬件组成

3.3软件结构

VLSW4150三层交换机的软件系统采用了模块化、分布式的设计方法,基于实时多任务操作系统。软件系统的结构呈层次结构,一层建立在另一层的基础上,每一层都使用近邻它的下一层所提供的服务,并且为它上面一层提供更高一级的服务,其优点是:可以向上层软件屏蔽底层操作,提高上层软件的可移植性,提高软件的可维护性。

如图4所示,软件大体分为三个层面:

(1)驱动层

驱动程序将上层软件和硬件系统进行了连接,把上层软件的路由更新、治理及配置命令转化为硬件系统所能识别的格式,从而达到更新其内部数据结构如路由表,地址表等,控制及治理硬件交换系统的目的;同时设备驱动程序把底层硬件收到的路由更新报文、控制治理帧及收到的各种信息传递给上层软件处理;

(2)协议栈

实现了TCP/IP、802.1D和802.1Q等协议,为上层的应用程序提供良好的接口;

(3)应用层

主要包括路由模块和网管模块,路由模块实现了RIP和OSPF等协议,即实现第三层路由的主要功能;网管模块实现了SNMP和RMON等网管模块,使三层交换机具有部分网管功能,保证三层交换机更好地正常运转。

图4; 软件结构


;4.第三层交换机的应用

第三层交换机的主要用途是代替传统路由器作为网络的核心,因此,凡是没有广域连接需求,同时又需要路由器的地方,都可以用第三层交换机来代替。在企业网和校园网中,一般会将第三层交换机用在网络的核心层,用第三层交换机上的千兆端口或百兆端口连接不同的子网或VLAN。第三层交换机解决了局域网VLAN必须依靠路由器进行治理的局面,解决了传统路由器速度低、复杂所造成的网络瓶颈问题。利用三层交换机在局域网中划分VLAN,可以满足用户端多种灵活的逻辑组合,防止了广播风暴的产生,对不同 VLAN 之间可以根据需要设定不同的访问权限,以此增加网络的整体安全性,极大地提高网络治理员的工作效率,而且第三层交换机可以合理配置信息资源,降低网络配置成本,使得交换机之间连接变得灵活。

作者:阎大海1,徐塞虹1,张仕军21北京邮电大学计算机网络研究中心(100876)2北京万林克通信技术有限公司(100101) Email:yandahai1980@126.com

参考文献

[1](美)Metzler,J.DeNoia,L,第三层交换[M]。机械工业出版社 2000 。

[2]MPC8272PowerQUICCII(TM),Family Reference Manual[Z], Freescale SemicondUCtor,2004. [3]Advance data sheet BCM5645[Z], Broadcom company,2003.

TheResearchandDesign of The Layer 3 Switch

YanDahai1,XuSaihong1, Zhang Shijun21.

ComputerNetworkResearchCenter , BUPT Beijing (100876)

2.BeijingVanlinkCommunication & Technology Co. , Ltd (100101)

Abstract

Thelayer3switch has the advantages of both the layer 2 switching and the layer 3 routing and then becomes an important device in broadband high-speed network. At first, this paper introduces the layer 3 switch technology and the working principle of the layer 3 switch, and then introduces the design of a layer 3 switch,which is carried out according to this design, has been put into practical running. KeyWords:switch; route; layer 3 switch


网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
Greenfoot设置中文的方法

Greenfoot设置中文的方法

Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...

07-05

Egret UI Editor修改快捷键的方法

Egret UI Editor修改快捷键的方法

Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...

07-05

KittenCode新建项目的方法

KittenCode新建项目的方法

KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...

07-05

Thonny设置中文的方法

Thonny设置中文的方法

Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...

07-05

最新软件下载