- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 docker 报错 non-overlapping IPv4 address pool among the defaults to assign to the network 解决方法
docker-compose up 报错。
2024-03-26 20:42:40 937
原创 tpacket3_hdr结构体介绍
此外,TPACKET_V3 还提供了一些额外的特性,比如允许用户空间程序为每个数据包块设置私有区域,内核不会触及该区域,用户可以用来存储与块相关的任何信息。为了获得最准确和最新的信息,建议查阅你正在使用的 Linux 内核版本的源代码,特别是。和相关的 TPACKET_V3 功能时,需要确保你的应用程序与内核版本兼容,并遵循正确的编程实践,以确保数据的正确性和性能的优化。可以提高数据包捕获的效率,因为它允许用户空间程序通过内存映射直接访问内核中的数据包缓冲区,减少了系统调用的次数和相关的开销。
2024-03-07 14:47:08 448
原创 linux系统怎么查看接口带宽信息
请根据你的具体需求选择合适的方法。如果你需要计算出接口的实际带宽(考虑到802.1q标签等),你可能需要更复杂的计算,例如考虑到帧开销和标记。
2024-01-25 14:03:37 2232
原创 消息队列之使用场景
如果有人问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用 MQ 可能会很麻烦,但是现在用了 MQ 之后带给了你很多的好处。消息队列的使用场景有很多,但是归根结底都可以用六字真言来概括:解耦、异步、削峰。
2023-09-08 11:12:41 200 1
原创 Linux编程知识点总结
②缺点:a、通信是通过将共享空间缓冲区直接附加到进程的虚拟地址空间中来实现的,因此进程间的读写操作的同步问题;程序通过参数把该函数的函数指针传递给了其它函数,在那个函数里面调用这个函数指针就相当于调用这个函数,这样的过程就叫回调,而被调用的函数就叫回调函数。参考链接:https://blog.csdn.net/Jacky_Feng/article/details/108953519。若在程序中定义了一个函数,编译时,编译器会为函数代码分配一段存储空间,这段空间的起始地址(又称入口地址)称为这个函数的指针。
2023-07-28 15:54:43 190 1
原创 一、MakeFile
GNU make 中在这些变量中加入字符 "D" 或者 "F" 就形成了一系列变种的自动化变量,这些自动化变量可以对文件的名称进行操作。在模式规则和静态模式规则中,代表“茎”。“茎”是目标模式中“%”所代表的部分(当文件名中存在目录时,类似“$^”,但是它保留了依赖文件中重复出现的文件。D表示目录部分,F表示文件部分。先搜索 src 目录下的文件,再搜索 car 目录下的文件。当目标文件是一个静态库文件时,代表静态库的一个成员名。所有比目标文件更新的依赖文件列表。代表的是所有依赖文件。表示第一个依赖文件。
2023-07-28 15:51:36 158 1
原创 交换机硬件架构
下表将对以上三种架构做出总结:对于高端机架式交换机,以Crossbar交换架构和CLOS交换架构为主。其中CLOS交换架构是当前大容量数据中心核心交换机的理想架构。锐捷网络RG-N18000-X系列交换机基于无阻塞的CLOS架构,并且采用“零背板”技术,在提供高效、稳定交换服务的同时,可实现未来10年网络可持续平滑升级。
2023-04-20 09:56:59 2503
原创 操作系统中四步法实现PV操作
操作系统中,为了避免进程的死锁,给出了一种有效的控制算法----PV操作。PV操作是一种在利用PV操作实现进程的同步与互斥时,确保进程不会产生死锁和错误的算法。同学们在学习之初往往不知如何下手,如何确定信号量,如何确定进程是同步还是互斥,首要解决的问题就是准确无误地理解PV原语的意义。
2023-04-03 15:38:05 3768
原创 STP生成树协议
要使网络更加可靠,减少故障影响的一个重要方法就是“冗余”。当网络中出现单点故障时,冗余可以激活其他备份组件,以使网络链接不中断。冗余在网络中是必需的,冗余的拓扑结构可以减少网络的中断时间。单条链路、单个端口或者单台网络设备都有可能发生故障和错误,进而影响整个网络的正常运行,此时,如果有备份的链路、端口或者设备就可以尽量减少丢失的连接,保障网络的不间断运行。
2023-02-07 19:14:48 263
原创 asan内存检测工具的原理和使用
Hello,各位看官好,小弟的公司最近开始使用asan这个工具了,最近在晚上查了一下,不查不知道,一查吓一跳,这个工具真的是神一般的工具,所以我就花了一点时间整理了一下asan工具的用法。
2023-02-01 19:08:17 2218
原创 Tcpdump抓包命令
A 以ASCII格式打印出所有分组,并将链路层的头最小化。-c 在收到指定的数量的分组后,tcpdump就会停止。-C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_size中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。参数 file_size的单位是兆字节(是1,000,000字节,而不是1,048,576字节)。-d 将匹配信息包的代码以人们能够理解的汇编格式给出。-dd 将匹配信息包的代码以c语言程序段的格式给出。
2022-09-29 20:41:21 2720
原创 TCP/IP协议
网络通信中,有osi七层模型和TCP/IP四层模型。osi七层模型是在协议开发前设计的,具有通用性,但TCP/IP在实际的应用中效率更高,成本更低。应用层:访问网络服务的端口;表示层:提供数据格式转换服务,数据转换编码,数据压缩解压,数据加密解密;会话层:建立端连接并提供验证和会话管理;传输层:为应用层实体提供端到端的通信功能,处理数据包错误和次序;网络层:逻辑地址寻址和路由选择,实现不同网络之间的路径选择;数据链路层:数据分帧,硬件物理地址寻址、差错校验;物理层:将数据转换为二进制比特流。
2022-09-29 15:08:43 3880 1
原创 路由表、MAC表、二层转发表、ARP表、三层转发表
(1)定义:路由器中维护的路由条目的集合。(2)功能:路由表是路由器选择路径的唯一依据。即表里面有匹配项就转发数据,没有就将数据丢弃,丢弃之后向源端发送回馈机制。路由表(routing table)或称路由择域信息库(RIB, Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表建立的主要目标是为了实现路由协议和静态路由选择。
2022-09-29 11:07:18 4340
原创 MAC地址格式详解
之所以大部分组播地址都以01-80-C2和01-00-5E开头,那是因为使用这些组播地址的协议都是带头大哥IEEE和IANA名下的,它们的OUI分别是00-80-C2和00-00-5E是,变成组播地址就是01-80-C2和01-00-5E了,当然,除了带头大哥霸占的这些组播地址,还有01-00-0C-CC-CC-CC这样的地址,这个地址是Cisco霸占的,Cisco的OUI是00-00-0C。,每个字节的高位在前,低位在后,I/G位和G/L分别在字节中的最低位和次低位,最高位先发送,到了对端还是最高位。
2022-09-29 11:05:19 13255
原创 ns-3的绘图工具——Gnuplot(两种绘图方法)
ns-3的绘图工具——Gnuplot(两种绘图方法)对仿真数据进行统计分析,并做成图表可以更加直观地体现协议的性能。本文将介绍如何使用Gnuplot把ns-3仿真程序捕获的数据做成图表。提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录ns-3的绘图工具——Gnuplot(两种绘图方法)两种常用方法方法1(1)运行例子(2)程序运行后生成Gnuplot控制文件(3)使用Gnuplot处理Gnuplot控制文件(4)处理后生成图片文件方法2两种常用方法使用ns-3的gn
2021-11-16 16:09:55 1329
原创 TCP、UDP 检验和与IP检验和的概念及计算
TCP、UDP 校验和与IP检验和的概念及计算1、TCP/UDP报文格式2.1、IP检验和的计算2.2、TCP校验和的计算原理对于ip层协议来说,其校验和只要计算ip头即可,那相对的,对于四层协议来说,其校验和则需要计算四层头部与四层数据。2.3、UDP校验和的计算原理3、计算检验和( checksum)的过程很关键,主要分为以下几个步骤:校验和的计算规则很简单,就是将上表中所有的16进制数加起来,之后取反码。有一点需要注意的是,如果遇到最高位进位,那么需要对结果进行回卷,意思是4、C++代码实现关于校验
2021-05-25 15:05:02 6922 2
原创 图解DTS和PTS
图解DTS和PTSFFmpeg里有两种时间戳:DTS(Decoding Time Stamp,解码时间戳)和PTS(Presentation Time Stamp,显示时间戳)。由于把视频编码成I,B,P等帧,如下图:假设现在有I,B,P帧,那么要传输和显示呢?如果按照显示顺序传输的话:传输顺序就是I->B>P当对B帧进行解码后,由于B帧无法单独显示,只能等待后面的P帧如果不按照顺序传输,按照解码顺序传输的话:传输顺序就是I->P->B无论用哪种方式传输和显示,一
2021-04-28 11:12:51 700
原创 QT多线程开发(二)——QT开启多个子线程方法
QT多线程开发(二)——开启多个子线程方法使用movetoThread方法。、1、新建项目新建MainWindow和MyThread。2、代码如下mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QThread>#include "mythread.h"namespace Ui {class MainWindow;}class Ma
2021-04-22 10:31:31 5252 2
转载 QT多线程开发(一)——QT两种最简多线程创建方法及应用实例
QT多线程开发(一)——两种最简多线程创建方法及应用实例QT多线程的实现有两种方法,一种是继承QThread的多线程使用方法,另外一种是使用QObject实现多线的方法。传统的方式是继承QTread,但是这种方式比较的容易出错,QT官方推荐使用的是第二种方式。这里介绍这两种方式的最简单的一种创建方式。转载:https://www.pianshen.com/article/4123270938/.最简方法一:(1)创建一个QT应用(2)创建线程类,继承QThreadsimplethreadone.
2021-04-22 10:19:04 1156
原创 Qt5之海思3531D交叉编译笔记,键鼠热插拔
Qt5之海思3531D交叉编译笔记,键鼠热插拔写在前面一、搭建环境二、交叉编译1、下载Qt源码2、创建qmake.conf设置交叉编译工具链:本项目使用的交叉编译工具是 arm-hisiv400-linux-g++3、配置交叉编译环境4、配置编译环境5 、编译6、安装三、移植四、测试运行1、新建 Qt5 项目2、使用 Qt 自带的 qmake 编译工程写在前面为了方便交流请联系QQ:664788371一、搭建环境Win10 + VMware16 + Ubuntu16.04(64位) + Qt5.6.
2020-12-20 17:17:34 1082 1
原创 Linux系统下Qt读取Hi3531D的内存
Hi3531D读系统寄存器地址命令:himd.l 0x1205EE0 16不同的芯片地址不同代码如下:#include <QApplication>#include <stdio.h>#include <string.h>#include <errno.h>int main(int argc, char *argv[]){ QApplication a(argc, argv); FILE *fstream=NULL;...
2020-09-18 21:55:31 241
原创 斐讯K2P B1 博通TTL刷机方法
3、某宝、某东、某巴巴随便一个上面买个usb转ttl的小工具(我自己做的,可以私聊我,嘿嘿),对准了上面的VCC、GND、RX、TX插好(注意:如果接了VCC,一定要对准位置,不然小公鸡就被烧了),RX接TX,TX接RX。5、cmd中ping路由器网关(ping 192.168.2.1 -t),我这里设置的是200.1,路由器在上电之前,按住复位键不放,直到出现TTL=100,或者看串口进入CFE>2、好了,言归正传,直接上图,TTL焊个排插,GND/RX/TX三根线就行。喏,就下面这个一坨铁!
2020-04-20 17:15:59 19637 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人