一个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头中是不连续的。
F-4A类地址的最高位置为0,然后是7位的网络地址和24位的主机地址。
0
网络地址
主机地址
F-4B类地址最高两位置为10,然后是14位的网络地址和16位的主机地址。
1
0
网络地址
主机地址
F-4C类地址最高三位置为110,然后是21位的网络地址和8位的主机地址。
1
1
0
网络地址
主机地址
F-4D类地址最高四位置为1110,F-4D类地址是作为广播用的。
1
1
1
0
广播
F-8类地址的子类地址定义如下所示。虽然这8位形式上是连续的,但前两位和后六位在IP头上是不连续的。
F-8A类地址的最高位是0,然后是7位的网络地址和56位的主机地址。
0
网络部分
主机部分
主机部分
F-8B类地址的最高两位是10,然后是14位的网络地址和48位的主机地址。
1
0
网络部分
主机部分
主机部分
F-8C类地址的最高三位是110,然后是21位的网络地址和40位的主机地址。
1
1
0
网络部分
主机部分
主机部分
F-8D类地址的最高四位是1110,然后是28位的网络地址和32位的主机地址。
1
1
1
0
网络部分
主机部分
F-8E类地址的最高五位是11110,然后是35位的网络地址和24位的主机地址。
1
1
1
1
0
网络部分
网络部分
主机部分
F-8F类地址的最高六位是111110,然后是42位的网络地址和16位的主机地址。
1
1
1
1
1
0
网络部分
网络部分
主机部分
F-8G类地址的最高七位是1111110,然后是49位的网络地址和8位的主机地址。
1
1
1
1
1
1
0
网络部分
网络部分
主机部分
3相关问题
假如不支持新F类地址的主机看到该此新F类地址,则此IP包将被忽略掉。那么与此主机之间的通信将无法进行,但是对主机的改动量要比实行一个完全不同的IP头结构或一个不同的协议所需要的改动要少得多。
接收主机必须被修改为包含如下程序:
if(Destination_IP_address&0xFC000000==0xF8000000)
{
/*NewextendedclassFaddress*/
Class_F_Processing(Destination_IP_address);
}
此Class_F_Processing()程序可定义为一个单独的模块。同时将会需要有其它的改变把F类地址处理结果传送给到主IP处理模块,但这种的必要性不会很多。
4安全问题的考虑
安全问题在这里不进行讨论。
作者联系地址
KaranjitSiyan
SiyanConsultingServices
49TaurusRoad,Box960
NorthGlastonbury
Emigrant,Montana59027
Phone:406-333-4491
EMail:72550.1634@compuserve.com