Being a system programming language, the Rust Standard Library has support for interacting with the network stack. All the networking-related functionality is located in the std::net namespace; reading and writing to sockets also uses Read and Write traits from std::io. Some of the most important structures here are IpAddr, which represents a generic IP address that can either be v4 or v6, SocketAddr, which represents a generic socket address (a combination of an IP and a port on a host), TcpListener and TcpStream for communicating over TCP, UdpSocket for UDP, and more. Currently, the standard library does not provide any APIs to deal with the network stack at a lower level. While this might change in the future, a number of crates fill that gap. The most important of these is libpnet, which provides a set of APIs for lower-level networking.
Some other important...