基于golang实现的网络探测(ping)工具,支持丰富的探测协议,如icmp echo、tcp syn、udp、udp echo、tcp echo等,同时基于一个叫做ping-pong ringbuffer的无锁数据结构进行探测结果的聚合统计。
一个spsc(single producer single consumer)ring buffer,与常规ringbuffer不同之处在于,它把ringbuffer中的数据区划分为ping、pong两个区域,producer可以读写ping区的数据,consumer仅可读取pong区的数据,可以应用于网络探测等领域,实现对数据的无锁聚合统计
网络traceroute跟踪分析工具的一个golang实现,支持icmp、udp和tcpsyn,同时会统计丢包和时延,并分析出异常的trace路径信息,以便于网络分析与故障定位