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. Neither the name of the University nor the names of its contributors
13 .\" may be used to endorse or promote products derived from this software
14 .\" without specific prior written permission.
16 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" @(#)0.t 8.1 (Berkeley) 6/10/93
35 Networking Implementation Notes
39 Samuel J. Leffler, William N. Joy, Robert S. Fabry, and Michael J. Karels
41 Computer Systems Research Group
42 Computer Science Division
43 Department of Electrical Engineering and Computer Science
44 University of California, Berkeley
48 * UNIX is a trademark of Bell Laboratories.
50 This report describes the internal structure of the
51 networking facilities developed for the 4.4BSD version
52 of the UNIX* operating system
53 for the VAX\(dg. These facilities
55 \(dg DEC, VAX, DECnet, and UNIBUS are trademarks of
56 Digital Equipment Corporation.
58 are based on several central abstractions which
59 structure the external (user) view of network communication
60 as well as the internal (system) implementation.
62 The report documents the internal structure of the networking system.
63 The ``Berkeley Software Architecture Manual, 4.4BSD Edition'' (PSD:5)
64 provides a description of the user interface to the networking facilities.
74 .\".tl '\\*(LH'\\*(CH'\\*(RH'
78 .OH 'Networking Implementation Notes''SMM:18-%'
79 .EH 'SMM:18-%''Networking Implementation Notes'
82 .B "TABLE OF CONTENTS"
98 .B "4. Internal address representation"
102 .B "5. Memory management"
106 .B "6. Internal layering
109 6.1.2. Socket data queues
110 6.1.3. Socket connection queuing
111 6.2. Protocol layer(s)
112 6.3. Network-interface layer
113 6.3.1. UNIBUS interfaces
117 .B "7. Socket/protocol interface"
121 .B "8. Protocol/protocol interface"
129 .B "9. Protocol/network-interface interface"
130 9.1. Packet transmission
131 9.2. Packet reception
135 .B "10. Gateways and routing issues
137 10.2. Routing table interface
138 10.3. User level routing policies
144 11.2. Input processing
145 11.3. Output processing
149 .B "12. Buffering and congestion control"
150 12.1. Memory management
151 12.2. Protocol buffering policies
153 12.4. Packet forwarding
157 .B "13. Out of band data"
161 .B "14. Trailer protocols"
172 .if t .ta .6i 2.1i 2.6i
173 .\" 2.94 went to 2.6, 3.64 to 3.30
174 .if n .ta .84i 2.6i 3.30i
177 .if t .ta .5i 1.25i 2.5i
178 .\" 3.5i went to 3.8i
179 .if n .ta .7i 1.75i 3.8i