Open im-Kalix opened 1 year ago
首先,感谢您能帮助发现问题和建议问题,这是好的。
但我并没有错,下面是我的详细说明:
但是,我们首先要清楚一点,那就是 WHOIS信息 并不绝对可信。
公网BGP全球路由表每秒都在更新路由信息,而WHOIS的信息通常是由资源所有方自行修改的,并不能及时准确地反映实时的路由信息。
你可能会被我说得有点晕,但是我可以举一个例子:
2a0d:2587:88b2::/48
你可以在 WHOIS 或者 IP库 中查询这段IP前缀,会发现他们都会把这段IP指向 Antarctica (AQ) 这个地区,也就是南极洲。 但是很显然,截止目前,南极洲上并没有任何机房网络资源,这很奇怪对吧?
答案是 我用自己的 ASN 广播了这个整蛊性质的IP前缀。
而让这段IP的归属地变成“南极洲”的方法很简单,就是去WHOIS服务器中将这段IP前缀的地区代码 自行修改 成了 AQ
。
让我们把话题回到 Akamai (AS20940)
为什么会被加到 IP-ASN.China 列表:
首先,我们引入几个概念:
IP Prefix (IP前缀)
: 指一段IP范围,通常带有 CIDR。 例如: 1.0.0.0/24
2a09::/48
AS PATH (AS路径)
: 顾名思义,就是一个AS自治域到另一个AS自治域所需要经过的AS自治域列表,一个例子: 4809 4134 4837 9808
就是表示 起点 AS4809
到 终点 AS9808
需要经过 AS4134
和 AS4837
。
我先来大概描述一下 IP-ASN.China 的筛选机制
如果 AS PATH 中包含有 4134(电信) 4837(联通) 9808(移动) ...
则提取 AS PATH 终点 ASN 至 IP-ASN.China 列表
而下列IP段则是 Akamai (AS20940)
命中规则的关键因素
184.50.92.0/23
184.50.87.0/24
184.50.90.0/23
69.192.8.0/21
23.77.214.0/23
23.13.184.0/21
23.42.176.0/20
这些IP段的 AS PATH
都包含着 AS4837
, 则中国联通在境内使用的AS自治域,所以根据上列规则,将会被纳入 IP-ASN.China 列表。
为什么要选择 AS4134
AS4837
AS9808
等ASN作为筛选条件?
因为这些骨干网 ASN 一般只在境内段使用,若出现则代表大概率在国内广播。
那为什么Akamai明明没有在国内广播,AS PATH
中却有 AS4837
骨干网ASN?
当然,这些是一些罕见的例外:他们可能购买了中国联通的境内路由优化服务,或者泄露路由了。
这些IP段的 AS PATH 都包含着 AS4837, 则中国联通在境内使用的AS自治域,所以根据上列规则,将会被纳入 IP-ASN.China 列表。
那么既然我们知道这个 ASN 实际上没有接入中国内地网络,甚至知道只有特定的 IP 段可能购买了“中国联通的境内路由优化服务”,能否对其进行细化而将大部分 IP 段排除出列表呢?
@wordlesswind 那么既然我们知道这个 ASN 实际上没有接入中国内地网络,甚至知道只有特定的 IP 段可能购买了“中国联通的境内路由优化服务”,能否对其进行细化而将大部分 IP 段排除出列表呢?
您的想法确实是对的,但是这并不符合 IP-ASN.China 的创建初衷,如果您想要得到一份完全没有任何位于中国大陆外设施的中国境内优化服务的IP范围,您可以前往 https://github.com/misakaio/chnroutes2 获取,他们拥有更多的网络资源和精力维护一个实时地IP范围列表。
考虑到连www.akamai.com的解析IP都是国内本地ASN的IP,我认为可以把来自Akamai的ASN完全排除出此列表。