发明内容
本发明公开一种基于IPV6协议的响应并发请求和携多地址流水线数据广播方法,它通过对IPV6协议的应用,改变了传统的IP数据报只有一个目的地址的方式和IP数据报从源地址端发送到目的地址端即终结的命运。随着IP地址和终端的大量增加,源站主机/服务器被其它IP访问的的负载也必将随之增加、如何有效的降低负载,并将负载有效的散布于其它终端,同时提高数据的发送效率和充分利用IPV6的优势是本发明的目的之一。
本发明通过如下方案实现:
一种基于IPV6协议的响应并发请求和携多地址流水线数据广播方法,它其特征在于,该方法包括如下步骤:
1).源站主机/服务器将来访的终端IP划分为一个或一个以上的IP集合;
2).从各IP集合中选定一个IP及终端作为数据报直接接收客户端;
3).源站主机/服务器以数据报直接接收客户端IP为目的地址形成IP数据报并将IP集合其它IP的部分或全部添加于IP数据报首部与TCP/UDP首部之间形成二级目的地址报文段;
4).源站主机/服务器将具有二级目的地址报文段的IP数据报发送至数据报直接接收客户端;
5).数据报直接接收客户端接收IP数据报,并将该数据报进行重组后向二级目的地址报文段的IP终端转发;
所述数据报重组为二级目的地址报文段的首个IP向数据报首部前移变成新IP数据报的目的地址;其它剩余IP形成新的二级目的地址报文段;原IP数据报首部及数据的其它组成保持不变;
6).重组后的IP数据报向新的目的地址发送;
7).IP数据报依次被重组和转发直至与该数据报相关的二级目的地址IP客户端至少具有一次接收该数据报的机会为止。
为了使二级目的地址报文段能准确识别,所述的二级目的地址报文段可以定义一首部,该首部用以标识二级目的地址报文段、二级目的IP地址数量或/与转发规则,这样形成的二级目的地址报文段可以作为IPV6协议里的扩展首部处理,也可以做为位于IP首部与TCP/UDP首部之间的一报文段处理。二级目的地址报文段可以定义为32Bit、64Bit或者128Bit。
根据二级目的地址报文段是否具有首部差异,IP数据报重组的方案包括:
(1).二级目的地址报文段没有首部,则数据报进行重组指二级目的地址报文段的首个IP向数据报首部前移128Bit并替换原有目的地址形成新的目的地址;二级目的地址报文段其它二级目的地址依次向数据报首部前移128Bit,形成新的二级目的地址报文段;原IP数据报首部及数据的其它组成保持不变。
(2).数据报进行重组指二级目的地址报文段的首个IP向数据报首部前移替换原有目的地址形成新的目的地址;二级目的地址报文段首部用以表示二级目的地址数量的自动减1,其它剩余二级目的地址向首部前移128Bit形成新的二级目的地址报文段;原IP数据报首部及数据的其它组成保持不变。
(3).在上述的方案1和2的基础上,由于新的二级目的地址报文段的形成必然会使原有的IP数据报的有效载荷长短必然减少128Bit,所以为了使在网络层进行IP数据报重组的工作量更低,二级目的地址报文段的二级目的地址在前移动完成后,在其后部填充128Bit的特殊报文段(如全F、全零或者其它“1”和“0”的特殊排列),这样二级的目的地址和填充的128Bit的特殊报文段组成新的二级目的地址报文段,一方面可以保证整个IP数据报的有效载荷长度不变,同时也保证二级目的地址报文段的长度不变;这样组合成数据报时,原IP数据报首部及数据的其它组成保持不变,组合的效率将得到有效的提高。
上所述的源站主机/服务器将来访的终端IP划分为一个或一个以上的IP集合,该集合的划分方法包括:根据数据内容的相似性划分;根据所属地域或网络划分;根据随机平均分配法划分,其中:
根据数据内容的相似性划分:是指需要发送的数据内容全部相同或者含有的数据内容近似性比较高的终端IP应集中在一个或多个子集里;数据内容差异明显的IP应集中在一个或多个子集里;至于数据内容差异性可以根据终端发送的指令种类、访问的数据类型、触发的事件、所访问的文件等一个或多个因数进行综合判断;
根据所属地域或网络划分:是指通过对IP终端所属的地域或网络进行检测,如果属于同一地域或网络的IP应优先布于相同的子集;
根据随机平均分配法划分:指通过普通的随机算法,将所有IP随机分配到若干子集中;
相对与上述的划分方法,前两种可以充分提高数据的发布速率,但实现需要配备较为复杂的算法,而后一种划分则较为简单,并且分配迅速,实时响应性好,可以按照需要选择。
作为优化,所述的源站主机/服务器将来访的终端IP划分为若干个IP集合时,来访的每个终端IP应该在不同的IP集合里至少出现两次,其效果是每个终端可以接到到来自多条数据报发布路线为其发送数据报而不至于因其中一条发生故障而接收不到源站主机和服务器的数据,保证了数据的有效发布和传播速率;由于来访的每个终端IP可能接收到来自不同路线的相同数据报,所以还应该具有数据报作废机制,即当该终端已经接收到相同的IP数据报,则将后接收到的IP数据报作为重复数据报并将其视为失效处理。
由于本发明的数据报形成和发送之前,首先要从IP集合里分别确定一个IP作为直接接收该数据报的IP(即数据报首部的目的地址),而该IP的确定可以通过如下方法实现:将各IP集合里的IP元素进行排列形成IP队列,以队列首个IP为数据报直接接收客户端;通过对各IP所处网络的健康指数进行检测/通过历史数据交换记录选取数据收发最快的IP为数据报直接接收客户端;通过对IP所属地域选取最近的IP;根据数据历史选取在前一时间段内交换量最大的IP;其它不同的确定方法;不同的方法可能对数据报的发送速率影响,具体可以根据实际需要选取其一做为实施时的执行方法。
为了避免数据报告在不相关的IP终端里转发并提高发送的效率,所述的每个IP数据报里嵌入于二级目的地址报文段的二级目的IP地址为该IP数据报的接收客户端IP。
作为对上所述的发明方法的全部优化,本发明方法还具有一数据报重发机制、一数据报直接接收客户端重选策略、一反馈机制和一IP集合重划分策略:
所述的数据报重发机制指当源站主机/服务器在既定时间内接收不到来自目的地址终端的反馈,则自动就该数据重新形成IP数据报重新发送;
所述的数据报直接接收客户端重选策略指源站主机/服务器在既定时间内接收不到数据报直接接收客户端的是否收到的反馈则从该IP集合中重新选择一个IP及终端作为数据报直接接收客户端并重发IP数据报;
所述的反馈机制是指所有的IP数据报的接收终端直接向源站主机/服务器反馈是否收到的信号;
所述的IP集合重组策略是指当有新的IP访问源站主机/服务器时,该IP安插于已有的IP集合里;当IP集合中无效IP占该集合的IP数量50%以上则该集合的有效IP与新增加IP进行重新划分IP集合;其中无效IP是指该IP以经在设定的时间内不再访问源站主机/服务器或不在请求发送数据。
综上所述的基于IPV6协议的响应并发请求和携多地址流水线数据广播方法,可以带来如下明显有益效果,即:
1.公开了一种带有多个目的地址的IP数据报形成方法(包括IP集划分、目的地址的确定、二级目的地址的嵌套等),改变了传统的一个数据报只有一个目的地址的方式,其好处是对每个IP终端的数据请求,源站主机/服务器不用一一为其准备IP数据报,充分的降低了源站主机/服务器的负荷,对于一些如在线多人视频、文件下载、大容量文件交换等效果尤为明显。
2.充分发挥了IPV6的优势,并利用了IPV6数据报的首部Ipv6数据报数据部分具有可选择性的扩展首部,并将扩展首部留给路径两端的源站和目的站的主机来处理的特性,通过在IP数据报首部和TCP/UDP首部之间嵌入二级目的地址段报文(二级目的地址)实现了数据报携多地址发布的目的同时也不增加路由的负载,并将IP数据报的重组重任直接交给主机/服务器,提高数据报重组效率和执行方式的多样性。
3.公开了一种数据报的重组方式,即在确保了IP数据报有效载荷长度不变的基础上,使原IP数据报只需要在终端的网络层做简单的修改即可形成新的数据报转发,有效的确保下一目的地址能及时接受到该IP数据报的数据。
4.本发明具有一种新的响应并发请求的能力,提高了响应的速度。
5.通过本发明携多地址流水线数据广播方法,数据报被一级级的依次转发,减少了源站主机/服务器直接面向的终端,并且可以通过添加包括IP网络的所属地域和网络监测技术、网络健康状态的评估技术、数据内容相似性评估技术等带来系列的功能扩展,实现相同传播网络/地域、相同内容的数据的更高速传播。
具体实施方式
实施例一
参考图3至11,公开一种基于IPV6协议的响应并发请求和携多地址流水线数据广播方法。
为了更好的描述该方法,假设IP0、IP1、IP2、IP3…IPK共K个IP终端在同一时间单元内同时访问源站主机/服务器,其中IP0~IPN的终端为请求源站主机/服务器发送相同的数据,而IPN~IPK为请求发送不同内容的数据。
采用本发明进行数据发送的方法包括如下步骤:
1.同一时间单元内多个IP终端同时访问源站主机/服务器;该时间单元可以是根据需要定义的一个时间段如0.01秒内、0.1秒、1秒内等等;
2.源站主机或服务器接收请求触发相应的事件;并将该时间单元内的所有IP进行划分为一个或一个以上的集合(划分集合个数可以根据IP总数量而变化,并可以设定集合元素的个数上限,例如MAX为5个、8个、10个等等;集合越少,源主机/服务器的负荷就越轻,反之需要直接发送数据报的IP终端就越多);IP进行划分的方法有多种其中包括:根据数据内容的相似性划分;根据所属地域或网络划分;根据随机平均分配法划分。
其中,根据数据内容的相似性划分是指需要发送的数据内容全部相同或者含有的数据内容近似性比较高的终端IP应集中分布于一个或多个子集里;数据内容差异明显的IP应集中在一个或多个子集里;至于数据内容差异性可以根据终端发送的指令种类、访问的数据类型、触发的事件、所访问的文件等一个或多个因数进行判断;根据所属地域或网络划分是指根据对IP终端所属的地域或网络进行监测,如果处于一个相同的地域或网络的IP则优先分布于相同的IP集合里;根据随机平均分配法划分则是指通过普通的随机算法,将所有IP集合均匀分布在若干IP集合里,该方法的原则是尽可能使每个集合的数量接近。
为了便于描述,本实施例的IP集合采用的是第一种划分方法,即根据数据内容的相似性划分。假设划分为两个IP集合,即{IPX}X=0、1、…N;{IPX}X=N+1、N+2、…K;
3.从IP集合里面选定一个IP作为直接接收IP数据报的目的地址;选定方法包括:
(1).通过对各IP所处地域或网络进行监测,选取离源站主机/服务器最近的IP为直接目的地址或选取处于良好状态的网络IP作为直接目的地址(网络状态的评估可以根据历史数据进行,也可以通过发送测试数据并接收反馈所需时间进行评估);
(2).根据上一个或多个时间单元内的数据发送记录,选取接收速度最好的IP作为直接目的地址或者选取上一个或多个时间单元内数据交换总量最大的IP作为直接目的地址;
(3).对IP集合里的IP进行随机性排队,并选取位于首位的第一个IP作为直接目的地址。
相比于上述的三种直接目的地址选定方法,方法1和2能更好的提高数据传输速率,但实现较为复杂,而后一种则实现方便,考虑的因素较少。
为了便于理解和描述,假设本实施例的方法采用的是通过方法2进行,即通过上一单元时间的发送数据的反馈记录可以知道IP0能顺利接收并速度最快,所以选择其为{IPX}X=0、1、…N集合的直接目的地址;同理选择IPN+1作为{IPX}X=N+1、N+2、…K集合的直接目的地址;
4.源站主机/服务器形成IP数据报;
假设该数据报A为发往{IPX}X=0、1、…N所有IP终端;数据报B为发往IPN+3;数据报C为发往IPK;
各自形成方法是:
数据报A:如图3所示,{IPX}X=1、1、…N的IP地址添加于IP数据报首部与TCP/UDP首部之间形成二级目的地址报文段303;以源站主机/服务器的IP为源地址,IP0为直接目的地址形成IP数据报首部301;二级目的地址报文段303、IP数据报首部301、TCP/UDP首部及数据段302组合成IP数据报;IP数据报首部301、TCP/UDP首部及数据段302各部分的组成分别按现有的IPV6协议的数据报方法形成。
参考图3,地址对应如下:
S307 |
目的地址 |
IP0 |
S308 |
二级目的地址A1 |
IP1 |
S309 |
二级目的地址A2 |
IP2 |
... |
... |
... |
S310 |
二级目的地址AN |
IPN |
数据报B:如图4所示,IPN+3的IP地址添加于IP数据报首部与TCP/UDP首部之间形成二级目的地址报文段403;以源站主机/服务器的IP为源地址,IPN+1为直接目的地址形成IP数据报首部401;二级目的地址报文段403、IP数据报首部401、TCP/UDP首部及数据段402组合成IP数据报;IP数据报首部401、TCP/UDP首部及数据段402各部分的组成分别按现有的IPV6协议的数据报方法形成。
参考图3,地址对应如下:
数据报C:与数据报B的形成原理相同,只是二级目的地址A1为IPK
5.IP数据报发送:
如图5所示为传统的IP数据报发送方法,即源站主机/服务器分别根据各IP的请求响应各IP终端的请求一一形成对应的数据报并进行直接的一对一发送,然后各IP终端直接向源站主机/服务器作反馈。
而本发明的数据报发送方法是:
数据报A发送:如图6所示,源站主机/服务器根据{IPX}X=0、1、…N的请求形成了数据报A后,源站主机/服务器只直接面向IP数据报首部的目的地址IP0进行发送,而{IPX}X=1、2、…N而终端的依次从前一IP终端来获取该IP数据报,即传输路线为:IP0→IP1、IP1→IP2、IP2→IP3……IPN-1→IPN。由图可见,源站主机/服务器只要直接面向IP0发送数据报即可,大量降低了源站主机/服务器负载,提高响应并发数据请求的能力。
IP0终端接收到该IP数据报A后,一方面提交上一运输层处理,同时向源主机/服务器进行反馈收到确认和进行IP数据报的重新组合并转发。由于接收IPV6数据报的前置路由只对首部进行处理,所以IP数据报的重组和转发由接收该数据报的终端实现,其效果是可以大量降低路由的负荷,也为重组和转发提供更强大的硬件支持和实现的途径多样化。
参考图7,IP数据报的重组方法是:
首先数据报A首部的目的地址删除,或者二级目的地址报文段的首个二级目的地址(即A1)向首部301前移128Bit的将原目的地址替代并形成新的目的地址;后续的二级目的地址(A2~AN)依次前移128Bit形成新的二级目的地址报文段;为了保证新IP数据报与原来的数据报的有效载荷长短不变,新的二级目的地址报文段后面往因前移而产生的空隙部填充128Bit的报文段(为全F、全零、或则“1”和“0”的其它可以被识别的特殊组合)形成填充部(S311),新的IP首部301、新的二级目的地址报文段303、原IP数据部分别组合成新的数据报。其中新的IP首部301除了目的地址被换外,其它例如版本、通讯量类、流标类、有效载荷长度、下一个首部、跳数限制、扩展部、TCP/UDP首部、数据段等等均保持不变;
新组合的IP数据报A’由IP0→IP1发送。
参考图8,IP1接收到数据报A’,进行提交上层处理、向源站主机/服务器反馈同时进行重组和向IP2进行转发。重组的方法和原理与图7相同,不再重复。
数据报A被依次重组和转发后,发送到{IPX}X=0、1、…N的所有终端。
数据报B的发送:首先直接目的地址IPN+1发送,IPN+1接收到后不提交上一层处理而直接进行重新组并转发向IPN+3(如图9所示);
数据报B在IPN+1重组的方法如图10所示:即
首先数据报B首部的目的地址删除,或者二级目的地址报文段的首个二级目的地址(即AN+3)向首部401前移128Bit的将原目的地址替代并形成新的目的地址;为了保证新IP数据报与原来的数据报的有效载荷长短不变,首部后面往因前移而产生的空隙部填充128Bit的报文段(为全F、全零、或则“1”和“0”的其它可以被识别的特殊组合)形成填充部(S311),新的IP首部301、填充部(S311)、原IP数据部分别组合成新的数据报。其中新的IP首部301除了目的地址被换外,其它例如版本、通讯量类、流标类、有效载荷长度、下一个首部、跳数限制、扩展部、TCP/UDP首部、数据段等等均保持不变;
新组合的IP数据报B’由IPN+1→IPN+3发送;IPN+3接收到数据报后向源站主机/服务器直接反馈收到确认。
数据报C的发送:首先直接目的地址IPN+1发送,IPN+1接收到后不提交上一层处理而直接进行重新组并转发向IPK(如图11所示);数据报C的重组可以参考数据报C的进行,原理相同,不再重复。
综上所述的基于IPV6协议的响应并发请求和携多地址流水线数据广播方法,其可以带来的有益效果包括:
1.公开了一种基于IPV6协议携多地址的数据报格式,同时创新了一种通过该格式进行数据报进行流水线数据广播的方法;
2.可以大量减轻源站主机或服务器的负荷,提高并发请求响应的能力;
3.公开了一种数据报的重组方法和转发方法,一方面使数据报的重组更简单快捷,同时也充分发挥了IPV6协议的优势;
4.各IP终端直接向源站主机或服务器反馈,每个IP数据报在整个传输过程,其首部的源地址保持不变,这样虽然不是源站主机或服务器直接给它们发送数据报,但它们面向和反馈对象却是源站主机或服务器,在减轻源站主机或服务器的负载同时充分保证各访问终端与源站主机或服务器的应答速度。
实施例二
参考图12和13所示,为本发明在实施例一的基础上进行改进的另一种实施方案,其工作原理与实施例一近似,不同在于在多个不同IP进行对源站主机/服务器请求发送不同数据时,数据报可以被与该数据报不相干的多个IP终端进行重组和转发;直接目的地址的选定方法略有差异。
如实施例一所述,假设IP0、IP1、IP2、IP3…IPK共K个IP终端在同一时间单元内同时访问源站主机/服务器,其中IP0~IPN的终端为请求源站主机/服务器发送相同的数据,而IPN~IPK为请求发送不同内容的数据;假设K个IP同样划分为两个IP集合,即{IPX}X=0、1、…N;{IPX}X=N+1、N+2、…K;源站主机/服务器需要分别向IPN+3、IPK发送数据报D和E;
首先源站主机/服务器将{IPX}X=N+1、N+2、…K里的IP元素进行自动排队;其中排队方法有多种,其中包括:
1)随机法:即用随机算法对各IP顺序进行随机性排列。
2)先进先出法:就是那个终端先访问源主机/或服务器,那么该终端对应的IP就在前面,并依次按时间进行排列。
3)按所处的网络健康状态排列:通过检测各IP访问或反馈数据所需时间进行排列。所需时间段说明所处的网络网络健康状态好,其应优先排在队列前面。
为了方便描述,假设集合{IPX}X=N+1、N+2、…K中IP队列顺序仍然按N+1、 N+2、…K排列,则选定该队列中首个IP作为直接目的地址IPN+3和IPK各自及其前面的IP分别被嵌入于IP数据报首部与TCP/UDP首部之间形成二级目的地址报文段并最终形成对应的数据报D和数据报E。
参考图12,为数据报D的流向图,首先数据报D由源站主机/服务器向IPN+1发出,IPN+1接收到后不提交上一层处理而直接进行重新组并转发向IPN+2;然后,再由IPN+2→IPN+3,最后IPN+3接收到后向源站主机/服务器反馈接收确认。
参考图13,为数据报E的流向图,首先数据报E由源站主机/服务器向IPN+1发出,IPN+1接收到后不提交上一层处理而直接进行重新组并转发向IPN+2;然后,再由IPN+2→IPN+3;IPN+3→IPN+4;……IPK-1→IPK的方向依次重组和转发,最后IPK接收到该数据报后向源站主机/服务器反馈接收确认。
数据报D和数据报E在发送过程中发生的数据报重组和转发方法可以参考实施例一的实现,原理相同。
实施例三
与实施例一和二的区别在于IP数据报的组成、新IP数据报的重组方法作了进一步的改进。
如图14所示:IP数据报的首部301后面是二级目的地址报文段303;相对于图3所示的二级目的地址段,区别在于二级目的地址报文段303具有一首部S311,首部S311占32Bit(也可以定义为64Bit或128Bit,出于节约资源,提高数据容量的目的,可以选用32Bit较为适宜),首部S311用于标识二级目的地址、表示地址数量、以及定义转发的规则等。如图14的S311,二级目的地址段首部包括二级目的地址标识、二级目的地址数量、转发规则,并分别定义其各占8Bit、8Bit、16Bit;也就是说二级目的地址数量最多可以携带255个二级地址。
当然首部S311可以定义为多种结构方案,例如可以适当调整各组成所占的位数、各自的相对位置、添加或删除部分组成等,出于节余篇幅的目的,本实施例只对其中一种优选方案进行描述。
当源主机/服务器响应IP集合对应的终端并进行发送IP数据报时:先对IP集合{PX}X=0、1、…M里的IP地址元素进行排队,进而确认直接接收该数据报的目的地址;然后把集合中剩余的IP地址嵌入二级目的地址段首部后面,最后组合成标准的基于IPV6的IP数据报。
如图15所示为数据报发送的可执行流程之一,图中:
如步骤S401,源主机/服务器同一时间单元内接收不同IP终端的数据发送请求;
如步骤S402,将目标地址分为若干IP集合;这一步骤根据实际需要而定,如果如目标地址数量不多,可以不用划分;并且可以具有不同的划分方法;为方便描述,可以将该IP集合划分为两个,即{PX}X=0、…N;和{PX}X=N+1、N+2、…K;其中前者是具有相同数据请求的IP地址集合;后者是分别需要源主机发送不同数据的IP地址集合;
如步骤S403,源主机或服务器对各子集合的IP进行排列;为了方便描述,假设{PX}X=0、1、…N排序后的IP队列依然按IP0、IP1…IPN的顺序排列;{PX}X=N+1、N+2、…K;依然按IPN+1、IPN+2…IPK的顺序排列;
如步骤S404,源主机/服务器形成发往位于集合中IP队列首位的终端的IP数据报;IP数据报的形成方法是:队列首位的IP作为数据报首部的IP目的地址(即IP0或IPN+1填入首部的目的地址);剩余的IP依次嵌入首部后的报文形成二级目的地址报文段;然后首部、二级目的地址报文段、TCP/UDP报文段与IP数据报首部(可能在TCP/UDP报文段还有扩展首部)、数据段等结合形成最终的IP数据报;
如步骤S405,源主机/服务器往目的地址发送IP数据报;
如步骤S406,目的地址的终端接收到该IP数据报,并判断是否与其相关,如果相关则将该数据报交给上一层处理(见S407),如果该IP数据报与其没有直接相关,则判断是否首部后面存在二级目的地址(即S408);
如步骤S408,判断数据报首部是否后面存在二级目的地址数据报,如果存在,则转到S409在网络层对该IP数据报进行重组并转发;否则该数据报的发送结束;
如步骤S409,在网络层对该IP数据报进行重组并转发;
如步骤S410,目的地址对应的IP终端接收到新的IP数据报,并转到S406进行相关处理
参考图16和图17所示,分别为步骤S409的网络层对该IP数据报进行重组并转发的可行流程之一,和重组时数据报格式的变化:
其中如S601,接收到IP数据报的终端先对该数据报的首部进行分离;
如S602,将IP数据报首部的原目的地址删除;
如S603,二级目的地址段的首个地址前移160Bit(即128Bit+32Bit)成为新的目的地址;
如S604,二级目的地址段首部的地址数量减1,标志和转发规则不用改变;
如S605,二级目的地址段的其它地址依次前移128Bit;
如S606,往二级目的地址段后填充128Bit报文以保证二级目的地址段的长度不变、IP首部的有效载荷长度不变是修改的部分最小化,提高数据报的重组速率;
如S607,填充的报文与二级目的地址形成新的二级目的地址报文段;
如S608,首部、二级目的地址段(可能后面还具有扩展首部)、TCP/UDP首部、数据段等组合成新IP数据报;
如S609,IP数据报向目的地址转发;
实施例四
本实施例是在前三个实施例的基础上进行了进一步的改进,其中区别集中在划分IP集合时候,每个IP至少在不同的IP集合中出现两次或以上;同时为数据报的发送增设了数据报重发机制、数据报直接接收客户端重选策略、反馈机制和IP集合重划分策略。
参考图18,为本用以表示本实施例发送数据方法的流程之一:
如S701:源主机/服务器同一时间单元接收到并发的来自不同IP地址的数据发送请求。假设所有IP地址集合用{PX}X=0、1、…K表示:
如S702:源主机/服务器将IP地址集合{PX}X=0、1、…K地址集合划分于若干子集;{Pa}{Pb}{Pc}…
为了确保响应所有的IP终端并能把相应数据发送到各IP终端,每个IP地址应至少在不同的IP集合中出现两次或以上,这样的有益效果是当该子集的网络有故障导致部分或全IP接收不到数据,也可以通过其它子集进行数据发送,每个IP地址在不同子集中出现的次数越多,接收到数据的可靠性就越高。为了降低源主机/或服务器负荷,实现本发明的目的,子集的数量应小于访问IP的总数K。
如S704:源主机/服务器对各子集里的IP地址进行排列,形成IP队列;形成发往位于各集合队列首个IP对应的终端的IP数据报。形成方法可采用实施例1或2或3的IP数据报生成方法,这里不再重复;
如步骤S705,源主机/服务器往目的地址发送IP数据报;
如步骤S706,目的地址的终端接收到该IP数据报,并判断是否与其相关,如果相关则将该数据报交给上一层处理(见S707),如果该IP数据报与其没有直接相关,则判断是否首部后面存在二级目的地址(即S708);
如步骤S708,判断数据报首部是否后面存在二级目的地址数据报,如果存在,则转到S709在网络层对该IP数据报进行重组并转发;否则该数据报的发送结束;
如步骤S709,在网络层对该IP数据报进行重组并转发;重组并转发的方法可以采用实施例1或2或3的方法,这里不再重复;
如步骤S710,目的地址对应的IP终端接收到新的IP数据报,并转到S706进行相关处理。
参考图19至21,为本实施例数据流向简单示例。其中,如图所示假设有8个终端同时向源主机/服务器发送数据请求,即IP集合为{PX}X=0、1、… 7表示;源主机/服务器自动将该IP集分为三个子集即A:{IP0、IP2、IP3、IP6、IP7},B:{IP0、IP1、IP2、IP3、IP4、IP5}、C:{IP1、IP4、IP5、IP6、IP7};
其中A、B、C的集合元素按下列顺序排列,即
A:IP0、IP6、IP2、IP3、IP7
B:IP1、IP4、IP5、IP0、IP2、IP3
C:IP7、IP6、IP1、IP4、IP5
IP数据报的发送流向如图19、20和21所示:
按照本实施例的发明方法,源主机/服务器向IP0、IP1、IP7直接发送数报并且该数据报流分三条线传输:
1.源主机/服务器直接发送至IP0,并依次以IP0→IP6、IP6→IP2、IP2→IP3、IP3→IP7的路线进行数据传输;
2.源主机/服务器直接发送至IP1,并依次以IP1→IP4、IP4→IP5、IP5→IP0、IP0→IP2、IP2→IP3的路线进行数据传输;
3.源主机/服务器直接发送至IP7,并依次以IP7→IP6、IP6→IP1、IP1→IP4、IP4→IP5的路线进行数据传输;
另外,本实施例的数据发送时还具有:
数据报重发机制:即当源站主机/服务器在既定时间内接收不到目的地址终端反馈,则自动就该数据重新形成IP数据报重新发送;其中既定时间可以根据该IP数据报携带的二级目的地址的数量进行动态调节或则系统直接设定一个时间段作为重发该数据报的条件;
数据报直接接收客户端重选策略:即源站主机/服务器在既定时间内接收不到数据报直接接收客户端的反馈收到的确认信号,则重新从该IP集合中重新选择一个IP及终端作为数据报直接接收客户端并以相同的数据内容重新形成IP数据报并重发IP数据报;
反馈机制:即IP数据报的接收终端直接向源站主机/服务器反馈是否收到的信号;
IP集合重组策略:即当有新的IP访问源站主机/服务器时,该IP安插于已有的IP集合里;当IP集合中无效IP占该集合的IP数量50%以上则该集合的有效IP与新增加IP进行重新划分IP集合。