设为首页收藏本站language 语言切换
查看: 2981|回复: 5
收起左侧

[分享] 【强叔侃墙 内功心法篇3】揭密华为防火墙NAT地址复用专利技术

[复制链接]
发表于 2014-5-7 17:46:17 | 显示全部楼层 |阅读模式
提到多对多、多对一的NAT(多个私网地址转换为多个或一个公网地址),就不能回避公网地址利用率的问题。 “华为防火墙一个公网IP突破了65535端口限制,理论上能够无限制进行NAT转换”这个结论在江湖上已经广为流传,接触过华为防火墙的兄弟可能早有耳闻,几天前提起源NAT也有兄弟跳起来指出。这正是华为防火墙十年前申请的一项专利技术的应用。
至此处,原谅强叔回忆下此专利发明人的大牛风采。几前路遇隐居的大牛下山,强叔敬仰地双手抱拳:“哥你已不在江湖多年,江湖中仍然流传着哥的传说。”——强叔还被称为小强之时,大牛已经名满防火墙。此时大牛仍然腼腆一笑,道声旧日小事飘然去也,唯强叔口水流了一地。之后,强叔又马不停蹄至襄阳,请教如今的NAT传人后,才算对此专利解读稍有眉目。围观兄弟且看,强叔接下来揭密华为防火墙NAT地址复用技术。  

                               
登录/注册后可看大图

在《源NAT》一节,强叔提到:“防火墙在应用源NAT功能时就是从地址池中挑选出一个公网IP,然后对私网IP进行转换。挑选哪个公网IP是随机的,和配置时的顺序、IP大小等因素都没有关系。”这其实就是我们看到的外部招式,所谓内功心法不外露的。
那么在进行源NAT时,究竟是怎样从地址池中挑选出公网IP地址资源进行分配的呢?
请允许强叔引入Hash算法的概念,这应该是大家常听说的一种广泛应用于程序编写的方法。一句话解释,就是把一种任意长度的信息进行压缩映射,成为某一固定长度的信息。例如,把3000个私网IP映射成100个公网IP,也就是从地址池挑选出公网IP地址资源进行分配的过程,资料中也偶尔会提到的“基于源地址Hash”。
Hash的具体规则或者说算法是什么呢?很灵活,自行设定,但是根据要达成的目标和计算结果,可以优选。在这里,我们使用的算法也比较简单取模运算。
估计很多不写代码兄弟的数学都已经还给老师了,但是提起求余运算应该都知道,思路如下:

                               
登录/注册后可看大图


(本文转自华为技术论坛)
 楼主| 发表于 2014-5-7 17:46:47 | 显示全部楼层
后面还有哟,感兴趣的同学请到华为技术论坛看看。
沙发 2014-5-7 17:46:47 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-10 08:40 , Processed in 0.062888 second(s), 15 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表