CN109417548B - 封装媒体流量在基于数据报的传输层上的高效传输 - Google Patents

封装媒体流量在基于数据报的传输层上的高效传输 Download PDF

Info

Publication number
CN109417548B
CN109417548B CN201780039949.4A CN201780039949A CN109417548B CN 109417548 B CN109417548 B CN 109417548B CN 201780039949 A CN201780039949 A CN 201780039949A CN 109417548 B CN109417548 B CN 109417548B
Authority
CN
China
Prior art keywords
tunnel
transport layer
based transport
stream
datagram
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
Application number
CN201780039949.4A
Other languages
English (en)
Other versions
CN109417548A (zh
Inventor
R·赫雷罗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of CN109417548A publication Critical patent/CN109417548A/zh
Application granted granted Critical
Publication of CN109417548B publication Critical patent/CN109417548B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/165Combined use of TCP and UDP protocols; selection criteria therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/169Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

传送封装媒体的系统接收利用基于流的传输层建立隧道的第一请求,第一请求包括标签。系统接收利用基于数据报的传输层建立隧道的第二请求,第二请求包括所述标签。系统利用基于流的传输层建立隧道并且在基于流的传输层上接收封装媒体。除了基于流的传输层之外,系统还为隧道建立基于数据报的传输层,并且在基于数据报的传输层上接收封装媒体。系统然后释放基于流的传输层。

Description

封装媒体流量在基于数据报的传输层上的高效传输
技术领域
一个实施例总体上涉及通信网络,并且特别地,涉及经由通信网络在隧道内传送封装媒体。
背景技术
许多企业环境已经用使用互联网协议(“IP”)的电话服务(通常称作IP语音(“VoIP”)或者IP电话)取代它们的公共交换电话网络(“PSTN”)电话服务。因为IP电话使用IP网络作为其骨干,所以它可以提供诸如视频会议、电话录音和呼叫转移之类的高级特征。
最近,移动数据订户的生长基础、互联网接入的广泛可用性以及固定网络和移动网络这两者中的带宽的高可用性已经导致经由互联网接入的高级服务(称作过顶(“OTT”)服务)的普及。这已经引起有竞争力的服务提供商提供OTT服务并且因此当他们实现这些新的服务时面临相应的挑战。
发明内容
一个实施例是传送封装媒体的系统。系统接收用基于流的传输层建立隧道的第一请求,第一请求包括标签。系统接收用基于数据报的传输层建立隧道的第二请求,第二请求包括所述标签。系统用基于流的传输层建立隧道并且在基于流的传输层上接收封装媒体。除了基于流的传输层之外,系统还建立用于隧道的基于数据报的传输层,并且在基于数据报的传输层上接收封装媒体。系统然后释放基于流的传输层。
附图说明
图1是包括实现本发明的实施例和/或与本发明的实施例交互的网络元件的网络的概况图。
图2是根据本发明实施例的计算机服务器/系统的框图。
图3例示了根据实施例的用于封装媒体流量的隧道服务控制功能隧道配置中的示例性协议层。
图4包括如参考图1在本文中描述的诸如与应用通信的隧道客户端以及与服务提供商网络通信的隧道服务器之类的网络元件。
图5是根据本发明的实施例的,当执行高效的封装媒体流量传输时,图2的高效封装媒体流量传输模块和/或图1的隧道客户端和隧道服务器的流程图。
具体实施方式
一个实施例通过在隧道/呼叫设立时间通过以连续的请求几乎同时请求两个传输层来在隧道上传送封装媒体。在一个实施例中,其中一个传输层是传送控制协议(“TCP”)并且其中一个传输层是容纳封装媒体流量的用户数据报协议(“UDP”)。隧道能够在包括防火墙的受限通信网络上传输封装媒体流量,防火墙典型地将阻挡UDP 数据的传送。结果,减少了传送封装媒体的呼叫或者其他通信会话的设立时间。
图1是包括实现本发明的实施例和/或与本发明的实施例交互的网络元件的网络100的概况图。网络100包括经由互联网协议(“IP”) 网络114与服务提供商网络/骨干122执行实时通信(“RTC”)的用户设备(“UE”)102。在RTC中,用户即刻或者以微不足道的延迟交换信息。RTC的示例性应用包括语音和/或视频呼叫、应用流传输、软件电话和远程桌面应用。UE 102可以是由终端用户用于通信的任何设备,诸如智能电话、膝上型计算机、平板电脑、电视机等。
在执行RTC时,UE 102与服务提供商网络122中的相应服务器 124传送信令和媒体流量。信令流量可以根据诸如会话发起协议 (“SIP”)之类的应用层协议来传送。SIP被配置为独立于底层的传输层。因此,SIP可以在不同的传输协议上运行,诸如传送控制协议 (例如在互联网工程任务组(“IETF”)请求注解(“RFC”)793 和RFC 675中描述的“TCP”)、用户数据报协议(例如在IETF RFC 768中描述的“UDP”)等。
网络100还包括隧道服务器116,隧道服务器116连同UE 102 内的隧道客户端106一起提供建立和管理用于根据在例如第三代合作伙伴项目(“3GPP”)技术报告(“TR”)33.830 V0.5.0中描述的隧道服务控制功能(“TSCF”)标准执行RTC的一个或多个隧道的功能,3GPP TR33.830 V0.5.0通过引用全文并入于此。在一个实施例中,隧道客户端106和隧道服务器116建立符合TSCF隧道管理(例如,由例如3GPP TR 33.830 V0.5.0定义的隧道初始化、维护、终止等)的TSCF隧道108,并且TSCF隧道传输协议被支持用于隧道客户端106与隧道服务器116之间的TSCF隧道108的协商。
TSCF标准提供了用于建立受管理的隧道以执行RTC的客户端侧网络元件和服务器侧网络元件(例如,图1中的隧道客户端106和隧道服务器116)。它还提供了两种类型的外部层隧道传输:经由TCP 或传输层安全(“TLS”)的基于流的外部层隧道传输,以及经由UDP 或数据报传输层安全(“DTLS”)的基于数据报的外部层隧道传输。
TLS是在例如IETF RFC 2246、RFC 4346、RFC 5246和/或RFC 6176中提供的加密协议。DTLS是为数据报协议提供通信隐私的协议。 TCP和TLS提供内部层流量的可靠、有序且检错的递送,但是在经历损伤的通信网络上引入了对于RTC应用不利的不期望的延迟。另一方面,UDP和DTLS不保证可靠的递送,因此最小化延迟并且对于 RTC来说是期望的。
在一些实施例中,IP网络114可能是受限网络,因为它可以包括仅允许某种传输协议(例如,仅TCP、仅UDP,等等)的流量的安全设备(例如,防火墙、代理等)。因此,隧道客户端106和隧道服务器116可以建立并且管理TSCF隧道108,使得UE 102可以使用它穿越这种安全设备并且连接到隧道服务器116从而到达服务提供商网络122中的服务器124。
TSCF标准还提供了用于在隧道客户端106与隧道服务器116之间交换配置信息的控制消息。根据TSCF标准,控制消息是“请求/ 响应”类型的,并且对于请求的控制消息响应包括相应的回复或者指示请求为什么不能被接收端履行的错误代码。TSCF控制消息使用类型长度值(“TLV”)编码。TLV是唯一类型和相应值的可变长度串接。
如例如在3GPP TR 33.830 V0.5.0中描述的,每个TSCF控制消息包括位于起始处的控制消息(“CM”)报头,包括标识报头版本并且指示TSCF隧道的外部传输协议的“CM_Version(版本)”字段、标识消息是否为控制消息的“CM_Indication(指示)”字段、为了未来使用而保留的“Reserved(保留)”字段、标识控制消息的类型的“CM_Type(类型)”字段(例如,它是请求还是响应,对应的功能,等等)、指示相应控制消息中跟随报头或者附到报头的TLV 的数量的“TLV_Count(计数)”字段、包括由隧道服务器116分配以唯一地标识TSCF隧道108的隧道会话标识符(“ID”)的“隧道会话ID”(“TSID”)字段,以及每个消息递增的“Sequence(序列)”字段。
在一个实施例中,为了建立TSCF隧道108,隧道客户端106将“配置请求”消息发送到隧道服务器116以获得TSCF隧道108的配置信息。在“配置请求”消息中,TSID报头字段位被设置为1(即, FFFF…)。作为响应,隧道服务器116将TSID分配给TSCF隧道并且将“配置响应”消息发送回到隧道客户端106。“配置响应”消息包括由隧道服务器116分配给TSCF隧道108的TSID。隧道客户端 106与隧道服务器116之间的后续消息在它们的报头中包括这个分配的TSID。
在一个实施例中,如果控制消息在隧道客户端106与隧道服务器 116之间传送并且不包括期望的TSID,则丢弃控制消息并且终止相应的TSCF隧道。作为替代,在一个实施例中,隧道客户端106可以将“配置释放请求”消息发送到隧道服务器116以终止TSCF隧道。响应于这种“配置释放请求”消息,隧道服务器116将“配置释放响应”消息发送到隧道客户端106。此时,TSCF隧道108终止。
在一个实施例中,UE 102依赖于诸如由来自Oracle公司的隧道会话管理(“TSM”)解决方案提供的软件开发工具包(“SDK”) 之类的库执行应用104,应用104可以是基于SIP的RTC应用。TSM 解决方案采用使用会话边界控制器(“SBC”)和诸如应用104之类的客户端应用的客户端/服务器体系结构,客户端应用可以使用SDK 来开发。客户端应用经由互联网发起与服务提供商的安全通信会话。在网络边缘处的(例如,由隧道服务器116实现的)会话边界控制器在将安全流量传递到服务提供商网络122的服务核心之前终止并且控制隧道。在一个实施例中,SDK由客户端高效封装媒体流量传输模块 118和/或服务器高效封装媒体流量传输模块120实现。
对于以UDP流量的形式传输封装媒体数据(例如,语音呼叫数据流量)的一些应用,数据可能需要穿越防火墙,防火墙通常会阻止 UDP流量的穿越。因此,通常,对于隧道108的功能,在一个实施例中,客户端高效封装媒体流量传输模块118和/或服务器高效封装媒体流量传输模块120在发起隧道108时几乎同时地、连续地请求TCP 和UDP传输层,而没有任何介于中间的请求。SDK通常提供超出“标准”TSCF API之外的附加API,以便实现本文中公开的功能。
一个实施例提供支持应用编程接口(“API”)的TSCF SDK,使得应用104可以启用高效媒体流量传输功能。TSCF SDK提供可以用来分别使用tsc_sendto和tsc_recvfrom函数来发送和接收封装媒体的类似伯克利软件发行(“BSD”)的套接字API。
图2是根据本发明的实施例的计算机服务器/系统(即,系统10) 的框图。系统10可以用来在必要时实现图1中所示的任何网络元件,以便实现下面详细公开的本发明的实施例的任何功能。虽然被示为单个系统,但是系统10的功能可以被实现为分布式系统。而且,本文中公开的功能可以在可经由网络耦合在一起的分开的服务器或设备上实现。而且,可以不包括系统10的一个或多个组件。例如,关于图1的隧道服务器116的功能,系统10可以是通常不需要显示器24 或者图2中所示的一个或多个其他组件的服务器。
系统 10包括用于传送信息的总线12或其他通信机制以及耦合到总线12以处理信息的处理器22。处理器22可以是任何类型的通用或专用处理器。系统10还包括用于存储信息以及要由处理器22执行的指令的存储器14。存储器14可以由随机存取存储器(“RAM”)、只读存储器(“ROM”)、诸如磁盘或光盘之类的静态存储或者任何其他类型的计算机可读介质的任何组合组成。系统10还包括诸如网络接口卡之类的通信设备20,以提供对于网络的访问。因此,用户可以直接地或者通过网络或任何其他方法远程地与系统10对接。
计算机可读介质可以是处理器22可访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质以及通信介质。通信介质可以包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的模块化数据信号中的其他数据,并且包括任何信息递送介质。
处理器22还可以经由总线12耦合到诸如液晶显示器(“LCD”) 之类的显示器24。键盘26和诸如计算机鼠标之类的光标控制设备28 还可以耦合到总线12以使得用户能够基于需要与系统10对接。
在一个实施例中,存储器14存储有当被处理器22执行时提供功能的软件模块。模块包括为系统提供操作系统功能的操作系统15。模块还包括用于高效地传输封装媒体流量通过限制性防火墙的高效封装媒体流量传输模块16,以及在本文中公开的所有其他功能。在一个示例实施例中,高效媒体流量传输模块16连同图2的一个或多个其余元件一起可以实现图1的隧道服务器116或者隧道客户端106。系统10可以是较大系统的部分,诸如向来自Oracle公司的“Acme Packet 6300”会话边界控制器增加的功能。因此,系统10可以包括一个或多个另外的功能模块18以包括另外的功能。数据库17耦合到总线12以为冗余编码模块16和另外的功能模块18提供集中式存储。
在隧道配置中,(即,在分组/帧中)封装的媒体典型地根据实时传输协议(如在例如IETF RFC 3550中提供的“RTP”)来传送。在TSCF隧道配置中,RTC(例如,话音、视频等)可以经历两个级别的传输:一个位于典型地根据TCP/TLS的外部隧道层,并且另一个位于典型地根据UDP的内部隧道层。图3例示了根据实施例的用于封装媒体流量的TSCF隧道配置300中的示例性协议层。在TSCF 隧道配置300中,压缩的媒体(例如,话音、视频等)根据RTP在应用层传送,并且在内部网络层在内部IP内在内部传输层经由内部 UDP传输。内部层位于外部传输层的外部TCP/TLS内,外部传输层又在外部网络层的外部IP内。在一个实施例中,因为大多数IP网络阻挡不是基于流的任何外部流量,在TSCF隧道108的外部传输层使用TCP/TLS以保证递送。
再次参考图1,通常,防火墙对于可以穿越访问网络的流量的类型施加限制。具体地,防火墙典型地允许流(即,TCP)流量,因为它是诸如超文本传输协议(“HTTP”)之类的可靠网络浏览协议所需要的,但是经常阻止数据报(即,UDP)流量穿越,因为它被认为是对于数据不可靠的。一种方案是封装媒体流量,使得它可以作为 TCP流量而传递。然而,当涉及封装媒体时,TCP传输引入比UDP 可能高得多的延迟,从而导致总体用户体验降级。
因为数据报隧道典型地优于流隧道,所以一种可能的隧道创建方案涉及使用数据报传输,并且只有当基于数据报的隧道协商失败时才使用流传输。然而,这种失败最终延迟隧道创建并且急剧地增加通信会话(例如,电话呼叫)设立时间。与此相反,实施例使用连续的请求来几乎同时实现多个隧道传输层协商,并且明显地加快,以便最小化设立时间,从而保证只要有可能就使用数据报传输。
在一个实施例中,隧道服务器116配置有至少两个不同类型的隧道服务器接口:(1)基于流的接口(即,TCP/TLS)和(2)基于数据报的接口(即,UDP/DTLS)。在一个实施例中,在隧道初始化时,隧道客户端116几乎同时创建多个传输,或者尽可能多的隧道服务器接口。
在一个实施例中,隧道客户端106通过传送多个配置请求CM来在每个单个传输层上协商隧道。每个配置请求CM包括具有用于所有这些请求的唯一标识符的新的TLV或者标签。作为响应,隧道服务器116使用配置响应CM进行响应,配置响应CM将相同的隧道标识符(“TID”)和内部IP地址分配给到达隧道服务器116的所有进入的请求。因为对于每个请求提供相同的TID,通常创建可以包括多个传输层(例如,TCP和UDP传输层)的单个隧道。然而,在一个实施例中,随着丢弃剩余的传输层,最终仅使用一个传输层。
在一个实施例中,隧道客户端106处理所有配置响应并且开始在第一个接收的配置响应CM的传输中传送和接收封装数据。一旦配置响应CM是在基于UDP的传输上接收的,则它变成隧道的默认传输并且移除所有其他传输。在一个实施例中,在给定超时之后,如果没有在基于UDP的传输上接收到配置响应CM,则接收到响应的第一个基于TCP的传输变成默认传输并且移除所有其他传输。
在一个实施例中,TSCF SDK中存在的隧道创建API包括新的标记以启用本文中公开的功能。
图4是关于根据一些实施例的高效封装媒体流量传输的示例消息序列图400,包括在图1的应用104、隧道客户端106与隧道服务器116之间交换的消息的序列。图4包括诸如参考图1在本文中描述的与应用104通信的隧道客户端106以及与服务提供商网络122通信的隧道服务器116之类的网络元件。
在401,应用104通过执行“tsc_ctrl_new_tunnel”API建立TSCF 隧道108。在内部,隧道客户端106创建两个传输:基于流的(例如, TCP/TLS)和基于数据报的(例如,UDP/DTLS)传输。
在402和403,隧道客户端106经由每种传输类型(即,402处的UDP和403处的TCP)送出隧道配置请求CM。在一个实施例中,每个配置请求CM包括下面详细描述的相同的“标签”TLV值。在一个实施例中,402、403处的请求几乎同时送出,因为请求402和 403是没有任何介于中间的请求的情况下连续地送出的。
当隧道服务器116在403处接收到基于流的配置请求CM时,它分配TID和IP地址并且将它关联到进入的标签。在404,隧道服务器116然后将包括TID和IP地址的配置响应CM发送回去。
隧道客户端106然后将隧道108的状态改变成“已建立”,并且当仅建立TCP传输时,在这个阶段,所有进入和外出的流量经由TCP 传输来发送(例如,405-408处的帧1和2)。
当隧道服务器116处理在402处经由数据报传输到达的配置请求 CM时,它在409处发出包括与404处相同的TID和IP地址的配置响应CM,因为它关联到相同的标签。因此,同一隧道与多个传输层一起使用。
当隧道客户端106在409处接收到配置响应CM时,它通过在 410处发送配置释放请求CM来释放TCP传输,该配置释放请求CM 由隧道服务器116使用配置释放响应CM在411处响应。
当隧道客户端106在411处接收到配置释放响应CM时,所有进入和外出的流量现在经由UDP传输而不是TCP传输发送(例如, 412-417处的帧3、4和5)。因此,封装媒体使用UDP绕过防火墙以及受限网络114中存在的其他安全设备。
一个实施例通过将TSCF扩展为包括用于将不同传输上的配置请求绑定到配置请求CM(即,在402和403处)的“标签”TLV值来支持高效封装媒体流量传输。
下面表格1提供了根据一些实施例的用于提供高效媒体流量传输功能的示例TSCFTLV。
Figure BDA0001923532270000091
表格1
在一个实施例中,为了提供高效媒体流量传输功能,如由下面的伪代码指示的,TSCF SDK的“tsc_tunnel_params”结构被升级为包括新的布尔参数“multi_connection(多连接)”,其指示几乎同时进行不同隧道传输上的连接:
Figure BDA0001923532270000101
上面伪代码中的“connection_params”成员定义了几乎同时连接到的服务器的连接和传输参数的列表。“max_connections”成员指示了那些服务器中有多少提供在列表中。当隧道创建时,“tsc_tunnel_params”结构作为参数传递到“tsc_ctrl_new_tunnel” API,如下:
tsc_handle tsc_new_tunnel(tsc_tunnel_params*tunnel_params,tsc_requested_config* requested_config)
其中,“tsc_handle”是返回代码并且“requested_config”提供一组可选和附加的配置参数。
使用SBC(诸如来自Oracle公司的Acme Packet 6300)实现的一个实施例提供包括包含关键字“multi-connection”的参数“assigned-services”的配置对象“tscf-interface”。下面的表格2提供根据一个实施例的tscf-interface配置对象的示例。
Figure BDA0001923532270000102
表格2
根据一个实施例,下面的功能提供了用于提供高效媒体流量传输的示例性接口配置。需要至少两个TSCF端口以支持多个几乎同时并且连续的连接:
Figure BDA0001923532270000111
下面是根据一个实施例用于提供高效封装媒体流量传输的示例可扩展标记语言(“XML”)功能性:
Figure BDA0001923532270000112
Figure BDA0001923532270000121
图5是根据本发明的实施例的当执行高效封装媒体流量传输时,图2的高效封装媒体流量传输模块16和/或图1的隧道客户端106和隧道服务器116的流程图。在一个实施例中,图5的流程图的功能由在存储器或者其他计算机可读或有形介质中存储并且由处理器执行的软件实现。在其他实施例中,功能可以由硬件(例如,通过专用集成电路(“ASIC”)、可编程门阵列(“PGA”)、现场可编程门阵列(“FPGA”)等)或者硬件和软件的任何组合执行。
在502,在一个实施例中,隧道客户端106和隧道服务器116通过让由隧道服务器116接收的至少两个隧道配置来建立TSCF隧道 108,其中隧道客户端106通过在没有任何其他介于中间的请求的情况下连续地送出请求来几乎同时送出那至少两个隧道配置。在一个实施例中,一个请求关于数据报UDP传输,并且一个请求关于基于流的TCP传输。每个配置请求包括相同的标签。
在504,响应于基于流的TCP传输请求,隧道服务器116分配隧道ID和IP地址,并且将它与进入的标签相关联并且发出配置响应,这建立隧道108。
在506,使用TCP传输在TSCF隧道上发送所有流量。
在508,响应于数据报UDP传输请求,如果UDP没有被防火墙阻挡,则隧道服务器116分配与504中相同的隧道ID和IP地址,并且发出配置响应。
在510,如果UDP可用,则释放TCP传输。在释放TCP传输之前,流量可以经由TCP传输层和UDP传输层这两者发送。
在512,现在使用UDP传输代替TCP传输在TSCF隧道上发送所有流量。在一个实施例中,流量是封装媒体流量。因为UDP流量经由隧道108发送,所以它绕过受限网络114中可能存在的任何防火墙等。
在其他实现方式中,响应于隧道请求402、403,UDP请求可以首先被服务器116响应,在这种情况下,首先利用UDP传输层建立隧道108。如果这发生了,在一个实施例中,所有媒体流量在UDP上传输,并且TCP传输立刻释放,即使经由TCP的隧道协商仍然在进行中。
如所公开的,实施例在传送封装媒体时利用UDP和TSCF传输层这两者建立隧道。在呼叫设立时两个传输层都被请求,这减少了设立延迟并且提供了高效传输。如果UDP传输层可用(例如,它可以绕过所有防火墙),则丢弃TSCF传输层,并且仅在UDP传输层上发送封装媒体。
在本文中具体地例示和/或描述了几个实施例。然而,应当领会,在不背离本发明的精神和预定范围的情况下,所公开的实施例的修改和变化由上面的教导覆盖并且在附加权利要求书的范围内。

Claims (20)

1.一种传送封装媒体的方法,该方法包括:
接收利用基于流的传输层建立隧道的第一请求,第一请求包括标签;
接收利用基于数据报的传输层建立所述隧道的第二请求,第二请求包括所述标签;
利用基于流的传输层建立所述隧道并且在基于流的传输层上接收封装媒体;
除了基于流的传输层之外还为所述隧道建立基于数据报的传输层,并且在基于数据报的传输层上接收封装媒体;以及
释放基于流的传输层。
2.根据权利要求1所述的方法,其中根据隧道服务控制功能TSCF标准建立所述隧道。
3.根据权利要求1所述的方法,其中基于流的传输层通过使用传送控制协议TCP来传送封装媒体。
4.根据权利要求1所述的方法,其中基于数据报的传输层通过使用用户数据报协议UDP来传送封装媒体。
5.根据权利要求1所述的方法,其中建立所述隧道包括将隧道标识符和互联网协议地址分配给隧道。
6.根据权利要求1所述的方法,其中在建立基于数据报的传输层之前,在基于流的传输层上传送封装媒体。
7.根据权利要求6所述的方法,其中在释放基于流的传输层之后,在基于数据报的传输层上传送封装媒体。
8.根据权利要求1所述的方法,其中连续地接收第一请求和第二请求而没有任何介于中间的请求。
9.一种上面存储有指令的计算机可读介质,所述指令当被处理器执行时使得处理器传送封装媒体,所述传送包括:
接收利用基于流的传输层建立隧道的第一请求,第一请求包括标签;
接收利用基于数据报的传输层建立所述隧道的第二请求,第二请求包括所述标签;
利用基于流的传输层建立所述隧道并且在基于流的传输层上接收封装媒体;
除了基于流的传输层之外还为所述隧道建立基于数据报的传输层,并且在基于数据报的传输层上接收封装媒体;以及
释放基于流的传输层。
10.根据权利要求9所述的计算机可读介质,其中根据隧道服务控制功能TSCF标准建立所述隧道。
11.根据权利要求9所述的计算机可读介质,其中基于流的传输层通过使用传送控制协议TCP来传送封装媒体。
12.根据权利要求9所述的计算机可读介质,其中基于数据报的传输层通过使用用户数据报协议UDP来传送封装媒体。
13.根据权利要求9所述的计算机可读介质,其中建立所述隧道包括将隧道标识符和互联网协议地址分配给所述隧道。
14.根据权利要求9所述的计算机可读介质,其中在建立基于数据报的传输层之前,在基于流的传输层上传送封装媒体。
15.根据权利要求14所述的计算机可读介质,其中在释放基于流的传输层之后,在基于数据报的传输层上传送封装媒体。
16.根据权利要求9所述的计算机可读介质,其中连续地接收第一请求和第二请求而没有任何介于中间的请求。
17.一种隧道服务器,与隧道客户端进行通信以在隧道服务器与隧道客户端之间传送封装媒体,隧道服务器包括:
处理器;以及
耦合到处理器的存储设备,该存储设备存储有指令,所述指令当被处理器执行时实现包括以下的功能:
接收利用基于流的传输层建立隧道的第一请求,第一请求包括标签;
接收利用基于数据报的传输层建立所述隧道的第二请求,第二请求包括所述标签;
利用基于流的传输层建立所述隧道并且在基于流的传输层上接收封装媒体;
除了基于流的传输层之外还为所述隧道建立基于数据报的传输层,并且在基于数据报的传输层上接收封装媒体;以及
释放基于流的传输层。
18.根据权利要求17所述的隧道服务器,其中根据隧道服务控制功能TSCF标准建立所述隧道。
19.根据权利要求17所述的隧道服务器,其中基于流的传输层通过使用传送控制协议TCP来传送封装媒体。
20.根据权利要求17所述的隧道服务器,其中基于数据报的传输层通过使用用户数据报协议UDP来传送封装媒体。
CN201780039949.4A 2016-07-20 2017-04-27 封装媒体流量在基于数据报的传输层上的高效传输 Active CN109417548B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/214,958 US9998299B2 (en) 2016-07-20 2016-07-20 Efficient transport of encapsulated media traffic over restrictive networks
US15/214,958 2016-07-20
PCT/US2017/029781 WO2018017171A1 (en) 2016-07-20 2017-04-27 Efficient transport of encapsulated media traffic over a datagram based transport layer

Publications (2)

Publication Number Publication Date
CN109417548A CN109417548A (zh) 2019-03-01
CN109417548B true CN109417548B (zh) 2021-10-19

Family

ID=58739344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780039949.4A Active CN109417548B (zh) 2016-07-20 2017-04-27 封装媒体流量在基于数据报的传输层上的高效传输

Country Status (5)

Country Link
US (1) US9998299B2 (zh)
EP (1) EP3488581B1 (zh)
JP (1) JP6983218B2 (zh)
CN (1) CN109417548B (zh)
WO (1) WO2018017171A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7022540B2 (ja) * 2017-09-08 2022-02-18 キヤノン株式会社 情報処理装置およびその制御方法
US10805113B2 (en) * 2018-08-07 2020-10-13 Dh2I Company Application transmission control protocol tunneling over the public internet
US11575757B2 (en) 2019-06-17 2023-02-07 Dh2I Company Cloaked remote client access
CN112243002B (zh) * 2020-10-10 2023-07-04 腾讯科技(深圳)有限公司 数据转发方法、装置、电子设备以及计算机可读介质
US11563802B2 (en) 2020-11-06 2023-01-24 Dh2I Company Systems and methods for hierarchical failover groups
US11888823B2 (en) * 2021-04-15 2024-01-30 Blackberry Limited Secured in-tunnel messages and access control

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7245917B2 (en) * 2003-09-08 2007-07-17 Research Foundation Of The State University Of New York System and method for IP handoff
US8855143B1 (en) * 2005-04-21 2014-10-07 Joseph Acampora Bandwidth saving system and method for communicating self describing messages over a network
US7716731B2 (en) * 2005-10-24 2010-05-11 Cisco Technology, Inc. Method for dynamically tunneling over an unreliable protocol or a reliable protocol, based on network conditions
US7697528B2 (en) * 2005-11-01 2010-04-13 Nortel Networks Limited Multilink trunking for encapsulated traffic
CN101188601B (zh) * 2006-11-15 2011-03-16 中兴通讯股份有限公司 一种多媒体数据快速发送和接收的方法
CN101207546A (zh) * 2006-12-18 2008-06-25 华为技术有限公司 一种动态建立隧道的方法、隧道服务器和系统
US8418244B2 (en) * 2007-04-27 2013-04-09 Yahoo! Inc. Instant communication with TLS VPN tunnel management
US8825900B1 (en) * 2011-04-05 2014-09-02 Nicira, Inc. Method and apparatus for stateless transport layer tunneling
CN104272290B (zh) * 2012-04-18 2017-08-15 阿克米组件股份有限公司 用于实时通信的冗余
CN102801628A (zh) * 2012-08-20 2012-11-28 神州数码网络(北京)有限公司 一种gre隧道中的数据转发方法及其系统
US20140376558A1 (en) * 2013-06-19 2014-12-25 Alcatel-Lucent Usa Inc. Dynamic Network Service Association and On Demand Service Provisioning
US9781167B2 (en) 2013-06-21 2017-10-03 Verizon Patent And Licensing Inc. WebRTC data channel facilitating IMS support of RCS features
US9614890B2 (en) 2013-07-31 2017-04-04 Avaya Inc. Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, and related methods, systems, and computer-readable media
EP2908491A1 (en) 2014-02-12 2015-08-19 HOB GmbH & Co. KG A communication system for transmitting data under a tunnel protocol
JP6194292B2 (ja) * 2014-08-11 2017-09-06 日本電信電話株式会社 通信システム、方法及びプログラム
US9444792B2 (en) * 2014-10-21 2016-09-13 Oracle International Corporation Dynamic tunnel for real time data communication
CN105635076B (zh) * 2014-10-31 2019-08-20 华为技术有限公司 一种媒体传输方法和设备
US10015287B2 (en) * 2015-03-04 2018-07-03 Oracle International Corporation Efficient tunneled streams for real-time communications
US9609035B2 (en) * 2015-03-04 2017-03-28 Oracle International Corporation Compressed headers for encapsulated real-time communications
US9614816B2 (en) * 2015-03-23 2017-04-04 Oracle International Corporation Dynamic encryption for tunneled real-time communications
US9332049B1 (en) 2015-04-28 2016-05-03 Oracle International Corporation Media compression for tunneled real-time communications
US9929879B2 (en) 2015-06-09 2018-03-27 Oracle International Corporation Multipath support of real-time communications
CN105099849B (zh) * 2015-06-23 2018-09-04 新华三技术有限公司 一种IPsec隧道的建立方法和设备
US10911413B2 (en) * 2015-09-16 2021-02-02 Oracle International Corporation Encapsulating and tunneling WebRTC traffic

Also Published As

Publication number Publication date
JP6983218B2 (ja) 2021-12-17
US9998299B2 (en) 2018-06-12
EP3488581B1 (en) 2021-12-01
EP3488581A1 (en) 2019-05-29
CN109417548A (zh) 2019-03-01
WO2018017171A1 (en) 2018-01-25
JP2019525578A (ja) 2019-09-05
US20180026811A1 (en) 2018-01-25

Similar Documents

Publication Publication Date Title
CN109417548B (zh) 封装媒体流量在基于数据报的传输层上的高效传输
US10298627B2 (en) Concentration of independent tunneled encapsulated media
US10608985B2 (en) Multihoming for tunneled encapsulated media
US10911413B2 (en) Encapsulating and tunneling WebRTC traffic
CN107969165B (zh) 用于传送封装的媒体的方法、装置和介质
US9609035B2 (en) Compressed headers for encapsulated real-time communications
US20160365989A1 (en) Multipath support of real-time communications
US10142229B2 (en) Concealed datagram-based tunnel for real-time communications
US10015287B2 (en) Efficient tunneled streams for real-time communications
US9742587B2 (en) Negative acknowledgment of tunneled encapsulated media
US9866384B2 (en) Media detection of encrypted tunneled data
US10334086B2 (en) Header redundancy removal for tunneled media traffic
US10148615B2 (en) Client side telecommunications tunnel persistence
US10263913B2 (en) Tunnel consolidation for real-time communications
US9614816B2 (en) Dynamic encryption for tunneled real-time communications
US9762412B2 (en) Redundant traffic encoding of encapsulated real time communications
US9692709B2 (en) Playout buffering of encapsulated media
US10158680B2 (en) Co-transported tunnels for encapsulated traffic
US10015209B2 (en) Rate control for data transmission using a tunnel

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