专利转让平台_买专利_卖专利_中国高校专利技术交易-买卖发明专利上知查网

全部分类
全部分类
一种高效的网络通信方法

一种高效的网络通信方法

IPC分类号 : H04L12/701,H04L12/721,H04L12/727,H04L29/08

申请号
CN201810236536.1
可选规格
  • 专利类型: 发明专利
  • 法律状态: 有权
  • 申请日: 2018-03-21
  • 公开号: CN108418749B
  • 公开日: 2018-08-17
  • 主分类号: H04L12/701
  • 专利权人: 常熟理工学院

专利摘要

本发明提供了一种高效的网络通信方法,所述网络包括互联骨干网和两个以上的数据网络,数据网络包括一个骨干网络和两个以上的子网,骨干网络包括数据路由器构成,一个子网包括一个普通路由器和两个以上的节点构成,普通路由器即为接入路由器,其作用是将子网连接到骨干网络。节点通过本发明提供的网络通信方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。

权利要求

1.一种高效的网络通信方法,其特征在于,所述网络包括互联骨干网和两个以上的数据网络,数据网络包括一个骨干网络和两个以上的子网,骨干网络包括数据路由器构成,一个子网包括一个普通路由器和两个以上的节点构成,普通路由器即为接入路由器,其作用是将子网连接到骨干网络;在骨干网络中,包括一个数据路由器与互联骨干网链路相连,该数据路由器称为代理路由器;代理路由器支持数据网网络和互联骨干网所使用的协议;

一个节点配置一个接口,节点与所在子网中的普通路由器链路相连,在一个子网中,普通路由器配置一个上游接口和两个以上的下游接口,该上游接口与一个数据路由器相连,每个下游接口与一个节点相连;一个数据路由器配置两个以上的接口;代理路由器的一个接口与互联骨干网链路相连,该接口的IP地址预先设置,该代理路由器的其它接口与普通路由器或者数据路由器链路相连;不作为代理路由器的数据路由器的每个接口与数据路由器或者普通路由器链路相连;

一个子网中,普通路由器由名称前缀唯一标识,该名称前缀预先设置,该子网由普通路由器的名称前缀唯一标识;每一个节点由一个节点ID唯一标识,该节点ID具有前缀唯一性;

节点使用数据地址和消息实现通信;如果目的节点在数据网络中,数据地址则由名称前缀、节点ID,协议以及序列号构成;如果目的节点在互联骨干网中,数据地址由名称前缀、IP地址,协议以及序列号构成;

所述方法中消息包括数据地址域、消息类型域和负载域;消息类型域值如下所示:

消息类型消息类型值代理路由器消息1路由消息2命令消息3确认消息4

一个普通路由器和一个数据路由器维护一个代理路由器表,一个代理路由器表项由接口域和生命周期域构成;代理路由器R1启动后,定期执行下述操作创建或者更新代理路由器表:

步骤101:开始;

步骤102:代理路由器R1定期从除了与互联骨干网相连的接口之外的每个接口发送代理路由器消息,该代理路由器消息中的数据地址中的名称前缀、节点ID以及协议为空,序列号为随机数,负载为空,消息类型为1;

步骤103:如果数据路由器从自己的接口f1接收到代理路由器消息,则执行步骤104,否则执行步骤108;

步骤104:从自己的接口f1接收到代理路由器消息的数据路由器查看代理路由器消息,如果已经接收到具有相同序列号的代理路由器消息,则丢弃该代理路由器消息并执行步骤111,否则执行步骤105;

步骤105:从自己的接口f1接收到代理路由器消息的数据路由器查看代理路由器表,如果存在一个代理路由器表项,该代理路由器表项的接口域值为f1,则执行步骤106,否则执行步骤107;

步骤106:从自己的接口f1接收到代理路由器消息的数据路由器选中接口域值为f1的代理路由器表项,将该代理路由器表项的生命周期设置为最大值,从除了接口f1以外的所有接口转发接收到的代理路由器消息,执行步骤103;

步骤107:从自己的接口f1接收到代理路由器消息的数据路由器创建一个代理路由器表项,该代理路由器表项的接口域值为f1,生命周期域值为最大值,从除了接口f1以外的所有接口转发接收到的代理路由器消息,执行步骤103;

步骤108:普通路由器从自己的接口f2接收到代理路由器消息,如果存在一个代理路由器表项,该代理路由器表项的接口域值为f2,则执行步骤109,否则执行步骤110;

步骤109:从自己的接口f2接收到代理路由器消息的普通路由器选中接口域值为f2的代理路由器表项,将该代理路由器表项的生命周期设置为最大值,执行步骤111;

步骤110:从自己的接口f2接收到代理路由器消息的普通路由器创建一个代理路由器表项,该代理路由器表项的接口域值为f2,生命周期域值为最大值;

步骤111:结束;

如果数据路由器或者普通路由器检测到一个代理路由器表项的生命周期衰减为0,则从代理路由器表中删除该代理路由器表项;

一个普通路由器和一个数据路由器各自维护一个路由表,一个路由表项包括接口域、名称前缀域、设备ID域和生命周期域;

普通路由器C1启动后,定期执行下述操作创建或者更新路由表:

步骤201:开始;

步骤202:普通路由器C1构建一个数据地址,该数据地址的名称前缀为普通路由器C1的名称前缀,协议和节点ID为空,序列号为随机数,普通路由器C1定期从上游接口发送路由消息,该路由消息中的数据地址为构建的数据地址,消息类型为2,负载为空;

步骤203:如果数据路由器从自己的接口y1接收到路由消息,则执行步骤204,否则执行步骤208;

步骤204:从自己的接口y1接收到路由消息的数据路由器查看路由消息,如果已经接收到具有相同序列号的路由消息,则丢弃该消息并执行步骤211,否则执行步骤205;

步骤205:从自己的接口y1接收到路由消息的数据路由器查看路由表,如果存在一个路由表项,该路由表项的名称前缀等于接收到的路由消息的数据地址的名称前缀且接口域值等于y1,则执行步骤206,否则执行步骤207;

步骤206:从自己的接口y1接收到路由消息的数据路由器选中名称前缀等于接收到的路由消息的数据地址的名称前缀且接口域值为y1的路由表项,将该路由表项的生命周期设置为最大值,从除了接口y1以外的所有接口转发接收到的路由消息,执行步骤203;

步骤207:从自己的接口y1接收到路由消息的数据路由器创建一个路由表项,该路由表项的名称前缀等于接收到的路由消息的数据地址的名称前缀,设备ID域值为空,接口域值为y1,生命周期域值为最大值,数据路由器从除了接口y1以外的所有接口转发接收到的路由消息,执行步骤203;

步骤208:普通路由器从自己的接口y2接收到路由消息,如果存在一个路由表项,该路由表项的名称前缀等于接收到的路由消息的数据地址的名称前缀,且接口域值为y2,则执行步骤209,否则执行步骤210;

步骤209:从自己的接口y2接收到路由消息的普通路由器查看路由表,选中名称前缀等于接收到的路由消息的数据地址的名称前缀且接口域值为y2的路由表项,将该路由表项的生命周期设置为最大值,执行步骤211;

步骤210:从自己的接口y2接收到路由消息的普通路由器创建一个路由表项,该路由表项的名称前缀等于接收到的路由消息的数据地址的名称前缀,接口域值为y2,设备ID域值为空,生命周期域值为最大值;

步骤211:结束;

节点N启动后,定期执行下述操作创建或者更新路由表:

步骤301:开始;

步骤302:节点N构建一个数据地址,该数据地址的名称前缀为空,协议为空,节点ID为节点N的节点ID,序列号为随机数,节点N定期发送路由消息,该路由消息中的数据地址为构建的数据地址,消息类型为2,负载为空;

步骤303:与节点N连接的普通路由器从自己的接口y3接收到路由消息后,查看路由表,如果存在一个路由表项,该路由表项的节点ID等于接收到的路由消息的数据地址的节点ID且接口ID为y3,则执行步骤304,否则执行步骤305;

步骤304:从自己的接口y3接收到路由消息的普通路由器选中节点ID等于接收到的路由消息的数据地址的节点ID且接口域值为y3的路由表项,将该路由表项的生命周期设置为最大值,执行步骤306;

步骤305:从自己的接口y3接收到路由消息的普通路由器创建一个路由表项,该路由表项的名称前缀为空,节点ID等于接收到的路由消息的数据地址的节点ID,接口域值为y3,生命周期域值为最大值;

步骤306:结束;

如果数据路由器或者普通路由器检测到一个路由表项的生命周期衰减为0,则从路由表中删除该路由表项;

数据网络中的节点与互联网中的节点采用协议进行通信;协议的类型定义了通信内容;在所有协议中,第一条命令为启动,最后一条命令为终止;命令是消息的负载;

每个普通路由器和数据路由器各自维护一个路径表,一个路径表项包含数据地址域,接口域和生命周期域;

在节点N1和节点N2位于数据网络中,节点N1与普通路由器R1相连,节点N2与普通路由器R2相连,普通路由器R1的名称前缀为NP1,普通路由器R2的名称前缀为NP2的条件下,节点N1利用协议P1通过下述过程实现与节点N2的通信:

步骤401:开始;

步骤402:节点N1构建一个数据地址,该数据地址中,名称前缀为名称前缀NP2,节点ID为节点N1的节点ID,协议为P1,序列号为随机数,节点N1发送命令消息,该命令消息的数据地址为构建的数据地址,消息类型为3,负载为启动命令;

步骤403:普通路由器R1从自己的接口f1接收到命令消息后,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤404,否则执行步骤405;

步骤404:从自己的接口f1接收到命令消息的普通路由器R1选择数据地址域值等于接收到的命令消息中的数据地址域值,将该路径表项的生命周期设置为最大值,执行步骤406;

步骤405:普通路由器R1创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,接口域值等于f1,生命周期设置为最大值;

步骤406:普通路由器R1查看路由表,选择一个路由表项,该路由表项的名称前缀域值等于接收到的命令消息数据地址中的名称前缀,然后从该路由表项的接口域转发接收到的命令消息;

步骤407:如果普通路由器R2接收到命令消息,则执行步骤408,否则执行步骤412;

步骤408:普通路由器R2从自己的接口f2接收到命令消息,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤409,否则执行步骤410;

步骤409:从自己的接口f2接收到命令消息的普通路由器R2选择数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,将该路径表项的生命周期设置为最大值,执行步骤411;

步骤410:普通路由器R2创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,接口域值等于f2,生命周期设置为最大值;

步骤411:普通路由器R2查看路由表,选择一个路由表项,该路由表项的节点ID域值等于接收到的命令消息数据地址中的节点ID,然后从该路由表项的接口域转发接收到的命令消息,执行步骤416;

步骤412:数据路由器从自己的接口f3接收到命令消息,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤413,否则执行步骤414;

步骤413:从自己的接口f3接收到命令消息的数据路由器选择数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,将该路径表项的生命周期设置为最大值,执行步骤415;

步骤414:从自己的接口f3接收到命令消息的数据路由器创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,接口域值等于f3,生命周期设置为最大值;

步骤415:从自己的接口f3接收到命令消息的数据路由器查看路由表,选择一个路由表项,该路由表项的名称前缀域值等于接收到的命令消息数据地址中的名称前缀,然后从该路由表项的接口域转发接收到的命令消息,执行步骤407;

步骤416:节点N2收到命令消息后,如果命令消息负载中为启动命令,则执行步骤417,否则执行步骤418;

步骤417:节点N2执行启动命令并发送一个确认消息,该确认消息的数据名称等于接收到的命令消息中的数据名称,消息类型为4,负载为执行启动命令的响应数据,执行步骤420;

步骤418:节点N2收到命令消息后,如果命令消息负载中为结束命令,则执行步骤425,否则执行步骤419;

步骤419:节点N2执行接收到的命令消息中的命令并发送一个确认消息,该确认消息的数据名称等于接收到的命令消息中的数据名称,消息类型为4,负载为执行命令的响应数据;

步骤420:普通路由器R2接收到确认消息后,查看路径表,选择数据地址等于确认消息的数据地址的路径表项,并该路径表项的接口域值转发接收到的确认消息;

步骤421:如果普通路由器R1接收到确认消息,则执行步骤423,否则执行步骤422;

步骤422:数据路由器接收到确认消息后,查看路径表,选择数据地址等于确认消息的数据地址的路径表项,并通过该路径表项的接口域值转发接收到的确认消息,执行步骤421;

步骤423:普通路由器R1接收到确认消息后,查看路径表,选择数据地址等于确认消息的数据地址的路径表项,并通过该路径表项的接口域值转发接收到的确认消息;

步骤424:节点N1接收到确认消息后,保存确认消息中的响应数据,发送一个命令消息,该命令消息的数据地址等于接收到的确认消息中的数据地址,消息类型为3,如果节点N1需要结束通信,则该命令消息的负载为终止命令,否则为节点N1需要节点N2执行的命令,执行步骤403;

步骤425:结束;

如果一个路径表项的生命周期衰减为0,则从路径表中删除该路径表项;

代理路由器维护一个服务表,每个服务表项包含数据地址域、源端口域以及目的端口域;

在互联骨干网中,每一种服务对应一个端口号;

如果节点N1位于数据网络中,节点N1与普通路由器R1相连,普通路由器R1的名称前缀为NP1,节点N3位于互联骨干网中,节点N1利用协议P3与节点N3进行通信,协议P3在互联骨干网中对应的端口号为b3,节点N1通过下述过程实现与节点N3的通信:

步骤501:开始;

步骤502:节点N1构建一个数据地址,该数据地址中,名称前缀为空,IP地址为节点N3的IP地址,协议为P3,序列号为随机数;节点N1发送命令消息,该命令消息的数据地址为构建的数据地址,消息类型为3,负载为启动命令;

步骤503:普通路由器R1从自己的接口x1接收到命令消息后,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤504,否则执行步骤505;

步骤504:从自己的接口x1接收到命令消息的普通路由器R1选择数据地址域值等于接收到的命令消息中的数据地址域值,将该路径表项的生命周期设置为最大值,执行步骤506;

步骤505:普通路由器R1创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,接口域值等于x1,生命周期设置为最大值;

步骤506:普通路由器R1查看代理路由器表,选择一个代理路由器表项,从该代理路由器表项的接口域转发接收到的命令消息;

步骤507:如果代理路由器接收到命令消息,则执行步骤512,否则执行步骤508;

步骤508:数据路由器从自己的接口x2接收到命令消息,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤509,否则执行步骤510;

步骤509:从自己的接口x2接收到命令消息的数据路由器选择数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,将该路径表项的生命周期设置为最大值,执行步骤511;

步骤510:从自己的接口x2接收到命令消息的数据路由器创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,接口域值等于x2,生命周期设置为最大值;

步骤511:从自己的接口x2接收到命令消息的数据路由器查看代理路由器表,选择一个代理路由器表项,然后从该代理路由器表项的接口域转发接收到的命令消息,执行步骤507;

步骤512:代理路由器从自己的接口x3接收到命令消息,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤513,否则执行步骤514;

步骤513:从自己的接口x3接收到命令消息的代理路由器选择数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,将该路径表项的生命周期设置为最大值,执行步骤515;

步骤514:代理路由器创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,接口域值等于x3,生命周期设置为最大值;

步骤515:代理路由器接收到命令消息后,如果命令消息负载中为启动命令,则执行步骤516,否则执行步骤517;

步骤516:代理路由器创建一个端口s3,创建一个服务表,该服务表的数据地址为接收到的命令消息中的数据地址,源端口为s3,目的端口为b3;代理路由器通过与互联骨干网相连的接口发送一条消息,该消息的源地址为该接口的IP地址,目的地址为接收到的命令消息数据地址的IP地址,目的端口为b3,源端口为s3,负载为接收到的命令消息中的负载,执行步骤520;

步骤517:代理路由器接收到命令消息后,如果命令消息负载中为终止命令,则执行步骤518,否则执行步骤519;

步骤518:代理路由器查看服务表,选择一个服务表项,该服务表项的数据地址等于接收到的命令消息中的数据地址;代理路由器通过与互联骨干网相连的接口发送一条IP消息,该消息的源地址为该接口的IP地址,目的地址为接收到的命令消息数据地址的IP地址,目的端口和源端口为选中的服务表项的目的端口和源端口,负载为接收到的命令消息中的负载,删除选中的服务表项,执行步骤520;

步骤519:代理路由器查看服务表,选择一个服务表项,该服务表项的数据地址等于接收到的命令消息中的数据地址;代理路由器通过与互联骨干网相连的接口发送一条消息,该消息的源地址为该接口的IP地址,目的地址为接收到的命令消息数据地址的IP地址,目的端口和源端口为选中的服务表项的目的端口和源端口,负载为接收到的命令消息中的负载;

步骤520:该IP消息通过互联骨干网到达节点N3,该消息即为步骤518中代理路由器发送的消息,节点N3收到命令消息后,如果命令消息负载中为启动命令,则执行步骤521,否则执行步骤522;

步骤521:节点N3执行启动命令并发送一个IP消息,该IP消息的源地址和源端口分别为接收到的IP消息的目的地址和目的端口,该IP消息的目的地址和目的端口分别为接收到的IP消息的源地址和源端口,负载为执行启动命令的响应数据,执行步骤524;

步骤522:节点N3收到命令消息后,如果命令消息负载中为终止命令,则执行步骤529,否则执行步骤523;

步骤523:节点N3执行接收到的命令消息中的命令并发送一个IP消息,该IP消息的源地址和源端口分别为接收到的IP消息的目的地址和目的端口,该IP消息的目的地址和目的端口分别为接收到的IP消息的源地址和源端口,负载为执行命令的响应数据;

步骤524:IP消息通过互联骨干网到达代理路由器,代理路由器查看服务表,选择一个服务表项,该服务表项的源端口和目的端口分别等于接收到的IP消息的目的端口和源端口,然后代理路由器创建一个确认消息,该确认消息的数据名称等于所选的服务表项的数据名称,消息类型为4,负载为接收到的IP消息的负载;代理服务器查看路径表,选择数据地址等于创建的确认消息的数据地址的路径表项,并从该路径表项的接口域值转发该确认消息;

步骤525:如果普通路由器R1接收到确认消息,则执行步骤527,否则执行步骤526;

步骤526:数据路由器接收到确认消息后,查看路径表,选择数据地址等于接收到的确认消息的数据地址的路径表项,并通过该路径表项的接口域值转发接收到的确认消息,执行步骤525;

步骤527:普通路由器R1接收到确认消息后,查看路径表,选择数据地址等于确认消息的数据地址的路径表项,并通过该路径表项的接口域值转发接收到的确认消息;

步骤528:节点N1接收到确认消息后,保存确认消息中的响应数据,发送一个命令消息,该命令消息的数据地址等于接收到的确认消息中的数据地址,消息类型为3,如果节点N1需要结束通信,则该命令消息的负载为终止命令,否则为节点N1需要节点N3执行的命令,执行步骤503;

步骤529:结束。

说明书

技术领域

本发明涉及一种通信方法,尤其涉及的是一种高效的网络通信方法。

背景技术

网络已经成为人类生活中不可缺少的一部分,它提供多种数据服务,因此降低数据通信延迟尤为重要。近年来,很多研究工作致力于网络的数据通信工作,以便使人们能够快速获取网络服务。随着移动网络技术的发展,网络数据通信技术会进一步提高服务质量。

目前,网络数据通信延迟和代价都比较大,降低了网络服务性能。因此,如何降低网络数据通信的延迟和代价成为近年来研究的热点问题。

发明内容

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种高效的网络通信方法。

技术方案:本发明公开了一种高效的网络通信方法,所述网络包括互联骨干网和两个以上的数据网络,数据网络包括一个骨干网络和两个以上的子网,骨干网络包括数据路由器构成,一个子网包括一个普通路由器和两个以上的节点构成,普通路由器即为接入路由器,其作用是将子网连接到骨干网络;在骨干网络中,包括一个数据路由器与互联骨干网链路相连,该数据路由器称为代理路由器;代理路由器支持数据网网络和互联骨干网所使用的协议;

一个节点配置一个接口,节点与所在子网中的普通路由器链路相连,在一个子网中,普通路由器配置一个上游接口和两个以上的下游接口,该上游接口与一个数据路由器相连,每个下游接口与一个节点相连;一个数据路由器配置两个以上的接口;代理路由器的一个接口与互联骨干网链路相连,该接口的IP地址预先设置,例如abcd:1:efad:a::1/64,该代理路由器的其它接口与普通路由器或者数据路由器链路相连;不作为代理路由器的数据路由器的每个接口与数据路由器或者普通路由器链路相连;

一个子网中,普通路由器由名称前缀唯一标识,该名称前缀预先设置,例如China/JS/Cslg/N6/,该子网由普通路由器的名称前缀唯一标识;每一个节点由一个节点ID唯一标识,该节点ID具有前缀唯一性,例如email地址;

节点使用数据地址和消息实现通信;如果目的节点在数据网络中,数据地址则由名称前缀、节点ID,协议以及序列号构成,例如协议为pop3协议,命令为Start,User,Finish等;如果目的节点在互联骨干网中,数据地址由名称前缀、IP地址,协议以及序列号构成;

所述方法中消息包括数据地址域、消息类型域和负载域;消息类型域值如下所示:

一个普通路由器和一个数据路由器维护一个代理路由器表,一个代理路由器表项由接口域和生命周期域构成;代理路由器R1启动后,定期执行下述操作创建或者更新代理路由器表:

步骤101:开始;

步骤102:代理路由器R1定期从除了与互联骨干网相连的接口之外的每个接口发送代理路由器消息,该代理路由器消息中的数据地址中的名称前缀、节点ID以及协议为空,序列号为随机数,负载为空,消息类型为1;

步骤103:如果数据路由器从自己的接口f1接收到代理路由器消息,则执行步骤104,否则执行步骤108;

步骤104:从自己的接口f1接收到代理路由器消息的数据路由器查看代理路由器消息,如果已经接收到具有相同序列号的代理路由器消息,则丢弃该代理路由器消息并执行步骤111,否则执行步骤105;

步骤105:从自己的接口f1接收到代理路由器消息的数据路由器查看代理路由器表,如果存在一个代理路由器表项,该代理路由器表项的接口域值为f1,则执行步骤106,否则执行步骤107;

步骤106:从自己的接口f1接收到代理路由器消息的数据路由器选中接口域值为f1的代理路由器表项,将该代理路由器表项的生命周期设置为最大值,从除了接口f1以外的所有接口转发接收到的代理路由器消息,执行步骤103;

步骤107:从自己的接口f1接收到代理路由器消息的数据路由器创建一个代理路由器表项,该代理路由器表项的接口域值为f1,生命周期域值为最大值,从除了接口f1以外的所有接口转发接收到的代理路由器消息,执行步骤103;

步骤108:普通路由器从自己的接口f2接收到代理路由器消息,如果存在一个代理路由器表项,该代理路由器表项的接口域值为f2,则执行步骤109,否则执行步骤110;

步骤109:从自己的接口f2接收到代理路由器消息的普通路由器选中接口域值为f2的代理路由器表项,将该代理路由器表项的生命周期设置为最大值,执行步骤111;

步骤110:从自己的接口f2接收到代理路由器消息的普通路由器创建一个代理路由器表项,该代理路由器表项的接口域值为f2,生命周期域值为最大值;

步骤111:结束;

如果数据路由器或者普通路由器检测到一个代理路由器表项的生命周期衰减为0,则从代理路由器表中删除该代理路由器表项。

上述过程能够快速建立代理路由器表从而实现数据的快速获取。

本发明所述方法中,一个普通路由器和一个数据路由器各自维护一个路由表,一个路由表项包括接口域、名称前缀域、设备ID域和生命周期域;

普通路由器C1启动后,定期执行下述操作创建或者更新路由表:

步骤201:开始;

步骤202:普通路由器C1构建一个数据地址,该数据地址的名称前缀为普通路由器C1的名称前缀,协议和节点ID为空,序列号为随机数,普通路由器C1定期从上游接口发送路由消息,该路由消息中的数据地址为构建的数据地址,消息类型为2,负载为空;

步骤203:如果数据路由器从自己的接口y1接收到路由消息,则执行步骤204,否则执行步骤208;

步骤204:从自己的接口y1接收到路由消息的数据路由器查看路由消息,如果已经接收到具有相同序列号的路由消息,则丢弃该消息并执行步骤211,否则执行步骤205;

步骤205:从自己的接口y1接收到路由消息的数据路由器查看路由表,如果存在一个路由表项,该路由表项的名称前缀等于接收到的路由消息的数据地址的名称前缀且接口域值等于y1,则执行步骤206,否则执行步骤207;

步骤206:从自己的接口y1接收到路由消息的数据路由器选中名称前缀等于接收到的路由消息的数据地址的名称前缀且接口域值为y1的路由表项,将该路由表项的生命周期设置为最大值,从除了接口y1以外的所有接口转发接收到的路由消息,执行步骤203;

步骤207:从自己的接口y1接收到路由消息的数据路由器创建一个路由表项,该路由表项的名称前缀等于接收到的路由消息的数据地址的名称前缀,设备ID域值为空,接口域值为y1,生命周期域值为最大值,数据路由器从除了接口y1以外的所有接口转发接收到的路由消息,执行步骤203;

步骤208:普通路由器从自己的接口y2接收到路由消息,如果存在一个路由表项,该路由表项的名称前缀等于接收到的路由消息的数据地址的名称前缀,且接口域值为y2,则执行步骤209,否则执行步骤210;

步骤209:从自己的接口y2接收到路由消息的普通路由器查看路由表,选中名称前缀等于接收到的路由消息的数据地址的名称前缀且接口域值为y2的路由表项,将该路由表项的生命周期设置为最大值,执行步骤211;

步骤210:从自己的接口y2接收到路由消息的普通路由器创建一个路由表项,该路由表项的名称前缀等于接收到的路由消息的数据地址的名称前缀,接口域值为y2,设备ID域值为空,生命周期域值为最大值;

步骤211:结束。

上述过程能够快速建立路由表从而实现数据的快速获取。

本发明所述方法中,节点N启动后,定期执行下述操作创建或者更新路由表:

步骤301:开始;

步骤302:节点N构建一个数据地址,该数据地址的名称前缀为空,协议为空,节点ID为节点N的节点ID,序列号为随机数,节点N定期发送路由消息,该路由消息中的数据地址为构建的数据地址,消息类型为2,负载为空;

步骤303:与节点N连接的普通路由器从自己的接口y3接收到路由消息后,查看路由表,如果存在一个路由表项,该路由表项的节点ID等于接收到的路由消息的数据地址的节点ID且接口ID为y3,则执行步骤304,否则执行步骤305;

步骤304:从自己的接口y3接收到路由消息的普通路由器选中节点ID等于接收到的路由消息的数据地址的节点ID且接口域值为y3的路由表项,将该路由表项的生命周期设置为最大值,执行步骤306;

步骤305:从自己的接口y3接收到路由消息的普通路由器创建一个路由表项,该路由表项的名称前缀为空,节点ID等于接收到的路由消息的数据地址的节点ID,接口域值为y3,生命周期域值为最大值;

步骤306:结束;

如果数据路由器或者普通路由器检测到一个路由表项的生命周期衰减为0,则从路由表中删除该路由表项。

上述过程能够快速建立路由表从而实现数据的快速获取。

本发明所述方法中,数据网络中的节点与互联网中的节点采用协议进行通信;协议的类型定义了通信内容;在所有协议中,第一条命令为启动,最后一条命令为终止;命令是消息的负载,例如步骤402;

每个普通路由器和数据路由器各自维护一个路径表,一个路径表项包含数据地址域,接口域和生命周期域;

在节点N1和节点N2位于数据网络中,节点N1与普通路由器R1相连,节点N2与普通路由器R2相连,普通路由器R1的名称前缀为NP1,普通路由器R2的名称前缀为NP2的条件下,节点N1利用协议P1通过下述过程实现与节点N2的通信:

步骤401:开始;

步骤402:节点N1构建一个数据地址,该数据地址中,名称前缀为名称前缀NP2,节点ID为节点N1的节点ID,协议为P1,序列号为随机数,节点N1发送命令消息,该命令消息的数据地址为构建的数据地址,消息类型为3,负载为启动命令;

步骤403:普通路由器R1从自己的接口f1接收到命令消息后,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤404,否则执行步骤405;

步骤404:从自己的接口f1接收到命令消息的普通路由器R1选择数据地址域值等于接收到的命令消息中的数据地址域值,将该路径表项的生命周期设置为最大值,例如1s,执行步骤406;

步骤405:普通路由器R1创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,接口域值等于f1,生命周期设置为最大值;

步骤406:普通路由器R1查看路由表,选择一个路由表项,该路由表项的名称前缀域值等于接收到的命令消息数据地址中的名称前缀,然后从该路由表项的接口域转发接收到的命令消息;

步骤407:如果普通路由器R2接收到命令消息,则执行步骤408,否则执行步骤412;

步骤408:普通路由器R2从自己的接口f2接收到命令消息,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤409,否则执行步骤410;

步骤409:从自己的接口f2接收到命令消息的普通路由器R2选择数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,将该路径表项的生命周期设置为最大值,例如1s,执行步骤411;

步骤410:普通路由器R2创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,接口域值等于f2,生命周期设置为最大值;

步骤411:普通路由器R2查看路由表,选择一个路由表项,该路由表项的节点ID域值等于接收到的命令消息数据地址中的节点ID,然后从该路由表项的接口域转发接收到的命令消息,执行步骤416;

步骤412:数据路由器从自己的接口f3接收到命令消息,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤413,否则执行步骤414;

步骤413:从自己的接口f3接收到命令消息的数据路由器选择数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,将该路径表项的生命周期设置为最大值,例如1s,执行步骤415;

步骤414:从自己的接口f3接收到命令消息的数据路由器创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,接口域值等于f3,生命周期设置为最大值;

步骤415:从自己的接口f3接收到命令消息的数据路由器查看路由表,选择一个路由表项,该路由表项的名称前缀域值等于接收到的命令消息数据地址中的名称前缀,然后从该路由表项的接口域转发接收到的命令消息,执行步骤407;

步骤416:节点N2收到命令消息后,如果命令消息负载中为启动命令,则执行步骤417,否则执行步骤418;

步骤417:节点N2执行启动命令并发送一个确认消息,该确认消息的数据名称等于接收到的命令消息中的数据名称,消息类型为4,负载为执行启动命令的响应数据,执行步骤420;

步骤418:节点N2收到命令消息后,如果命令消息负载中为结束命令,则执行步骤425,否则执行步骤419;

步骤419:节点N2执行接收到的命令消息中的命令并发送一个确认消息,该确认消息的数据名称等于接收到的命令消息中的数据名称,消息类型为4,负载为执行命令的响应数据;

步骤420:普通路由器R2接收到确认消息后,查看路径表,选择数据地址等于确认消息的数据地址的路径表项,并该路径表项的接口域值转发接收到的确认消息;

步骤421:如果普通路由器R1接收到确认消息,则执行步骤423,否则执行步骤422;

步骤422:数据路由器接收到确认消息后,查看路径表,选择数据地址等于确认消息的数据地址的路径表项,并通过该路径表项的接口域值转发接收到的确认消息,执行步骤421;

步骤423:普通路由器R1接收到确认消息后,查看路径表,选择数据地址等于确认消息的数据地址的路径表项,并通过该路径表项的接口域值转发接收到的确认消息;

步骤424:节点N1接收到确认消息后,保存确认消息中的响应数据,发送一个命令消息,该命令消息的数据地址等于接收到的确认消息中的数据地址,消息类型为3,如果节点N1需要结束通信,则该命令消息的负载为终止命令,否则为节点N1需要节点N2执行的命令,执行步骤403;

步骤425:结束;

如果一个路径表项的生命周期衰减为0,则从路径表中删除该路径表项。

节点通过上述过程能够快速获取数据。

本发明所述方法中,代理路由器维护一个服务表,每个服务表项包含数据地址域、源端口域以及目的端口域;

在互联骨干网中,每一种服务对应一个端口号,例如收取email协议pop3的端口号为110;

如果节点N1位于数据网络中,节点N1与普通路由器R1相连,普通路由器R1的名称前缀为NP1,节点N3位于互联骨干网中,节点N1利用协议P3与节点N3进行通信,协议P3在互联骨干网中对应的端口号为b3,节点N1通过下述过程实现与节点N3的通信:

步骤501:开始;

步骤502:节点N1构建一个数据地址,该数据地址中,名称前缀为空,IP地址为节点N3的IP地址,协议为P3,序列号为随机数;节点N1发送命令消息,该命令消息的数据地址为构建的数据地址,消息类型为3,负载为启动命令;

步骤503:普通路由器R1从自己的接口x1接收到命令消息后,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤504,否则执行步骤505;

步骤504:从自己的接口x1接收到命令消息的普通路由器R1选择数据地址域值等于接收到的命令消息中的数据地址域值,将该路径表项的生命周期设置为最大值,例如1s,执行步骤506;

步骤505:普通路由器R1创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,接口域值等于x1,生命周期设置为最大值;

步骤506:普通路由器R1查看代理路由器表,选择一个代理路由器表项,从该代理路由器表项的接口域转发接收到的命令消息;

步骤507:如果代理路由器接收到命令消息,则执行步骤512,否则执行步骤508;

步骤508:数据路由器从自己的接口x2接收到命令消息,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤509,否则执行步骤510;

步骤509:从自己的接口x2接收到命令消息的数据路由器选择数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,将该路径表项的生命周期设置为最大值,例如1s,执行步骤511;

步骤510:从自己的接口x2接收到命令消息的数据路由器创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,接口域值等于x2,生命周期设置为最大值;

步骤511:从自己的接口x2接收到命令消息的数据路由器查看代理路由器表,选择一个代理路由器表项,然后从该代理路由器表项的接口域转发接收到的命令消息,执行步骤507;

步骤512:代理路由器从自己的接口x3接收到命令消息,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤513,否则执行步骤514;

步骤513:从自己的接口x3接收到命令消息的代理路由器选择数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,将该路径表项的生命周期设置为最大值,例如1s,执行步骤515;

步骤514:代理路由器创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,接口域值等于x3,生命周期设置为最大值;

步骤515:代理路由器接收到命令消息后,如果命令消息负载中为启动命令,则执行步骤516,否则执行步骤517;

步骤516:代理路由器创建一个端口s3,创建一个服务表,该服务表的数据地址为接收到的命令消息中的数据地址,源端口为s3,目的端口为b3;代理路由器通过与互联骨干网相连的接口发送一条消息,该消息的源地址为该接口的IP地址,目的地址为接收到的命令消息数据地址的IP地址,目的端口为b3,源端口为b3,负载为接收到的命令消息中的负载,执行步骤520;

步骤517:代理路由器接收到命令消息后,如果命令消息负载中为终止命令,则执行步骤518,否则执行步骤519;

步骤518:代理路由器查看服务表,选择一个服务表项,该服务表项的数据地址等于接收到的命令消息中的数据地址;代理路由器通过与互联骨干网相连的接口发送一条IP消息,该消息的源地址为该接口的IP地址,目的地址为接收到的命令消息数据地址的IP地址,目的端口和源端口为选中的服务表项的目的端口和源端口,负载为接收到的命令消息中的负载,删除选中的服务表项,执行步骤520;

步骤519:代理路由器查看服务表,选择一个服务表项,该服务表项的数据地址等于接收到的命令消息中的数据地址;代理路由器通过与互联骨干网相连的接口发送一条消息,该消息的源地址为该接口的IP地址,目的地址为接收到的命令消息数据地址的IP地址,目的端口和源端口为选中的服务表项的目的端口和源端口,负载为接收到的命令消息中的负载;

步骤520:该IP消息通过互联骨干网到达节点N3,该消息即为步骤518中代理路由器发送的消息,节点N3收到命令消息后,如果命令消息负载中为启动命令,则执行步骤521,否则执行步骤522;

步骤521:节点N3执行启动命令并发送一个IP消息,该IP消息的源地址和源端口分别为接收到的IP消息的目的地址和目的端口,该IP消息的目的地址和目的端口分别为接收到的IP消息的源地址和源端口,负载为执行启动命令的响应数据,执行步骤524;

步骤522:节点N3收到命令消息后,如果命令消息负载中为终止命令,则执行步骤529,否则执行步骤523;

步骤523:节点N3执行接收到的命令消息中的命令并发送一个IP消息,该IP消息的源地址和源端口分别为接收到的IP消息的目的地址和目的端口,该IP消息的目的地址和目的端口分别为接收到的IP消息的源地址和源端口,负载为执行命令的响应数据;

步骤524:IP消息通过互联骨干网到达代理路由器,代理路由器查看服务表,选择一个服务表项,该服务表项的源端口和目的端口分别等于接收到的IP消息的目的端口和源端口,然后代理路由器创建一个确认消息,该确认消息的数据名称等于所选的服务表项的数据名称,消息类型为4,负载为接收到的IP消息的负载;代理服务器查看路径表,选择数据地址等于创建的确认消息的数据地址的路径表项,并从该路径表项的接口域值转发该确认消息;

步骤525:如果普通路由器R1接收到确认消息,则执行步骤527,否则执行步骤526;

步骤526:数据路由器接收到确认消息后,查看路径表,选择数据地址等于接收到的确认消息的数据地址的路径表项,并通过该路径表项的接口域值转发接收到的确认消息,执行步骤525;

步骤527:普通路由器R1接收到确认消息后,查看路径表,选择数据地址等于确认消息的数据地址的路径表项,并通过该路径表项的接口域值转发接收到的确认消息;

步骤528:节点N1接收到确认消息后,保存确认消息中的响应数据,发送一个命令消息,该命令消息的数据地址等于接收到的确认消息中的数据地址,消息类型为3,如果节点N1需要结束通信,则该命令消息的负载为终止命令,否则为节点N1需要节点N3执行的命令,执行步骤503;

步骤529:结束。

节点通过上述过程能够快速获取数据。

有益效果:本发明提供了一种高效的网络通信方法,节点通过本发明提供的网络通信方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1为本发明所述的建立代理路由器流程示意图。

图2为本发明所述普通路由器创建路由表流程示意图。

图3为本发明所述节点创建路由表流程示意图。

图4为本发明所述数据通信流程示意图。

图5为本发明所述获取数据流程示意图。

具体实施方式:

本发明提供了一种高效的网络通信方法,节点通过本发明提供的网络通信方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。

图1为本发明所述的建立代理路由器流程示意图。所述网络包括互联骨干网和两个以上的数据网络,数据网络包括一个骨干网络和两个以上的子网,骨干网络包括数据路由器构成,一个子网包括一个普通路由器和两个以上的节点构成,普通路由器即为接入路由器,其作用是将子网连接到骨干网络;在骨干网络中,包括一个数据路由器与互联骨干网链路相连,该数据路由器称为代理路由器;代理路由器支持数据网网络和互联骨干网所使用的协议;

一个节点配置一个接口,节点与所在子网中的普通路由器链路相连,在一个子网中,普通路由器配置一个上游接口和两个以上的下游接口,该上游接口与一个数据路由器相连,每个下游接口与一个节点相连;一个数据路由器配置两个以上的接口;代理路由器的一个接口与互联骨干网链路相连,该接口的IP地址预先设置,例如abcd:1:efad:a::1/64,该代理路由器的其它接口与普通路由器或者数据路由器链路相连;不作为代理路由器的数据路由器的每个接口与数据路由器或者普通路由器链路相连;

一个子网中,普通路由器由名称前缀唯一标识,该名称前缀预先设置,例如China/JS/Cslg/N6/,该子网由普通路由器的名称前缀唯一标识;每一个节点由一个节点ID唯一标识,该节点ID具有前缀唯一性,例如email地址;

节点使用数据地址和消息实现通信;如果目的节点在数据网络中,数据地址则由名称前缀、节点ID,协议以及序列号构成,例如协议为pop3协议,命令为Start,User,Finish等;如果目的节点在互联骨干网中,数据地址由名称前缀、IP地址,协议以及序列号构成;

所述方法中消息包括数据地址域、消息类型域和负载域;消息类型域值如下所示:

消息类型消息类型值代理路由器消息1路由消息2命令消息3确认消息4

一个普通路由器和一个数据路由器维护一个代理路由器表,一个代理路由器表项由接口域和生命周期域构成;代理路由器R1启动后,定期执行下述操作创建或者更新代理路由器表:

步骤101:开始;

步骤102:代理路由器R1定期从除了与互联骨干网相连的接口之外的每个接口发送代理路由器消息,该代理路由器消息中的数据地址中的名称前缀、节点ID以及协议为空,序列号为随机数,负载为空,消息类型为1;

步骤103:如果数据路由器从自己的接口f1接收到代理路由器消息,则执行步骤104,否则执行步骤108;

步骤104:从自己的接口f1接收到代理路由器消息的数据路由器查看代理路由器消息,如果已经接收到具有相同序列号的代理路由器消息,则丢弃该代理路由器消息并执行步骤111,否则执行步骤105;

步骤105:从自己的接口f1接收到代理路由器消息的数据路由器查看代理路由器表,如果存在一个代理路由器表项,该代理路由器表项的接口域值为f1,则执行步骤106,否则执行步骤107;

步骤106:从自己的接口f1接收到代理路由器消息的数据路由器选中接口域值为f1的代理路由器表项,将该代理路由器表项的生命周期设置为最大值,从除了接口f1以外的所有接口转发接收到的代理路由器消息,执行步骤103;

步骤107:从自己的接口f1接收到代理路由器消息的数据路由器创建一个代理路由器表项,该代理路由器表项的接口域值为f1,生命周期域值为最大值,从除了接口f1以外的所有接口转发接收到的代理路由器消息,执行步骤103;

步骤108:普通路由器从自己的接口f2接收到代理路由器消息,如果存在一个代理路由器表项,该代理路由器表项的接口域值为f2,则执行步骤109,否则执行步骤110;

步骤109:从自己的接口f2接收到代理路由器消息的普通路由器选中接口域值为f2的代理路由器表项,将该代理路由器表项的生命周期设置为最大值,执行步骤111;

步骤110:从自己的接口f2接收到代理路由器消息的普通路由器创建一个代理路由器表项,该代理路由器表项的接口域值为f2,生命周期域值为最大值;

步骤111:结束;

如果数据路由器或者普通路由器检测到一个代理路由器表项的生命周期衰减为0,则从代理路由器表中删除该代理路由器表项。

上述过程能够快速建立代理路由器表从而实现数据的快速获取。

图2为本发明所述普通路由器创建路由表流程示意图。一个普通路由器和一个数据路由器各自维护一个路由表,一个路由表项包括接口域、名称前缀域、设备ID域和生命周期域;

普通路由器C1启动后,定期执行下述操作创建或者更新路由表:

步骤201:开始;

步骤202:普通路由器C1构建一个数据地址,该数据地址的名称前缀为普通路由器C1的名称前缀,协议和节点ID为空,序列号为随机数,普通路由器C1定期从上游接口发送路由消息,该路由消息中的数据地址为构建的数据地址,消息类型为2,负载为空;

步骤203:如果数据路由器从自己的接口y1接收到路由消息,则执行步骤204,否则执行步骤208;

步骤204:从自己的接口y1接收到路由消息的数据路由器查看路由消息,如果已经接收到具有相同序列号的路由消息,则丢弃该消息并执行步骤211,否则执行步骤205;

步骤205:从自己的接口y1接收到路由消息的数据路由器查看路由表,如果存在一个路由表项,该路由表项的名称前缀等于接收到的路由消息的数据地址的名称前缀且接口域值等于y1,则执行步骤206,否则执行步骤207;

步骤206:从自己的接口y1接收到路由消息的数据路由器选中名称前缀等于接收到的路由消息的数据地址的名称前缀且接口域值为y1的路由表项,将该路由表项的生命周期设置为最大值,从除了接口y1以外的所有接口转发接收到的路由消息,执行步骤203;

步骤207:从自己的接口y1接收到路由消息的数据路由器创建一个路由表项,该路由表项的名称前缀等于接收到的路由消息的数据地址的名称前缀,设备ID域值为空,接口域值为y1,生命周期域值为最大值,数据路由器从除了接口y1以外的所有接口转发接收到的路由消息,执行步骤203;

步骤208:普通路由器从自己的接口y2接收到路由消息,如果存在一个路由表项,该路由表项的名称前缀等于接收到的路由消息的数据地址的名称前缀,且接口域值为y2,则执行步骤209,否则执行步骤210;

步骤209:从自己的接口y2接收到路由消息的普通路由器查看路由表,选中名称前缀等于接收到的路由消息的数据地址的名称前缀且接口域值为y2的路由表项,将该路由表项的生命周期设置为最大值,执行步骤211;

步骤210:从自己的接口y2接收到路由消息的普通路由器创建一个路由表项,该路由表项的名称前缀等于接收到的路由消息的数据地址的名称前缀,接口域值为y2,设备ID域值为空,生命周期域值为最大值;

步骤211:结束。

上述过程能够快速建立路由表从而实现数据的快速获取。

图3为本发明所述节点创建路由表流程示意图。节点N启动后,定期执行下述操作创建或者更新路由表:

步骤301:开始;

步骤302:节点N构建一个数据地址,该数据地址的名称前缀为空,协议为空,节点ID为节点N的节点ID,序列号为随机数,节点N定期发送路由消息,该路由消息中的数据地址为构建的数据地址,消息类型为2,负载为空;

步骤303:与节点N连接的普通路由器从自己的接口y3接收到路由消息后,查看路由表,如果存在一个路由表项,该路由表项的节点ID等于接收到的路由消息的数据地址的节点ID且接口ID为y3,则执行步骤304,否则执行步骤305;

步骤304:从自己的接口y3接收到路由消息的普通路由器选中节点ID等于接收到的路由消息的数据地址的节点ID且接口域值为y3的路由表项,将该路由表项的生命周期设置为最大值,执行步骤306;

步骤305:从自己的接口y3接收到路由消息的普通路由器创建一个路由表项,该路由表项的名称前缀为空,节点ID等于接收到的路由消息的数据地址的节点ID,接口域值为y3,生命周期域值为最大值;

步骤306:结束;

如果数据路由器或者普通路由器检测到一个路由表项的生命周期衰减为0,则从路由表中删除该路由表项。

上述过程能够快速建立路由表从而实现数据的快速获取。

图4为本发明所述数据通信流程示意图。数据网络中的节点与互联网中的节点采用协议进行通信;协议的类型定义了通信内容;在所有协议中,第一条命令为启动,最后一条命令为终止;命令是消息的负载,例如步骤402;

每个普通路由器和数据路由器各自维护一个路径表,一个路径表项包含数据地址域,接口域和生命周期域;

在节点N1和节点N2位于数据网络中,节点N1与普通路由器R1相连,节点N2与普通路由器R2相连,普通路由器R1的名称前缀为NP1,普通路由器R2的名称前缀为NP2的条件下,节点N1利用协议P1通过下述过程实现与节点N2的通信:

步骤401:开始;

步骤402:节点N1构建一个数据地址,该数据地址中,名称前缀为名称前缀NP2,节点ID为节点N1的节点ID,协议为P1,序列号为随机数,节点N1发送命令消息,该命令消息的数据地址为构建的数据地址,消息类型为3,负载为启动命令;

步骤403:普通路由器R1从自己的接口f1接收到命令消息后,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤404,否则执行步骤405;

步骤404:从自己的接口f1接收到命令消息的普通路由器R1选择数据地址域值等于接收到的命令消息中的数据地址域值,将该路径表项的生命周期设置为最大值,例如1s,执行步骤406;

步骤405:普通路由器R1创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,接口域值等于f1,生命周期设置为最大值;

步骤406:普通路由器R1查看路由表,选择一个路由表项,该路由表项的名称前缀域值等于接收到的命令消息数据地址中的名称前缀,然后从该路由表项的接口域转发接收到的命令消息;

步骤407:如果普通路由器R2接收到命令消息,则执行步骤408,否则执行步骤412;

步骤408:普通路由器R2从自己的接口f2接收到命令消息,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤409,否则执行步骤410;

步骤409:从自己的接口f2接收到命令消息的普通路由器R2选择数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,将该路径表项的生命周期设置为最大值,例如1s,执行步骤411;

步骤410:普通路由器R2创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,接口域值等于f2,生命周期设置为最大值;

步骤411:普通路由器R2查看路由表,选择一个路由表项,该路由表项的节点ID域值等于接收到的命令消息数据地址中的节点ID,然后从该路由表项的接口域转发接收到的命令消息,执行步骤416;

步骤412:数据路由器从自己的接口f3接收到命令消息,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤413,否则执行步骤414;

步骤413:从自己的接口f3接收到命令消息的数据路由器选择数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,将该路径表项的生命周期设置为最大值,例如1s,执行步骤415;

步骤414:从自己的接口f3接收到命令消息的数据路由器创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,接口域值等于f3,生命周期设置为最大值;

步骤415:从自己的接口f3接收到命令消息的数据路由器查看路由表,选择一个路由表项,该路由表项的名称前缀域值等于接收到的命令消息数据地址中的名称前缀,然后从该路由表项的接口域转发接收到的命令消息,执行步骤407;

步骤416:节点N2收到命令消息后,如果命令消息负载中为启动命令,则执行步骤417,否则执行步骤418;

步骤417:节点N2执行启动命令并发送一个确认消息,该确认消息的数据名称等于接收到的命令消息中的数据名称,消息类型为4,负载为执行启动命令的响应数据,执行步骤420;

步骤418:节点N2收到命令消息后,如果命令消息负载中为结束命令,则执行步骤425,否则执行步骤419;

步骤419:节点N2执行接收到的命令消息中的命令并发送一个确认消息,该确认消息的数据名称等于接收到的命令消息中的数据名称,消息类型为4,负载为执行命令的响应数据;

步骤420:普通路由器R2接收到确认消息后,查看路径表,选择数据地址等于确认消息的数据地址的路径表项,并该路径表项的接口域值转发接收到的确认消息;

步骤421:如果普通路由器R1接收到确认消息,则执行步骤423,否则执行步骤422;

步骤422:数据路由器接收到确认消息后,查看路径表,选择数据地址等于确认消息的数据地址的路径表项,并通过该路径表项的接口域值转发接收到的确认消息,执行步骤421;

步骤423:普通路由器R1接收到确认消息后,查看路径表,选择数据地址等于确认消息的数据地址的路径表项,并通过该路径表项的接口域值转发接收到的确认消息;

步骤424:节点N1接收到确认消息后,保存确认消息中的响应数据,发送一个命令消息,该命令消息的数据地址等于接收到的确认消息中的数据地址,消息类型为3,如果节点N1需要结束通信,则该命令消息的负载为终止命令,否则为节点N1需要节点N2执行的命令,执行步骤403;

步骤425:结束;

如果一个路径表项的生命周期衰减为0,则从路径表中删除该路径表项。

节点通过上述过程能够快速获取数据。

图5为本发明所述获取数据流程示意图。代理路由器维护一个服务表,每个服务表项包含数据地址域、源端口域以及目的端口域;

在互联骨干网中,每一种服务对应一个端口号,例如收取email协议pop3的端口号为110;

如果节点N1位于数据网络中,节点N1与普通路由器R1相连,普通路由器R1的名称前缀为NP1,节点N3位于互联骨干网中,节点N1利用协议P3与节点N3进行通信,协议P3在互联骨干网中对应的端口号为b3,节点N1通过下述过程实现与节点N3的通信:

步骤501:开始;

步骤502:节点N1构建一个数据地址,该数据地址中,名称前缀为空,IP地址为节点N3的IP地址,协议为P3,序列号为随机数;节点N1发送命令消息,该命令消息的数据地址为构建的数据地址,消息类型为3,负载为启动命令;

步骤503:普通路由器R1从自己的接口x1接收到命令消息后,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤504,否则执行步骤505;

步骤504:从自己的接口x1接收到命令消息的普通路由器R1选择数据地址域值等于接收到的命令消息中的数据地址域值,将该路径表项的生命周期设置为最大值,例如1s,执行步骤506;

步骤505:普通路由器R1创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,接口域值等于x1,生命周期设置为最大值;

步骤506:普通路由器R1查看代理路由器表,选择一个代理路由器表项,从该代理路由器表项的接口域转发接收到的命令消息;

步骤507:如果代理路由器接收到命令消息,则执行步骤512,否则执行步骤508;

步骤508:数据路由器从自己的接口x2接收到命令消息,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤509,否则执行步骤510;

步骤509:从自己的接口x2接收到命令消息的数据路由器选择数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,将该路径表项的生命周期设置为最大值,例如1s,执行步骤511;

步骤510:从自己的接口x2接收到命令消息的数据路由器创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,接口域值等于x2,生命周期设置为最大值;

步骤511:从自己的接口x2接收到命令消息的数据路由器查看代理路由器表,选择一个代理路由器表项,然后从该代理路由器表项的接口域转发接收到的命令消息,执行步骤507;

步骤512:代理路由器从自己的接口x3接收到命令消息,查看路径表,如果存在一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,则执行步骤513,否则执行步骤514;

步骤513:从自己的接口x3接收到命令消息的代理路由器选择数据地址域值等于接收到的命令消息中的数据地址域值的路径表项,将该路径表项的生命周期设置为最大值,例如1s,执行步骤515;

步骤514:代理路由器创建一个路径表项,该路径表项的数据地址域值等于接收到的命令消息中的数据地址域值,接口域值等于x3,生命周期设置为最大值;

步骤515:代理路由器

一种高效的网络通信方法专利购买费用说明

专利买卖交易资料

Q:办理专利转让的流程及所需资料

A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。

1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。

2:按规定缴纳著录项目变更手续费。

3:同时提交相关证明文件原件。

4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。

Q:专利著录项目变更费用如何缴交

A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式

Q:专利转让变更,多久能出结果

A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。

动态评分

0.0

没有评分数据
没有评价数据
×

打开微信,点击底部的“发现”

使用“扫一扫”即可将网页分享至朋友圈

×
复制
用户中心
我的足迹
我的收藏

您的购物车还是空的,您可以

  • 微信公众号

    微信公众号
在线留言
返回顶部