自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (3)
  • 收藏
  • 关注

原创 算法打印13213

给你一个整数数组 nums 以及两个整数 lower 和 upper。求数组中,值位于范围 [lower, upper] (包含 lower 和 upper)之内的 区间和的个数。区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ j)。,分别表示该数列数字的个数和操作的总个数。个用空格分隔的整数,其中第。

2023-11-18 11:28:38 305

原创 springboot + mysql的dorker部署

Docker部署springboot + mysql

2022-08-06 13:06:46 494 2

转载 Windows下鼠标右键菜单添加“以VSCode打开”选项

Windows下鼠标右键菜单添加“以VSCode打开”选项 👀在Windows上面安装Visual Studio Code代码编辑器时,常常会因为安装的时候忘记勾选相关选项等原因,没有将“Open with Code”(右键快捷方式)添加到鼠标右键菜单里,所以需要手动将VSCode相关快捷打开添加至鼠标右键菜单之中。😮解决方案😉一、 重新安装VSCode😥可以在安装过程中选择相关的选项,完成添加,但是一般在安装过VS Code后都会有很多自定义的设置、下载的插件在本地保存,重新安装,难免会重新来

2022-04-24 11:23:03 2062 1

转载 python 数据、曲线平滑处理

python 数据、曲线平滑处理——方法总结Savitzky-Golay 滤波器实现曲线平滑插值法对折线进行平滑曲线处理基于Numpy.convolve实现滑动平均滤波数据平滑处理——log()和exp()函数问题描述:在寻找曲线的波峰、波谷时,由于数据帧数多的原因,导致生成的曲线图噪声很大,不易寻找规律。如下图:由于高频某些点的波动导致高频曲线非常难看,为了降低噪声干扰,需要对曲线做平滑处理,让曲线过渡更平滑。常见的对曲线进行平滑处理的方法包括: Savitzky-Golay 滤波器、

2022-04-21 16:58:34 20568

原创 leetcode——启发式搜索

127. 单词接龙 - 力扣(LeetCode)class Solution{public: typedef pair<int,int> PII; bool edgeif(string a, string b) { unordered_map<char, int> mp; if (a == b) return true; bool flag = false; for

2022-04-20 10:40:54 238 1

转载 析构函数和delete

(1条消息) 析构函数和delete_weixin_46881809的博客-CSDN博客_析构和delete在所有函数之外创建的对象为全局对象,与全局变量类似,位于内存分区的全局数据区,程序在结束时,会调用这些对象的析构函数。在函数内部创建的对象是局域对象,它与局部变量类似,位于栈区,函数结束时会调用它们的析构函数;而new创建的对象位于堆区,在通过delete删除时才会调用析构函数;如果没有delete,则析构函数就不会被调用。...

2022-04-13 17:43:21 497

原创 p4 cpu的交互

实验目的控制交换机将包克隆到cpu,并接收和处理来自cpu的包对于p4文件,需要处理来自cpu的包并且根据接收的端口号转发,如果不是来自cpu的包,将包发到cpu对于拓扑文件,需要对交换机开启cpu接口对于控制器,需要增加cpu_seesion,并且监听包的接收,然后解析包的结构并将数据发送回交换机...

2022-03-11 23:53:11 426

原创 scapy学习

sniff(count=0, store=1, offline=None, prn=None, filter=None, L2socket=None, timeout=None, opened_socket=None, stop_filter=None, iface=None)count:抓取报的数量,设置为0时则一直捕获store:保存抓取的数据包或者丢弃,1保存,0丢弃offline:从p

2022-03-08 15:56:48 209

原创 如何配置p4环境

首先,我使用了p4-utils的镜像文件,包含了所需要的很多组件Installation — P4-Utils 1.0 documentation这是一个qcow2文件,想要导入到vm或者virtualbox需要进行转化通过qemu-img工具转换镜像格式_镜像服务 IMS_最佳实践_转换镜像格式_华为云这样就可以导入了。不知道为什么导入以后是命令行的形式,没有图形界面,我下载了图形界面(4条消息) Ubuntu16.04只有桌面背景,没有桌面图标_ljl1015ljl的博客-CSDN博.

2022-03-07 09:58:59 1138 2

转载 linux系统下修改文件夹目录权限(转载)

(4条消息) linux系统下修改文件夹目录权限_bmbm546的专栏-CSDN博客_linux 文件夹权限

2022-03-06 11:39:08 183

原创 linux如何使用管理员模式

管理员权限用管理员权限打开文件夹,在终端输入sudo nautilus或者sudo apt-get install nautilus-open-terminal安装,重启后,再右键单击文件夹,就可以看到“以管理员身份打开”

2022-03-06 11:03:47 2296

原创 P4_learning——srv6基础实验

实验背景报文转发流程采用示例说明SRv6的报文转发流程。如图所示,假设有报文需要从主机1转发到主机2,主机1将报文发送给节点A处理。节点A、B、D、E均支持SRv6,节点C不支持SRv6,只支持IPv6。我们在源节点A上进行网络编程,希望报文经过B-C、C-D链路,送达节点E,由E节点送达主机2。报文转发流程分为以下几步:源节点A将SRv6路径信息封装在SRH中,指定B-C,C-D链路的SID,另外封装E点发布的SID A5::10(此SID对应于节点E的一个IPv4 VPN),共3个SID,

2022-03-01 16:02:23 2202 10

原创 P4_learning——controller

控制器通过控制器下发规则拓扑{ "program": "ip_forward.p4", "switch": "simple_switch", "compiler": "p4c", "options": "--target bmv2 --arch v1model --std p4-16", "switch_cli": "simple_switch_CLI", "cli": true, "pcap_dump": true, "enable_log": true, "t

2022-02-28 10:57:31 392

原创 P4-learning——ecmp

ecmp充分利用链路,实现负载均衡拓扑{ "program": "p4src/ecmp.p4", "switch": "simple_switch", "compiler": "p4c", "options": "--target bmv2 --arch v1model --std p4-16", "switch_cli": "simple_switch_CLI", "cli": true, "pcap_dump": true, "enable_log": true,

2022-02-19 14:55:38 799

原创 P4-learning——send_to_cpu

send_to_cpu编写p4语言时不用写匹配规则,可以由控制器编写规则拓扑{ "program": "send_to_cpu.p4", "switch": "simple_switch", "compiler": "p4c", "options": "--target bmv2 --arch v1model --std p4-16", "switch_cli": "simple_switch_CLI", "cli": true, "pcap_dump": true,

2022-02-18 21:30:51 399

原创 P4-learning——recirculate

数据包循环数据包将要从egress出去时再循环进入交换机p4文件#include <core.p4>#include <v1model.p4>typedef bit<48> macAddr_t;typedef bit<9> egressSpec_t; header ethernet_t { bit<48> dstAddr; bit<48> srcAddr; bit<16> ether

2022-02-18 12:11:06 512

转载 ping命令详解

ping命令详解

2022-02-18 11:59:14 71

原创 python正则表达式

参考文章

2022-02-11 10:23:12 463

原创 P4语言——链路层实战

参考文章实现简单的交换机文件在03-L2_Basic_forwarding编写p4文件/* -*- P4_16 -*- */#include <core.p4>#include <v1model.p4>/************************************************************************************************ H E A D E R S ********************

2022-02-10 21:30:43 351

原创 P4_learning——Reflector & Repeater

Packet Reflector第一个练习很简单,我们在前一篇文章已经见过了它的代码实现,本质上其实就是把源地址和目标地址调换一下,再把 packet 从哪里来的就送回哪里去。但这个练习的主要目的,是为了让我们熟悉开发环境,包括如何建立一个虚拟的网络。文件描述这个练习用到的文件有三个:p4app.json:这个文件用来描述我们要建立的网络拓扑结构;send_receive.py:这段 python 脚本用于发送和接收 packets;reflector.p4:这个就是我们要完成的 P4 代码。

2022-02-09 19:29:17 367

原创 P4——link_monitor

练习:链路监测本练习的目的是编写一个P4程序,使主机能够监视网络中所有链路的使用情况。 这个练习建立在基本的IPv4转发练习的基础上,所以在尝试这个练习之前,请确保完成这个练习。 具体地说,我们将修改基本的P4程序来处理源路由探测包,使其能够在每个跳点获取出口链路利用率,并将其交付给主机进行监视。 我们的探测包将包含以下三种报头类型:// Top-level probe header, indicates how many hops this probe// packet has traversed

2022-02-09 12:04:18 781

原创 P4语言——mri

练习:多跳监测本教程的目的是用带内网络遥测(INT)的缩小版扩展基本的L3转发,我们称之为多跳路由检查(MRI)。磁共振成像允许用户跟踪路径和队列长度,每个包经过。 为了支持这个功能,您需要编写一个P4程序,将ID和队列长度附加到每个包的头栈。 在目的端,交换机ID的顺序与路径对应,每个ID后面跟着交换机端口的队列长度。P4文件/* -*- P4_16 -*- */#include <core.p4>#include <v1model.p4>const bit&lt

2022-02-09 11:58:29 1787

原创 P4语言——load_balance

练习:负载均衡在本练习中,您将基于等价多路径转发的简单版本实现一种形式的负载均衡。 您将实现的交换机将使用两个表将数据包随机转发到两个目标主机中的一个。 第一个表将使用一个哈希函数(应用于由源和目的IP地址、IP协议、源和目的TCP端口组成的5元组)从两个主机中选择一个。 第二个表将使用计算得到的哈希值将数据包转发给选定的主机。拓扑图代码{ "hosts": { "h1": {"ip": "10.0.1.1/24", "mac": "08:00:00:00:01:01",

2022-02-09 10:42:38 911

原创 P4语言——calc

练习:计算器本教程的目标是使用P4编写的自定义协议头来实现一个基本的计算器。 报头将包含一个要执行的操作和两个操作数。 当交换机接收到计算器包头时,它将对操作数执行操作,并将结果返回给发送者。P4文件 0 1 2 3 +----------------+----------------+----------------+---------------+ | P |

2022-02-09 10:09:33 522

原创 P4语言——qos

练习:qos本教程的目的是扩展基本的L3转发 ,使用区别服务实现服务质量(QOS)。 Diffserv简单且可扩展。 它对网络流量进行分类和管理,并在现代IP网络上提供QOS。拓扑图代码{ "hosts": { "h1": {"ip": "10.0.1.1/31", "mac": "08:00:00:00:01:01", "commands":["route add default gw 10.0.1.0 dev eth0",

2022-02-08 23:20:08 1884

原创 P4语言——source_routing

练习:源路由本练习的目的是实现源路由。 使用源路由,源主机引导网络中的每个交换机将数据包发送到特定的端口。 主机在数据包中放置一个输出端口堆栈。 在本例中,我们只是将堆栈放在Ethernet报头之后,并选择一个特殊的etherType来表示。 每个交换机从堆栈中弹出一个项目,并根据指定的端口号转发数据包。拓扑图代码{ "hosts": { "h1": {"ip": "10.0.1.1/24", "mac": "08:00:00:00:01:11",

2022-02-08 20:42:27 796

原创 Ubuntu系统问题解决

如何调整字体样式今天在自己的电脑上安装了ubuntu18.04,但是发现默认的字体太小,字体样式也不是很喜欢,所以自己想要更换字体,于是安装了桌面的配置工具,自己重新设置了一下字体,现在看起来舒服多了.Ctrl + Alt + T 快捷键打开终端窗口安装 gnome-tweaks 桌面配置工具sudo apt install gnome-tweaksAlt + F2 在运行窗口输入 gnome-tweaks 命令,然后回车打开优化窗口.左边切换选择字体选项,右边可以单独设置窗口界面

2022-02-06 15:22:17 1140

原创 c++数据结构和算法

reverse函数用于反转在[first,last)范围内的顺序(包括first指向的元素,不包括last指向的元素),reverse函数没有返回值string a;vector<int> b;reverse(a.begin(), a.end());reverse(b.begin(), b.end());

2022-02-04 11:01:22 743

原创 P4语言——ecn

练习四:显式拥塞通知(ECN)的实现。发送的数据报包含了网络中每个路由器的队列深度,实现拥塞通知拓扑图控制平面代码{ "target": "bmv2", "p4info": "build/ecn.p4info", "bmv2_json": "build/ecn.json", "table_entries": [ { "table": "MyIngress.ipv4_lpm", "match": { "hdr.ipv4.dstAddr"

2022-02-03 20:30:46 640

原创 P4语言——p4runtime

练习三:使用p4runtime使用p4runtime而不是json文件控制交换机的table。控制平面代码#!/usr/bin/env python2import argparseimport grpcimport osimport sysfrom time import sleep# Import P4Runtime lib from parent utils dir# Probably there's a better way of doing this.sys.path.app

2022-02-03 20:25:40 1923

原创 P4语言——basic_tunnel

练习二:自定义头部定义一种新的header,实现ipv4转发和自定义头部协议转发的优先级控制平面代码下发给交换机table。除了定义ipv4转发的地址与行为匹配,还定义了自定义header的转发行为匹配。{ "target": "bmv2", "p4info": "build/basic_tunnel.p4info", "bmv2_json": "build/basic_tunnel.json", "table_entries": [ { "table": "My

2022-02-03 20:10:29 1894

原创 P4语言——basic

练习一:Basic本练习的目的是编写一个P4程序 实现了基本的转发。 为了简单起见,我们只要实现IPv4转发。对于IPv4转发,交换机必须完成以下操作更新源MAC地址和目的MAC地址减少IP报头中的生存时间(time-to-live, TTL)将数据包发送到适当的端口你的开关将有一个单表,控制平面将用静态规则填充。 每个规则将一个IP地址映射到下一跳的MAC地址和输出端口。 我们已经定义了控制平面的规则,所以只需要实现数据平面P4程序的逻辑。查看控制平面的代码{ "target"

2022-02-01 23:32:34 639

原创 P4语言详解

p4c是一款 p4编译器。BMv2是支持P4编程的软件交换机。PI是P4 runtime的实现,用于Control Plane对数据平面的控制。mininet的功能是构建一个虚拟的网络拓扑。 它通过linux内核的一些特性(net命名空间),在一个主机上划分出多个虚拟网络空间,各个网络空间之间相互隔离,有自己的端口, ip等等。mininet让一个或者多个vhost(虚拟主机), 软件交换机(如ovs, bmv2)等 以进程的状态分别绑定在这些网络空间之中,共同构成一个进程级别的虚拟网络拓扑。需要..

2022-01-30 22:14:19 2850

原创 P4语言入门

P4简介P4语言在设计之初,就是为了实现以下三个特性:(1)协议无关性网络设备不与任何特定的网络协议绑定,用户可以使用P4语言描述任何网络数据平面协议和数据包处理行为。这一特性通过自定义包解析器、匹配-动作表的匹配流程和流控制程序实现。(2)目标无关性用户不需要关心底层硬件的细节就可实现对数据包的处理方式的编程描述。这一特性通过P4前后端编译器实现,前端编译器将P4高级语言程序转换成中间表示IR,后端编译器将IR编译成设备配置,自动配置目标设备。(3)可重构性允许用户随时改变包解析和处理的程序

2022-01-30 00:42:15 4415

原创 虚拟机如何实现主机代理

找到主机的IP地址,端口号,添加到虚拟机中教程

2022-01-21 23:34:06 1671

原创 pytorch学习——第四章迁移学习

迁移学习迁移学习是在已有模型上进行学习

2022-01-19 11:55:56 853

原创 pytorch学习第三章——卷积神经网络图像识别

卷积神经网络学习手写数字# 定义超参数 input_size = 28 #图像的总尺寸28*28num_classes = 10 #标签的种类数num_epochs = 3 #训练的总循环周期batch_size = 64 #一个撮(批次)的大小,64张图片# 训练集train_dataset = datasets.MNIST(root='./data', train=True,

2022-01-17 17:50:28 672

原创 pytorch学习第二章——神经网络分类任务

Mnist分类任务:网络基本构建与训练方法,常用函数解析torch.nn.functional模块nn.Module模块import torchx_train, y_train, x_valid, y_valid = map( torch.tensor, (x_train, y_train, x_valid, y_valid))#将数据转化为tensor类型import torch.nn.functional as Floss_func = F.cross_ent

2022-01-15 22:23:32 527

原创 pytorch学习第一章——初识pytorch

tensor机器学习的基本单位x = torch.empty(3,5) x = torch.zeros(5,4)x = torch.rand(5,3) #0-1均匀分布的随机矩阵x = torch.randn(5,3)#正态分布(0,1)随机矩阵x = torch.randn_like(x)#和x大小一样的randn矩阵x = torch.tensor([[1,2],[3,4.3]])viewy = x.view(16)#将其变为16大小的tensorz = x.view(-1, 8)

2022-01-14 16:48:48 475

原创 KPI异常检测

异常:预期值与真实值有很大的差异统计的方法3-sigma刻画异常的程度,数据需要接近高斯分布,如果不是可以通过高斯分布或者tan变换。可以先看一下数据分布图,看一下数据的分布情况box-plot方法提出异常点的影响最大值、最小值、中位数和两个四分位数时间序列分析的方法数据的波动与人的行为直接相关,是一个时序的。主要结构:周期性,趋势性,误差、随机扰动机器学习方法回归预测、提取特征监督学习和无监督学习模式匹配iforest、rrcf、gmm、maf直接检测根据指标历史的波动数据

2021-12-24 13:51:54 1220

华为KPI异常检测2021 适合初学者(包含源码)

2021年KPI异常检测的参赛报告及源码

2022-01-13

通信原理仿真大作业pluto16QAM

通信原理仿真大作业pluto16QAM

2021-01-16

数字信号处理大作业变声器

大学生数字信号处理大作业完美完成

2021-01-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除