电脑、手机和服务器要通过互联网通信,需要使用IP地址标识网络中的位置。当前广泛使用的IP协议主要有IPv4和IPv6。两者承担的基本任务相同,都是负责为设备寻址,并让数据包能够在不同网络之间传输。

IPv6并不是一种更快的网络套餐,而是为解决IPv4地址不足等问题设计的新一代互联网协议。它调整了地址格式、数据包头部和自动配置方式,但不会自动提高网站带宽或服务器性能。

IPv4和IPv6有什么区别?地址格式与网络特性解析

IPv4和IPv6是什么

IPv4是Internet Protocol Version 4的缩写。它采用32位地址,是互联网长期使用的主要网络层协议。常见地址写法如下:

192.168.1.10
8.8.8.8
203.0.113.25

IPv6是Internet Protocol Version 6的缩写,采用128位地址。地址通常由十六进制数字和冒号组成,例如:

2001:db8:1234:5678:0000:0000:0000:0001

IPv6地址中的连续零可以压缩,上面的地址也可以写成:

2001:db8:1234:5678::1

两种协议并不是同一种地址的不同写法。IPv4设备不能仅通过修改地址格式变成IPv6设备,网络设备、操作系统、运营商和服务器都需要支持对应协议。

地址长度和数量不同

IPv4地址长度为32位,理论地址数量约为43亿。这个数量看起来很大,但互联网设备、服务器、企业网络和移动终端持续增加,可直接分配的公共IPv4地址逐渐不足。

IPv6使用128位地址,可提供远多于IPv4的地址空间。它能够为大量设备和网络分配独立地址,减少互联网对公共IPv4地址共享方案的依赖。

对比项目IPv4IPv6
地址长度32位128位
书写方式十进制数字,以句点分隔十六进制数字,以冒号分隔
地址数量约43亿个理论地址远大于IPv4
常见示例192.0.2.12001:db8::1
DNS记录A记录AAAA记录

理论地址数量不等于所有地址都能直接分配。两种协议都划分了保留地址、特殊用途地址和不同的地址范围。

IPv4为什么出现短缺

IPv4设计时,互联网规模远小于现在。随着个人电脑、智能手机、云服务器、物联网设备和家庭路由器增加,可分配的公共地址逐渐紧张。

为了延长IPv4的使用时间,网络普遍采用NAT,也就是网络地址转换。家庭或公司内部的多台设备可以使用私有地址,再通过一个或少量公共IPv4地址访问互联网。

常见的IPv4私有地址范围包括:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

例如,家庭路由器可以让手机、电脑和电视分别使用192.168.1.x地址,而外部网站看到的可能都是路由器使用的同一个公共IPv4地址。

NAT缓解了地址不足,但也增加了地址映射、端口转发和连接排查的复杂度。IPv6提供了更大的地址空间,原则上不需要依靠大规模地址共享来解决设备数量问题。

IPv6地址怎么缩写

完整IPv6地址由8组十六进制数字组成,每组最多4位:

2001:0db8:0000:0000:0000:ff00:0042:8329

书写时可以省略每组开头的零:

2001:db8:0:0:0:ff00:42:8329

连续的全零分组可以使用两个冒号压缩:

2001:db8::ff00:42:8329

同一个地址中,双冒号通常只能使用一次,否则无法确定省略了多少组零。

IPv6地址包含端口时,需要使用方括号,避免地址中的冒号与端口分隔符混淆:

http://[2001:db8::1]:8080/

数据包头部有所调整

IPv4和IPv6的数据包头部结构不同。IPv6对基础头部进行了简化,并使用扩展头部承载部分可选功能。

IPv4基础头部包含头部校验和、分片相关字段以及可变长度选项。IPv6基础头部长度固定,不再包含头部校验和,路由器转发时不需要反复重新计算这一字段。

IPv6中间路由器不会像IPv4那样对过大的数据包进行分片。发送端需要根据路径最大传输单元调整数据包大小,必要时由发送端完成分片。

这些变化有利于简化路由器处理流程,但真实网络速度仍然受到运营商线路、路由质量、服务器位置、带宽和拥塞情况影响。

地址配置方式不同

IPv4网络中,设备通常通过DHCP获取地址、网关和DNS配置,也可以由管理员手动填写。家庭路由器再通过NAT让内部设备访问公网。

IPv6支持无状态地址自动配置。设备可以根据路由器广播的信息生成地址,不一定需要传统DHCP服务器。网络也可以使用DHCPv6集中分配部分参数。

IPv6设备还会自动生成链路本地地址,通常以fe80::开头。链路本地地址只能在当前网络链路中使用,不能直接通过互联网路由。

操作系统可能同时拥有多个IPv6地址,例如链路本地地址、全局地址和临时隐私地址。这属于正常现象,并不代表网络配置出现冲突。

广播机制也有变化

IPv4支持广播,一台设备可以向同一广播域中的所有设备发送数据。网络规模较大时,过多广播会增加不必要的流量。

IPv6取消了传统广播,主要使用单播、组播和任播:

  • 单播用于一对一通信;

  • 组播用于向特定设备组发送数据;

  • 任播允许多个节点使用同一地址,网络将请求发送到路由上较合适的节点。

IPv6使用邻居发现协议完成地址解析、路由器发现和邻居状态检测等任务,作用上覆盖了IPv4中ARP的部分使用场景。

安全性并非自动提升

IPv6协议体系支持IPsec相关能力,但这不表示启用IPv6以后,网络和网站会自动变得更安全。

服务器仍然需要配置防火墙、访问控制、系统更新、TLS证书和应用权限。只配置IPv4防火墙却忽略IPv6规则,反而可能让服务通过IPv6地址意外暴露。

建站时需要分别检查IPv4和IPv6监听状态。例如,一个管理面板可能限制了IPv4访问来源,却允许所有IPv6地址连接。安全策略必须同时覆盖两种协议。

IPv6地址空间很大,传统的全网扫描难度较高,但攻击者仍可通过DNS记录、日志泄露、证书信息和常用地址规律找到目标。不能把地址难以猜测当作安全措施。

IPv6是否一定更快

IPv6本身不能保证网速更快。访问速度主要取决于网络路由、运营商互联、服务器带宽、CDN节点和连接质量。

在某些网络中,IPv6路由可能更加直接,因此延迟更低;在另一些网络中,IPv6线路和互联质量较差,反而可能比IPv4慢。

浏览器和操作系统通常会在IPv4与IPv6之间选择连接,并使用类似Happy Eyeballs的机制减少某一种协议连接异常造成的等待。用户不需要每次手动选择协议。

判断网站的IPv6体验,应分别测试解析时间、连接延迟、丢包和实际下载速度,而不是看到AAAA记录后就认为访问性能已经改善。

IPv4与IPv6如何共存

IPv4和IPv6不能直接互相通信,因此互联网升级并不是在某一天关闭IPv4,再全部切换到IPv6。实际部署通常采用双栈、隧道或协议转换等方式。

双栈网络

双栈设备同时运行IPv4和IPv6。网站可以同时配置A记录和AAAA记录,支持IPv6的用户优先尝试IPv6,不支持的用户继续使用IPv4。

这是当前较常见的过渡方式,但服务器、防火墙、监控和DNS都需要同时维护两套协议。

协议转换

NAT64与DNS64等技术可以帮助只具备IPv6连接的客户端访问部分IPv4服务。运营商和大型网络也可能使用其他地址转换方案维持兼容。

协议转换能够解决部分互通问题,但不等于IPv4与IPv6天然兼容。某些依赖固定IP地址、特殊协议或嵌入式地址的应用仍可能出现问题。

网站如何支持IPv6

网站支持IPv6通常需要完成以下环节:

  1. 确认服务器或云平台已经分配公网IPv6地址。

  2. 让Web服务器监听IPv6地址和对应端口。

  3. 在DNS中添加指向服务器IPv6地址的AAAA记录。

  4. 配置IPv6防火墙、安全组和访问控制规则。

  5. 确认CDN、负载均衡和反向代理支持IPv6。

  6. 从外部IPv6网络测试网站访问和证书状态。

  7. 把IPv6请求纳入日志、监控和安全分析。

Nginx监听IPv6的基础配置可能类似:

server {
    listen 80;
    listen [::]:80;

    listen 443 ssl;
    listen [::]:443 ssl;

    server_name example.com;
}

具体配置还要结合Nginx版本、操作系统和服务架构。添加AAAA记录前,应先确认服务器能够稳定处理IPv6请求,否则支持IPv6的用户可能优先连接到一个无法访问的地址。

A记录和AAAA记录区别

DNS中的A记录用于保存IPv4地址:

example.com.  A     192.0.2.10

AAAA记录用于保存IPv6地址:

example.com.  AAAA  2001:db8::10

同一个域名可以同时存在A记录和AAAA记录。这样既能服务IPv4用户,也能服务IPv6用户。

AAAA记录名称中的四个A源于IPv6地址长度是IPv4的四倍。它并不是用于设置四个不同的A记录。

建站必须支持IPv6吗

目前大多数网站仍然可以只通过IPv4访问,但是否配置IPv6要结合目标用户、服务器条件和维护能力判断。

以下情况更适合增加IPv6支持:

  • 用户覆盖移动网络和IPv6普及较高的地区;

  • 网站使用的云平台和CDN已经完整支持IPv6;

  • 企业网络存在IPv6合规或采购要求;

  • 希望提前验证双栈应用和安全策略;

  • 服务面向物联网、运营商或大型网络环境。

如果服务器没有稳定的IPv6路由,团队也没有能力维护双栈防火墙,只为了“看起来支持IPv6”添加AAAA记录并不合适。错误的IPv6配置可能让部分用户无法访问网站,而IPv4用户仍然表现正常,问题不容易被及时发现。

如何查看本机IP协议

Windows用户可以在命令提示符中执行:

ipconfig

Linux和部分服务器系统可以执行:

ip addr

macOS可以在终端中使用:

ifconfig

看到以192.168、10或172.16至172.31开头的地址,通常是局域网IPv4私有地址。看到以fe80::开头的地址,通常是IPv6链路本地地址。

拥有IPv6地址不一定表示可以访问IPv6互联网,还需要具备正确的路由、DNS和运营商连接。

两种协议该如何选择

普通用户通常不需要在IPv4和IPv6之间二选一。操作系统和网络设备可以同时启用两种协议,并根据目标网站和网络状态选择连接。

网站和服务器管理者更适合采用逐步过渡方式:保留稳定的IPv4服务,在确认服务器、DNS、防火墙和监控均支持后增加IPv6,再通过外部网络验证实际访问。

IPv4的问题在于地址空间有限,但生态成熟、兼容范围广;IPv6提供了更大的地址空间和新的协议设计,但需要网络各环节共同支持。未来网络会继续增加IPv6使用比例,IPv4也会在相当长时间内与其并存。

参考资料

  1. IPv4互联网协议规范

  2. IPv6互联网协议规范

  3. IPv6地址架构规范

  4. IPv4私有地址分配规范

  5. Happy Eyeballs连接机制