多less个NAT映射规则(即内部,私有IP:PORT和外部映射的IP:PORT之间的映射)能够支持常见的NAT盒子?
这样的数字是否有限制(也就是说,有多less规则可以同时被激活)?
有两个因素影响单个设备的NAT映射的最大可能数量:NAT的types和NAT表的可用内存量:
至于NAT的types,让我们考虑一个全锥形NAT,看看它是如何影响可能的映射的数量的:每个内部的ip:port对映射到一个外部的ip:port对。 现在我们假设NAT只有一个可用的外部IP地址,可能映射的最大数量受可能的外部端口数量(即2 ^ 16)的限制。
至于NAT表的可用内存量,我们必须分离出两类不同的NAT:“硬件”和“软件”NAT。 我认为专用设备(如家庭路由器或专业networking设备)是硬件NAT,而运行通用操作系统以及一些NAT软件的现货PC使用软件NAT。
尽pipe软件NAT明显受到主机所具有的内存量的限制,但是硬件NAT具有用于内置NAT映射的内存,除非您正在处理运营商级设备,否则这通常是不可扩展的。 这个固定的内存的大小然后形成限制多lessNAT映射可以保持同时活着。 对于典型的家庭路由器设备,NAT表的大小在2 ^ 10到2 ^ 14的范围内。
我想这应该给你一个在实践中限制NAT映射的大小的相当好的概念。 显然,在这个维度上还有其他各种因素,比如用户空间软件NAT的进程大小限制,或者限制每台主机最大映射数量的策略等等。
NAT仅仅是一个机制,它没有定义任何限制,任何这些都将完全依赖于实现。 我怀疑是否有人甚至可以给出平均值,因为在那里有很多的NAT实现。 这个问题没有任何意义。
到目前为止,最好的答案是在这个网页: http : //www.informit.com/articles/article.aspx? p=25273& seqNum=5 :
理论上,NAT表可以容纳的映射数量没有限制。 实际上,内存和CPU或可用地址或端口的边界限制了条目的数量。 每个NAT映射使用大约160个字节的内存。 在极less数情况下,出于性能或策略原因必须限制条目,可以使用ip nat translation max-entries命令。