Hands-on network communication - understanding IP, UDP, TCP and their application network communication