自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

转载 计算机网络学习:二三层转发

转载自:大佬写的很详细,学习一下。

2024-08-10 16:28:28 257

原创 wireshark常见过滤规则

【代码】wireshark常见过滤规则。

2024-08-03 17:09:48 162

原创 计算机网络学习:TCP握手&挥手&强制连接中断

TCP三次握手&四次挥手&RST强制中断连接的报文情况

2024-08-03 17:01:07 1147

原创 报文转发场景学习笔记

对一个报文的整个生命周期从一个对接运营商的外部接口进入一个路由器,再通过一个连接计算机的内部接口发出去的过程,HOW?

2024-07-27 17:56:03 937

原创 IO半虚拟化-vhost学习笔记

参考:系《深入浅出dpdk》学习笔记以及redhat的官方博客vhost属于virtio-net网络设备的后端驱动,经历了从virtio-net后端,到内核态vhost-net,到vhost-user的演进过程。先过一下背景知识,

2024-07-20 17:35:58 894

原创 IO半虚拟化-Virtio学习笔记

IO半虚拟化-virtio学习笔记

2024-07-13 17:27:29 772

原创 SR-IOV学习笔记

SR-IOV单根虚拟化学习笔记

2024-07-06 17:31:53 970

原创 MLX5_SET_TO_ONES宏解析

MLX5_SET_TO_ONES宏解析

2024-06-21 17:50:43 412

原创 /usr/bin/ld: cannot find -l<nameOfTheLibrary>

/usr/bin/ld: cannot find -lxxx: No such file or directory

2024-05-11 15:45:34 286

原创 一键配置ssh免密登录脚本

一键配置ssh,实现免密ssh登录

2024-01-29 19:57:26 439

原创 GoLand GC(垃圾回收机制)简介及调优

GC(Garbage Collector)垃圾回收机制简介、go内存耗用查看及gc参数调整内存优化

2023-10-29 00:06:25 820

原创 linux手动安装scapy2.5

linux手动安装指定版本scapy

2023-10-18 12:13:01 569

原创 scapy构造ND报文

找邻居报文之ND报文(Neighbor Discovery),scapy构造ND报文

2023-10-12 12:16:43 1077

原创 C语言结合字符串和整形

把字符串和整形放在一起,比如结合成:meiyangyang520。

2023-10-08 19:46:54 417

原创 NS3中跟踪发送速率或接收速率

NS3中跟踪发送速率或接收速率

2023-03-02 11:01:53 738 1

原创 NS3运行Reno,BBR,CUBIC等拥塞控制算法

从ns-3.33版本开始,NS3支持CUBIC。从ns-3.34版本开始,支持BBR v1。呜呜呜,感谢前人!!!我用的是ns-3.34, 代码直接改自ns-3.34/examples/tcp/tcp-linux-reno.cc, 呃。也不用改,直接拷贝到scratch文件夹下运行就行…不过运行的只有reno,可以稍微,稍微改一丢丢:可以运行:NewReno,Reno,BBR, CUBIC,Veno等拥塞控制算法// Network topology//// n0 --------

2022-05-25 15:22:50 3581 8

原创 NS3 csma网络莫名丢包

这两天在做NS3仿真的时候,发现了一个莫名的问题,我的实验环境大概是这样的//实验拓扑:// n2 --------------- --------------- n4// | point to point |// csma n0 =========== n1 csma//

2022-05-03 16:09:15 1063 5

原创 NS3统计丢包数

ns3可以根据数据包的序列号自己统计丢包,统计方法如下:发送端//添加头文件#include "ns3/packet-loss-counter.h"//在生成数据包时,添加包头 SeqTsHeader seqTs; seqTs.SetSeq (m_sent); Ptr<Packet> p = Create<Packet> (m_size-(8+4)); // 8+4 : the size of the seqTs header p->AddHeader

2022-04-25 20:55:55 2061

原创 NS3数据包时延计算-数据包头

如果要在接收端得到数据包的传输时延,那么就需要在接收端得到数据包的发送时间和数据包到达时间,后者非常简单,直接在收到包的时候Simulator::Now ().GetSeconds ()即可,而怎样得到数据包的发送时间呢。有三种方法:创建跟踪源并使用回调来获取每个数据包的创建/发送时间和发送/接收时间。 然后你可以计算延迟使用标签来标记数据包的创建/发送时间,并在收到时读取此标签并计算延迟使用包头(或仅包头中的字段)包含创建/发送的时间,并在收到包头时读取该包头第二种方法见:NS3数据包时

2022-04-25 20:10:51 1672 1

原创 NS3数据包时延计算-插入时间戳Tag

如果要在接收端得到数据包的传输时延,那么就需要在接收端得到数据包的发送时间和数据包到达时间,后者非常简单,直接在收到包的时候Simulator::Now ().GetSeconds ()即可,而怎样得到数据包的发送时间呢。有三种方法:创建跟踪源并使用回调来获取每个数据包的创建/发送时间和发送/接收时间。 然后你可以计算延迟使用标签来标记数据包的创建/发送时间,并在收到时读取此标签并计算延迟使用标头(或仅标头中的字段)包含创建/发送的时间,并在收到标头时读取该标头这里介绍第二种方法,第二种方

2022-04-21 13:28:18 2208 2

原创 使用npm管理node版本

查看本地node版本$ node -v查看本地npm版本$ npm -v清除node.js的cache$ sudo npm cache clean -f安装 n 工具,一个专门用来管理node.js版本的工具$ sudo npm install -g n安装并切换到最新版本nodejs$ sudo n stable安装并切换到指定版本nodejs$ sudo n 14.8.1安装最新版本npm$npm -g install npm切换npm版本$npm insta

2021-10-28 16:24:17 1228

原创 论文总结:Fast and Light Bandwidth Testing for Internet Users(21‘ NSDI)

总担心自己看论文看完就过了,所以做个记录!这篇论文主要解决的是互联网用户的带宽测量问题。即优化了现有的带宽测量技术,提出了FastBTS(fast bandwidth testing services),快速,低成本,可以大规模部署。但并没有提出新的带宽测量方法。core idea:accommodate and exploit the noise rather than repetitively and exhaustively suppress the impact of noise即适应并充分

2021-10-08 21:54:03 294

原创 论文总结:XLINK(SIGCOMM‘21)

自己看论文方法有点问题,最近尝试做一些改变。这是一篇今年的SIGCOMM,看完之后来记录一下。XLINK: QoE-Driven Multi-Path QUIC Transport in Large-scale Video Services大规模视频服务中 QoE驱动的多路径QUIC传输方案。解决的主要问题:多路径中队头阻塞问题QUIC中多流阻塞问题平衡开销与性能的关系(不太重要)XLINK的核心思想充分利用QUIC是一个用户空间协议的优势利用QoE内容进行包的调度和路径管理XL

2021-08-24 11:23:48 1100

原创 NS3中数据包添加有效负载

目的:将自己想发送的内容放到packet中,使其发送到客户端显示。说白点就是让数据包夹带私货,可以输出时延、丢包率等信息。你要是问为什么不使用日志系统,呃,问就是不会…发送端:在生成数据包函数中添加或修改:std::ostringstream msg; msg << "I love you!" << '\0';uint16_t packetSize = msg.str().length()+1;Ptr<Packet> packet = Create<

2021-07-20 21:37:48 777 4

原创 socket编程流程与函数(实用篇)

首先要明白,三元组可以标识唯一主机的唯一应用程序,网络中进程的通信就可以利用三元组的标志与其他进程之间进行交互。三元组是:ip地址、端口号和连接(通讯链路)。或者也可以说是五元组:(协议,本地地址,本地端口号,远地地址,远地端口号)socket编程建立连接的流程如下:1.什么是socket网络中的进程是利用socket来进行通信的。socket对于linux/Unix来说是一个特殊的文件,一些socket函数会进行读写io、关闭、打开等功能2.socket的基本操作2.1 socket()函数

2021-06-14 22:30:48 1324 1

原创 Socket套接字的速率控制(linux)

发送端系统:ubuntu18.04接收端系统:ubuntu18.04最近要做一些socket的实验,我对socket也不大了解,不过socket还算是比较好学的,算是在应用层和传输层中间,给你提供了调用了传输协议的api,还是很友好的哦!哦吼!我要对socket发送文件的速率进行限制,想要把文件传输速率限制到想要设置的速率。大概原理如下:一、主要原理比如说,我要把文件的传输速率限制到10Mbps,他等同于,在一秒钟传输10Mbit的内容。所以我们需要定时器+文件传输限制。大概就这两部分。sock

2021-06-14 22:07:49 5334 1

原创 NS3-命令行参数

参考书:《NS-3网络模拟器基础与应用》–马春光、姚建盛这里有电子版:链接: https://pan.baidu.com/s/1z7PpGkYKd6dt6pIwTfYj5g 密码: kisn。如果百度网盘不骗我的话,应该是永久有效的。命令行可以传递参数修改系统已有参数。一、修改系统参数ns-3还提供了另一种不需要重新编辑和构建脚本运行行为的方法。这种方法就是通过命令行传递参数来改变脚本中的变量。不过在使用命令行系统前,首先要声明一个命令行类的对象,然后调用Parse,具体方法如下:int ma

2021-03-17 22:20:52 1337 1

原创 ubuntu安装eclipse及问题

因为要用eclipse做NS3(C++)的仿真,所以下了个eclipse。我发现我只要下一个软件,但凡是跟学习沾点边,他都会翻车。哭了,命运这是在暗示什么吗?系统:ubuntu18.04(+win10双系统)jdk版本:1.8.0_282,也就是软件包jdk-8u***-linux-x64.tar.gzeclipse版本:其中jdk的版本比较重要,因为要和eclipse适配,否则就会出现jdk下载好,环境变量配置好,eclipse也下载好了,但就是打不开的情况。很让人无奈。一、下载安装JDK可以

2021-03-11 17:42:58 1832 1

原创 ubuntu切换JDK版本

因为JKD版本的影响,我的ecplise打不开,所以可以采用这种方法切换不同的JDK版本。首先查看JDK版本:java -version如:一、安装jdk我要切换成另外一个版本。如果没有但是有需要的话,可以先安装另外一个版本,可以直接采用命令行进行安装:sudo apt install openjdk-8-jdk默认路径会安装在/usr/lib/jvm/java-8-openjdk-amd64中.配置环境变量:sudo vim ~/.bashrc在最后一行添加##这个添加的就是

2021-03-11 17:35:20 7858 1

原创 NS3入门--second.cc

哦吼!Second,second.cc!/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- *//* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free

2021-03-05 09:45:12 504 1

转载 NS3入门--first.cc

因为实验的需要,被迫从OMNet++转战到NS3,哎,OMNet还没闹明白呢…这大概就是先帝创业未半而中道崩殂吧!呸呸呸,今天看一下NS3中examples中tutorial的第一个例程first.cc一、NS3编程逻辑大概是这样的:1.头文件2.命名空间:(using namespace ns3),将ns3项目和非ns3项目区分开。在ns3使用标准库函数时需要添加std名字空间,如“std::cout”,“std::min()”等。3.NS_LOG_COMPONENT_DEFINE(“first

2021-03-04 09:55:03 1001 6

转载 OMNet++新建工程及运行

版本:5.6.2刚下了OMNet++,尝试跑了一下例程。因为是第一次接触,所以感觉OMNet和自己配合的并不是很好。昨天新建并运行了第一个工程:TicToc1,流程大概是这样的:创建及运行仿真1.打开OMNET++的IDE2.新建OMNET++工程文件:FILE-NEW-OMNET++PROJECT3.工程文件设置输入工程名称选择一个空工程选项,Finish然后就出现了你创建的工程文件4.添加NED文件NED文件是用来定义网络和节点数目的。我们也是通过添加NED文件来部署我们的节

2020-12-03 11:09:51 3137 4

原创 Ubuntu安装OMNet++及各种问题

系统:ubuntu18.04 (+win10双系统)OMNet++版本:5.6.2最近要做网络仿真,老师推荐的软件是OMNet。嘶~没学过,还没学过C++,慢慢啃吧。每次安装软件都会出现各种问题,昨天花了大半天时间才把OMNet装好,无他,主要是我不会,但装好了就总结一下吧。一、安装环境首先[Ctrl + Alt + T],或直接打开终端,安装必要的软件包,先更新可用包的数据库:sudo apt-get update然后安装需要的软件包:sudo apt-get install build-

2020-12-02 15:04:57 5149 3

原创 package has no installation candidate最新解决办法

实验室刚买了台服务器,刚装完系统(ubuntu server 20.10),配置ssh账号的时候,安装openssh-server时出现了两个错误The list of sources could not be read.package has no installation candidate执行sudo apt install openssh-server时,出错:package openssh-server has no installtion candidate当然下载其他包的时候也会

2020-11-27 17:18:06 118880 10

原创 双系统安装ubuntu的各种错误

在笔记本装了很多遍Ubuntu了,除了界面卡死之外,并没有出现其他的问题。这两天在台式机上安装ubuntu还是出现了其他的问题,困扰了好久,终于解决了,所以就用这篇文章总结以下出现的问题。硬件如下:CPU:10代i5显卡:GTX 1050Ti固态:三星256G NVME固态原始系统:win10Ubuntu系统版本:18.04(主要是用习惯了)无线网卡:秘密(主要是忘了)出现的问题主要有:1.ubuntu安装卡死在ubuntu的logo界面(鼠标不动)2.ubuntu安装卡死在分完区“现在

2020-11-12 23:57:33 5080

转载 主函数main中变量(int argc,char *argv[ ])的含义

一直不太理解int main( int argc, char* argv[] )或者int main( int argc, char** argv )经典例子对于理解argv[ ]函数很管用:#include <stdio.h>//#包含<stdio.h> int main(int argc,char* argv[]) //整数类型主函数(整数类型统计参数个数,字符类型指针数组指向字符串参数){ printf("%d\n",argc);

2020-10-14 21:37:36 989

原创 ubuntu安装VMware出错

ubuntu版本:4.15.0-118-genericVMware:14.1.7 , 15.xx,16.xx本来以为是版本的问题,所以试了很多版本,但是都不行。后来发现是系统少了必要的安装环境。出错信息安装了好多次vmware,他一直出错,都没停过。出错信息如下:Before you run VMware,severval modules must be compiled and loaded into the running kernel.然后我天真的以为点了install他能自己下载,毕竟

2020-10-14 10:57:17 970

原创 TCP/IP协议各层首部汇总

TCP/IP将网络划分为4层,当然标准的因特网协议栈有5层,OSI模型有七层。TCP/IP的4层结构如下:将TCP/IP协议族的网络分层描述的详细些的话,如图:每一层都有自己的首部及封装格式:一、 TCP报文格式其中:二、 UDP报文格式其中:源端口号:源端口号目的端口号:目的端口号UDP长度字段指UDP首部和UDP数据的字节长度,该字段最小值为8字节UDP校验和覆盖UDP首部和UDP数据部分三、 IP报文格式其中:四、 以太网报文格式当数据包的类型为:

2020-09-24 09:51:20 1337

原创 数据级并行--计算机体系结构

参考书:《计算机体系结构量化研究方法》 作者:John L. Hennessy一、 引言指令流与数据流的并行分类单指令流、单数据流(SISD)单指令流、多数据流(SIMD)多指令流、单数据流(MISD)基本不使用这种类型多指令流、多数据流(MIMD)SIMD相比于MIMD的优势由于数据操作是并行的,所以程序员可以采用顺序思维方式但却能获得并行加速比SIMD的三种变体向量体系结构多媒体SIMD指令集扩展图形处理单元(GPU)二、 向量体系结构本质:以流水线形式来执行多数据操

2020-09-17 09:42:18 2286

原创 指令级并行--计算机体系结构

参考书:《计算机体系结构量化研究方法》 作者:John L. Hennessy一、基本概念几乎所有处理器都使用流水线来重叠指令的执行过程,以提高性能。由于指令可以并行执行,所以指令之间可能实现的这种重叠称为指令级并行(ILP)。ILP大体有两种不同开发方法1) 依靠硬件来帮助动态发现和开发并行2) 依靠软件技术在编译时静态发现并行基本块:一段顺序执行代码,除入口外没有其他转入分支,除出口外没有其他转出分支对于一段指令可能相互依赖,所以在基本块中可以开发的重叠数量可能要少于基本块的平均大小,为了

2020-08-31 16:47:03 4773 1

空空如也

空空如也

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

TA关注的人

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