The BSD Socket API for Simulator: Running Untouched Real World Applications on Network Simulator