|
|
1.1 root 1: .\" Copyright (c) 1985 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: .\" @(#)ns.4f 1.3 (Berkeley) 5/21/86
6: .\"
7: .TH NS 4F "July 30, 1985"
8: .UC 6
9: .SH NAME
10: ns \- Xerox Network Systems(tm) protocol family
11: .SH SYNOPSIS
12: \fBoptions NS\fP
13: .br
14: \fBoptions NSIP\fP
15: .br
16: \fBpseudo-device ns\fP
17: .SH DESCRIPTION
18: .IX "ns device" "" "\fLns\fP \(em Xerox NS protocol family"
19: The NS protocol family is a collection of protocols
20: layered atop the
21: .I Internet Datagram Protocol
22: (IDP) transport layer, and using the Xerox NS address formats.
23: The NS family provides protocol support for the
24: SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET, and SOCK_RAW socket types; the
25: SOCK_RAW interface is a debugging tool, allowing you to trace all packets
26: entering, (or with toggling kernel variable, additionally leaving) the local
27: host.
28: .SH ADDRESSING
29: NS addresses are 12 byte quantities, consisting of a
30: 4 byte Network number, a 6 byte Host number and a 2 byte port number,
31: all stored in network standard format.
32: (on the VAX these are word and byte reversed; on the Sun they are not
33: reversed). The include file
34: .RI < netns/ns.h >
35: defines the NS address as a structure containing unions (for quicker
36: comparisons).
37: .PP
38: Sockets in the Internet protocol family use the following
39: addressing structure:
40: .nf
41:
42: struct sockaddr_ns {
43: short sns_family;
44: struct ns_addr sns_addr;
45: char sns_zero[2];
46: };
47:
48: where an ns_addr is composed as follows:
49:
50: union ns_host {
51: u_char c_host[6];
52: u_short s_host[3];
53: };
54:
55: union ns_net {
56: u_char c_net[4];
57: u_short s_net[2];
58: };
59:
60: struct ns_addr {
61: union ns_net x_net;
62: union ns_host x_host;
63: u_short x_port;
64: };
65:
66: .fi
67: Sockets may be created with an address of all zeroes to effect
68: ``wildcard'' matching on incoming messages.
69: The local port address specified in a
70: .IR bind (2)
71: call is restricted to be greater than NSPORT_RESERVED
72: (=3000, in <netns/ns.h>) unless the creating process is running
73: as the super-user, providing a space of protected port numbers.
74: .SH PROTOCOLS
75: The NS protocol family supported by the operating system
76: is comprised of
77: the Internet Datagram Protocol (IDP)
78: .IR idp (4P),
79: Error Protocol (available through IDP),
80: and
81: Sequenced Packet Protocol (SPP)
82: .IR spp (4P).
83: .LP
84: SPP is used to support the SOCK_STREAM and SOCK_SEQPACKET abstraction,
85: while IDP is used to support the SOCK_DGRAM abstraction.
86: The Error protocol is responded to by the kernel
87: to handle and report errors in protocol processing;
88: it is, however,
89: only accessible to user programs through heroic actions.
90: .SH SEE ALSO
91: intro(3), byteorder(3N), gethostbyname(3N), getnetent(3N),
92: getprotoent(3N), getservent(3N), ns(3N),
93: intro(4N), spp(4P), idp(4P), nsip(4)
94: .br
95: Internet Transport Protocols, Xerox Corporation document XSIS-028112
96: .br
97: An Advanced 4.3BSD Interprocess Communication Tutorial
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.