The 3G/4G mobile network is a wireless infrastructure that offers universal coverage and ubiquitous data and voice services. It is a large-scale, global network system on a par with the Internet. In recent years, the demand for mobile data access grows exponentially. The traffic volume is projected to increase three times by 2018, according to a recent CISCO estimate. The demand will be further accelerated by the increasing popularity of smartphones, tablets, and wearable devices.
However, its control-plane design is much more complex and offers many more utility functions (e.g., mobility support, radio resource control, and device-level security) than its Internet counterpart. They communicate with one another along three dimensions of cross layers, cross (circuit-switched and packet-switched) domains, and cross (3G and 4G) systems. Despite their significance, the correctness verification on their protocols remains largely unexplored.
In this dissertation, we examine control-plane protocol interactions in mobile networks. We propose CNetVerifier, a two-phase signaling diagnosis tool to detect problematic interactions in both design and practice. CNetVerifier first performs protocol screening based on 3GPP standards via domain-specific model checking, and then conducts phone-based empirical validation in operational 3G/4G networks. With CNetVerifier, we have uncovered six types of troublesome interactions, along three dimensions of cross layers, cross domains, and cross systems. Such control-plane issues span both design defects in the 3GPP standards and operational slips by carriers. Some are caused by necessary yet problematic cooperation (i.e., protocol interactions are needed but they misbehave), whereas others are due to independent yet unnecessary coupled operations (i.e., protocols interactions are not required but actually coupled). They all result in performance penalties or functional incorrectness.
We further quantify the real world impact of control-plane protocols from end-user’s perspective. We conduct two empirical studies on three essential mobile network services for mobile users: user mobility support, voice and data services in operational networks. Specifically, we focus on whether the improper control-plane (i.e., mobility support) operations affect the accounting (management-plane) for roaming users’ mobile data access or have negative impacts on both data and voice services.
There are three lessons learnt from our work. First, the current control-plane design in mobile networks does not honor layering structure which has been strictly examined in the Internet community and does not well recognize differences of domains and systems. The problematic control-plane protocol interactions are almost observed anywhere in practice. Coupling unnecessary inter-layer actions leads to longer call setup time or packet delivery latency than usual; Coupling CS and PS services at the shared radio resource state (RRC) may deprive mobile user of 4G network connectivity; Inconsistent regulations for the context shared by two different systems may get mobile users into “out-of-service” state for tens of seconds. Second, the control-plane and management-plane (e.g., data usage accounting) do not cooperate with each other in a coordinated manner. For example, the data usage accounting is not suspended while an inter-system handoff (e.g., 3G→4G) is triggered by the control-plane due to user mobility. The mobile devices cannot receive any packets until the handoff procedure is finished (caused by hardware limitation, e.g., single radio). The roaming users still pay for all packets lost during the handoff procedure. Third, the control-plane does not honor diversity in the demands of voice and data services. The voice service is an essential service (or even the most important service) for carriers. It is always granted higher serving priority than the data service. We discover that the not-well-justified design principle leads to serious performance issues (e.g., up to 83.4% data throughput slumps or Internet applications get aborted) to data service or even have negative impacts (e.g., missed incoming call) on voice service.