CN108418749A - 一种高效的网络通信方法 - Google Patents

一种高效的网络通信方法 Download PDF

Info

Publication number
CN108418749A
CN108418749A CN201810236536.1A CN201810236536A CN108418749A CN 108418749 A CN108418749 A CN 108418749A CN 201810236536 A CN201810236536 A CN 201810236536A CN 108418749 A CN108418749 A CN 108418749A
Authority
CN
China
Prior art keywords
router
interface
data
list item
thresholding
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.)
Granted
Application number
CN201810236536.1A
Other languages
English (en)
Other versions
CN108418749B (zh
Inventor
王晓喃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Keyiguo Information Technology Co ltd
Shenzhen Cipin Technology Co.,Ltd.
Original Assignee
Changshu Institute of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Changshu Institute of Technology filed Critical Changshu Institute of Technology
Priority to CN201810236536.1A priority Critical patent/CN108418749B/zh
Publication of CN108418749A publication Critical patent/CN108418749A/zh
Application granted granted Critical
Publication of CN108418749B publication Critical patent/CN108418749B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种高效的网络通信方法
技术领域
本发明涉及一种通信方法,尤其涉及的是一种高效的网络通信方法。
背景技术
网络已经成为人类生活中不可缺少的一部分,它提供多种数据服务,因此降低数据通信延迟尤为重要。近年来,很多研究工作致力于网络的数据通信工作,以便使人们能够快速获取网络服务。随着移动网络技术的发展,网络数据通信技术会进一步提高服务质量。
目前,网络数据通信延迟和代价都比较大,降低了网络服务性能。因此,如何降低网络数据通信的延迟和代价成为近年来研究的热点问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种高效的网络通信方法。
技术方案:本发明公开了一种高效的网络通信方法,所述网络包括互联骨干网和两个以上的数据网络,数据网络包括一个骨干网络和两个以上的子网,骨干网络包括数据路由器构成,一个子网包括一个普通路由器和两个以上的节点构成,普通路由器即为接入路由器,其作用是将子网连接到骨干网络;在骨干网络中,包括一个数据路由器与互联骨干网链路相连,该数据路由器称为代理路由器;代理路由器支持数据网网络和互联骨干网所使用的协议;
一个节点配置一个接口,节点与所在子网中的普通路由器链路相连,在一个子网中,普通路由器配置一个上游接口和两个以上的下游接口,该上游接口与一个数据路由器相连,每个下游接口与一个节点相连;一个数据路由器配置两个以上的接口;代理路由器的一个接口与互联骨干网链路相连,该接口的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:代理路由器接收到命令消息后,如果命令消息负载中为启动命令,则执行步骤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
基于表1的仿真参数,本实施例模拟了本发明中的网络通信方法,性能分析如下:移动节点数量增加或者获取的数据量增加时,数据获取时间随之增加。数据获取平均延迟为1.2s。
表1仿真参数
本发明提供了一种高效的网络通信方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。

Claims (5)

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,则从代理路由器表中删除该代理路由器表项。
2.根据权利要求1所述的一种高效的网络通信方法,其特征在于,一个普通路由器和一个数据路由器各自维护一个路由表,一个路由表项包括接口域、名称前缀域、设备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.根据权利要求2所述的一种高效的网络通信方法,其特征在于,节点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.根据权利要求1所述的一种高效的网络通信方法,其特征在于,数据网络中的节点与互联网中的节点采用协议进行通信;协议的类型定义了通信内容;在所有协议中,第一条命令为启动,最后一条命令为终止;命令是消息的负载,例如步骤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选择数据地址域值等于接收到的命令消息中的数据地址域值,将该路径表项的生命周期设置为最大值,执行步骤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,则从路径表中删除该路径表项。
5.根据权利要求1所述的一种高效的网络通信方法,其特征在于,代理路由器维护一个服务表,每个服务表项包含数据地址域、源端口域以及目的端口域;
在互联骨干网中,每一种服务对应一个端口号;
如果节点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,源端口为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:结束。
CN201810236536.1A 2018-03-21 2018-03-21 一种高效的网络通信方法 Active CN108418749B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810236536.1A CN108418749B (zh) 2018-03-21 2018-03-21 一种高效的网络通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810236536.1A CN108418749B (zh) 2018-03-21 2018-03-21 一种高效的网络通信方法

Publications (2)

Publication Number Publication Date
CN108418749A true CN108418749A (zh) 2018-08-17
CN108418749B CN108418749B (zh) 2020-08-18

Family

ID=63132307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810236536.1A Active CN108418749B (zh) 2018-03-21 2018-03-21 一种高效的网络通信方法

Country Status (1)

Country Link
CN (1) CN108418749B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109309589A (zh) * 2018-10-24 2019-02-05 常熟理工学院 一种智慧城市网络的实现方法
CN109768932A (zh) * 2019-03-04 2019-05-17 常熟理工学院 一种命名数据网络的实现方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8599858B1 (en) * 2009-08-12 2013-12-03 Marvell Israel (M.I.S.L.) Ltd. System and method for keep alive message aging
CN106453090A (zh) * 2016-10-19 2017-02-22 常熟理工学院 一种以数据为中心的通信方法
CN106507428A (zh) * 2016-10-19 2017-03-15 常熟理工学院 一种未来移动网络的数据通信方法
CN106792978A (zh) * 2017-03-29 2017-05-31 常熟理工学院 一种基于云的智能车联网数据通信方法
CN106936711A (zh) * 2017-03-29 2017-07-07 常熟理工学院 一种稳定高效的网络数据通信方法
CN106941449A (zh) * 2017-03-29 2017-07-11 常熟理工学院 一种基于按需机制的网络数据通信方法
CN107395509A (zh) * 2017-08-28 2017-11-24 常熟理工学院 一种基于物联网的数据通信方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8599858B1 (en) * 2009-08-12 2013-12-03 Marvell Israel (M.I.S.L.) Ltd. System and method for keep alive message aging
CN106453090A (zh) * 2016-10-19 2017-02-22 常熟理工学院 一种以数据为中心的通信方法
CN106507428A (zh) * 2016-10-19 2017-03-15 常熟理工学院 一种未来移动网络的数据通信方法
CN106792978A (zh) * 2017-03-29 2017-05-31 常熟理工学院 一种基于云的智能车联网数据通信方法
CN106936711A (zh) * 2017-03-29 2017-07-07 常熟理工学院 一种稳定高效的网络数据通信方法
CN106941449A (zh) * 2017-03-29 2017-07-11 常熟理工学院 一种基于按需机制的网络数据通信方法
CN107395509A (zh) * 2017-08-28 2017-11-24 常熟理工学院 一种基于物联网的数据通信方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
WANG XIAONAN: "location-based IPv6 address configuration for vehicular networks", 《JOURNAL OF NETWORK AND SYSTEMS MANAGEMENT》 *
WANG XIAONAN等: "Addressing-Based Routing Optimization for 6LoWPAN WSN in Vehicular Scenario", 《IEEE SENSORS JOURNAL》 *
王晓喃等: "车载网移动切换方案", 《电子科技大学学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109309589A (zh) * 2018-10-24 2019-02-05 常熟理工学院 一种智慧城市网络的实现方法
CN109768932A (zh) * 2019-03-04 2019-05-17 常熟理工学院 一种命名数据网络的实现方法

Also Published As

Publication number Publication date
CN108418749B (zh) 2020-08-18

Similar Documents

Publication Publication Date Title
CN106453090B (zh) 一种以数据为中心的通信方法
CN106973017B (zh) 一种快速的网络数据通信方法
CN104378290B (zh) 一种报文转发方法和装置
CN109150723B (zh) 一种物联网的路由通信实现方法
CN106506368B (zh) 一种基于互联网的数据通信实现方法
CN108347382B (zh) 一种基于数据为中心的新一代网络实现方法
CN108418749A (zh) 一种高效的网络通信方法
CN108347381A (zh) 一种新一代数据网络通信方法
CN108566337A (zh) 一种基于大数据的新一代信息网络实现方法
CN102413062B (zh) 一种路由选择的方法和路由设备
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands
Cisco XNS Commands

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230523

Address after: 230000 room 1414, building D, Yinhe happiness Plaza, intersection of Luzhou Avenue and Fuzhou Road, Baohe District, Hefei City, Anhui Province

Patentee after: Hefei keyiguo Information Technology Co.,Ltd.

Address before: 215500 School of computer science and engineering, Changshu Institute of Technology (southeast campus), Changshu City, Suzhou City, Jiangsu Province

Patentee before: CHANGSHU INSTITUTE OF TECHNOLOGY

Effective date of registration: 20230523

Address after: 518000, No. 4, 6th Lane, Wuhe Road, Wuhe Community, Bantian Street, Longgang District, Shenzhen City, Guangdong Province 1008

Patentee after: Shenzhen Cipin Technology Co.,Ltd.

Address before: 230000 room 1414, building D, Yinhe happiness Plaza, intersection of Luzhou Avenue and Fuzhou Road, Baohe District, Hefei City, Anhui Province

Patentee before: Hefei keyiguo Information Technology Co.,Ltd.