1 .\" $NetBSD: 0.t,v 1.2 1998/01/09 06:55:40 perry Exp $
3 .\" Copyright (c) 1983, 1986, 1993
4 .\" The Regents of the University of California. All rights reserved.
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\" notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\" notice, this list of conditions and the following disclaimer in the
13 .\" documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\" may be used to endorse or promote products derived from this software
16 .\" without specific prior written permission.
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" @(#)0.t 8.1 (Berkeley) 6/10/93
37 Networking Implementation Notes
41 Samuel J. Leffler, William N. Joy, Robert S. Fabry, and Michael J. Karels
43 Computer Systems Research Group
44 Computer Science Division
45 Department of Electrical Engineering and Computer Science
46 University of California, Berkeley
50 * UNIX is a trademark of Bell Laboratories.
52 This report describes the internal structure of the
53 networking facilities developed for the 4.4BSD version
54 of the UNIX* operating system
55 for the VAX\(dg. These facilities
57 \(dg DEC, VAX, DECnet, and UNIBUS are trademarks of
58 Digital Equipment Corporation.
60 are based on several central abstractions which
61 structure the external (user) view of network communication
62 as well as the internal (system) implementation.
64 The report documents the internal structure of the networking system.
65 The ``Berkeley Software Architecture Manual, 4.4BSD Edition'' (PSD:5)
66 provides a description of the user interface to the networking facilities.
76 .\".tl '\\*(LH'\\*(CH'\\*(RH'
80 .OH 'Networking Implementation Notes''SMM:18-%'
81 .EH 'SMM:18-%''Networking Implementation Notes'
84 .B "TABLE OF CONTENTS"
100 .B "4. Internal address representation"
104 .B "5. Memory management"
108 .B "6. Internal layering
111 6.1.2. Socket data queues
112 6.1.3. Socket connection queuing
113 6.2. Protocol layer(s)
114 6.3. Network-interface layer
115 6.3.1. UNIBUS interfaces
119 .B "7. Socket/protocol interface"
123 .B "8. Protocol/protocol interface"
131 .B "9. Protocol/network-interface interface"
132 9.1. Packet transmission
133 9.2. Packet reception
137 .B "10. Gateways and routing issues
139 10.2. Routing table interface
140 10.3. User level routing policies
146 11.2. Input processing
147 11.3. Output processing
151 .B "12. Buffering and congestion control"
152 12.1. Memory management
153 12.2. Protocol buffering policies
155 12.4. Packet forwarding
159 .B "13. Out of band data"
163 .B "14. Trailer protocols"
174 .if t .ta .6i 2.1i 2.6i
175 .\" 2.94 went to 2.6, 3.64 to 3.30
176 .if n .ta .84i 2.6i 3.30i
179 .if t .ta .5i 1.25i 2.5i
180 .\" 3.5i went to 3.8i
181 .if n .ta .7i 1.75i 3.8i