Practical Routing in Delay-Tolerant Networks