|
|
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.