Benchmarking Methodology Working S. Poretsky Group Reef Point Networks Internet-Draft V. Gurbani Expires: January 10, 2008 Bell Laboratories, Alcatel-Lucent C. Davids Illinois Institute of Technology July 9, 2007 Terminology for Benchmarking Session Initiation Protocol (SIP) Networking Devices draft-poretsky-sip-bench-term-03 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on January 10, 2008. Copyright Notice Copyright (C) The IETF Trust (2007). Abstract This document provides a terminology for benchmarking SIP performance in networking devices. Terms are included for test components, test setup parameters, and performance benchmark metrics for black-box benchmarking of SIP networking devices. The Performance Benchmark Poretsky, et al. Expires January 10, 2008 [Page 1] Internet-Draft SIP Benchmarking Terminology July 2007 Metrics are obtained for the SIP Control Plane and Media Plane. The terms are intedned for use in a companion Methodology document for complete performance characterization of a device in a variety of network conditions making it possible to compare performance of different devices. It is critical to provide Test Setup Parameters and a Methodology document for SIP performance benchmarking because SIP allows a wide range of configuration and operational conditions that can influence performance benchmark measurements. It is necessary to have terminology and methodology standards to ensure that reported benchmarks have consistent definition and were obtained following the same procedures. Benchmarks can be applied to compare performance of a variety of SIP networking devices. Table of Contents 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Term Definitions . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. Protocol Components . . . . . . . . . . . . . . . . . . . 5 3.1.1. Session . . . . . . . . . . . . . . . . . . . . . . . 5 3.1.2. Signaling Plane . . . . . . . . . . . . . . . . . . . 8 3.1.3. Media Plane . . . . . . . . . . . . . . . . . . . . . 9 3.1.4. Associated Media Stream . . . . . . . . . . . . . . . 9 3.1.5. Invite-initiated Session (IS or I Session) . . . . . . 10 3.1.6. Session Attempting State . . . . . . . . . . . . . . . 10 3.1.7. Session Established State . . . . . . . . . . . . . . 11 3.1.8. Session Disconnecting State . . . . . . . . . . . . . 11 3.1.9. Non-INVITE-initiated Session (NIS or N-Session) . . . 12 3.1.10. Registration . . . . . . . . . . . . . . . . . . . . . 12 3.1.11. Successful IS Establishment . . . . . . . . . . . . . 13 3.1.12. Unsuccessful IS Establishment . . . . . . . . . . . . 13 3.1.13. Successful NS Establishment . . . . . . . . . . . . . 13 3.1.14. Unsuccessful NS Establishment . . . . . . . . . . . . 14 3.1.15. Successful IS Disconnection . . . . . . . . . . . . . 14 3.1.16. Unsuccessful IS Disconnection . . . . . . . . . . . . 15 3.2. Test Components . . . . . . . . . . . . . . . . . . . . . 15 3.2.1. Emulated Agent . . . . . . . . . . . . . . . . . . . . 15 3.2.2. Signaling Server . . . . . . . . . . . . . . . . . . . 16 3.2.3. SIP-Aware Stateful Firewall . . . . . . . . . . . . . 16 3.2.4. SIP Transport Protocol . . . . . . . . . . . . . . . . 17 3.3. Test Setup Parameters . . . . . . . . . . . . . . . . . . 17 3.3.1. IS Attempt . . . . . . . . . . . . . . . . . . . . . . 17 3.3.2. IS Duration . . . . . . . . . . . . . . . . . . . . . 18 3.3.3. IS Signaling Duration . . . . . . . . . . . . . . . . 18 3.3.4. IS Media Duration . . . . . . . . . . . . . . . . . . 19 3.3.5. Session Attempt Rate . . . . . . . . . . . . . . . . . 19 3.3.6. Media-Session Attempt Rate . . . . . . . . . . . . . . 20 Poretsky, et al. Expires January 10, 2008 [Page 2] Internet-Draft SIP Benchmarking Terminology July 2007 3.3.7. NI-Session Attempt Rate . . . . . . . . . . . . . . . 20 3.3.8. Disconnect Threshold . . . . . . . . . . . . . . . . . 21 3.3.9. Establishment Threshold . . . . . . . . . . . . . . . 21 3.3.10. Media Packet Size . . . . . . . . . . . . . . . . . . 22 3.3.11. Media Offered Load, per Media Stream . . . . . . . . . 22 3.3.12. Media Offered Load, Aggregate . . . . . . . . . . . . 22 3.3.13. Media Session Hold Time . . . . . . . . . . . . . . . 23 3.4. Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . 23 3.4.1. Maximum Registration Rate . . . . . . . . . . . . . . 23 3.4.2. Maximum Session Establishsment Rate . . . . . . . . . 24 3.4.3. Session Capacity . . . . . . . . . . . . . . . . . . . 24 3.4.4. Session Establishment Performance . . . . . . . . . . 25 3.4.5. Session Attempt Delay . . . . . . . . . . . . . . . . 25 3.4.6. Session Disconnect Delay . . . . . . . . . . . . . . . 26 3.4.7. Standing Sessions . . . . . . . . . . . . . . . . . . 26 3.4.8. IM Rate . . . . . . . . . . . . . . . . . . . . . . . 27 3.4.9. Presence Rate . . . . . . . . . . . . . . . . . . . . 27 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 5. Security Considerations . . . . . . . . . . . . . . . . . . . 28 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 28 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 28 7.1. Normative References . . . . . . . . . . . . . . . . . . . 28 7.2. Informational References . . . . . . . . . . . . . . . . . 29 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 29 Intellectual Property and Copyright Statements . . . . . . . . . . 31 Poretsky, et al. Expires January 10, 2008 [Page 3] Internet-Draft SIP Benchmarking Terminology July 2007 1. Terminology 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 BCP 14, RFC 2119. RFC 2119 defines the use of these key words to help make the intent of standards track documents as clear as possible. While this document uses these keywords, this document is not a standards track document. The term Throughput is defined in RFC 2544. Many SIP terms used in this document are defined in [Ro02]. 2. Introduction Service Providers are now planning Voice Over IP (VoIP) and Multimedia network deployments using the IETF developed Session Initiation Protocol (SIP) [Ro02]. SIP is a signaling protocol originally intended to be used for the dynamic establishment, disconnection and alteration of streams of media between end users. As it has evolved it is being used for a growing number of applications. Some of these applications do result in streams of media but instead create other services tailored to the end-users' immediate needs or preferences. VoIP with SIP has led to development of new networking devices including SIP Server, Session Border Controller, and SIP-Aware Stateful Firewall. The mix of voice and IP functions in this variety of devices has produced inconsistencies in vendor reported performance metrics and has caused confusion in the service provider community. SIP allows a wide range of configuration and operational conditions that can influence performance benchmark measurements. It is important to be able to correlate a signalling measurement with the media plane measurements to determine the system performance. As SIP has increased deployments, the need to benchmark the performance of SIP devices is increasingly important. When defining SIP performance benchmarks it is critical to also provide definitions for Test Setup Parameters and a corresponding Methodology document for SIP performance benchmarking. This enables benchmarks to be understood, fairly compared, and repeatable. The chosen benchmarking metrics and methodologies used to obtain those metrics should be based upon a common set of clearly defined terminology. This document provides the benchmarking terms for performance benchmarking the SIP control and media planes. Terms are included for Test Components, Test Setup Parameters, and Benchmarks. All benchmarks are black-box measurements of the SIP Control and Media Planes. It is intended that these terms be used in a companion Poretsky, et al. Expires January 10, 2008 [Page 4] Internet-Draft SIP Benchmarking Terminology July 2007 Methodology document. SIP is used to create a growing number of very different applications and features, some off which result in the creation of media streams, others of which do not. The set of benchmarking terms provided in this document is intended for use with any of these. SIP is frequently used to create streams of media. The control plane and the media plane are treated as orthogonal in this document. In order to characterize the performance of one or another application or feature it may be necessary to logically associate several of the benchmarking metrics provided here. Benchmarks to be obtained and compared for different types of Devices Under test (DUTs) such as SIP Proxy Server, SBC, P-CSCF, Proxy Server paired with a Firewall/NAT device, and P-CSCF paired with a Firewall/NAT device. Media benchmarks can also be made when testing Systems Under Test (SUTs). 3. Term Definitions 3.1. Protocol Components 3.1.1. Session Definition: The combination of Signaling Plane and Media Plane protocol messages and processes that enable two or more participants to communicate. Discussion: SIP messages in the signaling plane can be used to create and manage applications for one or more end users. Most commonly the application in question resembles a traditional telephone call. SIP is often used to create and manage media streams in suspport of applications that resemble traditional telephone service. The prototype of these applications is a session - a collection of media streams under the control of SIP entities. The application, and by extension, the session, has components in both the signaling plane and the media plane. SIP includes definitions of a Call-ID, a dialogue and a transaction that support this application.A growing number of usages and applications do not require the creation of associated media. The first such usage was the REGISTER. Applications that use the IM and SUBSCRIBE/ NOTIFY methods also do not require SIP to manage media streams. The terminology Invite-initiated Session (IS or I-Session) and Non-invite initiated Session (NIS or N-Session) are used to distinguish between these different usages. Poretsky, et al. Expires January 10, 2008 [Page 5] Internet-Draft SIP Benchmarking Terminology July 2007 A Session in the context of this document, is considered to be a vector with three components: (1) A component in the signaling plane (SIP messages), sess.sig (2) A media component in the media plane (RTP and SRTP streams for example), sess.med (3) A control component in the media plane (RTCP messages for example), sess.medc An I-Session is expected to have non-null sess.sig and sess.med components. The use of control protocols in the media component is media dependent, thus the expected presence or absence of sess.medc is media dependent and test-case dependent. An N-Session is expected to have a non-null sess.sig component, but null sess.med and sess.medc components. Packets in the Signaling Plane and Media Plane will be handled by different processes within the DUT. They will take different paths within a SUT. These different processes and paths may prooduce variations in performance. The terminology and benchmarks defined in this document and the methodology for their use are designed to enable us to compare performance of the DUT/ SUT with reference to the type of SIP-supported application it is handling. Note that one or more sessions can simultaneously exist between any participants. This is represented as an array session[x]. Sessions will be represented as a vector array with three components, as follows: session-> session[x].sig, the signaling component session[x].medc, the media control component (e.g. RTCP) session[x].med[y], an array of associated media streams (e.g. RTP, SRTP, RTSP, MSRP). This media component may consist of zero or more media streams. Measurement Units: N/A. Issues: None. See Also: Media Plane Poretsky, et al. Expires January 10, 2008 [Page 6] Internet-Draft SIP Benchmarking Terminology July 2007 Signaling Plane Invite-inititated Session (IS or I-Session) Non-invite-inititated Session (NIS or N-Session) Figure 1 below illustrates the vector character of the application or session described in this document. |\ | | \ sess.sig| | \ | | \ | o | / | / | | / | / | | / | / | | / | / | sess.medc |/_____________________ / / / | / / sess.med / | /_ _ _ _ _ _ _ _/ / / / / Figure 1. Application or Session Components Figure 1 Figure 2 below illustrates the three states of a session. The EA attempts an I-session with the DUT/SUT. The state of the session following the INVITE and preceding the DUT/SUT's 200 OK is the Attempting state. The state of the session following the 200 OK sent by the DUT/SUT is the Established state. The Associated Media is Poretsky, et al. Expires January 10, 2008 [Page 7] Internet-Draft SIP Benchmarking Terminology July 2007 shown as "media" connected to media ports M1 and M2 on the Tester. After the EA sends a BYE, the session enters the Disconnecting state. The session reverts to its Null state after the DUT/SUT sends a 200 OK to the EA. EA DUT/SUT M1 M2 | | | | | INVITE | | | ----- |-------------->| | | | | | | Attempting | | | | | 200 OK | | | ----- |<--------------| | | | | | | | | | | | | | media | Established | |<----->| | | |<----->| | BYE | | | ----- |-------------->| | | | | | | Disconnecting | | | | 200 OK | | | ----- |<--------------| | | | | | | Figure 2. Basic SIP Test Topology Figure 2 3.1.2. Signaling Plane Definition: The control plane in which SIP messages [Ro02] are exchanged between SIP Agents [Ro02] to establish a connection for media exchange. Discussion: Poretsky, et al. Expires January 10, 2008 [Page 8] Internet-Draft SIP Benchmarking Terminology July 2007 SIP messages are used to establish sessions in several ways: directly between two User Agents [Ro02], through a Proxy Server [Ro02], or through a series of Proxy Servers. The Signaling Plane MUST include the Session Description Protocol (SDP) [Ha06]. The Signaling Plane for a single Session is represented by session.sig. Measurement Units: N/A. Issues: None. See Also: Media Plane Emulated Agents 3.1.3. Media Plane Definition: The data plane in which one or more media streams [sc02] and their associated media control protocols [Sc03] are exchanged after a media connection has been created by the exchange of signaling messages in the Signaling Plane. Discussion: Media may also be known as the the "payload" or "bearer channel". The Media Plane MUST include the media control protocol, if one is used, and the media stream(s). Media is analagous Data. Example media are audio, video, whiteboard, and instant messaging service. The media stream is described in the SDP of the Signaling Plane. The media for a single Session is represented by session.med. The media control protocol is represented by session.medc. Measurement Units: N/A. Issues: None. See Also: Signaling Plane 3.1.4. Associated Media Stream Definition: Poretsky, et al. Expires January 10, 2008 [Page 9] Internet-Draft SIP Benchmarking Terminology July 2007 Media that corresponds to an 'm' line in the SDP payload of the Signaling Plane. Discussion: Any media protocol MAY be used. For any session's signaling component, represented as session.sig, there may be one or multiple associated media streams which are represented be a vector array session.med[y]. Measurement Units: N/A. Issues: None. 3.1.5. Invite-initiated Session (IS or I Session) Definition: A Session that is created by an exchange of messages in the Signaling Plane the first of which is a SIP INVITE transaction. [Ca02]. Discussion: An IS is identified by the Call-ID, To-tag, and From-tag of the SIP message that sets them. These three fields are used to identify a SIP Dialog [Ro02]. An IS MAY have associated media. The inclusion of media is test case dependent. An IS may be in one of several different states: Attempting , Established, Disconnecting. Measurement Units: N/A Issues: None See Also: 3.1.6. Session Attempting State Definition: The state in the Signaling Plane after the INVITE is sent by the EA and before the 200 OK is sent by the DUT/SUT. Poretsky, et al. Expires January 10, 2008 [Page 10] Internet-Draft SIP Benchmarking Terminology July 2007 Discussion: The Session Attempting State includes possible re-INVITES as well as Redirects. It also includes all INVITES that are rejected for lack of authentication information. Measurement Units: N/A. Issues: None. See Also: Invite-initiated Session Session Established State Session Disconnecting State 3.1.7. Session Established State Definition: The state in the Signaling Plane after the 200 OK for the initiating INVITE is sent by the DUT/SUT to the EA that sent the INVITE and before the EA sends a BYE. Discussion: The Session Established State includes possible re-INVITES as well as redirects. It also includes all INVITES that are rejected for lack of authentication information. Measurement Units: N/A. Issues: None. See Also: Invite-initiated Session Session Attempting State Session Disconnecting State 3.1.8. Session Disconnecting State Definition: The state in the Signaling Plane after a BYE is sent by the EA and before a 200 OK reply to that BYE is received by the EA. Discussion: Poretsky, et al. Expires January 10, 2008 [Page 11] Internet-Draft SIP Benchmarking Terminology July 2007 Measurement Units: N/A. Issues: None. See Also: Invite-initiated Session Session Attempting State Session Established State 3.1.9. Non-INVITE-initiated Session (NIS or N-Session) Definition: A session that is created by an exchange of messages in the Signaling Plane that does not include an initial SIP INVITE message. Discussion: An example of an NIS is a Session created by a SUBSCRIBE request. Measurement Units: N/A. Issues: None. See Also: 3.1.10. Registration Definition: A NIS whose initial SIP message is a REGISTER request. Discussion: Registrations represent a significant part of SIP network traffic and so contribute significantly to the amount of work that some elements of the DUT/SUT must perform. A Registration attempt MAY be sussessful or unsuccessful. A successful registration is determined by receipt of a 200 OK response. An unsuccessful registration is one that does not receive a 200 OK response. Measurement Units: N/A. Poretsky, et al. Expires January 10, 2008 [Page 12] Internet-Draft SIP Benchmarking Terminology July 2007 Issues: None. See Also: 3.1.11. Successful IS Establishment Definition: An IS is said to have been successfully established if the following two conditions are met: (1) Sess.sig is in the established state, and (2) The media session described in the body of the signaling message is present. Discussion: Measurement Units: N/A. Issues: None. See Also: 3.1.12. Unsuccessful IS Establishment Definition: An IS attempt is said to have been unsuccessfull if one or both of the following two conditions is met: (1) The session did not transition to the established state, and/or (2) The media session described in the body of the signaling message is not present. Discussion: Measurement Units: N/A. Issues: None. See Also: 3.1.13. Successful NS Establishment Definition: Poretsky, et al. Expires January 10, 2008 [Page 13] Internet-Draft SIP Benchmarking Terminology July 2007 An NS is said to have been successfully established if the non- INVITE request that represented its attempt received a 2xx or 3xx reply from the DUT/SUT before the expiration of the disconnect threshold timer. Discussion: Measurement Units: N/A. Issues: None. See Also: Disconnection Threshold Timer 3.1.14. Unsuccessful NS Establishment Definition: An NS attempt is unsuccessful if the non-INVITE request that represented its attempt did not receive a 2xx or 3xx reply from the DUT/SUTand. Discussion: Measurement Units: N/A. Issues: None. See Also: 3.1.15. Successful IS Disconnection Definition: An IS disconnect is said to have been successful if the following two conditions apply: (1) There was a 200 OK to the BYE before the expiration of the Disconnection Threshold Timer. (2) There are no more elements of session.med present Discussion: Poretsky, et al. Expires January 10, 2008 [Page 14] Internet-Draft SIP Benchmarking Terminology July 2007 Measurement Units: N/A. Issues: None. See Also: Disconnection Threshold timer 3.1.16. Unsuccessful IS Disconnection Definition: An IS disconnect is said to have been unsuccessful if either or both of the following two conditions apply: (1) There was not a 200 OK to the BYE before the expiration of the Disconnection Threshold Timer. (2) There are still some elements of session.med present Discussion: It is necessary to define the time period in which success and failure are determined. For example, it may be that the DUT is operating slowly and that it takes several minutes for it to act so as to remove the resources associated with the media. It is necessary to decide how much time is to be used to decide when the disconnect has failed. Measurement Units: N/A. Issues: None. See Also: Disconnect Threshold 3.2. Test Components 3.2.1. Emulated Agent Definition: Device in test topology that initates/responds to SIP messages as a session endpoint and sources/receives associated media for established connections. Discussion: The Emulated Agent (EA) is a function of the Tester. The Emulated Agent functions on the Signaling and Media Planes. The Tester MAY be configured to be multiple EAs. Poretsky, et al. Expires January 10, 2008 [Page 15] Internet-Draft SIP Benchmarking Terminology July 2007 Measurement Units: N/A Issues: None. See Also: Media Plane Signaling Plane 3.2.2. Signaling Server Definition: Device in test topology that acts as a proxy on the `Signaling Plane between Emulated Agents. This device is either a DUT or component of a SUT. Discussion: The Signalling Server MUST be a RFC 3261 [Ro02] compliant device. It MAY be a Proxy Server, Session Border Controller (SBC), or other type of device that is RFC 3261 compliant. The Signalling Server functions only on the Signaling Plane. Measurement Units: NA Issues: None. See Also: Signaling Plane 3.2.3. SIP-Aware Stateful Firewall Definition: Device in test topology that provides Denial-of-Service (DoS) Protection to the Signaling and Media Planes for the Emulated Agents and Signalling Server Discussion: The SIP-Aware Stateful Firewall MAY be an internal component or function of the Session Server. The SIP-Aware Stateful Firewall MAY be a standalone device. If it is a standalone device it MUST be paired with a Signalling Server. If it is a standalone device it MUST be benchmarked as a SUT. SIP-Aware Stateful Firewalls MAY include Network Address Translation (NAT) functionality. Ideally, the inclusion of the SIP-Aware Stateful Firewall as a SUT has no degradation to the measured performance benchmark metrics. Poretsky, et al. Expires January 10, 2008 [Page 16] Internet-Draft SIP Benchmarking Terminology July 2007 Measurement Units: N/A Issues: None. See Also: 3.2.4. SIP Transport Protocol Definition: The protocol used for transport of the Signaling Plane messages. Discussion: Performance benchmarks may vary for the same SIP networking device depending upon whether TCP, UDP, TLS, SCTP, or another transport layer protocol is used. For this reason it MAY be necessary to measure the SIP Performance Benchmarks using these various transport protocols. Performance Benchmarks MUST report the SIP Transport Protocol used to obtain the benchmark results. Measurement Units: TCP or UDP Issues: None. See Also: 3.3. Test Setup Parameters 3.3.1. IS Attempt Definition: An I-Session Attempt is an event in the Signaling Plane identified by the appearance of a new SIP Call-Id. Discussion: When successful, the Session Attempt results in the receipt of a 200 OK SIP message and the creation of a Media Session, session.med. This can be represented as a session.sig that produces a session.med and possibly a session.medc. There can be various reasons why a Session Attempt is unsuccessful. These include a lack of available ports on an element of the DUT/SUT or incorrect operation on the DUT/SUT. Unuccessful IS Attempts are identified and counted by the Recorder. Poretsky, et al. Expires January 10, 2008 [Page 17] Internet-Draft SIP Benchmarking Terminology July 2007 Measurement Units: NA Issues: None. See Also: Session 3.3.2. IS Duration Definition: The time for the first SIP message with the session&pos;s Call-ID until the last message for the session with that Call-ID. Discussion: The last message may be from either the signaling or the media plane. If it is in the media plane, sess.med(y) it means that some media resources continue to be associated with the session even after the final signalling messages associated with the session have been exchanged. There can be a variety of causes for such a situation, including network and system latency as well as failures to correlate the state machines of the signalling and media processing functions in the system. The Session Duration configured on the Emulated Agent (EA) is the Intended Session Duration. When benchmarking Session Capacity the value of the Intended Session Duration MUST be infinite for all sessions. The Session Duration measured on the DUT/SUT is the Measured Session Duration. The value of the Measured Session Duration MAY not equal the Intended Session Duration. Measurement Units: seconds Issues: None. See Also: Session Attempt Rate 3.3.3. IS Signaling Duration Definition: The time from the first SIP message with the session's Call-ID until a 200 OK is sent in response to a BYE message with the same Call-ID as that identifies the session. Poretsky, et al. Expires January 10, 2008 [Page 18] Internet-Draft SIP Benchmarking Terminology July 2007 Discussion: The Signaling Duration applies to session.sig The Signaling Duration configured on the Emulated Agent (EA) is the Intended Signaling Duration. When benchmarking Session Capacity the value of the Intended Signaling Duration MUST be infinite for all sessions. The Signaling Duration measured on the DUT/SUT is the Measured Signaling Duration. The value of the Measured Signaling Duration MAY not equal the Intended Signaling Duration. Measurement Units: Seconds Issues: None. See Also: Emulated Agent DUT/SUT defined in companion methodology document 3.3.4. IS Media Duration Definition: The time from the from the first media message created as defined in the SDP from the Signaling Plane until the last media message. Discussion: The Media Duration applies to session.med and session.medc. Generally the first media message appears after the receipt of the 200 OK response to the SIP INVITE that bears the Call-Id, and before the sending of the ACK. Measurement Units: Seconds Issues: None. See Also: 3.3.5. Session Attempt Rate Definition: Configuration on the Emulated Agent for number of sessions to be established at the DUT per continuous one-second intervals. Poretsky, et al. Expires January 10, 2008 [Page 19] Internet-Draft SIP Benchmarking Terminology July 2007 Discussion: The Session Attempt Rate can cause variation in performance benchmark measurements. Since this is the number of sessions configured on the Tester, some sessions may not be successfully established on the DUT. A sessio may be either an IS or an NIS. For a fixed value of Session Attempt Rate, more stress may be incurred on the DUT/SUT when it processes sessions attempts and teardowns concurrently during each one-second interval. Measurement Units: session attempts per second (saps) Issues: None. See Also: 3.3.6. Media-Session Attempt Rate Definition: Configuration on the Emulated Agent for number of I-sessions to be established at the DUT per continuous one-second intervals. Discussion: The Media Session Attempt Rate can cause variation in performance benchmark measurements. This is the number of sessions configured on the Tester. Some attempts may not result in successful sessions established on the DUT. Media Sessions MUST be associated with an IS. By including this definition we leave open the possibility that there may be an IS that does not include a media description. In this document, however, we will assume that there is a one to one correspondence between IS session attempts and Media Session attempts. Measurement Units: session attempts per second (saps) Issues: None. See Also: I-Session 3.3.7. NI-Session Attempt Rate Poretsky, et al. Expires January 10, 2008 [Page 20] Internet-Draft SIP Benchmarking Terminology July 2007 Definition: Configuration on the Emulated Agent for number of NI-sessions to be established at the DUT per continuous one-second intervals. Discussion: The NI-session attempts include registrations, Instant Messages, and Presence-related messages. Measurement Units: session attempts per second (saps) Issues: None. See Also: Session Attempt Rate 3.3.8. Disconnect Threshold Definition: Configuration on the Tester representing the amount of time that an actor (EA or DUT/SUT) will wait before declaring a disconnect failure. Discussion: This time duration is test dependent. Measurement Units: seconds Issues: None. See Also: session disconnect failure 3.3.9. Establishment Threshold Definition: Configuration on the Tester representing the amount of time that an actor (EA or DUT/SUT) will wait before declaring a session establishment failure. Discussion: This time duration is test dependent. Poretsky, et al. Expires January 10, 2008 [Page 21] Internet-Draft SIP Benchmarking Terminology July 2007 Measurement Units: seconds Issues: None. See Also: session establishment failure 3.3.10. Media Packet Size Definition: Configuration on the Emulated Agent for a fixed size of packets used for media streams. Discussion: For a single benchmark test, all sessions use the same size packet for media streams. The size of packets can cause variation in performance benchmark measurements. Measurement Units: bytes Issues: None. See Also: 3.3.11. Media Offered Load, per Media Stream Definition: The constant amount of media traffic offered by the Emulated Agent to the DUT/SUT for each media stream. Discussion: For a single benchmark test, all sessions use the same Media Offered Load, per Media Stream. Measurement Units: packets per seccond (pps) Issues: None. See Also: 3.3.12. Media Offered Load, Aggregate Poretsky, et al. Expires January 10, 2008 [Page 22] Internet-Draft SIP Benchmarking Terminology July 2007 Definition: The total amount of media traffic offered by the Emulated Agent to the DUT/SUT. Discussion: Measurement Units: pps Issues: None. See Also: 3.3.13. Media Session Hold Time Definition: The amount of time during which media flows from the Tester to the DUT for a successful IS. Discussion: Measurement Units: seconds Issues: None. See Also: 3.4. Benchmarks 3.4.1. Maximum Registration Rate Definition: The maximum number of registrations that can be successfully completed by the DUT/SUT in a given time period. Discussion: This benchmark is obtained with zero failure in which 100% of the registrations attempted by the Emulated Agent are successfully completed by the DUT/SUT. The maximum value is obtained by testing to failure. This means that the registration rate provisioned on the EA is raised progressively until a registration attempt failure is observed. Measurement Units: registrations per second (rps) Poretsky, et al. Expires January 10, 2008 [Page 23] Internet-Draft SIP Benchmarking Terminology July 2007 Issues: None. See Also: 3.4.2. Maximum Session Establishsment Rate Definition: Maximum rate at which sessions can be successfully established. This is the maximum number of Sessions successfully established in continuous one-second intervals with the sessions remaining active. Discussion: This benchmark is obtained with zero failure in which 100% of the sessions introduced by the Emulated Agent are successfully established. The maximum value is obtained by testing to failure. This means that the session rate provisioned on the EA is raised progressively until a session establishment failure is observed. Sessions may be I-Sessions or NI-Sessions or a mix of both and will be defined in the particular test. Measurement Units: sessions per second (sps) Issues: None. See Also: I-Session NI-Session Session Attempt Rate 3.4.3. Session Capacity Definition: The maximum number of sessions in the established state that can exist simultaneously on the DUT/SUT. Discussion: In order to make this measurement, the Session Duration MUST be set to infinity so that sessions remain established for the duration of the test. The Session Capacity must be reported with the Session Rate used to reach the maximum. Since Session Rate is a zero-loss measurement, there must be zero failures to achieve the Session Capacity. Sessions may be I-Sessions or NI-Sessions. Measurement Units: Poretsky, et al. Expires January 10, 2008 [Page 24] Internet-Draft SIP Benchmarking Terminology July 2007 sessions Issues: None. See Also: Session Attempt Rate 3.4.4. Session Establishment Performance Definition: The percentage of sessions that successfully establish for the duration of a benchmarking test as compared to the number of sessions attempted during that benchmarking test. Discussion: Session Establishment Performance is a benchmark to indicate session establishment success for the duration of a test. The duration for measuring this benchmark is to be specified in the Methodology. The Session Duration may be configured so that sessions terminate during the test duration. Established Sessions MAY be reported as the percentage of Session Attempts that failed or the percentage of Session Attempts that were successful. Measurement Units: Percentage, % Issues: None. See Also: Maximum Session Establishment Rate Session Attempt Rate 3.4.5. Session Attempt Delay Definition: The average time for a session to move from the attempting state to the established state. Discussion: Time is measured from when the EA sends the first INVITE for the call-ID in the case of an I-session. Time is measured from when the EA sends the first non-INVITE message in the case of an NI- session. Session Attempt Delay MUST be measured for every established session to calculate the average. Session Attempt Delay MUST be measured at the Maximum Session Establishment Rate. Poretsky, et al. Expires January 10, 2008 [Page 25] Internet-Draft SIP Benchmarking Terminology July 2007 Measurement Units: msec Issues: None. See Also: Maximum Session Establishment Rate 3.4.6. Session Disconnect Delay Definition: The average time that a session stays in the disconnecting state. Discussion: Time is measured from when the Emulated Agent sends the BYE request. Session Teardown Delay MUST be measured for every established session to calculate the average. Session Attempt Delay MUST be measured with the rate of teardowns configured to the value of the Maximum Session Establishment Rate. Measurement Units: msec Issues: None. See Also: Maximum Session Establishment Rate 3.4.7. Standing Sessions Definition: The number of Sessions currently established on the DUT/SUT at any instant. Discussion: The number of Standing Sessions is influenced by the Session Duration and the Session Attempt Rate. Benchmarks MUST be reported with the maximum and average Standing Sessions for the DUT/SUT. In order to determine the maximum and average Standing Sessions on the DUT/SUT for the duration of the test it is necessary to make periodic measurements of the number of Standing Sessions on the DUT/SUT. The recommended value for the measurement period is 1 second. Measurement Units: Number of sessions Poretsky, et al. Expires January 10, 2008 [Page 26] Internet-Draft SIP Benchmarking Terminology July 2007 Issues: None. See Also: Session Duration Session Rate Session Attempt Rate 3.4.8. IM Rate Definition: Maximum number of IM messages completed successfully by the DUT/ SUT. Discussion: For a UAS, the definition of success is the receipt of an IM request and the subsequent sending of a final response. For a UAC, the definition of success is the sending of an IM request and the receipt of a final response to it. For a proxy, the definition of success is as follows: A. the number of IM requests it receives from the upstream client MUST be equal to the number of IM requests it sent to the downstream server; and B. the number of IM responses it receives from the downstream server MUST be equal to the number of IM requests sent to the downstream server; and C. the number of IM responses it sends to the upstream client MUST be equal to the number of IM requests it received from the upstream client. Measurement Units: IM messages per second Issues: None. See Also: 3.4.9. Presence Rate Definition: Maximum number of presence notifications sent out by the DUT/SUR acting as a Presence Agent [Ro04]. Discussion: Poretsky, et al. Expires January 10, 2008 [Page 27] Internet-Draft SIP Benchmarking Terminology July 2007 The intent of this benchmark is to assess the throughput of a Presence Agent (PA, see [Ro04]). The PA will accept subscriptions from watchers, and when the target of the subscription is registered with the PA (who is acting as a registrar), a notification is generated to the watcher. This benchmark will use the presence event package as documented in [Ro04]. The Presence Rate will be less than or equal to the Registration Rate. Measurement Units: Presence Notifications Per Second See Also: Registration Rate. 4. IANA Considerations This document requires no IANA considerations. 5. Security Considerations Documents of this type do not directly affect the security of Internet or corporate networks as long as benchmarking is not performed on devices or systems connected to production networks. Security threats and how to counter these in SIP and the media layer is discussed in RFC3261, RFC3550, and RFC3711 and various other drafts. This document attempts to formalize a set of common terminology for benchmarking SIP networks. 6. Acknowledgments The authors would like to thank Keith Drage and Daryl Malas for their contributions to this document. 7. References 7.1. Normative References [1] Bradner, S., "Benchmarking Terminology for Network Interconnection Devices", RFC 1242, July 1991. [2] Bradner, S. and J. McQuaid, "Benchmarking Methodology for Network Interconnection Devices", RFC 2544, July 1999. [3] Campbell, B., "Session Initiation Protocol (SIP) Extension for Instant Messaging", RFC 3428, December 2002. Poretsky, et al. Expires January 10, 2008 [Page 28] Internet-Draft SIP Benchmarking Terminology July 2007 [4] Garcia-Martin, M., "Input 3rd-Generation Partnership Project (3GPP) Release 5 Requirements on the Session Initiation Protocol (SIP)", RFC 4083, May 2005. [5] Handley, M., "SDP: Session Description Protocol", RFC 4566, July 2006. [6] Lingle, K., Mule, J., Maeng, J., and D. Walker, "Management Information Base for the Session Initiation Protocol (SIP)", draft-ietf-sip-mib-10 (work in progress), March 2006. [7] Mandeville, R., "Benchmarking Terminology for LAN Switching Devices", RFC 2285, February 1998. [8] Malas, D., "SIP Performance Metrics", draft-malas-performance-metrics-01 (work in progress), March 2007. [9] Poretsky, S., Gurbani, V., and C. Davids, "SIP Performance Benchmarking Terminology", draft-poretsky-bmwg-sip-meth-00 (work in progress), March 2007. [10] 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. [11] Rosenberg, J., "A Presence Event Package for the Session Initiation Protocol (SIP)", RFC 3856, August 2004. [12] Schulzrinne, H. and J. Rosenberge, "An Offer/Answer Model with the Session Description Protocol (SDP)", RFC 3264, June 2002. [13] Schulzrinne, H., "RTP: A Transport Protocol for Real-Time Applications", RFC 3550, July 2003. [14] Sparks, R., "Session Initiation Protocol (SIP) Torture Test Messages", RFC 4475, March 2007. 7.2. Informational References Poretsky, et al. Expires January 10, 2008 [Page 29] Internet-Draft SIP Benchmarking Terminology July 2007 Authors' Addresses Scott Porersky Reef Point Networks 8 New England and Executive Park Burlington, MA 08103 USA Phone: +1 508 439 9008 Email: sporetsky@reefpoint.com Vijay K. Gurbani Bell Laboratories, Alcatel-Lucent 2701 Lucent Lane Rm 9F-546 Lisle, IL 60532 USA Phone: +1 630 224 0216 Email: vkg@alcatel-lucent.com Carol Davids Illinois Institute of Technology 201 East Loop Road Wheaton, IL 60187 USA Email: davids@iit.edu Poretsky, et al. Expires January 10, 2008 [Page 30] Internet-Draft SIP Benchmarking Terminology July 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Poretsky, et al. Expires January 10, 2008 [Page 31]