IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:BPF

共 4 篇相关文章

IT 累计浏览 20

百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形

baize 是百度开源的毫秒级网络监控工具,针对传统监控难以捕获的偶发性轻微丢包和比特翻转问题设计。它通过每秒5000包的高频探测,实现0.1%丢包率的精确检测,统计窗口可调至100ms。核心特性包括ECMP全路径覆盖,利用确定性端口轮转算法探测所有哈希路径;无需时钟同步的单向丢包检测,通过携带上一窗口发包信息在Server端无状态还原,避免NTP依赖;以及互补比特翻转检测,使用四种salt填充模式精确识别校验和漏检的翻转。性能优化采用Raw IP Socket和BPF过滤器减少内核开销,20MB Socket Buffer应对突发,8路并行读和无锁设计确保高吞吐。工具采用JSON配置驱动,单进程双角色部署,支持批量自动化,内置pprof便于调试。典型应用包括集群间监控、机房间探测、混合云链路等场景,与临时排查工具bitflip互补,专注于长期持续监控,为网络运维提供细粒度数据支撑。

IT 累计浏览 19

大厂的内部工具居然开源了! 一窥百度物理网络秒级监控定位的秘密

百度开源物理网络监控工具集nettools,首批发布bitflip和bitflip6,专注于大规模网络中的丢包检测与比特翻转识别。在物理网络环境中,传统ICMP的ping因无法构造五元组而失效,难以覆盖ECMP哈希分散的链路。bitflip采用UDP探测策略,通过生成大量五元组以确保覆盖所有可能路径。单向探测协议在包头上携带上一时间窗口的发送信息,使服务端能还原每个包的五元组,实现精确丢包定位,避免双向探测的路径误导。比特翻转检测使用四种salt填充模式,包括全0、全1、固定值和互补交替,专门应对绕过校验和的互补跳变问题。工程实现上,客户端利用raw socket直接构造IP和UDP包,结合BPF过滤优化收包性能,支持高并发探测。工具还支持双向对比故障方向,结合traceroute定位具体设备端口故障。该工具解决了大规模云服务中网络监控的精度与效率挑战,提供了从检测到定位的完整解决方案。

IT 累计浏览 14

百度网络监控工具开源第三弹:lidar — 不只是 pingmesh

百度开源的网络监控工具lidar是一种创新的探测方案,区别于传统pingmesh的全网互ping模式。传统pingmesh基于服务器间O(n²)复杂度的探测,百度原有netradar系统存在误报、漏报、时效慢和部署更新困难等问题。lidar采用单探测机发送TCP SYN包探测目标服务器,通过三种响应(SYN-ACK、RST、无响应)直接判断网络状态,无需安装agent或服务器端配置,简化了运维。开发中解决了跨平台收包差异:Linux上使用raw socket接收TCP响应副本,而macOS由于内核拦截,需通过BPF设备在链路层抓包。为优化高吞吐服务器性能,使用BPF过滤器在内核层过滤无关报文,仅投递匹配探测端口的报文,减少用户态开销。通过源端口轮转策略覆盖ECMP多路径,提高探测全面性。lidar具有高时效、高准确率和易于更新的优点,适用于机房内外网络监控,支持多种配置和高速率探测,已开源供社区使用。

IT 累计浏览 4,747

神探tcpdump第五招

在《神探tcpdump》系列的前四招中,作者集中讲解了tcpdump的各种选项配置,比如用-v控制详细输出、-n避免域名解析等基础操作。从第五招开始,教程的视角转向了过滤表达式——这正是tcpdump在实际应用中更常用