Abstract
The transport protocol for SIP can be chosen based on the requirements of services and network conditions. How does the choice of TCP affect the scalability and performance compared to UDP? We experimentally analyze the impact of using TCP as a transport protocol for a SIP server. We first investigate scalability of a TCP echo server, then compare performance of a SIP registrar server for two TCP connection lifetimes: transaction and persistent. Our results show that a Linux machine can establish 400,000+ TCP connections and maintaining connections does not affect the transaction response time. This is applicable to other servers with very large TCP connection counts. Additionally, the transaction response times using the two TCP connection lifetimes and UDP show no significant difference at 2,500 registration requests/second in our SIP server implementation. However, sustainable request rate is lower for TCP than for UDP, since using TCP requires more message processing, which causes longer delays at the thread queue for the server implementing a thread-pool model. Finally, we suggest how to reduce the impact of TCP for a scalable SIP server especially under overload control.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., Schooler, E.: SIP: Session Initiation Protocol. RFC 3261, IETF (June 2002)
Stewart, R.: Stream Control Transmission Protocol. RFC 4960, IETF (September 2007)
Lucent-Alcatel. Lucent Technologies new high-capacity switch accelerates cost-effective migration to Internet Protocol networks (news release) (December 2002), http://www.alcatel-lucent.com/
Kegel, D.: The C10K problem (accessed in January 2006), http://www.kegel.com/c10k.html
Libenzi, D.: Improving (network) I/O performance (accessed in January 2006), http://www.xmailserver.org/linux-patches/nio-improve.html
Shemyak, K., Vehmanen, K.: Scalability of TCP Servers. In: Handling Persistent Connections. In: Sixth International Conference on Networking (ICN 2007) (April 2007)
Singh, K., Schulzrinne, H.: Failover and Load Sharing in SIP Telephony. In: International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS) (July 2005)
Welsh, M., Culler, D., Brewer, E.: SEDA: An Architecture for Well-Conditioned, Scalable Internet Services. In: the Eighteenth Symposium on Operating Systems Principles (SOSP-18) (October 2001)
Berners-Lee, T., Fielding, R., Frystyk, H.: Hypertext Transfer Protocol – HTTP/1.0. RFC 1945, IETF (May 1996)
Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., Berners-Lee, T.: Hypertext Transfer Protocol – HTTP/1.1. RFC 2616, IETF (June 1999)
Nielsen, H.F., Gettys, J., Baird-Smith, A., Prud’hommeaux, E., Lie, H., Lilley, C.: Network Performance Effects of HTTP/1.1, CSS1, and PNG. In: ACM SIGCOMM 1997 (September 1997)
Jennings, C., Mahy, R.: Managing Client Initiated Connections in the Session Initiation Protocol(SIP). Internet-draft, IETF (November 2007), http://www.ietf.org/internet-drafts/draft-ietf-sip-outbound-11.txt
Lennox, J., Schulzrinne, H., et al.: Cinema:sipd, http://www.cs.columbia.edu/irt/cinema/doc/sopd.html
Narayanan, S., Yu, A., Kapoor, T., Schulzrinne, H.: Sipstone test suite, http://www.cs.columbia.edu/IRT/cinema/sipstone
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ono, K., Schulzrinne, H. (2008). One Server Per City: Using TCP for Very Large SIP Servers. In: Schulzrinne, H., State, R., Niccolini, S. (eds) Principles, Systems and Applications of IP Telecommunications. Services and Security for Next Generation Networks. IPTComm 2008. Lecture Notes in Computer Science, vol 5310. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89054-6_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-89054-6_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-89053-9
Online ISBN: 978-3-540-89054-6
eBook Packages: Computer ScienceComputer Science (R0)