Download File
Total Page:16
File Type:pdf, Size:1020Kb
Scaling up VoIP: Transport Protocols and Controlling Unwanted Communication Requests Kumiko Ono Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Graduate School of Arts and Sciences COLUMBIA UNIVERSITY 2012 c 2012 Kumiko Ono All Rights Reserved ABSTRACT Scaling up VoIP: Transport Protocols and Controlling Unwanted Communication Requests Kumiko Ono Millions of people worldwide use voice over IP (VoIP) services not only as cost-effective alternatives to long distance and international calls but also as unified communication tools, such as video conferencing. Owing to the low cost of new user accounts, each person can easily obtain multiple accounts for various purposes. Rich VoIP functions combined with the low cost of new accounts and connections attract many people, resulting in a dramatic increase in the number of active user accounts. Internet telephony service providers (ITSPs), therefore, need to deploy VoIP systems to accommodate this growing demand for VoIP user accounts. Attracted people also include bad actors who make calls that are unwanted to callees. Once ITSPs openly connect with each other, unwanted bulk calls will be at least as serious a problem as email spam. This dissertation studies how we can reduce load both on ITSPs and end users to ensure continuing the success of VoIP services. From ITSPs' perspective, the scalability of VoIP servers is of importance and concern. Scalability depends on server implementation and the transport protocol for SIP, VoIP sig- naling. We conduct experiments to understand the impact of connection-oriented transport protocols, namely, TCP and SCTP, because of the additional costs of handling connec- tions. Contradicting the negative perception of connection-oriented transport protocols, our experimental results demonstrate that the TCP implementation in Linux can maintain comparable capacity to UDP, which is a lightweight connection-less transport protocol. The use of SCTP, on the other hand, requires improving the Linux implementation since the not-well-tested implementation makes a server less scalable. We establish the maximum number of concurrent TCP or SCTP connections as baseline data and suggest better server configurations to minimize the negative impact of handling a large number of connections. Thus, our experimental analysis will also contribute to the design of other servers with a very large number of TCP or SCTP connections. From the perspective of end users, controlling unwanted calls is vital to preserving the VoIP service utility and value. Prior work on preventing unwanted email or calls has mainly focused on detecting unwanted communication requests, leaving many messages or calls unlabeled since false positives during filtering are unacceptable. Unlike prior work, we explore approaches to identifying a \good" call based on signaling messages rather than content. This is because content-based filtering cannot prevent call spam from disturbing callees since a ringing tone interrupts them before content is sent. Our first approach uses \cross-media relations." Calls are unlikely to be unwanted if two parties have previously communicated with each other through other communication means. Specifically, we propose two mechanisms using cross-media relations. For the first mechanism, a potential caller offers her contact addresses which might be used in future calls to the callee. For the second mechanism, a callee provides a potential caller with weak secret for future use. When the caller makes a call, she conveys the information to be identified as someone the callee contacted before through other means. Our prototype illustrates how these mechanisms work in Web-then-call and email-then-call scenarios. In addition, our user study of received email messages, calls, SMS messages demonstrates the potential effectiveness of this idea. Another approach uses caller's attributes, such as organizational affiliation, in the case where two parties have had no prior contact. We introduce a lightweight mechanism for validating user attributes with privacy-awareness and moderate security. Unlike existing mechanisms of asserting user attributes, we design to allow the caller to claim her attributes to callees without needing to prove her identity or her public key. To strike the proper balance between the ease of service deployment and security, our proposed mechanism relies on transitive trust, through an attribute validation server, established over transport layer security. This mechanism uses an attribute reference ID, which limits the lifetime and restricts relying parties. Our prototype demonstrates the simplicity of our concept and the possibility of practical use. Table of Contents 1 Introduction1 1.1 The Need for Reducing Load on SIP Servers: Understanding the Impact of Transport Protocols for SIP...........................3 1.2 The Need for Reducing Load on Callees: Controlling Unwanted Calls....5 1.3 Thesis Outline and Contributions........................7 I The Impact of Transport Protocols on Large-Scale SIP Servers9 2 Background and Related Work 10 2.1 Introduction.................................... 10 2.2 SIP Specification of Transport Protocols.................... 10 2.3 SIP Implementation and Deployment of Transport Protocols........ 11 2.4 TCP and SCTP Features Affecting Server Performance........... 12 2.4.1 Connection Orientation......................... 12 2.4.2 One-to-Many Sockets for SCTP..................... 13 2.4.3 Message Orientation in SCTP...................... 16 2.5 SIP Servers.................................... 16 2.5.1 Service Architecture........................... 16 2.5.2 Long Connection Lifetime........................ 18 2.6 Capacity Requirements for a SIP Server.................... 19 2.7 Components Affecting Server Performance................... 22 2.8 Scalable Servers Using TCP........................... 23 i 2.9 SIP Server Performance............................. 24 3 Understanding the Impact of Using TCP and SCTP on Echo Server Scal- ability 27 3.1 Introduction.................................... 27 3.2 Measurement Goals and Metrics........................ 28 3.3 Experimental Setup............................... 28 3.3.1 Server Under Test............................ 28 3.3.2 Echo Clients............................... 29 3.4 Measurement Results Using TCP........................ 30 3.4.1 The Maximum Number of Concurrent Connections.......... 30 3.4.2 The Cost of Establishing and Maintaining TCP Connections.... 32 3.5 Measurement Results Using SCTP....................... 35 3.5.1 The Maximum Number of Concurrent Connections and the Effect of One-to-Many Sockets.......................... 35 3.5.2 Data Transfer Latency and the Effect of One-to-Many Sockets... 38 3.5.3 The Effect of Piggyback Setup..................... 39 3.6 Conclusion.................................... 41 4 Understanding the Impact of Using TCP and SCTP on SIP Server Scal- ability 44 4.1 Introduction.................................... 44 4.2 Measurement Goals and Metrics........................ 45 4.3 Experimental Setup............................... 46 4.3.1 Servers Under Test............................ 46 4.3.2 User Clients................................ 46 4.4 Measurement Results Using TCP........................ 46 4.4.1 The Impact of Using TCP on SIP Operations............. 46 4.5 Measurement Results Using SCTP....................... 51 4.5.1 Data Transfer Latency and the Effect of Message Orientation.... 51 ii 4.6 Applicability of SIP Registrar Measurements for Estimating the Impact of Using TCP or SCTP on a SIP Proxy Server.................. 53 4.7 Conclusion.................................... 55 5 Guidelines on Transport Protocols 56 5.1 Implementation Guidelines........................... 56 5.2 Transport Protocol Design Guidelines..................... 57 II Controlling Unwanted Communication Requests 58 6 Definitions, Background, and Related Work 59 6.1 Introduction.................................... 59 6.2 Definitions..................................... 60 6.3 Ways People Trust Each Other......................... 62 6.3.1 Trust Relationships Based on Direct Interactions........... 62 6.3.2 Trust Relationships without Direct Interactions............ 63 6.4 Good Calls or Messages............................. 67 6.5 Preventing Unwanted Communication Requests: Calls and Email...... 69 6.5.1 Detecting Unwanted Email or Calls.................. 72 6.5.2 Identifying Good Email Messages or Calls............... 76 6.6 Limited Availability of Caller ID Authentication to Callees......... 80 6.6.1 Overview of Caller ID.......................... 80 6.6.2 Anonymous Caller ID services...................... 81 6.6.3 Limitations of Caller ID Authentication Mechanisms......... 81 6.7 Limitations of Caller-ID-based Filtering.................... 82 6.8 Limitations on the Use of Caller ID as a Caller's Attribute......... 83 7 Using Cross-Media Relations to Identify Good Communication Requests 87 7.1 Introduction.................................... 87 7.2 Hypotheses.................................... 88 iii 7.3 Cross-Media Relations.............................. 88 7.4 Service Architecture............................... 89 7.5 Collecting Contact Addresses of Potential Callers............... 91 7.5.1 Scenario 1: Web-then-Call Relations.................. 91 7.5.2 Scenario 2: Email-then-Call Relations................. 94 7.6 Sharing a Weak Secret Generated by Callee.................. 95 7.6.1 Scenario 1: Web-then-Call Relations.................