浅谈路由器交换结构

一、路由器技术概述

        路由器(Router)是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的TCP/IP协议。

        其功能主要可以划分成两点:路由和转发。        

        路由指的是分组从源端到目的端的过程中,确定端到端路径的过程;转发指的是路由器输⼊端的数据包移送⾄适当的路由器输出端的过程(在路由器内部进⾏)。

        其中路由部分由cpu和内存完成,属于控制平面;转发的部分由硬件处理芯片(交换结构)完成,属于数据平面。

二、交换结构

        交换结构是路由器的核心组件。作用是根据FID表(转发表)对分组进行处理将某个输入端口进入的分组从个合适的输出端转发出去。交换结构本身就是络(一种NoC,片上网络),但这种络完全包含在路由器中,因此交换结构可看成是”在路由器中的网络”。

        至今路由器的发展已经演化出了三种交换方式,分别是:

  • 通过存储器进行交互
  • 通过总线进行交换
  • 通过内部交换网络进行交换 表示分组通过纵横交换结构进行交换

2.1 通过存储器进行交换

       这种方式主要的工作原理是CPU负责运行预设的路由协议,同时读取线路卡(Linecard)中的数据,处理后通过写入新线路卡(Linecard)的方式完成转发。

        这种方式常见于第一代路由器,这一类的路由器具有共享总线背板,采用集中式的共享CPU和缓存的方式,完成数据包的转发判决(软件)。其主要的功能都是通过软件进行实现,结构简单。其特点是能够集中处理,但是吞吐率受限,原因在于CPU既要运行路由协议,又负责数据包的处理和转发,存在严重的处理瓶颈。

2.2 通过总线进行交换

        通过总线进行交换与之前提到的通过内存进行交换最大的区别在于,这种方式把CPU的权限和功能下放到了各个Linecard之中。以此技术为代表的有第二代路由器和第三代路由器。

        其中第二代路由器把转发表从路由器的处理器下发至接口线卡缓存,一次查表多次路由,接种类多,配置灵活。该体系结构的路由器主要是数据在第次到达时生成转发表,然后将转发表从路由处理器下发到接线卡缓存,次查表多次路由,这样的方式在定程度上释放了路由处理器(CPU)使得其有限次参与路由的转发,但是在路由状况不断变化的环境中,IP路由表的改变会使得转发无效,线卡缓存需要不断从路由处理器中同步转发表,性能优势会受到很限制(对总线的性能要求较高)。这样的发展方式就类似于计算机在演进过程中,缓存cache的诞生,通过把一部分需要频繁使用的数据进行单独缓存,可以有效提高系统的工作效率。

        第三代路由器通过提高Linecard的处理能力,同时将路由计算的处理器从路由转发中解放出来 ,把处理的任务下发到各个Linecard上。这种主板和从板的分布式结构大大提高了系统的整体性能,使得第二代路由器每块线卡(从板)是拥有自己的处理器、内存和如果网卡的独立子系统,在本地线卡进行存储和转发判断,主板基本上不参与路由转发操作,主要负责整个系统的管理操作和路由计算等任务,并把用于转发判决的转发表发布到各个从板上,共享总线的容量直接限制了路由器的吞吐率,成为系统无法避免的瓶颈。

2.3 通过内部交换网络进行交换 表示分组通过纵横交换结构进行交换

        不同于前两种交换方式,这种方式采用了不再采用共享背板的方式,而是采用了交换式背板,采用分散的CPU和缓存,使用ASIC+RISC的CPU系统。这样的交换机我们称之为交换式路由器,第四代路由器、第五代路由器和第六代路由器都是采用的这种交换结构。

        第四代路由器引入了交换网。它的引解决了总线的瓶颈,实现阻塞交换。但是对QOS、MPLS VPN、组播、IPv6支持弱。 该体系结构路由器引了交换结构代替原有的共享总线,交换结构可以提供比共享总线得多的带宽,线卡上般不再采处理器,而是采ASIC实现的专转发引擎或者是针对络处理进行了优化的网络处理器,以提高对报文的处理和转发能力。中央处理器负责完成路由协议和其它控制协议的处理,并根据路由表成转发引擎所需要的转发表,将转发表同步到各个线卡上。路由器的整体性能主要由线卡对报文的转发处理能力,以及交换结构的交换容量决定。

        第五代路由器出来之前:路由器都是专用路由器。第五代路由器有了np芯片(有可编程性),可以对很多的业务进行处理加速(全业务加速)。

        第六代路由器采用三级交换结构、严格意义上的无阻塞结构。第二级通常是单独的中央交换框,F1、F2、F3之间采用光纤互连(光背板) 。随着分组搜索系统的日趋复杂,设计师需要采用各种各样的解决方案以满足千差万别的搜索要求。策略查表法(例如存取控制表(ACL)和服务质量(QoS))需要高性能以及超群的搜索灵活性和易用性——而所有这些都需要采用TCAM。另一方面,转发查表(包括虚拟路由器转发(VRF)和虚拟专用网络(VPN))也可以使用TCAM技术进行加速。

        随着网络速度的剧增,传统的解决方案已经无法满足速度要求,这时就需要一个专门的硬件来解决这个矛盾,该硬件通常称为NSE(网络搜索引擎),TCAM其实就是一种基于CAM技术的NSE多级交换结构是由多个交换单元互联起来的,每个交换单元具有一整套输入输出,与普通交换机类似,提供输入输出的连接。通过互联多个小的交换单元,就可以制造一个大型的、可扩展的交换结构。多级结构之间的不同取决于交换单元之间是如何互联的。典型的结构包括Benes网、Butterfly网、Clos网等形式。

          ​​​​​

三、总结

        在最初的交换结构中,我们采用存储器实现交换结构,这样的方式特点是能够集中处理,但是吞吐率受限,原因在于CPU既要运行路由协议,又负责数据包的处理和转发,存在严重的处理瓶颈;为了进一步提高处理速度,我们把CPU的功能逐渐下放,让linecard有了更高的处理能力,由此诞生了第二第三代路由器;但是对于linecard来说,它并不必要完成路由的计算功能,我们希望的是更快的处理和转发速度,因此将linecard中通用的CPU优化成专用属性更强的ASIC,进一步优化交换网络结构,这才有了第四第五第六代路由器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/255774.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python算法题集_随机链表的复制

Python算法题集_随机链表的复制 题138:随机链表的复制1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【双层循环】2) 改进版一【字典哈希】3) 改进版二【单层哈希】4) 改进版三【递归大法】 4. 最优算法 本文为Python算法题集之一的…

【深度学习】pytorch 与 PyG 安装(pip安装)

【深度学习】pytorch 与 PyG 安装(pip安装) 一、PyTorch安装和配置(一)、安装 CUDA(二)、安装torch、torchvision、torchaudio三个组件(1)下载镜像文件(2)创建…

C++入门(上)

文章目录 1:什么是C2.C的发展史3:C关键字(C98)4:命名空间4.1:命名空间的概念4.2:命名空间的定义4.3:命名空间的使用4.3.1加命名空间的名称以及域作用限定符4.3.2:使用using将命名空间中某个成员引入4.3.3:使用using namespace 命名空间名称展开命名空间代码1代码2 5:C输入与输出…

第72讲后台管理Container布局实现

新建layout目录 登录成功后&#xff0c;跳转layout布局容器页面 login页面&#xff1a; 导入router import router from "/router";登录成功&#xff0c;跳转后台管理页面 选用布局容器&#xff1a; <template><div class"common-layout">…

【Java EE】----Spring框架创建和使用

1.Spring框架创建 创建一个maven项目 添加Spring框架支持 <dependencies> 上下文<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.3.RELEASE</version></depende…

基于Seaborn和Matplotlib的可视化案例分析

处理数据有时会有点无聊。将原始数据转换为可理解的格式是整个过程中最重要的部分之一&#xff0c;那么为什么只停留在数字上&#xff0c;当我们可以将数据可视化为令人兴奋的图表时&#xff0c;这些图表可以在python中获取。这篇文章将重点探索耐人寻味的预处理之旅。 Seabor…

Python进阶----在线翻译器(Python3的百度翻译爬虫)

目录 一、此处需要安装第三方库requests: 二、抓包分析及编写Python代码 1、打开百度翻译的官网进行抓包分析。 2、编写请求模块 3、输出我们想要的消息 三、所有代码如下&#xff1a; 一、此处需要安装第三方库requests: 在Pycharm平台终端或者命令提示符窗口中输入以下代…

npm修改镜像源

背景&#xff1a;切换npm镜像源是经常遇到的事&#xff0c;下面记录下具体操作命令 1. 打开终端运行"npm config get registry"命令来查看当前配置的镜像源 npm config get registry2. 修改成淘宝镜像源"https://registry.npmjs.org/" npm config set re…

腾讯云4核8G12M轻量应用服务器性能够用吗?支持多少人?

腾讯云轻量4核8G12M轻量应用服务器支持多少人同时在线&#xff1f;通用型-4核8G-180G-2000G&#xff0c;2000GB月流量&#xff0c;系统盘为180GB SSD盘&#xff0c;12M公网带宽&#xff0c;下载速度峰值为1536KB/s&#xff0c;即1.5M/秒&#xff0c;假设网站内页平均大小为60KB…

C++重新入门-C++变量作用域

目录 1.C变量定义 2.C作用域 3.局部变量 4.全局变量 5.块作用域变量 6.初始化局部变量和全局变量 1.C变量定义 一般来说有三个地方可以定义变量&#xff1a; 在函数或一个代码块内部声明的变量&#xff0c;称为局部变量。 在函数参数的定义中声明的变量&#xff0c;称为…

nodejs爬虫框架

nodejs爬虫框架 在Node.js中&#xff0c;有一些常用的爬虫框架可以帮助你实现网页抓取和数据提取的任务。以下是几个流行的Node.js爬虫框架&#xff1a; 1. **Puppeteer**: Puppeteer 是由 Google 开发的一个用于控制 headless Chrome 或 Chromium 浏览器的 Node.js 库。它提供…

浅谈人工智能之深度学习~

目录 前言&#xff1a;深度学习的进展 一&#xff1a;深度学习的基本原理和算法 二&#xff1a;深度学习的应用实例 三&#xff1a;深度学习的挑战和未来发展方向 四&#xff1a;深度学习与机器学习的关系 五&#xff1a;深度学习与人类的智能交互 悟已往之不谏&#xff0…

LeetCode周赛384 题解

AK 第 384 场周赛 - 力扣&#xff08;LeetCode&#xff09; 前两题都是签到, 略。 第三题: 回文字符串的最大数量 1、题意: 给定一个字符串数组&#xff0c;总字符数量不超过1e6, 可以交换其中的任意两个字符&#xff0c;问能构造最多几个回文字符串。 2、题解: 首先我…

uniapp /微信小程序 使用map组件实现手绘地图方案

获取地图范围 点图拾取坐标-地图开放平台|腾讯位置服务 获取需要手绘地图左下角和右上角GPS坐标 以北京故宫为例&#xff1a; 截取需要手绘地图进行手绘地图制作 ​​​​​​​​​​​​​​ 素材处理 由于地图素材文件比较大&#xff0c;小程序又限制包大小<2M,无…

Spring Native 解放 JVM

一、Spring Native 是什么 Spring Native可以通过GraalVM将Spring应用程序编译成原生镜像&#xff0c;提供了一种新的方式来部署Spring应用。与Java虚拟机相比&#xff0c;原生镜像可以在许多场景下降低工作负载&#xff0c;包括微服务&#xff0c;函数式服务&#xff0c;非常…

(已解决)将overleaf上的文章paper上传到arxiv上遇到的问题。

文章目录 前言初级问题后续问题 前言 首先说一点&#xff0c;将paper的pdf文件直接上传arxiv是不行的&#xff0c;arxiv要求我们要上传源文件&#xff0c;所以才这么麻烦。 初级问题 首先上传文件之后有可能会在下面这个界面出现问题&#xff0c;这里一般都比较常见的问题&a…

重温阿里云宝塔面板部署前后端项目

首先祝大家新年快乐啊&#xff01; 回到老家&#xff0c;便打算趁这一段空闲时间提升一下自己&#xff0c;重点是学习实践一下echarts相关内容&#xff0c;很多公司项目都需要实现可视化&#xff0c;所以在bilibili上找了黑马的一个教程开始学习&#xff0c;不同的是&#xff…

【JAVA WEB】 百度热榜实现 新闻页面 Chrome 调试工具

目录 百度热榜 新闻页面 Chrome 调试工具 --查看css属性 打开调试工具的方式 标签页含义 百度热榜 实现效果&#xff1a; 实现代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"vi…

《CSS 简易速速上手小册》第4章:视觉美学(2024 最新版)

文章目录 4.1 颜色理论在 CSS 设计中的应用&#xff1a;网页的调色盘4.1.1 基础知识4.1.2 重点案例&#xff1a;创建一个具有情感设计的登录页面4.1.3 拓展案例 1&#xff1a;使用颜色增强信息的可视化表示4.1.4 拓展案例 2&#xff1a;利用颜色创建网站的品牌身份 4.2 字体与文…

生成式人工智能攻击的一年:2024

趋势科技最近公布了其关于预期最危险威胁的年度研究数据。生成人工智能的广泛可用性和质量将是网络钓鱼攻击和策略发生巨大变化的主要原因。 趋势科技宣布推出“关键可扩展性”&#xff0c;这是著名年度研究的新版本&#xff0c;该研究分析了安全形势并提出了全年将肆虐的网络…