Recently there has been much research activity in the emerging area of intermittently connected ad hoc networks and delay/disruption tolerant networks (DTN). There are different types of DTNs, depending on the nature of the network environment. Routing in DTNs is one of the key components in the DTN architecture. Therefore, in the last few years researchers have proposed different routing protocols for different types of DTNs. In this article we capture the state of the art in routing protocols in DTNs. We categorize these routing protocols based on information used. For deterministic time evolving networks, three main approaches are discussed: the tree approach, the space and time approach, and the modified shortest path approach. For stochastic time evolving networks, the following approaches are discussed: the epidemic or random forwarding approach, predication or history based approach (including per contact routing based on one hop information only and per contact routing based on average end to end information), the model based routing approach, as well as approaches that control the movement of certain special nodes. Recent developments in erasure coding and network coding applied to DTNs are also discussed. The article also identifies open research issues and intends to motivate new research and development in this area.