1. 问题描述
给定一个IP地址,如何查询其所属的ISP,如:中国移动(ChinaMobile),中国电信(ChinaTelecom),中国铁通(ChinaTietong)?现有ISP的IP地址区段可供下载,比如中国移动的IP地址段
103.20.112.0/22
103.21.176.0/22
111.0.0.0/20
112.0.0.0/10
117.128.0.0/10
120.192.0.0/10
183.192.0.0/10
211.103.0.0/17
211.136.0.0/14
211.140.0.0/15
211.142.0.0/17
211.142.128.0/17
211.143.0.0/16
218.200.0.0/14
218.204.0.0/15
218.206.0.0/15
221.130.0.0/15
221.176.0.0/13
223.112.0.0/14
223.116.0.0/15
223.120.0.0/13
223.64.0.0/11
223.96.0.0/12
36.128.0.0/10
39.128.0.0/10
上述网络地址是CIDR记法:IP地址/网络id位数,其中IP地址分为两部分
- 网络id
- 主机id
比如,1
本文探讨了如何利用Trie树解决查询IP地址所属ISP的问题。通过将IP地址转换为二进制并构建Trie树,可以快速定位到IP的网络ID部分,从而确定ISP。文章详细介绍了Trie树的Java实现,并提供了IP地址格式化的辅助方法。
订阅专栏 解锁全文
557

被折叠的 条评论
为什么被折叠?



