扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
任何支持IPv6的通用IP协议堆栈都能支持IPv4。也就是说,它具备双栈支持功能。此处所说的“通用”是个很重要的概念:当然不久后肯定会推出只支持IPv6的专门设备。双栈的重要意义在于如果双边对话中的其中一个设备支持IPv4或IPv6,那么当另外一个设备受到限制时则不会诱发什么问题。只要两者之中有一个能完成双边的对话,那么就能够完成信息传递。
双堆栈是IPv6的前期部署工作中最简单的一种方法。如果在IPv6网络中,所有的设备都利用双堆栈技术,那么它们就可以和IPv4或IPv6中的任一终端对话。当公共互联网的大部分终端仍在使用IPv4技术的情况下,这一点在IPv6的前期部署中显得尤为重要。
我们之所以要部署IPv6主要是因为IPv4地址很快就要耗尽了。如果我们耗尽了IPv4地址,那么要如何将一个IPv4地址和IPv6地址放置到每个界面呢?
事实是,我们很早前就已经耗尽IPv4地址了。读者可能会感到诧异:“怎么可能呢?IANA还有28/8 的IPv4地址块尚未分配。这意味着还能提供4.69亿个地址可供使用啊。为什么说已经耗尽了呢?”笔者认为,我们对IPv4地址的数量和共享地址的方法估计得过于乐观了。
使用DHCP是共享动态地址分配的方法之一。我们假设所给网络中不是所有的设备都需要同时在线,因此我们从有限的池中借用一个地址供设备使用,并声明当设备使用完后要收回地址。然后该地址就可以分给其他有需要的设备。
在90年代的时候,这种方法很管用,但是现在越来越多的联网设备需要经常保持在线状态。这意味着这些设备要占用所分配的地址,因此能用来共享的地址数量变得越来越少。
当然还有其他共享独特IPv4地址的方法,但是到目前为止最成功的是网络地址转换(NAT)方法。尤其是NAT44,该技术将一个IPv4地址转换成了另一个IPv4地址。私有(RFC1918) IPv4地址要在所给网络中使用;这里是假设在一个网络中,大多数IP设备都只需要和相同网络中的其他IP设备进行连接。
但是由于RFC1918 地址可以在其他网络中重复使用,所以它们不具备独特性。当网络中的某个设备希望通过公共互联网和另一个管理域中的设备对话时,我们无法保证这两个设备所使用的不是相同地址。而且也没有方法为公关域中使用相同地址块的路由进行区分。
所以我们将NAT44(通常位于路由或防火墙之中)放在与公共互联网相接的网络边缘。NAT拥有若干独特的IPv4地址。随着数据包从内部或私有界面发送到外部或公共界面,NAT用其公共IPv4地址中的一个代替了数据包的私有IPv4地址。NAT技术通过映射内部地址到外部地址的路径来记住数据包源自哪个内部设备。
如果NAT44的表现不止如此,那它就应该也会出现动态地址分配的问题:可用的地址池不能满足今天网络设备要保持持续在线的要求。随着越来越多的数据同公共互联网传递,有可能大多数网络内部设备和其他网络内部的设备之间的对话都失去效果。
NAT44使用的不仅仅是公共IPv4地址,还使用了带有可用地址的端口,所以它可以客服规模问题。TCP和UDP标头支持6.5536个端口,而其中大多数都未被使用。因此通过将内部数组映射到外部数组,NAT44可以真正实现对话映射,而且每个地址都能支持大量对话。
一直以来,这一方法都被称之为 “网络地址和端口转换”(NAPT),端口地址转换(PAT),地址负载,或者IP地址伪装。现在,它被视为NAT44的标准功能。
NAT从90年代起就被使用,那时候它还是用来减缓IPv4地址耗尽的若干短期方案中的一个,而与此同时用来替代该技术的IPv6技术也在开发之中。之后它被称之为NAT而不是NAT44,因为将一个IPv4地址转换成另一个IPv4地址是这里唯一的选择。不需要用NAT64的方式来对其进行区分,因为IPv6那时候还不存在,因此也就没有要将IPv4地址转换成IPv6地址的需要。
这是运营商级别NAT的基础。传统NAT——CPE NAT——出现在客户网络的边缘,因为这里连接着服务供应商而且可以在客户网络中的私有IPv4地址与供应商分配的公共地址间进行转换。CGN出现在服务供应商网络中,它也能在专属的和公共的IPv4地址间进行转换;CGN的专属部分面对的是供应商的客户。
换句话说,CGN让服务供应商可以把专属的RFC 1918 IPv4地址分配给自己的客户。
这里同时也提出了一个问题:为什么不放弃IPv6而仅仅使用CGN呢?
CGN的第一个问题在于其名称。CGN和NAT之间其实没有什么实质差异,对于它如果出现在服务供应商网络中就有可能成为运营商级别路由的假设并不成立。但是不存在指定的特征可以用来衡量CGN是否是运营商级别。
由于没有什么标准来定义CGN是否达到运营商级别,所以一项旨在将其名称改为大型NAT(LSN)的行动正在进行中。在本文中我们还是使用CGN,因为它仍然是大多数所熟悉的术语。现在,我们可以解释一下为什么其名称会发生改变:LSN更好地体现了NAT的意图,即服务于大量供应商客户,要扩大客户流量。
同样,将“运营商”这一词语去掉也反映出LSN是NAT方案的事实。它适用于任何大型网络。
除了要对其进行扩充,另一个与LSN相关的大问题是它是被用来向客户分配RFC 1918地址的,然后它会使用客户NAT上面的公共地址。然后,这些CPE NAT会从客户端RFC 1918地址处转换到供应商的RFC 1918地址。因此,现在终端用户的流量可以在两层甚至是多层NAT架构上进行传递。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者