• 浅谈路由器软硬件架构


    我们可以把路由器比作网络世界的骨架,我们之所以能够在网络世界里畅游,很大程度上是得益于这个铁盒子。

    路由器硬件架构

           随着专用多核网络处理器、专用转发芯片的出现,使得现代路由器摆脱了以往纯软件转发的局限,向着高吞吐率、硬件快速转发等方向发展。高端的路由器设计成多板分布式+冗余备份的架构,使转发能力成倍的增强,同时还大大提高了业务的稳定性。

           下图是一幅典型的路由器硬件架构图:

            目前高端路由器大多采用专门的多核网络处理器作为CPU,如Cavium公司研发的Octeon系列处理器,主流的6000系列16~32个核,即将上市的7000系列多达64个核,并行处理能力大大加强。并且这类专用网络处理器在硬件上都对网络报文的解析、保序、转发等方面提供了专门的协处理器进行支持,优化并提高了系统的转发能力,也为软件研发者省去了不少麻烦。

            Broadcom、Marvell等公司提供专门的转发芯片,通过VLAN、硬件路由等功能,在硬件上直接支持了对报文的二三层的线速转发,并且多片交换芯片之间可连接,最终形成一个大的交换矩阵网络。

           CPU和交换芯片之间的数据通道可由10G高速接口相连,实现海量数据的传输;管理通道通过PCIe总线相连,传输控制信号。

           64位的CPU有着广阔的寻址空间,可以支持很大的DRAM内存。

    CF卡或SD卡用来存储系统程序,可以很方便的对系统程序进行升级。

           BOOT ROM存储着系统加载程序,系统上电时首先从BOOT ROM开始运行,由BOOT ROM来负责加载整个操作系统。

           CPLD中存储着系统的版本信息,由BOOT ROM来负责读取版本参数,并通知给系统。

           作为分布式系统的话,各个单板之间通过背板接口传输数据和管理信息。

    路由器软件架构

            路由器是一个典型的嵌入式系统,我们只讨论与网络相关的部分:

            由于使用多核处理器,软件的设计架构可以非常灵活,我们一般在CPU层面就把业务划分开,拿出几个核跑特定的核心业务(无操作系统),这样可以大大加快核心业务的处理能力。其它的核一般跑Linux、VxWorks等嵌入式操作系统,作为控制面。相比较而言,控制面的报文转发能力就很差了,但由于有操作系统和协议栈的支持,控制面可以跑更复杂、更定制化的业务,根据客户需求灵活的设计业务模式。

  • 相关阅读:
    基于Dubbo框架构建分布式服务(一)
    大型网站架构系列:消息队列
    Redis Cluster 分区实现原理
    Redis五种数据结构简介
    Java中创建对象的5种方式
    Netty 系列之 Netty 高性能之道
    Java 抽象类与接口
    谈iOS抓包:Mac下好用的HTTP/HTTPS抓包工具Charles
    Web系统大规模并发——电商秒杀与抢购
    [转]MS SQL Server 数据库连接字符串详解
  • 原文地址:https://www.cnblogs.com/tian-jiang-ming/p/7518202.html
Copyright © 2020-2023  润新知