一个IP地址扩展方案

【一个IP地址扩展方案】1简介与背景
Internet社区近年来得到了很好的发展,一系列成熟的协议在网络和传输服务上为用户提供了很大的方便 。然而,由于TCP/IP协议的极大成功以及越来越多的网络希望加入Internet,使得可分配地址出现短缺现象 。
现今的网络地址空间使用32位的IP地址,其中包括网络地址部分和主机地址部分 。这两部分的划分通过五种地址类型来定义:A类地址、B类地址、C类地址、D类地址和E类地址 。在这五种地址之中,只有A、B、C类地址可分配给主机 。D类地址用于广播地址,只有E类地址被保留 。
A类地址的最高位为0,然后是7位的网络地址和24位的主机地址 。
B类地址的最高两位为10,然后是14位的网络地址和16位的主机地址 。
C类地址的最高三位为110然后是21位的网络地址和8位的主机地址 。
D类地址的最高四位为1110 。
E类地址的最高四位为1111 。
将IP地址空间增加到多于32位即可以解决地址短缺问题,但所付出的代价是:需要制作一个新的IP头定义,而这将与原IP的执行相冲突 。象用CLNP这样的基于OSI的解决办法已有人提出,但真正履行可能还需要一段时间 。
2IP扩展建议
为了支持此RFC协议中提出的地址扩展问题,为了使必要的变化减小到最少IP头格式不应被修改 。相反一个“被遗忘的”的结构可实现地址的扩大化 。IP头长度域为4位,这样就答应长度达到15个32位字(这里每个字是4个八位字节) 。不带选项的最小IP头为5个字,另外10个字供选项使用 。我们可以保留6个字(24个八位字节)作为常规选择,其余的(4个字或16个八位字节)作为新的选择类型,这便指明了一个扩展地址 。以下是对此结构的具体介绍 。
E类地址的高五位应固定置为11110 。它目前的定义是从最高位开始有四个1的地址是E类地址 。
定义一个新的F类地址,使其高六位顺序置为111110 。新的F类地址放置在用于存放存放源和目的地址的位置,但置那部分地址信息放在IP头的选项部分 。说明如下表:
版本
首部长度
服务类型
总长
认证号
标志
碎片偏移
1
1
1
1
1
0
保留
源IP地址第一部分
1
1
1
1
1
0
保留
目标IP地址第一部分
自选号
SADDR编码
地址第二部分长度
源IP地址第二部分
DADDR编码
地址第二部分长度
目标IP地址第二部分
数据
"偏移量"域以字为单位指明了地址的第二部分从包头开始的偏移量 。它的目的是避免为寻找地址信息而搜索选项区 。为了与这部分中其它选项一致,选项区的地址部分长度以字节为单位 。“Lenadr.part”以八位为单位表明了IP地址第二部分的长度 。此长度应该进行规定以便IP地址的第二部分结束于一个字的边界 。比如说,可能的长度是4,8个字节 。建议SADDR和DADDR的编码分别采用新的IP选项编码 。
IP地址有是固定的IP地址头中两字节部分加上选项区中定义的地址部分 。
假如“Lenadr.Part”部分是数字2,则新的一类地址被指定为F-4类地址(F类地址为4字节长的IP地址) 。
假如“Lenadr.Part”部分是数字6,则新的一类地址被指定为F-8类地址(F类地址为8字节长的IP地址) 。
每一个F-4和F-8类IP地址均可被分割为一个网络地址部分和一个主机地址部分,从风格上来说这是和当前的IP地址安排相同的 。
F-4类地址的子类地址定义如下 。虽然这四个字节在表中是连续的,但前两个子节和后两个字节在IP头中是不连续的 。

推荐阅读