Docker networking was previously handled by Docker Engine and libcontainer, but is now managed by libnetwork, a standalone library. Libnetwork aims to modularize networking logic and provide a pluggable driver-based model. It defines components like networks, endpoints, and sandboxes and provides RESTful APIs. Common drivers include bridge and overlay drivers.