4.3BSD-UWisc/man/cat4/inet.4f




INET(4F)            UNIX Programmer's Manual             INET(4F)



NAME
     inet - Internet protocol family

SYNOPSIS
     #include <sys/types.h>
     #include <netinet/in.h>

DESCRIPTION
     The Internet protocol family is a collection of protocols
     layered atop the _I_n_t_e_r_n_e_t _P_r_o_t_o_c_o_l (IP) transport layer, and
     utilizing the Internet address format.  The Internet family
     provides protocol support for the SOCK_STREAM, SOCK_DGRAM,
     and SOCK_RAW socket types; the SOCK_RAW interface provides
     access to the IP protocol.

ADDRESSING
     Internet addresses are four byte quantities, stored in net-
     work standard format (on the VAX these are word and byte
     reversed).  The include file <_n_e_t_i_n_e_t/_i_n._h> defines this
     address as a discriminated union.

     Sockets bound to the Internet protocol family utilize the
     following addressing structure,

     struct sockaddr_in {
            short     sin_family;
            u_short   sin_port;
            struct    in_addr sin_addr;
            char      sin_zero[8];
     };

     Sockets may be created with the local address INADDR_ANY to
     effect "wildcard" matching on incoming messages. The address
     in a _c_o_n_n_e_c_t(2) or _s_e_n_d_t_o(2) call may be given as INADDR_ANY
     to mean ``this host.'' The distinguished address
     INADDR_BROADCAST is allowed as a shorthand for the broadcast
     address on the primary network if the first network config-
     ured supports broadcast.

PROTOCOLS
     The Internet protocol family is comprised of the IP tran-
     sport protocol, Internet Control Message Protocol (ICMP),
     Transmission Control Protocol (TCP), and User Datagram Pro-
     tocol (UDP).  TCP is used to support the SOCK_STREAM
     abstraction while UDP is used to support the SOCK_DGRAM
     abstraction.  A raw interface to IP is available by creating
     an Internet socket of type SOCK_RAW.  The ICMP message pro-
     tocol is accessible from a raw socket.

     The 32-bit Internet address contains both network and host
     parts.  It is frequency-encoded; the most-significant bit is
     clear in Class A addresses, in which the high-order 8 bits



Printed 12/27/86          June 1, 1986                          1






INET(4F)            UNIX Programmer's Manual             INET(4F)



     are the network number.  Class B addresses use the high-
     order 16 bits as the network field, and Class C addresses
     have a 24-bit network part.  Sites with a cluster of local
     networks and a connection to the DARPA Internet may chose to
     use a single network number for the cluster; this is done by
     using subnet addressing.  The local (host) portion of the
     address is further subdivided into subnet and host parts.
     Within a subnet, each subnet appears to be an individual
     network; externally, the entire cluster appears to be a sin-
     gle, uniform network requiring only a single routing entry.
     Subnet addressing is enabled and examined by the following
     _i_o_c_t_l(2) commands on a datagram socket in the Internet
     domain; they have the same form as the SIOCIFADDR command
     (see _i_n_t_r_o(4N)).

     SIOCSIFNETMASK      Set interface network mask.  The network
                         mask defines the network part of the
                         address; if it contains more of the
                         address than the address type would
                         indicate, then subnets are in use.

     SIOCGIFNETMASK      Get interface network mask.

SEE ALSO
     ioctl(2), socket(2), intro(4N), tcp(4P), udp(4P), ip(4P),
     icmp(4P)

     An Introductory 4.3BSD Interprocess Communication Tutorial
     (PS1:7).

     An Advanced 4.3BSD Interprocess Communication Tutorial
     (PS1:8).

CAVEAT
     The Internet protocol support is subject to change as the
     Internet protocols develop.  Users should not depend on
     details of the current implementation, but rather the ser-
     vices exported.

















Printed 12/27/86          June 1, 1986                          2