1. A computer-implemented networking system, comprising: a computing device having a processor for executing computer-executable components stored in memory, the computer-executable components including: a management component for creating and managing a peer-to-peer (P2P) graph that overlays a private local area network which includes the computing device and a mobile device, the management component publishing name records of the computing device and the mobile device in the P2P graph to enable discovery of the computing device and the mobile device for P2P communications between nodes of the P2P graph, the management component including a local name resolver for resolving name records in the P2P graph, the local name resolver maintaining a list of peer identifiers, IP addresses, and name records published by the nodes of the P2P graph; and an interface component for exposing the P2P graph to a public node of a public network as a virtual network interface card configured by the management component to: receive packets from the public node of the public network, forward packets comprising name resolution requests to the management component for server-less name resolution of the name resolution requests by the local name resolver, and forward packets intended for a destination node of the P2P graph to the management component for routing the packets intended for the destination node of the P2P graph as P2P messages through the nodes of the P2P graph using the peer identifiers for enabling communication between the public node of the public network and the destination node of the P2P graph when an IP address of the mobile device changes.