本次视频讲解IP协议的不足与解决途径。我们先不讲IP++的具体细节,而是先来讲一下基本的思路、纲领,同时这也是IP++的价值和意义所在。
我将分两部分来讲解,先讲传统IP协议的不足,然后讲IP++如何解决传统IP协议所遇到的问题。
先来看传统IP协议的不足。这里我先来讲IPv4的不足,然后讲一下IPv4框架下的应对方法,再讲一下IPv6的不足。
IPv4是当前正广泛使用的网络层协议,随着使用时间越来越久,逐步显现出一些局限性,最突出的问题是地址资源不足,为了缓解地址资源的不足,NAT被大量使用。但NAT只支持从内网向外网的访问。如果想要从外网访问内网,问题就比较麻烦,无法直接实现。
在IPv4存在的问题上大家的认识基本上是一致的,没有太多争议。因此这里就不过多展开细讲了。
需要解释的是,IPv4目前仍是主流的网络层协议。人们在使用网络应用时感觉似乎并没有受到IPv4的缺点的影响,这又是为什么呢?原因是人们在现有的技术框架下使用了一些间接的迂回的方法,如服务器中转、打洞等。这样也能实现外网访问内网的功能。但由于不是直接实现的,所以会存在性能、成本、安全等方面的一些问题。也就是说,现有的解决方案只是权宜之计。
我们再来看一下IPv6的情况。这里我不准备过多地讲IPv6的细节,因为这不是现在问题的重点。我只重点讲IPv6存在的问题。简单地说,IPv6就是放大版的IPv4。了解互联网发展历史的人知道制定IPv6的,与制定IPv4的基本上是同一伙人。这样既有好处也有坏处。好处是旧的经验可以发挥作用,坏处是容易局限在旧的思路里。大多数人不了解的是在互联网发展的早期曾经有过一次协议的切换。互联网的前身ARPANET早期使用NCP,后来NCP不够用了。切换成现在还在用的TCP/IP。当时的网络只有几百个节点,有比较集中的管理。时过境迁,如今IPv6面对的局面完全不同,互联网规模如此之大,结构如此复杂,与人们的日常工作生活关系如此密切。再像当年那样比较容易地完成切换是根本不可能的。如果采取IPv6这样不兼容的推倒重来的做法。耗费的直接成本将以万亿计,间接的如学习、管理等上面的成本更是难以计算,造成的麻烦、问题更难以估量。谁愿为此买单呢?
总之由于存在不兼容的致命缺陷,IPv6的前景不被看好。
通过前面对IPv4和IPv6的介绍,我们可以得出结论“传统的IP协议已经不能满足要求,必须有所突破”。
简单的分析就能发现IPv4和IPv6有共同的基本特征:定长的扁平化的地址。这是造成传统IP协议的局限的根本原因。只要突破这个局限,问题就能迎刃而解。那就是使用分级变长地址。
接下来,分别从实践和理论的角度分析为什么需要采用分级变长地址。细心观察,我们会发现身边存在大量分级变长标识的例子,如通信地址、电话号码、文件路径、域名等等。这些例子全都采用相同的处理方法,不可能是巧合,而应有内在的原因。这些例子所处理的对象都有层次聚合的特征。而分级变长标识与这种特征相匹配,采用分级变长标识是最自然、合理的选择。现实世界中,由多个对象组成的群组常常具有这种层次聚合的特征,因此我们身边有很多采用分级变长标识的例子也就并不奇怪了。
我们发现网络节点也符合层次聚合的特征。公网地址和私有地址这种处理方法就是迎合这种特征的,但还不够充分。充分的做法是全面采用分级变长地址,并在网络层协议中实现,这就是IP++的基本思想。
IP++中将网络划分成若干单元网。公网是一个单元网,然后一级一级往下划分。也就是说每个单元网都有相应的级数。某网络节点的地址由各级地址串联而成。这跟我们处理通信地址、文件路径时没什么两样,因此很好理解。
IP++有着众多优点。首先由于是对IPv4很自然的扩展,与现有网络高度兼容,相比于IPv6可节省大量成本。其次IP++非常简便、人性化,易于推广使用。另外在物联网、安全、组播等很多具体的方面,IP++有着定长地址方案所无法实现的优点。这些内容在后面都会涉及到,这一讲我们就不一一展开细讲了。
总之,IP++是一个低成本高回报的方案。
好,本次视频的内容就是这些。从下一讲开始,我们就真正进入IP++的具体内容讲解。