截至2026年10月7日,Shifter拥有规模最大的美国实时IP池,超过Oxylabs和Bright Data,而成本只是其一小部分。Shifter 现在拥有数量最多的美国活跃 IP 资源池

查看基准测试

住宅代理

理解住宅代理网络中的ASN多样性

如果大多数IP地址都集中在少数几个网络上,庞大的IP数量意义不大。如何衡量代理池中的ASN多样性、应使用哪些指标,以及良好表现是什么样子。

Elena Petrova

2026年10月15日 · 3 分钟阅读

Proxy 服务商经常宣传池的规模:数百万、数亿个 IP。池的规模确实重要,但它掩盖了另一个对可靠性同样重要的问题:这些地址来自多少个不同的网络。一千万个 IP 如果集中在少数几个网络上,其表现会与分布在数千个网络上的池截然不同。

每个 IP 地址都属于某个组织运营的网络,由一个自治系统编号(ASN)标识。对于住宅代理而言,这个 ASN 通常是一家消费级互联网服务商。本文解释了为什么池在 ASN 上的分布很重要,如何从出口样本中测量它,以及如何解读这些数字。

为什么 ASN 多样性很重要

网站和反爬虫系统很少单独评判一个 IP 地址。它们是在上下文中评判的,而网络正是它们掌握的最有力的上下文信息之一。

  • 封锁会按网络扩散。 当某个网站发现同一网络上有大量地址的滥用行为时,它可以对整个网络进行限速或发起验证挑战。集中在少数几个 ASN 上的池正暴露在这种风险之下:一次网络层面的决定就会影响你很大一部分流量。
  • 信誉是共享的。 同一网络上的地址会继承该网络的部分信誉。多样化的池受某个网络信誉下降的影响较小。
  • 托管网络会暴露破绽。 一个”住宅”池如果有相当一部分地址属于托管或数据中心网络,那它就不是真正的住宅代理,网站也会相应地对这些地址区别对待。
  • 本地真实性需要本地网络。 如果你采集的数据是从某个国家或城市的视角出发的,出口就应该分布在当地人实际使用的服务商网络上。

这也是为什么针对特定网络进行定向对某些任务有用的原因。我们的住宅代理 ASN 定向指南讲述了何时应将请求锁定到某一个服务商,这正是相反的情况:为特定测试刻意进行集中。

“多样化”应该是什么样子

真实的互联网市场是集中的。在大多数国家,少数几家大型服务商服务着大部分家庭,后面跟着一条由更小的区域性和移动网络组成的长尾。健康的住宅池应该反映这种形态:少数几家大型消费级 ISP 承载相当一部分出口,后面跟着许多更小的网络。

所以目标并不是让各个网络的份额完全均等。而是两件事:

  1. 没有任何单一网络的占比超出该国互联网市场本应有的水平。
  2. 存在长尾: 有许多不同的网络,这样任何一个网络被封锁都只会影响一小部分流量。

如何测量

你无法看到服务商的整个池,但可以对其进行抽样。通过轮换网关发送请求,记录每个请求从哪个 IP 和网络出口,并对样本计算集中度指标。

四个指标涵盖了大部分重要内容:

指标衡量的内容如何解读
不同 ASN 数量样本中出现了多少个网络越高越好;随样本量增长而增加
Top-1 和 Top-5 占比最大一个和最大五个网络的出口占比越低意味着对单一网络决策的暴露越少
赫芬达尔-赫希曼指数(HHI)份额平方和,从接近 0(分散)到 1(单一网络)衡量市场集中度的标准指标
有效 ASN 数量1 / HHI:样本的表现相当于多少个等规模的网络最直观的单一数字

再加一项与集中度无关的检查:非住宅网络上的出口占比。对于住宅池,这个数字应该接近零。

下面的模块通过代理使用 ip-info.com(我们免费的 IP 地理定位 API)对出口进行抽样,该 API 会返回每个地址的 ASN、网络名称以及它是住宅网络还是托管网络,并计算这些指标:

from collections import Counter

import requests


def sample_exit(proxy_url, get=requests.get):
    """One exit through a rotating proxy: its IP, network (ASN) and network type."""
    info = get("http://ip-info.com/json", proxies={"http": proxy_url, "https": proxy_url}, timeout=20).json()
    return {"ip": info["ip"], "asn": info["asn"], "as_name": info["as_name"], "user_type": info.get("user_type")}


def diversity(exits):
    """How spread out a sample of exits is across networks."""
    exits = list({e["ip"]: e for e in exits}.values())          # count each IP once
    counts = Counter(e["asn"] for e in exits)
    n = len(exits)
    shares = sorted((c / n for c in counts.values()), reverse=True)
    hhi = sum(s * s for s in shares)                            # Herfindahl-Hirschman index, 0 to 1
    return {
        "unique_ips": n,
        "asns": len(counts),
        "top1_share": round(shares[0], 3),
        "top5_share": round(sum(shares[:5]), 3),
        "hhi": round(hhi, 4),
        "effective_asns": round(1 / hhi, 1),                    # as many equal-sized networks as this
        "non_residential_share": round(sum(e["user_type"] != "residential" for e in exits) / n, 3),
    }

两个 1,000 个出口的示例样本展示了一个广泛的池和一个狭窄的池读数差异有多大(合成数据,并非真实服务商):

import random

from asn_diversity import diversity

random.seed(7)
# Illustrative samples of 1,000 exits from two pools (synthetic, not real providers)
broad = [{"ip": f"ip{i}", "asn": random.choice(range(60)), "user_type": "residential"} for i in range(1000)]
narrow = [{"ip": f"ip{i}", "asn": random.choice([1, 1, 1, 1, 2, 2, 3, 4]), "user_type": "residential"}
          for i in range(1000)]
print("broad ", diversity(broad))
print("narrow", diversity(narrow))
broad  {'unique_ips': 1000, 'asns': 60, 'top1_share': 0.028, 'top5_share': 0.125, 'hhi': 0.0176, 'effective_asns': 57.0, 'non_residential_share': 0.0}
narrow {'unique_ips': 1000, 'asns': 4, 'top1_share': 0.506, 'top5_share': 1.0, 'hhi': 0.3466, 'effective_asns': 2.9, 'non_residential_share': 0.0}

广泛的池表现得像 57 个等规模的网络,其最大网络承载的出口占比不到 3%。狭窄的池表现得像不到三个:所有出口中有一半位于一个网络上,而且每一个出口都属于四个网络之一。对于狭窄的池,仅对最大 ASN 的一次网络层面封锁就会阻断你一半的请求。

获得公正的样本

几项注意事项可以保证测量的可靠性:

  • 按国家抽样。 多样性只有在同一市场内部才有意义。混合不同国家会人为抬高 ASN 数量,却无法说明任何一个国家的真实情况。
  • 使用足够多的请求。 不同 ASN 的数量会随样本量持续增长,所以应在相同样本量下比较不同的池。每个国家一千个出口是一个合理的起点;份额和 HHI 的稳定速度比数量更快。
  • 每个 IP 只计一次。 轮换池可能会多次返回同一个地址。上面的模块通过 IP 去重。
  • 将样本分散在一段时间内采集。 住宅池会随着一天中设备的上线和下线而变化。相比一次性突击抽样,持续数小时的抽样能给出更真实的情况。
  • 对每个池使用相同的查询来源。 不同的地理定位数据库可能会将同一个地址归属到略有不同的网络。

这对选择服务商意味着什么

池规模和 ASN 多样性回答的是不同的问题。规模告诉你可能获得多少个地址;多样性告诉你的流量对任何单一网络决策的暴露程度有多大。在评估服务商时,这两项都要问,并在你关心的国家用自己的样本加以验证。

同样的思路也适用于固定 IP。如果你为长会话购买 ISP 代理,把它们分散到多个服务商和城市上,可以避免把每一个身份都放在同一个网络上。我们的购买 ISP 代理而不浪费钱的指南中包含一个用于检查一批试用 IP 的脚本,而我们的ISP 代理让你可以为每个 IP 选择城市和 ISP。服务商如何采购其地址,也会影响多样性;我们关于服务商如何合乎道德地采购住宅 IP的说明介绍了应该问哪些问题。

常见问题

代理网络中的 ASN 多样性是什么?

指的是代理池中的 IP 地址在不同网络(自治系统)上的分布广度。多样化的池包含许多网络,没有哪一个占主导地位;集中的池则把大部分地址集中在少数几个网络上。

为什么 ASN 多样性对抓取很重要?

网站经常针对整个网络采取行动,而不是单个地址。如果你的大多数出口共享同一个网络,一次网络层面的封锁就可能影响你很大一部分请求。

我该如何测量 ASN 多样性?

通过代理发送一批样本请求,记录每个出口的 ASN,然后计算最大几个网络的占比、赫芬达尔-赫希曼指数以及有效网络数量。要按国家、分时段抽样,并且在比较不同的池时使用相同的样本量。

更大的代理池是否总是意味着更高的多样性?

不一定。一个大型池仍可能集中在少数几个网络上。池规模和网络多样性是两个独立的衡量指标。

结论

IP 数量衡量的是池的规模;ASN 多样性衡量的是它的韧性。按国家对出口进行抽样,每个 IP 只计一次,并关注有效网络数量、最大网络占比以及非住宅出口的占比。健康的住宅池应该反映当地的互联网市场:少数几家大型消费级 ISP,加上后面的长尾,没有任何单一网络在你的流量中占据过大的份额。

准备好开始了吗?

试用 Shifter 住宅代理,205M+ 个 IP,195+ 个国家,低至 $0.10/GB。

立即开始