为什么需要运营商级NAT设备?

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:

 201124日农历大年初二,大家可能留意到这么一则新闻:全球顶级IP地址分配机构IANA分配完了最后5A级地址块,由此IANA宣告IPv4地址告罄。2011415日,APNIC(亚太互联网络信息中心)宣布其剩余的可自由分配的IPv4地址已全部分配完毕(还剩一个A的非自由分配的地址块留给会员,但每个会员最多可申请4C的地址),亚太地区进入IPv4地址耗尽阶段。随后几个月,中国各大运营商从APNIC以会员资格申请到了最后的几个C,至此各运营商也陷入了IPv4地址耗尽的困境。

为了解决IPv4地址紧缺的迫切问题,保证业务发展不受影响,必须寻找合适的应对技术,从理论上来说,迁移到IPv6网络是一劳永逸的解决方案,但是IPv6在设计上并没有考虑与现有IPv4网络的兼容问题,二者基本上属于各自独立的状态,而且由于所有的应用都部署在现有的IPv4网络内,无论是宽带用户还是应用服务器迁移到IPv6网络都非一朝一夕可以完成,尤其是在IPv6建设相对薄弱而网民众多的中国,实现的难度更大。因此必须在现有IPv4网络上寻找可以延迟IPv4地址耗尽的应对技术,NAT444/NAT44的方案应运而生。

NAT444/NAT44方案对Internet用户分配IP地址的方式做了改变,由以前给每个宽带用户分配公网IP的方式,改为分配私网IP给每个用户,统一在运营商一端部署NAT设备,在用户访问Internet时,由运营商把用户的私网地址翻译成公网地址以节省公网地址的使用。

从上面两个拓扑图可以看出,NAT444对应的是传统宽带用户以及集团宽带用户的解决方案,而NAT44则是用于3G/4G 网络的智能终端上网的一种解决方案。

无论是NAT444还是NAT44对于运营商一端的NAT设备的要求都是相同的,那么运营商一端要选择什么样的NAT设备呢?

我们知道NAT技术已经在家庭网关和企业网络中应用多年,大至防火墙路由器小至一般的家庭网关设备都支持成熟的NAT技术。那么这些NAT设备是否能够满足运营商级别的需要呢? 我们来探讨一下。

作为运营商级别的NAT设备必须满足如下几个方面的需求:

  • 性能:由于海量的宽带用户访问,对运营商NAT设备的要求远高于之前的NAT设备。
  • 可运营和可管理性(SLA):由于IPv4地址的短缺,必须对每个用户使用的NAT端口数进行控制,否则NAT地址可能会被少数访问量大的用户将端口占尽,而其他人则无端口可用导致访问缓慢。
  • 提高NAT地址/端口的使用率。
  • 对于P2P等应用要有更好的透过性。
  • 支持溯源满足公安部门的检查:需要NAT设备能够输出loglog 服务器,并且输出log的性能需要得到保证。

 

传统的NAT设备并没有就以上几点做特别的设计和优化,很难满足运营商真正的需求,新一代的运营商级别的NAT设备因此诞生。

运营商级NAT( Carrier Grade NAT) 又称为 LSN (Large Scale NAT) 是专门为满足运营商级别NAT需求而提出的NAT技术。(以下简称为LSN

LSN设备的设计参照了如下一些规范和要求:

  • BEHAVE-TCP (RFC 5382)

  • BEHAVE-UDP (RFC 4787)

  • BEHAVE-ICMP (RFC 5508)

  • Draft-ietf-behave-lsn-requirements

  • IETF draft-nishitani-cgn

  • IETF draft-shirasaki-nat444

  • IETF draft-shirasaki-nat444-isp-shared-addr

  • 中国电信NAT444/44设备技术规范(为行标制定)

我们知道,NAT技术从大的方向分为Symetric NATCone NATFull ConeRestricted ConePort Restricted Cone NAT)两类。传统的NAT设备基本上只支持Symetric NAT,而LSN设备既支持Symetric NAT也支持Cone NAT( 特别是Full Cone NAT)

下面介绍一下LSN设备的功能特点:

1.  支持静态NAT映射,动态NAT映射。

这两个功能在所有的NAT设备(无论基于传统的Symetric NAT还是LSN设备)上都支持,属于NAT设备的基本功能。

2.  支持Full cone NAT特性。

Full-Cone NAT从设计上更适合作为运营商NAT设备的技术标准,主要在以下功能特性上能够体现出优势:

1)      EIM( 对端无关的地址映射)

客户端通过LSN设备建立一个会话后,后续的会话都会通过同一个NAT地址翻译出去,并且后续的通过同一个源[IP:Port]的会话将利用同一个NAT [IP:Port]进行通信,如图所示

 

这种处理方式的最大好处是节省NAT设备的端口,特别适合于p2p应用,例如一个用户使用电驴用同一个源端口跟Internet1000个用户的电驴建立会话,只使用一个NAT端口就够了,而不支持Full-Cone NAT的设备至少要使用1000个端口(每条会话都要占用一个端口)

2)         EIF(对端无关的地址过滤)

一旦内部主机通过一个NAT [IP:Port]与外部某主机建立会话,外部任何主机都可以访问这个NAT [IP:Port]LSN设备会将该访问转发到内部主机的[IP:Port],如图所示:

 

 

以前NAT设备的p2p穿越实际上是通过p2p软件和Server打洞来实现的,NAT设备可做的事很少,EIF可以让p2p软件不用打洞,直接互相访问,如果要考虑安全因素,可以与ACLBlack/White List配合使用。

3)          NAT Sticky

当内部终端选定了一个NAT地址后,后续的来自相同客户端的数据将都采用相同的NAT地址进行转换。NAT Sticky对于一些需要会话持续的访问(例如网银,淘宝购物)以及即时消息访问(例如QQ,MSN)等非常重要。非Full-cone标准的NAT设备必须在软件上专门处理NAT保持才能保证业务访问正常,软件处理增加了设备性能的消耗。

 

4)          Hair-pinning

对于同在一个内网中的用户(公用同一个NAT地址),如果某些应用需要彼此通过NAT地址访问,例如某些p2p下载,某些需要NAT穿透的应用,传统的NAT设备可能无法通过。而LSN设备针对这种情况有专门的处理,保证访问通过。

3.    支持NAT ALG,包括FTP, SIPPPTPIPSEC等常用协议;

NAT设备必须支持常用协议的alg功能,否则基于这些常用协议的应用会不正常。

4.    支持用户端口配额策略以便运营。

用户端口配额技术是保证运营商NAT可运营的一个重要Feature

用户端口配额支持以下几种方式:

1)      动态端口块分配

动态端口块分配需要支持如下四级控制:

a.用户最大端口配额

b.用户最低端口配额

c.为关键应用预留可用端口,例如:为DNS,邮件访问预留端口。

d.将需要发布到Internet的内部应用映射到某一NAT地址的某一端口,以供Internet用户访问。

动态端口快分配方式的优点是可以有效利用每个NAT地址的所有端口,缺点是端口不固定,溯源困难。

2)       静态端口块分配

每个用户分配静态端口范围,例如为内部地址192.168.1.1指定分配NAT地址1.1.1.11024—20231000个端口。 静态端口快分配方式的优点是便于溯源,甚至不需要发送log,溯源时查询地址端口映射表即可。缺点是静态端口一旦分配,这部分端口只能给分配的用户使用,该用户不上网,则端口被闲置,不利于端口有效利用。

3)      保留端口块分配

保留端口主要用于一些其他的用途,一旦指定,该部分端口不会纳入一般的分配策略。

5.    支持按session数控制用户对于NAT地址的使用

这是所有NAT设备基本都支持的功能,通过上面描述的Full-Cone NATNAT转换方式可以看出该方式在用户的上网体验上不如端口配额方式,传统NAT设备使用该方式控制用户的访问,将导致用户在Session数达到限制时无法上网。

6.    支持高性能Log输出,支持规定的溯源格式。

大多数的NAT设备都支持了log输出,但是当log量比较大的时候,不同厂家的NAT设备输出log能力会有差别,同时单台log Server的性能可能也不足以支持巨大的log量和输出速度, A0公司的LSN设备能够支持将log以负载均衡的方式输出到多台log Serversyslog格式支持RFC5424规范,并支持通过Radius报文将log信息发送到AAA系统。

支持静态端口块分配的NAT设备使得溯源变得更为简单,由于客户端地址跟NAT地址以及端口范围的映射被固定设置,所以不需要输出用户会话的Log信息,需要溯源的时候查询最先设计的映射表即可。

7.    支持设备冗余和会话同步

设备冗余是用于高可靠性的需要,避免单点故障,在实现设备冗余的同时,还需要实现会话同步,这样才能保证业务不中断,目前的NAT设备厂家有些能支持设备冗余和会话同步,有些只能支持设备冗余。

8.    支持ACLIP包检测等安全特性

基于维护和运营安全的需要,我们需要NAT设备支持ACL以控制用户访问,并且需要NAT设备支持一些防DDoS攻击等方面的数据包检测和处理。

 

LSN设备与传统NAT设备对比

 

LSN设备

传统NAT设备

性能

一般

Full-cone EIM

支持

不支持

Full-Cone EIF

支持

不支持

NAT Sticky

支持

支持

Hair-pinning

支持

不支持

P2P应用的透过性

连接限制

支持

支持

静态端口快分配管理

支持

不支持

动态端口快分配管理

支持

不支持

为关键业务预留端口

支持

不支持

Log溯源

log输出性能高,log格式符合相应RFC和运营商规范。

log输出性能低,log格式设计上没有考虑遵循运营商的规范。

 

      wyl

 

 

本文转自 virtualadc 51CTO博客,原文链接:

http://blog.51cto.com/virtualadc/863710


相关文章
|
网络协议 网络虚拟化 网络架构
|
15天前
|
Linux 虚拟化
VMware workstation 中centos7虚拟机在nat模式下怎么配置网卡,指定我想要的IP并且可以联网
https://blog.csdn.net/2302_78534730/article/details/132825156?spm=1001.2014.3001.5502
131 0
|
2月前
|
弹性计算 Linux 网络安全
三步搭建VPC专有网络NAT网关,配置SNAT和DNAT规则(补充版)
申明:该文档参考于用户 “帅宝宝”的文档进行的优化,新增永久生效的方式
291 1
|
8月前
|
弹性计算 运维 网络架构
【运维知识进阶篇】用阿里云配置NAT网关配置
【运维知识进阶篇】用阿里云配置NAT网关配置
333 0
|
8月前
|
运维 Shell 网络安全
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(三)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(三)
1371 0
|
8月前
|
运维 网络协议 网络安全
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(二)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(二)
232 0
|
8月前
|
运维 网络协议 Linux
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(一)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)
779 0