CN111787593A - 一种数据传输方法及节点 - Google Patents
一种数据传输方法及节点 Download PDFInfo
- Publication number
- CN111787593A CN111787593A CN201910266820.8A CN201910266820A CN111787593A CN 111787593 A CN111787593 A CN 111787593A CN 201910266820 A CN201910266820 A CN 201910266820A CN 111787593 A CN111787593 A CN 111787593A
- Authority
- CN
- China
- Prior art keywords
- node
- data packet
- address information
- ttl
- address
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/22—Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种数据传输方法及节点,所述数据传输方法接收广播的数据包,并获取所述数据包中携带的地址信息,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;判断所述第一节点是否为所述地址信息中的目的节点;若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的生存时间TTL后,广播所述数据包。这样,所述数据传输方法控制发送或者转发节点通过局域广播的方式将数据发送给传输路径中的下一跳中继节点,在网络拓扑发生变化且节点的路由表未及时更新的情况下,提高传输路径中下一跳中继节点接收数据的成功率,增加网络对节点移动性及链路状态变化的支持,增强网络数据传输的鲁棒性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法及节点。
背景技术
在无线网络中,数据的传输方式包括单播和广播,单播和广播都是通过共享的无线信道发送,通信范围内的节点都能够收到发送的数据。单播和广播的不同点在于,节点不处理目的节点的地址不是自身的单播数据,而需要处理和转发收到的广播数据。网络中单播数据的发送需要预先知道数据的传输路径,通过传输路径上的节点(中继节点)将数据传输给目的节点,通常通过路由协议确定传输路径。
网络中数据传输的优劣取决于路由算法,当网络拓扑发生变化,而路由协议未完成由于网络拓扑变化造成的路由表更新时,数据传输过程中按照未更新的路由表确定传输路径,容易造成数据丢失,影响网络的数据传输性能。
发明内容
有鉴于此,本发明提供一种数据传输方法及节点,以解决目前数据传输过程中按照未更新的路由表确定传输路径,容易造成数据丢失,影响网络的数据传输性能的问题。
为解决上述技术问题,本发明提供一种数据传输方法,应用于第一节点,所述方法包括:
接收广播的数据包,并获取所述数据包中携带的地址信息,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;
判断所述第一节点是否为所述地址信息中的目的节点;
若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的生存时间TTL后,广播所述数据包。
可选地,所述若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的TTL后,广播所述数据包,包括:
若所述第一节点为所述地址信息中的下一跳中继节点,将所述数据包的TTL更新为目标TTL后广播所述数据包,其中,所述目标TTL为不小于2的整数。
可选地,所述广播所述数据包之前,所述方法还包括:
根据所述第一节点的路由表确定所述第一节点到目标节点的下一跳中继节点;
将所述地址信息中的下一跳中继节点的地址更新为所述第一节点到目的节点的下一跳中继节点的地址。
可选地,所述方法还包括:
根据所述第一节点的邻居节点的移动速度,确定所述目标TTL。
可选地,所述若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的TTL后,广播所述数据包,包括:
若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,将所述数据包的TTL减1后广播所述数据包。
可选地,所述若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,将所述数据包的TTL减1后广播所述数据包,包括:
若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,判断所述数据包的TTL是否大于1;
若所述数据包的TTL大于1,将所述数据包的TTL减1后广播所述数据包。
可选地,所述根据所述地址信息判断所述第一节点是否为所述地址信息中的目的节点之后,所述方法还包括:
若所述第一节点为所述地址信息中的目的节点,解析所述数据包并对所述数据包进行处理。
可选地,所述接收广播的数据包,并获取所述数据包中携带的地址信息,包括:
接收广播的数据包,判断所述第一节点是否首次接收到所述数据包;
若所述第一节点首次接收到所述数据包,获取所述数据包中携带的地址信息。
可选地,所述判断所述第一节点是否首次接收到所述数据包,包括:
获取所述数据包的标识信息,根据所述数据包的标识信息判断所述第一节点是否首次接收到所述数据包。
第二方面,还提供了一种数据传输方法,应用于第二节点,所述方法包括:
将待发送数据封装成携带有地址信息的数据包,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;
为所述数据包设置生存时间TTL,其中,所述TTL为不小于2的整数;
广播携带有所述TTL的数据包。
可选地,所述为所述数据包设置TTL,包括:
根据所述第二节点的邻居节点的移动速度,为所述数据包设置TTL。
可选地,所述将待发送数据封装成携带有地址信息的数据包之前,所述方法还包括:
确定所述待发送数据的目的节点的地址;
根据所述第二节点的路由表确定所述第二节点到所述目的节点的下一跳中继节点的地址。
可选地,所述方法还包括:
为所述数据包生成标识信息,并将所述标识信息携带在所述数据包中。
第三方面,还提供了一种节点,所述节点为第一节点,包括处理器、收发机、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时,具体用于:
通过所述收发机接收广播的数据包,并获取所述数据包中携带的地址信息,其中,所述地址信息至少包括目的节点地址和下一跳中继节点的地址;
判断所述第一节点是否为所述地址信息中的目的节点;
若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的生存时间TL后,通过所述收发机广播所述数据包。
可选地,所述处理器,具体用于:
若所述第一节点为所述地址信息中的下一跳中继节点,将所述数据包的TTL更新为目标TTL后,通过所述收发机广播所述数据包,其中,所述目标TTL为不小于2的整数。
可选地,所述通过所述收发机广播所述数据包之前,所述处理器,还用于:
根据所述第一节点的路由表确定所述第一节点到目的节点的下一跳中继节点;
将所述地址信息中的下一跳中继节点的地址更新为所述第一节点到目的节点的下一跳中继节点的地址。
可选地,所述处理器,还用于:
根据所述第一节点的邻居节点的移动速度,确定所述目标TTL。
可选地,所述处理器,具体用于:
若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,将所述数据包的TTL减1后,通过所述收发机广播所述数据包。
可选地,所述处理器,具体用于:
若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,判断所述数据包的TTL是否大于1;
若所述数据包的TTL大于1,将所述数据包的TTL减1后,通过所述收发机广播所述数据包。
可选地,所述处理器,还用于:
若所述第一节点为所述地址信息中的目的节点,解析所述数据包并对所述数据包进行处理。
可选地,所述处理器,具体用于:
通过所述收发机接收广播的数据包,判断所述第一节点是否首次接收到所述数据包;
若所述第一节点首次接收到所述数据包,获取所述数据包中携带的地址信息。
可选地,所述处理器,具体用于:
获取所述数据包的标识信息,根据所述数据包的标识信息判断所述第一节点是否首次接收到所述数据包。
第四方面,还提供了一种节点,所述节点为第二节点,包括处理器、收发机、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时,具体用于:
将待发送的数据封装成携带有地址信息的数据包,其中,所述地址信息至少包括目的节点和下一跳中继节点的地址;
为所述数据包设置生存时间TTL,其中,所述TTL为不小于2的整数;
通过所述收发机广播携带有所述TTL的数据包。
可选地,所述处理器,具体用于:
根据所述第二节点的邻居节点的移动速度,为所述数据包设置TTL。
可选地,所述处理器,还用于:
确定所述待发送数据的目的节点的地址;
根据所述第二节点的路由表确定所述第二节点到所述目的节点的下一跳中继节点的地址。
可选地,所述处理器,还用于:
为所述数据包生成标识信息,并将所述标识信息携带在所述数据包中。
第五方面,还提供了一种节点,所述节点为第一节点,所述第一节点包括:
接收模块,用于接收广播的数据包,并获取所述数据包中携带的地址信息,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;
判断模块,用于判断所述第一节点是否为所述地址信息中的目的节点;
广播模块,用于若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的生存时间TTL后,广播所述数据包。
第六方面,还提供了一种节点,所述节点为第二节点,所述第二节点包括:
封装模块,用于将待发送的数据封装成携带有地址信息的数据包,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;
设置模块,用于为所述数据包设置生存时间TTL,其中,所述TTL为不小于2的整数;
广播模块,用于广播携带有所述TTL的数据包。
第七方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据传输方法中第一节点执行的步骤;或者,所述计算机程序被处理器执行时实现上述数据传输方法中第二节点执行的步骤。
在本发明实施例中,所述数据传输方法接收广播的数据包,并获取所述数据包中携带的地址信息,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;判断所述第一节点是否为所述地址信息中的目的节点;若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的生存时间TTL后,广播所述数据包。这样,所述数据传输方法控制发送或者转发节点通过局域广播的方式将数据发送给传输路径中的下一跳中继节点,在网络拓扑发生变化且节点的路由表未及时更新的情况下,提高传输路径中下一跳中继节点接收数据的成功率,增加网络对节点移动性及链路状态变化的支持,增强网络数据传输的鲁棒性。
附图说明
图1为本发明实施例的数据传输方法的流程图之一;
图2为本发明实施例的数据传输方法的流程图之二;
图3为本发明实施例提供的一种网络拓扑结构示意图;
图4为图3所示的网络拓扑中节点15移动后的网络拓扑结构示意图;
图5为图3所示的网络拓扑中节点7移动后的网络拓扑结构示意图;
图6为本发明实施例的第一节点的示意图之一;
图7为本发明实施例的第二节点的示意图之一;
图8为本发明实施例的第一节点的示意图之二;
图9为本发明实施例的第二节点的示意图之二;
图10为本发明实施例的第一节点的示意图之三;
图11为本发明实施例的第二节点的示意图之三。
具体实施方式
下面将结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本申请的说明书和权利要求书中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,说明书以及权利要求中使用“和/或”表示所连接对象的至少其中之一,例如A和/或B,表示包含单独A,单独B,以及A和B都存在三种情况。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本文所描述的技术不限于新的无线通信***(New RAT,NR),并且也可用于各种无线通信***,诸如长期演进型(Long Time Evolution,LTE)/LTE的演进(LTE-Advanced,LTE-A)***、码分多址(Code Division Multiple Access,CDMA)、时分多址(TimeDivision Multiple Access,TDMA)、频分多址(Frequency Division Multiple Access,FDMA)、正交频分多址(Orthogonal Frequency Division Multiple Access,OFDMA)、单载波频分多址(Single-carrier Frequency-Division Multiple Access,SC-FDMA)和其他***。术语“***”和“网络”常被可互换地使用。CDMA***可实现诸如CDMA2000、通用地面无线电接入(Universal Terrestrial Radio Access,UTRA)等无线电技术。UTRA包括宽带CDMA(Wideband Code Division Multiple Access,WCDMA)和其他CDMA变体。TDMA***可实现诸如全球移动通信***(Global System for Mobile Communication,GSM)之类的无线电技术。OFDMA***可实现诸如超移动宽带(Ultra Mobile Broadband,UMB)、演进型UTRA(Evolution-UTRA,E-UTRA)、IEEE 802.11(Wi-Fi)、IEEE802.16(WiMAX)、IEEE 802.20、Flash-OFDM等无线电技术。UTRA和E-UTRA是通用移动电信***(Universal MobileTelecommunications System,UMTS)的部分。LTE和更高级的LTE(如LTE-A)是使用E-UTRA的新UMTS版本。UTRA、E-UTRA、UMTS、LTE、LTE-A、NR以及GSM在来自名为“第三代伙伴项目”(3rdGeneration Partnership Project,3GPP)的组织的文献中描述。CDMA2000和UMB在来自名为“第三代伙伴项目2”(3GPP2)的组织的文献中描述。本文所描述的技术既可用于以上提及的***和无线电技术,也可用于其他***和无线电技术。
单播(Unicast)和广播(Broadcast)都是用来描述网络中节点之间通信方式的术语。节点之间的通信就好像是人们之间的对话一样,如果一个人对另外一个人对话,那么可以用网络中的术语“单播”来描述,此时数据的接收和传递仅在两个节点之间进行。单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,例如,收发电子邮件、浏览网页时,与邮件服务器、Web(World Wide Web,全球广域网,又称万维网)服务器建立连接,使用的就是单播的数据传输方式。单播又称为“点对点通信”(Point toPoint),单播一般与广播相对应使用。
广播是节点之间一对所有的通信模式,网络中的节点对其中每一节点发送的数据都进行无条件地转发,所有节点不管是否需要都可以接收到所有数据,广播的通信方式不需要进行传输路径选择,成本较低廉。广播在网络中的应用较多,例如客户机通过DHCP(Dynamic Host Configuration Protocol,动态主机设置协议)自动获得IP(InternetProtocol,互联网协议,又称网际协议)地址的过程就是通过广播的通信方式实现的。与单播相比,广播几乎占用了子网内网络的所有带宽,且容易造成相互之间的碰撞和干扰。
无线路由协议根据侧重点的不同可以有很多种分类方式,按照协议选择的路径数量可以分为单路径路由协议和多路径路由协议。相对于单路径路由而言,多路径路由在容错率、路由可靠性、QoS(Quality of Service,服务质量)路由等方面有较大优势。
单路径路由协议根据路由建立的方式不同,可以分为主动式路由协议、按需路由协议和混合路由协议。主动式路由协议又称为表驱动路由协议,网络中的每个节点都周期性地进行路由分组广播,以维护一张包含到达其他所有节点的路由信息的路由表,并根据网络拓扑的变化随时更新路由表,以实时准确地反映网络的拓扑结构。主动式路由的优势在于目的节点的路由信息存在时,数据分组传输过程就可以立即开始,延时较小;劣势在于需要大量的路由控制报文,协议开销较大。常用的表驱动路由协议包括:DSDV(DestinationSequenced Distance Vector Routing,目的节点序列距离矢量路由)、FSR(Fisheye StateRouting,鱼眼状态路由)、OLSR((Optimized Link State Routing,优化链路状态路由)、TBRPF(Topology Broadcast based on Reverse Path Forwarding,基于反向路径转送的拓扑广播)、LANMAR(Landmark Ad hoc Routing,自组网路标路由)等。
按需路由协议中,节点不需要维护及时准确的路由信息,当有数据分组传输需求时才查找路由信息。按需路由协议主要分为“路由查找”和“路由维护”两个过程。与表驱动路由协议相比,按需路由协议的开销小,更适合AdHoc(点对点)无线网络。但是数据报文传送时延较大,不适合于实时性要求较高的数据传输。常用的按需路由协议包括:AODV(Adhoc On-Demand Distance Vector Routing,无线自组网按需平面距离向量路由)、DSR(Dynamic Source Routing,动态源路由)、TORA(Temporally-Ordered RoutingAlgorithm,临时按序路由算法)、ABR(Area Border Routing,区域边界路由)、MSR(MicroSensor Routing,微型传感路由)等。
混合型路由协议是对主动式路由协议和按需路由协议的综合。这种路由协议在小范围局部区域内采用主动式路由协议,而在区域外节点的路由查找则采用按需路由协议。这样就避免了主动式路由协议中控制开销过大问题和按需路由协议中的长时延问题,常见的层次路由协议包括:ZRP(Zone Routing Protocol,区域路由协议)、CEDAR(Core-Extraction Distributed Adhoe Routing,核心提取的分布式自组网路由)、SRL(SourceRouting Label,源路由标签)等。
多路径路由提供了一种简单的机制来分配通信量、平衡网络负载,以及提供容错能力,因此一直在电路交换网络和分组交换网络中受到的青睐。多路径路由具有以下特点:
(1)可以为不同的服务质量要求提供不同的路径。
(2)可以为同一种类型的服务提供多条路径,经聚集可实现更高的服务质量。
(3)由于主机对路径有自主的使用权,它可以通过探测各路径的状况(比如丢包率)猜测网络的拥塞程度,据此调整对各路径的使用,从而在得到优质服务的同时也提高了网络的利用率。
需要说明的是,本发明实施例提到的节点为任意拥有唯一网络地址的设备,例如可以为工作站、终端设备、服务器、传感器设备等,本发明实施例对节点的具体类型不做限定。本发明实施例提供的数据传输方法运行的前提为节点完成网络同步、邻居发现和路由选择等过程,即网络中的节点具备了根据路由表发送网络数据的能力,但不限定网络同步、邻居发现和路由选择的具体实现方式。
参见图1,图1是本发明实施例提供的数据传输方法的流程图之一,参见图1,该数据传输方法的执行主体为第一节点,具体步骤如下:
步骤101、接收广播的数据包,并获取所述数据包中携带的地址信息,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址。
步骤102、判断所述第一节点是否为所述地址信息中的目的节点。
步骤103、若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的生存时间TTL后,广播所述数据包。
本实施例中,所述第一节点接收其他节点广播的数据包,并获取所述数据包中携带的地址信息,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址。所述第一节点为无线网络中的任意节点。本发明一些实施例中,所述地址信息还可以包括源节点的地址,方便目的节点确定所述数据包的源节点。
所述第一节点可以根据所述地址信息判断所述第一节点是否为目的节点,具体地,所述第一节点可以获取所述地址信息中的目的节点的地址,然后判断自身地址是否与所述目的节点的地址相同,若自身地址与所述目的节点的地址相同,确定所述第一节点为所述地址信息中的目的节点。
若所述第一节点不为所述地址信息中的目的节点,所述第一节点根据所述地址信息更新所述数据包的TTL(Time To Live,生存时间),并在根据所述地址信息更新所述数据包的TTL后,广播所述数据包。所述根据所述地址信息更新所述数据包的TTL具体可以是根据所述第一节点是否为所述地址信息中的下一跳中继节点的情况确定TTL的更新方式,然后根据确定的更新方式对所述数据包的TTL进行更新。所述对TTL的更新方式包括将TTL更新为目标TTL或者将所述TTL减1。
若所述第一节点为所述地址信息中的目的节点,所述第一节点解析所述数据包并对所述数据包进行相应的处理。
本发明一些实施例中,所述第一节点可以在接收到广播的数据包之后,判断所述第一节点是否首次接收到所述数据包,若所述第一节点首次接收到所述数据包,获取所述数据包中携带的地址信息;若所述第一节点非首次接收到所述数据包,则丢弃所述数据包,不对所述数据包进行任何处理。
本实施例中,所述数据传输方法接收广播的数据包,并获取所述数据包中携带的地址信息,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;判断所述第一节点是否为所述地址信息中的目的节点;若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的生存时间TTL后,广播所述数据包。这样,所述数据传输方法控制发送或者转发节点通过局域广播的方式将数据发送给传输路径中的下一跳中继节点,在网络拓扑发生变化且节点的路由表未及时更新的情况下,提高传输路径中下一跳中继节点接收数据的成功率,增加网络对节点移动性及链路状态变化的支持,增强网络数据传输的鲁棒性。
可选地,所述若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的TTL后,广播所述数据包,包括:
若所述第一节点为所述地址信息中的下一跳中继节点,将所述数据包的TTL更新为目标TTL后广播所述数据包,其中,所述目标TTL为不小于2的整数。
该实施例中,所述第一节点根据所述第一节点是否为所述地址信息中的下一跳中继节点的情况确定TTL的更新方式,然后根据确定的更新方式对所述数据包的TTL进行更新。具体地,若所述第一节点为所述地址信息中的下一跳中继节点,所述第一节点将所述数据包的TTL更新为目标TTL后,广播所述数据包,其中,所述目标TTL为不小于2的整数。
可选地,所述广播所述数据包之前,所述方法还包括:
根据所述第一节点的路由表确定所述第一节点到目标节点的下一跳中继节点;
将所述地址信息中的下一跳中继节点的地址更新为所述第一节点到目的节点的下一跳中继节点的地址。
当所述第一节点为所述地址信息中的下一跳中继节点时,所述第一节点还进一步更新所述地址信息中的下一跳中继节点。具体地,所述第一节点可以根据所述第一节点的路由表确定所述第一节点到目的节点的下一跳中继节点,然后将所述地址信息中的下一跳中继节点的地址更新为所述第一节点到目的节点的下一跳中继节点的地址。
可选地,所述方法还包括:
根据所述第一节点的邻居节点的移动速度,确定所述目标TTL。
当所述第一节点为所述地址信息中的下一跳中继节点时,所述第一节点根据所述第一节点的邻居节点的移动速度,确定所述目标TTL,然后将数据包的TTL更新为所述目标TTL。所述目标TTL可以为与所述数据包的源节点为所述数据包设置的TTL相同,也可以不相同。
可选地,所述若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的TTL后,广播所述数据包,包括:
若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,将所述数据包的TTL减1后广播所述数据包。
可选地,所述若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,将所述数据包的TTL减1后广播所述数据包,包括:
若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,判断所述数据包的TTL是否大于1;
若所述数据包的TTL大于1,将所述数据包的TTL减1后广播所述数据包。
该实施例中,所述第一节点根据所述第一节点是否为所述地址信息中的下一跳中继节点的情况确定TTL的更新方式,然后根据确定的更新方式对所述数据包的TTL进行更新。具体地,若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,所述第一节点判断所述数据包的TTL是否大于1;若所述数据包的TTL大于1,将所述数据包的TTL减1后广播所述数据包。
可以理解的是,所述数据包的源节点通过设置TTL控制所述数据包的传输范围时,所述数据包每被非中继节点转发一次,其TTL减1。当其TTL不大于1时,不再继续对所述数据包进行转发,这样能够实现对数据包传输范围的控制。该实施例中,所述第一节点仅在所述数据包的TTL大于1时广播所述数据包,在所述数据包的TTL不大于1时不广播所述数据包。
可选地,所述根据所述地址信息判断所述第一节点是否为所述地址信息中的目的节点之后,所述方法还包括:
若所述第一节点为所述地址信息中的目的节点,解析所述数据包并对所述数据包进行处理。
该实施例中,若所述第一节点为所述地址信息中的目的节点,则所述第一节点不需要对所述数据包进行广播,所述第一节点解析所述数据包并对所述数据包进行处理。
可选地,所述接收广播的数据包,并获取所述数据包中携带的地址信息,包括:
接收广播的数据包,判断所述第一节点是否首次接收到所述数据包;
若所述第一节点首次接收到所述数据包,获取所述数据包中携带的地址信息。
该实施例中,所述第一节点在接收到所述数据包之后,判断所述第一节点是否首次接收到所述数据包,若所述第一节点首次接收到所述数据包,获取所述数据包中携带的地址信息。若所述第一节点非首次接收到所述数据包,所述第一节点丢弃所述数据包,不做后续处理。
可以理解的是,当所述第一节点首次接收到所述数据包时,所述第一节点已经对该数据包进行了处理,该实施例中,若所述第一节点非首次接收到所述数据包,丢弃该数据包,不做后续处理,能够有效减小数据的冗余,减轻节点的传输负担。
可选地,所述判断所述第一节点是否首次接收到所述数据包,包括:
获取所述数据包的标识信息,根据所述数据包的标识信息判断所述第一节点是否首次接收到所述数据包。
该实施例中,所述第一节点根据所述数据包的标识信息判断所述第一节点是否为首次接收到的数据包。所述标识信息为用于唯一标识所述数据包的信息,例如可以为所述数据包的序列号,每一个数据包的源节点可以为其生成一个固定的序列号,且该序列表在该数据包的发送和转发过程中不变。
参考图2,图2本发明实施例提供数据传输方法的流程图之二,如图2所示,所述数据传输方法的执行主体为第二节点,具体包括以下步骤:
步骤201、将待发送数据封装成携带有地址信息的数据包,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址。
步骤202、为所述数据包设置生存时间TTL,其中,所述TTL为不小于2的整数。
步骤203、广播携带有所述TTL的数据包。
本实施例中,当需要发送数据时,所述第二节点将待发送的数据包封装成携带有地址信息的数据包,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址。本发明一些实施例中,所述地址信息还可以包括源节点的地址,即还可以包括所述第二节点的地址,这样,所述目的节点接收到所述数据包时,能够通过所述地址信息确定该数据包的源节点。
所述第二节点为所述数据包设置TTL,其中,所述TTL为不小于2的整数,在设置TTL后,所述第二节点广播携带有所述TTL的数据包,这样,通过设置TTL设置所述数据包的局域广播范围。所述第二节点可以根据其邻居节点的移动速度确定TTL,通常情况下,可以设置TTL取值为2或者3。一方面,该值过大时,局域广播会造成***开销急剧增加,另一方面,如果发送数据在1跳或者2跳广播过程中已经到达下一跳节点,额外的广播不会带来任何益处。
所述第二节点可以为与所述第一节点相同的节点,也可以为与所述第一节点不相同的节点。具体地,当所述第二节点为与所述第一节点相同的节点时,所述第一节点接收其他节点广播的数据包;当所述第二节点为与所述第一节点不相同的节点时,所述第一节点可以接收所述第二节点广播的数据包,也可以是接收其他节点广播的数据包。
本实施例中,所述数据传输方法将待发送数据封装成携带有地址信息的数据包,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;为所述数据包设置生存时间TTL,其中,所述TTL为不小于2的整数;广播携带有所述TTL的数据包。所述数据传输方法通过局域广播的方式将数据发送给传输路径中的下一跳中继节点,在网络拓扑发生变化且节点的路由表未及时更新的情况下,提高路由协议收敛过程中数据传输的成功率,增加网络对节点移动性及链路状态变化的支持,增强网络数据传输的鲁棒性。
可选地,所述为所述数据包设置TTL,包括:
根据所述第二节点的邻居节点的移动速度,为所述数据包设置TTL。
该实施例中,所述第二节点根据其邻居节点的移动速度,为所述数据包设置TTL。举例而言,移动速度越快,可以设置越大的TTL。
可选地,所述将待发送数据封装成携带有地址信息的数据包之前,所述方法还包括:
确定所述待发送数据的目的节点的地址;
根据所述第二节点的路由表确定所述第二节点到所述目的节点的下一跳中继节点的地址。
该实施例中,所述第二节点将待发送的数据封装成携带有地址信息的数据包之前,确定所述待发送数据的目的节点的地址,根据所述第二节点的路由表确定所述第二节点到所述目的节点的下一跳中继节点的地址。
可选地,所述方法还包括:
为所述数据包生成标识信息,并将所述标识信息携带在所述数据包中。
该实施例中,所述第二节点还为所述数据包生成标识信息,并将所述标识信息携带在所述数据包中。所述标识信息用于唯一标识所述数据包,并且在所述数据包的传输过程中固定不变。所述标识信息可以为所述数据包的序列号。
以下结合具体实例对本发明的数据传输方法进行举例说明,假设无线网络中节点之间的连接关系如图3所示,网路中的节点已经完成了网络同步、邻居发现和路由选择的过程,网络中的节点建立了路由表,图3中给出了节点1和节点7建立的路由表。
假设节点1需要发送数据给节点7,此时节点1可以根据节点1的路由表确定节点1到节点7的下一跳中继节点为节点3。假设节点1设置的TTL为2,根据本发明实施例提供的数据传输方法,所述节点1可以将源节点(节点1)、目的节点(节点7)和下一跳中继节点(节点3)的地址、TTL为2与待发送数据封装成数据包,并广播该数据包。在网络拓扑不发生变化的情况下,经过如下过程可以完成数据的传输:
第一个周期内:
节点3收到节点1广播的数据包后,发现自身是数据包中的下一跳中继节点,所述节点3确定自身到目的节点(即节点7)的下一跳中继节点为节点7,将数据包中的下一跳中继节点的地址更新为节点7的地址,并将所述数据包的TTL设置为2,然后广播该数据包。
节点5接收到节点1广播的数据包后,发现自身不是数据包中的目的节点,也不是数据包中的下一跳中继节点,且TTL为2(大于1),因此节点5将接收到的数据包的TTL减1后继续广播该数据包。
第二个周期内:
节点7接收到中继节点3广播的数据包,发现自身是目的节点,解析该数据包并对该数据包进行相应的处理,完成数据传输。
节点15接收到中继节点3转发的数据包,发现自身不是数据包中的目的节点,也不是数据包中的下一跳中继节点,且TTL大于1,因此节点15将接收到的数据包的TTL减1后继续广播该数据包。
节点4和节点2接收到节点5转发的数据包,发现自身不是数据包中的目的节点,也不是数据包中的下一跳中继节点,且TTL不大于1(TTL为1),不进行广播。
第三个周期内:
节点7和节点3接收到节点15广播的数据包,发现不是首次接收到该数据包,因此不进行处理。
节点6接收到节点15广播的数据包,发现自身不是数据包中的目的节点,也不是数据包中的下一跳中继节点,且TTL不大于1(TTL为1),不进行广播。
假设节点7需要发送数据给节点15,此时节点7根据节点7的路由表确定节点7到节点15的下一跳中继节点为节点15,假设节点7设置的TTL为2,根据本发明实施例提供的数据传输方法,所述节点7可以将源节点(节点7)、目的节点(节点15)和下一跳中继节点(节点15)的地址、TTL为2与待发送数据封装成数据包,并广播该数据包。在网络拓扑不发生变化的情况下,经过如下过程可以完成数据的传输:
第一个周期内:
节点15接收到节点7广播的数据包,发现自身是数据包中的目的节点,解析该数据包并对该数据包进行相应的处理,完成数据传输。
节点3和节点6接收到节点7广播的数据包,发现自身不是数据包中的目的节点,也不是数据包中的下一跳中继节点,且TTL为2(大于1),因此节点3和节点6将接收到的数据包的TTL减1后继续广播该数据包。
第二个周期内:
节点15接收到节点3或者节点6广播的数据包,发现不是首次接收到该数据包,丢弃该数据包,不进行广播或其他任何处理。
节点1接收到节点3广播的数据包,发现自身不是数据包中的目的节点,也不是数据包中的下一跳中继节点,且TTL不大于1(TTL为1),不进行广播。
针对图3所示的网络拓扑,假设节点15在t1时刻发生了移动,移动到如图4所示的位置,且节点15与节点3和节点7之间的链路断开,移动后的网络拓扑如图4所示,此时节点7的路由表还未更新,即路由协议还未收敛。此时若节点7需要发送数据给节点15,节点7根据其路由表可知节点15是自身的1跳邻居节点,确定节点7到节点15的下一跳中继节点为节点15。
按照传统的数据传输方式,节点7直接将数据发送给下一跳中继节点(即节点15),而由于节点15与节点7之间的链路已经断开,节点15收不到该数据,造成数据传输失败。
根据本发明实施例提供的数据传输方法,假设节点7设置的TTL为2,根据本发明实施例提供的数据传输方法,所述节点7可以将源节点(节点7)、目的节点(节点15)和下一跳中继节点(节点15)的地址、TTL为2与待发送数据封装成数据包,并广播该数据包。经过如下两个周期,能够成功完成数据传输:
第一个周期内:
节点3和节点6接收到节点7广播的数据包,发现自身不是数据包中的目的节点,也不是数据包中的下一跳中继节点,且TTL为2(大于1),因此节点3和节点6将接收到的数据包的TTL减1后继续广播该数据包。
第二个周期内:
节点15接收到节点6广播的数据包,发现自身是数据包中的目的节点,解析该数据包并对该数据包进行相应的处理,完成数据传输。
节点1接收到节点3广播的数据包,发现自身不是数据包中的目的节点,也不是数据包中的下一跳中继节点,且TTL不大于1(TTL为1),不进行广播。
类似地,针对图3所述的网络拓扑,假设节点7在t2时刻发生了移动,移动到如图5所示的位置,且节点7与节点3之间的链路断开,移动后的网络拓扑如图5所示,此时节点7的路由表还未更新,即路由协议还未收敛。此时,若节点7需要发送数据给节点5,节点7根据其路由表确定节点7到节点5的下一跳中继节点为节点3。
按照传统的数据传输方式,节点7直接将数据发送给下一跳节点节点(即节点3),而由于节点3与节点7之间的链路已经断开,节点3收不到该数据,这样就无法进一步将数据包发送给节点5,造成数据传输失败。
根据本发明实施例提供的数据传输方法,假设节点7设置的TTL为2,根据本发明实施例提供的数据传输方法,所述节点7可以将源节点(节点7)、目的节点(节点5)和下一跳中继节点(节点3)的地址、TTL为2与待发送数据封装成数据包,并广播该数据包。经过如下过程完成数据传输:
第一个周期内:
节点15和节点6接收到节点7广播的数据包,发现自身不是数据包中的目的节点,也不是数据包中的下一跳中继节点,且TTL为2(大于1),因此节点3和节点6将接收到的数据包的TTL减1后继续广播该数据包。
第二个周期内:
节点15接收到节点6广播的数据包,发现不是首次接收到该数据包,丢弃该数据包,不进行广播或其他任何处理。
节点3接收到节点15广播的数据包,发现自身是数据包中的下一跳中继节点,所述节点3确定自身到目的节点(即节点5)的下一跳中继节点为节点1,将数据包中的下一跳中继节点的地址更新为节点1的地址,并将所述数据包的TTL设置为2,然后广播该数据包。
第三个周期内:
节点1接收到节点3广播的数据包,发现自身是数据包中的下一跳中继节点,所述节点1确定自身到目的节点(即节点5)的下一跳中继节点为节点5,将数据包中的下一跳中继节点的地址更新为节点5的地址,并将所述数据包的TTL设置为2,然后广播该数据包。
第四个周期内:
节点5接收到节点1广播的数据包,发现自身是目的节点,解析该数据包并对该数据包进行相应的处理,完成数据传输。
节点6和节点7接收到节点15广播的数据包,发现自身不是数据包中的目的节点,也不是数据包中的下一跳中继节点,且TTL不大于1(TTL为1),不进行广播。
可见,当网络拓扑发生变化且节点的路由表未及时更新时,通过本发明提供的数据传输方法,发送节点和/或转发节点通过局域广播的方式将数据包发送给传输链路中的下一跳中继节点,提高了传输链路中下一跳中继节点接收到数据包的成功率,增加了网络对节点移动性以及链路状态变化的支持,增强了网络数据传输的鲁棒性。
参见图6,本发明实施例还提供了一种节点,所述节点为第一节点600,该第一节点600包括处理器601、收发机602、存储器603及存储在所述存储器603上并可在所述处理器601上运行的计算机程序。
所述收发机602可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元,所述收发机602用于在所述处理器601的控制下接收和发送数据;
所述计算机程序被所述处理器601执行时,实现如下步骤:
通过所述收发机602接收广播的数据包,并获取所述数据包中携带的地址信息,其中,所述地址信息至少包括目的节点地址和下一跳中继节点的地址;
判断所述第一节点是否为所述地址信息中的目的节点;
若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的生存时间TL后,通过所述收发机602广播所述数据包。
可选地,所述处理器601,具体用于:
若所述第一节点为所述地址信息中的下一跳中继节点,将所述数据包的TTL更新为目标TTL后,通过所述收发机602广播所述数据包,其中,所述目标TTL为不小于2的整数。
可选地,所述通过所述收发机602广播所述数据包之前,所述处理器601,还用于:
根据所述第一节点的路由表确定所述第一节点到目的节点的下一跳中继节点;
将所述地址信息中的下一跳中继节点的地址更新为所述第一节点到目的节点的下一跳中继节点的地址。
可选地,所述处理器601,还用于:
根据所述第一节点的邻居节点的移动速度,确定所述目标TTL。
可选地,所述处理器601,具体用于:
若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,将所述数据包的TTL减1后,通过所述收发机602广播所述数据包。
可选地,所述处理器601,具体用于:
若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,判断所述数据包的TTL是否大于1;
若所述数据包的TTL大于1,将所述数据包的TTL减1后,通过所述收发机602广播所述数据包。
可选地,所述处理器601,还用于:
若所述第一节点为所述地址信息中的目的节点,解析所述数据包并对所述数据包进行处理。
可选地,所述处理器601,具体用于:
通过所述收发机602接收广播的数据包,判断所述第一节点是否首次接收到所述数据包;
若所述第一节点首次接收到所述数据包,获取所述数据包中携带的地址信息。
可选地,所述处理器601,具体用于:
获取所述数据包的标识信息,根据所述数据包的标识信息判断所述第一节点是否首次接收到所述数据包。
需要说明的是,本发明实施例提供的第一节点能够实现图1的方法实施例中的各个过程,其实现原理和技术效果类似,本实施例此处不再赘述。
参见图7,本发明实施例还提供了一种节点,所述节点为第二节点700,该第二节点700包括处理器701、收发机702、存储器703及存储在所述存储器703上并可在所述处理器701上运行的计算机程序。
所述收发机702可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元,所述收发机702用于在所述处理器701的控制下接收和发送数据;
所述计算机程序被所述处理器701执行时,实现如下步骤:
将待发送的数据封装成携带有地址信息的数据包,其中,所述地址信息至少包括目的节点和下一跳中继节点的地址;
为所述数据包设置生存时间TTL,其中,所述TTL为不小于2的整数;
通过所述收发机702广播携带有所述TTL的数据包。
可选地,所述处理器701,具体用于:
根据所述第二节点的邻居节点的移动速度,为所述数据包设置TTL。
可选地,所述处理器701,还用于:
确定所述待发送数据的目的节点的地址;
根据所述第二节点的路由表确定所述第二节点到所述目的节点的下一跳中继节点的地址。
可选地,所述处理器701,还用于:
为所述数据包生成标识信息,并将所述标识信息携带在所述数据包中。
需要说明的是,本发明实施例提供的第二节点能够实现图2的方法实施例中的各个过程,其实现原理和技术效果类似,本实施例此处不再赘述。
参见图8,本发明还提供一种节点,所述节点为第一节点800,如图8所示,所述第一节点800包括:
接收模块801,用于接收广播的数据包,并获取所述数据包中携带的地址信息,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;
判断模块802,用于判断所述第一节点是否为所述地址信息中的目的节点;
广播模块803,用于若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的生存时间TTL后,广播所述数据包。
需要说明的是,本发明实施例提供的第一节点能够实现图1的方法实施例中的各个过程,其实现原理和技术效果类似,本实施例此处不再赘述。
参见图9,本发明还提供一种节点,所述节点为第二节点900,如图9所示,所述第二节点900包括:
封装模块901,用于将待发送的数据封装成携带有地址信息的数据包,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;
设置模块902,用于为所述数据包设置生存时间TTL,其中,所述TTL为不小于2的整数;
广播模块903,用于广播携带有所述TTL的数据包。
需要说明的是,本发明实施例提供的第二节点能够实现图2的方法实施例中的各个过程,其实现原理和技术效果类似,本实施例此处不再赘述。
如图10所示,图10所示的第一节点1000包括:至少一个处理器1001、存储器1002、至少一个用户接口1003和网络接口1004。第一节点1000中的各个组件通过总线***1005耦合在一起。可理解,总线***1005用于实现这些组件之间的连接通信。总线***1005除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为总线***1005。
其中,用户接口1003可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器1002可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Datarate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本发明实施例描述的***和方法的存储器1002旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器1002保存了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作***10021和应用程序10022。
其中,操作***10021,包含各种***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序10022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序10022中。
在本发明的一个实施例中,通过调用存储器1002保存的程序或指令,具体的,可以是应用程序10022中保存的程序或指令,执行时实现上述数据传输方法中第一节点执行的各个步骤。
本发明实施例提供的第一节点,可以执行上述数据传输方法实施例中第一节点执行的步骤,其实现原理和技术效果类似,本实施例此处不再赘述。
如图11所示,图11所示的第二节点1100包括:至少一个处理器1101、存储器1102、至少一个用户接口1103和网络接口1104。第二节点1100中的各个组件通过总线***1105耦合在一起。可理解,总线***1105用于实现这些组件之间的连接通信。总线***1105除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线***1105。
其中,用户接口1103可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器1102可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Datarate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本发明实施例描述的***和方法的存储器1102旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器1102保存了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作***11021和应用程序11022。
其中,操作***11021,包含各种***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序11022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序11022中。
在本发明的一个实施例中,通过调用存储器1102保存的程序或指令,具体的,可以是应用程序11022中保存的程序或指令,执行时实现上述数据传输方法中第二节点执行的各个步骤。
本发明实施例提供的第二节点,可以执行上述数据传输方法实施例中第二节点执行的步骤,其实现原理和技术效果类似,本实施例此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现本发明实施例提供的数据传输方法中所述第一节点执行的的步骤;或者,所述计算机程序被处理器执行时实现上述数据传输方法中所述第二节点执行的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述数据传输方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (29)
1.一种数据传输方法,应用于第一节点,其特征在于,所述方法包括:
接收广播的数据包,并获取所述数据包中携带的地址信息,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;
判断所述第一节点是否为所述地址信息中的目的节点;
若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的生存时间TTL后,广播所述数据包。
2.根据权利要求1所述的数据传输方法,其特征在于,所述若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的TTL后,广播所述数据包,包括:
若所述第一节点为所述地址信息中的下一跳中继节点,将所述数据包的TTL更新为目标TTL后广播所述数据包,其中,所述目标TTL为不小于2的整数。
3.根据权利要求2所述的数据传输方法,其特征在于,所述广播所述数据包之前,所述方法还包括:
根据所述第一节点的路由表确定所述第一节点到目标节点的下一跳中继节点;
将所述地址信息中的下一跳中继节点的地址更新为所述第一节点到目的节点的下一跳中继节点的地址。
4.根据权利要求2所述的数据传输方法,其特征在于,所述方法还包括:
根据所述第一节点的邻居节点的移动速度,确定所述目标TTL。
5.根据权利要求1所述的数据传输方法,其特征在于,所述若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的TTL后,广播所述数据包,包括:
若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,将所述数据包的TTL减1后广播所述数据包。
6.根据权利要求5所述的数据传输方法,其特征在于,所述若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,将所述数据包的TTL减1后广播所述数据包,包括:
若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,判断所述数据包的TTL是否大于1;
若所述数据包的TTL大于1,将所述数据包的TTL减1后广播所述数据包。
7.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述地址信息判断所述第一节点是否为所述地址信息中的目的节点之后,所述方法还包括:
若所述第一节点为所述地址信息中的目的节点,解析所述数据包并对所述数据包进行处理。
8.根据权利要求1至7任一项所述的数据传输方法,其特征在于,所述接收广播的数据包,并获取所述数据包中携带的地址信息,包括:
接收广播的数据包,判断所述第一节点是否首次接收到所述数据包;
若所述第一节点首次接收到所述数据包,获取所述数据包中携带的地址信息。
9.根据权利要求8所述的数据传输方法,其特征在于,所述判断所述第一节点是否首次接收到所述数据包,包括:
获取所述数据包的标识信息,根据所述数据包的标识信息判断所述第一节点是否首次接收到所述数据包。
10.一种数据传输方法,应用于第二节点,其特征在于,所述方法包括:
将待发送数据封装成携带有地址信息的数据包,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;
为所述数据包设置生存时间TTL,其中,所述TTL为不小于2的整数;
广播携带有所述TTL的数据包。
11.根据权利要求10所述的数据传输方法,其特征在于,所述为所述数据包设置TTL,包括:
根据所述第二节点的邻居节点的移动速度,为所述数据包设置TTL。
12.根据权利要求10所述的数据传输方法,其特征在于,所述将待发送数据封装成携带有地址信息的数据包之前,所述方法还包括:
确定所述待发送数据的目的节点的地址;
根据所述第二节点的路由表确定所述第二节点到所述目的节点的下一跳中继节点的地址。
13.根据权利要求10所述的数据传输方法,其特征在于,所述方法还包括:
为所述数据包生成标识信息,并将所述标识信息携带在所述数据包中。
14.一种节点,所述节点为第一节点,包括处理器、收发机、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时,具体用于:
通过所述收发机接收广播的数据包,并获取所述数据包中携带的地址信息,其中,所述地址信息至少包括目的节点地址和下一跳中继节点的地址;
判断所述第一节点是否为所述地址信息中的目的节点;
若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的生存时间TTL后,通过所述收发机广播所述数据包。
15.根据权利要求14所述的节点,其特征在于,所述处理器,具体用于:
若所述第一节点为所述地址信息中的下一跳中继节点,将所述数据包的TTL更新为目标TTL后,通过所述收发机广播所述数据包,其中,所述目标TTL为不小于2的整数。
16.根据权利要求15所述的节点,其特征在于,所述通过所述收发机广播所述数据包之前,所述处理器,还用于:
根据所述第一节点的路由表确定所述第一节点到目的节点的下一跳中继节点;
将所述地址信息中的下一跳中继节点的地址更新为所述第一节点到目的节点的下一跳中继节点的地址。
17.根据权利要求15所述的节点,其特征在于,所述处理器,还用于:
根据所述第一节点的邻居节点的移动速度,确定所述目标TTL。
18.根据权利要求14所述的节点,其特征在于,所述处理器,具体用于:
若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,将所述数据包的TTL减1后,通过所述收发机广播所述数据包。
19.根据权利要求18所述的节点,其特征在于,所述处理器,具体用于:
若所述第一节点不为所述地址信息中的目的节点且不为所述地址信息中的下一跳中继节点,判断所述数据包的TTL是否大于1;
若所述数据包的TTL大于1,将所述数据包的TTL减1后,通过所述收发机广播所述数据包。
20.根据权利要求14所述的节点,其特征在于,所述处理器,还用于:
若所述第一节点为所述地址信息中的目的节点,解析所述数据包并对所述数据包进行处理。
21.根据权利要求14至20任一项所述的节点,其特征在于,所述处理器,具体用于:
通过所述收发机接收广播的数据包,判断所述第一节点是否首次接收到所述数据包;
若所述第一节点首次接收到所述数据包,获取所述数据包中携带的地址信息。
22.根据权利要求21所述的节点,其特征在于,所述处理器,具体用于:
获取所述数据包的标识信息,根据所述数据包的标识信息判断所述第一节点是否首次接收到所述数据包。
23.一种节点,所述节点为第二节点,包括处理器、收发机、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时,具体用于:
将待发送的数据封装成携带有地址信息的数据包,其中,所述地址信息至少包括目的节点和下一跳中继节点的地址;
为所述数据包设置生存时间TTL,其中,所述TTL为不小于2的整数;
通过所述收发机广播携带有所述TTL的数据包。
24.根据权利要求23所述的节点,其特征在于,所述处理器,具体用于:
根据所述第二节点的邻居节点的移动速度,为所述数据包设置TTL。
25.根据权利要求23所述的节点,其特征在于,所述处理器,还用于:
确定所述待发送数据的目的节点的地址;
根据所述第二节点的路由表确定所述第二节点到所述目的节点的下一跳中继节点的地址。
26.根据权利要求23所述的节点,其特征在于,所述处理器,还用于:
为所述数据包生成标识信息,并将所述标识信息携带在所述数据包中。
27.一种节点,所述节点为第一节点,其特征在于,所述第一节点包括:
接收模块,用于接收广播的数据包,并获取所述数据包中携带的地址信息,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;
判断模块,用于判断所述第一节点是否为所述地址信息中的目的节点;
广播模块,用于若所述第一节点不为所述地址信息中的目的节点,在根据所述地址信息更新所述数据包的生存时间TTL后,广播所述数据包。
28.一种节点,所述节点为第二节点,其特征在于,所述第二节点包括:
封装模块,用于将待发送的数据封装成携带有地址信息的数据包,其中,所述地址信息至少包括目的节点的地址和下一跳中继节点的地址;
设置模块,用于为所述数据包设置生存时间TTL,其中,所述TTL为不小于2的整数;
广播模块,用于广播携带有所述TTL的数据包。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的数据传输方法中的步骤;
或者,所述计算机程序被处理器执行时实现如权利要求10至13中任一项所述的数据传输方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910266820.8A CN111787593B (zh) | 2019-04-03 | 2019-04-03 | 一种数据传输方法及节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910266820.8A CN111787593B (zh) | 2019-04-03 | 2019-04-03 | 一种数据传输方法及节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111787593A true CN111787593A (zh) | 2020-10-16 |
CN111787593B CN111787593B (zh) | 2022-08-30 |
Family
ID=72755719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910266820.8A Active CN111787593B (zh) | 2019-04-03 | 2019-04-03 | 一种数据传输方法及节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111787593B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113315601A (zh) * | 2021-05-06 | 2021-08-27 | 北京和峰科技有限公司 | 多点协助的数据传输方法、装置、存储介质及电子设备 |
CN114449457A (zh) * | 2021-12-29 | 2022-05-06 | 深圳市信致通信技术有限公司 | 基于链状网络的数据传输方法、节点设备、*** |
CN115811773A (zh) * | 2022-11-07 | 2023-03-17 | 航天行云科技有限公司 | 一种无线自组网的高可靠数据传输方法 |
WO2023125318A1 (zh) * | 2021-12-29 | 2023-07-06 | 维沃移动通信有限公司 | 通信方法、装置及通信设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662811A (zh) * | 2009-08-17 | 2010-03-03 | 北京航空航天大学 | 基于可靠路径的分布式路由协议 |
CN102186145A (zh) * | 2011-05-04 | 2011-09-14 | 西安电子科技大学 | 基于地理位置和速度信息的空中高速自组织路由方法 |
CN102291743A (zh) * | 2011-09-02 | 2011-12-21 | 海南新博海通科技有限公司 | 一种基于地理位置信息的分簇方法 |
CN103516615A (zh) * | 2013-07-15 | 2014-01-15 | 中国人民解放军国防科学技术大学 | 网络拓扑确定方法和装置 |
CN103701626A (zh) * | 2012-09-27 | 2014-04-02 | 华为技术有限公司 | 带宽信息的获得方法以及获得带宽信息的设备 |
CN107370677A (zh) * | 2016-05-12 | 2017-11-21 | 西安三星电子研究有限公司 | 节点确定路径生存时间的方法和设备 |
CN109005116A (zh) * | 2017-06-07 | 2018-12-14 | 华为技术有限公司 | 一种报文转发方法及装置 |
-
2019
- 2019-04-03 CN CN201910266820.8A patent/CN111787593B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662811A (zh) * | 2009-08-17 | 2010-03-03 | 北京航空航天大学 | 基于可靠路径的分布式路由协议 |
CN102186145A (zh) * | 2011-05-04 | 2011-09-14 | 西安电子科技大学 | 基于地理位置和速度信息的空中高速自组织路由方法 |
CN102291743A (zh) * | 2011-09-02 | 2011-12-21 | 海南新博海通科技有限公司 | 一种基于地理位置信息的分簇方法 |
CN103701626A (zh) * | 2012-09-27 | 2014-04-02 | 华为技术有限公司 | 带宽信息的获得方法以及获得带宽信息的设备 |
CN103516615A (zh) * | 2013-07-15 | 2014-01-15 | 中国人民解放军国防科学技术大学 | 网络拓扑确定方法和装置 |
CN107370677A (zh) * | 2016-05-12 | 2017-11-21 | 西安三星电子研究有限公司 | 节点确定路径生存时间的方法和设备 |
CN109005116A (zh) * | 2017-06-07 | 2018-12-14 | 华为技术有限公司 | 一种报文转发方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113315601A (zh) * | 2021-05-06 | 2021-08-27 | 北京和峰科技有限公司 | 多点协助的数据传输方法、装置、存储介质及电子设备 |
CN113315601B (zh) * | 2021-05-06 | 2022-09-30 | 北京和峰科技有限公司 | 多点协助的数据传输方法、装置、存储介质及电子设备 |
CN114449457A (zh) * | 2021-12-29 | 2022-05-06 | 深圳市信致通信技术有限公司 | 基于链状网络的数据传输方法、节点设备、*** |
WO2023125318A1 (zh) * | 2021-12-29 | 2023-07-06 | 维沃移动通信有限公司 | 通信方法、装置及通信设备 |
CN114449457B (zh) * | 2021-12-29 | 2024-05-17 | 深圳市信致通信技术有限公司 | 基于链状网络的数据传输方法、节点设备、*** |
CN115811773A (zh) * | 2022-11-07 | 2023-03-17 | 航天行云科技有限公司 | 一种无线自组网的高可靠数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111787593B (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111787593B (zh) | 一种数据传输方法及节点 | |
AU2003272497B2 (en) | Method and apparatus in a gateway for registering mobile routers of a Mobile Ad hoc Network to respective home agents | |
US8243603B2 (en) | Method and system for improving a wireless communication route | |
US10057342B2 (en) | Infrastructure access via neighbor awareness networking data path | |
US7860025B2 (en) | Directed acyclic graph discovery and network prefix information distribution relative to a clusterhead in an ad hoc mobile network | |
US7649852B2 (en) | Arrangement for router attachements between roaming mobile routers in a clustered network | |
US7366111B2 (en) | Arrangement for providing optimized connections between peer routers in a tree-based ad hoc mobile network | |
KR100829655B1 (ko) | 이동 ad hoc 네트워크용 이동 ip | |
US8213352B2 (en) | Wireless communication system, wireless communication device, wireless communication method, and program | |
CN111865802B (zh) | 一种通信方法及装置 | |
JP2007325261A (ja) | 経路確立方法 | |
KR20060121118A (ko) | 통신 시스템에서 경로를 이용하여 정보를 전송하는 방법 | |
Totani et al. | An efficient broadcast-based information transfer method based on location data over MANET | |
WO2023070633A1 (zh) | 一种d2d通信方法 | |
KR100521139B1 (ko) | Ad-Hoc 네트워크에서의 패킷 처리 방법 | |
JP7326230B2 (ja) | 通信システム、ノード、通信方法及びプログラム | |
Ding et al. | An opportunistic routing protocol for mobile ad hoc networks based on stable ideology | |
CN111787591B (zh) | 一种邻居发现方法及节点 | |
JP4735202B2 (ja) | アドホックネットワークについてルーティングプロトコルを選択する携帯端末及びプログラム | |
CN106488518B (zh) | 一种跨多小区切换下实现用户数据接续传输的方法 | |
Leal et al. | Connecting Moving Smart objects to the internet: Potentialities and issues When Using Mobile Ad Hoc network technologies | |
JP5409419B2 (ja) | モバイルルータアドホックネットワーク通信システムのモバイルルータ | |
JP2019121844A (ja) | 通信装置、通信システム、及び、通信装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210604 Address after: 100085 1st floor, building 1, yard 5, Shangdi East Road, Haidian District, Beijing Applicant after: DATANG MOBILE COMMUNICATIONS EQUIPMENT Co.,Ltd. Address before: 100191 No. 40, Haidian District, Beijing, Xueyuan Road Applicant before: CHINA ACADEMY OF TELECOMMUNICATIONS TECHNOLOGY |
|
GR01 | Patent grant | ||
GR01 | Patent grant |