One of the most engaging challenges for mobile operators today is how to manage the exponential data traffic increase. Mobile data offloading stands out as a promising and low cost solution to reduce the burden on the cellular network. To make this possible, we need a new hybrid network paradigm that leverages the existence of multiple alternative communication channels. This entails significant modifications in the way data is handled, affecting also the behavior of network protocols. In this paper, we present a comprehensive survey of data offloading techniques in cellular networks and extract the main requirements needed to integrate data offloading capabilities into today's mobile networks. We classify existing strategies into two main categories, according to their requirements in terms of content delivery guarantees: delayed and non-delayed offloading. We overview the technical aspects and discuss the state of the art in each category. Finally, we describe in detail the novel functionalities needed to implement mobile data offloading in the access network, as well as current and future research challenges in the field, with an eye toward the design of hybrid architectures.