IP 地址池与代理网关连接端点
代理服务可以向你提供一个连接地址,同时允许访问多个公网 IP。软件中填写的地址是网关连接端点;服务可用于访问网站的地址构成 IP 地址池。网站看到的是为该连接选出的出口 IP,它可能与网关地址不同。
保持地址与改变地址之间的选择,见静态代理与轮换代理。本文区分设置中的网关、账户有权使用的出口,以及需要时实际可用的地址。
网关背后发生什么
IP 池包含通过不同公网地址接入互联网的可用路径。在数据中心服务中,这些出口可能配置在服务器上;在住宅网络中,流量可能从参与服务的家庭连接发出;移动 IP 池则使用蜂窝连接。仅保存一串 IP 数字并不能转发请求,服务还需要正常工作的设备,以及经过所选出口的网络路径。
网关为应用提供了进入这套基础设施的统一入口。请求通常经过以下阶段:
- 软件使用支持的代理协议连接网关,并提供所需访问信息。
- 服务检查账户,确定该账户可以使用哪个 IP 池或已分配地址组。
- 服务应用相关路由设置,选择可用出口,或使用已有分配。
- 出口建立到目标的连接,响应通过代理服务返回应用。
例如,软件可能连接 gateway.example:8000,而网站接收到的流量来自 192.0.2.14。稍后通过同一端点建立的连接,可能从 198.51.100.27 发出。这些都是示例地址。软件保持了同一个入口,服务则改变了入口背后的出口。
网关让服务能够管理出口,无需为每个 IP 向应用提供独立连接记录。通过 DNS 查询网关主机名,得到的是如何到达该入口。要检查实际使用的出口,应查看目标收到的源地址,或通过代理访问 IP 检查服务。
网关主机和端口是什么意思
连接端点由主机和端口组成。主机是域名或 IP 地址;端口标识接受连接的服务。软件还需要代理协议,以及服务商要求的访问方式。路由指令可能通过用户名传递、由端口选择,或在账户控制面板中设置。
因此,一份代理连接记录列表可能对应几种不同安排:
| 访问安排 | 出口如何选择 |
|---|---|
| 直接代理地址 | 应用选择要连接列表中的哪个代理地址。 |
| 分配给出口的网关端口 | 服务将每个提供的端口映射到一个已分配出口,应用选择对应端口。 |
| 通过网关访问 IP 池 | 应用提供连接设置,服务从符合条件的 IP 池中选择出口。 |
网关既可以支持固定分配,也可以支持轮换访问。使用已分配端口时,即使服务替换了端口背后的出口,连接记录也可能不变。使用 IP 池访问时,生成的许多记录可能通向同一组可选 IP。
不同代理服务的端口号没有统一含义。不同端口可能选择另一种协议、不同路由规则,或某个特定的已分配出口。生成更长的端点列表,本身并不会分配更多 IP。关键在于服务为这些记录维护的对应关系。
请求可以使用 IP 池中的哪一部分?
服务商的整个网络,不一定都向每名客户开放。访问范围可以按产品、网络类型、账户或已分配 IP 组划分。两名客户即使使用同一个主机名,也可能因账户权限不同而经过不同的出口集合。
如果支持定向选择,附加条件还会进一步缩小范围。只要求一个国家,可能比同时要求该国家、某个城市和某个互联网服务商允许更多出口。筛选只能从现有地址中选择,不会创建符合条件的新出口。
可用性还会再次改变选择范围。有些出口可能离线、暂时不可用,或无法再承载一条连接。选择菜单中列出某个国家或城市,并不代表那里每时每刻都有合适出口。没有匹配项时,服务可能返回错误,或采用文档中说明的后备方案。对于指定位置的任务,退回到另一个国家会改变结果的意义。
粘性会话通过要求服务继续使用已分配出口来影响选择,但不会扩大 IP 池。IP 池描述可能使用的地址;会话和轮换规则决定服务如何随时间使用这些地址。
网关所在国家与出口所在国家
网关与出口可以位于不同国家。如果服务支持相应路由,位于德国的应用可以连接荷兰的网关,再使用日本的出口。网站从出口 IP 接收到连接。在本例中,网站将该 IP 识别为日本地址;示意图说明的是入口和出口地址,并非地理定位错误。
区域网关可以让应用通过更短或更好的路径进入服务。但剩余路径仍包括出口连接和目标网站。仅有附近的入口服务器,并不能决定整个请求的响应时间。
多个网关主机名也可能通向互有重叠的 IP 池。切换入口地址,不一定会得到独立的出口供应。不同入口服务器的会话处理方式也可能不同,因此已有分配未必能随连接迁移到另一个网关。
IP 池规模意味着什么?
只有弄清统计内容,IP 池总量才有意义。以下指标回答不同问题:
| 指标 | 描述内容 |
|---|---|
| 服务中已配置的 IP | 为服务配置的地址。有些可能处于保留状态、不可用,或不在你的账户分配范围内。 |
| 一段时间内出现过的不同 IP | 在一天、一个月或其他明确期限内记录到的不同地址。它们不一定曾同时在线。 |
| 账户目前可用的出口 | 在你的产品、访问权限和选择设置下,目前能够使用的地址。 |
受管理的数据中心 IP 池和部署在服务器上的 ISP IP 池,库存可能相对稳定。即便如此,地址段容量、已配置代理数量和套餐包含数量仍可能不同。处于备用状态的地址,只有在服务开放后才成为可用出口。
由参与服务的家庭连接构成的住宅 IP 池中,设备会加入和退出,互联网服务商也可能改变连接获分配的公网 IP。即使同时在线的设备数量没有增加,随着新地址出现,月度统计仍可能持续增长。
移动访问还有另一层区别。代理服务可能运营调制解调器和 SIM 卡,也可能通过使用移动数据的分布式设备取得访问权。公网地址由运营商分配。同一设备在不同时段可能使用不同 IP,多台设备也可能通过运营商级 NAT,即 CGNAT,共享一个公网 IP。因此,调制解调器或手机数量不能视为不同公网 IP 的数量。
对于具体任务,相关规模是其工作时段内、在所需条件下能访问的地址范围。庞大的全球总量,并不能说明某个城市或某个运营商中有多少合适地址。
为什么同一个 IP 会再次出现
IP 池不一定像队列那样,先把每个地址分配一次,再从头开始。服务可能随机选择、保持已有分配,或优先选择当前可用且适合路由的出口。因此,在应用尚未用过所有其他地址之前,同一个 IP 就可能再次出现。
重复地址可能有多种原因。会话可能正在保持已分配出口;当前筛选可能只剩很小的范围;IP 池中的一些成员可能离线;服务的选择策略也可能偏向特定出口。重复模式描述的是账户在这些条件下获得的地址,而不是整个网络数量的直接统计。
有效测试应记录出口 IP、时间、位置筛选条件和会话模式。打开新的目标连接,允许重新选择,而不是一直保持同一个粘性分配。例如,100 次连接返回 40 个不同 IP,只能确认测试期间你获得了这 40 个地址,不能确认服务商只有 40 个 IP,也不能确认后续 100 次连接会返回相同数量。
什么样的 IP 池才适合你的工作?
不同地址不一定代表不同网络覆盖。许多 IP 可能属于同一个地址段或同一个运营商。如果任务需要多个互联网服务商的结果,地址在这些网络中的分布就很重要。自治系统编号,即 ASN,有助于识别地址所属的路由网络,提供单纯 IP 数量无法体现的信息。
使用量同样不均衡。热门位置的出口,可能比同一池中其他位置的地址接收更多流量。在共享服务中,其他客户也可以同时或在不同时段使用某个出口。如果网站对源 IP 施加限制,该地址近期的活动可能影响你的请求。其他位置有大量地址,并不能减轻任务实际使用的这一组地址的压力。
IP 可用性也不同于处理容量。一个出口可以承载多条连接,而能够访问很多出口的账户,仍可能受到并发连接数、请求速率或流量用量限制。更多网关记录不会增加这些额度。有用的评估应分别考虑地址选择范围,以及服务能承载多少工作。
请求失败时,应确定发生在哪个阶段。网关访问错误,需要检查身份验证;“无匹配出口”响应,需要检查筛选条件和可用性;目标拒绝请求,则需要检查目标响应和请求本身。更大的 IP 池可能缓解合适出口不足,但无法修复错误凭据,也无法消除网站施加的账户限制。
