  Advances in Micro-Electro-Mechanical Systems (MEMS) have revolutionized the
digital age to a point where animate and inanimate objects can be used as a
communication channel. In addition, the ubiquity of mobile phones with
increasing capabilities and ample resources means people are now effectively
mobile sensors that can be used to sense the environment as well as data
carriers. These objects, along with their devices, form a new kind of networks
that are characterized by frequent disconnections, resource constraints and
unpredictable or stochastic mobility patterns. A key underpinning in these
networks is routing or data dissemination protocols that are designed
specifically to handle the aforementioned characteristics. Therefore, there is
a need to review state-of-the-art routing protocols, categorize them, and
compare and contrast their approaches in terms of delivery rate, resource
consumption and end-to-end delay. To this end, this paper reviews 63 unicast,
multicast and coding-based routing protocols that are designed specifically to
run in delay tolerant or challenged networks. We provide an extensive
qualitative comparison of all protocols, highlight their experimental setup and
outline their deficiencies in terms of design and research methodology. Apart
from that, we review research that aims to exploit studies on social networks
and epidemiology in order to improve routing protocol performance. Lastly, we
provide a list of future research directions.
