TOC |
|
This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and 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 September 5, 2009.
Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved.
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.
This document describes the methodology for benchmarking Session Initiation Protocol (SIP) performance as described in SIP benchmarking terminology document. The methodology and terminology are to be used for benchmarking signaling plane performance with varying signaling and media load. Both scale and establishment rate are measured by signaling plane performance. The SIP Devices to be benchmarked may be a single device under test (DUT) or a system under test (SUT). Benchmarks can be obtained and compared for different types of devices such as SIP Proxy Server, SBC, P-CSCF, and Server paired with a Firewall/NAT device.
1.
Terminology
2.
Introduction
3.
Test Topologies
4.
Test Considerations
4.1.
Selection of SIP Transport Protocol
4.2.
Server
4.3.
Associated Media
4.4.
Selection of Associated Media Protocol
4.5.
Number of Associated Media Streams per SIP Session
4.6.
Session Duration
4.7.
Attempted Sessions per Second
4.8.
Stress Testing
5.
Reporting Format
5.1.
Test setup Report
5.2.
Device Benchmarks for IS
5.3.
Device Benchmarks for NS
6.
Test Cases
6.1.
Session Establisment Rate
6.2.
Session Establishment Rate with Media
6.3.
Session Establishment Rate with Loop Detection Enabled
6.4.
Session Establishment Rate with Forking
6.5.
Session Establishment Rate with Forking and Loop Detection
6.6.
Session Establishment Rate with TLS Encrypted SIP
6.7.
Session Establishment Rate with IPsec Encrypted SIP
6.8.
Session Establishment Rate with SIP Flooding
6.9.
Maximum Registration Rate
6.10.
Maximum IM Rate
6.11.
Session Capacity
6.12.
Session Capacity with Media
7.
IANA Considerations
8.
Security Considerations
9.
Acknowledgments
10.
References
10.1.
Normative References
10.2.
Informative References
§
Authors' Addresses
TOC |
In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in BCP 14, conforming to [RFC2119] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.) and indicate requirement levels for compliant implementations.
Terms specific to SIP [RFC3261] (Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, “SIP: Session Initiation Protocol,” June 2002.) performance benchmarking are defined in [I‑D.sip‑bench‑term] (Poretsky, S., Gurbani, V., and C. Davids, “SIP Performance Benchmarking Terminology,” March 2009.).
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 [RFC2544] (Bradner, S. and J. McQuaid, “Benchmarking Methodology for Network Interconnect Devices,” March 1999.).
TOC |
This document describes the methodology for benchmarking Session Initiation Protocol (SIP) performance as described in Terminology document [I‑D.sip‑bench‑term] (Poretsky, S., Gurbani, V., and C. Davids, “SIP Performance Benchmarking Terminology,” March 2009.). The methodology and terminology are to be used for benchmarking signaling plane performance with varying signaling and media load. Both scale and establishment rate are measured by signaling plane performance.
The SIP Devices to be benchmarked may be a single device under test (DUT) or a system under test (SUT). The DUT is a SIP Server, which may be any [RFC3261] (Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, “SIP: Session Initiation Protocol,” June 2002.) conforming device. The SUT can be any device or group of devices containing RFC 3261 conforming functionality along with Firewall and/or NAT functionality. This enables benchmarks to be obtained and compared for different types of devices 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. SIP Associated Media benchmarks can also be made when testing SUTs.
The test cases covered in this methodology document provide benchmarks metrics of Registration Rate, SIP Session Establishment Rate, Session Capacity, IM Rate, and Presence Rate. These can be benchmarked with or without associated Media. Some cases are also included to cover Forking, Loop detecion, Encrypted SIP, and SIP Flooding. The test topologies that can be used are described in the Test Setup section. Topologies are provided for benchmarking of a DUT or SUT. Benchmarking with Associated Media can be performed when using a SUT.
SIP permits a wide range of configuration options that are also explained in the Test Setup section. Benchmark metrics could possibly be impacted by Associated Media. The selected values for Session Duration and Media Streams Per Session enable benchmark metrics to be benchmarked without Associated Media. Session Setup Rate could possibly be impacted by the selected value for Maximum Sessions Attempted. The benchmark for Session Establishment Rate is measured with a fixed value for maximum Session Attempts.
TOC |
Figures 1 through 5 below provide various topologies to perform the SIP Performance Benchmarking. These figures show the Device Under Test (DUT) to be a single server or a System Under Test (SUT). Test Topology options to include benchmarking with Associated Media require use of a SUT and are shown in Figures 4 and 5.
DUT --------- --------- | | | | | | | | | | SIP | | |Server |<------------->| Tester| | | | | | | | | | | | | --------- ---------
Figure 1: Basic SIP Test Topology |
SUT ------------------------ --------- --------- --------- | | | | | | | | | | | | | | SIP |Fire- | SIP | | | Server|<---------------------->| Tester| | | |Wall | | | | | | | | | | | | | | | --------- --------- ---------
Figure 2: SIP Test Topology with Firewall |
SUT ------------------------ --------- --------- --------- | | | | | | | | | | | | | | SIP | NAT | SIP | | | Server|<---------------------->| Tester| | | | | | | | | | | | | | | | | | | --------- --------- ---------
Figure 3: SIP Test Topology with NAT Device |
SUT ------------------------ --------- --------- --------- | | | | | | | | | | | | | | SIP |Fire- | SIP | | | Server|<---------------------->| Tester| | | |Wall | | | | | | | Media | | | | ---| |---------| | --------- | --------- --------- | Media ^ -------------------------|
Figure 4: SIP Test Topology with Media through Firewall |
SUT ------------------------ --------- --------- --------- | | | | | | | | | | | | | | SIP | NAT | SIP | | | Server|<---------------------->| Tester| | | | | | | | | | | Media | | | | ---| |---------| | --------- | --------- --------- | Media ^ -------------------------|
Figure 5: SIP Test Topology with Media through NAT Device |
TOC |
TOC |
- Discussion:
- Test cases may be performed with any transport protocol supported by SIP. This includes, but is not limited to, SIP TCP, SIP UDP, and TLS. The protocol used for the SIP transport protocol must be reported with benchmarking results.
TOC |
- Discussion:
- The Server is a SIP-speaking device that complies with RFC 3261. The purpose of this document is to benchmark SIP performance, not conformance. Conformance to [RFC3261] (Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, “SIP: Session Initiation Protocol,” June 2002.) is assumed for all tests. The Server may be the DUT or a component of a SUT that includes Firewall and/or NAT functionality. The components of the SUT may be a single physical device or separate devices.
TOC |
- Discussion:
- Some tests may require associated media to be present for each SIP session. The Server is not involved in the forwarding of media. Associated Media can be benchmarked only with a SUT in which the media traverses a Firewall, NAT, or Firewall NAT device. The test topologies to be used when benchmarking SUT performance for Associated Media are shown in Figures 4 and 5, in which the SIP signaling is bidirectional and the Associated Media is unidirectional.
TOC |
- Discussion:
- The test cases specified in this document provide SIP performance independent of the protocol used for the media stream. Any media protocol supported by SIP may be used. This includes, but is not limited to, RTP, RTSP, and SRTP. The protocol used for Associated Media must be reported with benchmarking results.
TOC |
- Discussion:
- Benchmarking results may vary with the number of media streams per SIP session. When benchmarking a SUT for voice, a single media stream is used. When benchmarking a SUT for voice and video, two media streams are used. The number of Associated Media Streams must be reported with benchmarking results.
TOC |
- Discussion:
- SUT performance benchmarks may vary with the duration of SIP sessions. Session Duration must be reported with benchmarking results. A Session Duration of zero seconds indicates transmission of a BYE immediately following successful SIP establishment indicate by receipt of a 200 OK. An infinite Session Duration indicates that a BYE is never transmitted.
TOC |
- Discussion:
- DUT and SUT performance benchmarks may vary with the the rate of attempted sessions offered by the Tester. Attempted Sessions per Second must be reported with benchmarking results.
TOC |
- Discussion:
- The purpose of this document is to benchmark SIP performance, not system stability under stressful conditions such as a high rate of Attempted Sessions per Second.
TOC |
TOC |
SIP Transport Protocol = ___________________________ Session Attempt Rate = _____________________________ IS Media Attempt Rate = ____________________________ Total Sessions Attempted = _________________________ Media Streams Per Session = _______________________ Associated Media Protocol = _______________________ Media Packet Size = _______________________________ Media Offered Load = ______________________________ Media Session Hold Time = _________________________ Establishment Threshold Time = ____________________ Loop Detecting Option = ___________________________ Forking Option = __________________________________
TOC |
Registration Rate = _______________________________ Session Capacity = _________________________________ Session Overload Capacity = ________________________ Session Establishment Rate = ______________________ Session Establishment Performance = ______________ Session Attempt Delay = ___________________________ Session Disconnect Delay = ________________________
TOC |
IM Rate = _______________________________
TOC |
TOC |
- Objective:
- To benchmark the Session Establishment Rate of the DUT/SUT with zero failures.
- Procedure:
- Configure the DUT in the test topology shown in Figure 1 or SUT as shown in Figures 2 or 3.
- Configure Tester for SIP UDP with an Session Attempt Rate = 100 SPS, maximum Session Attempts = 100,000 and Media Streams Per Session=0.
- Start Tester to initiate SIP Session establishment with the DUT.
- Measure Session Attempt Failures and total Established Sessions at the Tester.
- If a Session Attempt Failure is recorded then reduce the Session Attempt Rate configured on the Tester by 50%.
- If no Session Attempt Failure is recorded then increase the Session Attempt Rate configured on the Tester by 50%.
- Repeat steps 3 through 6 until the Session Establishment Rate is obtained and recorded.
- Expected Results:
TOC |
- Objective:
- To benchmark the Session Establishment Rate of the SUT with zero failures when Associated Media is included in the benchmark test.
- Procedure:
- Configure the SUT in the test topology shown in Figure 4 or 5.
- Configure Tester for SIP UDP with an Session Attempt Rate = 100 SPS, maximum Session Attempts = 100,000 and Media Streams Per Session = 1. The rate of offered load for each media stream SHOULD be (eq 1) Offered Load per Media Stream = Throughput / maximum sessions attempted, where Throughput is defined in [RFC2544] (Bradner, S. and J. McQuaid, “Benchmarking Methodology for Network Interconnect Devices,” March 1999.).
- Start Tester to initiate SIP Session establishment with the SUT and transmit media through the SUT to a destination other than the server.
- At the Tester measure Session Attempt Failures, total Established Sessions, and Packet Loss [RFC2544] (Bradner, S. and J. McQuaid, “Benchmarking Methodology for Network Interconnect Devices,” March 1999.) of the media.
- If a Session Attempt Failure or Packet Loss is recorded then reduce the Session Attempt Rate configured on the Tester by 50%.
- If no Session Attempt Failure or Packet Loss is recorded then increase the Session Attempt Rate configured on the Tester by 50%.
- Repeat steps 3 through 6 until the Session Establishment Rate is obtained and recorded.
- Repeat steps 1 through 7 for multimedia in which Media Streams Per Session = 2.
- Expected Results:
- Session Establishment Rate results obtained with Associated Media with any number of media streams per SIP session will be identical to the Session Establishment Rate results obtained without media.
TOC |
- Objective:
- To benchmark the Session Establishment Rate of the DUT/SUT with zero failures when the Loop Detection option is enabled.
- Procedure:
- Configure the DUT in the test topology shown in Figure 1 or SUT as shown in Figures 2 or 3.
- Configure Tester for SIP UDP with an Session Attempt Rate = 100 SPS, maximum Session Attempts = 100,000 and Media Streams Per Session=0.
- Turn on the Loop Detection option in the DUT or SUT.
- Start Tester to initiate SIP Session establishment with the DUT.
- Measure Session Attempt Failures and total Established Sessions at the Tester.
- If a Session Attempt Failure is recorded then reduce the Session Attempt Rate configured on the Tester by 50%.
- If no Session Attempt Failure is recorded then increase the Session Attempt Rate configured on the Tester by 50%.
- Repeat steps 4 through 7 until the Session Establishment Rate is obtained and recorded.
- Expected Results:
TOC |
- Objective:
- To benchmark the Session Establishment Rate of the DUT/SUT with zero failures when the Forking Option is enabled.
- Procedure:
- Configure the DUT in the test topology shown in Figure 1 or SUT as shown in Figures 2 or 3.
- Configure Tester for SIP UDP with an Session Attempt Rate = 100 SPS, maximum Session Attempts = 100,000 and Media Streams Per Session=0.
- Turn on the Forking Option in the DUT or SUT.
- Start Tester to initiate SIP Session establishment with the DUT.
- Measure Session Attempt Failures and total Established Sessions at the Tester.
- If a Session Attempt Failure is recorded then reduce the Session Attempt Rate configured on the Tester by 50%.
- If no Session Attempt Failure is recorded then increase the Session Attempt Rate configured on the Tester by 50%.
- Repeat steps 4 through 7 until the Session Establishment Rate is obtained and recorded.
- Expected Results:
TOC |
- Objective:
- To benchmark the Session Establishment Rate of the DUT/SUT with zero failures when both the Forking and Loop Detection Options are enabled.
- Procedure:
- Configure the DUT in the test topology shown in Figure 1 or SUT as shown in Figures 2 or 3.
- Configure Tester for SIP UDP with an Session Attempt Rate = 100 SPS, maximum Session Attempts = 100,000 and Media Streams Per Session=0.
- Start Tester to initiate SIP Session establishment with the DUT.
- Enable both the Forking and Loop Detection Options on the DUT.
- Measure Session Attempt Failures and total Established Sessions at the Tester.
- If a Session Attempt Failure is recorded then reduce the Session Attempt Rate configured on the Tester by 50%.
- If no Session Attempt Failure is recorded then increase the Session Attempt Rate configured on the Tester by 50%.
- Repeat steps 4 through 7 until the Session Establishment Rate is obtained and recorded.
- Expected Results:
TOC |
- Objective:
- To benchmark the Session Establishment Rate of the DUT/SUT with zero failures when using TLS encrypted SIP.
- Procedure:
- Configure the DUT in the test topology shown in Figure 1 or SUT as shown in Figures 2 or 3.
- Configure Tester for SIP TCP, enable TLS, Session Attempt Rate = 100 SPS, maximum Session Attempts = 100,000 and Media Streams Per Session = 0.
- Start Tester to initiate SIP Session establishment with the DUT.
- Measure Session Attempt Failures and total Established Sessions at the Tester.
- If a Session Attempt Failure is recorded then reduce the Session Attempt Rate configured on the Tester by 50%.
- If no Session Attempt Failure is recorded then increase the Session Attempt Rate configured on the Tester by 50%.
- Repeat steps 3 through 6 until the Session Establishment Rate is obtained and recorded.
- Expected Results:
TOC |
- Objective:
- To benchmark the Session Establishment Rate of the DUT/SUT with zero failures when using IPsec Encryoted SIP.
- Procedure:
- Configure the DUT in the test topology shown in Figure 1 or SUT as shown in Figures 2 or 3.
- Configure Tester for SIP TCP, enable IPSec, Session Attempt Rate = 100 SPS, maximum Session Attempts = 100,000 and Media Streams Per Session = 0.
- Start Tester to initiate SIP Session establishment with the DUT.
- Measure Session Attempt Failures and total Established Sessions at the Tester.
- If a Session Attempt Failure is recorded then reduce the Session Attempt Rate configured on the Tester by 50%.
- If no Session Attempt Failure is recorded then increase the Session Attempt Rate configured on the Tester by 50%.
- Repeat steps 3 through 6 until the Session Establishment Rate is obtained and recorded.
- Expected Results:
TOC |
- Objective:
- To benchmark the Session Establishment Rate of the SUT with zero failures when SIP Flooding is occurring.
- Procedure:
- Configure the DUT in the test topology shown in Figure 1 or the SUT as shown in Figure 2.
- Configure Tester for SIP UDP with an Session Attempt Rate = 100 SPS, maximum Session Attempts = 100,000, Associated Media Streams Per Session = 0, and SIP INVITE Message Flood = 500 per second.
- Start Tester to initiate SIP Session establishment with the SUT and SIP Flood targetted at the Server.
- At the Tester measure Session Attempt Failures, total Established Sessions, and Packet Loss [RFC2544] (Bradner, S. and J. McQuaid, “Benchmarking Methodology for Network Interconnect Devices,” March 1999.) of the media.
- If a Session Attempt Failure or Packet Loss is recorded then reduce the Session Attempt Rate configured on the Tester by 50%.
- If no Session Attempt Failure or Packet Loss is recorded then increase the Session Attempt Rate configured on the Tester by 50%.
- Repeat steps 3 through 6 until the Session Establishment Rate is obtained and recorded.
- Repeat steps 1 through 7 with SIP INVITE Message Flood = 1000 per second.
- Expected Results:
- Session Establishment Rate results obtained with SIP Flooding may be degraded.
TOC |
- Objective:
- To benchmark the maximum registration rate of the SUT with zero failures.
- Procedure:
- Configure the DUT in the test topology shown in Figure 1 or SUT as shown in Figures 2 or 3.
- Configure Tester for SIP UDP with an attempted Registration Rate = 100 SPS and maximum registrations attempted = 100,000.
- At the Tester measure failed registration attempts, total registrations and packet loss.
- If a Failed Registration Attempt or Packet Loss is recorded then reduce the Attempted Registration Rate configured on the Tester by 50%.
- If no Failed Registration or Packet Loss is recorded then increase the Attempted Registration Rate configured on the Tester by 50%.
- Repeat steps 3 through 6 until the Session Establishment Rate is obtained and recorded.
- Expected Results:
TOC |
- Objective:
- To benchmark the maximum IM rate of the SUT with zero failures.
- Procedure:
- Configure the DUT in the test topology shown in Figure 1 or SUT as shown in Figures 2 or 3.
- Configure Tester for SIP UDP with an Attempted IM Rate = 100 SPS, Maximum IM Attempted = 100,000.
- At the Tester measure Failed IM Attempts, Total IM and Packet Loss.
- If a Failed IM Attempt or Packet Loss is recorded then reduce the Attempted IM Rate configured on the Tester by 50%.
- If no Failed IM or Packet Loss is recorded then increase the Attempted IM Rate configured on the Tester by 50%.
- Repeat steps 3 through 6 until the Session Establishment Rate is obtained and recorded.
- Expected Results:
TOC |
- Objective:
- To benchmark the Session Capacity of the SUT with Associated Media.
- Procedure:
- Configure the DUT in the test topology shown in Figure 1 or SUT as shown in Figures 2 or 3.
- Configure Tester for SIP UDP with an Session Attempt Rate = Session Establishment Rate, maximum Session Attempts = 10,000 and Media Streams Per Session = 0.
- Start Tester to initiate SIP Session establishment with the DUT.
- Measure Session Attempt Failures, total Established Sessions, and Packet Loss [RFC2544] (Bradner, S. and J. McQuaid, “Benchmarking Methodology for Network Interconnect Devices,” March 1999.) at the Tester.
- If a Session Attempt Failure or Packet Loss is recorded then reduce the maximum Session Attempts configured on the Tester by 5,000.
- If no Session Attempt Failure or Packet Loss is recorded then increase the maximum Session Attempts configured on the Tester by 10,000.
- Repeat steps 3 through 6 until the Session Capacity is obtained and recorded.
- Repeat steps 1 through 7 for multimedia in which media streams per session = 2.
- Expected Results:
TOC |
- Objective:
- To benchmark the Session Establishment Rate of the DUT/SUT with Associated Media.
- Procedure:
- Configure the DUT in the test topology shown in Figure 1 or SUT as shown in Figures 2 or 3.
- Configure Tester for SIP UDP with a Session Attempt Rate = 100 SPS, Session Duration = 30 sec, maximum Session Attempts = 100,000 and Media Streams Per Session = 1. The rate of offered load for each media stream SHOULD be (eq 1) Offered Load per Media Stream = Throughput / maximum Session Attempts, where Throughput is defined in [RFC2544] (Bradner, S. and J. McQuaid, “Benchmarking Methodology for Network Interconnect Devices,” March 1999.).
- Start Tester to initiate SIP Session establishment with the SUT and transmit media through the SUT to a destination other than the server.
- Measure Session Attempt Failures and total Established Sessions at the Tester.
- If a Session Attempt Failure is recorded then reduce the maximum Session Attempts configured on the Tester by 5,000.
- If no Session Attempt Failure is recorded then increase the maximum Session Attempts configured on the Tester by 10,000.
- Repeat steps 3 through 6 until the Session Capacity is obtained and recorded.
- Expected Results:
- Session establishment rate results obtained with Associated Media with any number of media streams per SIP session will be identical to the Session Capacity results obtained without media.
TOC |
This document does not requires any IANA considerations.
TOC |
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 methodology for benchmarking performance of SIP devices in a lab environment.
TOC |
The authors would like to thank Keith Drage and Daryl Malas for their contributions to this document.
TOC |
TOC |
[RFC2119] | Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML). |
[RFC2544] | Bradner, S. and J. McQuaid, “Benchmarking Methodology for Network Interconnect Devices,” RFC 2544, March 1999 (TXT). |
[I-D.sip-bench-term] | Poretsky, S., Gurbani, V., and C. Davids, “SIP Performance Benchmarking Terminology,” draft-ietf-bmwg-sip-bench-term-00 (work in progress), March 2009 (TXT). |
TOC |
[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 (TXT). |
TOC |
Scott Poretsky | |
Allot Communications | |
67 South Bedford Street, Suite 400 | |
Burlington, MA 08103 | |
USA | |
Phone: | +1 508 309 2179 |
Email: | sporetsky@allot.com |
Vijay K. Gurbani | |
Bell Laboratories, Alcatel-Lucent | |
1960 Lucent Lane | |
Rm 9C-533 | |
Naperville, IL 60566 | |
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 |