MZ Blog

Thinking will not overcome fear but action will.

修ns3的ofswitch13源码之实现Sketch

实现Sketch

NS3模拟实现Sketch查找TOP-K 由于sketch相关实现采用的是P4原语,而在ns3中没有这方面的支持,所以现在采用模拟sketch的方案来实现sketch相关功能。具体实现是在交换机经过数据包时解析数据包获取四元组,然后计算hash值,并存入到自己设置的sketch数据结构中。最后ns3运行采取定期上传sketch中的数据,以供控制器区分长短流。 1.从openflo...

ubuntu利用docker安装opengauss数据库及测试

ubuntu利用docker安装opengauss数据库及测试

ubuntu利用docker安装opengauss数据库及测试 一、安装 docker安装 sudo apt install docker.io 拉取openguass镜像 sudo docker pull enmotech/opengauss 创建容器 docker run --name opengauss \ -p 5432:5432 \ -v /home/dock...

修改适应ns3的bofuss库源码之自定义NewMatchField

自定义NewMatchField

新增匹配字段——支持TCP标志位 一、定义匹配字段 由于版本更新,Wiki的教程使用NetPDL修改解析数据包的方法不适用,本文结合教程以及论文的实现过程给出以下修改步骤。本案例新增的匹配字段是TCP标志位。 1.定义结构体并解析 openflow.h enum oxm_ofb_match_fields { OFPXMT_OFB_IN_PORT = 0...

修改适应ns3的bofuss库源码之自定义NewMessage

自定义NewMessage

自定义NewMessage 在这个例子中,我们新增两个消息OFPT_QUE_CN和OFPT_QUE_CR实现从交换机发送到控制器,告诉控制器目前是拥塞状态,还是恢复拥塞。使用与下面的示例类似的实验者消息来创建新动作或新消息。 一、定义新消息 1.添加两个新的类型 /* file:include/openflow/openflow.h * Add OFPT_QUE_CN a...

修改适应ns3的bofuss库源码之自定义ACTION

自定义action

自定义Action 一、定义新Action 在这个例子中,我们实现了一个OpenFlow动作修改TCP数据包的接收窗口值。使用与下面的示例类似的实验者消息来创建新动作或新消息。 1.定义新Action的字段类型 首先,OFPAT_SET_RWND字段应该添加到openflow.h文件的ofp_action_type枚举当中。 /* file:include/openflow...

对ns3中的OFSwitch13文档介绍、翻译和理解

ns3的ofswitch13

1、概述 The OFSwitch13 module enhances the ns-3 Network Simulator with Software-Defined Networking (SDN) support. Despite the fact that the ns-3 already has a module for simulating OpenFlow switch...

ns3.34安装ofswitch13(基于BOFUSS库的openflow13)教程

ns3

1、安装依赖 $ sudo apt-get install build-essential gcc g++ python git mercurial unzip cmake pkg-config autoconf libtool libboost-dev 2、下载ns3.34 根据官网提示,选择任意一种下载方式下载ns3.34(这里采用方式是Downloading ns-3 Us...

TCCS实现之修改ryu和ovs源码实现自定义action

TCCS实现

一、RYU源码修改之自定义action 原文链接: [https://blog.csdn.net/qq_43519779/article/details/117172000]: 1.打开 ryu/ofproto/ofproto_v1_3.py 文件,在 255 行 OFPAT_POP_PBB 后面添加上文中在 OVS 中自定义的 action 及其 action co...

ns3队列相关基础知识

ns3队列

在体系结构上,ns-3 将设备层与互联网主机的 IP 层或流量控制层分开。 第一个排队层是ns-3中所谓的“流量控制层”;在这里,通过使用排队规则,主动队列管理(RFC7567)和由于服务质量(QoS)而确定的优先级以独立于设备的方式进行。 第二个排队层通常位于网络设备对象中。不同的设备(例如 LTE、Wi-Fi)对这些队列有不同的实现。这种双层方法反映了实践中发现的情况(提供优先级的软...

开源网络模拟器ns3学习之常用技术解析

ns3解析

ns-3中用到的常用技术主要分为: 参数输入:属性变量 数据输出:trace变量 Schedule函数 回调函数:Callback类 本文主要介绍以上四个技术。至于辅助信息:Log系统、命令行和助手类——Helper技术就略过了。 参数输入:属性变量 属性其实就是c++类中的变量,它是内部私有成员变量,不过属性系统通过get、set方法使得它变成外部可配置的了...