Designing Efficient Routing Protocols in Delay Tolerant Networks