CN107241457B - 一种实现网络端到端通信的方法 - Google Patents
一种实现网络端到端通信的方法 Download PDFInfo
- Publication number
- CN107241457B CN107241457B CN201710402722.3A CN201710402722A CN107241457B CN 107241457 B CN107241457 B CN 107241457B CN 201710402722 A CN201710402722 A CN 201710402722A CN 107241457 B CN107241457 B CN 107241457B
- Authority
- CN
- China
- Prior art keywords
- address
- network
- message
- version
- level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种实现网络端到端通信的方法,包括:S1,将IP地址进行分级组织,网络被划分为复数级,公网、不同级的子网、同级的不同子网各自使用独立编址空间;S2,报文在分级后的网络中传输,若是跨单元网进行传输,则单元网之间的路由根据报文的目的地址和当前地址,判断出报文的传输路径并根据该路径进行传输;S3,将ARP功能整合到ICMP中,并在地址请求时用组播代替广播。本发明拓展网络地址资源,且各级地址自主管理,管理很方便。
Description
技术领域
本发明涉及网络通信领域,尤其是涉及一种实现网络端到端通信的方法。
背景技术
传统的IPv4网络,采用32位(二进制)地址。随着互联网规模的不断增大,地址资源不足的问题越来越凸显。为缓解地址资源的不足,引入了地址动态分配、NAT(网络地址转换)等方法。但这样做破坏了端到端的属性。网络上的两个终端要想通信,其中必须有一个终端(一般是服务器)拥有固定的公网IP地址。普通的两个终端(如两台手机)之间直接进行通信是难以实现的,因此限制了很多端到端应用的实现。物联网难以推广也正是因为这个原因。
IPv6采用128位(二进制)地址,地址资源得到了丰富,可以为更多的终端分配独立的地址,从而实现端到端通信。但是,IPv6与IPv4兼容性差造成升级困难,且扁平化的地址结构造成管理不便。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种实现网络端到端通信的方法,通过对网络进行分级组织,拓展了网络通信的地址资源,同时与现有通信架构兼容性强。
为实现上述目的,本发明提出如下技术方案:一种实现网络端到端通信的方法,包括:
S1,将IP地址进行分级组织,网络被划分为复数级,公网、不同级的子网、同级的不同子网各自使用独立编址空间,使用所述独立编址空间的网络区间构成单元网;
S2,报文在分级后的网络中传输,若是跨单元网进行传输,则单元网之间的路由根据报文的目的地址和当前地址,判断出报文的传输路径,报文按照所述传输路径传送至目的地址所在的终端;
S3,将ARP功能整合到ICMP中,并在地址请求时用组播代替广播。
优选地,所述S1中,分级后网络的基本结构为树形,从最上面一级逐级向下划分子网,划分的级数范围为0~15级。
优选地,所述级数用绝对级数和相对级数两种方式表示,所述绝对级数在IP地址前面加符号/,相对级数在IP地址前面加符号.。
优选地,所述IP地址对应用绝对地址和相对地址两种方式表示,每级IP地址用16进制表示或十进制表示,不同级之间的IP地址用符号-相连,且IP地址还包括网络的级数,所述级数为对IP地址进行寻址的起点所处的级,且级数与IP地址之间用#隔开。
优选地,当同一级的子网间发生地址重复时,则需将相应的子网另起一级,形成独立的编址空间;分级后的网络中若存在环路,则报文在通信前根据当前使用的网关来确定网络节点的级数。
优选地,报文中封装有IP包头,所述IP包头格式中的字段包括副版本、源地址类型、目的地址类型、源地址参数和目的地址参数,所述副版本字段用于标识IP包头副版本,所述源地址类型和目的地址类型字段用于标识IP地址是绝对地址还是相对地址,所述源地址参数和目的地址参数字段用于标识IP地址的起点和终点的级数。
优选地,所述副版本字段标识的IP包头版本包括:基本版、精简版和特简版,每个版本对应的IP包头格式中包含的字段存在部分不同,所述基本版对应的IP包头格式中包含的字段数>精简版对应的IP包头格式中包含的字段数>特简版对应的I||包头格式中包含的字段数。
优选地,当报文从外网访问只支持特简版的内网终端时,报文在传输的网关上进行数据包的格式转换,转换成特简版的网关的内网地址,且根据网关的端口号来区别不同的链接。
优选地,所述S3包括:进行地址解析时,本地设备向目的设备的被请求接口组播地址发出一ICMP邻居请求报文,ICMP邻居请求报文中包括本地设备的源IP地址、源MAC地址,以及目的设备所在的被请求接口组播地址;目的设备收到ICMP邻居请求报文后,回复一ICMP邻居公告报文给本地设备,将目的设备的MAC地址告知本地设备。
优选地,所述S2中,通过为报文中的IP地址预留相应的空间,以使报文在传输过程中长度不变。
优选地,所述S2中,若报文是在单元网内进行传输,则按正常转发流程进行转发。
优选地,所述S3中,在本地设备向链路发出一ICMP邻居请求报文之前,本地设备先在自身的地址缓存表中查找目的设备的记录,若有,则根据所述记录发送报文给目的设备。
优选地,所述S3中,所述被请求接口组播地址由目的设备的IP地址依据规则生成,然后由此被请求接口组播地址依据规则生成所述组播MAC地址。
优选地,所述方法还包括对网络中的路由器和终端进行升级,所述升级包括协议栈的网络层的升级,以及协议栈的传输层、应用层的相应改动,以及应用软件的升级,升级后的终端与IPv4可共存,且与IPv6的公网可互通。
与现有技术相比,本发明的有益效果是:
1、将网络分级组织,多级地址结构使得地址空间足够大,地址资源足够丰富,能够实现端到端的通信。
2、与现有架构兼容性强,可在不重新分配地址的情况下自主进行升级,升级过渡很自然,使用者(开发人员、运维人员、最终用户等)需要付出的学习成本较小。
3、各级地址自主管理,分级管理的方式使得管理很方便。
附图说明
图1是本发明的流程示意图;
图2是本发明分级后的树形的网络结构示意图;
图3是本发明分级后的网络结构中出现环路的结构示意图;
图4是本发明实施例访问起始级数不为0的绝对地址的原理示意图;
图5是本发明基本版IP包头格式的结构示意图;
图6是本发明精简版IP包头格式的结构示意图;
图7是本发明特简版IP包头格式的结构示意图;
图8是本发明数据包从源地址发往目的地址的原理示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种实现网络端到端通信的方法,基于现有网络结构,对网络进行分级,拓展了地址资源,能够实现端到端的通信;同时与现有架构兼容性强,且各级地址自主管理,使用很方便。
如图1所示,本发明所揭示的一种实现网络端到端通信的方法,包括以下步骤:
S1,将IP地址进行分级组织,网络被划分为复数级,公网、不同级的子网、同级的不同子网各自使用独立编址空间,使用独立编址空间的网络区间构成单元网。
具体地,本发明基于现有网络结构将IP地址进行分级组织,网络被划分为复数级,分级后,网络的基本结构呈树形结构,如图2所示,最上一层为0级,逐级向下划分子网,级数也依次增大。本发明划分的网络级数的上限为15,即最高一级为0级,向下最多至15级。采用分级的地址结构后,拓展了通信使用的地址资源。
公网、不同级的子网、同级的不同子网各自使用独立的编址空间。本发明将这种使用独立编址空间的网络区间称作单元网。如图2所示,第1级的公网使用独立的编址空间;第二级的某一子网隶属于同一个网关,所以使用相同的独立的编址空间;不同的子网间因为隶属于不同的网关,所以使用不同的独立的编址空间;依次类推,每个编址空间都是独立的。
一般来说,某路由器下挂了子网,该子网就可以另起一级,但不是必须的,当发生IP地址重复时(包括子网间的地址发生重复时),就必须新开一个独立的编址空间。
单元网上的设备有明确的级数,本发明网络的级数可以用绝对级数和相对级数两种方式表示。为了区别两种方式,本发明实施例中,绝对级数在IP地址前面加符号“/”,相对级数在IP地址前面加“.”。绝对级数用一非负整数表示,其中公网为/0级,向下依次为/1级、/2级等。相对级数用一整数表示,当前级为.0级,向下依次为.1级、.2级等,向上依次为.-1级、.-2级等。当值为0时,不管是相对级数还是绝对级数,0都可以省去。即/0可以简写为/,.0可以简写为.。
一般来说,分级后网络的基本结构是呈树形结构,不存在环路,这是单元网上的设备级数明确的前提,但是有时也会有特殊情况。当单元网上的设备级数不明确时,则根据当前使用的网关来确定其级数,报文传输过程中的每个节点上的级数明确是报文能够正常传输的前提。具体地,如图3所示,如某单位的内网通过两种方式联入公网,此时该内网,既是/1级,又是/2级;即如通过网关1联入公网,则是/1级,如通过网关3联入公网,则是/2级。但对于一个报文来说,其传输过程中的每个节点上的级数必须是明确的,这是报文能够正常传输的前提。因此,在通信之前必须确定当前使用的网关(包括整个传输链路上的所有网关。这里说的网关特指单元网之间的关口,一般是一台路由器),否则通信就没办法进行,因此就按当前使用的网关来确定级数。如图3的例子中,如果使用网关1,则终端处于/1级网中。还有就是某内网不接入公网,或者暂时未接入,这时默认最高一级为/1。
分级后,每一级IP地址(片段)的表示方式与传统方式类似,如10.12.13.15,即可以继续使用十进制表示。另一方面,为使用方便,本发明还引入了16进制的表示方式,如10.12.13.15也可用16进制表示为0x0A.0C.0D.0F。
本实施例中,不同级之间的IP地址用符号“-”相连,如:地址1.2.3.1-1.2.3.2-1.2.3.3。完整的表示还应该指明网络的级数,这里的级数指的是对IP地址进行寻址的起点所处的级。比如前面的例子中,应该是1.2.3.1而不是1.2.3.3所处的级,即/。那么前面的IP地址的完整表示为:/#1.2.3.1-1.2.3.2-1.2.3.3(级数和值之间用#隔开)。只不过第一级/为默认情况,可以省略。
上面所说的IP地址表示里的级数是受限制的,并不是网络中存在的级数都能用,得保证所表示的IP地址可寻址。对于绝对地址,在没有参照的情况下,级数只能是/。否则就不能寻址,比如/1#120.121.122.1,实际上相当于/#x.x.x.x-120.121.122.1,但x.x.x.x具体是什么并没有告知,也就是说这是个不完整的IP地址表示,我们只根据它不能完成寻址。因此,/1#120.121.122.1这么表示是错误的。
但是,在有些情况下是有参照对象的,如数据包在网络中传输时可参照当前位置。例如:某单位建有内网。该内网通过路由器用公网IP地址101.101.1.1与公网相连。该单位的某员工在家里连上内网上网,他现在想访问内网上的120.121.122.1,如图4所示。这时他可以考虑用相对地址,可是他上内网的方式有多种可能,有可能直接上,有可能用路由器上,甚至可能通过多级路由器。可能他自己也不清楚是哪种方式,或者经常变化。所以用相对地址不方便。那就考虑绝对地址,可以用/#101.101.1.1-120.121.122.1。但是可能他不知道公网IP地址是101.101.1.1。这时可以用/1#120.121.122.1,这是最佳的选择。因为有当前位置作参照,所以可以明确确定位置。因此像/1#120.121.122.1这样的写法是否正确要视具体情况而定。
上述介绍的为IP地址的绝对地址表示方式,与上述级数表示方式相对应,本发明还引入了相对地址这种表示方式。相对地址的书写格式与绝对地址类似,不过不能省略级数。相对地址的例子如:.-1#10.66.7.250。与绝对地址的原理类似,对于相对地址,级数应该为一非正整数。
对于IP地址中在某一级内的部分,如/#101.101.1.1-120.121.122.1中的120.121.122.1,形式上与IPv4地址没什么区别。但有个本质的区别,在IPv4的情况下,区分某个IP地址是属于公网还是内网靠的是IP地址所处的段,也就是说公网和内网的IP地址是不能重叠的(不同的内网间可以重叠),即使用统一的编址空间。而本发明各单元网各自使用独立的编址空间,因此采用本发明的技术方案就可以不受此制约,公网上那些地址段在内网中照样可以使用。各单元网使用不同的编址空间后,地址空间得到极大释放。
本发明具体实施例中,IP地址的具体分配情况如下:
0.x.x.x段为特殊用途。
0.0.x.x段为预定义地址,其中常用的地址如下:
0.0.0.0:未指定地址;
0.0.0.1:为接口本地地址,即环回地址,相当于127.0.0.1;
0.0.0.2:节点本地地址;
0.0.0.3:链路本地地址;
0.0.0.6:IPv6映射地址前缀;
0.1-127.x.x:保留;
0.128-255.x.x:组播地址;
0.x.x.x以外的段全部用于自定义。
分级后的网络及IP地址因引入了绝对地址、相对地址、绝对级数、相对级数等概念,因此传输的数据包中的包头格式也会相应有所调整,本发明中,IP包头格式如图5所示。包头中各字段具体介绍如下:
版本:为了保证各版本间的兼容,该字段未做变化。本发明方法实施例中,版本值为11。
副版本:用于标识IP包头副版本。在设计包头时,有些矛盾是难以调和的,如通用性与针对性之间、简洁高效与功能完善之间等;因此考虑到针对不同使用场合设计不同的包头,加入了该字段。本发明实施例中,该字段长度为4比特。目前已定义的副版本有基本版、精简版、特简版,其中,基本版用0表示,精简版用1表示,特简版用2表示。图5所示的为基本版的IP包头格式。
业务等级:该字段相当于IPv4中的“服务类型”。
流标签:用于标识路由器需要特殊处理的包序列,本实施例中,该字段长度为20比特。
头长度:该字段长度为2比特。头的实际长度为:(12+32×(头长度+1))字节。例如:头长度值为0,则头的实际长度为44字节。头长必须保证能够容纳下地址,可以有空余。
源地址类型、目的地址类型:分别用1比特来表示是绝对地址还是相对地址,其中绝对地址值为0,相对地址值为1。
源地址参数、目的地址参数:该字段表示地址的级数的情况,长度均为1字节。前4比特表示地址表示的起点的级数数值(绝对值),取值0-15;后4比特表示地址表示的终点相对起点深入的级数,取值0-15。
例如:/#10.10.1.2-10.10.1.5,因为是绝对地址,所以地址类型为0。地址参数的前4比特为起点的级数的数值,这里是0。地址表示的终点的级数为/1,地址表示的起点级数为/,终点相对起点深入了1级,因此地址参数的后4比特为1。
报文长度:该字段与IPv4相同,16位无符号整数,以字节为单位。
跳数限制:相当于IPv4中的生存时间。
协议:该字段与IPv4相同,用于指示报文主体的协议类型。
扩展头数:用于表示扩展头的数目。
源地址、目的地址:该字段的长度由上述头长度决定,即32×(头长度+1)字节。该方法下地址是变长的,每个地址最少需4字节;最长需要4×16=64字节。多余的字节用0填充。
下面是一个基本版的IP包头的例子:
0000:B0 00 00 00 02 00 01 01 1A 80 06 00 01 01 01 01
0010:01 01 01 02 01 01 01 1C 00 00 00 00 00 00 00 00
0020:00 00 00 00 00 00 00 00 00 00 00 00
该包头中各字段的含义如表1所示:
表1 IP包头实例解析
前面的介绍都是针对基本版(副版本值为0)的。如图6所示,为精简版(副版本值为1)的IP包头格式。基本版包含的字段较多,自然处理起来开销就大;但很多情况下,其中的某些字段根本用不到。精简版就是为化解这个矛盾而提出的。精简版的功能有所简化(与基本版相比,减少了业务等级、流标签等字段,且一些字段的字节数减少),使用条件有所收窄;但对于很多情况,精简版已经足够了。
另外还有一种副版本——特简版(副版本值为2),其格式如图7所示。特简版的包头简化到了只有13字节(与精简版相比,进一步减少了源地址参数、目的地址参数、扩展头数等字段,且进一步将一些字段的字节数减少);简洁高效的同时,使用范围自然会受到制约。
特简版常用于网络的末端;比如对于那些资源有限的嵌入式设备,更简短的包头显然更合适。地址简化为分别只有4字节。但是这并不意味着使用了特简版的传输链路只能局限在单元网内。特简版可以和其它副版本配合来实现更广范围内的传输链路。当从外网访问内网的终端(只支持特简版,在外网使用的不是特简版)时,在网关上数据包要进行转换,转成特简版。由于源地址只有4字节长,所以都使用网关的内网地址。那如何区分不同的地址呢?可以用端口。这就是反向NAT(Network Address Translation,网络地址转换),这里可参照现有NAT技术进行理解。
S2,报文在分级后的网络中传输,若是跨单元网进行传输,则单元网之间的路由根据报文的目的地址和当前地址,判断出报文的传输路径,报文按照传输路径传送至目的地址所在的终端。
具体地,这里的路由指的是数据包在传输路径上各个节点如何选择路径并做出转发的问题。在本发明实施例中,路由分两类:单元网内的路由、跨单元网的路由。单元网内的路由问题与传统方法一致,即若报文是在单元网内进行传输,则按正常转发流程进行转发。本发明重点介绍跨单元网的路由进行报文转发过程。
报文在分级后的网络中传输,若是跨单元网进行传输,则单元网之间的路由根据报文的目的地址和当前地址,判断出报文的传输路径,报文按照传输路径传送至目的地址所在的终端。具体地,如图8所示,若考虑从源地址1.1.1.1-1.1.1.2-1.1.1.2往目的地址1.1.1.1-1.1.1.3-1.1.1.2-1.1.1.2发送数据包。这是典型的树形结构中寻径的问题。图中粗线部分表示数据包的传输路径。
为了避免报文传输重复往复;网关(有时也包括终端)必须有根据目的地址和当前位置做出正确判断的能力。如上例中,数据包经过1.1.1.1-1.1.1.2后,应该直接发往1.1.1.1-1.1.1.3,而不应该再往上传;因为1.1.1.1-1.1.1.2与1.1.1.1-1.1.1.3拥有共同的父节点,也就是说它们是相邻的。上例中,传输过程中地址的变化情况如表2所示。
表2传输过程中地址的变化
通过上面的分析,可以看出地址在传输的过程中有可能发生长度变化。优选地,为使传输高效进行,要求传输过程中报文长度不变,因此,必须为报文中的IP地址预留足够的空间。
S3,将ARP功能整合到ICMP中,并在地址请求时用组播代替广播。
具体地,IPv4中有广播,如ARP(Address Resolution Protocol,地址解析协议)就是利用广播来实现的。由于广播带来一系列负面问题,因此本发明方案中取消了广播,用组播来替代相应的功能。组播地址的格式如表3所示。
表3组播地址的格式
其中范围字段的值的含义如下。
1:接口本地;
2:链路本地;
5:站点本地;
7:单元网本地;
其它:保留;
典型的预定义地址如下。
1:所有节点;
2:所以路由器;
5:OSPF路由器;
6:OSPF DR路由器;
9:RIP路由器;
13:PIM路由器;
某节点的网络功能生效时,会自动加入一系列组播组,如所有节点、被请求接口组播组。
新协议地址的多级结构及分级管理机制可以让组播的潜能得到充分释放。组播地址可以演绎出多种形式。这里面应用最多的是以组播地址(片段)结尾的情况,如/#111.1.1.1-0.208.1.1(0.208.1.1为组播地址(片段))。
组播在链路层的实现是靠组播MAC地址。构造组播MAC地址的方法是前25位是固定的:00000001 00000000 01011110 0,后23位使用IP地址的后23位。
本发明方案中将ARP功能整合到ICMP(Internet Control Message Protocol,Internet控制报文协议)中,并在地址请求时用组播来代替广播。前面介绍组播时曾提到,某节点的网络功能生效时,会自动加入一系列组播组。其中就包括被请求接口组播组,被请求接口组播地址形如:.#0x00.90.00.0F-192.168.1.2;0x00.90.00.0F是被请求接口组播地址的固定前导,192.168.1.2为该节点单播地址(片段)。
下面通过一个例子来说明地址解析的过程。假如有两台终端:终端PC1、终端PC2,它们处于同一链路中。它们的详细情况如下。
终端PC1 IP地址:.#192.168.1.1;
终端PC1 MAC地址:00-2A-98-9E-A3-11;
终端PC2 IP地址:.#192.168.1.2;
终端PC2 MAC地址:00-2A-98-9E-A3-22。
假如现在终端PC1要往终端PC2发数据,它必须先知道终端PC2的MAC地址,这就需要地址解析。终端PC1会先在自己的地址缓存表中查找有没有终端PC2的记录,如果有就直接使用,如果没有就发起请求。请求的过程如下。
终端PC1向链路发出一ICMP邻居请求(类型值为135)报文,该报文的包头的重要字段的情况如下。
源IP地址:.#192.168.1.1;
源MAC地址:00-2A-98-9E-A3-11;
目的IP地址:.#0x00.90.00.0F-192.168.1.2;
目的MAC地址:01-00-5E-28-01-02。
其中源IP地址、源MAC地址都是原始地址。目的IP地址是被请求接口组播地址。目的MAC地址是由.#192.168.1.2根据规则生成的的组播MAC地址。
ICMP邻居请求的报文格式如下:
类型:1字节,值为135;
代码:1字节,值为0;
校验和:2字节;
目的地址:4字节,地址解析是在链路范围内进行的,因此只考虑当前级;
选项:可以携带源MAC地址。
终端PC2收到请求后会回复一ICMP邻居公告(类型值为136)报文,由于PC2已经知道了双方的MAC地址、IP地址,因此该报文就是一条正常的单播报文,其报文格式如下。
类型:1字节,值为136;
代码:1字节,此处的作用是标志。其前3位分别为路由器标志位(值为1表示发送者是一路由器)、应答标志位(值为1表示是对邻居请求的应答)、覆盖标志位(值为1表示可以覆盖原有邻居缓存条目),后5位保留,置为0;
校验和:2字节;
目的地址:4字节;
选项:可以携带目的MAC地址。
本发明还包括:S4,对网络中的路由器和终端进行升级,其中,升级包括协议栈的网络层的升级,以及协议栈的传输层、应用层的相应改动,以及应用软件的升级,升级后的终端与IPv4可共存,且与IPv6的公网可互通。
具体地,区别于IPv4到IPv6的升级,IPv4到本发明方案的升级可以不重新编址。也就是说,地址还是那些地址,只是现在赋予了它们新的用法。因此向新协议的升级比较简单,只需升级网络传输设备,而且只需改动其中的软件。当然要想实现具体的功能还得对终端的软件进行升级。由于与旧IP地址在使用上有很强的相似性,使用者(开发人员、运维人员、最终用户等)需要付出的学习成本较小。
终端中的软件需要做的改动主要包括两方面:协议栈和应用软件。协议栈大都采用分层结构,需要做的改动主要在网络层;由于地址格式发生了变化,传输层、应用层也要做相应改动。
应用软件想要支持新协议,也要做相应升级。用户可以在新软件中(如浏览器的地址栏中)使用/0#202.102.1.1、.0#192.168.1.1-192.168.1.1这样的地址。
升级后的终端与IPv4可共存。具体来说,使用本发明方案的网络可能很少,通常以单位内部网的形式存在,如校园网、企业网、家庭内部网。本发明终端中的软件的协议栈向后兼容,也支持IPv4数据的收发,即本发明的协议栈包括了IPv4协议栈的功能。由于IPv6地址与IPv4地址互相独立,因此IPv6网络与IPv4网络共存时经常会有主机同时拥有IPv4和IPv6的地址,也就是会有IPv4网络与IPv6网络重叠的情况。由于本发明方案中的IP地址未重新编址,IPv4下的任何行为都可以对应地由它来实现,已升级的网络部分内部不再需要用IPv4来传数据。因此不会有按本发明方案升级后网络与IPv4网络重叠的问题,双协议栈的使用只会出现在两种网络的界面上。而界面上的设备通常只会是转发设备——路由器,而不是主机。当数据包穿越界面时,要进行翻译。
按本发明方案升级后的网络传输数据时,数据包需包装成IPv4数据包的形式才能在IPv4网络上传输。好在有现成的封装技术可用,如最典型的GRE技术。当然也可以用其它的封装技术,甚至自己定义封装技术。
下面通过一个实例来讲解如何在IPv4的大环境下实现按本发明方案升级网络的部署。我们来看一种典型的情况,某单位(如企业、学校)的网络整体升级到本发明方案。那么需要做的工作主要有:路由器的升级、终端软件的升级。
网关需要升级为支持本发明方案的。其使用的外网IP地址不需要变化,即不需要另外申请IP地址,也就是说升级不需要跟网络服务商打交道,完全自主就可以完成。如果内部网络比较复杂,使用了路由器来划分不同的网段,则这些路由器也需要升级为支持本发明方案的。
终端安装与其操作系统相对应的协议栈软件。要想完成具体的工作还得升级相应的应用软件。如果一时没有支持新协议的应用软件,可以用地址映射的办法虚拟一个IPv4的环境,这样就可以像以前一样使用只支持IPv4的软件了。
完成好这些升级等工作,新的网络就可以使用了。由内部访问内部时,由于未重新编址,所以体验上基本没什么变化。由于可使用的地址空间变大了,以后再分配IP地址就不用再局限于传统的私有地址了。而且现在可以向下分级了(以前也可以向下分级,但分出来的子地址对外是不透明的),使用的自由度大大增强。
由内向外访问时,由于外网仍然使用IPv4,因此还得用NAT,也和以前没什么太大变化。
变化最大的是由外向内访问,新协议使得可以进行端到端的直接访问。由于外网的大环境仍然是IPv4的,所以由外向内访问通常需要使用隧道技术才能实现。
新协议与IPv6可以互通。为降低复杂性,只做公网级互通。如某IPv6地址2001::1,在新协议中被映射为0.0.0.6-0x20.01.0.0-0x0.0.0.0-0x0.0.0.0-0x0.0.0.1(此时形如0.x.x.x的地址(片段)不再视为特殊地址)。而新协议地址要先进行NAT,转换为/0级地址(相当于IPv4公网地址),然后再映射为形如::FFFF:a.b.c.d的IPv6地址。
本发明将网络分级组织,多级地址结构使得地址空间足够大,地址资源足够丰富,能够实现端到端的通信。同时与现有架构兼容性强,可在不重新分配地址的情况下自主进行升级,升级过渡很自然,使用者(开发人员、运维人员、最终用户等)需要付出的学习成本较小;且各级地址自主管理,分级管理的方式使得管理很方便。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (10)
1.一种实现网络端到端通信的方法,其特征在于,其包括:
S1,将IP地址进行分级组织,网络被划分为复数级,公网、不同级的子网、同级的不同子网各自使用独立编址空间,使用所述独立编址空间的网络区间构成单元网,其中,分级后网络的基本结构为树形,从最上面一级逐级向下划分子网,级数用绝对级数和相对级数两种方式表示,IP地址对应用绝对地址和相对地址两种方式表示;
S2,报文在分级后的网络中传输,若是跨单元网进行传输,则单元网之间的路由根据报文的目的地址和当前地址,判断出报文的传输路径,报文按照所述传输路径传送至目的地址所在的终端;
S3,将ARP功能整合到ICMP中,并在地址请求时用组播代替广播。
2.根据权利要求1所述的方法,其特征在于,所述S1中,划分的级数范围为0~15级。
3.根据权利要求1所述的方法,其特征在于,所述绝对级数在IP地址前面加符号/,相对级数在IP地址前面加符号.。
4.根据权利要求3所述的方法,其特征在于,每级IP地址用16进制表示或十进制表示,不同级之间的IP地址用符号-相连,且IP地址还包括网络的级数,所述级数为对IP地址进行寻址的起点所处的级,且级数与IP地址之间用#隔开。
5.根据权利要求1所述的方法,其特征在于,当同一级的子网间发生地址重复时,则需将相应的子网另起一级,形成独立的编址空间;分级后的单元网上的设备级数不明确时,则根据当前使用的网关来确定其级数。
6.根据权利要求4所述的方法,其特征在于,报文中封装有IP包头,所述IP包头格式中的字段包括副版本、源地址类型、目的地址类型、源地址参数和目的地址参数,所述源地址类型和目的地址类型字段用于标识IP地址是绝对地址还是相对地址,所述源地址参数和目的地址参数字段用于标识IP地址的起点和终点的级数。
7.根据权利要求6所述的方法,其特征在于,所述副版本字段标识的IP包头版本包括:基本版、精简版和特简版,每个版本对应的IP包头格式中包含的字段存在部分不同,所述基本版对应的IP包头格式中包含的字段数>精简版对应的IP包头格式中包含的字段数>特简版对应的IP包头格式中包含的字段数。
8.根据权利要求7所述的方法,其特征在于,当报文从外网访问只支持特简版的内网终端时,报文在传输的网关上进行数据包的格式转换,转换成特简版的网关的内网地址,且根据网关的端口号来区别不同的链接。
9.根据权利要求1所述的方法,其特征在于,所述S3包括:报文在处于同一链路中的本地设备和目的设备之间组播时,本地设备向链路发出一ICMP邻居请求报文,ICMP邻居请求报文中包括本地设备的源IP地址、源MAC地址,以及目的设备所在的被请求接口组播地址;目的设备收到ICMP邻居请求报文后,回复一ICMP邻居公告报文给本地设备,完成两者之间的组播通信。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括对网络中的路由器和终端进行升级,所述升级包括协议栈的网络层的升级,以及协议栈的传输层、应用层的相应改动,以及应用软件的升级,升级后的终端与IPv4可共存,且与IPv6的公网可互通。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710402722.3A CN107241457B (zh) | 2017-06-01 | 2017-06-01 | 一种实现网络端到端通信的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710402722.3A CN107241457B (zh) | 2017-06-01 | 2017-06-01 | 一种实现网络端到端通信的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107241457A CN107241457A (zh) | 2017-10-10 |
CN107241457B true CN107241457B (zh) | 2020-09-11 |
Family
ID=59984812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710402722.3A Active CN107241457B (zh) | 2017-06-01 | 2017-06-01 | 一种实现网络端到端通信的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107241457B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587287B (zh) * | 2018-12-28 | 2020-06-26 | 北京航空航天大学 | 星内设备ip编址方法、系统及装置 |
CN111698338B (zh) | 2019-03-15 | 2021-10-01 | 华为技术有限公司 | 一种数据传输的方法和计算机系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003258832A (ja) * | 2002-02-26 | 2003-09-12 | Xerox Corp | ローカルエリアネットワーク上の装置を探索するシステム及び方法 |
CN1588898A (zh) * | 2004-07-26 | 2005-03-02 | 毛德操 | 在互联网中按路径寻址和路由的方法 |
CN101127679A (zh) * | 2006-08-18 | 2008-02-20 | 冼剑光 | 互联网地址扩展的方法 |
CN101330530A (zh) * | 2008-07-02 | 2008-12-24 | 北京亿阳信通软件研究院有限公司 | 一种ip地址段管理方法及装置 |
CN101557349A (zh) * | 2009-05-26 | 2009-10-14 | 孙斌 | 处理互联网数据报的方法和系统 |
CN101621814A (zh) * | 2009-05-11 | 2010-01-06 | 中兴通讯股份有限公司 | 一种ip多媒体子系统业务及网络管理方法与系统 |
CN204046835U (zh) * | 2014-08-20 | 2014-12-24 | 西安众恒科技有限公司 | 一种无线IPv6自组网通讯装置 |
-
2017
- 2017-06-01 CN CN201710402722.3A patent/CN107241457B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003258832A (ja) * | 2002-02-26 | 2003-09-12 | Xerox Corp | ローカルエリアネットワーク上の装置を探索するシステム及び方法 |
CN1588898A (zh) * | 2004-07-26 | 2005-03-02 | 毛德操 | 在互联网中按路径寻址和路由的方法 |
CN101127679A (zh) * | 2006-08-18 | 2008-02-20 | 冼剑光 | 互联网地址扩展的方法 |
CN101330530A (zh) * | 2008-07-02 | 2008-12-24 | 北京亿阳信通软件研究院有限公司 | 一种ip地址段管理方法及装置 |
CN101621814A (zh) * | 2009-05-11 | 2010-01-06 | 中兴通讯股份有限公司 | 一种ip多媒体子系统业务及网络管理方法与系统 |
CN101557349A (zh) * | 2009-05-26 | 2009-10-14 | 孙斌 | 处理互联网数据报的方法和系统 |
CN204046835U (zh) * | 2014-08-20 | 2014-12-24 | 西安众恒科技有限公司 | 一种无线IPv6自组网通讯装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107241457A (zh) | 2017-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100424614B1 (ko) | 인터넷 프로토콜 기반 통신 시스템 및 그의 호스트 주소설정 및 소스 주소 선택 방법 | |
CN101340372B (zh) | 号码自动路由方法、更新方法、撤销方法、路由器及设备 | |
US7283540B2 (en) | Translator for IP networks, network system using the translator, and IP network coupling method therefor | |
US7760666B2 (en) | Method of generating and managing connection identifiers for supporting multicast for each group in IPv6-based wireless network and network interface using the method | |
US20070147421A1 (en) | ISATAP router for tunneling packets and method thereof | |
CN112491708A (zh) | IPv6报文的路由头封装方法及装置 | |
US20050047390A1 (en) | Method for route recovery in wireless network of tree topology | |
CN102938795B (zh) | 通过隧道和地址转换实现IPv6地址访问IPv4资源的方法 | |
CN1830182A (zh) | 提取用于在移动路由器与对端路由器之间建立双向隧道的路由信息的布置 | |
CN101459698A (zh) | 域内和域间的网络互连方法及其系统 | |
Iannone et al. | Implementing the locator/id separation protocol: Design and experience | |
KR20050002618A (ko) | 가상 프로토콜 중간계층을 제공하기 위한 방법 및 시스템 | |
CN107241457B (zh) | 一种实现网络端到端通信的方法 | |
Ren et al. | Routing and addressing with length variable ip address | |
Mun et al. | Understanding IPv6 | |
US20070121613A1 (en) | Automatic allocation of prefixes to equipments of an ipv6 communication network | |
CN102025604A (zh) | 一种承载网络及数据传输方法 | |
Rooney | Introduction to IP address management | |
GB2397970A (en) | Discovering topology information in a network | |
Wang et al. | Compact location encodings for scalable Internet routing | |
CN101686181B (zh) | 路由发布、安装方法及网络节点设备 | |
Francis | Addressing in internetwork protocols | |
Jayanthi et al. | Next generation internet protocol-Technical realms | |
Chen et al. | Analysis of IPv6 network communication using simulation | |
JP2000156710A (ja) | Ipアドレス変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20181026 Address after: 053100 No. 2, old Yuan South Road, people's East Street, Zaoqiang Town, Zaoqiang, Hengshui, Hebei Applicant after: Chang Qing Address before: 215000 4-A4F-37 unit, creative industry park, 328 Xing Hu Street, Suzhou Industrial Park, Jiangsu. Applicant before: Suzhou sent by Lee Network Technology Co. Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |