This work presents a comprehensive and structured taxonomy of available techniques for managing the handover process in mobility architectures. Representative works from the existing literature have been divided into appropriate categories, based on their ability to support horizontal handovers, vertical handovers and multihoming. We describe approaches designed to work on the current Internet (i.e. IPv4-based networks), as well as those that have been devised for the "future" Internet (e.g. IPv6-based networks and extensions). Quantitative measures and qualitative indicators are also presented and used to evaluate and compare the examined approaches. This critical review provides some valuable guidelines and suggestions for designing and developing mobility architectures, including some practical expedients (e.g. those required in the current Internet environment), aimed to cope with the presence of NAT/firewalls and to provide support to legacy systems and several communication protocols working at the application layer. application level. While throughput remains a major goal of system design, the main concern of mobility architectures is how to best manage situations where a MN changes network. This event is currently referred to as handover (or handoff ).By default, current operating systems installed on smartphones adopt the following strategy for data transmission: one Network Interface Card (NIC) at a time is configured and employed to send data. If a WiFi network is available, the terminal switches to WiFi; otherwise a cellular network is utilized, if the latter is available too. During the handover, communications are interrupted. While the widespread use of current smartphones confirms that in general such a simple approach may be a viable solution, in some cases this strategy has some severe limitations. Just as an example (which is actually a true story), let us consider the case of an employee working in an institution/company composed of several buildings, all covered by a WiFi network (e.g. a researcher in a university campus). Suppose that the researcher is a commuter and, just before leaving for going home, he/she receives an important Voice over IP (VoIP) phone call. Since he needs to leave to take the last train home, he decides to answer the call using his/her mobile phone; today, there are plenty of smartphone apps that offer very efficient VoIP services. At that moment, the device is connected through WiFi, but when he gets out of the building, the WiFi signal is lost and the smartphone automatically switches to 4G without any handover management at the application level, thus experiencing a first communication interruption. While moving, he passes through other buildings (hence, within their WiFi coverage); as a consequence, the smartphone switches back to WiFi (i.e. a second communication interruption occurs), and then back to 4G (i.e. yet another communication interruption) and so on. One might suggest that the employee should turn off the WiFi NIC before leaving, thus using the cellular...