|
|
1.1 root 1: .\" Copyright (c) 1983, 1986 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
4: .\" Redistribution and use in source and binary forms are permitted
5: .\" provided that the above copyright notice and this paragraph are
6: .\" duplicated in all such forms and that any documentation,
7: .\" advertising materials, and other materials related to such
8: .\" distribution and use acknowledge that the software was developed
9: .\" by the University of California, Berkeley. The name of the
10: .\" University may not be used to endorse or promote products derived
11: .\" from this software without specific prior written permission.
12: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
13: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
14: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
15: .\"
16: .\" @(#)0.t 6.4 (Berkeley) 3/7/89
17: .\"
18: .if n .ND
19: .TL
20: Networking Implementation Notes
21: .br
22: 4.3BSD Edition
23: .AU
24: Samuel J. Leffler, William N. Joy, Robert S. Fabry, and Michael J. Karels
25: .AI
26: Computer Systems Research Group
27: Computer Science Division
28: Department of Electrical Engineering and Computer Science
29: University of California, Berkeley
30: Berkeley, CA 94720
31: .AB
32: .FS
33: * UNIX is a trademark of Bell Laboratories.
34: .FE
35: This report describes the internal structure of the
36: networking facilities developed for the 4.3BSD version
37: of the UNIX* operating system
38: for the VAX\(dg. These facilities
39: .FS
40: \(dg DEC, VAX, DECnet, and UNIBUS are trademarks of
41: Digital Equipment Corporation.
42: .FE
43: are based on several central abstractions which
44: structure the external (user) view of network communication
45: as well as the internal (system) implementation.
46: .PP
47: The report documents the internal structure of the networking system.
48: The ``Berkeley Software Architecture Manual, 4.3BSD Edition'' (PS1:6)
49: provides a description of the user interface to the networking facilities.
50: .sp
51: .LP
52: Revised March 7, 1989
53: .AE
54: .LP
55: .\".de PT
56: .\".lt \\n(LLu
57: .\".pc %
58: .\".nr PN \\n%
59: .\".tl '\\*(LH'\\*(CH'\\*(RH'
60: .\".lt \\n(.lu
61: .\"..
62: .\".ds RH Contents
63: .OH 'Networking Implementation Notes''SMM:15-%'
64: .EH 'SMM:15-%''Networking Implementation Notes'
65: .bp
66: .ce
67: .B "TABLE OF CONTENTS"
68: .LP
69: .sp 1
70: .nf
71: .B "1. Introduction"
72: .LP
73: .sp .5v
74: .nf
75: .B "2. Overview"
76: .LP
77: .sp .5v
78: .nf
79: .B "3. Goals
80: .LP
81: .sp .5v
82: .nf
83: .B "4. Internal address representation"
84: .LP
85: .sp .5v
86: .nf
87: .B "5. Memory management"
88: .LP
89: .sp .5v
90: .nf
91: .B "6. Internal layering
92: 6.1. Socket layer
93: 6.1.1. Socket state
94: 6.1.2. Socket data queues
95: 6.1.3. Socket connection queuing
96: 6.2. Protocol layer(s)
97: 6.3. Network-interface layer
98: 6.3.1. UNIBUS interfaces
99: .LP
100: .sp .5v
101: .nf
102: .B "7. Socket/protocol interface"
103: .LP
104: .sp .5v
105: .nf
106: .B "8. Protocol/protocol interface"
107: 8.1. pr_output
108: 8.2. pr_input
109: 8.3. pr_ctlinput
110: 8.4. pr_ctloutput
111: .LP
112: .sp .5v
113: .nf
114: .B "9. Protocol/network-interface interface"
115: 9.1. Packet transmission
116: 9.2. Packet reception
117: .LP
118: .sp .5v
119: .nf
120: .B "10. Gateways and routing issues
121: 10.1. Routing tables
122: 10.2. Routing table interface
123: 10.3. User level routing policies
124: .LP
125: .sp .5v
126: .nf
127: .B "11. Raw sockets"
128: 11.1. Control blocks
129: 11.2. Input processing
130: 11.3. Output processing
131: .LP
132: .sp .5v
133: .nf
134: .B "12. Buffering and congestion control"
135: 12.1. Memory management
136: 12.2. Protocol buffering policies
137: 12.3. Queue limiting
138: 12.4. Packet forwarding
139: .LP
140: .sp .5v
141: .nf
142: .B "13. Out of band data"
143: .LP
144: .sp .5v
145: .nf
146: .B "14. Trailer protocols"
147: .LP
148: .sp .5v
149: .nf
150: .B Acknowledgements
151: .LP
152: .sp .5v
153: .nf
154: .B References
155: .bp
156: .de _d
157: .if t .ta .6i 2.1i 2.6i
158: .\" 2.94 went to 2.6, 3.64 to 3.30
159: .if n .ta .84i 2.6i 3.30i
160: ..
161: .de _f
162: .if t .ta .5i 1.25i 2.5i
163: .\" 3.5i went to 3.8i
164: .if n .ta .7i 1.75i 3.8i
165: ..
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.