IEEE 802.1Qcp-2018 标准:网络桥梁与YANG数据模型

版权申诉
0 下载量 39 浏览量 更新于2024-11-11 收藏 1.76MB ZIP 举报
资源摘要信息: "IEEE Std 802.1Qcp-2018 Local and metropolitan area networks—Bridges and Bridged Networks—Amendment 30:YANG Data Model" 知识点一:IEEE 802.1Qcp标准概述 IEEE 802.1Qcp是IEEE(电气和电子工程师协会)制定的一个标准,属于802.1Q系列标准的一部分,专注于局域网和城域网中的桥接技术。802.1Q系列标准是网络中负责数据链路层的VLAN(虚拟局域网)配置与管理的核心标准之一。802.1Qcp是对这一系列标准的修正,提供了附加的功能或修改现有的功能。 知识点二:桥接技术(Bridging) 桥接技术是一种网络技术,用于连接两个或多个网络段,通常是局域网段。桥接器(也称为网桥)工作在数据链路层(OSI模型的第二层),它能够通过MAC地址来过滤、转发或泛洪数据包,从而实现网络之间的通信,同时减少不必要的网络流量,提高网络效率。 知识点三:YANG数据模型 YANG(Yet Another Next Generation)是一种数据建模语言,由IETF(互联网工程任务组)设计,用于描述网络设备的配置和状态数据。YANG数据模型在本标准中用于定义网桥设备的管理信息库(MIB)。这意味着通过YANG模型,网络管理者可以更方便地管理和配置网桥设备。 知识点四:网络标准化组织IEEE与IETF IEEE是一个全球性的专业组织,专注于电气与电子工程、计算机工程和相关学科的标准化工作。IEEE 802委员会负责制定局域网和城域网的标准,其中包括广为人知的802.11无线局域网(Wi-Fi)标准等。而IETF则是一个负责互联网协议标准化工作的组织,其制定的协议广泛应用于互联网架构中。 知识点五:网络协议与数据模型 在网络技术中,数据模型是指数据在系统中组织和结构化的方式,它能够为网络设备的操作、管理和维护提供一套逻辑框架。数据模型通常与网络协议紧密相关,因为网络协议定义了设备之间的通信规则。在IEEE 802.1Qcp标准中,YANG数据模型的引入,旨在与现有的网络协议相结合,以支持对桥接设备的动态配置和网络状态监控。 知识点六:标准的修正与补充 在技术发展和市场变化的过程中,原有的标准可能需要修正或补充以满足新的需求。IEEE 802.1Qcp正是一个对现有802.1Q标准的修正案,它可能包括了新的协议扩展、性能改进和功能增强。修正案是标准化进程中常见的组成部分,它们使得标准能够保持最新的技术水平。 知识点七:文档内容和结构 本资源中提到的"Amendment 30:YANG Data Model - 完整英文电子版(93页).pdf",表明了该文档是关于IEEE 802.1Qcp标准的第三次修正,具体到YANG数据模型的部分,它是一个93页的完整英文电子版文档。文档内容预计会详细介绍YANG数据模型在桥接网络中的应用、相关参数、配置方法以及网络设备之间的互操作性等方面的信息。 知识点八:网络管理与维护 网络管理与维护是确保网络稳定运行的关键环节。标准化的数据模型如YANG有助于简化网络管理任务,使得网络管理员能够快速诊断网络问题、进行网络配置和升级。IEEE 802.1Qcp标准通过引入YANG数据模型,也反映了业界对于提高网络管理效率和质量的持续追求。

#include "mainwindow.h" #include "ui_mainwindow.h" #include <QtWidgets> #include <QResizeEvent> //绘图区域大小变化事件 #include <QDebug> #include <QThread> #include <QTimer> #include <QVector> #include <QRandomGenerator> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); ui->plot->setOpenGl(true); ui->plot->setNoAntialiasingOnDrag(true); CreateChart(); } MainWindow::~MainWindow() { delete ui; } void MainWindow::CreateChart() { ui->plot->addGraph(); ui->plot->graph(0)->setPen(QPen(QColor(100,149,237))); mData = ui->plot->graph(0)->data()->coreData(); ui->plot->xAxis2->setVisible(true); ui->plot->xAxis2->setTickLabels(false); ui->plot->yAxis2->setVisible(true); ui->plot->yAxis2->setTickLabels(false); connect(ui->plot->xAxis, SIGNAL(rangeChanged(QCPRange)), ui->plot->xAxis2, SLOT(setRange(QCPRange))); connect(ui->plot->yAxis, SIGNAL(rangeChanged(QCPRange)), ui->plot->yAxis2, SLOT(setRange(QCPRange))); ui->plot->setInteractions(QCP::iRangeDrag|QCP::iRangeZoom|QCP::iSelectPlottables); ui->plot->yAxis->setRange(-1.5,1.5); ui->plot->xAxis->setRange(0,50); ui->plot->yAxis->setLabel("数据"); ui->plot->xAxis->setLabel("个数"); for (int i = 0; i < 50; i++) { mXDataTol.append(i); mYDataTol.append(QRandomGenerator::global()->bounded(1.00)); } ui->plot->graph(0)->setData(mXDataTol,mYDataTol,true); ui->plot->replot(); }这是我的全部代码,系统报错:terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc请帮我修改一下代码,我不知道到底哪里出了错

2023-06-10 上传

我的代码报错terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc,我写的代码如下:#include "mainwindow.h" #include "ui_mainwindow.h" #include <QtWidgets> #include <QResizeEvent> #include <QDebug> #include <QThread> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); replotTimer = new QTimer; ui->plot->setOpenGl(true); ui->plot->setNoAntialiasingOnDrag(true); mXDataTol = new QVector<double>; mYDataTol = new QVector<double>; mXDataTol->reserve(10000000); mYDataTol->reserve(10000000); CreateChart(); } MainWindow::~MainWindow() { delete ui; } void MainWindow::CreateChart() { ui->plot->addGraph(); ui->plot->graph(0)->setPen(QPen(QColor(100,149,237))); mData = ui->plot->graph(0)->data()->coreData(); ui->plot->xAxis2->setVisible(true); ui->plot->xAxis2->setTickLabels(false); ui->plot->yAxis2->setVisible(true); ui->plot->yAxis2->setTickLabels(false); connect(ui->plot->xAxis, SIGNAL(rangeChanged(QCPRange)), ui->plot->xAxis2, SLOT(setRange(QCPRange))); connect(ui->plot->yAxis, SIGNAL(rangeChanged(QCPRange)), ui->plot->yAxis2, SLOT(setRange(QCPRange))); ui->plot->setInteractions(QCP::iRangeDrag|QCP::iRangeZoom|QCP::iSelectPlottables); ui->plot->yAxis->setRange(-1.5,1.5); ui->plot->xAxis->setRange(0,10000000); ui->plot->yAxis->setLabel("数据"); ui->plot->xAxis->setLabel("个数"); for (int i=0;i<10000000;i++) { mXDataTol->append(i); if(i<5000000) mYDataTol->append(0); else mYDataTol->append(QRandomGenerator::global()->bounded(1.00)); } ui->plot->graph(0)->setData(*mXDataTol,*mYDataTol,true); }

2023-06-09 上传