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

news2024/11/22 15:19:52

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

网络设备

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

框式设备

本案例以华为设备进行讲解演示,华为交换机可以分为框式和盒式两种类型,为方便理解网络设备内部的各个功能模块,以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

总结

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot3集成Redis

标签:Redis.Mybatis.Lock; 一、简介 缓存在项目开发中,基本上是必选组件之一,Redis作为一个key-value存储系统,具备极高的数据读写效率,并且支持的数据类型比较丰富,在业务场景中的应用非常广泛…

【图像分类】理论篇 (4)图像增强opencv实现

随机旋转 随机旋转是一种图像增强技术,它通过将图像以随机角度进行旋转来增加数据的多样性,从而帮助改善模型的鲁棒性和泛化能力。这在训练深度学习模型时尤其有用,可以使模型更好地适应各种角度的输入。 原图像: 旋转后的图像&…

海外应用ASO优化的小技巧1

根据数据显示,用户需要7秒的时间来决定是否下载应用程序,所以应用的外观是用户决策的一个关键方面。 1、了解用户 63%的应用是通过应用商店搜索找到的,这是查找新应用最常见的方法。然而它也表明个人正在寻找特定的程序。了解用户想要做什么…

Qt 加载 libjpeg 库出现“长跳转已经运行”错误

在我以为升级到 Qt5.15.9 后,运行没有什么问题时,问题就来了 在加载 jpeg 格式的图片时,出现了“长跳转已经运行”的错误 这个错误一般是由 setjmp/longjmp 函数触发的,出现的可能的原因有以下几种(听听 chatgpt 的回…

存款多少可以不用上班?这组数据告诉你

手有余粮,心中不慌,兜里有钱才能大胆走四方。 最近,与“存款”相关的词条频繁登上热搜榜,比如#普通人存1万块需要多久#、 #你用多久攒到人生第一个10万元#、#月薪5000两年存了8万#、#超7成年轻人存款不足10万#等词条。 △ 截图来…

MySQL 45讲笔记(1-10讲)

1. SQL语句如何开始执行? MySQL分为Server和存储引擎两部分: Server层包含连接器、存储缓存、分析器、执行器等,以及所有的内置函数(事件、日期)等等,还有视图、触发器。 存储引擎是负责数据的存储和提取&a…

C语言暑假刷题冲刺篇——day1

目录 一、选择题 二、编程题 🎈个人主页:库库的里昂 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:C语言每日一练 ✨其他专栏:代码小游戏C语言初阶🤝希望作者的文章能对你…

airflow的安装

文章目录 前言一、Airflow基本概念1.概念2. 名词 二、Airflow安装1.Airflow官网2.安装python环境3. 安装anaconda34. 创建airflow虚拟环境5. 安装Airflow1. 更改pip源2. 安装airflow3. 初始化airflow4. 查看版本5. 查看airflow安装的路径6.创建账号7. 启动airflow调度8. 启动ai…

解决hbase节点已下线,但在status中显示为dead问题

工作中需要下线4台hbase小节点,下线完成后使用status 命令查看,有一台为dead状态: 使用status detailed 查看,发现“hd-03"这台节点是dead。 检查各节点配置文件无误,并使用 /opt/hbase/bin/hbase-daemon.sh restart master 重启两个…

改良版自编小程序上线啦---助力孟德尔随机化(Mendelian Randomization)数据挖掘

孟德尔随机化步骤相对简单固定,一共就是3步,但是如果我们一个一个的对研究变量和结果数据进行筛选,也是挺费时间的,在上篇文章《自编R语言小程序助力孟德尔随机化(Mendelian Randomization)数据挖掘》中,咱们自编了一个…

【ppt密码】忘记了PPT的密码,怎么办?

PPT文件设置了保护密码,但是密码忘记了,无法打开PPT文件、无法编辑PPT文件了该怎么办?PPT文件的两种保护密码该如何解密? 首先是打开密码 网上有一种解决方法: 1、重新命名PPT文件,将其后缀改为zip格式&…

字节跳动在PGO反馈优化技术上的探索与实践

背景 随着字节跳动的业务迅速增长,微服务的性能优化工作显得尤为重要,对于头部应用来说,提升若干百分点的性能也能为公司节省巨大的服务器资源成本。 编译器优化是软件性能优化的一种常用方法,相比其它特定的性能优化方法&#…

从零开始 Spring Cloud 11:Elasticsearch II

从零开始 Spring Cloud 11:Elasticsearch II 图源:laiketui.com 在上篇文章中我们学习了 es 的基本功能,在本篇文章中会学习 es 的一些高级功能,比如: 聚合查询自动补全集群部署 数据聚合 类型 **聚合&#xff08…

toB 业务分析

1、 如何透彻分析B端客户的需求? - 知乎我在讲《如何分析客户需求》这门课时,经常会问学员:“开发客户的最大困难是什么?”有人说价格高不好卖,有人说客户需求不好把握,有人说客户地处偏远,素养…

部署WMS仓储管理系统前要知道哪些关键点

随着物流行业的快速发展,WMS仓储管理系统解决方案已成为企业仓储管理的重要工具。然而,在部署WMS仓储管理系统之前,企业需要了解一些关键点,以确保系统的成功实施和高效运行。本文将介绍部署WMS前需要知道的关键点。 1、明确目标与…

一个小时入门 EJB

前置知识 在开始学习Java EE的Enterprise JavaBeans (EJB)之前,以下是一些你可能需要提前了解的技术和概念: Java基础:熟悉Java的基础知识,包括面向对象的概念(例如类、接口、继承和多态等)、基本的数据结…

【从零学习python 】27. Python 函数的使用及嵌套调用

文章目录 函数的文档说明1. 基本使用2. 高级使用 函数应用:打印图形和数学计算目标思考&实现1参考代码1 思考&实现2参考代码2 函数的嵌套调用进阶案例 函数的文档说明 1. 基本使用 def test(a, b):"用来完成对2个数求和" # 函数第一行写一个字…

产品需求管理软件:了解常见选择和功能

产品需求管理软件是一种非常重要的工具。它可以帮助企业更好地理解客户需求,提高产品开发效率并降低成本。本文将介绍一些常见的产品需求管理软件及其主要功能。 “产品需求管理软件有哪些?比较流行的有Zoho Projects、Trello、Asana、Smartsheet等。” …

「并发编程 」

一、 为什么会有线程安全问题 1)程序和CPU间的协作关系 CPU组成 寄存器 存储了从内存加载的数据(从内存中将数据加载到 L1,L2,L3 缓存,再到寄存器) ;寄存器的运行速度比内存快好多个级别&…

哈工大开源“活字”对话大模型

一、介绍 大规模语言模型(LLM)在自然语言处理的通用领域已取得了令人瞩目的成功。对于广泛的应用场景,这种技术展示了强大的潜力,学术界和工业界的兴趣也持续升温。哈工大自然语言处理研究所30余位老师和学生参与开发了通用对话大…