# net_perf **Repository Path**: gxj777/net_perf ## Basic Information - **Project Name**: net_perf - **Description**: 网络节点延迟探测 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-11-27 - **Last Updated**: 2025-02-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # net_perf #### 介绍 网络节点延迟探测库 带宽测试方案: 两个节点之前启动一个服务端和客户端,进行收发数据,进行带宽测试。客户端统计自己上传和下载的带宽,记录下来。这个数据返回给函数调用者。 master中要保存所有节点两两之间的延迟信息,提供给算法: 1.在master上也得起一个收其他节点发来延迟信息的进程/线程,保存其他节点发来的延迟数据,收到所有节点的延迟信息后再进行算法。 master上启动一个线程开始服务端,采用UDP进行通信,收取其他节点发来的数据。 发送数据格式为:固定长度包头+包体,包头4字节保存ips_count表示接下来有多少组ip:rtt,包体为ip:rtt1 #### 示例使用说明 1. 需要在系统启动时启动iperf,ubuntu下带有systemctl管理的自启动iperf server。 2. 执行Makefile即可编译出来静态库和test程序,因为在iperf中库有代码更改,所以直接使用apt install iperf库会出现一些未定义符号。可以直接使用编译好的libnetutils.a库。 3. 如果需要在机器上重新编译的话按照以下流程: 3.1 makefile 将patch应用到代码,然后执行iperf库的编译安装 git clone https://github.com/esnet/iperf.git -b e4cb673170a395c12d83ad74b247659b2e70e257 git apply iperf.patch ./configure; make; make install 最后重新编译当前代码,执行make 3.2 cmake(需要[vcpkg](https://github.com/microsoft/vcpkg/)) cmake --workflow --preset=x64-linux-dynamic 4. 进行测试 sudo ./test 8.8.8.8 1.1.1.1 208.67.222.222 9.9.9.9 会去ping这些ip,以及测试iperf带宽(默认为本机iperf服务器mis)