解决学生公寓中的公网 IP 枯竭问题
本指南为网络架构师在密集型学生公寓和多租户 WiFi 环境中部署运营商级 NAT (CGNAT) 和端口地址转换 (PAT) 以应对 IPv4 枯竭提供了权威的技术参考。内容涵盖 NAT444 架构、RFC 6598 共享地址空间、端口块分配 (PBA) 规划、符合 GDPR 要求的日志记录策略,以及双栈 IPv6 迁移路径。对于在受限的公网 IP 池中管理成百上千个并发设备的任何运营商来说,本指南都是必读之作,提供了可操作的配置指导、真实案例研究和投资回报率 (ROI) 分析。
Video overview
收听本指南
查看播客转录
核心系列的一部分:多租户 WiFi 指南 →
- 执行摘要
- 技术深度剖析
- 学生公寓面临的规模挑战
- 标准 PAT 的局限性
- CGNAT (NAT444) 架构
- 端口块分配:关键设计决策
- 双栈 IPv6 作为长期迁移路径
- 实施指南
- 第 1 步:审计您当前的 IP 分配和设备密度
- 第 2 步:设计 RFC 6598 传输网络
- 第 3 步:部署和配置 CGNAT 网关
- 第 4 步:与身份和认证层集成
- 第 5 步:配置 IPv6 双栈
- 最佳实践
- 故障排除与风险规避
- 日志记录与合规负担
- 验证码与 IP 信誉问题
- 应用程序兼容性问题
- 投资回报率(ROI)与业务影响
- 资本支出 (CapEx) 节省
- 运营支出 (OpEx) 减少
- 学生公寓的竞争优势
- 案例研究 1:拥有 800 个床位的大学宿舍楼
- 案例研究 2:拥有 1,200 间客房的专用学生公寓 (PBSA) 运营商
Student housing and MDU CGNAT capacity planner
Calculate subscriber-to-public-IP ratios, Port Block Allocation (PBA) sizing, session table memory footprint, and IPv4 market cost savings for high-density multi-tenant networks.
Network parameters

执行摘要
随着 IPv4 地址枯竭的加速,在学生公寓、酒店 以及大型公共场所等高密度多租户环境中,IT 经理和网络架构师正面临着重大的运维挑战。一个拥有 1,000 名居民的单一学生公寓区就能产生超过 7,000 台并发连接 IP 的设备。标准端口地址转换 (PAT) 架构在如此规模下会失效,从而导致端口枯竭、连接中断以及用户体验下降。
本技术参考指南概述了使用 NAT444 模型部署运营商级 NAT (CGNAT) 以应对 IP 枯竭的架构和部署。通过利用 RFC 6598 共享地址空间并实施策略性端口块分配 (PBA),网络运营商可以实现高用户密度 - 每个公网 IP 支持多达 128 个用户 - 同时保持符合 GDPR 和合法拦截法规。对于利用 Guest WiFi 和 WiFi Analytics 等平台的场所,强大的 CGNAT 架构可确保稳定的连接和准确的数据收集,而无需购买额外 IPv4 地址块的资本支出 (CapEx)。
技术深度剖析
学生公寓面临的规模挑战
现代学生公寓中的设备密度几乎超越了任何其他托管网络环境。单个住户通常会连接智能手机、笔记本电脑、智能电视、游戏机以及至少一台智能家居设备。按每位住户拥有五到七台设备计算,一个拥有 1,000 张床位的校区所产生的并发会话负载,即使是同等规模的酒店也相形见绌。使用模式更是加剧了这一挑战:在晚间高峰时段(18:00 - 23:00),游戏、视频流媒体和社交媒体等几乎同时发生高带宽活动,且所有活动都保持着持续的后台连接。
IPv4 地址空间在区域互联网注册机构(RIR)级别已基本枯竭。管理欧洲和中东地区分配的 RIPE NCC 已于 2019 年达到了其最后的 /8 分配政策。目前在公开市场上获取额外公共 IPv4 地址块的成本介于每个地址 40 到 60 美元之间,对于管理着数百个子网的任何运营商而言,这都是一项难以承受的高昂资本支出。
标准 PAT 的局限性
在传统单站点部署中,端口地址转换(PAT)将整个私有局域网(RFC 1918 空间:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)映射到单个公网 IP 地址。单个 IPv4 地址在 TCP 和 UDP 中拥有 65,535 个可用端口。虽然这对于小型办公室已足够,但在密集的学生公寓中,后台应用(云同步、即时通讯平台、流媒体服务)的激增意味着单个用户很容易同时占用数百个端口。当 PAT 边缘路由器耗尽其可用端口时,新的会话请求将被无声丢弃。这表现为应用超时、VoIP 呼叫失败以及客服工单的增加。
CGNAT (NAT444) 架构
为了突破单级 NAT 的局限性,企业网络必须采用运营商级 NAT 架构,特别是 NAT444 模型。该名称是指转换链中涉及的三层 IPv4 地址空间。
第 1 级 - CPE / 接入点层: 为订户设备分配 RFC 1918 空间(例如 192.168.x.x)中的私有 IP 地址。接入点或客户终端设备(CPE)执行第一次 NAT 转换。
第 2 级 - CGNAT 网关: CPE 将私有 RFC 1918 地址转换为 RFC 6598 共享地址空间(100.64.0.0/10)。该中间空间专保留用于服务提供商基础设施与 CGNAT 网关之间。使用 RFC 6598 代替另一个 RFC 1918 范围,可防止在复杂的多租户环境中出现地址重叠和路由冲突。
第 3 级 - 公共互联网: CGNAT 网关执行从 RFC 6598 地址到共享公共 IPv4 地址的最终转换。该地址对外部服务是可见的。

端口块分配:关键设计决策
在部署 CGNAT 时,最关键的配置选择是端口分配策略。存在两种方法:
动态端口分配 (DPA): 端口是从共享池中按会话进行分配的。这最大化了端口利用效率,但会为每个会话的建立和拆除生成一条日志记录 - 这在规模化运行时会带来巨大的合规和基础设施负担。
端口块分配 (PBA): 在用户发起第一个会话时,会为其分配一个连续的端口块。在用户的会话终止之前,该端口块将一直保持分配状态。这种方法仅在分配和释放端口块时生成日志,可减少高达 98% 的日志量。
| 配置参数 | 推荐值 | 原理 |
|---|---|---|
| 每用户端口数 (PBA 块大小) | 500 | 足够现代 Web 应用使用,且不会耗尽端口池 |
| 每用户最大并发会话数 | 2,000 | 防止单个受感染的设备耗尽端口池 |
| 会话超时 (TCP 已建立) | 7,440 秒 (RFC 5382) | 符合 IETF 对 NAT 行为的推荐建议 |
| 会话超时 (UDP) | 300 秒 | 防止陈旧的 UDP 映射消耗端口空间 |
行业基准: NFWare 是一家在 100 多家 ISP 中拥有部署经验的专业 CGNAT 厂商,他们建议每个公网 IP 最多承载 128 个用户,且每个用户分配 500 个端口。超出此限制 - 例如,尝试让每个 IP 承载 256 个用户且每人仅分配 250 个端口 - 会显著增加高峰负载期间会话中断的风险。
双栈 IPv6 作为长期迁移路径
CGNAT 是一种缓解策略,而不是永久解决方案。正确的架构方向是双栈部署:将原生 IPv6 与带 CGNAT 的 IPv4 结合运行。现代设备和主要 CDN(Google、Netflix、Meta、Cloudflare)在可用时会强烈首选 IPv6。在配置良好的双栈环境中,60 - 70% 的总流量可以分流到 IPv6,从而极大地减轻 IPv4 CGNAT 池的负载,并延长其有效使用寿命。
对于视传统设备支持为关键任务的 医疗 和 交通 环境,双栈也提供了一条清晰的迁移路径:支持 IPv6 的设备进行原生迁移,而仅支持 IPv4 的传统设备则通过 CGNAT 继续运行,不会对用户造成任何感知上的中断。

对您的具体配置有疑问吗?
我们的团队与 80,000 多个场所的运营方、IT 经理和网络工程师保持合作。预约 20 分钟的通话,我们将为您展示同行是如何解决类似问题的。
实施指南
第 1 步:审计您当前的 IP 分配和设备密度
在部署 CGNAT 之前,请先建立一个基准。从您现有的网络管理系统中收集以下数据:
- 每个子网的峰值并发设备数量
- 每个设备的平均和峰值会话数
- 当前公网 IP 利用率百分比
- 现有的 NAT 超时配置
这些数据将直接为您的 PBA 块大小和公网 IP 地址池需求提供参考。
第 2 步:设计 RFC 6598 传输网络
为运营商级传输网络分配 100.64.0.0/10 网段。规划子网划分以匹配您的园区拓扑 - 通常每个建筑物或接入层分段分配一个 /24 或 /23。确保您的路由基础设施不会将 RFC 6598 前缀泄露到公共互联网或对等互连伙伴。
第 3 步:部署和配置 CGNAT 网关
CGNAT 网关通常是专用硬件设备,或是在通用服务器硬件上运行的虚拟化网络功能 (VNF)。关键配置参数包括:
- NAT 地址池:将您的公网 IPv4 网段分配给 NAT 地址池。确保地址池大小适合您目标的用户与 IP 比例。
- PBA 配置:将端口块大小设置为 500 个端口。将每个用户最大端口块数配置为 1(如果用户耗尽了其初始端口块,可选择将其扩展到 2,而不是增加基础端口块大小)。
- 日志记录:配置 syslog 输出到您的 SIEM。使用 PBA 时,每个日志条目会记录:用户内部 IP、分配的公网 IP、分配的端口块起始端口、结束端口、分配时间戳以及释放时间戳。
- 会话限制:限制每个用户最多 2,000 个并发会话,以防止滥用。
第 4 步:与身份和认证层集成
在采用 Guest WiFi 平台的环境中,Captive Portal 认证必须发生在 1 级 NAT 边界或之前。这可以确保身份提供商在流量聚合到 CGNAT 地址池之前,能够将 MAC 地址和用户凭据准确映射到唯一的内部 IP 地址。Purple 的平台在接入点级别处理此问题,维持清晰的用户与 IP 绑定关系,该关系在整个 NAT 转换链中始终保持。
对于无密码访问部署 - 如 How a WiFi Assistant Enables Passwordless Access in 2026 中所述 - 适用相同的原则:必须在 CGNAT 网关的上游建立身份绑定,以确保准确的会话归属。
第 5 步:配置 IPv6 双栈
在所有接入点上启用 IPv6,并通过 DHCPv6 或 SLAAC 为每个 VLAN 分配一个 /64 前缀。通过您的上游运营商宣告 IPv6 路由。在减小 IPv4 NAT 地址池大小之前,请验证主要 CDN 流量(Google、Netflix、YouTube)是否已解析为 AAAA 记录并通过 IPv6 进行路由。
最佳实践
尽可能实施确定性 NAT。 确定性 NAT 在用户的内部 IP 地址与为其分配的公网 IP 和端口块之间使用算法映射。由于该映射在数学上是可计算的,因此无需维护或记录会话表 - 可根据需要对该映射进行反向工程,以用于合法拦截目的。这是注重合规性部署的金标准。
分散 CGNAT 网关负载。 避免将所有 CGNAT 流量集中通过单个设备。将网关分布在校园或建筑物中,以防止单点故障。分布式网关还可以降低 IP 信誉风险:如果地址池中的某个公网 IP 因可疑流量特征(验证码问题)被 CDN 标记,则只有一部分用户会受到影响。
主动监控 IP 信誉。 订阅 IP 信誉源(例如 Spamhaus、SURBL)并监控您的公网 NAT 池 IP。保留一个干净 IP 的备用池,以便在活动地址被列入黑名单时进行轮换。这在学生宿舍中尤为关键,因为少数用户可能会从事触发滥用标记的活动。
实施单用户会话限制。 严格限制每个用户并发会话不超过 2,000 个,可防止单个受感染的设备(例如参与 DDoS 放大攻击的设备)耗尽分配给该公网 IP 的整个端口块。有关监控网络性能的更多详细信息,请参阅我们关于如何测量 WiFi 信号强度和覆盖范围的指南。
结合 IEEE 802.1X 进行访问控制。 在接入层部署基于端口的 802.1X 认证,可确保只有经过认证的设备才能获得 IP 分配。这降低了流氓设备占用端口分配的风险,并为合法拦截目的提供了清晰的审计追踪。
故障排除与风险规避
日志记录与合规负担
在英国和欧洲,根据 GDPR 和《2016年调查权力法案》,网络运营商必须能够将公网 IP 地址和端口号追溯到特定时间戳的特定用户。这是一项不可妥协的法律义务。
风险: 采用动态 CGNAT 时,记录每次会话的建立和拆除每天会产生数 TB 的系统日志(syslog)数据。一个拥有 1,000 名用户的动态分配部署每天可产生 5 亿条日志记录。这会使 SIEM 基础设施过载,推高存储成本,并使法证调查变得不切实际。
规避措施: 端口块分配(PBA)可减少高达 98% 的日志量。使用 PBA,您只需记录端口块的分配和释放事件 - 通常每个用户会话只需两条日志记录,而不是数百或数千条。确保您的 SIEM 将这些日志保留至少 12 个月,以符合英国的数据保留要求。
验证码与 IP 信誉问题
当 128 个用户共享一个公共 IP 时,聚合的流量可能会触发大型网站的限速或反机器人保护。Google 的 reCAPTCHA、Cloudflare 的机器人管理以及类似系统使用基于 IP 的启发式算法,可能会将共享的 CGNAT IP 错误地归类为机器人来源。
**缓解措施:**将您的 CGNAT 池分布到多个公共 IP 上。积极监控信誉评分。考虑部署 DNS-over-HTTPS (DoH) 或 DNS-over-TLS (DoT) 以防止基于 DNS 的信誉问题。向用户说明,在共享 IP 环境中,偶尔出现 CAPTCHA 验证提示属于已知行为。
应用程序兼容性问题
某些应用程序 - 特别是点对点协议、特定的 VoIP 实现和较旧的游戏平台 - 依赖于持久的端口映射或入站连接发起。这些在双重 NAT 下可能会失效。
**缓解措施:**对于 VoIP,确保您的 CGNAT 网关支持适用于 SIP 的 ALG(应用层网关)。对于游戏,考虑实施 UPnP 代理或具有独立的、低密度 NAT 池的专用游戏 VLAN。对于需要入站连接的 POS 系统的 零售 环境,请将这些设备放在完全绕过 CGNAT 层的独立 VLAN 上。
投资回报率(ROI)与业务影响
资本支出 (CapEx) 节省
部署 CGNAT 可以立即并显著地节省 CapEx。按照每个 IPv4 地址 50 美元的市场价格计算,一个需要 1:1 设备与 IP 比例的 5,000 床位大学需要购买大约 35,000 个 IP 地址 - 成本高达 175 万美元。通过部署比例为 128:1 的 CGNAT,相同的部署仅需要不到 300 个公共 IP,将 IP 购置成本降低至大约 15,000 美元。
即使将 CGNAT 网关硬件或虚拟化网络功能的成本计算在内(对于校园规模的部署,通常为 20,000 到 80,000 美元),净节省依然非常可观。
运营支出 (OpEx) 减少
稳定的连接直接减少了服务台的开销。端口耗尽事件 - 大规模标准 PAT 的主要失效模式 - 会产生大量的支持工单。配置合理的 CGNAT 部署,结合适当的会话限制和 PBA,可以消除这种失效模式,从而使网络相关的服务台工单量减少约 30% 到 40%。
学生公寓的竞争优势
在竞争激烈的学生公寓市场中,网络质量是潜在租户的主要选择标准。如果运营商能够通过 WiFi Analytics 仪表板(显示在线率、会话质量和设备密度指标)来证明其具有稳定、高吞吐量的连接性,就能获得更高的租金并实现更高的入住率。这种基础设施的稳定性也是部署先进定位服务的基础,正如 Purple launched offline maps mode for seamless, secure navigation for WiFi hotspots 中所强调的那样。
案例研究 1:拥有 800 个床位的大学宿舍楼
一所英国大学运营的拥有 800 个床位的宿舍楼在晚上高峰时段经历了长期的连接问题。调查显示,其单级 PAT 配置使用 /29 公网子网(6 个可用 IP),每天晚上 19:30 就会耗尽可用端口。该运营商部署了具有 PBA 的 CGNAT 解决方案(每个用户 500 个端口,每个 IP 支持 128 个用户),升级到 /27 公网子网(30 个可用 IP),并启用了 IPv6 双栈。部署后的指标显示,与初始动态分配试点相比,端口耗尽事件减少了 94%,网络相关的服务台工单减少了 38%,CGNAT 日志量减少了 65%。在部署后的 60 天内,IPv6 分流率达到了 62%。
案例研究 2:拥有 1,200 间客房的专用学生公寓 (PBSA) 运营商
一家在两个英国城市管理三个站点的私营 PBSA 运营商在开设第四个站点之前需要标准化其网络架构。他们现有的基础设施混合使用了单级 NAT 和临时的 VLAN 划分,并且没有连贯的日志记录策略。所有三个站点都实施了采用确定性 NAT 的 CGNAT 部署,从而实现了可以通过数学计算的用户到 IP 映射,而无需会话日志记录开销。该方法满足了运营商法律团队关于合法拦截合规性的要求,消除了用于会话日志的 SIEM 存储成本,并为第四个站点提供了统一的架构模板。该运营商还集成了 Purple 的 Guest WiFi 平台进行 Captive Portal 认证,在 CGNAT 网关上游建立了身份绑定,以确保分析报告中准确的用户归属。
关键定义
CGNAT (Carrier-Grade NAT)
一种网络架构,运营商在集中式网关处执行网络地址转换,使多个订户能够共享单个公网 IPv4 地址。定义于 RFC 6264 和 RFC 6888。也称为大规模 NAT (LSN) 或 CGN。
当单个公网 IP 不足以为网络上的所有设备提供服务时,IT 团队会遇到 CGNAT。在学生公寓中,CGNAT 是在不购买额外公网地址空间的情况下管理 IPv4 枯竭的主要机制。
NAT444
一种特定的 CGNAT 拓扑结构,涉及三层 IPv4 地址空间:订户私网地址 (RFC 1918)、运营商级共享地址 (RFC 6598) 和公网互联网地址。该名称指的是所跨越的三个 IPv4 网络。
NAT444 是多租户环境中部署 CGNAT 的标准架构。网络架构师必须理解三层模型,以正确设计中间网络并避免地址重叠。
RFC 6598 共享地址空间
IANA 保留用于 CPE 与 CGNAT 网关之间中间网络的 100.64.0.0/10 IPv4 地址块(100.64.0.0 至 100.127.255.255)。该空间在公网互联网上不可路由,专门设计用于防止 NAT444 部署中的地址冲突。
IT 团队必须将 RFC 6598 - 而非 RFC 1918 - 用于中间 CGNAT 网络。如果在此网段使用 RFC 1918,当订户网络中也使用相同的 RFC 1918 范围时,会带来地址重叠的风险。
端口块分配 (PBA)
一种 CGNAT 端口分配策略,在订户会话期间向其分配一个连续的端口块(例如 500 个端口),而不是针对每个连接单独分配端口。定义于 RFC 7422。
PBA 是符合 GDPR 要求的 CGNAT 部署的推荐方法。与动态端口分配相比,它可减少高达 98% 的日志记录开销,使大规模合规的合法拦截在操作上变得可行。
确定性 NAT
一种 CGNAT 配置,其中订户内部 IP 地址与其分配的公网 IP 和端口块之间的映射是通过算法计算出来的,无需维护会话表。该映射在数学上是可逆的,无需检索日志即可识别订户。
确定性 NAT 是注重合规性部署的黄金标准。它完全消除了日志记录开销,同时满足合法拦截要求,因为可以通过已知的算法从公网 IP、端口和时间戳中识别出订户。
PAT (Port Address Translation)
网络地址转换的一种形式,通过使用唯一的源端口号区分连接,将多个私网 IP 地址映射到单个公网 IP 地址。也称为 NAT 过载或多对一 NAT。
PAT 是大多数企业边缘路由器中使用的标准单级 NAT。它是 CGNAT 的前身,由于在大规模应用时会出现端口枯竭,因此不适用于高密度的多租户环境。
会话表
由 NAT 网关维护的数据结构,记录每个活动连接的内部(私有)IP 地址和端口与外部(公有)IP 地址和端口之间的映射关系。会话表是 CGNAT 所消耗的主要内存和处理资源。
会话表大小是 CGNAT 网关的关键容量规划参数。一个拥有 1000 个订户且每个订户最大会话数为 2000 的部署,需要至少 200 万个条目的会话表容量。会话表配置过小会导致连接失败。
Dual-Stack
一种网络配置,其中 IPv4 和 IPv6 协议在相同的网络基础设施和终端设备上同时处于活动状态。具有 dual-stack 功能的设备在连接到支持 IPv6 的目的地时会优先使用 IPv6。
Dual-stack 是 CGNAT 部署中推荐的过渡策略。通过将支持 IPv6 的流量分流到原生 IPv6 路径,dual-stack 减轻了 IPv4 CGNAT 地址池的负载,并提供了向以 IPv6 为主导的网络迁移的路径。
RFC 1918 私有地址空间
保留用于私有网络使用的三个 IPv4 地址范围:10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16。这些地址在公网互联网上不可路由,用于内部网络寻址。
RFC 1918 地址在 CGNAT 部署中用于订户设备寻址。网络架构师必须确保订户网络中使用的 RFC 1918 范围与中间 CGNAT 网络中使用的范围不重叠 - 这就是为什么中间层使用 RFC 6598 的原因。
合法拦截
执法机构依法授权对通信进行的拦截。在英国,由《2016年调查权力法案》(Investigatory Powers Act 2016)管辖。网络运营商在收到合法拦截请求时,必须能够识别与特定公网 IP 地址、端口和时间戳相关联的订户。
满足合法拦截合规性是 CGNAT 日志记录要求的主要驱动因素。运营商必须保留足够的日志,以便从公网 IP 和端口数据中识别订户。PBA 和 Deterministic NAT 是使这一目标在不压垮日志基础设施的情况下实现大规模应用的两种架构。
应用实例
一个拥有 600 个床位的学生公寓街区目前使用单个 /29 公网子网(6 个可用 IP)和标准 PAT。在晚上高峰时段 (19:00 - 23:00),用户报告出现大范围的连接失败。网络团队已确认 PAT 路由器上存在端口枯竭。该运营商拥有 CGNAT 网关硬件的预算,但无法获取除 /27(30 个可用 IP)以外的其他公网 IP。请设计一个 CGNAT 部署方案,以消除端口枯竭问题,并支持未来增长至 900 个床位。
步骤 1 - 基线评估:按照每个住户 5 台设备、共 600 个床位计算,峰值并发设备数约为 3,000 台。按照每个订户 500 个端口 (PBA) 计算,每个公网 IP 支持 128 个订户。凭借 /27 中的 30 个可用 IP,理论上的最大订户容量为 3,840,足以满足 900 个床位(每个住户 4.3 台设备)的需求。步骤 2 - RFC 6598 中间网络:为中间运营商级网络分配 100.64.0.0/20,为 CPE 到 CGNAT 网关的流量提供 4,096 个地址。每个建筑翼的子网划分为:100.64.0.0/24、100.64.1.0/24 等。步骤 3 - CGNAT 网关选型:部署一个会话表容量至少为 768,000 条记录(3,000 个订户 × 每个订户最大 2,000 个会话,并留有 20% 的余量)的 CGNAT 网关。配置 500 个端口块的 PBA。设置每个订户最多 1 个块,允许超过 500 个并发会话的订户溢出到 2 个块。步骤 4 - IPv6 双栈:在所有接入点上启用 IPv6。通过 SLAAC 分发 /64 前缀。目标是在 90 天内实现 60% 的 IPv6 卸载,这可将 IPv4 CGNAT 负载有效减少至 1,200 个并发 IPv4 订户,远低于 /27 的容量上限。步骤 5 - 日志记录:配置 syslog 到 SIEM,仅记录 PBA 块分配/释放事件。日志至少保留 12 个月。步骤 6 - 会话限制:在 CGNAT 网关上对每个订户强制执行 2,000 个最大会话数,以防止滥用。
一家 PBSA 运营商在拥有 1,000 个床位的站点上部署了使用动态端口分配的 CGNAT。其法律团队指出,当前的日志记录方式每天产生 400GB 的 syslog 数据,这使 SIEM 负载过重,并导致无法履行来自执法部门的合法拦截请求。请重新设计日志记录策略,以满足英国的合法拦截义务,同时将日志量减少到可管理的水平。
步骤 1 - 迁移到端口块分配(PBA):将动态端口分配替换为每个用户 500 个端口的 PBA。这可以立即将日志事件从每个会话一个减少到每个块分配一个和每个块释放一个。对于一个拥有 1000 个用户且每个用户每天平均有 3 个块分配/释放周期的部署,每天大约产生 6000 个日志条目 - 比动态分配基线减少了 99% 以上。步骤 2 - 日志架构:确保每个 PBA 日志条目捕获:(a) 用户内部 IP 地址,(b) 分配的公网 IP 地址,(c) 分配的端口块起始和结束,(d) 块分配时间戳 (UTC),(e) 块释放时间戳 (UTC),(f) 用户标识符(MAC 地址或 RADIUS 用户名)。步骤 3 - 确定性 NAT 选项:如果 CGNAT 平台支持,迁移到确定性 NAT。由于映射在数学上是可计算的,这完全消除了常规操作的日志记录。仅针对非确定性溢出情况保留 PBA 日志。步骤 4 - 保留政策:在具有防篡改功能的日志存储中(例如,单写多读的 S3 兼容对象存储)将日志保留 12 个月。实施访问控制,以便为合法拦截请求检索日志时需要双重授权。步骤 5 - 事件响应流程:记录响应合法拦截请求的流程,包括在确定性 NAT 下根据公网 IP、端口和时间戳反向计算用户的公式。
一所大学的 IT 团队报告称,学生经常遇到 Google、Netflix 和游戏平台的 CAPTCHA 验证挑战和速率限制。调查发现,有 200 名学生通过 CGNAT 共享同一个公网 IP 地址。该团队被告知短期内无法获取更多公网 IP。在不改变 IP 分配的情况下,可以立即实施哪些缓解措施?
步骤 1 - 降低用户密度:200:1 的比例是主要原因。即使没有额外的公网 IP,也要检查 CGNAT 池是否得到了高效使用。确保完全启用 IPv6 双栈 - 如果 60% 的流量分流到 IPv6,每个 IP 的有效 IPv4 用户数将降至约 80 个,远低于 128:1 的推荐阈值。步骤 2 - IP 轮转:为公网 IP 池实施轮转政策。如果 CGNAT 网关支持,配置为每个用户组分配的公网 IP 进行定期轮转。这可以防止任何单个 IP 累积持续的负面信誉。步骤 3 - DNS 优化:确保向客户端提供的 DNS 解析器优先返回 AAAA 记录。许多 CAPTCHA 触发是基于 DNS 的 - 如果客户端不必要地将服务解析为 IPv4 地址,即使其本来可以原生使用 IPv6,也会通过 CGNAT 进行路由。步骤 4 - 会话超时微调:对于非 DNS 的 UDP 流量,将 UDP 会话超时时间从默认值(通常为 300 秒)缩短至 60 秒。这可以更快地释放端口空间,并从外部服务的角度减少表现出的会话量。步骤 5 - 与受影响的平台沟通:对于持续存在黑名单的问题,向主要的 IP 信誉数据库(如 Spamhaus、SURBL)提交申诉请求。说明该 IP 是一个共享的 CGNAT 地址,服务于合法的教育机构。
练习题
Q1. 一个拥有 2,000 个床位的学生公寓园区拥有一个 /26 的公网子网(62 个可用 IP)。网络团队正在规划 CGNAT 部署。计算:(a) 在推荐的 128:1 比例下可支持的最大订户数量,(b) 可用的总端口容量,(c) 推荐的 PBA 块大小,以及 (d) 现有的 /26 是否足够,或者是否需要额外的 IP。
提示:先计算一个 /26 网段中可用的 IP 总数,然后应用 128:1 的订户比例。在现实的每个入住者拥有设备比例下,将结果与 2,000 个床位的设备数量进行对比。在最终建议中考虑 IPv6 dual-stack 的分流情况。
查看标准答案
一个 /26 提供 62 个可用公网 IP。在每个 IP 128 个订户的比例下,最大 IPv4 CGNAT 容量为 62 × 128 = 7,936 个订户。按照每位入住者 5 台设备计算,2,000 个床位会产生大约 10,000 台并发设备。在没有 IPv6 的情况下,/26 是不够的 (7,936 < 10,000)。然而,通过 IPv6 dual-stack 实现 60% 的分流,实际的 IPv4 负载会降至大约 4,000 台设备 - 远在 7,936 的 /26 容量范围内。推荐的 PBA 块大小为每个订户 500 个端口。总端口容量:62 个 IP × 64,000 个可用端口 = 3,968,000 个端口。按每个订户 500 个端口计算:3,968,000 / 500 = 最大 7,936 个订户。建议:部署带 PBA 的 CGNAT,每个订户 500 个端口,将启用 IPv6 dual-stack 作为先决条件,这样现有的 /26 就足够了。如果无法保证 IPv6 分流比例在 50% 以上,请获取额外的 /27 作为缓冲。
Q2. 一个拥有 500 个床位的学生宿舍的 CGNAT 部署正引发合规性担忧。该运营商的法律团队收到执法部门针对特定公共 IP 地址 (203.0.113.45)、端口 51432、时间戳为 2025-11-15 21:47:33 UTC 的合法拦截请求。CGNAT 网关配置为动态端口分配。SIEM 包含 180 天的日志,但取证团队报告称,从日志中定位特定订户每次请求需要超过 4 个小时。请找出根本原因并提出将响应时间缩短至 15 分钟以内的修复方案。
提示:4 小时的响应时间是日志记录架构导致的问题,而不是数据保留问题。请考虑在动态分配与 PBA 下分别记录了哪些信息,以及 Deterministic NAT 将如何彻底改变响应流程。
查看标准答案
根本原因:动态端口分配为每个会话生成一个日志条目。每个用户每小时会产生数百个会话,500 个用户意味着 SIEM 每天包含数百万条日志条目。通过 IP、端口和时间戳定位单个条目需要在可能多达数十亿条记录中进行全文搜索,因此需要 4 小时的响应时间。修复方案 1 (PBA):迁移到端口块分配(Port Block Allocation)。采用 PBA,端口 51432 的日志条目将记录端口块分配情况(例如,端口 51001-51500 在 21:30:00 UTC 分配给订户 192.168.1.23,并在 23:15:00 UTC 释放)。对公网 IP + 端口范围 + 时间戳的单个索引查询可在数秒内返回结果。估计响应时间:2 分钟以内。修复方案 2(确定性 NAT):如果平台支持,迁移到确定性 NAT。端口 51432 可以通过数学方式反向计算出订户的内部 IP,无需进行任何日志查询。响应时间:30 秒以内。立即行动:在规划 PBA 迁移的同时,对现有的 SIEM 日志进行 (public_ip, port, timestamp) 索引,以减少当前的响应时间。
Q3. 一位网络架构师正在为一个拥有 800 个床位的新 PBSA 项目设计 CGNAT 基础设施。上游 ISP 已提供一个 /27 公网子网,并确认 IPv6 传输可用。该运营商还希望部署 Purple 的 Guest WiFi 平台用于 Captive Portal 认证。请描述 Captive Portal 认证相对于 CGNAT 网关的正确部署位置,并解释为什么不正确的部署位置会带来合规风险。
提示:考虑 Captive Portal 需要捕获哪些信息(用户身份、设备 MAC、内部 IP),以及在 NAT 转换链的哪个阶段这些信息仍然可用。思考内部 IP 地址在通过 CGNAT 网关后会发生什么。
查看标准答案
Captive Portal 认证必须发生在 1 级 NAT 边界或之前 - 即在接入点(AP)或 CPE 层,在流量进入 RFC 6598 中间网络之前。正确部署位置:Purple 的 Guest WiFi 平台在接入点对用户进行身份验证。平台记录以下绑定关系:用户身份 -> MAC 地址 -> RFC 1918 内部 IP -> 时间戳。此绑定关系是在 CGNAT 网关执行其转换之前建立的。然后,CGNAT 网关将 RFC 1918 IP 映射到公网 IP 和端口块,并且 PBA 日志记录:RFC 1918 IP -> 公网 IP -> 端口块 -> 时间戳。这两个日志记录可以通过 RFC 1918 IP 和时间戳进行联接,从而产生完整的链路:用户身份 -> 公网 IP + 端口。不正确部署(Captive Portal 位于 CGNAT 网关之后):如果在 CGNAT 网关之后进行身份验证,平台只能看到公网 IP 和端口,而看不到内部 IP。此时,使用同一个 CGNAT IP 的多个用户是无法区分的。平台无法建立可靠的用户到 IP 绑定,从而使合法拦截归属无法实现,并违反了 GDPR 的问责制要求。这就是合规风险。通过 Purple 的架构,身份绑定在 CGNAT 层上游建立,从而确保分析平台和合规日志链中准确的用户归属。
常见问题
What is Carrier-Grade NAT (CGNAT) and why is it needed in student housing?
Carrier-Grade NAT (CGNAT), also known as Large-Scale NAT (LSN) or NAT444, is a network architecture defined in RFC 6888 where network translation occurs at a centralised operator gateway. In dense student accommodation and multi-tenant residential buildings, thousands of student devices (laptops, phones, gaming consoles, smart TVs) quickly exhaust standard single-public-IP PAT capacity. CGNAT maps private RFC 1918 subnets across an intermediate RFC 6598 shared address space (100.64.0.0/10) to a compact pool of public IPv4 addresses, avoiding costly public IP address block purchases.
What is the recommended subscriber-to-public-IP ratio for multi-tenant CGNAT?
The industry standard golden rule for residential multi-tenant networks is a maximum ratio of 128 subscribers per public IPv4 address. When using Port Block Allocation (PBA) with a block size of 500 ports per subscriber, each public IP (providing ~63,000 usable ports from port 1024 upward) cleanly accommodates 126 subscribers with dedicated, non-overlapping port ranges, preventing session starvation during peak evening streaming and gaming.
How does Port Block Allocation (PBA) solve lawful intercept logging challenges?
Under traditional dynamic PAT, the gateway must log every single TCP and UDP session establishment and teardown to satisfy lawful intercept regulations (such as RIPA or the Investigatory Powers Act), producing terabytes of log data per week that overwhelm SIEM infrastructure. Port Block Allocation (RFC 7422) allocates a fixed contiguous block of ports (e.g., 500 ports) to a subscriber for their entire lease duration. The gateway logs only the block allocation event, reducing logging volume by up to 98%.
Why must captive portal authentication sit upstream of the CGNAT gateway?
To maintain regulatory compliance, accurate analytics, and lawful intercept audit trails, captive portal authentication and user identity binding (such as Purple Guest WiFi) must be positioned upstream on the internal Layer 2/Layer 3 access edge before traffic reaches the CGNAT translation gateway. This preserves the direct 1:1 binding between the authenticated user identity, MAC address, and internal IP address before packet headers are translated into RFC 6598 or public pool addresses.
How does deploying IPv6 dual-stack extend the life of an IPv4 CGNAT pool?
IPv6 dual-stack allows modern operating systems and major content platforms (such as YouTube, Netflix, Meta, and Google) to establish end-to-end native IPv6 connections without traversing the CGNAT translation engine. In university and student housing environments, enabling native IPv6 offloads 50% to 65% of total egress network traffic from the IPv4 translation tables, effectively doubling or tripling the capacity and lifespan of the existing public IPv4 pool.
继续阅读本系列
为多租户办公楼设计 WiFi 网络
本指南为 IT 经理、网络架构师和 CTO 提供了一个与厂商无关的蓝图,用于在多租户办公楼中设计可扩展、安全且隔离的 WiFi 网络。它涵盖了 IEEE 802.1Q 下的 VLAN 分段、通过 802.1X 和 RADIUS 进行的动态 VLAN 分配、针对高密度环境的 RF 规划,以及 GDPR 和 PCI-DSS 下的合规性考量。场所运营方和楼宇管理员将获得可操作的架构指导、真实案例研究,以及在部署前需要避免的配置陷阱。
平均无罪时间:如何证明问题不在 WiFi
平均无罪时间 (MTTI) 是衡量 IT 团队需要花费多少时间来证明网络故障并非其责任的关键指标。本指南详细介绍了一种包含五个步骤的可观测性方法,旨在消除多租户环境中的相互推诿,用共享证据代替指责,从而缩短平均解决时间 (MTTR)。
共享 WiFi 基础设施的法律与合规性要求
本权威技术参考指南概述了部署和管理共享 WiFi 基础设施的关键法律、法规和架构要求。它为 IT 经理、网络架构师和场所运营商提供了切实可行的框架,以使用企业标准确保强大的数据保护、严格的支付安全合规性以及高性能的租户隔离。
对您的具体配置有疑问吗?
我们的团队与 80,000 多个场所的运营方、IT 经理和网络工程师保持合作。预约 20 分钟的通话,我们将为您展示同行是如何解决类似问题的。