用于分组数据转换的技术

文档序号:1078589 发布日期:2020-10-16 浏览:3次 >En<

阅读说明:本技术 用于分组数据转换的技术 (Techniques for packet data conversion ) 是由 M·阿门德 E·波根菲尔德 于 2019-02-21 设计创作,主要内容包括:本公开涉及用于网络协议转换的技术,尤其涉及用于发送器的第一分组数据转换设备(810),该分组数据转换设备(810)包括:数据接口(811),该数据接口(811)被配置成根据第一网络协议(814),特别是根据数据报拥塞控制协议DCCP提供第一分组数据(813),其中该第一分组数据(813)的每个分组都包括第一分组报头(815);以及转换器(812),该转换器(812)被配置成将该第一分组数据(813)转换成第二分组数据(817);其中该转换基于对该第一分组报头(815)的内容的重新布置,其中该经重新布置的第一分组报头(819)指示该第二分组数据(817)是根据第二网络协议(818)生成的,特别是根据用户数据报协议UDP或根据UDP-Lite协议生成的。(The present disclosure relates to a technique for network protocol conversion, and more particularly, to a first packet data conversion device (810) for a transmitter, the packet data conversion device (810) including: a data interface (811), the data interface (811) being configured to provide first packet data (813) according to a first network protocol (814), in particular according to a datagram congestion control protocol, DCCP, wherein each packet of the first packet data (813) comprises a first packet header (815); and a converter (812), the converter (812) configured to convert the first packet data (813) into second packet data (817); wherein the conversion is based on a rearrangement of the content of the first packet header (815), wherein the rearranged first packet header (819) indicates that the second packet data (817) is generated according to a second network protocol (818), in particular according to a user datagram protocol, UDP, or according to a UDP-Lite protocol.)

用于分组数据转换的技术

技术领域

本发明涉及用于分组数据转换的技术,特别是用于DCCP(数据报拥塞控制协议)分组数据的转换,使得其看起来像UDP(用户数据报协议)分组数据,以便在仅支持UDP分组数据的中间盒(middle box)上传送经转换的DCCP分组数据。本发明进一步涉及用于类UDP外观的DCCP报头转换器设备。

背景技术

根据“University of Southern California(南加州大学),“TRANSMISSIONCONTROL PROTOCOL(传输控制协议)”RFC793,1981年9月”的传输控制协议(TCP)被广泛地应用于当今的计算机网络以确保OSI(开放系统互连)层4上的可靠数据传输。因此,它使用拥塞控制来适配路径特性并使用流控制来实现可靠有序递送,这可能会导致队首阻塞。尤其,从应用角度来看,队首阻塞是非期望的特征,例如,对于实时通信而言。因此,大多数此类应用使用根据“J.Postel,“User Datagram Protocol(用户数据报协议)”RFC768,1980年8月28日”的OSI层4用户数据报协议(UDP),该协议是无状态的并且不包括任何拥塞或流控制。替换地,可以使用根据RFC3828的UDP-Lite,其具有协议号136而非17的UDP。为了确保路径适配,应用大多在顶层实施自己的拥塞控制,这既耗时又容易出错。存在解决此问题的另一OSI层4协议:根据“E.Kohler、M.Handley、S.Floyd,“Datagram Congestion ControlProtocol(DCCP)(数据报拥塞控制协议(DCCP))”,RFC4340,2006年3月”的普通旧数据报拥塞控制协议(DCCP)是一种继承TCP类拥塞控制的协议,而不保证(有序)递送。使用它的应用可以将拥塞控制留给层4而无需关注。

原则上,对于当今使用UDP并实现其自己的拥塞控制的许多应用来说,DCCP似乎是一个不错的选择。但是,DCCP具有经典的“鸡与蛋”问题。由于DCCP没有被广泛地部署,因此中间盒经常在DCCP到达目的地的途中阻塞DCCP,这进而成为不使用DCCP作为应用开发器的原因。仅TCP和UDP是预期中间盒能够合理接受的协议。

发明内容

本发明的目的是提供一种用于解决上文提及的问题的概念,即如何在为UDP或TCP数据话务设计的中间盒上高效地分发DCCP数据话务。

本发明的另一目的是介绍一种用于在仅支持特定网络协议的网络设备上高效传输数据话务的概念。

上述和其他目的是通过独立权利要求的主题内容来实现的。进一步的实现形式从从属权利要求、说明书和附图中是明显的。

为了克服穿越防火墙和NAT(网络地址转换)等中间盒的挑战,唯一合理的解决方案是在不相信DCCP将会被允许通过这些中间盒的情况下,将其转换为TCP或UDP等通用协议。由于DCCP希望避免TCP行为,因此解决方案空间仅限于UDP。

本公开聚焦于两种不同类型的转换器设备,它们将DCCP数据报转换成看起来像UDP。DCCP连接需要至少两个转换器设备,一个用于将其转换成UDP,另一个用于撤消转换,如图1所示。第一解决方案是首先在发送转换器上将每个DCCP数据报都封装成UDP数据报,并然后在接收转换器中再次将其剥离,这也可以被描述为如图2所示的基于UDP的DCCP传输(DCCP over UDP transmission),并且相当简单。然而,除了简单性之外,该第一解决方案还会因注入至少一个附加的UDP报头而对大小比例造成影响,并最终对OSI网络层(例如IP)的报头的大小比例造成影响。因此,引入了至少需要传输的开销,并还可能导致除分段和/或有效载荷减少之外的其他开销。第二解决方案,其是更为优雅的解决方案,主要基于将DCCP报头(参见图3)转换成看起来像UDP,如图6和7示例性地示出的。此第二解决方案的一般表示如图8所示。

以下呈现的方法和系统可以是各种类型。所描述的个体元件可由硬件或软件组件来实现,例如可以由通过各种技术制造并且例如包括半导体芯片、ASIC、微处理器、数字信号处理器、集成电路、电子光学电路和/或无源组件的电子组件来实现。

以下呈现的设备、系统和方法能够通过通信网络来传送信息。术语通信网络指代在其上发生信号的传输的技术基础结构。通信网络主要包括其中在移动无线电网络或固定网络的静驻设备和平台之间进行信号传输和交换的交换网络,以及其中在网络接入设备与通信终端之间进行信号传输的接入网络。通信网络可包括移动无线电网络的组件以及固定网络的组件两者。在移动网络中,接入网络也被称为空中接口,并且包括例如带有移动天线以建立到如上所述的通信终端(例如带有移动适配器的移动电话或移动设备或机器终端)的通信的基站(B节点、演进型B节点、无线电蜂窝)。在固定网络中,接入网络包括例如DSLAM(数字订户线接入复用器),以基于线缆来连接多个参与者的通信终端。经由交换网络,通信可被传递到其他网络,例如其他网络运营商,例如外国网络。

在下文中,描述了也称为通信协议的网络协议。网络协议是一种规则体系,这些规则允许通信系统的两个或多个实体经由通信信道或传输介质来传送信息。网络协议定义了通信的规则“句法”、“语义”和“同步”以及可能的错误检测和纠正。可以通过计算机硬件、软件、或两者的组合来实现各网络协议。通信系统使用定义明确的格式来交换各种消息。每个消息都具有准确的含义,旨在从针对该特定情况预定的一系列可能响应中引起响应。指定的行为通常独立于其如何被实现。通信协议必须由相关各方协定。为了达成协定,可以将网络协议开发为技术标准。多个协议通常描述单个通信的不同方面。设计成一起工作的一组(网络)协议被称为(网络)协议套件;当用软件实现时,它们是(网络)协议栈。因特网通信协议由因特网工程任务组(IETF)发布。IEEE处置有线和无线联网,而国际标准化组织(ISO)处置其他类型。

在通信和计算系统中,开放式系统互连模型(OSI模型)定义了一概念模型,该概念模型表征并标准化通信功能而无需考虑其底层的内部结构和技术。其目标是具有各种标准协议的各种各样的通信系统的互操作性。该模型将通信系统划分成各抽象层。原始版本的模型定义了七个层:物理层(层1)、数据链路层(层2)、网络层(层3)、传输层(层4)、会话层(层5)、表示层(层6)和应用层(层7)。

根据第一方面,本发明涉及一种用于发送器的第一分组数据转换设备,该分组数据转换设备包括:数据接口,该数据接口被配置成根据第一网络协议,特别是根据数据报拥塞控制协议DCCP提供第一分组数据,其中该第一分组数据的每个分组都包括第一分组报头;以及转换器,该转换器被配置成将该第一分组数据转换成第二分组数据,其中该转换基于对该第一分组报头的内容的重新布置,其中该经重新布置的第一分组报头指示该第二分组数据是根据第二网络协议生成的,特别是根据用户数据报协议UDP或UDP-Lite协议生成的。

此类第一分组数据转换设备通过为UDP(或UDP-Lite)或TCP数据话务设计的中间盒提供对DCCP数据话务的高效分发,因为该经重新布置的第一分组报头指示该第二分组数据是根据第二网络协议生成的,特别是根据UDP或根据UDP-Lite生成的。具体而言,此类第一分组数据转换设备通过网络设备提供对数据话务的高效传输,该网络设备仅支持特定网络协议,即第二网络协议,但是阻塞根据第一网络协议的数据话务。UDP-Lite在重新布置方面更加容易,因为它已经包含了用于端口、CsCov和Chksum(校验和)的数据字段。

在第一分组数据转换设备的示例性实现形式中,经重新布置的第一分组报头的长度等于第一分组报头的长度。

这提供了转换器不改变第一分组报头的大小并且避免引入开销的优点。因此,不必附加地传送开销,这可以导致分段和/或有效载荷减少。

在第一分组数据转换设备的示例性实现形式中,第二分组数据的分组的长度等于第一分组数据的对应分组的长度。

这提供了转换器不改变整体第一分组数据的大小并且避免引入开销的优点。因此,不必附加地传送开销,这可以导致分段和/或有效载荷减少。

在第一分组数据转换设备的示例性实现形式中,该转换进一步基于将该第一分组报头的协议字段从指示该第一网络协议更改为指示该第二网络协议。

这提供了如下优点:发送器和接收器之间的传输路径内的网络设备(所谓的中间盒)可以在协议字段中检测第二网络协议,并且因此在它们被设计成传送根据第二网络协议的数据话务(例如UDP数据话务或UDP-Lite数据话务)的情况下将传递第一分组数据。

在第一分组数据转换设备的示例性实现形式中,第一分组报头包括因特网协议IP报头,且协议字段是IP报头的协议字段。

这提供了因特网路由器和/或网关可以检测IP报头的协议字段并且可以转发第一分组数据的优点。

在第一分组数据转换设备的示例性实现形式中,该转换器被配置成将该协议字段从指示DCCP协议的值33更改为指示UDP协议的值17或更改为指示UDP-Lite协议的值136。

这提供了被设计成用于传输UDP(或UDP-Lite)或TCP数据话务的典型中间盒能够将第一个分组数据检测为UDP(或UDP-Lite)数据话务的优点。因此,第一分组数据不会被此类中间盒阻塞。

在第一分组数据转换设备的示例性实现形式中,该转换进一步基于扩展该第一分组数据的相应分组的校验和覆盖字段CsCov,其中该CsCov指示被校验和覆盖的该相应分组的范围。

这提供了可以将校验和扩展到第一分组数据的更宽范围内,从而实现更可靠的传输的优点。

在第一分组数据转换设备的示例性实现形式中,该CsCov被扩展到该第二网络协议的分组报头中包括的长度字段的大小,特别是UDP协议或UDP-Lite协议的分组报头。

这提供了CsCov可被解释为UDP(或UDP-Lite)长度字段,并因此第一分组数据被常规中间盒解释为UDP(或UDP-Lite)话务的优点,该常规中间盒被设计成转发UDP(或UDP-Lite)话务但阻塞DCCP或其他话务。

在第一分组数据转换设备的示例性实现形式中,该转换进一步基于将该第一分组报头的类型字段、CCVal字段和数据偏移字段中的至少一者重新布置到该经重新布置的第一分组报头中的另一位置。

这提供了如下优点:这些类型、CCVal和数据偏移字段可以在第一分组报头中进一步向后移位,例如,移位至不被中间盒检查的位置,以标识UDP(或UDP-Lite)数据话务。

在第一分组数据转换设备的示例性实现形式中,该经重新布置的第一分组报头包括以下数据字段,特别是按以下顺序:源端口、目的端口、校验和覆盖CsCov、校验和、类型、CCVal、数据偏移和序列号。

这提供了经重新布置的第一分组报头的第一部分(包括源端口、目的端口、校验和覆盖CsCov和校验和)看起来像UDP(或UDP-Lite)报头的优点。当由典型中间盒检查此第一部分时,第一分组数据被标识成UDP数据话务。

在第一分组数据转换设备的示例性实现形式中,该第一分组数据和该第二分组数据是根据OSI层4表示的经分段的数据流。

这提供了可以提供根据OSI规范的传输层(层4)的服务的优点,例如面向连接的通信、同顺序递送、可靠性、流控制、拥塞控制和多路复用。

根据第二方面,本发明涉及一种用于接收器的第二分组数据转换设备,该第二分组数据转换设备包括:数据接口,该数据接口被配置成根据第二网络协议,特别是根据用户数据报协议UDP或根据UDP-Lite协议接收第二分组数据,其中该第二分组数据的每个分组都包括第二分组报头;以及转换器,该转换器被配置成将该第二分组数据转换成第一分组数据;其中转换基于对第二分组报头的内容的重新布置,其中经重新布置的第二分组报头指示第一分组数据是根据第一网络协议生成的,特别是根据数据报拥塞控制协议DCCP生成的。

此类第二分组数据转换设备通过为UDP(或UDP-Lite)或TCP数据话务设计的中间盒提供对DCCP数据话务的高效分发,因为该第二分组报头指示该第二分组数据是根据第二网络协议生成的,特别是根据UDP(或UDP-Lite)生成的并因此可以通过这些中间盒。第二分组数据转换设备的转换器将经传送的数据话务重新转换回其原始网络协议,即重新转换回第一网络协议,特别是DCCP。此类第二分组数据转换设备(与上述第一分组数据转换设备一起)通过网络设备提供对数据话务的高效传输,该网络设备仅支持特定网络协议,即第二网络协议,但是阻塞根据第一网络协议的数据话务。

根据第三方面,本发明涉及一种传输系统,包括:发送器,该发送器被配置成通过传输信道发送第一分组数据,其中该发送器包括根据第一方面的第一分组数据转换设备,该第一分组数据转换设备被配置成在发送之前将该第一分组数据转换成第二分组数据;以及接收器,该接收器被配置成经由该传输信道接收第二分组数据,其中该接收器包括根据第二方面的第二分组数据转换设备,该第二分组数据转换设备被配置成在接收之后将第二分组数据转换成第一分组数据。

此类传输系统在具有仅支持根据第二网络协议生成的数据话务的传输的传输路径的传输信道上提供对根据第一网络协议生成的第一分组数据的有效分发,因为第一分组报头看起来像是第二网络协议的分组报头。

在示例性实现形式中,传输系统包括发送器和接收器之间的中间盒,其中该中间盒被配置成传输根据第二网络协议,特别是根据UDP(或UDP-Lite))协议的数据和阻塞根据第一网络协议814,特别是根据DCCP协议的数据。

此类传输系统在仅支持UDP(或UDP-Lite)或TCP数据话务的中间盒上提供对DCCP数据话务的有效分发,因为DCCP报头被重新布置成类似于UDP报头。

根据第四方面,本发明涉及一种用于分组数据转换的方法,该方法包括:根据第一网络协议,特别是根据数据报拥塞控制协议DCCP提供第一分组数据,其中该第一分组数据的每个分组都包括第一分组报头;以及将该第一分组数据转换成第二分组数据,其中该转换基于对该第一分组报头的内容的重新布置,其中该经重新布置的第一分组报头指示该第二分组数据是根据第二网络协议生成的,特别是根据用户数据报协议UDP或根据UDP-Lite协议生成的。

此类方法通过为UDP(或UDP-Lite)或TCP数据话务设计的中间盒提供对DCCP数据话务的高效分发,因为该经重新布置的第一分组报头指示该第二分组数据是根据第二网络协议生成的,特别是根据UDP(或UDP-Lite)生成的。具体而言,此类方法通过网络设备提供对数据话务的高效传输,该网络设备仅支持特定网络协议,即第二网络协议,但是阻塞根据第一网络协议的数据话务。

根据第五方面,本发明涉及一种包括程序代码的计算机程序产品,当在计算机或处理器上执行该程序代码时,用于执行如本发明的第四方面的方法。

本发明的各实施例可以用硬件和/或软件来实现。

本公开中应用以下首字母缩写词:

API 应用接口

DCCP 数据报拥塞控制协议

IP 因特网协议

OSI 开放式系统互连

TCP 传输控制协议

UDP 用户数据报协议

附图说明

本发明的进一步实施例将相对于以下附图来描述,其中:

图1示出了解说示例性DCCP UDP转换器架构100的框图;

图2示出了解说基于UDP的DCCP传输系统200的OSI层视图的框图;

图3示出了解说根据RFC 4340的DCCP报头结构300的位图;

图4示出了解说根据RFC 768的UDP报头结构400的位图;

图5示出了解说根据RFC 791的IP报头结构400的位图;

图6示出了解说根据本公开的示例性DCCP至UDP报头转换600的位图;

图7示出了解说根据本公开的具有示例性DCCP至UDP报头转换的传输系统700的OSI层视图的框图;

图8示出了解说根据本公开的具有应用报头转换的第一分组数据转换设备810和第二分组数据转换设备820的通用传输系统800的框图;以及

图9示出了解说根据本公开的用于分组数据转换的方法900的示意图。

具体实施方式

在以下的详细描述中,参考形成本公开的一部分的附图,并且其中藉由解说示出了可以放置本发明的具体方面。应理解,可利用其他方面并且可以做出结构或者逻辑改变,而不脱离本发明的范围。因此,以下详细描述不应按照限制的意义来理解,因为本发明的范围由所附权利要求限定。

例如,应理解,与所述方法相关的公开对于被配置成执行该方法的相应设备或系统也可以是成立的,反之亦然。例如,如果描述了特定的方法步骤,则相应的设备可包括执行所描述的方法步骤的单元,即使在附图中未显式地描述或解说此类单元。此外,应理解,除非另有特别说明,否则本文所描述的各种示例性方面的特征可以彼此组合。

图1示出了解说示例性DCCP UDP转换器架构100的框图。DCCP连接需要至少两个转换器设备112、122,一个转换器设备112(图1的左侧)用于将其转换成UDP而另一转换器设备122(图1的右侧)用于撤消转换。在发送方侧,即图1的左侧,DCCP生成器110根据开放系统互连(OSI)参考模型在OSI层4处生成DCCP数据流111。发送方侧上的转换器112将此DCCP数据流111转换成看起来像UDP的经转换的数据流113(在OSI层4上)。在接收方侧,即图1的右侧,接收方侧处的转换器122将此看起来像UDP的经转换的数据流(重新)转换成经重新转换的DCCP数据流121(在OSI层4上),该经重新转换的DCCP数据流121然后被转发到DCCP接收器120。

转换器设备112、122可以被设计成支持两种不同类型的转换技术,用于转换DCCP数据报使得它们看起来像UDP。第一类型的转换技术(如图2所示)是基于根据基于UDP的DCCP传输在发送转换器上将每个DCCP数据报都封装成UDP数据报,而第二类型的转换技术(如图6和7所示)是基于以使得DCCP报头看起来像UDP报头的方式重新布置DCCP报头的内容。两种技术都允许DCCP分组数据通过发送器和接收器之间的中间盒,该中间盒被设计成支持UDP数据话务但阻塞DCCP数据话务。

图2示出了解说基于UDP的DCCP传输系统200的OSI层视图的框图。传输系统200对应于上面参考图1描述的系统,其中转换器112、122被设计成首先根据基于UDP的DCCP传输在发送转换器112上将每个DCCP数据报都封装成UDP数据报,并然后在接收转换器122中再次将其剥离。

在图2的示例中,DCCP数据流111包括层1 201、层2 202、作为层3的IP层205、作为层4的DCCP层206以及作为更高层的有效载荷207。在发送转换器112之后,经转换的数据流113附加地包括经封装的IP层203和经封装的UDP层204(如图2的中偏左部分所示),或者替换地包括IP层205和DCCP层206之间的经封装的UDP层204(如图2的中偏右部分所示)。在接收转换器112之后,这些附加层203、204(第一备选方案)或此单个附加层204(第二备选方案)再次被剥离,从而产生具有与原始DCCP数据流111相同结构的接收DCCP数据流121,即,包括层1 201、层2 202、作为层3的IP层205、作为层4的DCCP层206以及作为更高层的有效载荷207。

根据图2的解决方案非常简单。然而,除了简单性之外,该第一解决方案还会因注入至少一个附加的UDP报头204而对大小比例造成影响,并最终对OSI网络层(例如IP203)的报头的大小比例造成影响。因此,引入了至少需要被传输的开销,并还可能导致除分段和/或有效载荷减少之外的其他开销。

图3示出了解说根据RFC 4340的DCCP网络协议的DCCP报头结构300的位图。数据报拥塞控制协议(DCCP)是面向消息的传输层协议。DCCP实现可靠的连接设立、拆除、显式拥塞通知(ECN)、拥塞控制和特征协商。DCCP提供了一种访问拥塞控制机制的方法,而不必在比层4更高的层上实现它们。它允许像传输控制协议(TCP)那样基于流的语义,但不提供可靠的有序递送。DCCP连接包含确收话务以及数据话务。

DCCP报头300包括源端口(16位)、目的端口(16位)、数据偏移(8位)307、CCVal(4位)306、校验和覆盖CsCov(4位)301、校验和(16位)、保留位字段(3位)、类型字段(4位)、X=1字段(1位)、另一保留位字段(8位)、序列号(高位)(16位)和序列号(低位)(32位)。

根据上文参考图1所描述的第二解决方案,DCCP报头的内容,特别是数据偏移307、CCVal 306、CsCov 301和类型305位字段按使得DCCP报头看起来像下面描述的UDP报头的方式被重新布置。在一些实施例中,必须将CsCov 301位字段另外转换成UDP报头的相应长度和/或值字段。校验和覆盖CsCov确定校验和字段所覆盖的分组的部分。此第二解决方案没有如在上面参考图2描述的第一解决方案中那样注入额外信息的缺点,而是利用了DCCP报头的已经使用的空间并重新布置报头内容。

图4示出了解说根据RFC 768的UDP网络协议的UDP报头结构400的位图。使用用户数据报协议(UDP),计算机应用可以将消息(在此情形中称为数据报)发送到因特网协议(IP)网络上的其他主机。不需要事先进行通信就能建立通信信道或数据路径。UDP使用具有最少协议机制的简单无连接通信模型。UDP提供用于数据完整性的校验和,以及用于在数据报的源和目的处寻址不同功能的端口号。它没有握手对话,并因此使用户程序暴露于底层网络的任何不可靠性。不存在对递送、顺序或重复保护的保证。

UDP报头400包括源端口(16位)、目的端口(16位)、长度字段401和校验和。在一些实施例中,取决于CsCov,源端口、目的端口和校验和可以与图3所示的DCCP报头300中的相同。在一些实施例中,可能会归因于重新布置而必须重新计算校验和。如果将DCCP报头300的CsCov字段301扩大到16位值并且CCVal 306和数据偏移307被移位到经重新布置的DCCP报头中的某个其他位置,则该经重新布置的DCCP报头就看起来像图4中所示的UDP报头400。此外,它表现得类似于有效的UDP分组,以防中间盒检查长度和校验和。

图5示出了解说根据RFC 791的IP网络协议的IP报头结构500的位图。因特网协议(IP)负责寻址主机、将数据封装到数据报中(包括分段和重组),并跨一个或多个IP网络将数据报从源主机路由到目的主机。为此,因特网协议定义分组的格式并提供寻址系统。每个数据报都具有两个组成部分:报头和有效载荷。IP报头包括源IP地址、目的IP地址以及路由和递送数据报所需的其他元数据。有效载荷是被传输的数据。这种将数据有效载荷嵌套在带有报头的分组中的方法称为封装。

IP报头包括不同的位字段,诸如版本、IHL、服务类型、总长度、标识、标志、分段偏移、生存时间、协议、报头校验和、源地址、目的地址、选项和填充。对于以上参考图1描述的第二解决方案,连同报头内容的重新布置,转换器设备必须将IP报头500中的“协议”字段501更改为17;UDP(发送转换器)或33;DCCP(接收方转换器)。在使用根据RFC 3828的UDP-Lite协议的替换实施例中,转换器设备必须将IP报头500中的“协议”字段501更改为136;UDP-Lite(发送转换器)或33;DCCP(接收方转换器)。

图5示出了根据RFC 791的原始IP报头(IPv4)。该解决方案还可根据RFC 2460被应用于IPv6的IP报头。协议字段必须相应地更改。

图6示出了解说根据本公开的示例性DCCP至UDP报头转换600的位图。经转换的报头600包括以下位字段:源端口601、目的端口602、CsCov 603、校验和604、类型605、CCVal606、数据偏移607、序列号(高位)608和序列号(低位)609。与图3所示的DCCP报头300相比,当CsCov 603被放大到16位值时,源端口601、目的端口602和校验和604位于相同的位置。数据偏移307、CCVal 306和类型605被移位到某个其他位置,并且序列号(高位)608和序列号(低位)609位于相同的位置。移除了DCCP报头300的保留位字段和X=1位字段。如图4所示,由于经转换的报头600的CsCov位字段603类似于UDP报头400的长度位字段401,所以经转换的报头600现在匹配610如图4所示的UDP报头400。

这样,每个数据报在各转换器之间看起来就像UDP,而不会丢失DCCP相关信息。连同重新布置,转换器设备必须将如以上参考图5所述的IP报头中的“协议”字段更改为17;UDP(发送转换器)或33;DCCP(接收方转换器)。在使用根据RFC 3828的UDP-Lite协议的替换实施例中,转换器设备必须将如以上参考图5所述的IP报头中的“协议”字段更改为136;UDP-Lite(发送转换器)或33;DCCP(接收方转换器)。此外,它表现得类似于有效的UDP(或UDP-Lite)分组,以防中间盒检查长度和校验和。最终架构和相关OSI层更改如图7所示。

图7示出了解说根据本公开的具有示例性DCCP至UDP报头转换的传输系统700的OSI层视图的框图。

传输系统700对应于上文参考图1描述的系统,其中转换器112、122被设计成将每个DCCP重新布置成如上文参考图6所描述的,并且将IP报头中的协议字段更改为针对发送转换器112的17,UDP(或任选地136,UDP-Lite)或针对接收转换器122的33,DCCP。

在图7的示例中,DCCP数据流111包括层1 201、层2 202、作为层3的IP层205、作为层4的DCCP层206以及作为更高层的有效载荷207。在发送转换器112之后,经转换的数据流113包括经重新布置的DCCP层206,其类似于UDP层704和经修改的IP层703,其中协议字段被更改为17,UDP(或者任选地136,UDP-Lite)。在接收转换器112之后,这些经重新布置的层703、704被带回其原始结构,从而产生具有与原始DCCP数据流111相同结构的接收DCCP数据流121,即,包括层1 201、层2 202、作为层3的IP层205、作为层4的DCCP层206以及作为更高层的有效载荷207。

图8示出了解说根据本公开的具有应用报头转换的第一分组数据转换设备810和第二分组数据转换设备820的通用传输系统800的框图。传输系统800包括在发送方侧(左侧)的第一分组数据转换设备810和在接收者侧(右侧)的第二分组数据转换设备820。分组数据转换设备810、820两者都可以在不同网络实体(例如,发送器和接收器)上实现,或者在同一网络实体(例如,提供发送器和接收器功能的收发机)上实现。

第一分组数据转换设备810包括数据接口811,其被配置成根据第一网络协议814,特别是根据数据报拥塞控制协议DCCP提供第一分组数据813,其中第一分组数据(813)的每个分组都包括第一分组报头(815)。第一分组数据813可以在内部生成或从外部设备接收。第一分组数据转换设备810包括被配置成将第一分组数据813转换成第二分组数据817的转换器812。转换基于对第一分组报头815的内容的重新布置,其中经重新布置的第一分组报头819指示第二分组数据817是根据第二网络协议818生成的,特别是根据用户数据报协议UDP生成的,例如,如上文参考图3至7所描述的,称为基于分组报头内容重新布置的第二解决方案。

进行转换使得第一分组报头815和经重新布置的第一分组报头817(被称为第二分组报头)的长度保持相同。即,经重新布置的第一分组报头819的长度等于第一分组报头815的长度。此外,第二分组数据817的分组的长度可以等于第一分组数据813的对应分组的长度,这意味着整个分组的长度不会因转换器812的转换而改变。

转换可进一步基于将第一分组报头815的协议字段501从指示第一网络协议814更改为指示第二网络协议818,例如,如参考图5至7所描述的。第一分组报头815可以包括因特网协议(IP)报头,例如上文参考图7所描述的IP报头703。协议字段可以是如上文参考图5所描述的IP报头703的协议字段501。IP报头可以是IPv4报头或IPv6报头。

转换器812可以被配置成将协议字段501从指示DCCP协议的值33更改为指示UDP协议的值17(或者替换地指示UDP-Lite协议的值136),例如,如上文参考图5至7所描述的。

转换可进一步基于扩展第一分组数据813的相应分组的校验和覆盖字段CsCov,例如以上参考图3描述的CsCov 301。CsCov 301指示由校验和302覆盖的相应分组的范围,例如,如图3所示。CsCov 301可以被扩展到第二网络协议的分组报头400,特别是UDP协议的分组报头,中包括的长度字段401的大小,例如如图4所示。例如,CsCov 301可以从4位扩展到16位,如图6所示。

转换可进一步基于将第一分组报头815的类型字段305、605,CCVal字段306、606,和数据偏移字段307、607中的至少一者重新布置到经重新布置的第一分组报头819中的另一位置,例如,如图3和6所示。

经重新布置的第一分组报头819可以包括以下数据字段,特别是按以下顺序:源端口601,目的端口602,校验和覆盖CsCov 603,校验和604,类型605,CCVal 606,数据偏移607和序列号608、609,如图6所示。

第一分组数据813和第二分组数据817可以是根据OSI层4表示的经分段的数据流111、113,如图1和7所示。

在接收方侧(右手侧),第二分组数据转换设备820被用于将收到分组数据(称为第二分组数据817)重新转换为其原始格式。第二分组数据转换设备820包括数据接口821,该数据接口821被配置成根据第二网络协议818,特别是根据用户数据报协议UDP来接收第二分组数据817。第二分组数据817的每个分组都包括第二分组报头819和数据816。第二分组数据转换设备820进一步包括转换器822(由于其执行在发送方侧转换器812的反向操作,所以也被称为重新转换器)。转换器822被配置成将第二分组数据817转换成第一分组数据813。转换基于对第二分组报头819的内容的重新布置,其中经重新布置的第二分组报头815指示第一分组数据813是根据第一网络协议814生成的,特别是根据数据报拥塞控制协议DCCP生成的。

传输系统800可进一步包括发送器(未示出,但是位于左手侧),该发送器被配置成通过传输信道发送第一分组数据813。发送器包括如上所述的第一分组数据转换设备810,其被配置成在发送之前将第一分组数据813转换成第二分组数据817。传输系统800可进一步包括接收器(未示出,但是位于右手侧),该接收器被配置成经由传输信道接收第二分组数据817。接收器包括如上所述的第二分组数据转换设备820,其被配置成在接收之后将第二分组数据817转换成第一分组数据813。

发送器可以例如在诸如智能手机等移动设备(例如,智能手机应用)中实现,并且接收器可以例如在服务器(例如下载服务器)中实现。发送器可以触发下载服务器以下载数据。在示例性实现中,发送器和接收器两者都可以在智能手机中实现,发送器和接收器两者都可以在下载服务器中实现以实现双工传输。

在另一示例中,发送器可以在第一网络节点中实现,而接收器可以在第二网络节点中实现,例如,因特网中的网关或路由器。在此示例中,根据第一网络协议的数据话务可被转换成根据第二网络协议的数据话务,以便通过第一网络节点和第二网络节点之间的传输路径,该传输路径被设计成传送根据第二网络协议的数据话务但是阻塞根据第一网络协议的数据话务。在此示例中,第一网络节点和第二网络节点也可以包括发送器和接收器两者,以用于双工传输。

在示例性实施例中,传输系统800包括发送器和接收器之间的中间盒,其中该中间盒被配置成传输根据第二网络协议818,特别是根据UDP协议的数据和阻塞根据第一网络协议814,特别是根据DCCP协议的数据。在此实现中,数据话务由于数据话务转换而可以通过中间盒。

图9示出了解说根据本公开的用于分组数据转换的方法900的示意图。

方法900包括:根据第一网络协议814,特别是根据数据报拥塞控制协议DCCP,提供901第一分组数据813,例如,如上文参考图8所描述的,其中第一分组数据813的每个分组都包括第一分组报头815。

方法900进一步包括将第一分组数据813转换902成第二分组数据817,例如,如上文参考图8所描述的,其中转换基于对第一分组报头815的内容的重新布置,其中经重新布置的第一分组报头819指示第二分组数据是根据第二网络协议818生成的,特别是根据用户数据报协议UDP生成的。

方法900可以包括进一步的步骤,诸如举例来说,根据以上参考图6至8描述的计算框,特别是如以上参考图8的转换器设备810描述的。

本发明的另一方面涉及一种包括程序代码的计算机程序产品,当在计算机或处理器上执行该程序代码时,用于执行方法900或上述功能。方法900可被实现为可被存储在非瞬态计算机介质上的程序代码。计算机程序产品可以实现以上关于图6到9描述的技术。

虽然本公开的特定特征或方面可能仅关于若干实现或实施例中的一个被公开,但此种特征或方面可与其他实现或实施例的一个或多个其他特征或方面相结合,这对于任何给定的或特定的应用可以是期望的和有利的。此外,在具体实施方式或权利要求书中使用术语“包括(include)”、“具有”、“带有”或其其他变体的范围内,此类术语旨在以类似于术语“包括(comprise)的方式被包含。同样,术语“示例性”、“例如(for example)”和“例如(e.g.)仅仅意指作为示例,而不是最好的或最佳的。术语“耦合”和“连接”,连同衍生物可能已经被使用。应当理解的是,这些术语可能已经被用来指示两个元素相互合作或相互作用,无论它们是直接物理接触还是电接触,或者它们不是彼此直接接触的。

尽管本文已经解说和描述了特定方面,但是本领域的普通技术人员将领会,在不脱离本公开的范围的情况下,可以用各种替代和/或等效实现来代替所示出和描述的特定方面。本申请旨在涵盖本文所讨论的特定方面的任何调整或变化。

尽管以下权利要求中的元素是以特定的顺序描述的,但除非权利要求描述另有暗示用于实现其中一些或所有元素的特定顺序,否则这些元素不必然旨在限于以该特定顺序实现。

根据以上教导,许多替代、修改和变化对于本领域的技术人员将是明显的。当然,本领域技术人员容易认识到,除了本文所述的那些应用之外,本发明还有许多应用。虽然已经参考一个或多个特定实施例描述了本发明,但本领域技术人员认识到,在不脱离本发明的范围的情况下,可以对其进行许多改变。因此,应当理解,在所附权利要求及其等同物的范围内,本发明可以不是如本文特别描述的那样来实践。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:网络系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类