CN108833063B - 一种报文重传方法及装置 - Google Patents
一种报文重传方法及装置 Download PDFInfo
- Publication number
- CN108833063B CN108833063B CN201810995442.2A CN201810995442A CN108833063B CN 108833063 B CN108833063 B CN 108833063B CN 201810995442 A CN201810995442 A CN 201810995442A CN 108833063 B CN108833063 B CN 108833063B
- Authority
- CN
- China
- Prior art keywords
- rto
- network device
- message
- rtos
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明提供一种报文重传方法及装置,所述方法包括:根据第一超时时间确定重传超时时间RTO;其中,所述第一超时时间为所述第一网络设备在未接收到所述第二网络设备发送的报文的情况下维持所述邻居关系的最长时间;基于所述RTO进行针对所述第二网络设备的报文重传。应用本发明实施例可以提高业务可靠性。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种报文重传方法及装置。
背景技术
TCP(Transmission Control Protocol,传输控制协议)协议的可靠性中最重要的一个机制是处理数据超时和重传。影响TCP协议的超时重传机制的一个关键参数是RTO(Retransmission Time Out,重传超时时间),发送端发送报文之后,若未在RTO内接收到确认信息,则进行报文重传,直至报文重传成功或达到预设最大重传次数。
其中,报文重传的RTO通常会随着报文重传次数指数增加,例如,假设第一次报文重传的RTO为1,则之后报文重传的RTO可以分别为2、4、8、16…等,直至达到预设RTO最大值时,一直按照该预设RTO最大值进行报文重传。
然而实践发现,TCP协议中报文重传的RTO并不受基于TCP协议的上层应用(如BGP(Border Gateway Protocol,边界网关协议)协议或LDP(Label Distribution Protocol,标签分发协议)协议等)的影响和控制。当基于TCP协议的上层应用能够容忍的在不存在报文交互的超时时间(如BGP协议的holdtime(保持时间)超时时间)小于TCP协议的单个报文的最长发送时间(发送一个报文开始计时到该报文多次重传失败放弃重传为止的时间)时,接收端可能会在发送端完成报文重传之前断开与接收端之间的TCP连接,导致上层应用的业务频繁中断。
发明内容
本发明提供一种报文重传方法及装置,以解决现有报文重传方案中TCP协议的上层应用能够容忍的超时时间小于发送单个报文的最长发送时间导致的业务频繁中断的问题。
根据本发明的第一方面,提供一种报文重传方法,应用于包括第一网络设备和第二网络设备的组网中的第一网络设备,所述第一网络设备与所述第二网络设备之间建立有基于TCP连接的邻居关系,所述方法包括:
根据第一超时时间确定重传超时时间RTO;其中,所述第一超时时间为所述第一网络设备在未接收到所述第二网络设备发送的报文的情况下维持所述邻居关系的最长时间;
基于所述RTO进行针对所述第二网络设备的报文重传。
结合第一方面,在第一种可能的实现方式中,所述根据第一超时时间确定RTO,包括:
将所述第一超时时间作为所述第一网络设备与所述第二网络设备之间发送单个报文的最长发送时间;
利用所述最长发送时间、单个报文的最大重传次数以及多个RTO之间的时间比例,得到第一基准RTO;
其中,所述最长发送时间为多个RTO的和值,对于所述第一网络设备发送给所述第二网络设备的任一报文,基准RTO为所述第一网络设备对该报文进行第一次报文重传的RTO;
根据所述第一基准RTO确定所述RTO。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述第一基准RTO确定RTO,包括:
比较所述第一基准RTO与所述第一网络设备按照TCP协议确定的第二基准RTO;
将所述第一基准RTO与所述第二基准RTO中的最小值确定为当前使用的基准RTO;
根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述根据所述第一基准RTO确定RTO,包括:
比较所述第一基准RTO与所述第一网络设备按照TCP协议确定的第二基准RTO;
当向所述第二网络设备发布路由时,将所述第一基准RTO与所述第二基准RTO中的最小值确定为当前使用的基准RTO,并根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO;
当向所述第二网络设备发送保活报文时,将所述第一基准RTO确定为当前使用的基准RTO,并根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
结合第一方面,在第四种可能的实现方式中,所述根据第一超时时间确定RTO,包括:
确定所述第一超时时间与预设最大重传次数的平均值;
将所述平均值与所述第一网络设备按照TCP协议确定的RTO中的最小值确定为当前使用的RTO。
根据本发明的第二方面,提供一种报文重传装置,应用于包括第一网络设备和第二网络设备的组网中的第一网络设备,所述第一网络设备与所述第二网络设备之间建立有基于TCP连接的邻居关系,所述装置包括:
确定单元,根据第一超时时间确定重传超时时间RTO;其中,所述第一超时时间为所述第一网络设备在未接收到所述第二网络设备发送的报文的情况下维持所述邻居关系的最长时间;
重传单元,用于基于所述RTO进行针对所述第二网络设备的报文重传。
结合第二方面,在第一种可能的实现方式中,所述确定单元,具体用于将所述第一超时时间作为所述第一网络设备与所述第二网络设备之间发送单个报文的最长发送时间;
所述确定单元,还具体用于利用所述最长发送时间、单个报文的最大重传次数以及多个RTO之间的时间比例,得到第一基准RTO;
所述确定单元,还具体用于根据所述第一基准RTO确定所述RTO;
其中,所述最长发送时间为多个RTO的和值,对于所述第一网络设备发送给所述第二网络设备的任一报文,基准RTO为所述第一网络设备对该报文进行第一次报文重传的RTO。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:
第一比较单元,用于比较所述第一基准RTO与所述第一网络设备按照TCP协议确定的第二基准RTO;
所述确定单元,具体用于将所述第一基准RTO与所述第二基准RTO中的最小值确定为当前使用的基准RTO;
所述确定单元,还具体用于根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述装置还包括:
第二比较单元,用于比较所述第一基准RTO与所述第一网络设备按照TCP协议确定的第二基准RTO;
所述确定单元,具体用于当向所述第二网络设备发布路由时,将所述第一基准RTO与所述第二基准RTO中的最小值确定为当前使用的基准RTO,并根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO;
所述确定单元,还具体用于当向所述第二网络设备发送保活报文时,将所述第一基准RTO确定为当前使用的基准RTO,并根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
结合第二方面,在第四种可能的实现方式中,所述确定单元,具体用于确定所述第一超时时间与预设最大重传次数的平均值;
所述确定单元,还具体用于将所述平均值与所述第一网络设备按照TCP协议确定的RTO中的最小值确定为当前使用的RTO。
根据本发明的第三方面,提供一种报文重传装置,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:
根据第一超时时间确定重传超时时间RTO;其中,所述第一超时时间为所述第一网络设备在未接收到所述第二网络设备发送的报文的情况下维持所述邻居关系的最长时间;
基于所述RTO进行针对所述第二网络设备的报文重传。
根据本发明的第四方面,提供一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:
根据第一超时时间确定重传超时时间RTO;其中,所述第一超时时间为所述第一网络设备在未接收到所述第二网络设备发送的报文的情况下维持所述邻居关系的最长时间;
基于所述RTO进行针对所述第二网络设备的报文重传。
应用本发明公开的技术方案,根据第一超时时间确定RTO,并基于所确定的RTO进行针对第二网络设备的报文重传,提高了RTO确定的合理性,避免了在第一超时时间内无法完成报文重传导致的业务中断,提高了业务的稳定性。
附图说明
图1是本发明实施例提供的一种报文重传方法的流程示意图;
图2是本发明实施例提供的一种具体应用场景的示意图;
图3是本发明实施例提供的一种报文重传装置的结构示意图;
图4是本发明实施例提供的另一种报文重传装置的结构示意图;
图5是本发明实施例提供的另一种报文重传装置的结构示意图;
图6是本发明实施例提供的一种报文重传装置的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种报文重传方法的流程示意图,其中,该报文重传方法可以包括第一网络设备与第二网络设备的组网中的第一网络设备,该第一网络设备与第二网络设备之间建立有基于TCP连接的邻居关系,如BGP邻居或LDP邻居等,如图1所示,该报文重传方法可以包括以下步骤:
需要说明的是,在本发明实施例中,第一网络设备和第二网络设备并不特指固定的网络设备,而是可以指代任意两个支持建立基于TCP连接的邻居关系的网络设备,本发明实施例后续不再复述。
步骤101、根据第一超时时间确定RTO;其中,第一超时时间为第一网络设备在未接收到第二网络设备发送的报文的情况下维持邻居关系的最长时间。
本发明实施例中,第一网络设备与第二网络设备建立基于TCP连接的邻居关系后,可以协商好第一超时时间。
其中,该第一超时时间为第一网络设备在未接收到第二网络设备发送的报文的情况下维持该邻居关系的最长时间。
其中,第一网络设备与第二网络设备建立基于TCP连接的邻居关系,以及协商第一超时时间的具体实现可以参见现有相关方案中的相关描述,本发明实施例在此不做赘述。
为了便于理解和说明,下文中以第一网络设备和第二网络设备之间建立的基于TCP邻居关系为BGP邻居关系为例进行说明。
相应地,上述第一超时时间为holdtime超时时间。
本发明实施例中,第一网络设备可以根据与第二网络设备协商的holdtime超时时间确定向第二网络设备进行报文重传时的RTO。
需要说明的是,在本发明实施例中,若未特殊说明,所提及的报文重传均指对通过TCP连接传输的报文进行重传,本发明实施例后续不再复述。
此外,在本发明实施例中,第一网络设备根据第一超时时间确定RTO时包括分别确定多次(由最大重传次数确定)报文重传的RTO,且该多次报文重传的RTO之和小于等于第一超时时间。
例如,假设最大重传次数为N(N>1),则第一网络设备可以根据第一超时时间分别确定N次报文重传的RTO;其中,该N次报文重传的RTO可以完全相同,也可以不完全相同。
在本发明其中一个实施例中,上述根据第一超时时间确定RTO,可以包括:
将第一超时时间作为第一网络设备与第二网络设备之间发送单个报文的最长发送时间;
利用该最长发送时间、单个报文的最大重传次数以及多个RTO之间的时间比例,得到第一基准RTO;其中,该最长发送时间为多个RTO的和值,对于第一网络设备发送给第二网络设备的任一报文,基准RTO为第一网络设备对该报文进行第一次报文重传的RTO;
根据该第一基准RTO确定RTO。
在本发明实施例中,为了使第一网络设备和第二网络设备之间的报文重传在第一超时时间内完成,避免在报文重传完成前第一网络设备和第二网络设备之间的TCP连接被断开引起的业务中断,第一网络设备和第二网络设备协商确定了第一超时时间之后,第一网络设备可以将第一超时时间作为第一网络设备与第二网络设备之间发送单个报文的最长发送时间(即发送一个报文开始计时到该报文多次重传失败放弃重传为止的时间),以保证第一网络设备进行针对第二网络设备的报文重传时,能够在第一超时时间内完成报文重传。
第一网络设备可以根据所确定的最长发送时间(即第一超时时间),单个报文的最大重传次数以及多个RTO之间的时间比例,确定用于向第二网络设备进行报文重传的基准RTO(本文中称为第一基准RTO)。
其中,对于第一网络设备发送给第二网络设备的任一报文,基准RTO为所述第一网络设备对该报文进行第一次报文重传的RTO。
单个报文的最大重传次数,以及多个RTO之间的时间比例可以基于TCP协议预先配置在第一网络设备中。
在本发明实施例中,第一网络设备可以根据所确定的最长发送时间、单个报文的最大重传次数以及多个RTO之间的时间比例,计算确定第一基准RTO。
举例来说,假设发送单个报文的最长发送时间为Tmax,预设RTO确定算法中报文重传的RTO随着报文重传次数指数增加(假设指数为2),即RTO(i+1)为RTOi的2倍(1≤i≤最大重传次数-1),最大重传次数为15次,且RTO的最大值为基准RTO(假设为RTO1)的2的8次方倍,则第二次报文重传的RTO为RTO1*2,第三次报文重传的RTO为RTO1*22,第三次报文重传的RTO为RTO1*24,之后的报文重传的RTO均为RTO1*28,则第一网络设备可以利用以下公式确定RTO1:
RTO1+RTO1*2+RTO1*22+RTO1*24+RTO1*28+…+RTO1*28=Tmax
在本发明实施例中,第一网络设备确定了第一基准RTO之后,可以根据第一基准确定出报文重传的RTO。
在一种示例中,上述根据第一基准RTO确定RTO,可以包括:
比较第一基准RTO与第一网络设备按照TCP协议确定的第二基准RTO;
将第一基准RTO与第二基准RTO中的最小值确定为当前使用的基准RTO;
根据当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
在该示例中,第一网络设备确定了第一基准RTO之后,可以比较该第一基准RTO与第一网络设备按照TCP协议(即利用预设RTO确定算法)确定的基准RTO(本文中称为第二基准RTO)。
若第一基准RTO小于第二基准RTO,则第一网络设备可以将第一基准RTO作为当前使用的基准RTO,并根据当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
若第一基准RTO大于第二基准RTO,则第一网络设备可以将第二基准RTO作为当前使用的基准RTO,并根据当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
若第一基准RTO等于第二基准RTO,则第一网络设备可以将第一基准RTO或第二基准RTO作为当前使用的基准RTO,并根据当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
可见,在该示例中,第一网络设备将第一基准RTO和第二基准RTO中的最小值作为当前使用RTO,从而可以减少第一网络设备和第二网络设备之间的报文重传时间,提高报文发送效率。
在另一个示例中,上述根据第一基准RTO确定RTO,包括:
比较第一基准RTO与第一网络设备按照TCP协议确定的第二基准RTO;
当向第二网络设备发送路由时,将第一基准RTO与第二基准RTO中的最小值确定为当前使用的基准RTO,并根据当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO;
当向第二网络设备发送保活报文时,将第一基准RTO确定为当前使用的基准RTO,并根据当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
在本发明实施例中,考虑到在不同场景下网络设备对报文的发送效率的要求不完全相同,例如,对于路由发布,需要提高报文发送效率,以加快路由收敛;对于链路保活,可以适当降低报文发送效率,以减少网络带宽占用。
相应地,在本发明实施例中,第一网络设备确定了第一基准RTO之后,可以比较第一基准RTO和第二基准RTO。
当第一网络设备向第二网络设备发布路由时,可以将第一基准RTO与第二基准RTO中的最小值确定为当前使用的基准RTO,并根据该当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO,以加快路由收敛;
当第一网络设备向第二网络设备发送保活报文(如keepalive报文)时,可以将第一基准RTO确定为当前使用的基准RTO,并根据当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO,以减少网络带宽的占用。
应该认识到,上述确定当前使用的基准RTO的方式仅仅是本发明实施例提供的技术方案中确定当前使用的基准RTO的实现方式的具体示例,而并不是对本发明保护范围的限定,即本发明实施例中,也可以通过其它方式确定当前使用的基准RTO,例如,第一网络设备可以直接将第一基准RTO作为当前使用的基准RTO,或者,第一网络设备可以将第一基准RTO作为当前使用的基准RTO的最大值确定当前使用的基准RTO(即当前使用的基准RTO小于等于第一基准RTO),其具体实现在此不做赘述。
在本发明另一个实施例中,上述根据第一超时时间确定RTO,可以包括:
确定第一超时时间与预设最大重传次数的平均值;
将该平均值与第一网络设备按照TCP协议确定的RTO中的最小值确定为当前使用的RTO。
在本发明实施例中,为了提高RTO的确定效率,第一网络设备与第二网络设备协商确定了第一超时时间之后,可以确定第一超时时间与预设最大重传次数的平均值。
第一网络设备确定了第一超时时间与预设最大重传次数的平均值之后,可以比较该平均值与第一网络设备按照TCP协议确定的RTO(包括基准RTO以及后续次数报文重传的RTO),并将该平均值与第一网络设备按照TCP协议确定的RTO的最小值确定为当前使用的RTO。
举例来说,假设第一超时时间为Tmax,预设最大重传次数为N,第一网络设备按照TCP协议确定的RTO分别为RTOi(第i次报文重传的RTO,1≤i≤N),则第一网络设备可以先确定第一超时时间与预设最大重传次数的平均值A(A=Tmax/N)。
第一网络设备确定了平均值A之后,可以分别比较平均值A和RTOi,并将当前使用的RTOi确定为RTOi与平均值A中的最小值。
步骤102、基于所确定的RTO进行针对第二网络设备的报文重传。
本发明实施例中,第一网络设备确定了报文重传的RTO之后,可以基于所确定的RTO进行针对第二网络设备的报文重传,即对于任一报文,当第一网络设备向第二网络设备发送该报文时,第一网络设备可以开始计时,并当在当前使用的基准RTO内未接收到确认信息时,进行第一次重传,并根据第二次报文重传的RTO确定报文是否发送成功,若未成功,则继续重传,直至报文发送成功,或重传次数达到预设最大重传次数。
其中,第一网络设备基于所确定的RTO进行针对第二网络设备的报文重传时,对于任一报文,均可以在第一超时时间内完成报文重传。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。
请参见图2,为本发明实施例提供的一种具体应用场景的架构示意图,如图2所示,网络设备A和网络设备B之间建立有BGP邻居,网络设备A和网络设备B协商确定的holdtime超时时间(即第一超时时间)为T1。
基于图2所示场景,本发明实施例提供的报文重传方案处理流程如下(以网络设备A为例):
网络设备A的BGP模块通过新增的TCP选项将协商的holdtime超时时间(即T1)通知给网络设备A的TCP模块。
为例便于描述,下文中若未特殊说明,所提及的BGP模块和TCP模块均指网络设备A的BGP模块和TCP模块。
TCP模块接收到BGP模块通知的T1之后,将T1作为网络设备A向网络设备B发送报文时发送单个报文的最大发送时间、最大重传次数以及多个RTO之间的时间比例,计算出第一基准RTO(下文中称为RTO1),其具体计算方式可以参见上文中相关描述。
TCP模块确定了RTO1之后,可以比较RTO1和网络设备A按照TCP协议确定的第二基准RTO(下文中称为RTO2)。
假设比较结果为RTO1大于RTO2。
当网络设备A向网络设备B发布BGP路由时,网络设备A使用RTO2作为当前使用的基准RTO,并根据该当前使用的基准RTO以及多个RTO之间的时间比例分别确定网络设备A向网络设备B多次报文重传的RTO,以加快路由收敛。
当网络设备A向网络设备B发送keepalive报文时,网络设备A使用RTO1作为当前使用的基准RTO,并根据该当前使用的基准RTO以及多个RTO之间的时间比例分别确定网络设备A向网络设备B多次报文重传的RTO,以减少网络带宽占用。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过根据第一超时时间确定RTO,并基于所确定的RTO进行针对第二网络设备的报文重传,提高了RTO确定的合理性,避免了在第一超时时间内无法完成报文重传导致的业务中断,提高了业务的稳定性。
请参见图3,为本发明实施例提供一种报文重传装置的结构示意图,其中,该装置可以应用于上述方法实施例中的第一网络设备,如图3所示,该报文重传装置可以包括:
确定单元310,根据第一超时时间确定重传超时时间RTO;其中,所述第一超时时间为所述第一网络设备在未接收到所述第二网络设备发送的报文的情况下维持所述邻居关系的最长时间;
重传单元320,用于基于所述RTO进行针对所述第二网络设备的报文重传。
在可选实施例中,所述确定单元310,具体用于将所述第一超时时间作为所述第一网络设备与所述第二网络设备之间发送单个报文的最长发送时间;
所述确定单元310,还具体用于利用所述最长发送时间、单个报文的最大重传次数以及多个RTO之间的时间比例,得到第一基准RTO;
所述确定单元310,还具体用于根据所述第一基准RTO确定所述RTO;
其中,所述最长发送时间为多个RTO的和值,对于所述第一网络设备发送给所述第二网络设备的任一报文,基准RTO为所述第一网络设备对该报文进行第一次报文重传的RTO。
请一并参见图4,为本发明实施例提供的另一种报文重传装置的结构示意图,如图4所示,在图3所示报文重传装置的基础上,图4所示报文重传装置还可以包括:
第一比较单元330,用于比较所述第一基准RTO与所述第一网络设备按照TCP协议确定的第二基准RTO;
所述确定单元310,具体用于将所述第一基准RTO与所述第二基准RTO中的最小值确定为当前使用的基准RTO;
所述确定单元310,还具体用于根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
请一并参见图5,为本发明实施例提供的另一种报文重传装置的结构示意图,如图5所示,在图3所示报文重传装置的基础上,图5所示报文重传装置还可以包括:
第二比较单元340,用于比较所述第一基准RTO与所述第一网络设备按照TCP协议确定的第二基准RTO;
所述确定单元310,具体用于当向所述第二网络设备发布路由时,将所述第一基准RTO与所述第二基准RTO中的最小值确定为当前使用的基准RTO,并根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO;
所述确定单元310,还具体用于当向所述第二网络设备发送保活报文时,将所述第一基准RTO确定为当前使用的基准RTO,并根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
需要说明的是,在实际应用中,第一比较单元330和第二比较单元340可以通过同一比较单元实现。
在可选实施例中,所述确定单元310,具体用于确定所述第一超时时间与预设最大重传次数的平均值;
所述确定单元310,还具体用于将所述平均值与所述第一网络设备按照TCP协议确定的RTO中的最小值确定为当前使用的RTO。
请参见图6,为本发明实施例提供的一种报文重传装置的硬件结构示意图。该报文重传装置可以包括处理器601、存储有机器可执行指令的机器可读存储介质602。处理器601与机器可读存储介质602可经由系统总线603通信。并且,通过读取并执行机器可读存储介质602中与报文重传逻辑对应的机器可执行指令,处理器601可执行上文描述的报文重传方法。
本文中提到的机器可读存储介质602可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质602可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
本发明实施例还提供了一种包括机器可执行指令的机器可读存储介质,例如图6中的机器可读存储介质602,所述机器可执行指令可由报文重传装置中的处理器601执行以实现以上描述的报文重传方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过根据第一超时时间确定RTO,并基于所确定的RTO进行针对第二网络设备的报文重传,提高了RTO确定的合理性,避免了在第一超时时间内无法完成报文重传导致的业务中断,提高了业务的稳定性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种报文重传方法,应用于包括第一网络设备和第二网络设备的组网中的第一网络设备,所述第一网络设备与所述第二网络设备之间建立有基于传输控制协议TCP连接的邻居关系,其特征在于,所述方法包括:
根据第一超时时间确定重传超时时间RTO;其中,所述第一超时时间为所述第一网络设备在未接收到所述第二网络设备发送的报文的情况下维持所述邻居关系的最长时间;所述RTO包括多个RTO,所述多个RTO的数量与单个报文的最大重传次数一致,所述多个RTO之和小于等于第一超时时间;
基于所述RTO进行针对所述第二网络设备的报文重传。
2.根据权利要求1所述的方法,其特征在于,所述根据第一超时时间确定RTO,包括:
将所述第一超时时间作为所述第一网络设备与所述第二网络设备之间发送单个报文的最长发送时间;
利用所述最长发送时间、单个报文的最大重传次数以及所述多个RTO之间的时间比例,得到第一基准RTO;
其中,所述最长发送时间为所述多个RTO的和值,对于所述第一网络设备发送给所述第二网络设备的任一报文,基准RTO为所述第一网络设备对该报文进行第一次报文重传的RTO;
根据所述第一基准RTO确定所述RTO。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一基准RTO确定RTO,包括:
比较所述第一基准RTO与所述第一网络设备按照TCP协议确定的第二基准RTO;
将所述第一基准RTO与所述第二基准RTO中的最小值确定为当前使用的基准RTO;
根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第一基准RTO确定RTO,包括:
比较所述第一基准RTO与所述第一网络设备按照TCP协议确定的第二基准RTO;
当向所述第二网络设备发布路由时,将所述第一基准RTO与所述第二基准RTO中的最小值确定为当前使用的基准RTO,并根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO;
当向所述第二网络设备发送保活报文时,将所述第一基准RTO确定为当前使用的基准RTO,并根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
5.根据权利要求1所述的方法,其特征在于,所述根据第一超时时间确定RTO,包括:
确定所述第一超时时间与预设最大重传次数的比值;
将所述比值与所述第一网络设备按照TCP协议确定的RTO中的最小值确定为当前使用的RTO。
6.一种报文重传装置,应用于包括第一网络设备和第二网络设备的组网中的第一网络设备,所述第一网络设备与所述第二网络设备之间建立有基于传输控制协议TCP连接的邻居关系,其特征在于,所述装置包括:
确定单元,根据第一超时时间确定重传超时时间RTO;其中,所述第一超时时间为所述第一网络设备在未接收到所述第二网络设备发送的报文的情况下维持所述邻居关系的最长时间;所述RTO包括多个RTO,所述多个RTO的数量与单个报文的最大重传次数一致,所述多个RTO之和小于等于第一超时时间;
重传单元,用于基于所述RTO进行针对所述第二网络设备的报文重传。
7.根据权利要求6所述的装置,其特征在于,
所述确定单元,具体用于将所述第一超时时间作为所述第一网络设备与所述第二网络设备之间发送单个报文的最长发送时间;
所述确定单元,还具体用于利用所述最长发送时间、单个报文的最大重传次数以及所述多个RTO之间的时间比例,得到第一基准RTO;
所述确定单元,还具体用于根据所述第一基准RTO确定所述RTO;
其中,所述最长发送时间为所述多个RTO的和值,对于所述第一网络设备发送给所述第二网络设备的任一报文,基准RTO为所述第一网络设备对该报文进行第一次报文重传的RTO。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一比较单元,用于比较所述第一基准RTO与所述第一网络设备按照TCP协议确定的第二基准RTO;
所述确定单元,具体用于将所述第一基准RTO与所述第二基准RTO中的最小值确定为当前使用的基准RTO;
所述确定单元,还具体用于根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二比较单元,用于比较所述第一基准RTO与所述第一网络设备按照TCP协议确定的第二基准RTO;
所述确定单元,具体用于当向所述第二网络设备发布路由时,将所述第一基准RTO与所述第二基准RTO中的最小值确定为当前使用的基准RTO,并根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO;
所述确定单元,还具体用于当向所述第二网络设备发送保活报文时,将所述第一基准RTO确定为当前使用的基准RTO,并根据所述当前使用的基准RTO以及多个RTO之间的时间比例分别确定多次报文重传的RTO。
10.根据权利要求6所述的装置,其特征在于,
所述确定单元,具体用于确定所述第一超时时间与预设最大重传次数的比值;
所述确定单元,还具体用于将所述比值与所述第一网络设备按照TCP协议确定的RTO中的最小值确定为当前使用的RTO。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810995442.2A CN108833063B (zh) | 2018-08-29 | 2018-08-29 | 一种报文重传方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810995442.2A CN108833063B (zh) | 2018-08-29 | 2018-08-29 | 一种报文重传方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108833063A CN108833063A (zh) | 2018-11-16 |
CN108833063B true CN108833063B (zh) | 2021-04-27 |
Family
ID=64151660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810995442.2A Active CN108833063B (zh) | 2018-08-29 | 2018-08-29 | 一种报文重传方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108833063B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830516B (zh) * | 2019-12-19 | 2022-03-22 | 深信服科技股份有限公司 | 一种网络访问方法、装置、网络控制设备及存储介质 |
CN111641480B (zh) * | 2020-05-22 | 2023-08-25 | 广东小天才科技有限公司 | 一种tcp重传次数的控制方法及终端设备、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174935A (zh) * | 2007-11-28 | 2008-05-07 | 中兴通讯股份有限公司 | 一种设置tcp最大超时重传时间的方法 |
CN101635665A (zh) * | 2008-07-11 | 2010-01-27 | 佳能株式会社 | 用于管理隧道的传输信道上的数据流的传送的方法、相应的隧道端点和计算机可读存储介质 |
WO2012154387A1 (en) * | 2011-05-09 | 2012-11-15 | Google Inc. | Apparatus and method for video transmission bandwidth control using bandwidth estimation |
CN105681203A (zh) * | 2016-01-14 | 2016-06-15 | 北京交通大学 | 一种空间延迟容忍网络连接意外失效的应对方法 |
CN105933242A (zh) * | 2016-04-12 | 2016-09-07 | 北京大学深圳研究生院 | 一种提高数据中心tcp响应速度的方法及系统 |
CN107682212A (zh) * | 2017-11-14 | 2018-02-09 | 北京遥测技术研究所 | 一种嵌入式设备多用户网络通信异常处理方法 |
-
2018
- 2018-08-29 CN CN201810995442.2A patent/CN108833063B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174935A (zh) * | 2007-11-28 | 2008-05-07 | 中兴通讯股份有限公司 | 一种设置tcp最大超时重传时间的方法 |
CN101635665A (zh) * | 2008-07-11 | 2010-01-27 | 佳能株式会社 | 用于管理隧道的传输信道上的数据流的传送的方法、相应的隧道端点和计算机可读存储介质 |
WO2012154387A1 (en) * | 2011-05-09 | 2012-11-15 | Google Inc. | Apparatus and method for video transmission bandwidth control using bandwidth estimation |
CN105681203A (zh) * | 2016-01-14 | 2016-06-15 | 北京交通大学 | 一种空间延迟容忍网络连接意外失效的应对方法 |
CN105933242A (zh) * | 2016-04-12 | 2016-09-07 | 北京大学深圳研究生院 | 一种提高数据中心tcp响应速度的方法及系统 |
CN107682212A (zh) * | 2017-11-14 | 2018-02-09 | 北京遥测技术研究所 | 一种嵌入式设备多用户网络通信异常处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108833063A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lindgren et al. | Probabilistic routing protocol for intermittently connected networks | |
JP5981533B2 (ja) | アクティブtcpアプリケーションからスタンバイtcpアプリケーションへのヒットレススイッチオーバ | |
US8478890B2 (en) | System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability | |
CN103731407B (zh) | Ike报文协商的方法及系统 | |
US7478160B2 (en) | Method and apparatus for transparent negotiations | |
WO2021004056A1 (zh) | 用于数据传输的方法和rdma网卡 | |
CN108718282B (zh) | 报文序列号的确定方法及装置 | |
CN108833063B (zh) | 一种报文重传方法及装置 | |
JP7297140B2 (ja) | データ伝送方法、装置及び機器 | |
CN107995233B (zh) | 建立连接的方法及相应的设备 | |
EP3276891A1 (en) | Techniques for establishing a communication connection between two network entities via different network flows | |
US9706435B2 (en) | Method and system for dynamically changing upper bound on data packet size in wireless communication networks | |
CN104579601A (zh) | 一种重传请求处理方法和装置 | |
US8682861B2 (en) | Method and apparatus for mobility agent recovery | |
CN114124316A (zh) | 一种数据传输方法、装置、节点设备及数据传输网络 | |
US20200336432A1 (en) | Methods for dynamically controlling transmission control protocol push functionality and devices thereof | |
JP2018064187A (ja) | 通信装置、通信方法およびプログラム | |
CN113037762B (zh) | 通信方法、装置、设备及存储介质 | |
CN106230747B (zh) | 恢复tcp连接序列号的方法、装置及系统 | |
US20080186847A1 (en) | Link-aware throughput acceleration profiles | |
JP4805072B2 (ja) | 通信システム | |
EP4124117A1 (en) | Service transmission method, communication device and storage medium | |
JP2007288428A (ja) | 中継装置およびデータ再送方法 | |
CN109995724B (zh) | 一种通信方法、客户端及通信系统 | |
CN117579233B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |