python 实现 IP LPM
python 实现 IP LPM,一些坑.
资料来源:
https://medium.com/the-elegant-network/implementing-ip-lpm-in-pandas-6983671caddb
https://github.com/jsommers/pytricia更新
1
2021.08.01 初始
导语
突然来活,要求实现一个 ip lpm(最长优先匹配) 函数,还有速度要求.不限制语言…那 py 找库?>
向说在前面,以下实现的 lpm 仅做了简单验证,完全不推荐直接使用.
正文
非 win
如果可选的运行环境是非 win,直接装 PySubnetTree这个库就好了.
代码的示例足够简单.
win
推荐使用 pytricia 库,虽然没有明确说支持 win ,但是 win 下完美使用.
只是需要 win 下有 VS c++ 15 的编译环境…这玩意要占 4G…
这是 win 64 下打包后的 pytricia-1.0.2-cp39-cp39-win_amd64.whl,下载安装即可.
安装完毕后示例代码也简单,组一个 pytricia.PyTricia
,将所有信息输入 pytricia.PyTricia. 最后返回 pyt[ip]
索引访问结果.
其他
如果不使用这些库,还有一个参考文章 Implementing IP LPM in Pandas
相关文章