SR8800路由器NAT处理流程的研究
2015-04-15王晟
王 晟
(甘肃省图书馆,甘肃 兰州,730000)
引言
NAT功能众所周知,是为了解决IPv4地址不足而产生的地址转换技术,主要包括静态NAT、动态NAT和NAT server技术。从NAT转换发生的位置来说,NAT又有入方向和出方向NAT之分。而随着MPLSVPN技术的应用,在现实组网中也存在VPN内部NAT、不同VPN之间需要通过NAT互访等需求,VPN NAT技术也随之出现。本文介绍了SR8800设备NAT处理流程,并对设备NAT转换的各个过程进行详细介绍,也指出了设备自身NAT功能的一些特点。
1 SR8800设备NAT处理结构分析
各个设备对于NAT功能的实现因其设备自身软硬件情况不同而不同,对于SR8800系列路由器设备,第一代业务板卡不支持NAT特性,需要单独的NAT板卡才能实现NAT转换,第二代业务板卡支持NAT特性,在业务板卡上增加多核CPU的方式来处理NAT转换,但其NAT转换性能远不及单独NAT板卡处理,仍然建议使用业务板卡+NAT板卡的方式进行配置。
NAT转换需要高性能处理器的支撑,盒式设备一般采用CPU处理NAT转换,当NAT会话新建、并发数量很大时,会占用大量的CPU资源,对设备CPU的性能要求很高。框式设备的NAT转换可以采用分布式、集中式,分布式NAT是在业务板卡上,增加处理器的方式,每块业务板卡单独处理自己的NAT转换,这样一来,会增加每块板卡的成本,且每块板卡的处理性能不高,对于大容量的NAT转换业务,很难集中到一块业务板卡上,还会给网络规划带来难度;SR8800的NAT板卡使用NP高性能处理器集中处理NAT转换,不仅单块NAT板卡的性能远远高于分布式NAT,并且支持多块业务板卡负载分担方式来提高整机NAT转换性能[1]。
2 SR8800设备NAT处理流程
SR8800 NAT板卡上无业务口,数据流量均由业务板卡转发过来,从而在NAT板卡上进行对相应数据流量的源的IP转换工作。NAT转换后的流量再转发给相应的出口业务板卡进行转发。总体而言,设备NAT处理过程主要包括三部分:流量标记过程、NAT转换过程、NAT流量转发过程,具体流程图见图1。
图1 SR8800设备NAT处理流程
3 流量标记过程
流量标记由业务板卡完成,主要是根据设备上的配置对需要进行NAT的流量进行“NAT标记”,然后将所有带有NAT标记的流量均转发至NAT板卡,而对于没有NAT标记的流量则直接正常转发。对于哪些流量会被打上NAT标记,设备依据如下原则进行判断:
入接口配置了MQC将流量重定向至NAT板,对于满足此类别的流量进行NAT标记;在设置NAT后,设备会自动生成去往NAT地址池IP的32位路由,对于匹配此目的IP的流量进行NAT标记。出接口配置NAT outbound命令且在NAT板卡视图下绑定了此接口对于所有从此接口转发的流量进行NAT标记[2]。
VPN内始发的私网数据和远端PE设备发送到本设备私网的MPLS报文,其流量标记判断原则相同,只是对于远端PE发送过来的MPLS报文需要在弹出标签再进行标记判断处理。
4 NAT转换过程
流量被转发至NAT板卡上后,板卡根据设备配置所生成的NAT规则对数据流进行转换,此处NAT规则的设定决定了设备进行的NAT功能。SR8800设备较H3C其他路由器存在着自身NAT功能的特点:
(1)能够实现入方向静态/动态NAT。
(2)由于利用NAT单板单独对NAT进行处理,因而在H3C路由器设备普遍的出方向NAT基础之上,SR8800能够通过在入方向配置MQC方式进行入方向NAT。
(3)能够基于不同目的地址、出接口或下一跳实现对相同源地址的不同NAT映射。
(4)在NAT规则上,SR8800设备对映射表项进行细化转换映射更加灵活。对于静态NAT映射,在实现了全局静态映射的基础上,SR880还可以根据目的网段进行不同的源地址映射,也可以实现多出口时不同源地址的转换,而对于同一个以太网出口,还可以精确的根据不同的下一跳地址进行映射。动态NAT也支持将映射关系与不同的出接口及下一跳地址进行关联[3]。
(5)能够手工配置静态NAT的方向。
(6)通过在配置静态NAT映射时增加unidirectional参数,可以控制数据访问必须由内网主机向外网始发。而不配置unidirectional参数时,数据访问可以由内网或外网主机始发[4]。
(7)当设备上配置的NAT规则较多时,设备按照如下优先级对报文进行转换:存在静态转换和动态转换时,静态优先;都是动态转换时,根据ACL中源IP的反掩码决定,精确优先;如果动态规则的反掩码程度相同,则配置了下一跳和出接口规则优先。
5 NAT流量转发过程
对于源地址变换,业务板卡将在做了NAT标记的流量转发至NAT板卡上之前会查询FIB表并将转发信息上送到NAT板卡,NAT板卡在完成NAT转换过程后,依据此转发信息将NAT后的流量直接转发至出接口;对于目的地址变换,NAT板卡在完成NAT转换过程后,直接在NAT板卡上查找FIB转发表已将NAT后的流量转发至出接口;NAT后的流量被转发到出接口上后,会按照设备的出接口转发处理流程进行处理。
总结
本文就SR8800设备的NAT处理流程进行了说明,指出了设备NAT功能的一些特点,在现实组网中,将会有各种复杂的NAT组合需求出现,通过对NAT技术的理解、对设备具体NAT处理流程的掌握,以及对设备NAT特点的熟知,可以灵活应用以满足实际需求。
[1] 宰芹芹.NAT技术的研究与应用[J] .舰船电子工程,2011,(07).
[2] 贾永德.SIP穿越NAT的技术研究及实现[D] .上海交通大学,2007.
[3] 张永平.VPN网络中IPSec穿越NAT的研究[J] .计算机应用与软件,2013,(01).
[4] 徐昊.SIP与 NAT工作冲突模型[J] .科技信息,2014,(36).