Implemented On-demand Routing (ODR) protocol, a simplified version of the AODV protocol, using OSI Layer 2 sockets (PF_PACKET) and UNIX domain sockets in a simulated virtual environment. Designed Client and Server applications that use UNIX domain sockets to communicate with underlying ODR in order to exchange messages between them.