IPv6 代理

IPv6 代理

IPv6 代理代表你连接网站时使用 IPv6 地址。地址包含以冒号分隔的数字和字母,例如 2001:db8::42。网站看到的请求源地址就是它。

两个 IP 版本的区别见 IPv4 与 IPv6 代理。这里介绍 IPv6 地址的写法,以及使用这些地址的代理有哪些注意事项。

什么是 IPv6 和 IPv6 代理

IPv6 是互联网协议第 6 版的缩写。它规定设备通过网络发送数据的规则。数据以称为数据包的小型单位传送。每个包都包含发送方和接收方的 IP 地址,告诉网络设备数据来自哪里、应发往哪里。

IPv6 地址分配给设备的网络接口,例如服务器的网卡。一个接口可以有多个地址,这些地址可以更改,因此 IP 地址并不永久绑定某台设备。

使用代理时,应用程序先将请求发送给代理。代理连接网站,接收响应,再将其传回应用程序。IPv6 代理使用 IPv6 地址完成这一过程。网站可以记录该地址、根据访问规则检查它,或用它估计访客所在国家。

IPv6 地址的结构

完整写出的 IPv6 地址由八组四位十六进制数字组成,组间以冒号分隔:2001:0db8:0000:0000:0000:0000:0000:0042。图中分别显示每一组。

完整地址 2001:0db8:0000:0000:0000:0000:0000:0042 包含八个带编号的组,以冒号分隔。每组有四位十六进制数字,占 16 位。八组合计 128 位。

十六进制使用十六个符号:数字 0–9 和字母 a–f。字母表示十至十五这些数值,因此在该记数法中也属于数字。它们共同构成数值地址,并不拼写国家或服务商名称。

比特是一个二进制位,值为零或一。每位十六进制数字表示四个比特,因此四位数字一组就是十六位。八组合计 128 位。每组可以包含从 0000 到 ffff 的数值。冒号让各组更易阅读,不属于这 128 位。

代理列表通常显示地址的缩写形式,按照特定规则省略一些零。地址本身保持不变:即使屏幕上未全部显示,它仍包含八个 16 位组。

地址缩写与端口号

第一条规则是移除每组开头的零。例如,0db8 变为 db8,0042 变为 42,0000 变为单个 0。现在,示例地址写为 2001:db8:0:0:0:0:0:42。组内中间或末尾的零必须保留,删除它们会改变数值。

第二条规则是将连续的全零组替换为双冒号 ::。示例中有五个这样的连续组,因此可写为 2001:db8::42。一个地址中只能出现一次双冒号,否则软件无法判断每个位置省略了多少组。

缩写地址时,应选择最长的连续全零组。如果有两段或更多同样长的连续零组,缩写第一段。为了统一写法,标准建议使用小写字母,并规定不要用双冒号替换单独一个全零组。大写字母也有效,表示相同数值。因此,完整形式、缩写形式,以及字母大小写不同的形式,都可以指向同一 IP 地址。

在 IPv6 地址旁写端口时,应将地址放在方括号中,再在后面添加端口:[2001:db8::42]:8080。括号标明地址及其内部冒号在哪里结束,从而可以单独读取端口。

2001:db8:0:0:0:0:0:42 中五个连续全零组变为双冒号。同一地址加上端口后写为 [2001:db8::42]:8080。蓝色括线标识方括号内的地址,绿色括线标识括号外的端口 8080。

这里,括号内的文本是 IPv6 地址,8080 是端口号。一台服务器可以运行多项服务,端口标识要连接哪一项。对于代理,它是接受客户端连接的端口。端口和括号都不属于 IPv6 地址。包含协议的完整字符串可以写为 http://[2001:db8::42]:8080。如果应用程序提供独立的地址和端口字段,应按照要求的格式分别填写。

为什么 IPv6 地址如此之多

128 位可以产生 2128 个可能地址,约为 3.4 × 1038。这是所有可能组合的总数。并非全部都用于互联网:一些地址段保留作特殊用途。

网络运营方获得大型 IPv6 地址段,再将其中一部分分配给客户。代理服务商可以拥有大量未使用地址,利用自己的地址段构建 IP 池,即向代理用户提供的地址集合。需要更多 IP 时,服务商可以从同一地址段中获取。

这种供应使服务商更容易扩大 IP 池,并分配从未被使用过的地址,也使较低的每 IP 价格成为可能。不过,正常工作的代理仍需要服务器和网络接入;闲置地址不能代替硬件或互联网连接。

服务商从哪里获取 IPv6 地址

区域互联网注册机构将地址段分配给网络运营方及其他互联网参与者。代理服务商可以从托管公司、为其服务器提供互联网接入的运营方,或通过注册机构为自己的网络获取地址段。它必须按照地址段分配时的条款使用地址。

地址段还需要路由,即数据在网络之间传输的路径。网络设备必须将网站响应送达使用这些地址的代理服务器。没有正确配置的路由,代理就无法与网站交换数据。随机生成的 IPv6 地址列表不能使用:这些地址必须已分配给服务商,并且能通过其网络到达。

一台服务器可以拥有许多 IPv6 地址。代理软件连接网站时选择源地址。通过同一 TCP 连接发送的请求,会保持该源地址;新连接使用哪个地址,则取决于服务设置。因此,一千个不同 IP 并不一定意味着一千台服务器:所有地址都可以运行在一台机器上,共用一条互联网连接。

IPv6 标签不能告诉你谁在运营网络。数据中心、家庭互联网服务商、组织和移动运营商都会使用这些地址。应在具体服务中检查网络类型和国家;仅凭地址格式无法判断这两项。

IPv6 代理的费用由什么决定

服务商需要支付服务器和网络接入费用、配置代理、监测运行情况,并为客户提供支持。即使未使用的 IPv6 地址充足,这些费用仍然存在。如果一台服务器处理大型 IP 池,成本就可以分摊到许多 IP 上。因此,很长的地址列表也可能相对便宜。

服务商可以采用不同计费方式:固定 IP 列表、流量、请求数量,或 IP 池访问权限。要估算成本,需要知道套餐包含什么、哪些项目另行收费。仅看每 IP 价格,无法充分了解运行任务的总成本。

地址数量与代理性能是不同的事。在同一服务器上再添加一千个 IP,不会使处理器变快,也不会增加网络带宽。它能够处理的并发请求数量,取决于硬件、网络接入和套餐限制。响应时间还取决于网站距离,以及网站与代理之间的网络。

因此,包含许多 IP 的套餐可能适合需要不同地址、但请求相对较少的任务。处理大量并发请求需要足够的服务器和网络容量。选择套餐时,应分别评估 IP 数量和可承受工作量。

网站和应用程序兼容性

代理要通过 IPv6 连接网站,网站就必须具有 IPv6 地址,并接受发往该地址的连接。该地址通常列在 DNS 中,DNS 是将域名映射为 IP 地址的系统。IPv6 使用 AAAA 记录。仅有 DNS 记录还不够:网站服务器必须运行,代理服务商的网络也必须能够通过 IPv6 到达它。

如果网站仅支持 IPv4,代理就不能直接从 IPv6 地址访问它。有些服务商提供对这类网站的 IPv4 访问:请求使用 IPv4 地址转发,网站看到的也是该地址。应向服务商确认是否提供这一选项。一千个 IPv6 地址不会变成一千个 IPv4 地址;可用 IPv4 数量取决于服务商提供多少。

网站可能为首页、账户登录,以及供应用程序请求数据的 API 使用独立域名。例如,首页可以通过 IPv6 访问,登录服务器却仅支持 IPv4。仅通过 IPv6 连接网站的代理,可能打开首页,却无法完成登录。应测试应用程序执行的完整操作顺序:打开一个页面,不能证明其他请求也会成功。

应用程序如何向代理传递网站地址也很重要。HTTP 和 SOCKS5 是代理协议,仅凭名称无法确认某个具体代理能否通过 IPv6 连接网站。如果应用程序发送域名,代理可以通过 DNS 查询其 IPv6 地址,但两种版本都可用时,也可能选择 IPv4。如果应用程序仅发送 IPv4 地址,就是请求连接该地址。要专门测试 IPv6,应使用能选择 IPv6 的服务设置,或在支持时传递目标的 IPv6 地址,并核实目标看到的地址。

应用程序中填写的地址,可能不同于网站看到的地址。例如,应用程序通过 IPv4 连接代理,代理再通过 IPv6 连接网站。这使你即使自己的网络没有 IPv6 连接能力,也能使用 IPv6 代理。如果服务商仅提供 IPv6 地址用于连接代理本身,你的应用程序和网络也必须支持 IPv6。

新地址、网络信誉与限制

充足的 IPv6 供应,使此前未使用的地址成为可能,但不能证明某个具体地址是新的。服务商可能将以前分配给其他客户的 IP 给你,其自身分配记录也可能不涵盖地址段更早的用途。如果地址确实从未使用,它就没有此前用户在该单个 IP 上的请求历史。这与周围网络的历史是不同问题。

网站可能同时考虑单个 IP 及其所属网络。例如,一个未使用地址可能属于某个数据中心,而该数据中心的其他地址此前已向网站发送不受欢迎的请求。在这种情况下,单个 IP 没有历史,也不保证网站会信任它。

阻止规则也可能覆盖整个地址段。如果网站已阻止服务商的地址段,换成其中另一个 IP 不能解决问题。同样,也不能假定每个地址都会获得独立的请求配额:网站可能对一组地址应用共享限制。

销售方承诺“干净 IP”时,需要说明具体含义。它可能对照某些阻止列表检查过地址,但你需要的网站有自己的限制。地址未出现在已检查列表中,仍可能无法在某个具体网站使用。

大型 IPv6 池本身并不意味着信誉差。地址数量、过去用途和所属网络,是不同的考虑因素。应询问服务商,提供的地址来自一个地址段还是多个网络,并在所需网站上测试代理。

返回知识库