IPV9地址草案.docx
《IPV9地址草案.docx》由会员分享,可在线阅读,更多相关《IPV9地址草案.docx(60页珍藏版)》请在冰豆网上搜索。
![IPV9地址草案.docx](https://file1.bdocx.com/fileroot1/2023-2/9/e818985c-2c4f-4581-b864-9f3f6a852d0d/e818985c-2c4f-4581-b864-9f3f6a852d0d1.gif)
IPV9地址草案
SRFCIPV9地址(草案)
十进制网络工作组上海通用化工技术研究所
SRFC:
00025
撤消:
分类:
信息类
提示
本文为Internet社区指定一个Internet标准跟踪协议,并请求为改进进行讨论和提出建议。
版权声明
本文的全部版权属于IPV9十进制网络工作组。
(2000)。
摘要
本文件包括IPV9寻址模型、IPV9地址的文本表示、IPV9单播地址、任意点播地址和组播地址的定义以及IPV9节点需要的地址。
1.概述
本技术规范定义了IPV9的寻址体系结构。
包括当前定义的IPV9地址格式的详细描述。
2.IPV9寻址
IPV9地址为接口和接口组指定了256位的标识符。
有三种地址类型:
⏹单播。
一个单接口有一个标识符。
发送给一个单播地址的包传递到由该地址标识的接口上。
⏹任意点播。
一般属于不同节点的一组接口有一个标识符。
发送给一个任意点播地址的包传递到该地址标识的、根据选路协议距离度量最近的一个接口上。
⏹组播。
一般属于不同节点的一组接口有一个标识符。
发送给一个组播地址的包传递到该地址所有的接口上。
在IPV9中没有广播地址,它的功能正在被组播地址所代替。
在本文中,地址内的字段给予一个规定的名字,例如“用户”。
当名字后加上标识符一起使用(如“用户ID”)时,则用来表示名字字段的内容。
当名字和前缀一起使用时(如“用户前缀”)则表示一直到包括本字段在内的全部地址。
在IPV9中,任何全“0”和全“1”的字段都是合法值,除非特殊地排除在外的。
特别是前缀可以包含“0”值字段或以“0”为终结。
2.1寻址模型
所有类型IPV9地址都被分配到接口,而不是节点。
IPV9单播地址属于单个接口。
因为每个接口属于单个节点,多个接口的节点,其单播地址中的任何一个可以用作该节点的标识符。
所有接口至少需要有一个链路本地单播地址。
一个单接口可以指定任何类型的多个IPV9地址(单播、任意点播、组播)或范围。
具有大于链路范围的单播地址,对这样的接口是不需要的,也就是从非邻居或者到非邻居的这些接口,不是任何IPV9包的起源或目的地。
这有时使用于点到点接口。
对这样的寻址模型有一个例外:
如果处理多个物理接口的实现呈现在Internet层好象一个接口的话,一个单播地址或一组单播地址可以分配给多个物理接口。
这对于在多个物理接口上负载共享很有用。
目前的IPV9延伸了IPV4模型,一个子集前缀与一条链路相关联。
多个子集前缀可以指定给同一链路。
2.2地址的文本表示
一种表示IPV9的256比特地址的方法:
“中括号十进制”表示法。
这种方法将256比特的地址分成8个32比特十进制数加上分隔它们的方括号来表示。
这种表示方法的形式是“y[y[y[y[y[y[y[y”,其中每个y代表地址为一个32比特部分,并使用十进制表示。
例如:
0000010800[0000000000[0000000000[0000000000[0000080800[0061908791[0010880800[0019820203
在地址表示中,每个十进制数靠左边的多个连续的零可以省略不写,但是全零的十进制数需要用一个零来代表。
例如,上面的地址可以写成:
108000[0[0[0[80800[61908791[10880800[19820203
为了进一步简化地址的表示,我们可以将地址中连续的全0域用一对方括号“[X]”来代替(X为全0域的段数)。
例如,上面的地址可以简写成:
108000[3]80800[61908791[10880800[19820203
又例如:
0[0[0[0[0[0[0[1可简写成[7]1
0[0[0[0[0[0[0[0可简写成[8]
IPV9地址有五种类型,分别介绍如下:
1.纯IPV9地址
这种地址的形式为:
Y[Y[Y[Y[Y[Y[Y[Y其中每个Y代表一个从0到232=4294967296之间的十进制整数。
2.兼容IPV4的IPV9地址
这种地址的形式为:
Y[Y[Y[Y[Y[Y[Y[D.D.D.D其中每个Y代表一个从0到232=4294967296之间的十进制整数。
D代表一个原来IPV4的0到28=255之间的十进制整数。
3.兼容IPV6的IPV9地址
这种地址的形式为:
Y[Y[Y[Y[X:
X:
X:
X:
X:
X:
X:
X其中每个Y代表一个从0到232=4294967296之间的十进制整数。
X代表一个原来IPV6从0000到FFFF之间的十六进制数。
4.特殊兼容地址
为了能从IPV4、IPV6向IPV9平滑升级,我们设计了一些兼容地址。
其中,在IPV6地址中有一些是为了兼容IPV4地址而设计的兼容地址,为了能把这部分平滑的向IPV9地址过渡,我们对此做了特殊处理:
在这部分地址前加上适当的前缀形成。
为了让它们表示更为直观,避免书写中疏忽容易导致的错误,引入了简写的办法:
y[y[y[y[x:
x:
x:
x:
x:
x:
d.d.d.d
其中,每个y代表地址为32比特,用十进制表示;每个x代表原来IPV6地址为16比特,用十六进制表示;每个d代表原来IPV4地址为8比特,用十进制表示。
例如:
0[0[0[0[7474147[5211314[7758521[53517231
可书写成:
0[0[0[0[72:
BE3:
4F:
84B2:
76:
62B9:
3.48.155.175
或:
[4]72:
BE3:
4F:
84B2:
76:
62B9:
3.48.155.175
又如:
0[0[0[0[0[0[0[562159487
可书写成:
[4]:
:
33.129.223.127
5.过渡期的IPV9地址
为了解决IPV4能平稳地向IPV9过渡,考虑到现有互联网至今已投入了大量的资金。
特设计IPV9的过渡地址,拿出一段232来过渡分配。
可实现在目前系统上做少量改动即可,其中IPV9中有一段J.J.J.J.其中每个J表示一个0到28的十进制数即0~255。
其中前面[7]可在本地地址中间省略不写,即本地用户(或指定用户)可用J.J.J.J.来直接使用和原来的IPV4的D.D.D.D.区分。
同时为了更好地解决在网络中传输以区别于IPV9和IPV4十进制网络工作组建议在IPV9取出最后一个z用作过渡期地址,其中[]不表示任何段数,只表示一个Z,表示过渡期地址的导引如[]a.b.c.d。
同时,这部分用户为了平稳过渡到全十进制可同时分配十进制。
以便今后软件和硬件的改进时不必重分地址,如[]3.48.155.175可书写成[1]5211314在本地域一个IP网络内可直接用3.48.155.175来书写。
而当在大网中传输时可在语言中加上[]或可将一个Z中的另一个32位IP地址,进行地址前缀分配,将后一个32位当成主机地址,而将前一个32位地址当成网络地址。
从而使原来的终端均能使用。
为了使原来的用户和现在的用户能兼容在IPV9DNS记录中应有新的记录。
凡是采用过渡期IPV9地址的系统作适当改进后可采用原来的IPV4系统。
同时报头采用IPV4报头但版本号为9以区别原来的IPV4。
但在本地域内用户终端可使用原有终端设备而在网络传送中则将另一个地址当作网络前缀。
另外一种表示IPV9的256比特地址的方法:
“大括号十进制”表示法。
这种方法将256比特的地址分成4个64比特十进制数加上分隔它们的大括号来表示。
这种表示方法的形式是“Z}Z}Z}Z”,其中每个Z代表地址为一个64比特部分,并使用十进制表示。
它的用法和Y完全一样,同时和Y兼容,二者可以混用。
这样就大大的方便了目前这些IPV4地址在IPV9中的兼容地址。
例如:
z}z}z}z;
z}z}y]y]y]y;
z}z}y]y]y]d.d.d.d;
z}z}z}y]d.d.d.d;
z}z}z}y]J.J.J.J;
z}z}z}y]y]J.J.J.J;
……
尤其是最后一种地址格式更为有用。
例如:
地址0}0}0}0]192.192.192.192
可以这样表示:
{3}0]192.192.192.192而在过渡期当作中{3}是可以省略。
最后,需要说明的是,在符号表示时,中括号和大括号用时不分前后的,即“{”和“}”、“[”和“]”不分,因为考虑到这样并不会引起任何副作用,而且能更方便使用者,所以这样定义。
由于IPV9的地址长度为256位,这样无论采用4段还是8段,在每一段中仍然会有很多位。
例如采用8段表示时,每一段仍然有32位。
这样在一段中就会出现下面的情况:
……]00000000000000000000000000010110]……
……]01111111111111111111111111111111]……
这样的情况不仅输入繁琐,而且很容易少输或者多输,使用户眼花而不利于数位。
为了方便,还引入了小括号表示法——(K/L)。
其中“K”表示0或1,“L”表示0或1的个数。
这样上面的两个例子可以简写成:
……](0/27)10110]……
……]0(1/31)]……
2.3地址前缀的文本表示
IPV9地址方案与IPV4的超网和CIDR方案类似,都是通过地址前缀来体现网络的层次结构。
在IPV9地址前缀的表示上,采用了类似于CIDR的表示法,其形式如下:
IPV9地址/地址前缀长度
其中,IPV9地址是采用IPV9地址表示法所书写的地址,地址前缀长度是指明地址中从最左边组成地址前缀的连续比特位的长度。
在此,必须注意,IPV9地址中用的是十进制数,但前缀长度却是指的二进制而言的。
因此,必须小心计算前缀。
在十进制数中很不直观,考虑后认为可以把IPV9地址前缀换算成十六进制较为容易理解。
但表示IPV9地址时还是用十进制数。
例如:
200比特的地址前缀1212[0[0[0[343[150[0可表示为:
1212[0[0[0[343[150[0[0/200
或1212[3]343[150[2]/200
或1212[0[0[0[343[150[2]/200
或1212[3]343[150[2]/200
注意,地址前缀的表示中,IPV9地址部分的表示一定要合法,即斜线“/”左边的IPV9地址必须能还原成正确的地址。
在这个地址前缀中,可以看到地址前缀长度是200,故此,前缀实际上就是整个地址的前6段再加上第7段的前8比特(32*6+8=200)。
因此关键在地址的第七段。
此段用十六进制表示为:
00000000,前缀只包括前两个0。
了解到了这一点,我们就可以知道:
本段的取值是在00000000(hex)~00FFFFFF(hex),即十进制的0~16777215。
IPV9地址部分可以是由纯粹的地址前缀通过在它的右边补上0生成,它还可以是一个包含该地址前缀的真实的IPV9地址。
例如,上例中的地址前缀还可以表示成:
1212[3]343[150[16777215[6789/200
2.4地址类型表示
各种具体类型的IPV9地址有地址中的高位引导比特位域标明。
这些引导比特位域的长度各不相同。
在协议中它们称为格式前缀FP(formatprefix)。
格式前缀FP(n比特)
地址(256-n比特)
IPV9地址的格式前缀
各种地址类型的前缀的总体上的划分:
IPV9地址格式前缀的原始分配表
地址类型
格式前缀(二进制码)
占地址空间的比例
保留地址
0000000000
1/1024
未分配地址
0000000001
1/1024
IPV9十进制网络工作组
000000001
1/512
IPX保留地址
000000010
1/512
未分配地址段
000000011
1/512
未分配地址段
00000010
1/256
未分配地址段
00000011
1/256
未分配地址段
00000100
1/256
未分配地址段
00000101
1/256
未分配地址段
0000011
1/128
未分配地址段
000010
1/64
未分配地址段
000011
1/64
未分配地址段
00010
1/32
未分配地址段
00011
1/32
未分配地址段
00100
1/32
未分配地址段
00101
1/32
未分配地址段
0011
1/16
可聚合全局单目地址
0100
1/16
未分配地址段
0101
1/16
未分配地址段
011
1/8
地理区域单播地址
100
1/8
地理区域单播地址
101
1/8
未分配地址段
1100
1/16
未分配地址段
1101
1/16
未分配地址段
11100
1/32
未分配地址段
111010
1/64
未分配地址段
111011
1/64
未分配地址段
111100
1/64
未分配地址段
1111010
1/128
未分配地址段
1111011
1/128
未分配地址段
1111100
1/128
未分配地址段
11111010
1/256
未分配地址段
11111011
1/256
未分配地址段
11111100
1/256
未分配地址段
11111101
1/256
未分配地址段
11111110
1/256
未分配地址段
111111110
1/512
未分配地址段
11111111100
1/2048
本地链路单目地址
111111111010
1/4096
站内单目地址
111111111011
1/4096
多目地址
1111111111
1/1024
IPV9地址格式前缀的原始分配表
地址类型
格式前缀(二进制码)
十进制范围(单位:
2224)
占地址空间的比例
保留地址
0000000000
0——4194303
1/1024
未分配地址
0000000001
4194304——8388607
1/1024
IPV9十进制网络工作组
000000001
8388608——16777215
1/512
IPX保留地址
000000010
16777216——25165823
1/512
未分配地址段
000000011
25165824——33554431
1/512
未分配地址段
00000010
33554432——50331647
1/256
未分配地址段
00000011
50331648——67108863
1/256
未分配地址段
00000100
67108864——83886079
1/256
未分配地址段
00000101
83886080——100663295
1/256
未分配地址段
0000011
100663296——134217727
1/128
未分配地址段
000010
134217728——201326591
1/64
未分配地址段
000011
201326592——268435455
1/64
未分配地址段
00010
268435456——402653183
1/32
未分配地址段
00011
402653184——536870911
1/32
未分配地址段
00100
536870912——671088639
1/32
未分配地址段
00101
671088640——805306367
1/32
未分配地址段
0011
805306368——1073741823
1/16
可聚合全局单播地址
0100
1073741824——1342177279
1/16
未分配地址段
0101
1342177280——1610612735
1/16
未分配地址段
011
1610612736——2147483647
1/8
地理区域单播地址
100
2147483648——2684354559
1/8
地理区域单播地址
101
2684354560——3221225471
1/8
未分配地址段
1100
3221225472——3489660927
1/16
未分配地址段
1101
3489660928——3758096383
1/16
未分配地址段
11100
3758096384——3892314111
1/32
未分配地址段
111010
3892314112——3959422975
1/64
未分配地址段
111011
3959422976——4026531839
1/64
未分配地址段
111100
4026531840——4093640703
1/64
未分配地址段
1111010
4093640704——4127195135
1/128
未分配地址段
1111011
4127195136——4160749567
1/128
未分配地址段
1111100
4160749568——4194303999
1/128
未分配地址段
11111010
4194304000——4211081215
1/256
未分配地址段
11111011
4211081216——4227858431
1/256
未分配地址段
11111100
4227858432——4244635647
1/256
未分配地址段
11111101
4244635648——4261412863
1/256
未分配地址段
11111110
4261412864——4278190079
1/256
未分配地址段
111111110
4278190080——4286578687
1/512
未分配地址段
11111111100
4286578688——4288675839
1/2048
本地链路单目地址
111111111010
4288675840——4289724415
1/4096
站内单目地址
111111111011
4289724416——4290772991
1/4096
多目地址
1111111111
4290772992——4294967095
1/1024
可聚合全局单目地址和群集地址都属于单目地址,它们在形式上没有任何区别,只是在报文的传播方式上有所不同。
因此,可聚合的单目地址和群集地址分配有相同的格式前缀0100。
协议提出的网络供应商单目地址和地理区域单目地址都归并到了可聚合的单目地址中。
本地链路单目地址和站内单目地址都是在局部范围内使用的单目地址,为便于路由器加快对这两类地址的识别,分别给它们分配了111111111010和111111111011两个地址格式前缀。
因为多目地址在路由器和主机上的处理方法与单目地址和群集地址的处理方法区别比较大,所以给多目地址也单独分配了一个地址格式前缀1111111111。
还为“十进制互联网的地址和域名决策和分配组织”和Novell的IPX地址预留了地址空间,其对应的地址格式前缀分别是000000001和000000010。
IPV9的一些特殊地址,如未指明地址,本地回送地址和IPV4兼容地址,都以0000000000作为地址格式前缀。
2.5单目地址
单目地址是单个网络接口的标识,以单目地址为目的地址的报文将被送往由其标识的唯一的网络接口上。
单目地址的地址层次结构在形式上与IPV4的CIDR地址结构十分相似,它们都有任意长度的连续地址前缀和地址编码。
在设计IPV9单目地址时,作了如下假设:
1)因特网的路由系统都是基于IPV9地址的内部结构;2)IPV9地址结构信息仅在地址的分配和定位时有效。
IPV9的单目地址有以下几种形式:
可聚合全局单目地址,十进制互联网地址和域名决策和分配组织地址,IPX地址,局部用IPV9单目地址和IPV4的兼容地址。
2.5.1未明确地址
由全零组成的IPV9地址0[0[0[0[0[0[0[0(可简写为[]或[8])被称为IPV9未明确地址。
IPV9未明确地址不能分配给任何一个节点,因为它仅仅意味着网络接口暂时没有获得一个正式的IPV9地址。
当一个节点启动并且还未能确定自己的IP地址时,它可以在发送的IPV9报文中的源地址域中填入IPV9未明确地址,目的是进行邻节点探测和地址的自动配置以获得确定的IP地址。
在某些控制消息报文中,语法上需要使用一个地址域但又不需要一个真正确定的地址时,也可以使用IPV9未明确地址。
需要注意的是,因为IPV9未明确地址不能分配给任何一个节点或网络接口作为其地址标识,所以它绝对不允许出现在IPV9报文的目的地址和IPV9源路径选择扩展首部的中间路由节点地址域中。
2.5.2本地回送地址
IPV9的本地回送地址为0[0[0[0[0[0[0[1(可以简写为[7]1)。
它的作用与IPV4本地回送地址一样,在一个节点希望将IPV9报文回送给自己时使用。
当测试IP协议栈是否正常工作时,通常也使用本地回送地址。
本地回送地址只能够与虚拟设备相关连,不能分配给任何一个真实的物理接口。
在发送到一个节点外的IPV9报文中,不能使用本地回送地址为其源地址;而以本地回送地址为目的地址的IPV9报文不能发送到节点之外,更不能被IPV9路由器转发,否则回送地址将会失去其原有的意义。
2.5.3IPV4、IPV6协议主机的IPV9地址
在IPV9中制定了从IPV4、IPV6到IPV9平滑升级转换的一些机制,其中包括利用现有的IPV4、IPV6路由系统作为隧道转发IPV9报文技术。
对使用这种技术的IPV9节点,需要给它分配“IPV4兼容地址”、“IPV6兼容地址”和“特殊兼容地址”的几种特殊IPV9地址。
这些地址的具体结构如图所示:
10比特
19比特
3比特
64比特
32比特
96比特
32比特
前缀
保留
标志
0
作用域
IPV6专用
IPV4地址
兼容地址的格式
分配格式前缀0000000000给这个区域,占用10比特。
标志位的定义:
范围值
作用范围
范围值
作用范围
000
IPV4兼容地址
100
保留
001
IPV6兼容地址
101
保留
010
特殊兼容地址
110
保留
011
保留
111
保留
保留位用于以后备用。
虽然使用IPV4兼容地址可以实现利用IPV4网络作为传送IPV9报文的“自动隧道”,然而它不能很好的利用IPV9地址空间。
定义的另外一种嵌有IPV4、IPV6地址的IPV9地址。
这种地址用于将只使用IPV4或IPV6协议的节点的网络接口标识上IPV9地址,它被称为“IPV4映射地址”。
通过“IPV4映射地址”,实施IPV9协议的节点可以与只使用IPV4协议的节点进行通信。
32比特的作用域就是用于区别映射地址的:
正常情况下32比特置为0,在映