- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
SuIP协议的原理及实现
1、可伸缩的n×IPv4层区结构
SuIP协议用严格的技术语言来表达可以被称为"可伸缩的n×IPv4协议"。当引入SuIP技术后,整个IP网络变成一种完全以IPv4地址为基础的,具有可伸缩特性的层区结构,如图1所示。
图1 可伸缩的层区结构
第一层L1对应于我们现在所说的"公网"地址区。L2及以下对应于我们现在所说的"私网",L2对应于一级私网,L3对应于二级私网。
层区向下的延伸是可伸缩的。事实上,如果采用图1所示的4个层区的结构,其等效的最大地址空间已经是128位了。每一个向下延伸的层区深度可以是不一样的。例如某一个向下的路径上最大是5(最底层为L5)层,而另一个路径上最大的路径可能只有2(最底层为L2)层。
2、层区和终端的编址
每个层区的层区子地址是以其与上层IP层区联结处(层区网关)的IPv4地址进行编址。如:
例1,位于L2的某层区网关的IP地址为202.32.11.240,这个IPv4地址就是它对应层区的层区子地址。
每个层区的完整层区地址为从上往下所有层区的子地址连接起来的n个IPv4地址。如:
例2,在例1中的某个地址10.31.66.30下面还接了一个L3的层区,它的层区子地址就是10.31.66.30,而其完整的层区地址为:202.32.11.240.10.31.66.30。它是两个IPv4地址的拼接。
终端的完整SuIP为层区地址加上其本机在本层区内的IPv4地址。如:
例3,例2中L3的层区内有一个终端,其本机的IP地址为192.168.3.10,则其完整的SuIP地址就是由层区地址加上本机地址来表达。层区地址为:202.32.11.240.10.31.66.30,本机地址为:192.168.3.10。
3、SuIP包头的封装及格式
图2 SuIP包头的封装
SuIP包头是插在原IP包头和传输层包头之间的。IP包头仅调整协议号,如传输层是TCP,就将协议号从6改为200,如果是UDP,就将协议号从17改为201。从SuIP恢复时依同样映射关系改回去。
传输层包头不作任何变化。SuIP包头格式如图3所示。
图3 SuIP的格式
获取封装的MIPA(映射IP地址)的一个案例如图4所示。
例4,假设图4中SuIP包从A传到B:
Ø A的层区地址为:MIPA1+IPd,本机地址为IPs
Ø B的层区地址为:MIPA2+MIPA3+MIPA4,本机地址为MIPA5
图4 SuIP的MIPA获取
在完整的SuIP包中,IP包头的源地址为IPs,目的地址为IPd。封装的SuIP包头中的映射IP(MIPA)依次为MIPA1,MIPA2,MIPA3,MIPA4,MIPA5。
Totalnum字段表示封装的MIPA地址总数,本例中此字段值为5;
Stagenum字段为当前指针,表示SuIP包在整个传递过程中当前所在的层区,初始值为1;
Checksum为校验和。
4、SuIP包的传递
SuIP包的传递很简单,在每个层区内,该包的传递和路由与现IPv4协议100%一致,没有任何变化。当SuIP包传递到层区网关上时,根据Totalnum和Stagenum两个字段的指示,对IP包头的源地址和目的地址进行置换。例如当SuIP包到达第一个层区结束的层区网关(IPd的位置)时,将IP包头的源地址置换为IPd,目的地址置换为MIPA1,IPs转放在原MIPA1的位置,从而进行第二个层区的IPv4路由传递。在第二个层区内SuIP包的路由依然100%与现在IPv4协议是一样的。
当到达第二个层区的结束位置的层区网关(MIPA1的位置)时,再将IP包头的源地址置换为MIPA1,目的地址置换为MIPA2,IPd转放到MIPA2的位置,从而进行第三个层区的IPv4路由传递。
依此方法一个层区接一个层区地通过不断置换IP包头的源地址和目的地址,就可以最终100%兼容IPv4路由地将SuIP包从A传到B。
5、对SuIP技术的评估
5.1流量汇集和路径收缩
在基本的树状层区结构里,每个层区在其层区网关处会形成流量的汇集,这个汇集点可能形成流量的瓶颈。在RFC1631中,NAT地址协议的提出者就认为这是NAT技术的5个缺点之一。但事实上,由于实际的电信级的网络中从接入层向汇聚层、骨干层的收敛过程中就天然存在这种路径收缩,因此它并不是一个值得认真考虑的问题。
另外,SuIP封装的MIPA并非绝对就是一定要汇集到最上层的当前为公网的地址层,而是容许采用最短路径,以及容许横向的不同地址区之间存在直接联接,因此可以比较容易地解决较大的流量汇集。
而从好的方面说,这种路径的汇集可以有利于安全的管理。一个层区可能就是一个企业内部的网络。这也是现有私网被认为有利的一个方面。
5.2升级涉及工作量及成本
将现有NAT升级为SuIP在网络侧仅仅涉及到原NAT网关处的设备,并且完全为软件升级,不涉及任何硬件变化。并且由于SuIP包在层区网关处仅仅是作极少量的包内地址置换工作,因此其处理量非常少,速度非常快。
终端侧传输层协议基本可以不作任何改变,接近100%兼容。仅需极少量软件改变。
显而易见,以上两个软件基本功能的规模都仅为几百行代码的量级。即使加上其它相关的增强功能,其软件代码规模也是相当小的。
所有层区内数量巨大的IPv4路由器完全不用作任何改变,绝对100%兼容。
5.3应用软件的升级
SuIP并不影响现有NAT技术及IPv4协议的运行,因此与现有应用软件是可以100%简单共存的。如果要利用SuIP技术,应用软件需要支持SuIP协议,但这个支持可以不改变原有套接字的基本运行过程,仅增加少量SuIP相关处理代码。
SuIP在增加应用软件升级需求的同时,也会完全消除应用软件在私网打洞等问题上的考虑,因此它也会同时极大简化未来所有应用软件开发上的难度。
6、结论
综上所述,SuIP是一个相当轻量级的协议,在保持对现有IPv4协议簇及应用软件影响最低前提下,从根本上永久性地彻底解决了NAT地址穿透和IPv4地址不足问题,是一个真正充分解决实际问题的技术方案。它本质上可以认为是对NAT技术的平滑改进,因此,其普及升级难度与成本,和当初引入NAT地址时基本是类似的。历史事实证明了NAT技术的引入几乎没有对现网产生任何动荡性的影响,其升级成本几乎可以忽略不计。
而IPv6方案则与ATM类似,ATM的历史经历证明了IPv6失败的可能性是极大的。并且IPv6对现实真正迫切的私网穿透市场需求没有提供任何解决能力,因为IPv6的普及与私网穿透问题的解决本质上是相互矛盾的。
SuIP需要增加层区网关侧的软件升级,但当初NAT技术引入时也需要做同样的事情。而SuIP技术远比NAT技术简单,因此SuIP软件升级的工作量远小于当初NAT技术升级时的工作量;
SuIP需要升级终端侧的部分底层软件,这比NAT稍微复杂一点;
SuIP需要升级应用软件。NAT技术升级后也影响到了应用软件,增加了私网打洞等大量复杂的通讯协议处理。而SuIP升级后这部分相当复杂的工作可以完全消除,不同层区间的通讯应用软件将转变为和公网地址之间的通讯应用软件是完全一样的。在增加工作量的同时也更大程度地简化了应用软件通讯协议的开发工作量。
因此,SuIP技术对现网技术的影响和成本代价完全可以参考NAT技术引入时的情况,甚至最终会比NAT技术引入时的影响和成本还要低。
汪涛个人简介:
南京邮电大学学士,北京邮电大学硕士。通播网理论创始人和超级IP协议发明人,在通信、广播、计算机和互联网领域前后有长达近30年的研发、工程、运维和营销经验,以及在原郑州邮电部设计院、王码电脑公司、中兴通讯等在行业内具有巨大影响力的单位和公司担任工程师、研发人员、高级管理等工作的经验,。最早在2000年提出关于未来网络的构想——通播网,经反复研究,到2006年基本成型。2007年成立优恩艾斯通播网技术(北京)有限公司,专职研究和开发通播网相关技术及产品。前后在通播网理论和技术上有长达7年的积累和沉淀。
作者:汪涛 来源:通信世界网