热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

三层交换机的原理和设计

三层交换机的原理和设计1.引言传统路由器在网络中起到隔离网络、隔离广播、路由转发以及防火墙的作业,并且随着网络的不断发展,路由器的负荷也在迅速增长。其中一个重要原因是出于安全和管理方便等方

三层交换机的原理和设计

 

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.一款第三层交换机的设计 

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

3.1 总体设计 

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

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

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

3.2 硬件结构

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

                  图1 硬件结构


(1)处理器模块

    如图2所示,处理器部采用一款MOTOROLAPowerQUICC II CPU,同一些外部存储设备以及一些外围电路构成三层交换机的处理器部分。处理器模块主要是运行嵌入式操作系统,配置系统和路由表的维持,而不是数据转发通路的组成部分。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 软件结构

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

   

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

(1)驱动层

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

(2)协议栈

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

(3)应用层

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

             

                       图4 软件结构


4.第三层交换机的应用

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

 

 


推荐阅读
  • 访问一个网页的全过程
    准备:DHCPUDPIP和以太网启动主机,用一根以太网电缆连接到学校的以太网交换机,交换机又与学校的路由器相连.学校的这台路由器与一个ISP链接,此ISP(Intern ... [详细]
  • 本文详细探讨了虚拟化的基本概念,包括服务器虚拟化、网络虚拟化及其在云计算环境中的应用。特别强调了SDN技术在网络虚拟化和云计算中的关键作用,以及网络虚拟化技术如何提升资源利用效率和管理灵活性。 ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • 本文深入探讨了MAC地址与IP地址绑定策略在网络安全中的应用及其潜在风险,同时提供了针对该策略的破解方法和相应的防御措施。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • Java多重继承的替代方案及设计考量
    本文探讨了Java为何不支持多重继承,并深入分析了其背后的原理和替代方案。通过理解Java的设计哲学,开发者可以更好地利用接口和其他特性来实现复杂的类结构。 ... [详细]
  • 本文探讨了局端设备与终端设备的基本概念及其在网络架构中的作用,详细分析了两者的工作原理、分类及应用场景。 ... [详细]
  • 深入理解Docker网络管理
    本文介绍了Docker网络管理的基本概念,包括为什么需要Docker网络管理以及Docker提供的多种网络驱动模式。同时,文章还详细解释了Docker网络相关的命令操作,帮助读者更好地理解和使用Docker网络功能。 ... [详细]
author-avatar
幽咽小香
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有