自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

转载 IEEE802.11协议帧详解(转载)

省电模式:工作站处于休眠状态(信号发射功率放大器关闭),基站为工作站暂存帧,然后定时发送Beacon(信标)帧,休眠的工作站定时醒来,获取信标帧,然后解析即可知道自己在基站中是否有暂存帧。如果有,则发送PS-poll帧,而且一个PS-poll只对应一个暂存帧,工作站会一直发送PS-poll帧,直至所有暂存帧全部取出。该帧会记载帧的源MAC地址。区分源与发送端是必要的,因为802.11MAC会将应答发送给帧的transmitter(发送端AP),而较上层协议会将应答发送给帧的source(源)。

2023-11-18 14:01:46 3670

原创 生成coredump文件调试程序,排查程序段错误

当一台 Linux 主机上同时登陆了 10 个人,在系统资源无限制的情况下,这 10 个用户同时打开了 500 个文档,而假设每个文档的大小有 10M,这时系统的内存资源就会受到巨大的挑战。例如在一个嵌入式开发环境中,各方面的资源都是非常紧缺的,对于开启文件描述符的数量,分配堆栈的大小,CPU 时间,虚拟内存大小,等等,都有非常严格的要求。资源的合理限制和分配。不仅仅是保证系统可用性的必要条件,也与系统上软件运行的性能有着密不可分的联系。

2023-08-11 20:10:20 454

原创 内核ebpf基础知识

2014 年初,Alexei Starovoitov 实现了 eBPF(extended Berkeley Packet Filter)。经过重新设计,eBPF 演进为一个通用执行引擎,可基于此开发性能分析工具、软件定义网络等诸多场景。

2023-08-03 23:45:51 573

原创 内核Ftrace使用案例

用来跟踪 Linux 进程执行时的系统调用和接收所接收的信号,可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。:是一个 Linux 内核函数跟踪器,function tracer,旨在帮助开发人员和系统设计者可以找到内核内部发生的事情,从 Linux-2.6 内核就支持了。:Android tracer,使用 ftrace 来跟踪 Android 上层的函数调用。:Android 的 trace 数据分析工具,将 atrace 采集上来的数据,以图形化的方式展现出来。

2023-08-03 23:40:07 386

转载 CSDN如何转载别人的文章(快速转载)

1、找到要转载的文章,用chrome浏览器打开,右键选择检查

2023-08-01 22:57:57 303

转载 Ubuntu用gparted给/空间和home空间扩容

今天拷贝资料,提醒home空间不足,用df -h 命令查看电脑发现当时装系统的时候,给home分配了371G然后现在已经用了98%了,而给/分配了275G,才用了30G,于是决定把/目录多余的空间分一点给home目录。

2023-08-01 22:54:21 1644

原创 基于SSH协议的内网穿透,访问内部笔记本电脑

1、公网服务器(本文选择阿里云服务器)2、内网笔记本电脑一台3、外网笔记本电脑一台4、在各个机器上安装ssh工具,外网电脑上本文采用MobaXterm软件5、保证ssh可以开机自启动。

2023-08-01 22:45:06 688

原创 Linux 系统性能诊断工具

系统诊断工具

2023-04-15 19:12:04 115

原创 原始套接字抓以太网数据包(面向链路层)

原始套接字抓包

2023-04-15 18:13:24 347 2

原创 高并发编程之线程池实现(C++语言)

使用多线程或线程池

2023-04-15 14:19:17 201

原创 Vscode配置ssh远程连接服务器

(1) 下载安装 Vscode(2) 阿里云服务器。

2023-04-08 20:14:33 3049

转载 【RDMA】RDMA抓包|ibdump 用法说明

RDMA抓包

2022-09-21 18:44:26 800

原创 Makefile编程笔记

只要所有的语法正确,编译器就可以编译出。

2022-08-20 16:04:34 485

原创 TCP/IP协议基础知识整理

TCP传送的数据单元称为报文段,TCP报文段既可以用来运载数据,又可以用来建立连接,释放连接和应答,一个TCP报文段分为首部和数据部分,整个TCP报文段作为IP数据报的数据封装在IP数据报中,其首部的前20B是固定的,TCP首部最短为20B,后面有4N字节是根据需要而增加的选项,长度为4B的整数倍。(1): 各占2B,端口是传输层与应用层的服务接口,运输层的复用和分用功能都要通过端口实现。(2)

2022-08-19 20:38:23 2542

原创 内核网络数据结构-SKB

一个封包就存储在这里,所有网络分层都会使用这个结构来储存其报文,有关用户数据的信息(有效载荷),以及用来协调其工作的其他内部信息。这个结构体是Linux网络代中最重要的数据结构,代表已接收或者正要传输的数据包头,此结构定义在include/linux/skbuff.h头文件中,由巨大的变量堆(head)组成,试图满足所有人的需求。...

2022-08-18 19:40:38 2033 1

原创 linux内核更换与patch等常识

假如补丁头是使用p0 表示在当前目录下查找src/a/b/c/d/file使用p1 表示在当前目录下查找a/b/c/d/file使用p2 表示在当前目录下查找b/c/d/file使用p3 表示在当前目录下查找c/d/file使用p4 表示在当前目录下查找d/file使用p5 表示在当前目录下查找file不使用pn表示忽略所有斜杠,在当前目录下查找file。...

2022-08-13 20:56:56 1656

原创 Mellanox驱动加载与RoCE & soft-RoCE(RDMA)

处理器(cpu) 内存 I/o设备(外设)三者之间的关系(1)没有DMA参与的访问方式:假设I/O设备为一个普通网卡,为了从内存拿到需要发送的数据,然后组装数据包发送到物理链路上,网卡需要通过总线告知CPU自己的数据请求。然后CPU将会把内存缓冲区中的数据复制到自己内部的寄存器中,再复制到I/O设备的存储空间中。如果数据量比较大,那么很长一段时间内CPU都会忙于搬移数据,而无法投入到其他工作中去。CPU的最主要工作是计算,而不是进行数据复制,这种工作属于白白浪费了它的计算能力。......

2022-08-12 13:47:00 3079

原创 内核通知链(网络子系统为例)

1.Linux内核中各个子系统相互依赖,当其中某个子系统状态发生改变时,就。为满足这样的需求,内核实现了2.通知链只能用在各个子系统之间,而。组成内核的核心系统代码均位于kernel目录下,通知链表位于kernel/notifier.c中,对应的头文件为include/linux/notifier.h。3.事件通知链表是,,进行相应的处理。(类似于设计模式中的观察者模式,解耦)...

2022-08-05 19:33:14 1201

原创 堆栈基础常识

参考网站:安装教程方法2:补充内容动态开辟内存的几种方式C语言动态开辟的管理方式(malloc,calloc,realloc)相同点:malloc只是开空间,参数是要申请空间的字节大小calloc:1.开辟空间后空间会被初始化为0.(这个很关键)2.参数有两个,一个是申请元素的个数num,另一个表示单个元素类型的大小sizerealloc:realloc是进行空间大小调整的操作。(新的大小要大于原来的大小,否则会导致数据丢失)功能:先判断当前的指针是否有足够的连续空间,如果有,扩

2022-08-05 10:32:52 205

原创 typedef用法总结

1.typedef创建的符号名只限于类型,不限于值2.typedef由编译器解释,不是预处理器(编译的阶段不一样)

2022-07-23 15:07:56 1388

原创 Linux常用小知识(1)

服务管理方式有两种service和systemctl,systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动,systemd对应的进程管理命令是systemctl,systemctl命令兼容了service(即sytemctl也会去/etc/init.d目录下,查看,执行程序)/dev/null是一个特殊的设备文件,这个文件接收到任何数据都会被丢弃。所以,2>/dev/null的意思就是将标准错误stderr删掉。...

2022-07-16 14:35:36 409

原创 cmake学习笔记

cmake 是一个跨平台的自动构建工具(除了 cmake 之外,还有一些其它的自动构建工具,常用的譬如 automake、autoconf 等),cmake 的诞生主要是为了解决直接使用 make+Makefile 这种方式无法实现跨平台的问题,所以 cmake 是可以实现跨平台的编译工具,这是它最大的特点 。安装完成之后可以通过 cmake --version 命令查看 cmake的版本号。cmake 官方也给大家提供相应教程,链接地址如下所示:文档总链接地址: https://cmake.org/d

2022-07-11 19:29:51 223 1

原创 Linux 虚拟设备-docker网络通信原理与分析-网络命令空间

查看网络命令空间添加网络命令空间删除网络命令空间进入命令空间查看ip信息启动命令空间网络创建一对vethveth绑定到命令空间veth添加ip地址例子(直接相连):参考网站:Bridge与OVS网站(https://www.cnblogs.com/bakari/p/10613710.html)veth pair实战(https://blog.csdn.net/weixin_42758299/article/details/124499618)新增条目删除条目替换条目显示条目...

2022-07-09 19:46:21 325

原创 ubuntu下对路由表操作-増删等操作

roue命令使用

2022-07-09 15:22:34 2403

原创 Linux 虚拟设备-docker网络通信原理与分析

命令清单:docker原理docker 让 veth1与veth2在同一个局域网内(bridge 充当二层交换机作用)docker1与docker2通信过程如下:实验拓扑创建veth-pair设备给veth0添加IP通过ifconfig可以查看到创建的veth设备路由表发送ping包第一次ping 10.70.2.11这个IP,此时arp表中没有相应记录,所以会发送一个ARP包当ARP包通过socket到达协议栈后,查询目的地址和系统路由,知道去10.70.2.11的数据包需要从1

2022-07-09 14:33:06 859

原创 kubernetes集群节点多网卡,指定特定网卡

部署kubernetes环境+网络组件flannel,没有选择指定的网卡, 导致flannel绑定到默认网卡,以至于kubernetes集群不能跨节点传输(ping 不通,可以通过bridge fdb show查看cnio维护的转发表,查看flannel.1的转发条目),为了确保转发到制定网卡上, 需要对kube-flannel.yaml文件修改......

2022-07-08 20:27:54 1249

原创 查看ubuntu 无线网卡名及加载的驱动

查看 ubuntu 上 pci的设备或usb的设备, 例如查看笔记本上是PCI接口的无线网卡,使用lspci 即可以查看, 查看无线网卡驱动,ethtool -i 无线接口名

2022-01-12 20:04:41 3111

MDK开发软件包

arm嵌入式开发的开发软件以及注册机文件,也可以用于单片机的程序编写,调试,烧录等工作,安装方便简单。

2018-01-19

空空如也

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

TA关注的人

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