SIP-over-QUIC: Session Initiation Protocol over QUIC和RTP传输概论

SIP-over-QUIC: Session Initiation Protocol over QUIC和RTP传输概论

关于QUIC的背景说明

Google作为互联网巨头,在网络技术领域一直扮演着领头羊的作用。针对TCP,HTTP目前的传输效果和一些诟病,谷歌发布了新的传输技术架构QUIC- A UDP-Based Multiplexed and Secure Transpor,参考RFC9000 详解。首先说明,TCP(传输控制协议)和QUIC(快速UDP互联网连接)都是用于在互联网上传输数据的协议。它们有以下主要区别:

1. 基础协议:TCP基于IP协议,是一种面向连接的、可靠的、基于字节流的传输层协议。QUIC则基于UDP协议,是一种更快、更可靠的传输协议,旨在解决TCP的一些缺陷和限制。

2. 连接建立:TCP使用三次握手建立连接,这会导致连接建立延迟。QUIC可以在第一次握手时建立连接,并且包括了TLS-13,从而减少了连接建立的时间。

 

3. 加密和安全性:TCP本身不包含加密功能,需要额外的安全协议(如TLS)来确保数据传输的安全。QUIC内置了加密功能,提供了与TLS类似的安全性,同时减少了额外的握手过程。

4. 流控制和拥塞控制:TCP使用单一的流控制和拥塞控制机制,导致一个流上的丢包会影响其他流的传输(称为“队头阻塞”)。QUIC使用多流控制,可以独立处理每个流的丢包和拥塞,避免了队列的头阻塞问题。

5. 传输速度:QUIC由于减少了连接建立时间、避免了队头阻塞等问题,通常具有比TCP更快的传输速度,尤其在高延迟和丢包率的网络环境下表现更为优越。

6. 兼容性:因为TCP作为互联网的基石协议,必须具有广泛的兼容性。QUIC作为较新的协议,尽管得到了许多公司(如Google)的推广和支持,但在某些网络环境和设备上可能还不被完全支持。很多设备和其他应用都没有针对QUIC进行支持,所以距离完全普及还有一定的距离。不过,一些厂家已经开始了这方面的技术储备。

虽然针对SIP over quic传输还没有完全开始应用普及,但是一些架构思路已经发布,核心初稿内容已经完成, 2023年4月份发布了最新的初稿。我们在接下来的章节中将重点介绍SIP-over-QUIC: Session Initiation Protocol over QUIC Transport,帮助读者对此技术细节有一个比较完整的认识和以及对此传输方式有一个充分准备,特别是针对SIP 帧格式数据,错误响应和控制数据等参数的不同需要加以关注。关于其草案内容,访问参考资料链接获得。以下是关于SIP-over-QUIC的草案概览,主要解释了关于QUIC的介绍,概览,关于SIP over QUIC的语法语义定义,头字段,连接存活机制,和SIP兼容性所涉及的事务和dialog处理,流媒体映射和使用,SIP 帧定义格式,错误处理和扩展使用等章节。

1. 简介

会话初始协议(SIP)[RFC3261]被大量广泛地应用于IP语音网络环境中来支持电话服务业务和视频会议,实时媒体处理,也包括和WebRTC的集成。

关于SIP协议的完整详解,读者可以访问:www.sip.org.cn 获得中文完整的SIP协议详解。这里仅做简单概述。

[SIP2.0]使用以空格分隔的文本字段来传输SIP消息,其格式与HTTP/1.1 [HTTP1.1]相似,并可选择通过TLS加密( “SIPS”)传输。本文所定义的SIP-over-QUIC使用通过QUIC流传输的二进制框架层,并使用QUIC传输连接所提供的强制性TLS加密的保护。

作者说明:未来的可选扩展可能引入在QUIC数据报中携带SIP消息的能力[QUIC-DATAGRAMS]。

1.2. 定义

在任何比较正式的规范文档中,一般都会约定某些专业术语。本文档中使用了以下术语:

中止:连接或数据流的突然终止,可能是由于错误状况造成的。

端点:连接的客户端或服务器。

连接:两个端点之间使用QUIC作为传输协议的传输层连接。

连接错误:一个影响整个SIP-over-QUIC连接的错误。

:SIP-over-QUIC流中最小的通信单位,由一个头和一个根据帧类型结构的可变长度的字节序列组成。

本文档和[QUIC-TRANSPORT]中都有称为 “帧 “的协议元素。在引用[QUIC-TRANSPORT]中的帧时,帧的名称将在前面加上 “QUIC”。例如,”QUIC CONNECTION_CLOSE帧”。

peer-对等实体:是一个端点。当讨论一个特定的端点时,”对等实体 “指的是和本地连接的远端实体。

接收方:一个正在接收帧的端点。发送方:一个正在传输帧的端点。

SIP/2.0:RFC3261 [SIP2.0]中描述的SIP/2.0规范。参考www.sip.org.cn 中文版本

SIP-over-QUIC连接:一个QUIC连接,其中协商的应用协议是SIP-over-QUIC。

数据流:由QUIC传输提供的双向或单向的字节流。SIP-over-QUIC连接中的所有流都可以被认为是 “SIP-over-QUIC流”,但在SIP-over-QUIC中定义了多种流类型。

数据流错误:单个流上的应用级错误。

传输客户端:发起SIP-over-QUIC连接的终端,例如SIP终端,B2BUA等。传输服务器:接受SIP-over-QUIC连接的终端。

更多关于

最新SIP-over-QUIC: Session Initiation Protocol over QUIC和RTP传输概论, 访问微信公众号:Asterisk-CN

 

评论已关闭。