浅谈路由器软硬件架构

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

路由器硬件架构

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

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

目前高端路由器大多采用专门的多核网络处理器作为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等嵌入式操作系统,作为控制面。相比较而言,控制面的报文转发能力就很差了,但由于有操作系统和协议栈的支持,控制面可以跑更复杂、更定制化的业务,根据客户需求灵活的设计业务模式。

时间: 2025-01-07 06:32:51

浅谈路由器软硬件架构的相关文章

【架构】浅谈web网站架构演变过程

浅谈web网站架构演变过程 前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变. 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理 阶段一.单机构建网站 网站的初期,我们经常会在单机上跑我们所有的程序和软件.此时我们使用一个容器,如tomcat.jetty.jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate.maven+spri

iOS开发>学无止境 - 浅谈MVVM的架构设计与团队协作

李刚按:本文是青玉伏案写的一篇文章.相信大家对MVC耳熟能详,MVVM可能听说的相对少一些,这一篇文章将会想你阐述MVVM设计,还有团队协作的经验分享.如果你也觉得不错,就分享一下吧! demo:https://github.com/lizelu/MVVM 今天写这篇文章是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇文章的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦~). 由 于本人项目经验有限,关于架构设

iOS开发之浅谈MVVM的架构设计与团队协作

今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦~). 由于本人项目经验有限,关于架构设计方面的东西理解有限,我个人对MVVM的理解主要是借鉴于之前的用过的MVC的Web框架~在学校的时候用过ThinkPHP框架,和SSH框架,都是MVC的架构模式,今天MVVM与传统的MVC可谓是极为相似,也可以说是兄弟关系,也就是一家人了. 说道架构设计和团队

浅谈高并发架构

本篇文章主要是浅谈一些高并发的方案,指出一个大致方向,如果有需要优化提高系统性能,可以从以下方法中找出合适的使用. 随着淘宝.京东.唯品会等很多电商的出现,所谓互联网公司也就经常听到了,这些互联网公司给我们的第一印象,用户活跃交易量大.为了给用户一个好的交互体验,我们需要根据具体的业务场景来设计适合自己的高并发处理方案.服务器的架构我们在网上也看到过很多文档描述,像美团的火热.饿了么的崛起都有提到服务器的架构演变,基本都是从相对单一到集群,再到分布式服务.从一开始交易量小知名度低软件开发工期紧张

浅谈微服务架构与服务治理的Eureka和Dubbo

前言 本来计划周五+周末三天自驾游,谁知人算不如天算,周六恰逢台风来袭,湖州附近的景点全部关停,不得已只能周五玩完之后,于周六踩着台风的边缘逃回上海.周末过得如此艰难,这次就聊点务虚的话题,一是浅谈微服务的架构设计,二是聊聊微服务中广泛用于服务治理的Eureka与RPC框架Dubbo异同点. 一.微服务的架构设计 之所以想聊一下这个话题,主要有感于最近接触的两个新的微服务项目--两个项目的架构设计出自两个人之手,却不约而同的使用了相同的设计理念,项目结构非常类似.又想到就职于上家公司时接触到的项

浅谈数据中心架构演变

谈到数据中心的架构和建设,我们不难想到最初的三层架构,即完全硬件化的架构. 显而易见,这种方式的特点如下: ①  设备独立--单个设备承载单个功能 ②  管理割裂--单个设备单独管理 ③  厂商异构--服务器.网络.安全等设备由不同厂商提供 缺点也很明显: ①  硬件资源利用率极低,硬件投资成本大,资源浪费明显 ②  业务上线周期长:从市场调研,到预算规划,到硬件采购,到部署上线,周期在1个月到半年不等 ③  管理维护难,排障难,扩容难. ④  无冗余性.无高可用,故障恢复周期长. 为了解决这些

浅谈web网站架构演变过程

前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变. 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理 阶段一.单机构建网站 网站的初期,我们经常会在单机上跑我们所有的程序和软件.此时我们使用一个容器,如tomcat.jetty.jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate.maven+spring+springmvc+m

浅谈大型网站架构技术进化

短短几十年国内互联网发生了翻天覆地的变化,特别是国家支持互联网发展,提出了“互联网+”行动计划,国内各行各业的互联网更是日新月异.作为一个九零后小白没有亲身经历互联网的演变历程,如今看的像淘宝.京东.腾讯这样的大型网站充满了无数的好奇心,这些网站是怎么运作的,如何处理大量用户的请求,如何解决海量的数据库处理···于是才有对于大型网站架构核心原理以及实例分析一系列的笔记记录.所有笔记记录参考<大型网站技术架构核心原理以及案例分析>,该系列文章没有太多的代码展示,着重是对理论知识的描述. 互联网无

浅谈企业网络架构设计

本人工作已有10年有余,工作换了无数,从计算机的售后支持到系统集成项目经理,其间还做过几年网络技术老师.后来厌倦了上课(主要是太理论化了),转投到企业作IDC运维. 不管是在甲方还是在乙方,我们都是和网络打交道.在乙方时,每个项目,几乎都牵涉到网络架构设计.有的比较简单,有的也很复杂.但大多数情况下,都是采用老一套的方法,满足用户基本需求就ok了.很少真正深入用户企业,去探究企业实际需求和现实状况.大多都是按照自己对企业的理解,认为这样比较合理,又是站在甲方的立场,这样可以多赚点钱,或者这个设备