CN116939708A - 终端通信方法、系统、计算机设备和存储介质 - Google Patents
终端通信方法、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116939708A CN116939708A CN202310868323.1A CN202310868323A CN116939708A CN 116939708 A CN116939708 A CN 116939708A CN 202310868323 A CN202310868323 A CN 202310868323A CN 116939708 A CN116939708 A CN 116939708A
- Authority
- CN
- China
- Prior art keywords
- terminal
- data packet
- network
- network address
- management platform
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 131
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000005540 biological transmission Effects 0.000 claims description 66
- 230000004044 response Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 13
- 238000005538 encapsulation Methods 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 81
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000001914 filtration Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
- H04W28/065—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/068—Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/248—Connectivity information update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种终端通信方法、系统、计算机设备和存储介质。方法包括:读取待传输至第二终端的数据包中的数据包标识;若数据包标识指示第一终端的通信方式为第一通信方式,则基于第一终端和第二终端所在的近域网将数据包逐级转发至第二终端,并通过第二终端将数据包发送至公网的管理平台,以使管理平台对数据包进行响应处理;若数据包标识指示第一终端的通信方式为第二通信方式,则基于近域网将数据包逐级转发至第二终端,以使第二终端对数据包进行响应处理。采用本申请能够减小网络通信的局限性。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种终端通信方法、系统、计算机设备和存储介质。
背景技术
在无线网络无覆盖场景下,可通过在无网络覆盖终端之间构建一个用于通信的近域网,实现无网络覆盖终端之间的局部通信。但是,采用上述的通信方式,无网络覆盖终端只能和近域网内的其他无网络覆盖终端进行通信,无法进行互联网的访问,比较局限。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减小局限性的终端通信方法、系统、计算机设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种终端通信方法。该方法包括:
读取待传输至第二终端的数据包中的数据包标识;
若数据包标识指示第一终端的通信方式为第一通信方式,则基于第一终端和第二终端所在的近域网将数据包逐级转发至第二终端,并通过第二终端将数据包发送至公网的管理平台,以使管理平台对数据包进行响应处理;
若数据包标识指示第一终端的通信方式为第二通信方式,则基于近域网将数据包逐级转发至第二终端,以使第二终端对数据包进行响应处理。
第二方面,本申请还提供了一种终端通信系统。该系统包括:第一终端、第二终端和管理平台;第一终端为无网络覆盖终端;
第一终端,用于读取待传输至第二终端的数据包中的数据包标识;
若数据包标识指示第二终端为有网络覆盖终端,第一终端用于将数据包逐级转发至第二终端,并通过第二终端将数据包发送至公网的管理平台,以使管理平台对数据包进行响应处理;
若数据包标识指示第二终端为无网络覆盖终端,第一终端用于将数据包逐级转发至第二终端,以使第二终端对数据包进行响应处理。
在一些实施例中,第一终端还用于若数据包标识指示第一终端的通信方式为第一通信方式,则对数据包进行协议封装处理,得到封装数据包;基于第一终端和第二终端所在的近域网,将封装数据包转发给第一终端的上级终端,通过上级终端将封装数据包进行逐级转发,直到转发至有网络覆盖的第二终端,并通过第二终端将数据包发送至公网的管理平台,以使管理平台从封装数据包中获取传输消息,并对传输消息进行处理后响应给第一终端。
在一些实施例中,数据包携带第二终端的目标网络地址。第一终端还用于若数据包标识指示第一终端的通信方式为第二通信方式,则基于近域网将数据包进行逐级转发,直至接收到数据包的第二终端确定目标网络地址是本端的网络地址,以通过第二终端从数据包中获取传输消息,并对传输消息进行响应处理。
在一些实施例中,第一终端还用于在确定第二终端是第一终端的紧邻层级终端的情况下,基于近域网直接将数据包转发给第二终端;在确定第二终端不是第一终端的紧邻层级终端的情况下,基于近域网向第一终端的上级终端以及第一终端对应路由表中记录的所有终端转发数据包,以通过接收到数据包的终端判断目标网络地址是否是本端的网络地址,并在确定目标网络地址不是本端的网络地址情况下继续进行数据包的转发,直至将数据包转发给第二终端,以通过第二终端从数据包中获取传输消息,并对传输消息进行响应处理。
在一些实施例中,管理平台存储有近域网内各终端分别对应的对端密钥;各终端分别对应的对端密钥,是根据各终端分别对应的标识码生成的。第一终端还用于向管理平台发送对端密钥请求消息;对端密钥请求消息用于请求获取第二终端对应的对端密钥;根据管理平台返回的对端密钥,对待传输至第二终端的初始传输消息进行加密得到传输消息;根据传输消息、第二终端对应的目标网络地址和目标识别码,生成待传输至第二终端的数据包。
在一些实施例中,第一终端还用于向近域网发起服务发现请求;若接收到服务发现响应,则尝试接入第一终端的上级终端;记录第一终端成功接入第一终端的上级终端的接入时间戳;接入时间戳用于结合扰动因子生成第一终端的标识码;确定第一终端的虚拟网络地址,以将接入时间戳和第一终端的虚拟网络地址上报给管理平台。
在一些实施例中,第一终端还用于确定用于构建第一终端的虚拟网络地址的第一字节、第二字节、第三字节和第四字节;第一字节为第一终端的层级信息;第二字节为第一终端对应的第一主机号;第一主机号,是第一终端成功接入上级终端后被分配的对等网络地址的主机号;第三字节通过对第一主机号和第二主机号进行第一运算确定;第二主机号,是第一终端的上级终端对应的对等网络地址的主机号;第四字节通过对第一主机号和第二主机号进行第二运算确定;根据第一字节、第二字节、第三字节和第四字节,构建第一终端的虚拟网络地址。
第三方面,本申请提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行该计算机程序时实现上述的终端通信方法中的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的终端通信方法中的步骤。
第五方面,本申请提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现本上述的终端通信方法中的步骤。
上述终端通信方法、系统、计算机设备、存储介质和计算机程序产品,第一终端读取待传输至第二终端的数据包中的数据包标识,以根据数据包标识选择不同的路由方式进行通信。比如,若数据包标识指示第一终端的通信方式为第一通信方式,则基于第一终端和第二终端所在的近域网将数据包逐级转发至第二终端,并通过第二终端将数据包发送至公网的管理平台,以使管理平台对数据包进行响应处理,从而实现无网络覆盖终端的互联网访问功能。若数据包标识指示第一终端的通信方式为第二通信方式,则基于近域网将数据包逐级转发至第二终端,以使第二终端对数据包进行响应处理,从而实现近域网中无网络覆盖终端之间的通信。也就是说,本申请既能实现无网络覆盖终端的互联网访问功能,又能实现近域网内无网络覆盖终端的多级网络通信功能,能够减小终端通信的局限性。
附图说明
图1为本申请实施例提供的一种终端通信方法的应用环境示意图;
图2为本申请实施例提供的一种终端通信方法的流程示意图;
图3为本申请实施例提供的一种终端通信系统的结构示意图;
图4为本申请实施例提供的一种连接者流程的示意图;
图5为本申请实施例提供的一种分享者流程的示意图;
图6为本申请实施例提供的一种管理平台处理流程的示意图;
图7为本申请实施例提供的另一种终端通信方法的流程示意图;
图8为本申请实施例提供的另一种终端通信方法的流程示意图;
图9为本申请实施例提供的一种终端连接的流程示意图;
图10为本申请实施例提供的另一种终端通信方法的流程示意图;
图11为本申请实施例提供的一种终端通信系统的结构框图;
图12为本申请实施例提供的一种计算机设备的内部结构图;
图13为本申请实施例提供的另一种计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的终端通信方法,可以应用于如图1所示的应用环境中。其中,近域网内的各终端间可以相互通信,比如第一终端102和第二终端104之间可以互相通信,管理平台106可以通过网络与有覆盖网络终端,比如与第二终端104进行通信。数据存储系统可以存储管理平台106需要处理的数据,数据存储系统可以集成在管理平台106上,也可以放在云上或其他网络服务器上。第一终端102读取待传输至第二终端104的数据包中的数据包标识;若数据包标识指示第一终端102的通信方式为第一通信方式,则基于第一终端102和第二终端104所在的近域网将数据包逐级转发至第二终端104,并通过第二终端104将数据包发送至公网的管理平台106,以使管理平台106对数据包进行响应处理。若数据包标识指示第一终端102的通信方式为第二通信方式,则基于近域网将数据包逐级转发至第二终端104,以使第二终端104对数据包进行响应处理。其中,第一终端102和第二终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备。
在一些实施例中,如图2所示,提供了一种终端通信方法,该方法应用于图1的第一终端为例进行说明。本实施例中,该方法包括但不限于包括以下步骤:
步骤202,读取待传输至第二终端的数据包中的数据包标识。
其中,第一终端、第二终端指的都是在构建好的近域网内、可以互相通信的终端。近域网,指的是在无基础设施支撑的情况下,基于设备到设备(Device-to-Device,D2D)技术所构建的、用于实现终端间相互通信的无线通信网络。
在一些实施例中,如图3所示,包括近域网内包括两个终端,假设左侧部分的终端为终端A、右侧部分的终端为终端B。可以看出,终端A和终端B都被D2D网络,即近域网覆盖,二者之间可以相互通信,终端B则还被有基础设施覆盖网络覆盖,表示终端B可以通过蜂窝或者WiFi访问互联网,比如可以与管理平台、远端服务器通信,而终端A则不能直接进行互联网访问。其中,终端A和终端B都存储有APP内部数据、其他APP内部数据,且都包括VpnService模块、D2D模块、包过滤模块、协议处理模块、路由模块、包处理模块和代理模块。其中,VpnService是应用程序扩展和构建自己的虚拟专用网络(Virtual PrivateNetwork,VPN)解决方案的基类,不同终端之间的代理模块可以进行通信。需要说明的是,图3仅对近域网中终端的结构进行示意性说明,并不表示近域网中仅有两个终端,实际上,近域网中还可以包括更多终端。
数据包标识,用于表示对应数据包为需要在近域网内通信的数据包,还是需要在互联网,即公网中通信的数据包。
具体地,在生成待传输至第二终端的数据包之前,第一终端在数据包内增加数据包标识,用于根据不同的数据包标识选择不同的通信方式。由第一终端的包过滤模块读取生成的数据包中的数据包标识。
步骤204,根据数据包标识确定第一终端的通信方式。
具体地,由第一终端的包过滤模块根据数据包标识确定对应的数据包为需要在近域网内通信的数据包,还是需要在互联网中通信的数据包。若对应的数据包为需要在近域网内通信的数据包,则说明第一终端的通信方式为第一通信方式,若对应的数据包为需要在互联网中通信的数据包,则说明第一终端的通信方式为第二通信方式。
步骤206,若数据包标识指示第一终端的通信方式为第一通信方式,则基于第一终端和第二终端所在的近域网将数据包逐级转发至第二终端,并通过第二终端将数据包发送至公网的管理平台,以使管理平台对数据包进行响应处理。
其中,管理平台,位于公网中,用于对近域网中的各终端进行集中管理,包括终端信息管理和终端密钥管理。
在一些实施例中,管理平台可以接收近域网内终端上报的终端信息,维护包括各终端上报的终端信息的终端信息表。管理平台可以向近域网内终端下发非涉密终端信息列表。管理平台还可以响应近域网内终端获取密钥请求,以根据密钥请求中的虚拟网络地址和识别码从终端信息表中获取对应的终端密钥,并将密钥返回给请求终端。
具体地,若数据包标识指示第一终端的通信方式为第一通信方式,则说明第一终端需要进行互联网访问,此时第一终端则可以基于第一终端和第二终端所在的近域网,将需要传输的数据包逐级转发至有网络覆盖的终端,即第二终端。由于第二网络可以访问互联网,因此可以通过第二终端将数据包发送至公网的管理平台,以使管理平台对数据包进行响应处理。
步骤208,若数据包标识指示第一终端的通信方式为第二通信方式,则基于近域网将数据包逐级转发至第二终端,以使第二终端对数据包进行响应处理。
具体地,若数据包标识指示第一终端的通信方式为第二通信方式,则说明第一终端需要与近域网内的另一个终端,比如与第二终端进行组内通信,不需要进行互联网访问。此时,第一终端则可以将数据包发送给本端的路由模块,以通过路由模块基于近域网将数据包逐级转发至第二终端,使第二终端对数据包进行响应处理。
在一些实施例中,路由模块可以根据D2D模块发送网络拓扑变化情况更新路由表。路由模块还可以接收包过滤模块发送的数据包,以根据数据包查询路由表,从而获取下一级终端的虚拟网络地址,并将该数据包重新封装发往下一级终端。此外,路由模块还包括路由策略的实施和路由表。
在一些实施例中,假设终端C(虚拟网络地址为)需要向终端D(虚拟网络地址为/>)发送数据包。对于终端C,即源终端来说,需要判断层级信息,具体过程为:(1)若/>则通过/>判断终端D是否在自己的子树,若等式成立,则创建socket,并向/>发送数据包,若等式不成立,则说明终端D不在自己的子树,这时候需要向上级终端转发该数据包,即创建socket,向转发该数据包。(2)若/>则终端C直接转发给自己的上级终端,即创建socket,向/>转发该数据包。(3)若终端C和终端D的层级不相邻,即/>则终端C与路由表中的所有终端依次建立socket连接,并转发该数据包。
此外,对于中间终端(虚拟网络地址为x'1·x'2·x'3·x'4)来说,则需要判断目标网络地址是否为本端的虚拟网络地址,若是,则使用密钥解密数据包中的传输消息,若解密成功则处理该消息,若解密失败则将该数据包转发给上级终端,若目标网络地址是本端的虚拟网络地址,则需要判断层级信息,具体过程为:(1)若则通过判断终端D是否在自己的子树,若等式成立,则创建socket,并向发送数据包,若等式不成立,则说明终端D不在自己的子树,这时候需要向上级终端转发该数据包。(2)若/>则将该数据包转发给上级终端。(3)若路由表中不包含终端D的虚拟网络地址,则与该终端路由表中的所有下一级地址依次建立socket连接,并转发该数据包。
在一些实施例中,本申请实施例还涉及了环路规避策略,即各终端在进行数据转发时,不向转发源地址再次转发该数据包,从而避免资源浪费。
在一些实施例中,本申请的路由表的内容如下所示:
目标虚拟网络地址 | 下一级虚拟网络地址 | 方向 |
x1·x2·x3·x4 | 192·168·49·x2 | U |
xxx | xxx | D |
其中,U表示上级终端,D表示下级终端。
上述终端通信方法,通过第一终端读取待传输至第二终端的数据包中的数据包标识,以根据数据包标识选择不同的路由方式进行通信。比如,若数据包标识指示第二终端为有网络覆盖终端,将数据包逐级转发至第二终端,并通过第二终端将数据包发送至公网的管理平台,以使管理平台对数据包进行响应处理,从而实现无网络覆盖终端的互联网访问功能。若数据包标识指示第二终端为无网络覆盖终端,将数据包逐级转发至第二终端,以使第二终端对数据包进行响应处理,从而实现近域网中无网络覆盖终端之间的通信。也就是说,本申请既能实现无网络覆盖终端的互联网访问功能,又能实现近域网内无网络覆盖终端的多级网络通信功能,能够减小局限性。
在一些实施例中,步骤206具体包括但不限于包括:若数据包标识指示第一终端的通信方式为第一通信方式,则对数据包进行协议封装处理,得到封装数据包;基于第一终端和第二终端所在的近域网,将封装数据包转发给第一终端的上级终端,通过上级终端将封装数据包进行逐级转发,直到转发至有网络覆盖的第二终端,并通过第二终端将数据包发送至公网的管理平台,以使管理平台从封装数据包中获取传输消息,并对传输消息进行处理后响应给第一终端。
其中,第一终端的上级终端,指的是在近域网内位于第一终端的上一层级的终端。第一终端的下级终端,指的是在近域网内位于第一终端的下一层级的终端。第一终端的紧邻层级终端,指的是在近域网内位于第一终端的上一层级或者下一层级的终端。
具体地,若数据包标识指示第一终端的通信方式为第一通信方式,则由第一终端的协议处理模块和代理模块完成对数据包的协议处理和封装,得到封装数据包。基于第一终端和第二终端所在的近域网,将封装数据包转发给第一终端的上级终端,并通过上级终端将封装数据包进行逐级转发,直至转发给有网络覆盖的第二终端,并通过第二终端将接收到的封装数据包转发给管理平台,以使管理平台从封装数据包中获取传输消息,并对传输消息进行处理后响应给第一终端,从而实现无网络覆盖终端的互联网访问功能。
在一些实施例中,由于数据包中的传输消息是由第一终端从管理平台的终端信息表中获取的、第二终端对应的密钥进行加密得到的。因此,管理平台在获取到该数据包之后,则可以根据第二终端对应的密钥对传输消息进行解密,并对解密后的传输消息进行处理。如果管理平台需要返回相应的响应消息给第一终端,考虑到数据传输的安全性,则同样可以根据第二终端对应的密钥将响应消息进行加密后返回给第一终端,从而实现第一终端的互联网访问功能。
在一些实施例中,数据包携带第二终端的目标网络地址。步骤208具体包括但不限于包括:若数据包标识指示第一终端的通信方式为第二通信方式,则基于近域网将数据包进行逐级转发,直至接收到数据包的第二终端确定目标网络地址是本端的网络地址,以通过第二终端从数据包中获取传输消息,并对传输消息进行响应处理。
其中,第二终端的目标网络地址,指的是第二终端的虚拟网络地址,即虚拟IP地址。
具体地,若第一终端的包过滤模块确定第一终端的通信方式为第二通信方式,则将数据包发送到路由模块,由路由模块基于近域网将数据包进行逐级转发,直至接收到数据包的第二终端确定目标网络地址就是本端的虚拟IP地址,这就说明第一终端想要与本端通信。第二终端则从数据包中获取传输消息,并对传输消息进行响应处理。
在一些实施例中,由于第二终端本端是存储有其对应的密钥的,因此,第二终端在确定第一终端的目的终端是本端时,则可以直接根据其存储的密钥对数据包中的传输消息进行解密,并对解密后的传输消息进行响应处理。
在一些实施例中,步骤“若数据包标识指示第一终端的通信方式为第二通信方式,则基于近域网将数据包进行逐级转发,直至接收到数据包的第二终端确定目标网络地址是本端的网络地址,以通过第二终端从数据包中获取传输消息,并对传输消息进行响应处理”具体包括但不限于包括:在确定第二终端是第一终端的紧邻层级终端的情况下,基于近域网直接将数据包转发给第二终端;
在确定第二终端不是第一终端的紧邻层级终端的情况下,基于近域网向第一终端的上级终端以及第一终端对应路由表中记录的所有终端转发数据包,以通过接收到数据包的终端判断目标网络地址是否是本端的网络地址,并在确定目标网络地址不是本端的网络地址情况下继续进行数据包的转发,直至将数据包转发给第二终端,以通过第二终端从数据包中获取传输消息,并对传输消息进行响应处理。
具体地,在确定第二终端是第一终端的下级终端的情况下,若第二终端在第一终端的子树,则查找其对应的路由表并向第二终端发送数据包,若第二终端不在第一终端的子树,则第一终端向上级终端转发该数据包。在确定第二终端是第一终端的上级终端的情况下,则向第一终端的上级终端,即第二终端转发该数据包。在确定第二终端不是第一终端的紧邻层级终端的情况下,基于近域网向第一终端的上级终端以及第一终端对应路由表中记录的所有终端转发数据包。接收到数据包的终端各自判断数据包中的目标网络地址是否是本端的网络地址,若目标网络地址是本端的网络地址,则说明该终端是第二终端,此时第二终端则可以从数据包中获取传输消息并对该传输消息进行响应处理。若目标网络地址不是本端的网络地址,则该终端继续进行数据包的转发,直至将数据包转发给第二终端,以通过第二终端从数据包中获取传输消息,并对传输消息进行响应处理。
在一些实施例中,管理平台存储有近域网内各终端分别对应的对端密钥;各终端分别对应的对端密钥,是根据各终端分别对应的标识码生成的。在步骤202之前,本申请的终端通信方法具体还包括:向管理平台发送对端密钥请求消息;根据管理平台返回的对端密钥,对待传输至第二终端的初始传输消息进行加密得到传输消息;根据传输消息、第二终端对应的目标网络地址和目标识别码,生成待传输至第二终端的数据包。
其中,对端密钥请求消息用于请求获取第二终端对应的对端密钥。
具体地,第一终端从本机保存的近域网终端信息表中,获取第二终端的目标网络地址和目标识别码。第一终端根据目标网络地址和目标识别码生成对端密钥请求消息,并向管理平台发送对端密钥请求消息。管理平台则根据对端密钥请求消息中的目标网络地址和目标识别码,从其存储的终端信息列表中获取第二终端对应的对端密钥,并将获取的对端密钥返回给第一终端。第一终端则根据管理平台返回的对端密钥,对待传输至第二终端的初始传输消息进行加密,得到传输消息。第一终端根据传输消息、目标网络地址和目标识别码,生成待传输至第二终端的数据包。
可见,在本实施例中,对近域网内数据包使用接收方密钥进行对称加密,既可规避近域网内网络地址重复造成的信息泄露问题,也可在一定程度上为数据包在多个终端间传输增加安全性,实现安全通信。
在一些实施例中,包处理模块则接收其他终端发送的数据包,并对接收到的数据包进行解析,以判断数据包中携带的目标虚拟网络地址是否为本端的虚拟网络地址。若是,则使用密钥对数据包中的传输数据进行解密,否则将该数据包发送给路由模块。若对传输数据解密成功,则说明该数据包就是发送给本端的,则处理该数据,否则,将该数据包发送给路由模块。
在一些实施例中,当网络拓扑发生变化时,比如有新终端接入近域网,或者有终端离开近域网时,D2D模块需要告知路由模块新增或者删除终端。在新增终端的情况下,需要告知路由模块需要新增终端的虚拟网络地址和对等网络地址,其中,虚拟网络地址为D2D模块通过本端的对等网络地址和上级终端的对等网络地址计算得到。在删除终端的情况下,需要告知路由模块待删除终端的对等网络地址。
在一些实施例中,在步骤202之前,本申请的终端通信方法具体还包括:向近域网发起服务发现请求;若接收到服务发现响应,则尝试接入第一终端的上级终端;记录第一终端成功接入第一终端的上级终端的接入时间戳;确定第一终端的虚拟网络地址,以将接入时间戳和第一终端的虚拟网络地址上报给管理平台。
其中,接入时间戳用于结合扰动因子生成第一终端的标识码,扰动因子是一个随机数。
具体地,在实现第一终端的通信之前,第一终端首先需要加入到近域网中。即,第一终端需要向近域网发起服务发现请求,以提示第一终端想要尝试加入近域网。若第一终端接收到服务发现响应,则说明允许第一终端加入近域网,第一终端则可以尝试接入其上级终端。在第一终端与上级终端连接成功的情况下,记录第一终端成功接入上级终端的时间戳,得到接入时间戳。第一终端确定第一终端的虚拟网络地址,以将接入时间戳、第一终端的网络地址上报给管理平台。
在一些实施例中,接入时间戳可以是13位,第一终端的识别码=13位时间戳+扰动因子Δ,其中Δ为随机数。确定第一终端的识别码之后,则可以基于识别码生成第一终端的密钥。
可见,在本实施例中,使用虚拟网络地址+使用基于时间戳的识别码的方式,可以在一定程度上规避IP地址重复分配的问题,在此基础上设计相应的路由策略,能够减少不必要的路由开销,在一定程度上提升网络效能。
在一些实施例中,第一终端在确定本端的虚拟网络地址之后,还需要将上级终端的虚拟网络地址设置为代理地址、设置自身虚拟网络地址,并启动VPN服务。第一终端还可以将本端存储的昵称、头像等基本信息上报给管理平台。
在一些实施例中,步骤“确定第一终端的虚拟网络地址”具体包括但不限于包括:确定用于构建第一终端的虚拟网络地址的第一字节、第二字节、第三字节和第四字节;根据第一字节、第二字节、第三字节和第四字节,构建第一终端的虚拟网络地址。
其中,第一字节为第一终端的层级信息;第二字节为第一终端对应的第一主机号;第一主机号,是第一终端成功接入上级终端后被分配的对等网络(peer-to-peer,P2P)地址的主机号;第三字节通过对第一主机号和第二主机号进行第一运算确定;第二主机号,是第一终端的上级终端对应的对等网络地址的主机号;第四字节通过对第一主机号和第二主机号进行第二运算确定。
具体地,第一终端的VpnService模块确定第一终端的虚拟网络地址的第一字节、第二字节、第三字节和第四字节,以构建第一终端的虚拟网络地址。
需要说明的是,第三字节,是第一主机号和第二主机号的主机号总和除以目标值的商,第四字节,是第一主机号和第二主机号的主机号总和除以目标值的余数。其中,目标值可以是254。
在一些实施例中,假设第一终端获取到上级终端的虚拟网络地址是x1.x2.x3.x4,第一终端被分配的对等网络地址是192.168.49.x。若第一终端的虚拟网络地址为x1′.x2′.x3′.x4′,则x1′=x1+1、x2′=x、x3′=(x2′+x4)/254、x4′=(x2′+x4)%254,其中,x1′.x2′.x3′.x4′中的各项分别是第一终端的虚拟网络地址的第一字节、第二字节、第三字节和第四字节,x为第一终端对应的第一主机号,x4为第一终端的上级终端对应的第二主机号。
在一些实施例中,VpnService模块的虚拟网络地址具体分配如下,第1层级终端的虚拟网络地址为:其中/> 可取任意值,/>第i层级(i>1)终端虚拟网络地址为:/>其中,/> 为对等网络地址的主机号,
也就是说,虚拟网络地址的第一字节为层级信息,第二字节为接入上级终端后被分配的对等网络地址主机号,第三字节为本端被分配的对等网络地址主机号与上级终端的对等网络地址主机号的和除以254的商,第四字节为本端被分配的对等网络地址主机号与上级终端的对等网络地址主机号的和除以254的余数。
在一些实施例中,如图4所示,为本申请实施例提供的一种连接者流程。当终端想要加入近域网时,具体执行如下过程:终端发起服务发现请求,判断终端是否接收到服务发现响应,若终端接收到服务发现响应,则尝试接入上级终端,并在与上级终端连接成功的情况下,记录连接成功的接入时间戳,计算虚拟网络地址,将服务发现响应中携带的虚拟网络地址设置为代理地址,启动VPN服务,并将本端的信息上报给管理平台。若终端没有接收到服务发现响应,则继续发起服务发现请求。若终端接收到服务发现响应,但是没有与上级终端连接成功,则继续尝试接入上级终端,并在成功接入上级终端时,执行记录连接成功的接入时间戳以及后续步骤。其中,计算虚拟网络地址的过程如上文所述,在此不再赘述。将本端信息上报给管理平台的过程为:将消息使用非对称方式进行加密,并将加密后的消息封装成数据包,数据包中的目标虚拟网络地址为管理平台的虚拟网络地址,与上级终端建立TCP长连接,并将消息转发给上级终端。
在一些实施例中,如图5所示,为本申请提供的一种分享者流程。具体如下:接收其他终端发送的服务发现请求,响应服务发现请求,在服务发现信息中填写虚拟网络地址,若有终端接入,则更新路由表信息。
在一些实施例中,如图6所示,本申请管理平台处理流程具体为:接收近域网络终端上报的消息。使用私钥解密(与平台交互信息均采用非对称加密方式传输),若上报的消息为终端上报信息消息,则更新终端列表,同时向近域网络内终端下发非密终端信息列表,其中,下发信息为加密后的消息。若上报的消息为终端请求涉密信息消息,则获取涉密信息,并响应请求终端,其中,响应信息为加密后消息。
在一些实施例中,如图7所示,假设近域网内源终端向另一终端B发送消息,则对应的通信过程为:确定消息发送对象B,从保存的近域网终端信息中获取B的虚拟网络地址和识别码,通过B的虚拟网络地址和识别码向管理平台请求B的密钥。接收到管理平台响应的密钥,解密该密钥,将待发送消息使用密钥进行加密,封装成数据包。若目的终端为该终端的下级终端且在其子树,查找路由表,向该终端发送该数据包;若目的终端为该终端的下级终端且不在其子树,向上级终端转发该数据包。若目的终端为该终端的上级终端,向上级终端转发该消息。若目的终端非该终端的紧邻层级终端,向上级终端转发该数据包,同时向路由表中的所有终端转发该数据包。
在一些实施例中,如图8所示,近域网内中间终端的通信过程为:接收数据包,若目的终端为本端,使用密钥解密数据包,若解密成功,则处理消息,若解密失败,向上级终端转发该数据包。若目的终端为该终端的上级终端,向上级终端转发该消息。若目的终端为该终端的下级终端,判断是否在子树,若是,查找路由表,向目的终端转发该数据包;否则,向上级终端转发该数据包。若目的终端不是该终端的紧邻层级终端,向上级终端转发该数据包,同时向路由表中所有终端转发该数据包。
在一些实施例中,如图9所示,未接入近域网内的终端,如无网络覆盖终端的连接过程为:有网络覆盖终端设置虚拟IP地址,启动VPN服务,并建组。无网络覆盖终端完成WiFiDirect设备发现,发起服务发现请求,收到响应后,完成连接。有网络覆盖终端计算接入终端的虚拟IP地址,作为目的IP地址;下一跳IP地址是为接入终端分配的P2P IP地址;更新本地路由表。无网络覆盖终端收到安卓系统回调:连接成功;记录时间戳,计算识别码:时间戳+扰动因子Δ,基于识别码生成密钥。无网络覆盖终端计算上级终端的虚拟IP地址,更新路由表,计算本端的虚拟IP地址,生成终端信息。无网络覆盖终端设置本端的虚拟IP地址,设置代理地址,启动VPN服务,VPN接管数据,与上级终端建立TCP长连接。无网络覆盖终端生成终端信息数据包,完成非对称加密。无网络覆盖终端的包过滤模块进行数据包判别:该数据包为公网数据包;完成协议处理与封装,将该终端信息转发上级终端,逐级转发,直至有网络覆盖终端转发管理平台。管理平台接收近域网络内终端上报的终端信息,更新近域网终端信息表。管理平台将非涉密的终端信息如虚拟IP地址,识别码等下发给近域网络内终端,并逐级转发给近域网络内终端,接收到下发信息的终端,则进行解密,并在本地保存近域网内终端信息。
在一些实施例中,如图10所示,无网络覆盖终端A向另一无网络覆盖终端B发送消息过程为:无网络覆盖终端A从本机保存的近域网终端信息表中获取目的终端B的虚拟IP地址和识别码,并根据目的终端B的虚拟IP地址和识别码生成请求目的终端B的密钥的请求信息,并转发给有网络覆盖终端,有网络覆盖终端则将其转发给管理平台。管理平台根据请求信息携带的虚拟IP地址和识别码获取终端B的密钥,并通过有网络覆盖终端将密钥响应给请求终端,即无网络覆盖终端A。无网络覆盖终端A使用对端密钥加密待发送消息,生成数据包,包过滤模块判断该数据包为近域网内数据包,发送到路由模块。路由模块查询路由表,确定下一跳路由。如果路由表中无该目的IP地址,则在完成隧道封装后,向上级终端转发该数据包,同时向所有下级终端转发该数据包。上级终端接收到数据包后,解析数据包,如果目的IP地址不是本机,则查询路由表,若发现无该目的信息,且无上级终端,则向其他下级终端转发该数据包。下级终端接收到数据包之后,解析数据包,查询路由表,若路由表中有该目的IP地址,向该终端转发该数据包,接收到该数据包的终端则解析数据包,若目的IP地址为本机虚拟IP地址,则使用密钥解密数据包,若解密成功,则处理该消息。
在一些实施例中,管理平台终端信息表字段如下表所示:
名 | 类型 | 长度 |
id | INT | |
nickname | VARchar | 20 |
image | IMAGE | |
ip | UNSIGNED INT | |
Identification number | UNSIGNED INT | 13 |
secret key | UNSIGNED INT | 128 |
其中,id为终端标识,nickname为昵称、image为头像、ip为终端对应的虚拟IP地址,Identification number为标识码,secret key为密钥。
在一些实施例中,终端上报的数据结构可以为:
在一些实施例中,管理平台下发终端信息数据结构可以为:
/>
在一些实施例中,管理平台响应涉密信息数据结构可以为:
在一些实施例中,本申请的终端通信方法具体还包括但不限于包括以下步骤:
(1)第一终端向管理平台发送对端密钥请求消息。
(2)第一终端根据管理平台返回的对端密钥,对待传输至第二终端的初始传输消息进行加密得到传输消息。
(3)第一终端根据传输消息、第二终端对应的目标网络地址和目标识别码,生成待传输至第二终端的数据包。
(4)第一终端读取待传输至第二终端的数据包中的数据包标识。若数据包标识指示第一终端的通信方式为第一通信方式,则执行步骤(5)和(6),若数据包标识指示第一终端的通信方式为第二通信方式,则执行步骤(7)。
(5)第一终端对数据包进行协议封装处理,得到封装数据包。
(6)第一终端基于第一终端和第二终端所在的近域网,将封装数据包转发给第一终端的上级终端,通过上级终端将封装数据包进行逐级转发,直到转发至有网络覆盖的第二终端,并通过第二终端将数据包发送至公网的管理平台,以使管理平台从封装数据包中获取传输消息,并对传输消息进行处理后响应给第一终端。
(7)确定第二终端是否是第一终端的紧邻层级终端,在确定第二终端是第一终端的紧邻层级终端的情况下,执行步骤(8),在确定第二终端不是第一终端的紧邻层级终端的情况下,执行步骤(9)。
(8)第一终端基于近域网直接将数据包转发给第二终端。
(9)第一终端基于近域网向第一终端的上级终端以及第一终端对应路由表中记录的所有终端转发数据包,以通过接收到数据包的终端判断目标网络地址是否是本端的网络地址,并在确定目标网络地址不是本端的网络地址情况下继续进行数据包的转发,直至将数据包转发给第二终端,以通过第二终端从数据包中获取传输消息,并对传输消息进行响应处理。
应该理解的是,虽然如上述的各实施例所涉及的流程图中的各步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种终端通信系统。该系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个终端通信系统实施例中的具体限定可以参见上文中对于终端通信方法的限定,在此不再赘述。
如图11所示,本申请实施例提供了一种终端通信系统,包括:第一终端1102、第二终端1104和管理平台1106,第一终端1102为无网络覆盖终端,其中:
第一终端1102,用于读取待传输至第二终端1104的数据包中的数据包标识;
若数据包标识指示第二终端1104为有网络覆盖终端,将数据包逐级转发至第二终端1104,并通过第二终端1104将数据包发送至公网的管理平台1106,以使管理平台1106对数据包进行响应处理;
若数据包标识指示第二终端1104为无网络覆盖终端,第一终端1102用于将数据包逐级转发至第二终端1104,以使第二终端1104对数据包进行响应处理。
上述终端通信系统,通过第一终端1102读取待传输至第二终端1104的数据包中的数据包标识,以根据数据包标识选择不同的路由方式进行通信。比如,若数据包标识指示第二终端1104为有网络覆盖终端,将数据包逐级转发至第二终端1104,并通过第二终端1104将数据包发送至公网的管理平台1106,以使管理平台1106对数据包进行响应处理,从而实现无网络覆盖终端的互联网访问功能。若数据包标识指示第二终端1104为无网络覆盖终端,将数据包逐级转发至第二终端1104,以使第二终端1104对数据包进行响应处理,从而实现近域网中无网络覆盖终端之间的通信。也就是说,本申请既能实现无网络覆盖终端的互联网访问功能,又能实现近域网内无网络覆盖终端的多级网络通信功能,能够减小局限性。
在一些实施例中,第一终端1102还用于若数据包标识指示第一终端1102的通信方式为第一通信方式,则对数据包进行协议封装处理,得到封装数据包;基于第一终端1102和第二终端1104所在的近域网,将封装数据包转发给第一终端1102的上级终端,通过上级终端将封装数据包进行逐级转发,直到转发至有网络覆盖的第二终端1104,并通过第二终端1104将数据包发送至公网的管理平台1106,以使管理平台1106从封装数据包中获取传输消息,并对传输消息进行处理后响应给第一终端1102。
在一些实施例中,数据包携带第二终端1104的目标网络地址。第一终端1102还用于若数据包标识指示第一终端1102的通信方式为第二通信方式,则基于近域网将数据包进行逐级转发,直至接收到数据包的第二终端1104确定目标网络地址是本端的网络地址,以通过第二终端1104从数据包中获取传输消息,并对传输消息进行响应处理。
在一些实施例中,第一终端1102还用于在确定第二终端1104是第一终端1102的紧邻层级终端的情况下,基于近域网直接将数据包转发给第二终端1104;在确定第二终端1104不是第一终端1102的紧邻层级终端的情况下,基于近域网向第一终端1102的上级终端以及第一终端1102对应路由表中记录的所有终端转发数据包,以通过接收到数据包的终端判断目标网络地址是否是本端的网络地址,并在确定目标网络地址不是本端的网络地址情况下继续进行数据包的转发,直至将数据包转发给第二终端1104,以通过第二终端1104从数据包中获取传输消息,并对传输消息进行响应处理。
在一些实施例中,管理平台1106存储有近域网内各终端分别对应的对端密钥;各终端分别对应的对端密钥,是根据各终端分别对应的标识码生成的。第一终端1102还用于向管理平台1106发送对端密钥请求消息;对端密钥请求消息用于请求获取第二终端1104对应的对端密钥;根据管理平台1106返回的对端密钥,对待传输至第二终端1104的初始传输消息进行加密得到传输消息;根据传输消息、第二终端1104对应的目标网络地址和目标识别码,生成待传输至第二终端1104的数据包。
在一些实施例中,第一终端1102还用于向近域网发起服务发现请求;若接收到服务发现响应,则尝试接入第一终端1102的上级终端;记录第一终端1102成功接入第一终端1102的上级终端的接入时间戳;接入时间戳用于结合扰动因子生成第一终端1102的标识码;确定第一终端1102的虚拟网络地址,以将接入时间戳和第一终端1102的虚拟网络地址上报给管理平台1106。
在一些实施例中,第一终端1102还用于确定用于构建第一终端1102的虚拟网络地址的第一字节、第二字节、第三字节和第四字节;第一字节为第一终端1102的层级信息;第二字节为第一终端1102对应的第一主机号;第一主机号,是第一终端1102成功接入上级终端后被分配的对等网络地址的主机号;第三字节通过对第一主机号和第二主机号进行第一运算确定;第二主机号,是第一终端1102的上级终端对应的对等网络地址的主机号;第四字节通过对第一主机号和第二主机号进行第二运算确定;根据第一字节、第二字节、第三字节和第四字节,构建第一终端1102的虚拟网络地址。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)及通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储与终端通信相关的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述的终端通信方法中的步骤。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元及输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现上述的终端通信方法中的步骤。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏;该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12或图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种终端通信方法,其特征在于,应用于第一终端;所述第一终端为无网络覆盖终端;所述方法包括:
读取待传输至第二终端的数据包中的数据包标识;
若所述数据包标识指示所述第一终端的通信方式为第一通信方式,则基于所述第一终端和所述第二终端所在的近域网将所述数据包逐级转发至所述第二终端,并通过所述第二终端将所述数据包发送至公网的管理平台,以使所述管理平台对所述数据包进行响应处理;
若所述数据包标识指示所述第一终端的通信方式为第二通信方式,则基于所述近域网将所述数据包逐级转发至所述第二终端,以使所述第二终端对所述数据包进行响应处理。
2.根据权利要求1所述的方法,其特征在于,所述若所述数据包标识指示所述第一终端的通信方式为第一通信方式,则基于所述第一终端和所述第二终端所在的近域网将所述数据包逐级转发至所述第二终端,并通过所述第二终端将所述数据包发送至公网的管理平台,以使所述管理平台对所述数据包进行响应处理,包括:
若所述数据包标识指示所述第一终端的通信方式为第一通信方式,则对所述数据包进行协议封装处理,得到封装数据包;
基于所述第一终端和所述第二终端所在的近域网,将所述封装数据包转发给所述第一终端的上级终端,通过所述上级终端将所述封装数据包进行逐级转发,直到转发至有网络覆盖的第二终端,并通过所述第二终端将所述数据包发送至公网的管理平台,以使所述管理平台从所述封装数据包中获取传输消息,并对所述传输消息进行处理后响应给所述第一终端。
3.根据权利要求1所述的方法,其特征在于,所述数据包携带所述第二终端的目标网络地址;所述若所述数据包标识指示所述第一终端的通信方式为第二通信方式,则基于所述近域网将所述数据包逐级转发至所述第二终端,以使所述第二终端对所述数据包进行响应处理,包括:
若所述数据包标识指示所述第一终端的通信方式为第二通信方式,则基于所述近域网将所述数据包进行逐级转发,直至接收到所述数据包的第二终端确定所述目标网络地址是本端的网络地址,以通过所述第二终端从所述数据包中获取传输消息,并对所述传输消息进行响应处理。
4.根据权利要求3所述的方法,其特征在于,所述若所述数据包标识指示所述第一终端的通信方式为第二通信方式,则基于所述近域网将所述数据包进行逐级转发,直至接收到所述数据包的第二终端确定所述目标网络地址是本端的网络地址,以通过所述第二终端从所述数据包中获取传输消息,并对所述传输消息进行响应处理,包括:
在确定所述第二终端是所述第一终端的紧邻层级终端的情况下,基于所述近域网直接将所述数据包转发给所述第二终端;
在确定所述第二终端不是所述第一终端的紧邻层级终端的情况下,基于所述近域网向所述第一终端的上级终端以及所述第一终端对应路由表中记录的所有终端转发所述数据包,以通过接收到所述数据包的终端判断所述目标网络地址是否是本端的网络地址,并在确定所述目标网络地址不是本端的网络地址情况下继续进行数据包的转发,直至将所述数据包转发给所述第二终端,以通过所述第二终端从所述数据包中获取传输消息,并对所述传输消息进行响应处理。
5.根据权利要求1所述的方法,其特征在于,所述管理平台存储有近域网内各终端分别对应的对端密钥;各终端分别对应的对端密钥,是根据各终端分别对应的标识码生成的;在所述读取待传输至第二终端的数据包中的数据包标识之前,所述方法还包括:
向所述管理平台发送对端密钥请求消息;所述对端密钥请求消息用于请求获取所述第二终端对应的对端密钥;
根据所述管理平台返回的对端密钥,对待传输至所述第二终端的初始传输消息进行加密得到传输消息;
根据所述传输消息、所述第二终端对应的目标网络地址和目标识别码,生成待传输至所述第二终端的数据包。
6.根据权利要求1至5任一项所述的方法,其特征在于,在所述读取待传输至第二终端的数据包中的数据包标识之前,所述方法还包括:
向所述近域网发起服务发现请求;
若接收到服务发现响应,则尝试接入所述第一终端的上级终端;
记录所述第一终端成功接入所述第一终端的上级终端的接入时间戳;所述接入时间戳用于结合扰动因子生成所述第一终端的标识码;
确定所述第一终端的虚拟网络地址,以将所述接入时间戳和所述第一终端的虚拟网络地址上报给所述管理平台。
7.根据权利要求6所述的方法,其特征在于,所述确定所述第一终端的虚拟网络地址,包括:
确定用于构建所述第一终端的虚拟网络地址的第一字节、第二字节、第三字节和第四字节;所述第一字节为所述第一终端的层级信息;所述第二字节为所述第一终端对应的第一主机号;所述第一主机号,是所述第一终端成功接入上级终端后被分配的对等网络地址的主机号;所述第三字节通过对所述第一主机号和第二主机号进行第一运算确定;所述第二主机号,是所述第一终端的上级终端对应的对等网络地址的主机号;所述第四字节通过对所述第一主机号和所述第二主机号进行第二运算确定;
根据所述第一字节、所述第二字节、所述第三字节和所述第四字节,构建所述第一终端的虚拟网络地址。
8.一种终端通信系统,其特征在于,所述系统包括第一终端、第二终端和管理平台;所述第一终端为无网络覆盖终端;
所述第一终端,用于读取待传输至第二终端的数据包中的数据包标识;
若所述数据包标识指示所述第二终端为有网络覆盖终端,所述第一终端用于将所述数据包逐级转发至所述第二终端,并通过所述第二终端将所述数据包发送至公网的管理平台,以使所述管理平台对所述数据包进行响应处理;
若所述数据包标识指示所述第二终端为无网络覆盖终端,所述第一终端用于将所述数据包逐级转发至所述第二终端,以使所述第二终端对所述数据包进行响应处理。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310868323.1A CN116939708A (zh) | 2023-07-14 | 2023-07-14 | 终端通信方法、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310868323.1A CN116939708A (zh) | 2023-07-14 | 2023-07-14 | 终端通信方法、系统、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116939708A true CN116939708A (zh) | 2023-10-24 |
Family
ID=88379954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310868323.1A Pending CN116939708A (zh) | 2023-07-14 | 2023-07-14 | 终端通信方法、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116939708A (zh) |
-
2023
- 2023-07-14 CN CN202310868323.1A patent/CN116939708A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10735428B2 (en) | Data access and ownership management | |
US11050724B2 (en) | IaaS-aided access control for information centric networking with Internet-of-Things | |
CN108541367B (zh) | 用于使用会合服务和多个密钥分发服务器进行安全网络桥接的系统、装置和方法 | |
EP3447996A1 (en) | Resource subscription method, resource subscription device, and resource subscription system | |
CN106302110B (zh) | 一种基于隐私保护的社交网络位置共享方法 | |
CN116633701B (zh) | 信息传输方法、装置、计算机设备和存储介质 | |
WO2024001022A1 (zh) | 跨子网调用 | |
CN110909030A (zh) | 一种信息处理方法及服务器集群 | |
US20230300716A1 (en) | Communication method and communication apparatus | |
WO2023231782A1 (zh) | 数据完整性验证系统 | |
CN116939708A (zh) | 终端通信方法、系统、计算机设备和存储介质 | |
CN115396537B (zh) | 物联网访问控制方法、装置、设备与介质 | |
CN116709457A (zh) | 网络会话处理方法、装置、计算机设备和存储介质 | |
US9407641B2 (en) | Service access control | |
CN114258018B (zh) | 密钥管理方法、装置、计算机设备及存储介质 | |
WO2023227067A1 (zh) | 量子网络通信方法、装置、电子设备及存储介质 | |
Yang et al. | Anonymity Management Based on Segmentation and Restoration Scheme for Content Identifier in Future Internet Environment | |
Fukushima et al. | Hide-and-disclose: On-site information sharing for privacy-aware mobile IoT communications | |
CN118042646A (zh) | 数据通信方法、装置、通信设备和存储介质 | |
JPWO2022078214A5 (zh) | ||
CN116600013A (zh) | 服务实现方法、装置、计算机设备与存储介质 | |
US20140019436A1 (en) | Information processing apparatus, information processing system, information processing method and information processing program | |
CN117135635A (zh) | 用户身份验证系统、方法、装置、网络设备及存储介质 | |
CN118338459A (zh) | 用户面通道的建立方法、装置、通信设备和存储介质 | |
CN116916297A (zh) | 数据包处理方法及相关产品 |
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 |