CN105681203B - 一种空间延迟容忍网络连接意外失效的应对方法 - Google Patents
一种空间延迟容忍网络连接意外失效的应对方法 Download PDFInfo
- Publication number
- CN105681203B CN105681203B CN201610021507.4A CN201610021507A CN105681203B CN 105681203 B CN105681203 B CN 105681203B CN 201610021507 A CN201610021507 A CN 201610021507A CN 105681203 B CN105681203 B CN 105681203B
- Authority
- CN
- China
- Prior art keywords
- connection
- failure
- node
- record
- time
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种空间延迟容忍网络连接意外失效的应对方法,该方法与提供可靠传输的LTP协议协同工作,包括建立并使用连接失效发现机制、连接恢复探测机制、连接失效及恢复通告机制、连接图更新机制和考虑连接失效的路由计算机制,使用束的连续重传作为连接失效的标志,当发现连接失效时将失效信息告知其他节点,其他节点根据通告更新连接信息,在计算路由时及时将失效连接从路径中排除,以此来应对空间电磁干扰或节点能量过低等原因造成的连接失效问题。
Description
技术领域
本发明涉及计算机网络技术领域。更具体地,涉及一种空间延迟容忍网络连接意外失效的应对方法。
背景技术
随着互联网和空间探测技术的不断发展,空间网络设计成为研究热点。由于空间环境存在较长的端到端时延、较高的误码率、频繁的链路中断等特点,传统的TCP/IP网络无法直接在空间网络中使用,NASA提出的延迟容忍网络(Delay Tolerant Network,DTN)可以很好的解决这些问题,成为空间网络的一种解决方案。DTN协议新定义了束(bundle)层和汇聚层,将应用层数据分割成小的束(bundle)发送,使用存储转发的策略来应对频繁的链路中断,当无端到端链路时将束存储在中间节点等待传输机会。束协议使用EID(endpointID)表示通信的双方,EID由节点号和服务号组成,节点号即DTN节点编号,用来计算路由,服务号来区分节点上注册的不同通信方,节点号和服务号类似于TCP/IP协议中的ip地址和端口号。
汇聚层协议完成束层和传输层的交互,现有汇聚层协议包括TCPCL(TCPConvergence Layer protocol)、UDPCL(UDP Convergence Layers protocol)、LTPCL(LTPConvergence Layer protocol)等,LTP(Licklider Transmission Protocol)协议是为了应对空间网络长延迟、高信道误码率、非对称链路问题而设计的传输协议。LTP协议通过设计的重传机制提供可靠的数据传输服务,首先LTPCLA(LTP Convergence Layer Adapter)将下一跳节点是同一个邻居节点的所有束聚合成一个数据块(block),当束聚合成块之后,又将块分割成小的段(segment),作为LTP协议的最小数据单元,块大小和段大小都是可以设置的,数据束聚合数量根据预先配置的LTP块大小确定。段的类型有红色部分(redpart)、绿色部分(green part)、检查点(checkpoint)、报告段(report segment)和报告确认段(report ACK)。红色部分为需要可靠传输的数据,绿色部分为不需要可靠传输的数据。对于每一个检查点,接收端都需要回复相应的报告段告知发送者已经接收到的段,发送者根据收到的报告段重传丢失的段。检查点和报告段都有重传定时器,当发送者不能及时接收到回应的报告段时将重传检查点,检查点连续重传十次之后数据块中聚合的束将被取出重新计算路由,此时束发生重传。
由于空间节点具有轨迹可以预知的特点,能够预先得到两个节点间的通信机会即链路信息,包括每次通信的起始时间、终止时间、传输速率等,连接图路由(Contact GraphRouting,CGR)将每一次通信机会称为一次连接(contact),用连接信息代表链路信息,CGR将链路信息按照连接的方式预先配置在连接计划(contact plan)中,预先配置的连接信息为连接的起始节点(from node)、终止节点(to node)、起始时间(from time)、终止时间(totime)、传输速率(rate)、起始节点与终止节点间的距离(range)。连接计划中连接信息格式如表1所示:
表1连接信息格式
CGR根据预先配置的连接信息,将可用的连接连一起,逐跳地把束从源节点发送到目的节点。
CGR在利用预知连接信息计算路由的同时,也带来了对连接图准确性要求极高的问题。而复杂多变的空间环境极易导致连接意外失效的发生,此时按初始连接信息配置的连接图与实际的连接状况不再一致,按照原本配置计算出来的路由将无法使用,导致路由失败。
因此,需要提供一种空间延迟容忍网络连接意外失效的应对方法。
发明内容
本发明的目的在于提供一种空间延迟容忍网络连接意外失效的应对方法,应对空间延迟容忍网络中的连接意外失效问题,当发现连接失效后及时将检测到的失效连接通告给其他节点,在选路时避免使用失效连接。
为达到上述目的,本发明采用下述技术方案:
一种空间延迟容忍网络连接意外失效的应对方法,该方法和LTP协议协同工作,由于LTP协议的重传机制可以在正常误码率下保证数据可靠传输,束发生连续重传的概率极低,因此本发明将同一条链路上束的连续重传看做连接失效的标志。
一种空间延迟容忍网络连接意外失效的应对方法包括如下步骤:
S1、根据链路中束的传输情况判断连接是否发生意外失效;
S2、当发现连接失效时,将失效的连接通告其他节点,并利用连接恢复探测束检测失效的连接是否恢复,当判断该连接恢复后将恢复的连接通告其他节点;
S3、当节点接收到连接失效通告信息或连接恢复通告信息后,更新该节点本地连接计划中相应连接的失效状态;
S4、为束计算路由,将失效连接排除在外,并优先转发剩余生存时间小的束。
优选地,步骤S1进一步包括如下子步骤:
S1.1、在节点的连接计划中原有的连接信息中加入失效状态标志位,并建立束重传记录列表和失效连接记录列表,束重传记录列表记录束的源节点、源服务号、生成时间戳和下一跳节点,失效连接记录列表记录失效连接的起始节点、终止节点、终止时间、最小检测时间间隔、连接恢复探测定时器、失效通告发送标志位和连接恢复标志位;
S1.2、根据链路中束的传输情况,利用失效状态标志位、束重传记录列表和失效连接记录列表判断连接是否发生意外失效。
优选地,步骤S1.2进一步包括如下子步骤:
S1.2.1、当束到来时,首先判断束的目的节点是否为本地节点,如果是则执行步骤S1.2.2,否则执行步骤S1.2.3;
S1.2.2、根据束的标志位和目的服务号判断束是否为连接失效状态通告束,如果是则在连接计划中更新所通告连接的失效状态;
S1.2.3、判断束是否发生重传,如果不是则执行步骤S4,否则执行步骤S1.2.4;
S1.2.4、根据束的标志位和目的服务号检查是否为连接恢复探测束,如果是则连接恢复探测束发生了重传,将该束丢弃,否则执行步骤S1.2.5;
S1.2.5、检查束重传记录列表中是否有该束的记录,如果没有则记录束的重传信息,所述重传信息包括束的源节点、源服务号、生成时间戳和下一跳节点,随后执行步骤S4;如果有则执行步骤S1.2.6;
S1.2.6、判断束的下一跳节点和重传记录中的下一跳节点是否一致,如果不一致则更新束的重传记录,将记录中的下一跳节点改为束当前的下一跳节点,并执行步骤S4;否则执行步骤S1.2.7;
S1.2.7、判断本地节点到束的下一跳节点的连接发生失效状况,在本地连接计划中将本地节点到束下一跳节点的连接标记为失效;检查失效连接记录列表中是否已存在该连接的记录,如果不存在,则在连接失效记录列表中记录该失效连接的信息,所述失效连接的信息包括起始节点、终止节点、终止时间、最小探测时间间隔和连接恢复探测定时器,并执行步骤S4;如果已存在该连接的失效记录则不再记录,执行步骤S4。
优选地,所述连接失效状态通告束的负载部分记录连接的起始节点、终止节点、起始时间、终止时间和失效标志。
优选地,步骤S2进一步包括如下子步骤:
S2.1、节点打开失效连接记录列表,执行步骤S2.2;
S2.2、检查列表中是否存在失效连接记录,如果存在则找到第一条失效连接记录,执行步骤S2.3;否则执行步骤S2.10;
S2.3、检查该失效连接记录的失效恢复标志位是否为1,如果是则说明失效的连接已经恢复,执行步骤S2.4;否则说明失效的连接还没有恢复,执行步骤S2.5;
S2.4、在本地连接计划中将相应连接的失效状态标志位标记为0,根据连接记录中的终止时间计算失效通告域,将通告束格式中的失效标志标记为0,生成连接失效状态通告束发送给失效通告域中的节点,告知其他节点连接已经恢复,删除失效记录列表中关于该连接的记录,执行步骤S2.9,检查列表中记录的下一条失效连接;
S2.5、检查失效通告发送标志位是否为1,如果是则说明已经发送过关于该连接的失效通告,执行步骤S2.7;否则说明还没有发送失效通告,执行步骤S2.6;
S2.6、根据连接记录中的终止时间计算该连接的失效通告域,将通告束格式中的失效标志标记为1,生成连接失效状态通告束发送到失效通告域内的节点,告知其他节点连接已经失效,并将失效记录中的失效通告发送标志标记为1,执行步骤S2.7;
S2.7、检查连接失效恢复探测定时器是否到期,如果到期则执行步骤S2.8,否则执行步骤S2.9;
S2.8、发送连接恢复探测束,束的目的节点设置为该连接的终止节点,服务号设置为16,并重新设置连接恢复探测定时器,执行步骤S2.9;
S2.9、检查下一条失效连接记录是否存在,如果存在则对其执行步骤S2.3;如果不存在,则说明已经遍历完连接记录,执行步骤S2.10;
S2.10、休眠一秒,返回步骤S2.2,执行新一轮检测。
优选地,步骤S2还包括如下子步骤:
S2.11、当束发送成功后检查束是否为连接恢复探测束,如果是则说明连接已经恢复,执行步骤S2.12;否则执行步骤S2.13;
S2.12、从失效连接记录列表中找到起始节点是本地节点、终止节点是束的下一跳节点的连接,将该连接的失效恢复标志位标记为1,在步骤S2.3中作为连接恢复的标志;
S2.13、检查束重传记录列表中是否记录有该束的信息,如果有则删除该记录。
优选地,所述失效通告域为连接计划中满足开始时间小于失效连接终止时间的所有连接的开始节点和终止节点。
优选地,步骤S4的具体过程为:
为束计算路由,如果束是连接恢复探测束,则发往所探测的邻居节点;如果不是,则在计算路由时将失效的连接排除在路径之外,并比较该束与队列中的束的剩余生存时间,按剩余生存时间由小到大顺序发送。
本发明的有益效果如下:
本发明所述技术方案当发现连接失效后及时将检测到的失效连接通告给其他节点,在选路时避免使用失效连接。本发明所述技术方案在连接计划中为连接新加入失效标志位,用来表示连接失效状态,例如:1代表失效,0代表恢复,当计算路由时将每段连接的失效状态考虑在内。本发明所述技术方案新建立束重传记录列表和失效连接记录列表,束重传记录列表用来记录发生重传的束信息,作为判断连接发生失效的依据;失效连接记录列表用来记录暂时失效的连接。本发明所述技术方案使用束协议预留的束标志位和服务号15新定义了连接恢复探测束,用来探测失效连接记录列表中记录的连接是否恢复。本发明所述技术方案使用束协议预留的束标志位和服务号16新定义了连接失效状态通告束来通告连接失效和恢复信息。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1示出空间延迟容忍网络连接意外失效的应对方法的流程图。
图2示出连接失效判断的流程图。
图3示出连接恢复探测及失效状态通告的流程图。
图4示出连接恢复判断的流程图。
图5示出空间延迟容忍网络连接意外失效的应对方法的应用场景示意图。
具体实施方式
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
本实施例提供的空间延迟容忍网络连接意外失效的应对方法在软件ION-3.3.1版本上实现,该方法建立并使用如下五个机制:连接失效发现机制、连接恢复探测机制、连接失效及恢复通告机制、连接图更新机制和考虑连接失效的路由计算机制。
如图1所示,本实施例提供的空间延迟容忍网络连接意外失效的应对方法包括如下步骤:
S1、使用连接失效发现机制根据链路中束的传输情况判断连接是否发生意外失效;
S2、当发现连接失效时,使用连接失效及恢复通告机制将失效的连接通告其他节点;考虑到连接失效既可能是电磁干扰引起的暂时失效也可能是空间节点故障引起的永久失效,在使用连接失效及恢复通告机制将失效的连接通告其他节点之后,基于连接恢复探测机制,利用连接恢复探测束及时检测失效的连接是否恢复,当判断该连接恢复后使用连接失效及恢复通告机制将恢复的连接通告其他节点;
S3、当节点接收到连接状态通告信息(连接失效通告信息或连接恢复通告信息)后,使用连接图更新机制更新该节点本地连接计划中相应连接的失效状态;
S4、使用考虑连接失效的路由计算机制的连接图路由CGR为束计算路由,将失效连接排除在外,并优先转发剩余生存时间小的束。
本实施例提供的空间延迟容忍网络连接意外失效的应对方法可以及时地避免不必要的重传,降低传递时延。
其中
步骤S1“使用连接失效发现机制根据链路中束的传输情况判断连接是否发生意外失效”的具体过程为:
连接失效发现机制修改了连接计划中原有的连接信息格式,为连接加入失效状态标志位,并新建立了束重传记录列表和失效连接记录列表,分别用来记录发生重传的束和失效的连接。
新定义的连接信息格式如表2所示:
表2新定义的连接信息格式
连接失效状态标志位为1代表连接失效,为0代表连接恢复。
束重传记录列表用来记录发生重传的束,记录的内容包括束的源节点、源服务号、生成时间戳和下一跳节点。格式如表3所示:
表3束重传记录列表格式
束的源节点、源服务号和生成时间戳为束的唯一标识,用来识别不同的束,束的下一跳节点标识发生重传的邻居连接,通过这些信息可以唯一的确定发生在本地节点到下一跳邻居节点的连接上发生重传的束。
CGR使用连接表示连接信息,当节点检测到束为重传束之后,继续检测束重传记录列表中是否已存在该束的记录,如果不存在则按照表3记录束的重传信息,当该束传输成功时再将束的重传信息从束重传列表中删除;如果存在,则检查记录中的下一跳节点与束的下一跳节点是否一致,如果不一致则更新束的重传记录,将记录中的下一跳节点改为束当前的下一跳节点,如果一致则表明束在同一条连接上发生了连续两次重传,将本地节点到束的下一跳节点的连接视为暂时失效,随后在本地连接计划中将起始节点为本地节点、终止节点为束下一跳节点的连接标记为失效,使用新的连接计划为束重新计算路由,并检查失效连接记录列表中有无该失效连接的记录,如果没有则记录该失效连接。失效连接记录列表格式如表4所示:
表4失效连接记录列表格式
失效连接记录列表记录失效连接的起始节点、终止节点、终止时间、最小检测时间间隔BDCT(basic disrupted contact check time)、连接恢复探测定时器、失效通告发送标志位和连接恢复标志位。最小检测时间间隔作为设置连接恢复探测定时器的基准,将定时器设置为最小检测间隔BDCT的整数倍,当定时器到期后,向失效连接的终止节点发送连接恢复探测束来检查连接是否恢复,定时器具体设置方式和连接恢复探测束的格式在连接恢复探测机制中描述。当连接被判断为失效后计算BDCT,并将首次连接恢复探测定时器设置为BDCT。BDCT根据失效连接的持续时间决定,使用连接持续时间的百分之一作为BDCT,比例可调:
失效连接记录列表中失效通告发送标志位用来标记是否已向其他节点发送过该连接的失效状态通告,初始化设置为0,当发送过失效通告后,将失效通告发送标志位标记为1。连接恢复标志用来标记连接是否已经恢复,如果恢复则标记为1。另外当列表中的失效连接到达其终止时间后,将该失效连接记录在失效连接记录列表中删除。
步骤S2中“使用连接恢复探测机制及时检测失效的连接是否恢复”的具体过程为:
当BDCT秒过去之后,连接恢复探测定时器过期,节点将发送连接恢复探测束到失效的邻居节点来检查连接是否已经恢复。探测束发送之后,重新设置连接恢复探测定时器为2*BDCT。我们使用束协议预留的标志位和服务号15来标记连接恢复探测束,将探测束的源节点设置为本地节点,目的节点设置为失效连接的终止节点,源和目的服务号设置为15,发送内容为字符1。
连接恢复探测机制使用连接恢复探测定时器来限制连接恢复探测束的发送间隔,避免发送大量的连接恢复探测信息对卫星能量等资源产生大量的消耗,同时使用最大探测间隔MT(maximum check time)来保证探测粒度,如果下一次连接恢复探测定时器的时间大于MT,则将定时器直接设置成MT。当发送连接恢复探测束后如果连接还未恢复,则连接恢复探测束将被重传,当发送节点检测到连接恢复探测束重传时,将连接恢复探测束从存储中移除。当2*BDCT秒之后,发送另一个连接恢复探测束,并将连接恢复探测定时器设置为3*BDCT。重复这个过程直到连接恢复或者连接恢复探测定时器时间超过MT。当连接恢复探测定时器超过MT后将连接恢复探测定时器设置为固定值MT,MT可根据需要进行设置,比如设置为30秒或60秒。
当连接恢复探测束传输成功后,本地发送节点在失效列表中找到起始节点为本地节点、终止节点为所探测邻居节点的连接,将表4中该连接的连接恢复标志位标记为1。
步骤S2中“当发现连接失效时,使用连接失效及恢复通告机制将失效的连接通告其他节点”和“使用连接失效及恢复通告机制将恢复的连接通告其他节点”的具体过程为:
当发现连接失效或探测到连接恢复之后使用连接失效状态通告束向其他节点通告连接失效状态,通告信息放在束的负载部分,连接失效状态通告束格式如表5所示:
表5连接失效状态通告束格式
起始节点、终止节点、起始时间、终止时间用来识别连接,失效标志用来表示连接的失效状态,为1时表示连接发生失效,为0则代表连接已经恢复,通告的连接信息放在束的负载部分。我们使用bundle协议预留标志位和服务号16来标记连接失效状态通告束,将通告束的源节点设置为本地节点、目的节点为通告域内的节点、源和目的服务号均为16。
该机制中节点每隔1秒遍历一次失效连接记录列表,当发现列表中记录有失效连接时向其他节点发送连接失效状态通告束,通告连接失效信息,并将失效连接记录列表中该连接的失效通告发送标志位标记为1,表示已经发送过该连接的失效通告,以后将不再发送该失效通告。同样,检测连接恢复标志位是否为1,如果为1则说明连接已经恢复,在本地连接计划中将相应的连接失效状态标记为恢复,使用连接失效状态通告束向其他节点通告连接恢复信息,并在连接失效记录列表中将相应的连接记录删除。由于某些节点可能使用不到该失效的连接,通告机制使用失效通告域CDAG(Contact Disruption AnnounceGroup)限制连接失效状态通告束只向通告域内的节点发送,以保证通告束的有用性,减少不必要的传输。CDAG定义如下:
CDAG={连接计划中满足开始时间小于失效连接终止时间的所有连接的开始节点和终止节点}
因为只有开始时间小于失效连接终止时间的连接才有机会使用到该失效的连接,因此CDAG限制通告只发往这些连接的开始节点和终止节点。比如连接1的起始节点、终止节点、起始时间、终止时间分别为1、2、100s、300s,连接2的分别为3、4、200s、400s,连接3分别为5、6、400s、500s,当连接1失效时,由于连接2的开始时间小于连接1的终止时间,连接3的开始时间大于连接1的终止时间,则通告域为连接2的开始节点和终止节点即3和4。通告信息的生存时间设置为信息发送时刻与失效连接终止时刻的时间差。
步骤S3中“使用连接图更新机制更新本地连接计划中相应连接的失效状态”的具体过程为:
当节点接收到束之后,首先判断束是否为发往本地节点的连接失效状态通告束,如果是则读取出通告的连接信息,包括起始节点、终止节点、起始时间、终止时间、失效标志位。如果失效标志位为1,则代表相应的连接发生失效状况,更新本地连接计划,将其失效标志位标记为1;若失效标志位为0,则代表相应失效连接已经恢复,在本地连接计划中将其失效标志位标记为0。
步骤S4“使用考虑连接失效的路由计算机制的连接图路由CGR为束计算路由,将失效连接排除在外,并优先发送剩余生存时间小的束”的具体过程为:
当节点计算路径时考虑路径中每段连接的失效状态,如果失效标志位为1则将该连接从路径中排除,如果失效标志位为0则继续使用,同时考虑到达束的剩余生存时间,优先发送剩余生存时间小的束。
步骤S1进一步包括如下子步骤:
S1.1、在节点的连接计划中原有的连接信息中加入失效状态标志位,并建立束重传记录列表和失效连接记录列表,束重传记录列表包括束的源节点、源服务号、生成时间戳和下一跳节点,失效连接记录列表包括失效连接的起始节点、终止节点、终止时间、最小检测时间间隔、连接恢复探测定时器、失效通告发送标志位和连接恢复标志位;
S1.2、根据链路中束的传输情况,利用失效状态标志位、束重传记录列表和失效连接记录列表判断连接是否发生意外失效。
如图2所示,步骤S1.2进一步包括如下子步骤:
S1.2.1、当束到来时,首先判断束的目的节点是否为本地节点,如果是则执行步骤S1.2.2,否则执行步骤S1.2.3;
S1.2.2、根据束的标志位和目的服务号判断束是否为连接失效状态通告束,如果是则在连接计划中更新所通告连接的失效状态;
S1.2.3、判断束是否发生重传,如果不是则执行步骤S4,否则执行步骤S1.2.4;
S1.2.4、根据束的标志位和目的服务号检查是否为连接恢复探测束,如果是则连接恢复探测束发生了重传,说明连接尚未恢复,将该束丢弃,否则执行步骤S1.2.5;
S1.2.5、检查束重传记录列表中是否有该束的记录,如果没有则记录束的重传信息,包括束的源节点、源服务号、生成时间戳、下一跳节点,随后执行步骤S4转发该束;如果有,则执行步骤S1.2.6;
S1.2.6、判断束的下一跳节点和重传记录中的下一跳节点是否一致,如果不一致则更新束的重传记录,将记录中的下一跳节点改为束当前的下一跳节点,随后执行步骤S4,否则执行步骤S1.2.7;
S1.2.7、此时说明该束已经在同一条路径上经历了连续的重传,判断本地节点到束的下一跳节点的连接发生失效状况,在本地连接计划中将本地节点到束下一跳节点的连接标记为失效;检查失效连接记录列表中是否已存在该连接的记录,如果不存在,则在连接失效记录列表中记录该失效连接的信息,包括起始节点、终止节点、终止时间、最小探测时间间隔、连接恢复探测定时器,随后执行步骤S4,如果已存在该连接的失效记录,则不再记录,直接执行步骤S4;
步骤S4的具体过程为:
为束计算路由,如果束是连接恢复探测束,则发往所探测的邻居节点;如果不是,则在计算路由时将失效的连接排除在路径之外,并比较该束与队列中的束的剩余生存时间,按剩余生存时间由小到大顺序发送。
如图3所示,步骤S2进一步包括如下子步骤:
S2.1、当节点启动DTN程序时,打开失效连接记录列表,执行步骤S2.2;
S2.2、检查列表中是否存在失效连接记录,如果存在则找到第一条失效连接记录,执行步骤S2.3,否则执行步骤S2.10;
S2.3、检查该失效连接记录的失效恢复标志位是否为1,如果是则说明失效的连接已经恢复,执行步骤S2.4,否则说明失效的连接还没有恢复,执行步骤S2.5;
S2.4、首先在本地连接计划中将相应连接的失效状态标志位标记为0,然后按照连接失效及恢复通告机制中描述的方式根据连接记录中的终止时间计算失效通告域,将通告束格式中的失效标志标记为0,生成连接失效状态通告束发送给失效通告域中的节点,告知其他节点连接已经恢复,之后删除失效记录列表中关于该连接的记录,随后执行步骤S2.9,检查列表中记录的下一条失效连接;
S2.5、检查失效通告发送标志位是否为1,如果为1,则说明已经发送过关于该连接的失效通告,执行步骤S2.7,如果不为1则说明还没有发送失效通告,执行步骤S2.6;
S2.6、按照连接失效及恢复通告机制中描述的方式,将通告束格式中的失效标志标记为1,根据连接记录中的终止时间计算该连接的失效通告域,告知其他节点连接已经失效,并将失效记录中的失效通告发送标志标记为1,之后执行步骤S2.7;
S2.7、检查连接失效恢复探测定时器是否到期,如果到期则执行步骤S2.8,否则执行步骤S2.9,检测下一条失效记录;
S2.8、发送连接恢复探测束,束的目的节点设置为该连接的终止节点,服务号设置为16,并按照连接恢复探测机制中描述的方式重新设置连接恢复探测定时器,之后执行步骤S2.9,检查下一条失效连接记录;
S2.9、检查下一条失效连接记录是否存在,如果存在则对其执行步骤S2.3;如果不存在,则说明已经遍历完连接记录,执行步骤S2.10;
S2.10、休眠一秒,然后返回步骤S2.2,执行新一轮检测。
如图4所示,步骤S2还包括如下子步骤:
S2.11、当束发送成功后检查束是否为连接恢复探测束,如果是则说明连接已经恢复,执行步骤S2.12;如果不是执行步骤S2.13;
S2.12、从失效连接记录列表中找到起始节点是本地节点、终止节点是束的下一跳节点的连接,将该连接的失效恢复标志位标记为1,在图3所示连接恢复探测流程的步骤S2.3中作为连接恢复的标志;
S2.13、检查束重传记录列表中是否记录有该束的信息,如果有则删除该记录;如果没有则说明束未发生重传现象,执行CGR默认操作,不做附加处理。
下面将本实施例提供的空间延迟容忍网络连接意外失效的应对方法应用于如图5所示的场景中,对本发明做进一步的说明:
图5所示的场景为模拟卫星节点向地面数据中心发送数据的场景,场景中,空间节点运行DTN协议,地面节点运行TCP/IP协议,网关负责实现DTN协议向IP协议的转换,数据发送节点为卫星1,目的节点为数据中心,数据首先会以束的形式发送到网关5,经网关进行DTN协议向IP协议的转换后使用IP网络发送到数据中心。假设卫星节点2到卫星节点3的连接持续时间为1秒到1000秒,在30秒由于节点3的天线发生故障,节点2到3的连接产生连接意外失效的状况,失效持续时间为600s。假设节点1和节点2之间连接的开始时间为1s,终止时间为1000s,节点3和5之间连接的开始时间和终止时间分别为1s和1000s,节点1和4之间连接的分别为100s和1100s,节点4和6之间连接的分别为100s和1100s,节点6和5之间连接的分别为100s和1100s,节点4和7之间连接的分别为1200s和2200s,最大探测间隔MT为35s。以下步骤为一个完整的失效应对方法流程。
在源节点卫星1执行以下操作:
步骤1:源节点卫星1向数据中心发送数据,共两条路径可用,一条为1>2>3>5到达网关,然后通过地面IP网络传输到数据中心,另一条为1>4>6>5到达网关5,然后通过地面IP网络传输到数据中心。首先节点1根据原始配置计算出束在在空间网络中使用路径1>2>3>5到达网关5的时间比路径1>4>6>5路径到达网关5的时间要早,因此选择1>2>3>5为最佳路径传输束,即虚线箭头所指路径,在30秒之前该路径可以正常使用。
步骤2:当30秒之后,节点2到3的连接发生失效,而此时节点1并不知道失效状况,将继续使用路径1>2>3>5发送束,因为失效的连接并不会影响到节点1到节点2的连接,所以束可以正常的到达节点2,但是束将在节点2到3的连接上发生重传现象,节点2会使用连接失效应对方法发现失效的连接并发送连接失效状态通告束,具体实现步骤在节点2具体描述。
步骤3:当节点1接收到节点2发送的束后,判断是否为发往本地的连接失效状态通告束,当发现是连接失效状态通告束之后,更新连接计划,将节点2到节点3的连接标记为失效,在计算路由时,将节点2和节点3之间的连接从路径中排除,选择使用次优路径1>4>6>5,在600s秒之前将一直使用路径1>4>6>5发送束,即实现箭头所指路径;
步骤4:当600秒之后,节点2使用连接失效应对方法发现节点2到节点3的连接已经恢复,此时将再次发送失效状态通告束通告节点2到节点3之间的连接已经恢复。当节点1识别发过来的连接失效状态通告束,发现节点2到节点3的连接已经恢复,此时在本地连接计划中将节点2到节点3的连接标记为恢复,后续束将继续使用路径1>2>3>5发送。
在卫星节点2执行以下步骤操作:
步骤1:当DTN程序启动时,启动连接恢复探测机制,每隔一秒检测一次失效连接记录列表。同时对于到来的束,节点2首先会使用图2连接失效探测流程图所示流程检查是否为发往本地的失效状态通告束,因为实施例中只有节点2到节点3的路径失效,因此节点2不会接收到目的节点为自己的失效状态通告。之后节点2将检测束是否为重传的束,由于在30s之前没有连接失效状况发生,所有束都可以正常发送,没有重传的束,因此节点2直接为束计算路由,束将按照路径2>3>5成功传输。
步骤2:当束传输成功后,按照图4连接恢复判断流程图所示流程执行相应操作,首先节点2会检查传输成功的束是否为连接恢复探测束,因为在30秒前没有失效状况发生,因此不会有探测束,对束执行CGR默认处理,不做附加处理。
步骤3:当第30秒后,卫星节点2到3的连接出现意外失效的状况,此时数据在节点2到3的连接上将无法传输,根据LTP协议重传机制,当节点2发出的检查点未及时收到节点3回应的报告段时,将出现检查点的重传,当节点2发出的检查点连续重传十次均未收到回应时,节点2将数据块中聚合的束取出,重新计算路由,此时束将发生重传现象。
步骤4:按图2流程,当节点2检测到束为重传束之后,查看束重传记录列表中有无关于该束的记录,由于此时是第一次重传,并没有记录,则按照连接失效发现机制中描述的束重传记录格式,记录束的源节点、源服务号、生成时间戳、下一跳节点,之后为束重新计算路由,由于此时尚未发现2到3的连接发生意外失效问题,因此节点2计算得到的最优路径仍为2>3>5。
步骤5:由于连接还处于失效状态中,节点3此时依然无法回应报告段,节点2发出的检查点将会继续重传,当LTP协议中的检查点传输次数再次超过十次时,束将再次重传。
步骤6:当节点2检测到束为重传束时,查找束重传记录列表中关于重传束的记录。发现束重传记录列表中存在关于该束的记录,且记录中的下一跳节点和束的下一跳节点均为节点3,则判断节点2到节点3的连接发生了失效状况,在束重传记录列表中将该束的记录删除,在本地接触计划中更新连接信息,并将节点2到3的连接标记为失效;随后查看失效连接记录列表中有无该连接的失效记录,因为是第一次检查到失效,所以失效连接记录列表中并无记录,在失效连接列表中记录失效连接的开始节点为2、终止节点为3、终止时间为1000s、BDCT为10s,第一次设置连接恢复探测定时器为BDCT(10s)、失效通过标志位为0、失效恢复标志位0;并为重传的束使用新的连接计划重新计算路由,此时连接计划中的连接信息已有失效记录,因此计算路由时会将束返回到节点1。
步骤7:节点2按图3流程每隔一秒遍历一次失效连接记录列表,此时将检查到失效连接记录列表中存在失效连接的记录,查看失效连接信息,检查到连接恢复标志位为0,判断此时连接还没有恢复;继续检查到失效通告标志位为0,表示尚未向其他节点发送关于该连接的失效状态通告束,随后节点2将计算失效状态通告域,然后按照表3格式发送连接失效状态通告束,并将记录中的失效通告发送标志位标记为1。根据通告域规则,节点4到7的连接开始时间为1200秒,小于失效的节点2到节点3间的连接终止时间1000s,因此按照4和7之间的连接开始时间计算的通告域不包含节点4和7,但是节点4到6间连接开始时间为100s,小于失效连接的终止时间,因此按照该连接计算的通告域将包含节点4,同理可得到最终的通告域为{1、3、4、5、6},不含节点7。
步骤8:节点2继续检查连接恢复探测定时器有没有到期,发现此时还没有到期,之后检测发现没有下一条失效连接记录,此时休眠1秒;
步骤9:1秒过后,节点2继续遍历一次失效连接记录列表,此时检测到卫星2到3的连接失效记录,发现恢复标志位为0,表示尚未恢复,通告标志位为1,表明已经发送过通告。再检测探测定时器设置,发现定时器尚未到期,休眠1秒;
步骤10:1秒过后节点2再次检查,发现定时器还没有到期,继续休眠1秒;重复这个过程知道定时器到期;当检查到探测定时器到期时,发送连接恢复探测束到邻居节点3,并按照连接恢复探测机制中描述的探测定时器设置方式设置下次恢复探测束的发送定时器为20s。
步骤11:在600s之前节点2到节点3的连接还没有恢复,此时发送的探测束同样将发生重传,当节点2发现重传的束是探测束后,直接删除该束。
步骤12:当20s之后定时器再次到期,重新发送连接探测束,并按照格式设置定时器为30s;同样连接还未恢复,则检查到重传的连接恢复探测束后将束删除。
步骤13:当30s过去之后,此时连接恢复探定时器到期,再次发送连接恢复探测束,因为此时4*BDCT为40s,大于MT(35s),故将定时器设置为35s;当35s之后,定时器再次过期,发送探测束,并将定时器设置为MT,重复这个过程直到连接恢复。
步骤14:当600s之后节点2和3之间的连接已经恢复,此时探测束将会发送成功。此时连接恢复判断机制检测到传输成功的束为连接恢复探测束,判断本地节点2到探测束目的节点3的连接已经恢复,在失效连接列表中将连接恢复标志位标记为1。
步骤14:当节点2遍历失效列表时发现节点2到3的连接恢复标志位1,表明连接已经恢复,此时更新本地连接计划,将相应连接标记为恢复,并计算失效状态通告域,向通告域内的节点发送连接恢复信息,随后在失效记录列表中将该恢复的连接记录删除。
步骤15:由于已经向其他节点告知节点2到3的连接已回访,节点1将再次把束发往节点2,;当节点2接收到束之后发现本地连接计划中节点2到节点3的连接已经恢复,则重新使用路径2>3>5发送已经发过来的束。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (6)
1.一种空间延迟容忍网络连接意外失效的应对方法,其特征在于,该方法包括如下步骤:
S1、根据链路中束的传输情况判断连接是否发生意外失效;
S2、当发现连接失效时,将失效的连接通告其他节点,并利用连接恢复探测束检测失效的连接是否恢复,当判断该连接恢复后将恢复的连接通告其他节点;
S3、当节点接收到连接失效通告信息或连接恢复通告信息后,更新该节点本地连接计划中相应连接的失效状态;
S4、为束计算路由,将失效连接排除在外,并优先转发剩余生存时间小的束;
其中,步骤S1进一步包括如下子步骤:
S1.1、在节点的连接计划中原有的连接信息中加入失效状态标志位,并建立束重传记录列表和失效连接记录列表,束重传记录列表记录束的源节点、源服务号、生成时间戳和下一跳节点,失效连接记录列表记录失效连接的起始节点、终止节点、终止时间、最小检测时间间隔、连接恢复探测定时器、失效通告发送标志位和连接恢复标志位;
S1.2、根据链路中束的传输情况,利用失效状态标志位、束重传记录列表和失效连接记录列表判断连接是否发生意外失效;
步骤S1.2进一步包括如下子步骤:
S1.2.1、当束到来时,首先判断束的目的节点是否为本地节点,如果是则执行步骤S1.2.2,否则执行步骤S1.2.3;
S1.2.2、根据束的标志位和目的服务号判断束是否为连接失效状态通告束,如果是则在连接计划中更新所通告连接的失效状态;
S1.2.3、判断束是否发生重传,如果不是则执行步骤S2,否则执行步骤S1.2.4;
S1.2.4、根据束的标志位和目的服务号检查是否为连接恢复探测束,如果是则连接恢复探测束发生了重传,将该束丢弃,否则执行步骤S1.2.5;
S1.2.5、检查束重传记录列表中是否有该束的记录,如果没有则记录束的重传信息,所述重传信息包括束的源节点、源服务号、生成时间戳和下一跳节点,随后执行步骤S2;如果有则执行步骤S1.2.6;
S1.2.6、判断束的下一跳节点和重传记录中的下一跳节点是否一致,如果不一致则更新束的重传记录,将记录中的下一跳节点改为束当前的下一跳节点,并执行步骤S2;否则执行步骤S1.2.7;
S1.2.7、判断本地节点到束的下一跳节点的连接发生失效状况,在本地连接计划中将本地节点到束下一跳节点的连接标记为失效;检查失效连接记录列表中是否已存在该连接的记录,如果不存在,则在失效连接记录列表中记录该失效连接的信息,所述失效连接的信息包括起始节点、终止节点、终止时间、最小探测时间间隔和连接恢复探测定时器,并执行步骤S2;如果已存在该连接的记录则不再记录,执行步骤S2。
2.根据权利要求1所述的空间延迟容忍网络连接意外失效的应对方法,其特征在于,所述连接失效状态通告束的负载部分记录连接的起始节点、终止节点、起始时间、终止时间和失效标志。
3.根据权利要求1所述的空间延迟容忍网络连接意外失效的应对方法,其特征在于,步骤S2进一步包括如下子步骤:
S2.1、节点打开失效连接记录列表,执行步骤S2.2;
S2.2、检查列表中是否存在失效连接记录,如果存在则找到第一条失效连接记录,执行步骤S2.3;否则执行步骤S2.10;
S2.3、检查该失效连接记录的失效恢复标志位是否为1,如果是则说明失效的连接已经恢复,执行步骤S2.4;否则说明失效的连接还没有恢复,执行步骤S2.5;
S2.4、在本地连接计划中将相应连接的失效状态标志位标记为0,根据失效连接记录中的终止时间计算失效通告域,将通告束格式中的失效标志标记为0,生成连接失效状态通告束发送给失效通告域中的节点,告知其他节点连接已经恢复,删除失效连接记录列表中关于该连接的记录,执行步骤S2.9,检查列表中记录的下一条失效连接;
S2.5、检查失效通告发送标志位是否为1,如果是则说明已经发送过关于该连接的失效通告,执行步骤S2.7;否则说明还没有发送失效通告,执行步骤S2.6;
S2.6、根据失效连接记录中的终止时间计算该连接的失效通告域,将通告束格式中的失效标志标记为1,生成连接失效状态通告束发送到失效通告域内的节点,告知其他节点连接已经失效,并将失效记录中的失效通告发送标志标记为1,执行步骤S2.7;
S2.7、检查连接失效恢复探测定时器是否到期,如果到期则执行步骤S2.8,否则执行步骤S2.9;
S2.8、发送连接恢复探测束,束的目的节点设置为该连接的终止节点,服务号设置为16,并重新设置连接恢复探测定时器,执行步骤S2.9;
S2.9、检查下一条失效连接记录是否存在,如果存在则对其执行步骤S2.3;如果不存在,则说明已经遍历完失效连接记录,执行步骤S2.10;
S2.10、休眠一秒,返回步骤S2.2,执行新一轮检测。
4.根据权利要3所述的空间延迟容忍网络连接意外失效的应对方法,其特征在于,步骤S2还包括如下子步骤:
S2.11、当束发送成功后检查束是否为连接恢复探测束,如果是则说明连接已经恢复,执行步骤S2.12;否则执行步骤S2.13;
S2.12、从失效连接记录列表中找到起始节点是本地节点、终止节点是束的下一跳节点的连接,将该连接的失效恢复标志位标记为1,在步骤S2.3中作为连接恢复的标志;
S2.13、检查束重传记录列表中是否记录有该束的信息,如果有则删除该记录。
5.根据权利要3所述的空间延迟容忍网络连接意外失效的应对方法,其特征在于,所述失效通告域为连接计划中满足开始时间小于失效连接终止时间的所有连接的开始节点和终止节点。
6.根据权利要求1所述的空间延迟容忍网络连接意外失效的应对方法,其特征在于,步骤S4的具体过程为:
为束计算路由,如果束是连接恢复探测束,则发往所探测的邻居节点;如果不是,则在计算路由时将失效的连接排除在路径之外,并比较该束与队列中的束的剩余生存时间,按剩余生存时间由小到大顺序发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610021507.4A CN105681203B (zh) | 2016-01-14 | 2016-01-14 | 一种空间延迟容忍网络连接意外失效的应对方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610021507.4A CN105681203B (zh) | 2016-01-14 | 2016-01-14 | 一种空间延迟容忍网络连接意外失效的应对方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105681203A CN105681203A (zh) | 2016-06-15 |
CN105681203B true CN105681203B (zh) | 2018-07-20 |
Family
ID=56300377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610021507.4A Expired - Fee Related CN105681203B (zh) | 2016-01-14 | 2016-01-14 | 一种空间延迟容忍网络连接意外失效的应对方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105681203B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833063B (zh) * | 2018-08-29 | 2021-04-27 | 新华三技术有限公司 | 一种报文重传方法及装置 |
CN111147198B (zh) * | 2020-01-02 | 2021-05-25 | 中科驭数(北京)科技有限公司 | 数据重传方法和装置 |
CN111262941B (zh) * | 2020-01-17 | 2021-08-20 | 杭州涂鸦信息技术有限公司 | 重连云端服务器的方法及电子设备 |
CN111510380B (zh) * | 2020-04-13 | 2022-08-09 | 中国人民解放军国防科技大学 | 一种用于延迟容忍网络的容错路由方法、装置和*** |
CN112803988B (zh) * | 2021-01-25 | 2022-08-02 | 哈尔滨工程大学 | 基于链路误码率预测的混合接触图路由方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571571A (zh) * | 2011-12-28 | 2012-07-11 | 南京邮电大学 | 一种应用于时延容忍网络的多层次有效路由方法 |
CN102780637A (zh) * | 2012-08-14 | 2012-11-14 | 虞万荣 | 空间容迟容断网络中数据传输的路由方法 |
CN102883397A (zh) * | 2012-09-07 | 2013-01-16 | 航天恒星科技有限公司 | 一种面向空间环境dtn网络的数据转发方法 |
CN105072031A (zh) * | 2015-08-04 | 2015-11-18 | 北京航空航天大学 | 一种基于链路传输能力的容迟容断网络路由方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8149716B2 (en) * | 2007-08-20 | 2012-04-03 | Raytheon Bbn Technologies Corp. | Systems and methods for adaptive routing in mobile ad-hoc networks and disruption tolerant networks |
-
2016
- 2016-01-14 CN CN201610021507.4A patent/CN105681203B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571571A (zh) * | 2011-12-28 | 2012-07-11 | 南京邮电大学 | 一种应用于时延容忍网络的多层次有效路由方法 |
CN102780637A (zh) * | 2012-08-14 | 2012-11-14 | 虞万荣 | 空间容迟容断网络中数据传输的路由方法 |
CN102883397A (zh) * | 2012-09-07 | 2013-01-16 | 航天恒星科技有限公司 | 一种面向空间环境dtn网络的数据转发方法 |
CN105072031A (zh) * | 2015-08-04 | 2015-11-18 | 北京航空航天大学 | 一种基于链路传输能力的容迟容断网络路由方法 |
Non-Patent Citations (2)
Title |
---|
Towards flexibility and accuracy in space DTN communications;Nikolaos Bezirgiannidis等;《CHANTS "13 Proceedings of the 8th ACM MobiCom workshop on Challenged networks》;20130930;第43-48页 * |
一种针对DTN通道失效的可靠性方法研究;邵清等;《计算机仿真》;20130515;第187-190页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105681203A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105681203B (zh) | 一种空间延迟容忍网络连接意外失效的应对方法 | |
CN100417080C (zh) | 一种检测网络链路故障并定位故障的方法 | |
CN101953124B (zh) | 在数据通信网络中构造绕过多条不可用链路的修复路径 | |
US7715396B2 (en) | Network routing | |
JP6264743B2 (ja) | 重複パケット抑制 | |
CN105636011A (zh) | 通信方法、***和装置 | |
CN107547371A (zh) | 一种报文转发方法及装置 | |
US20060104210A1 (en) | Dynamic network management | |
US20070070909A1 (en) | Resilient network | |
CN1983911B (zh) | 网络通信设备中传输数据的方法和网络通信*** | |
CN101335689A (zh) | 跟踪路由的实现方法及设备 | |
JP5363658B1 (ja) | 中継装置、中継装置の制御方法、及び、ネットワークシステム | |
CN103391247A (zh) | 多点标签交换路径的使用无环备用下一跳的快速重路由 | |
CN101572584B (zh) | 报文错误检测方法、设备及*** | |
CN104038322B (zh) | 中间节点、通信网络及其数据传输控制方法 | |
CN103795570B (zh) | 环形拓扑的堆叠交换机***的单播报文恢复方法及装置 | |
CN103166852A (zh) | Mpls网络中lsp的路径追踪方法和路由设备 | |
US8239555B2 (en) | Method and apparatus for mobility agent recovery | |
US8254271B1 (en) | Point-to-multipoint connectivity verification | |
CN108449276B (zh) | 路由收敛方法及装置 | |
WO2012075934A1 (zh) | 消息循环的检测方法、路由代理设备及组网*** | |
CN104885523B (zh) | 故障处理方法、分组数据网络、移动管理实体及网络*** | |
CN101964743A (zh) | 多协议标签交换路径aps保护管理方法、设备及*** | |
CN101453744B (zh) | 业务控制方法及装置 | |
CN107612772A (zh) | 支付***的节点状态探测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180720 Termination date: 20220114 |