1 .\" Copyright (c) 1983, 1986, 1993
2 .\" The Regents of the University of California. All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\" must display the following acknowledgement:
14 .\" This product includes software developed by the University of
15 .\" California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\" may be used to endorse or promote products derived from this software
18 .\" without specific prior written permission.
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 .\" @(#)0.t 8.1 (Berkeley) 6/10/93
39 Networking Implementation Notes
43 Samuel J. Leffler, William N. Joy, Robert S. Fabry, and Michael J. Karels
45 Computer Systems Research Group
46 Computer Science Division
47 Department of Electrical Engineering and Computer Science
48 University of California, Berkeley
52 * UNIX is a trademark of Bell Laboratories.
54 This report describes the internal structure of the
55 networking facilities developed for the 4.4BSD version
56 of the UNIX* operating system
57 for the VAX\(dg. These facilities
59 \(dg DEC, VAX, DECnet, and UNIBUS are trademarks of
60 Digital Equipment Corporation.
62 are based on several central abstractions which
63 structure the external (user) view of network communication
64 as well as the internal (system) implementation.
66 The report documents the internal structure of the networking system.
67 The ``Berkeley Software Architecture Manual, 4.4BSD Edition'' (PSD:5)
68 provides a description of the user interface to the networking facilities.
78 .\".tl '\\*(LH'\\*(CH'\\*(RH'
82 .OH 'Networking Implementation Notes''SMM:18-%'
83 .EH 'SMM:18-%''Networking Implementation Notes'
86 .B "TABLE OF CONTENTS"
102 .B "4. Internal address representation"
106 .B "5. Memory management"
110 .B "6. Internal layering
113 6.1.2. Socket data queues
114 6.1.3. Socket connection queuing
115 6.2. Protocol layer(s)
116 6.3. Network-interface layer
117 6.3.1. UNIBUS interfaces
121 .B "7. Socket/protocol interface"
125 .B "8. Protocol/protocol interface"
133 .B "9. Protocol/network-interface interface"
134 9.1. Packet transmission
135 9.2. Packet reception
139 .B "10. Gateways and routing issues
141 10.2. Routing table interface
142 10.3. User level routing policies
148 11.2. Input processing
149 11.3. Output processing
153 .B "12. Buffering and congestion control"
154 12.1. Memory management
155 12.2. Protocol buffering policies
157 12.4. Packet forwarding
161 .B "13. Out of band data"
165 .B "14. Trailer protocols"
176 .if t .ta .6i 2.1i 2.6i
177 .\" 2.94 went to 2.6, 3.64 to 3.30
178 .if n .ta .84i 2.6i 3.30i
181 .if t .ta .5i 1.25i 2.5i
182 .\" 3.5i went to 3.8i
183 .if n .ta .7i 1.75i 3.8i