семейства адресов сокетов (домены) (socket address families (domains))
Описание (Description)
The domain argument of the socket(2) specifies a communication
domain; this selects the protocol family which will be used for
communication. These families are defined in <sys/socket.h>.
The formats currently understood by the Linux kernel include:
AF_UNIX
, AF_LOCAL
Local communication For further information, see unix(7).
AF_INET
IPv4 Internet protocols. For further information, see
ip(7).
AF_AX25
Amateur radio AX.25 protocol. For further information,
see ax25
(4).
AF_IPX
IPX - Novell protocols.
AF_APPLETALK
AppleTalk For further information, see ddp(7).
AF_NETROM
AX.25 packet layer protocol. For further information, see
netrom
(4), The Packet Radio Protocols and Linux
⟨https://www.tldp.org/HOWTO/AX25-HOWTO/x61.html⟩ and the
AX.25, NET/ROM, and ROSE network programming chapters of
the Linux Amateur Radio AX.25 HOWTO
⟨https://www.tldp.org/HOWTO/AX25-HOWTO/x2107.html⟩.
AF_BRIDGE
Can't be used for creating sockets; mostly used for bridge
links in rtnetlink(7) protocol commands.
AF_ATMPVC
Access to raw ATM Permanent Virtual Circuits (PVCs). For
further information, see the ATM on Linux HOWTO
⟨https://www.tldp.org/HOWTO/text/ATM-Linux-HOWTO⟩.
AF_X25
ITU-T X.25 / ISO-8208 protocol. For further information,
see x25(7).
AF_INET6
IPv6 Internet protocols. For further information, see
ipv6(7).
AF_ROSE
RATS (Radio Amateur Telecommunications Society) Open
Systems environment (ROSE) AX.25 packet layer protocol.
For further information, see the resources listed for
AF_NETROM
.
AF_DECnet
DECet protocol sockets. See
Documentation/networking/decnet.txt in the Linux kernel
source tree for details.
AF_NETBEUI
Reserved for "802.2LLC project"; never used.
AF_SECURITY
This was a short-lived (between Linux 2.1.30 and
2.1.99pre2) protocol family for firewall upcalls.
AF_KEY
Key management protocol, originally developed for usage
with IPsec (since Linux 2.1.38). This has no relation to
keyctl(2) and the in-kernel key storage facility. See RFC
2367 PF_KEY Key Management API, Version 2
⟨https://tools.ietf.org/html/rfc2367⟩ for details.
AF_NETLINK
Kernel user interface device For further information, see
netlink(7).
AF_PACKET
Low-level packet interface. For further information, see
packet(7).
AF_ECONET
Acorn Econet protocol (removed in Linux 3.5). See the
Econet documentation
⟨http://www.8bs.com/othrdnld/manuals/econet.shtml⟩ for
details.
AF_ATMSVC
Access to ATM Switched Virtual Circuits (SVCs) See the ATM
on Linux HOWTO
⟨https://www.tldp.org/HOWTO/text/ATM-Linux-HOWTO⟩ for
details.
AF_RDS
Reliable Datagram Sockets (RDS) protocol (since Linux
2.6.30). RDS over RDMA has no relation to AF_SMC
or
AF_XDP
. For further information see rds
(7), rds-rdma
(7),
and Documentation/networking/rds.txt in the Linux kernel
source tree.
AF_IRDA
Socket interface over IrDA (moved to staging in Linux
4.14, removed in Linux 4.17). For further information see
irda
(7).
AF_PPPOX
Generic PPP transport layer, for setting up L2 tunnels
(L2TP and PPPoE). See Documentation/networking/l2tp.txt
in the Linux kernel source tree for details.
AF_WANPIPE
Legacy protocol for wide area network (WAN) connectivity
that was used by Sangoma WAN cards (called "WANPIPE");
removed in Linux 2.6.21.
AF_LLC
Logical link control (IEEE 802.2 LLC) protocol, upper part
of data link layer of ISO/OSI networking protocol stack
(since Linux 2.4); has no relation to AF_PACKET
. See
chapter 13.5.3. Logical Link Control in Understanding
Linux Kernel Internals (O'Reilly Media, 2006) and IEEE
Standards for Local Area Networks: Logical Link Control
(The Institute of Electronics and Electronics Engineers,
Inc., New York, New York, 1985) for details. See also
some historical notes
⟨https://wiki.linuxfoundation.org/networking/llc⟩ regarding
its development.
AF_IB
InfiniBand native addressing (since Linux 3.11).
AF_MPLS
Multiprotocol Label Switching (since Linux 4.1); mostly
used for configuring MPLS routing via netlink(7), as it
doesn't expose ability to create sockets to user space.
AF_CAN
Controller Area Network automotive bus protocol (since
Linux 2.6.25). See Documentation/networking/can.rst in
the Linux kernel source tree for details.
AF_TIPC
TIPC, "cluster domain sockets" protocol (since Linux
2.6.16). See TIPC Programmer's Guide
⟨http://tipc.io/programming.html⟩ and the protocol
description ⟨http://tipc.io/protocol.html⟩ for details.
AF_BLUETOOTH
Bluetooth low-level socket protocol (since Linux 3.11).
See Bluetooth Management API overview
⟨https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/mgmt-
api.txt⟩ and An Introduction to Bluetooth Programming by
Albert Huang
⟨https://people.csail.mit.edu/albert/bluez-intro/⟩ for
details.
AF_IUCV
IUCV (inter-user communication vehicle) z/VM protocol for
hypervisor-guest interaction (since Linux 2.6.21); has no
relation to AF_VSOCK
and/or AF_SMC
See IUCV protocol
overview
⟨https://www.ibm.com/support/knowledgecenter/en/SSB27U_6.4.0/com.ibm.zvm.v640.hcpb4/iucv.htm⟩
for details.
AF_RXRPC
Rx, Andrew File System remote procedure call protocol
(since Linux 2.6.22). See
Documentation/networking/rxrpc.txt in the Linux kernel
source tree for details.
AF_ISDN
New "modular ISDN" driver interface protocol (since Linux
2.6.27). See the mISDN wiki
⟨http://www.misdn.eu/wiki/Main_Page/⟩ for details.
AF_PHONET
Nokia cellular modem IPC/RPC interface (since Linux
2.6.31). See Documentation/networking/phonet.txt in the
Linux kernel source tree for details.
AF_IEEE802154
IEEE 802.15.4 WPAN (wireless personal area network) raw
packet protocol (since Linux 2.6.31). See
Documentation/networking/ieee802154.txt in the Linux
kernel source tree for details.
AF_CAIF
Ericsson's Communication CPU to Application CPU interface
(CAIF) protocol (since Linux 2.6.36). See
Documentation/networking/caif/Linux-CAIF.txt in the Linux
kernel source tree for details.
AF_ALG
Interface to kernel crypto API (since Linux 2.6.38). See
Documentation/crypto/userspace-if.rst in the Linux kernel
source tree for details.
AF_VSOCK
VMWare VSockets protocol for hypervisor-guest interaction
(since Linux 3.9); has no relation to AF_IUCV
and AF_SMC
.
For further information, see vsock(7).
AF_KCM
KCM (kernel connection multiplexer) interface (since Linux
4.6). See Documentation/networking/kcm.txt in the Linux
kernel source tree for details.
AF_QIPCRTR
Qualcomm IPC router interface protocol (since Linux 4.7).
AF_SMC
SMC-R (shared memory communications over RDMA) protocol
(since Linux 4.11), and SMC-D (shared memory
communications, direct memory access) protocol for intra-
node z/VM quest interaction (since Linux 4.19); has no
relation to AF_RDS
, AF_IUCV
or AF_VSOCK
. See RFC 7609
IBM's Shared Memory Communications over RDMA (SMC-R)
Protocol ⟨https://tools.ietf.org/html/rfc7609⟩ for details
regarding SMC-R. See SMC-D Reference Information
⟨https://www-01.ibm.com/software/network/commserver/SMC-
D/index.html⟩ for details regarding SMC-D.
AF_XDP
XDP (express data path) interface (since Linux 4.18). See
Documentation/networking/af_xdp.rst in the Linux kernel
source tree for details.