This section describes the details of the protocols and socket naming
conventions used in the Internet namespace.
Originally the Internet namespace used only IP version 4 (IPv4). With
the growing number of hosts on the Internet, a new protocol with a
larger address space was necessary: IP version 6 (IPv6). IPv6
introduces 128-bit addresses (IPv4 has 32-bit addresses) and other
features, and will eventually replace IPv4.
To create a socket in the IPv4 Internet namespace, use the symbolic name
PF_INET of this namespace as the namespace argument to
socket or socketpair. For IPv6 addresses you need the
macro PF_INET6. These macros are defined in sys/socket.h.
— Macro: int PF_INET
This designates the IPv4 Internet namespace and associated family of
protocols.
— Macro: int PF_INET6
This designates the IPv6 Internet namespace and associated family of
protocols.
A socket address for the Internet namespace includes the following components:
You must ensure that the address and port number are represented in a
canonical format called network byte order. See Byte Order,
for information about this.