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