报文传输方法、设备及系统技术方案

技术编号:18021316 阅读:29 留言:0更新日期:2018-05-23 06:29
本发明专利技术公开了一种报文传输方法、设备及系统,属于网络通信领域。该方法包括:检测第一传输路径是否拥塞;当第一传输路径拥塞时,通过第二传输路径向目的端设备发送第一探测报文,第一探测报文包括第一五元组和第一生存时间TTL;基于第一探测报文检测第二传输路径是否拥塞;当第二传输路径不拥塞时,更改第一数据流中剩余报文的TTL,使更改后的TTL等于第一TTL,第一数据流包括第一报文,剩余报文为第一数据流中位于第一报文之后的报文;通过第二传输路径传输第一数据流中剩余报文。本发明专利技术解决了交换设备选择的新路径可能拥塞,导致报文的传输效率低的问题,实现了切换路径至确定不拥塞的传输路径,提高了报文传输效率,用于报文传输。

【技术实现步骤摘要】
报文传输方法、设备及系统
本专利技术涉及网络通信领域,特别涉及一种报文传输方法、设备及系统。
技术介绍
Clos数据中心网络架构是由CharlesClos(人名)在1953年为了解决电话网无阻塞交换问题提出的一种交换架构,应用该架构的数据中心网络称为Clos数据中心网络。传统的Clos数据中心网络包括:源端设备、交换设备和目的端设备,源端设备向目的端设备发送报文时,首先将报文发送给交换设备,交换设备将该报文存储在该交换设备的候选队列中,当轮到该报文发送时,交换设备进行选路,报文沿交换设备选定的传输路径传输至目的端设备。其中,交换设备选路方式通常为等价多路径(英文:EqualCostMultiPath;简称:ECMP)方式,具体的,交换设备提取该报文的五元组关键字,并对五元组关键字进行哈希(英文:Hash)计算,根据计算出的哈希值在ECMP表查询,得到报文相应的传输路径。然而由于每条流(每条流包括至少一个报文,同一条流中的报文的五元组关键字相同)的流量大小并不固定,在无法知晓流的流量的情况下单纯根据五元组关键字计算的哈希值来进行报文传输,容易造成路径拥塞,进而导致丢包。因此,如何充分利用Clos数据中心网络的多路径特性成为了业界研究的重点。目前,为了改善数据中心网络中的路径拥塞与丢包等问题,交换设备接收到源端设备发送的报文后,会提取报文的生存时间(英文:TimeToLive;简称:TTL)字段和五元组关键字,对TTL与五元组关键字一并进行哈希计算,根据计算出的哈希值在ECMP表查询,得到报文相应的传输路径,当该传输路径拥塞时,该交换设备的候选队列中存储的报文流量会超过预设的流量阈值,此时交换设备会对存储在该候选队列中的报文设置拥塞(英文:ExplicitCongestionNotification;简称:ECN)标记,目的端设备接收到报文后,会向源端设备返回响应报文,当该报文中设置有ECN标记时,目的端设备会对该响应报文设置拥塞响应(英文:ExplicitCongestionNotificationEcho;简称:ECE)标记。当源端设备检测到传输控制协议(英文:TransmissionControlProtocol;简称:TCP)序列缺失(也即是丢包)或者接收到的设置有ECE标记的报文的流量超过预设的流量阈值时(也即是路径拥塞),会有预设的概率修改流中剩余的报文的TTL,并继续向交换设备发送剩余的报文,交换设备根据修改的TTL重新进行哈希计算,为剩余的报文中修改TTL的报文选择与之前不同的路径转发,从而避开之前拥塞的路径。但是,在目前的交换设备选路方式中,当源端设备检测到原TTL对应的路径存在丢包的问题或路径拥塞时,源端设备会修改流中剩余的报文的TTL,然后交换设备根据修改的TTL重新进行哈希计算,进行新路径的选择,流中剩余的报文将从新路径上传输,然而交换设备选择的新路径也可能拥塞,导致报文的传输效率低。
技术实现思路
为了解决现有技术交换设备选择的新路径可能拥塞,导致报文的传输效率低的问题,本申请提供了一种报文传输方法、设备及系统。所述技术方案如下:本申请提供了一种报文传输系统,该报文传输系统可以包括多个网络设备,该多个网络设备中各个网络设备在进行报文传输时功能不同,通常可以将生成并发送报文的网络设备称为源端设备,可以进行哈希计算并转发该报文的网络设备称为交换设备,该报文所传输的目的端网络设备称为目的端设备。第一方面,本申请提供了一种报文传输方法,用于源端设备,该方法包括:检测第一传输路径是否拥塞;当第一传输路径拥塞时,通过第二传输路径向目的端设备发送第一探测报文,该第一探测报文包括第一五元组和第一TTL,该第一五元组与第一报文的五元组相同,该第一TTL与第一报文的TTL不同,该第一报文为源端设备上一时刻发送的第一数据流中的报文,该第二传输路径为与所述源端设备连接的除所述第一传输路径之外的传输路径;基于第一探测报文检测第二传输路径是否拥塞;当所述第二传输路径不拥塞时,更改第一数据流中剩余报文的TTL,使更改后的TTL等于所述第一TTL,所述第一数据流包括所述第一报文,所述第一数据流中的报文的五元组均相同,所述剩余报文为所述第一数据流中位于所述第一报文之后的报文;通过所述第二传输路径传输第一数据流中剩余报文。本申请所示的方案,在当前传输路径拥塞时,源端设备可以利用探测报文去探测其他传输路径,在源端设备基于一探测报文确定一条不拥塞的传输路径后,才会改变数据流中的剩余报文的TTL,使得数据流中的剩余报文的TTL与该探测报文的TTL相同,达到将报文切换至该条不拥塞的传输路径进行传输的目的,提高了报文的传输效率。可选的,基于第一探测报文检测第二传输路径是否拥塞的方法可以有两种。其中,第一种基于第一探测报文检测第二传输路径是否拥塞的方法,包括:检测第一探测报文发出后的预设时长内是否收到探测响应报文;当第一探测报文发出后的预设时长内未收到探测响应报文时,确定第二传输路径拥塞。需要说明的是,该预设时长可以为一个往返时延。源端设备在第一探测报文发出后的预设时长内未接收到探测响应报文可以包括多种情况。示例的,源端设备发送的第一探测报文在第二传输路径上传输时,可以是由于路径拥塞被丢弃,导致目的端设备未接受到该第一探测报文;也可以是由于路径拥塞被交换设备设置了ECN标记,目的端设备在接收到携带有ECN标记的第一探测报文后,禁止响应;还可以是目的端设备发送的探测响应报文在向源端设备传输的路径上被丢弃。第二种基于第一探测报文检测第二传输路径是否拥塞的方法,包括:接收目的端设备发送的探测响应报文,探测响应报文是目的端设备根据第一探测报文生成的;检测探测响应报文中是否携带ECE标记;当探测响应报文中携带有ECE标记时,确定第二传输路径拥塞;当探测响应报文中未携带有ECE标记时,确定第二传输路径未拥塞。需要说明的是,第二种基于第一探测报文检测第二传输路径是否拥塞的方法是一种基于现有的标准ECN机制的方法。可选的,源端设备进行路径切换的概率可以为三分之一。可选的,可以选择三分之一的源端设备切换传输路径,避免多个源端设备同时切换传输路径造成新的传输路径的拥塞。需要说明的是,保证三分之一的源端设备进行路径切换可以通过使每个源端设备有三分之一的概率发送探测报文来实现,可选的,通过第二传输路径向目的端设备发送第一探测报文,包括:生成一个随机数,该随机数为任一自然数;当该随机数能被3整除时,通过第二传输路径向目的端设备发送第一探测报文;当该随机数不能被3整除时,禁止向目的端设备发送第一探测报文。需要说明的是,在通过第二传输路径向目的端设备发送第一探测报文之前,该报文传输方法还包括:向目的端设备发送功能请求报文;接收目的端设备发送的功能响应报文,该功能响应报文是目的端设备基于功能请求报文生成的,该功能响应报文用于标识目的端设备是否支持探测响应功能;通过第二传输路径向目的端设备发送第一探测报文,包括:根据功能响应报文检测所述目的端设备是否支持探测响应功能;当目的端设备支持探测响应功能时,通过第二传输路径向目的端设备发送第一探测报文。需要说明的是,第一探测报文为第一数据流中位于第一报文之后的首个报文。具体的,当第一传输路径拥塞时,一方面,源端设本文档来自技高网
...
报文传输方法、设备及系统

【技术保护点】
一种报文传输方法,其特征在于,用于源端设备,所述方法包括:检测第一传输路径是否拥塞;当所述第一传输路径拥塞时,通过第二传输路径向目的端设备发送第一探测报文,所述第一探测报文包括第一五元组和第一生存时间TTL,所述第一五元组与第一报文的五元组相同,所述第一TTL与所述第一报文的TTL不同,所述第一报文为所述源端设备上一时刻发送的第一数据流中的报文,所述第二传输路径为与所述源端设备连接的除所述第一传输路径之外的传输路径;基于所述第一探测报文检测所述第二传输路径是否拥塞;当所述第二传输路径不拥塞时,更改第一数据流中剩余报文的TTL,使更改后的TTL等于所述第一TTL,所述第一数据流包括所述第一报文,所述第一数据流中的报文的五元组均相同,所述剩余报文为所述第一数据流中位于所述第一报文之后的报文;通过所述第二传输路径传输第一数据流中剩余报文。

【技术特征摘要】
1.一种报文传输方法,其特征在于,用于源端设备,所述方法包括:检测第一传输路径是否拥塞;当所述第一传输路径拥塞时,通过第二传输路径向目的端设备发送第一探测报文,所述第一探测报文包括第一五元组和第一生存时间TTL,所述第一五元组与第一报文的五元组相同,所述第一TTL与所述第一报文的TTL不同,所述第一报文为所述源端设备上一时刻发送的第一数据流中的报文,所述第二传输路径为与所述源端设备连接的除所述第一传输路径之外的传输路径;基于所述第一探测报文检测所述第二传输路径是否拥塞;当所述第二传输路径不拥塞时,更改第一数据流中剩余报文的TTL,使更改后的TTL等于所述第一TTL,所述第一数据流包括所述第一报文,所述第一数据流中的报文的五元组均相同,所述剩余报文为所述第一数据流中位于所述第一报文之后的报文;通过所述第二传输路径传输第一数据流中剩余报文。2.根据权利要求1所述的方法,其特征在于,所述基于所述第一探测报文检测所述第二传输路径是否拥塞,包括:检测所述第一探测报文发出后的预设时长内是否收到探测响应报文;当所述第一探测报文发出后的预设时长内未收到探测响应报文时,确定所述第二传输路径拥塞。3.根据权利要求2所述的方法,其特征在于,所述预设时长为一个往返时延RTT。4.根据权利要求1所述的方法,其特征在于,所述基于所述第一探测报文检测所述第二传输路径是否拥塞,包括:接收所述目的端设备发送的探测响应报文,所述探测响应报文是所述目的端设备根据所述第一探测报文生成的;检测所述探测响应报文中是否携带拥塞响应ECE标记;当所述探测响应报文中携带有ECE标记时,确定所述第二传输路径拥塞;当所述探测响应报文中未携带有ECE标记时,确定所述第二传输路径未拥塞。5.根据权利要求1所述的方法,其特征在于,所述源端设备进行路径切换的概率为三分之一。6.根据权利要求5所述的方法,其特征在于,所述通过第二传输路径向目的端设备发送第一探测报文,包括:生成一个随机数,所述随机数为任一自然数;当所述随机数能被3整除时,通过第二传输路径向目的端设备发送第一探测报文。7.根据权利要求1至6任一所述的方法,其特征在于,在所述通过第二传输路径向目的端设备发送第一探测报文之前,所述方法还包括:向所述目的端设备发送功能请求报文;接收所述目的端设备发送的功能响应报文,所述功能响应报文是所述目的端设备基于所述功能请求报文生成的,所述功能响应报文用于标识所述目的端设备是否支持探测响应功能;所述通过第二传输路径向目的端设备发送第一探测报文,包括:根据所述功能响应报文检测所述目的端设备是否支持探测响应功能;当所述目的端设备支持探测响应功能时,通过第二传输路径向目的端设备发送第一探测报文。8.根据权利要求1所述的方法,其特征在于,所述第一探测报文为所述第一数据流中位于所述第一报文之后的首个报文。9.根据权利要求1所述的方法,其特征在于,所述源端设备与所述目的端设备之间传输的每个报文均包括传输控制协议TCP协议字段,所述TCP协议字段中包括依次排布的保留位、探测位和探测响应位;探测报文的探测位的标识与其他报文的探测位的标识不同;探测响应报文的探测响应位的标识与其他报文的探测响应位的标识不同。10.根据权利要求1所述的方法,其特征在于,所述源端设备中,在一个往返时延内,发送的探测报文的个数小于或等于1,修改TTL的次数小于或等于1。11.根据权利要求1所述的方法,其特征在于,所述基于所述第一探测报文检测所述第二传输路径是否拥塞,包括:当所述第二传输路径拥塞时,通过所述第一传输路径传输所述第一数据流中剩余报文。12.根据权利要求1所述的方法,其特征在于,所述基于所述第一探测报文检测所述第二传输路径是否拥塞,包括:当所述第二传输路径拥塞时,通过第三传输路径向目的端设备发送第二探测报文,所述第二探测报文包括第一五元组和第二生存时间TTL,所述第一五元组与第一报文的五元组相同,所述第二TTL与所述第一报文的TTL、所述第一TTL均不同,所述第三传输路径为与所述源端设备连接的除所述第一传输路径及所述第二传输路径之外的传输路径;基于所述第二探测报文检测所述第三传输路径是否拥塞;当所述第三传输路径不拥塞时,更改第一数据流中剩余报文的TTL,使更改后的TTL等于所述第二TTL,所述剩余报文为所述第一数据流中位于所述第一报文之后的报文;通过所述第三传输路径传输第一数据流中剩余报文。13.一种报文传输方法,其特征在于,用于目的端设备,所述方法包括:通过第二传输路径接收源端设备发送的第一探测报文,所述第一探测报文是所述源端设备在检测到第一传输路径拥塞时发送的,所述第一探测报文包括第一五元组和第一生存时间TTL,所述第一五元组与第一报文的五元组相同,所述第一TTL与所述第一报文的TTL不同,所述第一报文为所述源端设备上一时刻发送的报文,所述第二传输路径为与所述源端设备连接的除所述第一传输路径之外的传输路径;通过第二传输路径接收所述源端设备传输的第一数据流中更改TTL后的剩余报文,所述更改TTL后的剩余报文是所述源端设备基于所述第一探测报文检测到所述第二传输路径不拥塞时,更改所述第一数据流中的剩余报文的TTL后得到的,更改后的TTL等于所述第一TTL,所述第一数据流包括所述第一报文,所述第一数据流中的报文的五元组均相同,所述剩余报文为所述第一数据流中位于所述第一报文之后的报文。14.根据权利要求13所述的方法,其特征在于,在所述接收源端设备发送的第一探测报文之后,所述方法还包括:检测所述探测报文中是否携带有拥塞ECN标记;当所述探测报文中未携带有ECN标记时,根据所述探测报文生成探测响应报文;向所述源端设备发送所述探测响应报文;当所述探测报文中携带有ECN标记时,禁止响应所述探测报文。15.根据权利要求13或14所述的方法,其特征在于,在所述接收源端设备发送的第一探测报文之前,所述方法还包括:接收所述源端设备发送的功能请求报文;基于所述功能请求报文生成功能响应报文,所述功能响应报文用于标识所述目的端设备是否支持探测响应功能;向所述源端设备发送所述功能响应报文。16.根据权利要求13所述的方法,其特征在于,所述源端设备与所述目的端设备之间传输的每个报文均包括传输控制协议TCP协议字段,所述TCP协议字段中包括依次排布的保留位、探测位和探测响应位;探测报文的探测位的标识与其他报文的探测位的标识不同;探测响应报文的探测响应位的标识与其他报文的探测响应位的标识不同。17.一种报文传输设备,其特征在于,用于源端设备,所述设备包括:第一检测模块,用于检测第一传输路径是否拥塞;第一发送模块,用于当所述第一传输路径拥塞时,通过第二传输路径向目的端设备发送第一探测报文,所述第一探测报文...

【专利技术属性】
技术研发人员:王闯袁峰李兆耕
申请(专利权)人:华为技术有限公司清华大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1