电信级NAT或运营商级NAT(Carrier-grade NAT,缩写CGN),也称大规模NAT(large-scale NAT,缩写LSN)是一种为IPv4网络端点(尤其是住宅网络)设计的方法,通过嵌入在网络运营商网络中的中间盒网络地址转换(NAT)设备,将已配置的专用网络地址翻译到公网IPv4地址,允许许多终端站点共享一个小型公共地址池。这将NAT功能及配置从客户端驻地转移到互联网服务提供商网络。
简介电信级NAT已被提议作为一种IPv4位址枯竭的缓解方法。
电信级NAT的批评者批评以下几个方面:
与任何形式的NAT一样,它损害端到端原则。
它有显著的安全性、可扩展性和可靠性问题,因为其有状态属性。
它使保留记录供执法行动更加困难,除非也记录地址的翻译。
它使托管服务变成不可能。
当需要公网IP地址时(例如托管Web主机),它不解决IPv4地址耗尽问题。
CGN的一种使用场景可以描述为NAT444,因为一些客户与公共服务器的连接将通过三个不同的IPv4寻址域:客户自己的私有网络,运营商的私有网络,以及公共互联网。
另一种CGN场景是双栈精简版(Dual-Stack Lite,也称DS-Lite),其中运营商的网络使用IPv6,因此只需要两个IPv4寻址域。1
共享地址空间如果一个ISP部署CGN并使用RFC 1918地址空间给他们的用户,那么已经使用RFC 1918空间的客户设备存在停止工作的风险。原因是如果网络接口的内部与外部地址相同,路由和NAT将不工作。
这促使一些ISP在ARIN内制定策略,为CGN分配新的私有地址空间,但ARIN推迟它,直至IETF实现策略表明这个问题不是典型的分配但是为技术目的保留(根据RFC 2860)。
IETF创建了RFC 6598,详述了为ISP CGN部署使用的共享地址空间,以及NAT设备可以处理在入站和出站接口上出现的相同地址。ARIN根据此分配的需要将空间返还给IANA。分配的地址块为100.64.0.0/10。1
问题试图找出IPv4地址是否为公网的设备或软件必须更新以识别新的空间。
为NAT设备分配更多私有IPv4地址空间可能会延长到IPv6的过渡。1
缺点电信级NAT通常会阻止ISP客户使用端口映射,因为网络地址转换(NAT)通常通过将网络中NAT设备的端口映射到外部接口的其他端口来实现,这样路由器才能映射响应到正确的设备。在电信级NAT网络中,即使消费者端的路由器可能已配置为端口转发,ISP处运行CGN的“主路由器”仍将阻止端口转发,因此实际的端口将不是消费者配置的端口。为了克服前者的缺点,端口控制协议(PCP)已在RFC 6887中标准化。
此外,在极少数情况下,可能遇到基于IP地址的封禁问题。以维基百科为例,系统可能封禁发送垃圾信息的用户的IP。如果该用户在一个电信级NAT后面,其他与垃圾发送者共享使用同一公网IP地址的正常用户也将被错误阻止。2
本词条内容贡献者为:
李嘉骞 - 博士 - 同济大学