掌握网络设备,畅游网络世界!

网络的搭建离不开网络设备,物理连接,以及设备之间的多种协议。其中在实现网络互通时,最常见的网络设备是路由器和交换机。
如今在各种级别的网络随处可见各种低、中、高端的路由器、交换机,种类繁多,这些不同种类的设备内部是如何工作、处理数据报文的呢?

网络设备

网络基础设施由交换机、路由器、防火墙等构成,这些设备日复一日地接收、发送数据,从一个接口收到的数据如何经过设备内部转发到另外一个接口?设备有哪些组件构成?这些组件如何协同工作?

框式设备

本案例以华为设备进行讲解演示,华为交换机可以分为框式和盒式两种类型,为方便理解网络设备内部的各个功能模块,以S12700E-8为例讲解典型网络设备的构架:
image.png

  • **主控板(MPU,Main Processing Unit):**负责整个系统的控制平面。
  • **交换网板(SFU,Switch Fabric Unit):**负责整个系统的数据平面。数据平面提供高速无阻塞数据通道,实现各个业务模块之间的业务交换功能。
  • **接口板(LPU,Line Processing Unit):**线路处理单元是物理设备上用于提供数据转发功能的模块,提供不同速率的光口、电口。
    :::info
    交换网板、接口板上都有自己的管理芯片,与主控板共同组成整个设备的控制管理平面。
    :::

主控板

image.png
它是提供整个系统的控制平面和管理平面。

  • 控制平面完成系统的协议处理、业务处理、路由运算、转发控制、业务调度、流量统计、系统安全等功能。
  • 管理平面完成系统的运行状态监控、环境监控、日志和告警信息处理、系统加载、系统升级等功能。

交换网板

image.png
它提供整个系统的数据平面。接口板、主控板之间通过交换网板完成通信。

接口板

image.png
它提供了不同类型(光口、电口),不同速率的接入接口,通过分布式数据平面对数据进行转发。

盒式设备

不同于框式设备,盒式设备的各个业务模块并不是独立的硬件模块,而是集成在一个框内。
image.png

网设备逻辑架构

模块连接逻辑图

image.png

  • 框式设备各个模块分为不同的单板,单板之间通过框式设备内部的连接进行通信。
  • 盒式设备内部集成了这些模块,各个模块之间同样也是通过内部连接进行通信。
  • 接口板和接口板之间通过交换网板连接了起来,接口板之间的通信统一经由交换网板进行转发

网络设备从逻辑上可以分为以下三个平面:数据平面、控制管理平面和监控平面
image.png

控制平面

设备的控制平面由主控板以及接口板的管理单元组成。
控制管理平面完成系统的控制管理功能,是整个系统的中枢神经系统。控制平面完成系统的协议处理、业务处理、路由运算、转发控制、业务调度、流量统计、系统安全等功能。交换机的控制平面用于控制和管理所有网络协议的运行。控制平面提供了数据平面数据处理转发前所必须的各种网络信息和转发查询表项。
image.png

转发(数据)平面

设备的转发平面由交换网板以及接口板组成。
LPU上存在FPE(转发引擎),其本质也是一个交换芯片,完成本接口板端口之间的交换。
数据平面完成数据报文的高速处理和内部无阻塞交换。包括报文的封装与解封装、IPv4/IPv6/MPLS转发处理、QoS与调度处理、内部高速交换以及各种统计。
image.png

监控平面

监控平面由主控板、接口板的监控单元构成,部分框式设备还会存在单独的集中监控板(CMU)
监控平面独立完成系统的环境监控,包括电压检测、系统上下电控制、温度监测与风扇控制等,以保证系统的安全稳定运行,在出现单元故障的情况下及时隔离故障,保障系统其它部分的正常运行。
image.png

报文的处理流程

以交换网板为中心,可将报文在设备的行程一分为二,前半程称为“上行”,下半程称为“下行”。
image.png

  • 设备处理报文分类:一种是业务报文、一种是协议报文。
  • 对于业务报文设备只会进行转发,从一个接口进入之后依据转发表项从另外一个接口发送出去。
  • 协议报文(如ARP、OSPF、BGP等协议的报文)设备在收到之后会交由控制层面进行处理,如ARP报文交由控制层面处理、判断之后决定是否回应,是否学习ARP报文中的源MAC、源IP。

业务报文转发处理流程

业务报文从接口进入上行接口板处理之后,通过框式交换机内部总线交由交换网板,交换网板交由下行接口板处理之后从接口发出去。
image.png

  • PFE(Packet Forwarding Engine):包转发引擎。
  • 业务报文:服务、应用在交互过程中涉及的报文。
  • 切片:把报文送往交换网板之前,进行切片处理,也就是把报文按一定粒度进行切片,切成固定长度。
  • 重组:将交换网板发送过来的已经切片的报文进行重新组合。

确定报文出口

当报文从接口板进入时,设备需要依据转发表项(IP路由表、MAC地址表等)确定报文的出接口(对于框式设备需要确定下行接口板)。
报文到达交换网板时已经明确了出接口、下行接口板,因此表项查询需要在上行接口板的处理过程中完成。
image.png
转发表项存放在主控板上,报文进入接口板之后,接口板从主控板处查询表项。
每次转发都需要与主控板进行通信,转发效率低,报文时延增加,对高速率接口板而言转发速率严重下跌。
image.png
转发表项存放在接口板上,报文进入接口板之后直接在接口板完成报文查询,报文转发效率高。
所有接口板上都要存储转发表项,控制平面资源占用率高。
image.png

转发信息

高端设备业务报文不经过主控板CPU处理,由接口板提供转发信息查询。
接口板上存在的转发信息并非存在于主控板上的转发表项(IP路由表、MAC地址表…)。主控板生成转发表项之后,生成对应的转发信息下发在接口板。
image.png

以IP路由表为例,路由表生成之后,主控板根据路由表生成FIB表项(Forwarding Information Base)并下发到接口板,接口板根据FIB表进行转发。

硬件转发

接口板执行转发的部件为包转发引擎PFE(Packet Forwarding Engine),通常为NP或者ASIC芯片,报文直接由接口板独立完成转发,无需主控板参与。
高端框式设备把转发层面和控制层面分配在不同的组件,控制层面组件(主控板)负责运行转发相关协议、维护转发表项,转发平面组件(接口板)依据控制层面下发的转发信息能够独立完成转发工作,互不影响,控制层面组件高负载时并不会影响转发平面的正常工作,这种工作机制被称为转控分离。
image.png

协议报文转发处理流程

设备收到的协议报文,如路由协议:OSPF、IS-IS、BGP报文,ARP报文,STP报文,对设备的ICMP请求报文等,需要交由设备的控制平面处理,即上送主控板由主控板的CPU进行处理。
image.png

  • 主控板CPU收到协议报文之后进行相应的处理之后如果需要回应报文,则主控板会构造协议报文进行回应,如收到发往自身的ARP Request、ICMP Echo Request报文,主控板处理之后构造ARP Reply、ICMP Echo Reply进行回应。
  • 主控板CPU处理能力有限,如果过多的协议报文上送主控板CPU处理,会造成其繁忙,无法及时对协议报文进行响应,为此设备默认限制了各种类型的协议报文上送主控板CPU的速率。

自身发送协议报文处理流程

设备自身发送的协议报文,如路由协议报文: OSPF、IS-IS、BGP报文,ARP报文,STP报文,ICMP报文等,由主控板CPU构造之后交由接口板对外发送。
image.png

总结

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UGUI基础游戏对象Canvas

一.画布Canvas对象概述 画布是一种带有画布组件的游戏对象,所有 UI 元素都必须是此类画布的子项。 创建新的 UI 元素(如使用菜单 GameObject > UI > Image 创建图像)时,如果场景中还没有画布,则会自动创建画布。…

uniapp开发小程序-有分类和列表时,进入页面默认选中第一个分类

一、效果: 如下图所示,进入该页面后,默认选中第一个分类,以及第一个分类下的列表数据。 二、代码实现: 关键代码: 进入页面时,默认调用分类的接口,在分类接口里做判断&#xff…

Redis 缓存过期及删除

一、Redis缓存过期策略 物理内存达到上限后,像磁盘空间申请虚拟内存(硬盘与内存的swap),甚至崩溃。 内存与硬盘交换 (swap) 虚拟内存,频繁I0 性能急剧下降,会造成redis内存急剧下降; 一般设置物理内存的3/4,在redis…

【双指针_有效三角形的个数_C++】

题目解析 有效三角形的个数 判断三角形:任意两边之和大于第三边 需要重复计算: 知识点 1、需要判断三次: 2、只需要判断一次 已经知道这三个数的大小(先进行排序) 只需要判断 较小的两个数之和 是否 大于最大的…

考研408 | 【计算机网络】 传输层

导图 传输层的功能 传输层的两个协议 传输层的寻址与端口 UDP协议 UDP的主要特点 UDP首部格式: UDP校验: TCP协议 TCP协议的特点 TCP报文段首部格式 TCP连接管理 TCP的连接建立 SYN洪泛攻击 TCP的连接释放 TCP可靠传输 序号: 确认&#xff1…

支持M1 Syncovery for mac 文件备份同步工具

Syncovery for Mac 是一款功能强大、易于使用的文件备份和同步软件,适用于需要备份和同步数据的个人用户和企业用户。Syncovery 提供了一个直观的用户界面,使用户可以轻松设置备份和同步任务。用户可以选择备份的文件类型、备份目录、备份频率等&#xf…

ArcGIS Pro暨基础入门、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合、案例应用

GIS是利用电子计算机及其外部设备,采集、存储、分析和描述整个或部分地球表面与空间信息系统。简单地讲,它是在一定的地域内,将地理空间信息和 一些与该地域地理信息相关的属性信息结合起来,达到对地理和属性信息的综合管理。GIS的…

大数据大屏的分析

今天又进行了大屏的训练,就是很多的报表头是最难的,因为确定了头,就确定了大屏的风格了。 今天的还是有点丑但是也是学习了。报班报班~~~~

抖音小程序开发,收银台支付回调通知

大家好,我是小悟 关于抖音小程序收银台支付,可阅读【抖音小程序开发,唤起收银台,包括抖音支付、支付宝支付、微信支付】。 做支付功能最重要的一步就是异步回调通知,所谓回调通知就是唤起收银台支付,支付…

C++:模拟实现list及迭代器类模板优化方法

文章目录 迭代器模拟实现 本篇模拟实现简单的list和一些其他注意的点 迭代器 如下所示是利用拷贝构造将一个链表中的数据挪动到另外一个链表中&#xff0c;构造两个相同的链表 list(const list<T>& lt) {emptyinit();for (auto e : lt){push_back(e);} }void test_…

CSS练习

CSS练习 工具代码运行结果 工具 HBuilder X 代码 <!DOCTYPE html> <!-- 做一个表格&#xff0c;6行4列实现隔行换色&#xff08;背景色&#xff09;并且第3列文字红色第一个单元格文字大小30px。最后一个单元格文字加粗--> <html><head><meta ch…

android app控制ros机器人五(百度地图)

半吊子改安卓&#xff0c;新增了标签页&#xff0c;此标签页需要显示百度地图 按照官方教程注册信息&#xff0c;得到访问应用AK&#xff0c;步骤也可以参照下面csdn Android地图SDK | 百度地图API SDK 【Android】实现百度地图显示_宾有为的博客-CSDN博客 本人使用的是aar开…

【深度学习】NLP中的对抗训练

在NLP中&#xff0c;对抗训练往往都是针对嵌入层&#xff08;包括词嵌入&#xff0c;位置嵌入&#xff0c;segment嵌入等等&#xff09;开展的&#xff0c;思想很简单&#xff0c;即针对嵌入层添加干扰&#xff0c;从而提高模型的鲁棒性和泛化能力&#xff0c;下面结合具体代码…

基于Spring Boot的高校在线考试系统的设计与实现(Java+spring boot+VUE+MySQL)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于Spring Boot的高校在线考试系统的设计与实现&#xff08;Javaspring bootVUEMySQL&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java s…

vue或uniapp使用pdf.js预览

一、先下载稳定版的pdf.js&#xff0c;可以去官网下载 官网下载地址 或 pdf.js包下载(已配置好&#xff0c;无需修改) 二、下载好的pdf.js文件放在public下静态文件里&#xff0c; uniapp是放在 static下静态文件里 三、使用方式 1. vue项目 注意路径 :src"static/pd…

Windows CMD 关闭,启动程序

Windows CMD 关闭&#xff0c;启动程序 1. Windows 通过 CMD 命令行关闭程序 示例&#xff1a;通过 taskkill 命令关闭 QQ 管家&#xff0c;但是这里有个问题&#xff0c;使用命令行关闭 QQ 管家时&#xff0c;会提示“错误: 无法终止 PID 1400 (属于 PID 22116 子进程)的进程…

wps设置一键标题字体和大小

参考 wps设置一键标题字体和大小&#xff1a;https://www.kafan.cn/A/7v5le1op3g.html 统一一键设置

echarts-convert.js使用

echarts-convert.js demo 点击下载 1、本地安装phantom.js插件 点击下载 2、更改文件路径 &#xff08;D:\phantomjs-2.1.1-windows\bin&#xff09;改为本地项目文件路径 3、打开cmd命令行&#xff0c;并格式化语言 运行以下命令 将命令行语言改为中文简体 chcp 65001…

【Rust】Rust学习 第九章错误处理

Rust 将错误组合成两个主要类别&#xff1a;可恢复错误&#xff08;recoverable&#xff09;和 不可恢复错误&#xff08;unrecoverable&#xff09;。可恢复错误通常代表向用户报告错误和重试操作是合理的情况&#xff0c;比如未找到文件。不可恢复错误通常是 bug 的同义词&am…

使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装

使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装 受限于每篇文章最多只能贴9张图的限制&#xff0c;这个教程被拆分成了多篇文章连载发布&#xff0c;完整目录结构如下图x所示。后续会发布完整教程的pdf文件&#xff0c;敬请期待。 图x 完整教程文档…