Implemented On-demand Routing (ODR) protocol using OSI Layer 2 sockets (PF_PACKET) and UNIX domain sockets. Designed Client and Server applications that communicate with underlying ODR using UNIX domain sockets to exchange messages.