论文部分内容阅读
在网络技术蓬勃发展的今天,互联网用户及移动终端用户规模日益扩大,网络IPv4地址日益枯竭。与此同时,虽然使用IPv6地址能够从根本上解决网络地址枯竭的问题,但从实际的角度出发,IPv4向IPv6的演进将会是一个浩大又复杂的系统工程。如何更加高效地使用现有的IPv4地址就成了网络运营商及电信设备提供商急需解决的问题。网络地址转换(NAT)技术作为主流的缓解网络地址枯竭的解决方案,能够实现私网地址到公网地址1比1和N比1的转换,极大程度上减少了公网地址的使用。传统的NAT设备虽然能够实现网络地址转换的功能,但考虑到现网中网络流量及转换规模的巨大,转控一体的NAT设备无法高效地对表项进行管理和维护,也无法保证转换的效率。本文立足于传统NAT设备的痛点,利用转控分离的设计思路实现NAT多实例的维护与管理,将NAT管理功能与NAT学习转发功能分别放在控制与转发平面上,实现了电信级NAT(CGN)系统在转发规模以及转发性能上的要求。与此同时,随着网络设备逐步向NFV演进,CGN系统的虚拟化也将逐步成为各大电信设备提供商的主要研究方向。针对这一研究方向,本文所设计的基于FOS软件开发平台的CGN软件系统也将支持在虚拟机上运行。文章首先介绍网络地址过渡技术,比较各过渡技术的优缺点,说明NAT技术在过渡技术中的优越性,阐述CGN系统的NAT原理,CGN关键技术与常见部署方案。接着本文设计一种基于分布式架构的NAT模块,从转控分离的设计思路出发,阐明模块结构与软件实现流程。随后介绍了本文所运用的FOS软件开发平台,基于NAT模块的实现流程设计CGN系统的系统架构,数据结构与主要功能函数和算法。然后基于CGN系统的设计介绍了NAT多实例结构和可靠性的实现原理,从组件创建,命令行功能和NAT映射关系表三个方面实现单实例下的NAT组件。最后测试单实例下的NAT功能、规格及性能,其中主要功能包括静态NAT转换,动态NAT转换及特殊协议报文的NAT转换。测试结果表明本文所实现的单实例NAT组件初步达到了CGN系统的设计要求。