共享数据传输协议SDTP消息传输方法及网络设备与流程

文档序号:17659693发布日期:2019-05-15 22:17阅读:4504来源:国知局
共享数据传输协议SDTP消息传输方法及网络设备与流程

本发明涉及通信技术领域,尤其涉及一种共享数据传输协议sdtp消息传输方法及网络设备。



背景技术:

现有的移动通信系统规划是基于功能分层的架构思想的,如图1所示,现有系统具体由统一深度报文检测(deeppacketinspection,dpi)系统负责从核心网采集所有相关的接口数据,然后通过合成模块进行数据的校验、回填和合成,最后通过共享数据传输协议(shareddatatransferprotocol,sdtp)中的if2接口将数据上报给应用系统或接收应用系统的反向数据查询。其中,if2接口是应用系统与dpi系统交互的唯一标准途径,一个省份一般只有一套dpi系统,这个dpi系统会对接多个应用系统,if2接口的高效将提高应用系统的价值,也能进一步体现dpi系统的价值。

具体地,如图2所示,sdtp协议栈分为:承载层、传输层和应用层。其中,承载层为ip层,主要用于提供可靠的数据传输通道。传输层包括:传输控制协议(transmissioncontrolprotocol,tcp)层和sdtp层,主要用于为上层应用提供通用的数据传输协议。应用(application,app)层主要用于封装外部数据(externaldatarepresentation,xdr)或原始信令码流。

其中,如表1所示,sdtp消息可采用以下消息类型传输原始信令:

表1

进一步地,一个sdtp消息可以携带多个原始信令,也可以只携带一个原始信令,sdtp通用包头携带了实际抓包网络中的链路信息和时间戳,其中,sdtp传输原始信令时的消息格式,例如0x8006对应的消息格式如表2所示:

表2

基于现有sdtp协议传输原始信令码流,在dpi系统采集到的网络包为ip包分片包时,sdtp通用包头、ethernet头、ip头、tcp头等,按照最常见的情况计算为:14+14+20+20=68bytes。对于一个三个分片的会话初始协议(sessioninitiationprotocol,sip)请求信令,这些头需要重复传输3次,要浪费2*68bytes=126bytes。而一次sip呼叫建立过程,对应的原始码流可能有2至3条消息(如:invite、180、183、update、200)是分片的,也就是说一次sip呼叫在一个接口的采集点对应的原始码信令流就会浪费约400bytes的带宽。假设一个省份有2000万的超语音长期演进(voiceoverlongtermevolution,volte)用户,每天的呼叫话单量大概是20000亿条(多接口),浪费的带宽约为80g,当dpi系统需要同时向多个应用系统传输原始信令时,这个带宽浪费会成倍的增加。因此,在dpi系统采集到的网络包为ip包分片包时,协议的效率比较低,其中sdtp通用包头和原始信令本身ethernet头、ip头、tpc/udp/sctp头,甚至是虚拟局域网(virtuallocalareanetwork,vlan)标识头和internet协议安全性(internetprotocolsecurity,ipsec)的封装安全载荷(encapsulatesecuritypayload,esp)头部会重复传输,存在大量冗余,造成网络带宽和计算资源的浪费。



技术实现要素:

本发明提供一种共享数据传输协议sdtp消息传输方法及网络设备,解决了传统的sdtp协议信令传输过程中的网络带宽和计算资源浪费的问题。

本发明的实施例提供一种共享数据传输协议sdtp消息传输方法,应用于源节点,包括:

获取待传输的原始信令的至少两个分片包;

根据至少两个分片包,生成待传输的共享数据传输协议sdtp消息;其中,sdtp消息包括:至少两个分片包中一个分片包的包头以及每个分片包的包体;

将sdtp消息发送至目标节点。

其中,包头包括:sdtp通用头、以太网ethernet头、ip头和tcp头。

其中,sdtp消息包括:sdtp消息头和sdtp消息体,sdtp消息体包括:至少两个分片包中一个分片包的包头以及每个分片包的包体。

其中,根据至少两个分片包,生成待传输的共享数据传输协议sdtp消息的步骤,包括:

将包头和至少两个分片包中的第一个分片包的包体封装为第一个原始码流帧;

按照预设顺序依次对至少两个分片包中的其他分片包体进行封装,生成待传输的sdtp消息;其中,其他分片包为至少两个分片包中除第一个分片包之外的分片包。

其中,根据至少两个分片包,生成待传输的共享数据传输协议sdtp消息的步骤,还包括:

根据至少两个分片包,确定分片标识信息;其中,分片标识信息用于指示原始信令为分片信令;

将分片标识信息封装于sdtp消息中。

本发明实施例还提供了一种网络设备,应用于源节点,包括:

获取模块,用于获取待传输的原始信令的至少两个分片包;

生成模块,用于根据至少两个分片包,生成待传输的共享数据传输协议sdtp消息;其中,sdtp消息包括:至少两个分片包中一个分片包的包头以及每个分片包的包体;

发送模块,用于将sdtp消息发送至目标节点。

其中,包头包括:sdtp通用头、以太网ethernet头、ip头和tcp头。

其中,sdtp消息包括:sdtp消息头和sdtp消息体,sdtp消息体包括:至少两个分片包中一个分片包的包头以及每个分片包的包体。

其中,生成模块包括:

第一封装单元,用于将包头和至少两个分片包中的第一个分片包的包体封装为第一个原始码流帧;

第二封装单元,用于按照预设顺序依次对至少两个分片包中的其他分片包体进行封装,生成待传输的sdtp消息;其中,其他分片包为至少两个分片包中除第一个分片包之外的分片包。

其中,生成模块还包括:

确定单元,用于根据至少两个分片包,确定分片标识信息;其中,分片标识信息用于指示原始信令为分片信令;

第三封装单元,用于将分片标识信息封装于sdtp消息中。

本发明实施例还提供了一种网络设备,网络设备包括处理器、存储器以及存储于存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的共享数据传输协议sdtp消息传输方法中的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的共享数据传输协议sdtp消息传输方法的步骤。

本发明的上述技术方案的有益效果是:当待传输原始信令为分片信令,即原始信令包括至少两个分片包时,将至少两个分片包中一个分片包的包头以及每个分片包的包体封装在一个待传输sdtp消息中发送至目标节点,这样无需每个分片包均携带包头,可节省sdtp消息的传输带宽,提高网络传输带宽的利用率。

附图说明

图1表示应用系统、dpi系统、volte网络的之间的组网关系示意图;

图2表示基于sdtp的原始信令传输协议栈的接口示意图;

图3表示本发明实施例中sdtp消息传输方法的流程示意图;

图4表示本发明实施例的网络设备的模块示意图;

图5表示本发明实施例的网络设备框图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。

在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

另外,本文中术语“系统”和“网络”在本文中常可互换使用。

在本申请所提供的实施例中,应理解,“与a相应的b”表示b与a相关联,根据a可以确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。

如图3所示,本发明的实施例提供了一种共享数据传输协议sdtp消息传输方法,应用于源节点,具体包括以下步骤:

步骤31:获取待传输的原始信令的至少两个分片包。

这里是说,待传输的原始信令为分片信令时,原始信令包括至少两个分片包。

步骤32:根据至少两个分片包,生成待传输的共享数据传输协议sdtp消息。

其中,sdtp消息包括:至少两个分片包中一个分片包的包头以及每个分片包的包体。由于sdtp消息可以携带一个原始信令,也可以携带多个原始信令。对于携带一个原始信令时,尤其是携带一个分片信令时,源节点可根据分片信令中的至少两个分片包生成一个sdtp消息。为了提高传输效率,可采用将至少两个分片包复用同一包头的方式,以降低sdtp消息的数据量。例如,对于一个三分片包的信令,假设单个分片包的包头为68字节(bytes),如果每个分片的包头重复发送则需要发送三次,即68*3=204字节。采用本发明实施例中将三分片包复用同一包头的方式,则仅需将包头发送一次,即68字节,这样可节省68*2=136字节。

步骤33:将sdtp消息发送至目标节点。

将生成的sdtp消息发送至目标节点,以实现sdtp消息的交互。其中值得指出的是,源节点和目标节点均为网络节点,其身份可以互换,也就是说,当第一网络节点向第二网络节点发送sdtp消息时,第一网络节点为源节点,第二网络节点为目标节点;当第二网络节点向第一网络节点发送sdtp消息时,第一网络节点为目标节点,第二网络节点为源节点。

其中,上述分片包的包头包括:sdtp通用头、以太网ethernet头、ip头和tcp头。

进一步地,上述sdtp消息包括:sdtp消息头(messageheader)和sdtp消息体(messagebody),sdtp消息体包括:至少两个分片包中一个分片包的包头以及每个分片包的包体。其中,分片包的包头包括:sdtp通用头、以太网ethernet头、ip头和tcp头。分片包的包体包括分片包中携带的数据,如sip、diameter协议层消息等。

其中,上述步骤32具体可通过以下步骤实现:将包头和至少两个分片包中的第一个分片包的包体封装为第一个原始码流帧;按照预设顺序依次对至少两个分片包中的其他分片包体进行封装,生成待传输的sdtp消息。其中,其他分片包为至少两个分片包中除第一个分片包之外的分片包。也就是说,当待传输的原始信令包括至少两个分片包时,复用第一个分片的sdtp通用头、ethernet头、ip头和tcp头,后续分片包不再传输这些包头,以避免网络带宽的浪费。

进一步地,为了进一步避免资源浪费,步骤32还包括:根据至少两个分片包,确定分片标识信息;其中,分片标识信息用于指示原始信令为分片信令;将分片标识信息封装于sdtp消息中。也就是说,在sdtp消息中增加分片标识字段,这样目标节点在接收到通过sdtp消息传输过来的原始信令时,不再需要深入到ip头域内部去判断这些包是否为分片包,仅从外部sdtp消息的分片标识字段就可以知道接收到的是分片包,则可直接进行分片重组,避免了计算资源的浪费。

具体地,sdtp消息格式可参照表3所示:

表3

基于现有sdtp协议传输原始信令码流,在dpi系统采集到的网络包为ip包分片包时,sdtp通用包头、ethernet头、ip头、tcp头等按照最常见的情况计算为:14+14+20+20=68bytes。对于一个三个分片的sip请求信令,采用本发明实施例中复用第一个分片包的包头的方式,可节省2*68bytes=126bytes。而一次sip呼叫建立过程,对应的原始码流可能有2至3条消息是分片的,也就是说一次sip呼叫在一个接口的采集点对应的原始码信令流就会节省约400bytes的带宽。假设一个省份有2000万的volte用户,每天的呼叫话单量大概是20000亿条,节省的带宽约为80g。进一步地,若dpi系统需要同时向多个应用系统传输原始信令时,节省的带宽将成倍的增加,这样即可大量的节约网络带宽,提高网络带宽的利用率。

本发明实施例的共享数据传输协议sdtp消息传输方法中,当待传输原始信令为分片信令,即原始信令包括至少两个分片包时,将至少两个分片包中一个分片包的包头以及每个分片包的包体封装在一个待传输sdtp消息中发送至目标节点,这样无需每个分片包均携带包头,可节省sdtp消息的传输带宽,提高网络传输带宽的利用率。

以上实施例分别就本发明的共享数据传输协议sdtp消息传输方法做出介绍,下面本实施例将结合附图对其对应的网络设备做进一步说明。

具体地,如图4所示,本发明实施例的网络设备400,应用于源节点,包括:

获取模块410,用于获取待传输的原始信令的至少两个分片包;

生成模块420,用于根据至少两个分片包,生成待传输的共享数据传输协议sdtp消息;其中,sdtp消息包括:至少两个分片包中一个分片包的包头以及每个分片包的包体;

发送模块430,用于将sdtp消息发送至目标节点。

其中,包头包括:sdtp通用头、以太网ethernet头、ip头和tcp头。

其中,sdtp消息包括:sdtp消息头和sdtp消息体,sdtp消息体包括:至少两个分片包中一个分片包的包头以及每个分片包的包体。

其中,生成模块420包括:

第一封装单元,用于将包头和至少两个分片包中的第一个分片包的包体封装为第一个原始码流帧;

第二封装单元,用于按照预设顺序依次对至少两个分片包中的其他分片包体进行封装,生成待传输的sdtp消息;其中,其他分片包为至少两个分片包中除第一个分片包之外的分片包。

其中,生成模块420还包括:

确定单元,用于根据至少两个分片包,确定分片标识信息;其中,分片标识信息用于指示原始信令为分片信令;

第三封装单元,用于将分片标识信息封装于sdtp消息中。

本发明的网络设备实施例是与上述方法的实施例对应的,上述方法实施例中的所有实现手段均适用于该网络设备的实施例中,也能达到相同的技术效果。该网络设备在待传输原始信令为分片信令,即原始信令包括至少两个分片包时,将至少两个分片包中一个分片包的包头以及每个分片包的包体封装在一个待传输sdtp消息中发送至目标节点,这样无需每个分片包均携带包头,可节省sdtp消息的传输带宽,提高网络传输带宽的利用率。

为了更好的实现上述目的,如图5所示,本发明的实施例还提供了一种网络设备,该网络设备包括:处理器500;通过总线接口与所述处理器500相连接的存储器520,以及通过总线接口与处理器500相连接的收发机510;所述存储器520用于存储所述处理器在执行操作时所使用的程序和数据;通过所述收发机510发送数据信息或者导频,还通过所述收发机510接收上行控制信道;当处理器500调用并执行所述存储器520中所存储的程序和数据时,实现如下的功能模块:

处理器500用于读取存储器520中的程序,执行下列过程:获取待传输的原始信令的至少两个分片包;根据至少两个分片包,生成待传输的共享数据传输协议sdtp消息;其中,sdtp消息包括:至少两个分片包中一个分片包的包头以及每个分片包的包体。

收发机510,用于在处理器500的控制下接收和发送数据,具体用于将sdtp消息发送至目标节点。

其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器500代表的一个或多个处理器和存储器520代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机510可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器500负责管理总线架构和通常的处理,存储器520可以存储处理器500在执行操作时所使用的数据。

本领域技术人员可以理解,实现上述实施例的全部或者部分步骤可以通过硬件来完成,也可以通过计算机程序来指示相关的硬件来完成,所述计算机程序包括执行上述方法的部分或者全部步骤的指令;且该计算机程序可以存储于一可读存储介质中,存储介质可以是任何形式的存储介质。

此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。

因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1