Protocols, mobility models and tools in opportunistic networks: A survey