|
|
1.1 root 1: .\" Copyright (c) 1983 Regents of the University of California.
2: .\" All rights reserved. The Berkeley software License Agreement
3: .\" specifies the terms and conditions for redistribution.
4: .\"
5: .\" @(#)inet.4f 6.3 (Berkeley) 6/1/86
6: .\"
7: .TH INET 4F "June 1, 1986"
8: .UC 5
9: .SH NAME
10: inet \- Internet protocol family
11: .SH SYNOPSIS
12: .B #include <sys/types.h>
13: .br
14: .B #include <netinet/in.h>
15: .SH DESCRIPTION
16: .de _d
17: .if t .ta .6i 2.1i 2.6i
18: .\" 2.94 went to 2.6, 3.64 to 3.30
19: .if n .ta .84i 2.6i 3.30i
20: ..
21: .de _f
22: .if t .ta .5i 1.25i 2.5i
23: .\" 3.5i went to 3.8i
24: .if n .ta .7i 1.75i 3.8i
25: ..
26: The Internet protocol family is a collection of protocols
27: layered atop the
28: .I Internet Protocol
29: (IP) transport layer, and utilizing the Internet address format.
30: The Internet family provides protocol support for the
31: SOCK_STREAM, SOCK_DGRAM, and SOCK_RAW socket types; the
32: SOCK_RAW interface provides access to the IP protocol.
33: .SH ADDRESSING
34: Internet addresses are four byte quantities, stored in
35: network standard format (on the VAX these are word and byte
36: reversed). The include file
37: .RI < netinet/in.h >
38: defines this address
39: as a discriminated union.
40: .PP
41: Sockets bound to the Internet protocol family utilize
42: the following addressing structure,
43: .sp 1
44: .nf
45: ._f
46: struct sockaddr_in {
47: short sin_family;
48: u_short sin_port;
49: struct in_addr sin_addr;
50: char sin_zero[8];
51: };
52: .sp 1
53: .fi
54: Sockets may be created with the local address INADDR_ANY
55: to effect \*(lqwildcard\*(rq matching on incoming messages.
56: The address in a
57: .IR connect (2)
58: or
59: .IR sendto (2)
60: call may be given as INADDR_ANY to mean ``this host.''
61: The distinguished address INADDR_BROADCAST
62: is allowed as a shorthand for the broadcast address on the primary
63: network if the first network configured supports broadcast.
64: .SH PROTOCOLS
65: The Internet protocol family is comprised of
66: the IP transport protocol, Internet Control
67: Message Protocol (ICMP), Transmission Control
68: Protocol (TCP), and User Datagram Protocol (UDP).
69: TCP is used to support the SOCK_STREAM
70: abstraction while UDP is used to support the SOCK_DGRAM
71: abstraction. A raw interface to IP is available
72: by creating an Internet socket of type SOCK_RAW.
73: The ICMP message protocol is accessible from a raw socket.
74: .PP
75: The 32-bit Internet address contains both network and host parts.
76: It is frequency-encoded; the most-significant bit is clear
77: in Class A addresses, in which the high-order 8 bits are the network
78: number.
79: Class B addresses use the high-order 16 bits as the network field,
80: and Class C addresses have a 24-bit network part.
81: Sites with a cluster of local networks and a connection to the DARPA
82: Internet may chose to use a single network number for the cluster;
83: this is done by using subnet addressing.
84: The local (host) portion of the address is further subdivided
85: into subnet and host parts.
86: Within a subnet, each subnet appears to be an individual network;
87: externally, the entire cluster appears to be a single, uniform
88: network requiring only a single routing entry.
89: Subnet addressing is enabled and examined by the following
90: .IR ioctl (2)
91: commands on a datagram socket in the Internet domain;
92: they have the same form as the
93: SIOCIFADDR command (see
94: .IR intro (4N)).
95: .PP
96: .TP 20
97: SIOCSIFNETMASK
98: Set interface network mask.
99: The network mask defines the network part of the address;
100: if it contains more of the address than the address type would indicate,
101: then subnets are in use.
102: .TP 20
103: SIOCGIFNETMASK
104: Get interface network mask.
105: .SH SEE ALSO
106: ioctl(2), socket(2), intro(4N), tcp(4P), udp(4P), ip(4P), icmp(4P)
107: .PP
108: An Introductory 4.3BSD Interprocess Communication Tutorial (PS1:7).
109: .PP
110: An Advanced 4.3BSD Interprocess Communication Tutorial (PS1:8).
111: .SH CAVEAT
112: The Internet protocol support is subject to change as
113: the Internet protocols develop. Users should not depend
114: on details of the current implementation, but rather
115: the services exported.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.