网络地理知识之历经十八个月的中美数据漫谈,了解一下?

看过我朋友圈的朋友们应该知道,从 2016 年 10 月开始,截止到 2018 年 3 月底,美国数据已经做了整整十八个月了,我们的编辑团队无数加班,中间历经运营商和地理位置的坑无数,按照我朋友的话说,你们这比生个孩子还累还痛苦。不过也有收获,我们从同行数据来看,基本上把美国数据的覆盖率和正确率都提高了很多,中间也学习研究了不少中美运营商在网络层面的异同之处,结合我们自己业务的情况,下面就给大家科普一下。

我在 2016 年的上半年,是最清闲的,因为两年多的时间,中国数据已经做的差不多了,每天例行维护一下就可以,又暂时没有开拓新地区的计划,虽然中间短暂做过台湾的数据,但是最后因为实在是无客户有在使用就提前进入维护阶段了,如果还有哪位客户需要,请来告诉我。我们会尽快推掉它的。

休息到了年中的时候,慢慢开始有了推其它国家的想法,但是没定哪个国家,其实想过从小往大来推,但是多小算小,哪个国家合适,跟大家寻求意见,而大家的建议都不一样,基本上都是从自身需求出发。所以最后纠结了半天,后来决定还是先把 IP 总数量第一的美国数据搞定作为第一优先级,因为搞定它,就等于搞定了一半的 IPv4 数据库了。毕竟 IP 库的两大指标除了准确率就是覆盖率了。但是因为我们的编辑人员数量不足,一直到 7、8 月份才招到足够的人员开始培训。而且严格来说,美国数据一直也在维护,只是相对来说,是以国家级别和云服务厂商、IDC 公司、互联网公司的数据为主,对于传统意义的运营商,之前也是苦于数据来源不足,即使想做也未必做好。这时候我们的合作伙伴的数据也有新的进展,所以也算是天时地利人和,至少有信心开始做了。所以我十一期间从台湾回来,十月份就算是正式开始进军美国数据。

十八个月里事情很多,朋友们先说结论比较好,不过结合结论看完会更好。

结论是如果你认为中国的网络很复杂,那你看过美国的就知道其实并不复杂了。

先对比一个数据,众所周知中国大型的运营商网络不外乎电信、联通、移动、铁通,传统四大运营商再加上教育网,而其它的那些捆一起也没多少。而在地理情况上,中国的地级市级别的数量只有 300 多个,而且省级规划比较分明,从网络层面只要进了省网,不用担心下面的地址有额外的情况。

按照道理算,屈指可数的几个大型运营商乘以 400 多个省级以及地级市的数量,假设说这就是网络地理复杂度的话,除了 IP 多一些,其实复杂度并不高。

那么美国呢?

我可以负责任的告诉各位,截止到写文章的时刻,我们的地理信息库里美国的城市数量有接近 17000 个,而在 IP 库目前出现的有大约一半左右,而且每天因为一直在推进可能还会有新增。我们 IP 库是三级地理位置。在美国的三级关系下有县、有市、有镇,换个角度说,即使把中国的行政区划数量放大到区县级也只有 3000 多个,跟目前的美国数据 17000 个相比,也是不够多的,只有跟中国的镇级数据(40000+)这个相比,才算接近。

再说运营商情况。

从 AS 公告的情况来看,目前公告 IP 数量最多的跟美国相关的 AS 如下:

据此,AS 公告 IP 超过 500 万的有 40 个,超过 1500 万的有 21 个,前 21 名公告 IP 数量总共 7.5 亿,总共公告 IP 数量超过 9.1 亿 。算上 IP 段重复公告以及 IP 所在地理位置不在美国的情况,打上个 50% 的折扣,也有 3.75 / 4.5 亿之多了,仅这个 IP 数量的规模就已经远超过包括中国在内的所有国家了。

而相关美国 IP 的 AS,总体上有 17000 个左右,每个 AS 至少都有一个 C 段的公告,大家可以算算两个数量相乘的结果是中国的多少倍。

而且每个运营商的骨干网络和覆盖区域都是不尽相同的,有全国级别的运营商,有大区域级别的运营商,有州级的运营商,有州内县级的运营商,大大小小,但这些都要花时间去研究和寻找资料,甚至是找不到资料,只能自己通过数据一点点分析。

更加上,美国运营商的运营区域并不是固定死的,可能今天你只是做这个州的服务,下个月就可以给另外的州服务了。反过来也是一样,所以 IP 的地理位置变化程度非常高。而且在这十八个月里光比较大规模运营商之间的并购就不止一起了吧。

另外说明一下,以上 AS 列表里没有包含军方 AS 的,我们目前对美国军方的 IP 是处于低优先级状态的,因为毕竟我们服务互联网公司,更关心民用网络,跟这些关系不大,而且他们的网络应该也并没有公开很多信息,我能看到的只有很小一部分。以后有时间再说吧。

再回头看看中国的 AS 公告情况:

熟悉一点的自然可以看明白里面公告的情况,不过中国(含港澳台在内)总体也不过几百个有公告的 AS,50 名往下 IP 公告数量衰减得很厉害,如果单独计算国内 AS 公告的话,AS 数量更是相比美国少得可怜,可以说是只是少数大公司的特权了,这也是国内运营商对公告不情不愿而加以价格限制的一个结果吧。

在骨干网络方面还有一个跟中国不太一样的情况,比如下图:

这是佛罗里达州的地图,我们之前以为美国的运营商的骨干网络规划也会非常严格,比如去佛罗里达州,一定是从某个州外城市比如亚特兰大再到某个佛罗里达州的中心城市,再从这里去全州。而某个大的运营商的佛罗里达州情况是从至少塔拉哈西为界,把佛罗里达州切成两半来看的话,西侧的网络是从亚拉巴马州访问过来的,而东侧是从乔治亚州访问过来的。我们之前错误的理解导致了错误的结果,导致两天之内,大批量的数据重修。

如果这个大家还不理解,也可以跟我说,你看中国的网络也是每个省级有两个入口,貌似跟你这个没区别啊。那我再给你更激进的图看看:

上图红色部分是罗得岛州,左侧是康涅狄格州,右侧和上面部分都是马萨诸塞州,而某个运营商的网络情况是大部分的马萨诸塞州的流量都是经由波士顿(图右上角,马萨诸塞州首府和最大城市)的这个中心的,但是,只有少数几个地方,贴近罗得岛州的某几个,流量是从罗得岛州过来的,我们这个事情,团队几个人研究了一下午,才算确认这个情况,虽然还没找到运营商的人确认过,但是我们基本认为这就是事实情况了。

再结合其它运营商的例子,可以得到一个结论,美国的运营商很多时候,就近接入的优先级明显大于属地优先,即使跨州,而在中国是严格的后者。

运营商这么做很合理,但是我们做 IP 库的就痛苦死了。有些例外情况要记录也就罢了,问题是每个运营商都可能有。。。

还有一些跟中国相比不太一样的,比如虽然没有第三方出口,但是公司级别的网络整体出口和小型运营商的集体出口比中国多,后者还有一个原因是美国做固定接入成本高,所以现在流行 Wi-Fi 方式,这种方式有可能就是 NAT 方式上网了,能看到的好处是手机也可以接入漫游,省钱。而在州边界上的运营商往往会跨州去做接入业务,但是网络确是一体化的,无论运营商大小规模都有,这种情况也很不好标注。包括美国很多公司 鼓励在家办公,但是需要 VPN 联入办公网络进行工作,导致 GPS 数据和网络位置对不上的情况,也远比中国的多的多。

可能大家还想对具体的运营商情况有所了解,我们让编辑同事们列举了几个比较典型的运营商情况:

AT&T

AT&T 拥有全球最大的 AS,AS7018,内含大约 1 亿 2 千万个 IP。
由于 AT&T 在历史上发生过 N 次分拆重组以及收购并购,导致其网络情况较之其他运营商要更为复杂,因为每一个被 AT&T 收购的公司,在 IP 地址的分配和使用上的策略都不尽相同,不过总的来说还是大同小异。
我们一开始确实在 AT&T 上面走了一些弯路,现正在加班加点的修正,请相信我们可以在可预见的未来,会把 AT&T 的网络做到和 COMCAST  以及 TWCC 一样完善。
可能是因为 AT&T 拥有的 IP 数量特别大,所以它 IP 的使用率看上去并不高,通常很小的一个社区就会分配至少 4 个 C 段,也就是 1024 个 IP。
另外 AT&T 还存在一种情况,级别高一些的路由器,会连接相邻小城市的路由器,这样经过了高级别路由器的 IP 的位置就至少有两种可能,这给我们的工作也造成了一些麻烦,但是随着我们的经验越来越丰富,解决这个问题也只是时间的问题。

COMCAST
美国最大的家庭宽带运营商,其最大的 AS,AS7922,内含逾 7000 万个 IP,IP 公告总量排名第六。
COMCAST 覆盖全美 40 个州,其网络类型主要有:XFINITY High Speed Data (HSD),Comcast Business Services (CBC)和 HFC (Hybrid Fiber Coax) 以及 Comcast Digital Voice (CDV)。
不管上面的哪种网络类型,COMCAST 在划分区域时,主要遵循以下策略:
部分州的 C 级 IP 段内,只有这个州的 IP,比如典型的加利福尼亚州和德克萨斯州,也就是独立的州网络。但大部分州,在 C 级 IP 段内,地理位置的分配是州混杂的,通常是相邻的州被划分成一个区域,比如俄勒冈州,俄勒冈州的北部和华盛顿州的南部属于同一个区域,再比如美国东北的新英格兰地区,一共有五个州,分别是马萨诸塞州,康涅狄格州,新罕布什尔州,佛蒙特州,缅因州,其实还有少量的纽约州。
但是因为 COMCAST 有相对比较完善的 IPWHOIS 和 rDNS 信息, COMCAST 的 IP 的位置确认起来,总的来说,难度并不大,加上我们合作伙伴的 GPS 数据数据,目前 COMCAST 在我们的 IP 库中的覆盖率和准确率已经相当不错。

CenturyLink
CenturyLink 为 37 个州提供通信和数据服务。该公司在发展过程中陆续收购了 Embarq,Savvis,Qwest,Level 3 Communications 等运营商。
CenturyLink 有以下几个特点给我们的工作带来了阻力:
1、从 GPS 数据看,特点是分布范围很广泛,一般情况下只能作为参考,需要同时结合 Trace 路径和 rDNS 解析来确定最终位置。
2、做路由的 IP 大多是按整个 C 段来用的,而且是一个C的路由段服务于一个城市及其周围的一片区域。但是由于这类的路由段是没有 rDNS 解析的,初步只能确定到一个较大中心城市。
3,有一部分 IP 是直接接到高级别路由下面,例如 67.14/16 这个 B 段就是做高级路由的。虽然这部分高级路由是有 rDNS 解析,但不能直接确定其使用位置。
4,拆开用的主要集中在华盛顿州,科罗拉多州,乔治亚州,北卡罗来纳州和明尼苏达州。这部分由于其上游繁多冗杂,什么级别的都有,所以给拆分标注带来的不小的困难。

TWCC(Time Warner Cable)
美国第二大家庭宽带运营商,以往的 Time Warner Cable,目前归属于 Charter Communications,但网络依然独立运作。
目前在数据库里州覆盖率为 86% 左右,城市覆盖率为 70%。
它的 IP 分配情况也是混杂居多,华盛顿州和爱达荷州混杂在一起,南卡罗来纳州和北卡罗来纳州混杂在一起,东北地区以纽约州为上游和缅因州、新泽西州、马萨诸塞州、新罕布什尔州等混在在一起,以俄亥俄州为上游与印第安纳州、肯塔基州、西弗吉尼亚州、宾夕法尼亚州等混杂在一起。

Windstream
IP 总量大约 900 万,业务分为家庭宽带,中小企业网络接入服务,为政府、医疗和银行等行业提供综合性的网络解决方案三部分,后两个是 Windstream 的主营业务。
Windtream 的特点是上游 rDNS 很完善,精准度高,所以 Trace 路径很清晰,确认到州级别比较容易,但由于商业 IP 占比高,GPS 数据量不多,下游 IP 量偏少,IPWHOIS 信息陈旧过时,且末端接入情况比较复杂,导致确认 IP 到城市级别相对困难。而且 Windstream 对其 IP 的分配貌似比较随意,经常就是前一个 /30 段分配到了北卡罗来纳州,后一个 /30 就分配到了佛罗里达州,完全没有规律。

希望对大家理解美国的运营商情况有所帮助,如果还有疑问可以找我聊。

多说一句,因为很多运营商的 C 级 IP 段的州级混杂分配,给我们的工作带来了极大的麻烦,因为相邻的两个不同的 IP ,州都可能是不一样的,这也是为什么我们的数据条目越来越多,而且几乎呈爆炸性增长的原因。我们去年中大概只有 60 万条,而目前已经妥妥超过 308 万条,而且还会继续增长。

再说一些具体覆盖率的数据:

如果 IP 层面看,基于 https://www.ipip.net/data.html 的数据,美国的 IP 有 15 亿左右,我们库里目前可以做到省的 IP 超过 6 亿,可以到达城市的 IP 有接近 5 亿。整体占比看着不高,但是在实际生产环境中可以看到的省市级覆盖率,无论我们自己的还是我们客户的,都能超过 80% 的覆盖率了。也就是说,相对中国的有几千万未启用 IP,美国的 未启用 IP 更多,这里面有历史原因,比如军方的 IP 就有很多,但是我们猜测认为这些是公网 IP 内网使用,并且不对外。仅这个部分就有 12 个 A 段的 IP,这就接近 2 亿了。还有很多公司拥有的 IP 整体未启用或者只启用很小一部分,比如 GE 的 3/8(近期卖了 64 个 B 段给 AWS), IBM 的 9/8(只启用了 9.9.9.9/24),福特的 19/8,Prudential 的 48/8,USPS 的 56/8(只启用了大约 1 个 B 段),等等。

当然,我们认为 80% 依然不够,还会继续努力学习继续努力推进,但是应该能够满足不少公司的需求了,尤其在准确度上要求比较高的,也欢迎各位反馈错误和建议,我们会第一时间确认并修正的。

我们这个月还会继续提高覆盖率、质量和标注效率,也许会在五月份组织人力推进一个小一些规模的国家的标注,如果进展良好,我们之前说的国家级进展也许会大大加快,到时候再给大家分享。

经历这十八个月的修炼和研究,有痛苦,也有收获的地方:

1、我们锻炼了队伍,其实中国的数据在大部分时间是我一个人在维护,一个人再牛,不如一个团队牛。

2、我们对运营商以及互联网络的理解更深了,现在看看,我们如果能把美国和中国维护好,我相信把其它国家的数据做好,只是时间问题。

3、我们经验更丰富了,我们一直在寻找更具效率的标注方式和方法以及把想法和经验工具化,同时也为未来的 IPv6 数据库做准备。

事太多不易记录,而且想要几千字就把十八月发生的事情都写完是不可能的。如果大家觉得看了文章觉得哪里没讲透或者对某些部分很关心,可以给我留言,我看是否需要补充。

最终还是要感叹一下,跟同行对比之后,发现做 IP 库这事,最终目的是覆盖率和准确率,但过程里还是比的谁能够更快更好的理解网络地理信息的情况,并且看谁工程化能力强,而不是搞上几个十几个所谓的专利做几个看着高大上的 DEMO 或者 PPT 再到处拼凑点数据熬年头说自己最资深最牛逼就可以搞定了的。

最后还是要感谢一下技术团队和编辑团队的努力与加班,还有合作伙伴以及客户们的大力支持,还有不少朋友们飞到国外都已经很习惯的给我发 IP 的定位信息了,还要感谢我的家人,毕竟这十八个月,我的很多夜晚都是电脑前度过的。。。

最后的最后,由于成本的加大投入和目前的国情,我们应该会在下半年进行一次产品价格的微调,如果有对价格敏感的客户,您可以联系我们提前续费。

可能有人不知道,我们两年前的 4 月份,只有不到 10 个人,现在我们有 20 多个人了,主要是编辑团队的增加。。。

另外,我们还做了一些小工具,跟大家分享一下:

1、应用户反馈,我们为微信用户开发了我们网站的查询页的小程序版本,基本上应该够用了,欢迎大家来用。

IP查询页小程序版

2、应用户反馈,我们为 Telegram 的用户,做了一个机器人,叫 IPIPBOT,内容应该和小程序是一致的,欢迎有事没事都跟它聊天。

3、有些用户有查看公网 IP 以及地理位置的需求,我们之前 IPIP 有一个小服务,没有推广,只是给知道的用户在用,现在面向全球做了一个更加独立的服务,叫 IP.LA,会在全球部署 API 节点(逐步进行中),欢迎有需求的人来用,也请多反馈。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值