Network Working Group J. Polk Request for Comments: 5432 S. Dhesikan Category: Standards Track Cisco Systems G. Camarillo Ericsson March 2009
Network Working Group J. Polk Request for Comments: 5432 S. Dhesikan Category: Standards Track Cisco Systems G. Camarillo Ericsson March 2009
Quality of Service (QoS) Mechanism Selection in the Session Description Protocol (SDP)
会话描述协议(SDP)中的服务质量(QoS)机制选择
Status of This Memo
关于下段备忘
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。
Copyright Notice
版权公告
Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved.
版权所有(c)2009 IETF信托基金和确定为文件作者的人员。版权所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document.
本文件受BCP 78和IETF信托在本文件出版之日生效的与IETF文件有关的法律规定的约束(http://trustee.ietf.org/license-info). 请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。
This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.
本文件可能包含2008年11月10日之前发布或公开的IETF文件或IETF贡献中的材料。控制某些材料版权的人员可能未授予IETF信托允许在IETF标准流程之外修改此类材料的权利。在未从控制此类材料版权的人员处获得充分许可的情况下,不得在IETF标准流程之外修改本文件,也不得在IETF标准流程之外创建其衍生作品,除了将其格式化以RFC形式发布或将其翻译成英语以外的其他语言。
Abstract
摘要
The offer/answer model for the Session Description Protocol (SDP) assumes that endpoints somehow establish the Quality of Service (QoS) required for the media streams they establish. Endpoints in closed environments typically agree out-of-band (e.g., using configuration information) regarding which QoS mechanism to use. However, on the Internet, there is more than one QoS service available. Consequently, there is a need for a mechanism to negotiate which QoS mechanism to use for a particular media stream. This document defines such a mechanism.
会话描述协议(SDP)的提供/应答模型假设端点以某种方式建立它们所建立的媒体流所需的服务质量(QoS)。封闭环境中的端点通常就使用哪种QoS机制达成带外协议(例如,使用配置信息)。然而,在Internet上,有不止一种QoS服务可用。因此,需要一种机制来协商用于特定媒体流的QoS机制。本文件定义了这样一种机制。
Table of Contents
目录
1. Introduction ....................................................3 2. Terminology .....................................................3 3. SDP Attributes Definition .......................................3 4. Offer/Answer Behavior ...........................................4 4.1. Offerer Behavior ...........................................4 4.2. Answerer Behavior ..........................................4 4.3. Resource Reservation .......................................5 4.4. Subsequent Offer/Answer Exchanges ..........................5 5. Example .........................................................5 6. IANA Considerations .............................................6 6.1. Registration of the SDP 'qos-mech-send' Attribute ..........6 6.2. Registration of the SDP 'qos-mech-recv' Attribute ..........6 6.3. Registry for QoS Mechanism Tokens ..........................7 7. Security Considerations .........................................7 8. Acknowledgements ................................................7 9. References ......................................................8 9.1. Normative References .......................................8 9.2. Informative References .....................................8
1. Introduction ....................................................3 2. Terminology .....................................................3 3. SDP Attributes Definition .......................................3 4. Offer/Answer Behavior ...........................................4 4.1. Offerer Behavior ...........................................4 4.2. Answerer Behavior ..........................................4 4.3. Resource Reservation .......................................5 4.4. Subsequent Offer/Answer Exchanges ..........................5 5. Example .........................................................5 6. IANA Considerations .............................................6 6.1. Registration of the SDP 'qos-mech-send' Attribute ..........6 6.2. Registration of the SDP 'qos-mech-recv' Attribute ..........6 6.3. Registry for QoS Mechanism Tokens ..........................7 7. Security Considerations .........................................7 8. Acknowledgements ................................................7 9. References ......................................................8 9.1. Normative References .......................................8 9.2. Informative References .....................................8
The offer/answer model [RFC3264] for SDP [RFC4566] does not provide any mechanism for endpoints to negotiate the QoS mechanism to be used for a particular media stream. Even when QoS preconditions [RFC3312] are used, the choice of the QoS mechanism is left unspecified and is up to the endpoints.
SDP[RFC4566]的提供/应答模型[RFC3264]没有为端点协商用于特定媒体流的QoS机制提供任何机制。即使使用了QoS先决条件[RFC3312],QoS机制的选择也未指定,由端点决定。
Endpoints that support more than one QoS mechanism need a way to negotiate which one to use for a particular media stream. Examples of QoS mechanisms are RSVP (Resource Reservation Protocol) [RFC2205] and NSIS (Next Steps in Signaling) [QoS-NSLP].
支持多个QoS机制的端点需要一种协商特定媒体流使用哪种机制的方法。QoS机制的示例是RSVP(资源预留协议)[RFC2205]和NSIS(信令的下一步)[QoS NSLP]。
This document defines a mechanism that allows endpoints to negotiate the QoS mechanism to be used for a particular media stream. However, the fact that endpoints agree on a particular QoS mechanism does not imply that that particular mechanism is supported by the network. Discovering which QoS mechanisms are supported at the network layer is out of the scope of this document. In any case, the information the endpoints exchange to negotiate QoS mechanisms, as defined in this document, can be useful for a network operator to resolve a subset of the QoS interoperability problem -- namely, to ensure that a mechanism commonly acceptable to the endpoints is chosen and make it possible to debug potential misconfiguration situations.
本文档定义了一种机制,允许端点协商用于特定媒体流的QoS机制。然而,端点同意特定QoS机制的事实并不意味着网络支持该特定机制。发现网络层支持哪些QoS机制超出了本文档的范围。在任何情况下,本文档中定义的端点为协商QoS机制而交换的信息都有助于网络运营商解决QoS互操作性问题的子集,即,确保选择端点通常可接受的机制,并使调试潜在错误配置情况成为可能。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照[RFC2119]中所述进行解释。
This document defines the 'qos-mech-send' and 'qos-mech-recv' session and media-level SDP [RFC4566] attributes. The following is their Augmented Backus-Naur Form (ABNF) [RFC5234] syntax, which is based on the SDP [RFC4566] grammar:
本文档定义了“qos mech send”和“qos mech recv”会话和媒体级SDP[RFC4566]属性。以下是它们基于SDP[RFC4566]语法的扩充巴科斯诺尔形式(ABNF)[RFC5234]语法:
attribute =/ qos-mech-send-attr attribute =/ qos-mech-recv-attr
attribute =/ qos-mech-send-attr attribute =/ qos-mech-recv-attr
qos-mech-send-attr = "qos-mech-send" ":" [[SP] qos-mech *(SP qos-mech)] qos-mech-recv-attr = "qos-mech-recv" ":" [[SP] qos-mech *(SP qos-mech)]
qos-mech-send-attr = "qos-mech-send" ":" [[SP] qos-mech *(SP qos-mech)] qos-mech-recv-attr = "qos-mech-recv" ":" [[SP] qos-mech *(SP qos-mech)]
qos-mech = "rsvp" / "nsis" / extension-mech extension-mech = token
qos-mech = "rsvp" / "nsis" / extension-mech extension-mech = token
The 'qos-mech' token identifies a QoS mechanism that is supported by the entity generating the session description. A token that appears in a 'qos-mech-send' attribute identifies a QoS mechanism that can be used to reserve resources for traffic sent by the entity generating the session description. A token that appears in a 'qos-mech-recv' attribute identifies a QoS mechanism that can be used to reserve resources for traffic received by the entity generating the session description.
“qos mech”令牌标识生成会话描述的实体所支持的qos机制。“qos mech send”属性中出现的令牌标识qos机制,该机制可用于为生成会话描述的实体发送的流量保留资源。“qos mech recv”属性中出现的令牌标识qos机制,该机制可用于为生成会话描述的实体接收的流量保留资源。
The 'qos-mech-send' and 'qos-mech-recv' attributes are not interdependent; one can be used without the other.
“qos mech send”和“qos mech recv”属性不相互依赖;一个可以不用另一个。
The following is an example of an 'm' line with 'qos-mech-send' and 'qos-mech-recv' attributes:
以下是具有“qos mech send”和“qos mech recv”属性的“m”线路示例:
m=audio 50000 RTP/AVP 0 a=qos-mech-send: rsvp nsis a=qos-mech-recv: rsvp nsis
m=audio 50000 RTP/AVP 0 a=qos-mech-send: rsvp nsis a=qos-mech-recv: rsvp nsis
Through the use of the 'qos-mech-send' and 'qos-mech-recv' attributes, an offer/answer exchange allows endpoints to come up with a list of common QoS mechanisms sorted by preference. However, note that endpoints negotiate in which direction QoS is needed using other mechanisms, such as preconditions [RFC3312]. Endpoints may also use other mechanisms to negotiate, if needed, the parameters to use with a given QoS mechanism (e.g., bandwidth to be reserved).
通过使用“qos mech send”和“qos mech recv”属性,提供/应答交换允许端点提供按偏好排序的常见qos机制列表。但是,请注意,端点使用其他机制(如预条件[RFC3312])协商需要QoS的方向。如果需要,端点还可以使用其他机制来协商与给定QoS机制(例如,要保留的带宽)一起使用的参数。
Offerers include a 'qos-mech-send' attribute with the tokens corresponding to the QoS mechanisms (in order of preference) that are supported in the send direction. Similarly, offerers include a 'qos-mech-recv' attribute with the tokens corresponding to the QoS mechanisms (in order of preference) that are supported in the receive direction.
报价人包括一个“qos mech send”属性,其中的令牌对应于发送方向上支持的qos机制(按优先顺序)。类似地,提供方包括“qos mech recv”属性,其中令牌对应于在接收方向上支持的qos机制(按优先顺序)。
On receiving an offer with a set of tokens in a 'qos-mech-send' attribute, the answerer takes those tokens corresponding to QoS mechanisms that it supports in the receive direction and includes them, in order of preference, in a 'qos-mech-recv' attribute in the answer. On receiving an offer with a set of tokens in a 'qos-mech-recv' attribute, the answerer takes those tokens corresponding to QoS mechanisms that it supports in the send direction and includes them, in order of preference, in a 'qos-mech-send' attribute in the answer.
在接收到带有“qos mech send”属性中的一组令牌的要约时,应答者获取对应于其在接收方向上支持的qos机制的那些令牌,并按照优先顺序将它们包括在应答中的“qos mech recv”属性中。在收到具有“qos mech recv”属性中的一组令牌的要约时,应答者获取与其在发送方向上支持的qos机制相对应的那些令牌,并按照优先顺序将它们包括在应答中的“qos mech send”属性中。
When ordering the tokens in a 'qos-mech-send' or a 'qos-mech-recv' attribute by preference, the answerer may take into account its own preferences and those expressed in the offer. However, the exact algorithm to be used to order such token lists is outside the scope of this specification.
当按偏好在“qos mech send”或“qos mech recv”属性中订购令牌时,应答者可能会考虑自己的偏好和报价中表达的偏好。然而,用于排序此类令牌列表的确切算法不在本规范的范围内。
Note that if the answerer does not have any QoS mechanism in common with the offerer, it will return empty 'qos-mech-send' and 'qos-mech-recv' attributes.
请注意,如果应答者与报价者没有任何共同的QoS机制,它将返回空的“QoS mech send”和“QoS mech recv”属性。
Once the offer/answer exchange completes, both offerer and answerer use the token lists in the 'qos-mech-send' and 'qos-mech-recv' attributes of the answer to perform resource reservations. Offerers and answerers SHOULD attempt to use the QoS mechanism with highest priority in each direction first. If an endpoint (the offerer or the answerer) does not succeed in using the mechanism with highest priority in a given direction, it SHOULD attempt to use the next QoS mechanism in order of priority in that direction, and so on.
一旦要约/应答交换完成,要约人和应答人都使用应答的“qos mech send”和“qos mech recv”属性中的令牌列表来执行资源预留。提供方和应答方应首先尝试在每个方向上使用具有最高优先级的QoS机制。如果端点(提供方或应答方)未能在给定方向上成功使用具有最高优先级的机制,则应尝试按照该方向的优先级顺序使用下一个QoS机制,以此类推。
If an endpoint unsuccessfully tries all the common QoS mechanisms for a given direction, the endpoint MAY attempt to use additional QoS mechanisms not supported by the remote endpoint. This is because there may be network entities out of the endpoint's control (e.g., an RSVP proxy) that make those mechanisms work.
如果端点在给定方向上尝试所有公共QoS机制失败,则该端点可能会尝试使用远程端点不支持的其他QoS机制。这是因为可能存在使这些机制工作的网络实体(例如,RSVP代理)不受端点的控制。
If, during an established session for which the QoS mechanism to be used for a given direction was agreed upon using the mechanism defined in this specification, an endpoint receives a subsequent offer that does not contain the QoS selection attribute corresponding to that direction (i.e., the 'qos-mech-send' or 'qos-mech-recv' attribute is missing), the endpoints SHOULD continue using the same QoS mechanism used up to that moment.
如果在使用本规范中定义的机制商定用于给定方向的QoS机制的已建立会话期间,端点接收到不包含对应于该方向的QoS选择属性的后续要约(即,缺少“qos mech send”或“qos mech recv”属性),端点应继续使用到目前为止使用的相同qos机制。
The following is an offer/answer exchange between two endpoints using the 'qos-mech-send' and 'qos-mech-recv' attributes. Parts of the session descriptions are omitted for clarity purposes.
以下是使用“qos mech send”和“qos mech recv”属性在两个端点之间进行的提供/应答交换。为了清楚起见,省略了部分会话描述。
The offerer generates the following session description, listing both RSVP and NSIS for both directions. The offerer would prefer to use RSVP and, thus, includes it before NSIS.
进攻方生成以下会话描述,列出两个方向的RSVP和NSI。进攻方倾向于使用RSVP,因此,在NSIS之前包括RSVP。
m=audio 50000 RTP/AVP 0 a=qos-mech-send: rsvp nsis a=qos-mech-recv: rsvp nsis
m=audio 50000 RTP/AVP 0 a=qos-mech-send: rsvp nsis a=qos-mech-recv: rsvp nsis
The answerer supports NSIS in both directions, but not RSVP. Consequently, it returns the following session description:
应答者在两个方向上支持NSI,但不支持RSVP。因此,它返回以下会话描述:
m=audio 55000 RTP/AVP 0 a=qos-mech-send: nsis a=qos-mech-recv: nsis
m=audio 55000 RTP/AVP 0 a=qos-mech-send: nsis a=qos-mech-recv: nsis
This specification registers two new SDP attributes and creates a new registry for QoS mechanisms.
该规范注册了两个新的SDP属性,并为QoS机制创建了一个新的注册表。
IANA has registered the following SDP att-field under the Session Description Protocol (SDP) Parameters registry:
IANA已在会话描述协议(SDP)参数注册表下注册了以下SDP att字段:
Contact name: Gonzalo.Camarillo@ericsson.com
联系人姓名:Gonzalo。Camarillo@ericsson.com
Attribute name: qos-mech-send
属性名称:qos mech send
Long-form attribute name: QoS Mechanism for the Send Direction
长格式属性名称:发送方向的QoS机制
Type of attribute: Session and Media levels
属性类型:会话和媒体级别
Subject to charset: No
以字符集为准:否
Purpose of attribute: To list QoS mechanisms supported in the send direction
属性用途:列出发送方向支持的QoS机制
Allowed attribute values: IANA Registered Tokens
允许的属性值:IANA注册的令牌
IANA has registered the following SDP att-field under the Session Description Protocol (SDP) Parameters registry:
IANA已在会话描述协议(SDP)参数注册表下注册了以下SDP att字段:
Contact name: Gonzalo.Camarillo@ericsson.com
联系人姓名:Gonzalo。Camarillo@ericsson.com
Attribute name: qos-mech-recv
属性名称:qos mech recv
Long-form attribute name: QoS Mechanism for the Receive Direction
长格式属性名称:接收方向的QoS机制
Type of attribute: Session and Media levels
属性类型:会话和媒体级别
Subject to charset: No
以字符集为准:否
Purpose of attribute: To list QoS mechanisms supported in the receive direction
属性用途:列出接收方向支持的QoS机制
Allowed attribute values: IANA Registered Tokens
允许的属性值:IANA注册的令牌
The IANA has created a subregistry for QoS mechanism token values to be used in the 'qos-mech-send' and 'qos-mech-recv' attributes under the Session Description Protocol (SDP) Parameters registry. The initial values for the subregistry are as follows:
IANA已为QoS机制令牌值创建了一个子区域,用于会话描述协议(SDP)参数注册表下的“QoS mech send”和“QoS mech recv”属性。次区域的初始值如下所示:
QoS Mechanism Reference ---------------------------- --------- rsvp RFC 5432 nsis RFC 5432
QoS Mechanism Reference ---------------------------- --------- rsvp RFC 5432 nsis RFC 5432
As per the terminology in [RFC5226], the registration policy for new QoS mechanism token values shall be 'Specification Required'.
根据[RFC5226]中的术语,新QoS机制令牌值的注册策略应为“规范要求”。
An attacker may attempt to add, modify, or remove 'qos-mech-send' and 'qos-mech-recv' attributes from a session description. This could result in an application behaving in a non-desirable way. For example, the endpoints under attack may not be able to find a common QoS mechanism to use.
攻击者可能试图添加、修改或删除会话描述中的“qos mech send”和“qos mech recv”属性。这可能导致应用程序以不理想的方式运行。例如,受攻击的端点可能无法找到要使用的公共QoS机制。
Consequently, it is strongly RECOMMENDED that integrity and authenticity protection be applied to SDP session descriptions carrying these attributes. For session descriptions carried in SIP [RFC3261], S/MIME [RFC3851] is the natural choice to provide such end-to-end integrity protection, as described in [RFC3261]. Other applications MAY use a different form of integrity protection.
因此,强烈建议对携带这些属性的SDP会话描述应用完整性和真实性保护。对于SIP[RFC3261]中的会话描述,S/MIME[RFC3851]是提供端到端完整性保护的自然选择,如[RFC3261]中所述。其他应用程序可能使用不同形式的完整性保护。
Dave Oran helped form this effort. Flemming Andreasen and Magnus Westerlund provided useful comments on this specification.
戴夫·奥兰帮助形成了这一努力。Flemming Andreasen和Magnus Westerlund对此规范提供了有用的意见。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with Session Description Protocol (SDP)", RFC 3264, June 2002.
[RFC3264]Rosenberg,J.和H.Schulzrinne,“具有会话描述协议(SDP)的提供/应答模型”,RFC 3264,2002年6月。
[RFC3851] Ramsdell, B., Ed., "Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Message Specification", RFC 3851, July 2004.
[RFC3851]Ramsdell,B.,编辑,“安全/多用途Internet邮件扩展(S/MIME)版本3.1消息规范”,RFC 38512004年7月。
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session Description Protocol", RFC 4566, July 2006.
[RFC4566]Handley,M.,Jacobson,V.,和C.Perkins,“SDP:会话描述协议”,RFC4566,2006年7月。
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008.
[RFC5226]Narten,T.和H.Alvestrand,“在RFCs中编写IANA注意事项部分的指南”,BCP 26,RFC 5226,2008年5月。
[RFC5234] Crocker, D., Ed., and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.
[RFC5234]Crocker,D.,Ed.,和P.Overell,“语法规范的扩充BNF:ABNF”,STD 68,RFC 5234,2008年1月。
[QoS-NSLP] Manner, J., Karagiannis, G., and A. McDonald, "NSLP for Quality-of-Service Signaling", Work in Progress, February 2008.
[QoS NSLP]Way,J.,Karagiannis,G.,和A.McDonald,“服务质量信令的NSLP”,正在进行的工作,2008年2月。
[RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S. Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification", RFC 2205, September 1997.
[RFC2205]Braden,R.,Ed.,Zhang,L.,Berson,S.,Herzog,S.,和S.Jamin,“资源预留协议(RSVP)——版本1功能规范”,RFC 22052997年9月。
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002.
[RFC3261]Rosenberg,J.,Schulzrinne,H.,Camarillo,G.,Johnston,A.,Peterson,J.,Sparks,R.,Handley,M.,和E.Schooler,“SIP:会话启动协议”,RFC 3261,2002年6月。
[RFC3312] Camarillo, G., Ed., Marshall, W., Ed., and J. Rosenberg, "Integration of Resource Management and Session Initiation Protocol (SIP)", RFC 3312, October 2002.
[RFC3312]Camarillo,G.,Ed.,Marshall,W.,Ed.,和J.Rosenberg,“资源管理和会话启动协议(SIP)的集成”,RFC 3312,2002年10月。
Authors' Addresses
作者地址
James Polk Cisco Systems 3913 Treemont Circle Colleyville, Texas 76034 USA
James Polk Cisco Systems 3913美国德克萨斯州Treemont Circle Colleyville 76034
Phone: +1-817-271-3552 EMail: jmpolk@cisco.com
Phone: +1-817-271-3552 EMail: jmpolk@cisco.com
Subha Dhesikan Cisco Systems 170 W. Tasman Drive San Jose, CA 95134 USA
美国加利福尼亚州圣何塞塔斯曼大道西170号Subha Dhesikan Cisco Systems,邮编95134
EMail: sdhesika@cisco.com
EMail: sdhesika@cisco.com
Gonzalo Camarillo Ericsson Hirsalantie 11 Jorvas 02420 Finland
Gonzalo Camarillo Ericsson Hirsalantie 11 Jorvas 02420芬兰
EMail: Gonzalo.Camarillo@ericsson.com
EMail: Gonzalo.Camarillo@ericsson.com