Path: utzoo!mnetor!uunet!mcvax!botter!star!...@cs.vu.nl
From: a...@cs.vu.nl (Andy Tanenbaum)
Newsgroups: comp.os.minix
Subject: Computer Networks book/MINIX 1.3
Message-ID: <708@ast.cs.vu.nl>
Date: 9 May 88 15:49:55 GMT
Sender: a...@cs.vu.nl
Reply-To: a...@cs.vu.nl (Andy Tanenbaum)
Organization: VU Informatica, Amsterdam
Lines: 339

I have finally finished revising my book: Computer Networks.  Since more than
half the material is completely new, it is almost a new book rather than a
traditional second edition.  Many people have asked me what is going to be in
it, when it is coming out, etc.  Rather than trying to answer individually,
I hope this posting will get to most of them.  

The book will be published by Prentice-Hall on July 25, 1988.  There will also
be a so-called "low priced" paperback version in Europe, Africa and Asia 
shortly thereafter.  If anyone starts up another discussion about how much 
books cost in Germany, I'll start a discussion on how much PDP-11 MMUs cost 
in Holland, thus combining two topics that have proved popular in the past.

Rather than try to explain what is in the book, I have just included the
table of contents below.  That should give you a pretty good idea.  It is
probably easier to order the book from a bookstore than from Prentice-Hall
directly.  In any event, their track record for delivering books on time is
much better than for software.  They actually understand books.

Now that I am through with this project, I can start putting together the
MINIX 1.3 distribution.  I will discuss that in separate messages shortly.
Keep tuned.

Andy Tanenbaum (a...@cs.vu.nl)


------------------ Table of Contents: Computer Networks, 2nd ed. ------------

CHAPTER 1 - INTRODUCTION 
    1.1 THE USES OF COMPUTER NETWORKS 3
	1.1.1   Network Goals 3
	1.1.2   Applications of Networks 4
    1.2 NETWORK STRUCTURE 6
    1.3 NETWORK ARCHITECTURES 9
	1.3.1   Protocol Hierarchies 9
	1.3.2   Design Issues for the Layers 13
    1.4 THE OSI REFERENCE MODEL 14
	1.4.1   The Physical Layer 15
	1.4.2   The Data Link Layer 16
	1.4.3   The Network Layer 16
	1.4.4   The Transport Layer 17
	1.4.5   The Session Layer 18
	1.4.6   The Presentation Layer 18
	1.4.7   The Application Layer 19
	1.4.8   Data Transmission in the OSI Model 19
    1.5 SERVICES 21
	1.5.1   OSI Terminology 21
	1.5.2   Connection-Oriented and Connectionless Services 22
	1.5.3   Service Primitives 24
	1.5.4   The Relationship of Services to Protocols 26
    1.6 NETWORK STANDARDIZATION 27
	1.6.1   Who's Who in the Telecommunication World 28
	1.6.2   Who's Who in the Standards World 29
	1.6.3   Discussion of the Standardization of the OSI model 30
    1.7 EXAMPLE NETWORKS 32
	1.7.1   Public Networks 32
	1.7.2   The ARPANET 35
	1.7.3   MAP and TOP 36
	1.7.4   USENET 40
	1.7.5   CSNET 41
	1.7.6   BITNET 42
	1.7.7   SNA 43
    1.8 OUTLINE OF THE REST OF THE BOOK 47
    1.9 SUMMARY 48

CHAPTER 2 - THE PHYSICAL LAYER 
    2.1 THE THEORETICAL BASIS FOR DATA COMMUNICATION 52
	2.1.1   Fourier Analysis 52
	2.1.2   Bandwidth-Limited Signals 53
	2.1.3   The Maximum Data Rate of a Channel 56
    2.2 TRANSMISSION MEDIA 57
	2.2.1   Magnetic Media 57
	2.2.2   Twisted Pair 57
	2.2.3   Baseband Coaxial Cable 58
	2.2.4   Broadband Coaxial Cable 59
	2.2.5   Fiber Optics 62
	2.2.6   Line-of-Sight Transmission 65
	2.2.7   Communication Satellites 66
    2.3 ANALOG TRANSMISSION 70
	2.3.1   The Telephone System 70
	2.3.2   Modems 72
	2.3.3   RS-232-C and RS-449 76
    2.4 DIGITAL TRANSMISSION 77
	2.4.1   Pulse Code Modulation 79
	2.4.2   Encoding Systems 81
	2.4.3   The X.21 Digital Interface 82
    2.5 TRANSMISSION AND SWITCHING 84
	2.5.1   Frequency Division and Time Division Multiplexing 84
	2.5.2   Circuit Switching 86
	2.5.3   Packet Switching 88
	2.5.4   Hybrid Switching 89
    2.6 ISDN-INTEGRATED SERVICES DIGITAL NETWORK 90
	2.6.1   ISDN Services 91
	2.6.2   Evolution of ISDN 93
	2.6.3   ISDN System Architecture 95
	2.6.4   The Digital PBX 99
	2.6.5   The ISDN Interface 102
	2.6.6   ISDN Signaling-SS #7 106
	2.6.7   Perspective on ISDN 107
    2.7 TERMINAL HANDLING 109
	2.7.1   Polling 110
	2.7.2   Multiplexing versus Concentration 111
    2.8 SUMMARY 113

CHAPTER 3 - THE MEDIUM ACCESS SUBLAYER 
    3.1 LOCAL AND METROPOLITAN AREA NETWORKS 116
	3.1.1   Static Channel Allocation in LANs and MANs 118
	3.1.2   Dynamic Channel Allocation in LANs and MANs 119
    3.2 THE ALOHA PROTOCOLS 121
	3.2.1   Pure ALOHA and Slotted ALOHA 121
	3.2.2   Finite Population ALOHA 124
    3.3 LOCAL AREA NETWORK PROTOCOLS 127
	3.3.1   Persistent and Nonpersistent CSMA 127
	3.3.2   CSMA with Collision Detection 128
	3.3.3   Collision-Free Protocols 130
	3.3.4   BRAP-Broadcast Recognition with Alternating Priorities 131
	3.3.5   MLMA-The Multi-Level Multi-Access Protocol 132
	3.3.6   Binary Countdown 134
	3.3.7   Limited-Contention Protocols 135
	3.3.8   The Adaptive Tree Walk Protocol 136
	3.3.9   The Urn Protocol 138
    3.4 IEEE STANDARD 802 FOR LOCAL AREA NETWORKS 141
	3.4.1   IEEE Standard 802.2 and Ethernet 141
	3.4.2   IEEE Standard 802.4: Token Bus 148
	3.4.3   IEEE Standard 802.5: Token Ring 153
	3.4.4   Comparison of Local Area Networks 163
    3.5 FIBER OPTIC NETWORKS 165
	3.5.1   FDDI 166
	3.5.2   Fibernet II 168
	3.5.3   S/NET 170
	3.5.4   FASNET AND EXPRESSNET 171
	3.5.5   DATAKIT 173
    3.6 SATELLITE NETWORKS 175
	3.6.1   SPADE 176
	3.6.2   ALOHA Revisited 177
	3.6.3   Reservation ALOHA 179
    3.7 PACKET RADIO NETWORKS 182
	3.7.1   The University of Hawaii ALOHA System 182
	3.7.2   Design Issues for Packet Radio Networks 183
    3.8 EXAMPLES OF THE MAC SUBLAYER 188
	3.8.1   The MAC Sublayer in Public Networks 189
	3.8.2   The MAC Sublayer in the ARPANET 189
	3.8.3   The MAC Sublayer in MAP and TOP 189
	3.8.4   The MAC Sublayer in USENET 190
    3.9 SUMMARY 190

CHAPTER 4 - THE DATA LINK LAYER 
    4.1 DATA LINK LAYER DESIGN ISSUES 197
	4.1.1   Services Provided to the Network Layer 197
	4.1.2   Framing 199
	4.1.3   Error Control 202
	4.1.4   Flow Control 203
	4.1.5   Link management 204
    4.2 ERROR DETECTION AND CORRECTION 204
	4.2.1   Error-Correcting Codes 206
	4.2.2   Error-Detecting Codes 208
    4.3 ELEMENTARY DATA LINK PROTOCOLS 212
	4.3.1   An Unrestricted Simplex Protocol 216
	4.3.2   A Simplex Stop-and-Wait Protocol 217
	4.3.3   A Simplex Protocol for a Noisy Channel 219
    4.4 SLIDING WINDOW PROTOCOLS 223
	4.4.1   A One Bit Sliding Window Protocol 225
	4.4.2   A Protocol Using Go Back n 228
	4.4.3   A Protocol Using Selective Repeat 234
    4.5 PROTOCOL PERFORMANCE 239
	4.5.1   Performance of the Stop-and-Wait Protocol 239
	4.5.2   Performance of the Sliding Window Protocol 242
    4.6 PROTOCOL SPECIFICATION AND VERIFICATION 244
	4.6.1   Finite State Machine Models 245
	4.6.2   The Estelle Protocol Specification Language 251
	4.6.3   Petri Net Models 252
    4.7 EXAMPLES OF THE DATA LINK LAYER 253
	4.7.1   The Data Link Layer in Public Networks 254
	4.7.2   The Data Link Layer in the ARPANET 257
	4.7.3   The Data Link Layer in MAP and TOP 262
	4.7.4   The Data Link Layer in USENET 265
    4.8 SUMMARY 267

CHAPTER 5 - THE NETWORK LAYER 
    5.1 NETWORK LAYER DESIGN ISSUES 271
	5.1.1   Services Provided to the Transport Layer 271
	5.1.2   Internal Organization of the Network Layer 280
	5.1.3   Routing 284
	5.1.4   Congestion 287
	5.1.5   Internetworking 288
    5.2 ROUTING ALGORITHMS 289
	5.2.1   Shortest Path Routing 289
	5.2.2   Multipath Routing 291
	5.2.3   Centralized Routing 294
	5.2.4   Isolated Routing 296
	5.2.5   Flooding 298
	5.2.6   Distributed Routing 299
	5.2.7   Optimal Routing 300
	5.2.8   Flow-Based Routing 303
	5.2.9   Hierarchical Routing 305
	5.2.10 Broadcast Routing 306
    5.3 CONGESTION CONTROL ALGORITHMS 309
	5.3.1   Preallocation of Buffers 309
	5.3.2   Packet Discarding 310
	5.3.3   Isarithmic Congestion Control 312
	5.3.4   Flow Control 313
	5.3.5   Choke Packets 314
	5.3.6   Deadlocks 315
    5.4 INTERNETWORKING 320
	5.4.1   OSI and Internetworking 321
	5.4.2   Bridges 325
	5.4.3   Gateways 337
	5.4.4   Comparison of Connection-Oriented and Connectionless Gateways 345
	5.4.5   Bridge and Gateway Software 346
    5.5 EXAMPLES OF THE NETWORK LAYER 350
	5.5.1   The Network Layer in Public Networks 350
	5.5.2   The Network Layer in the ARPANET (IP) 358
	5.5.3   The Network Layer in MAP and TOP 362
	5.5.4   The Network Layer in USENET 363
    5.6 SUMMARY 365

CHAPTER 6 - THE TRANSPORT LAYER 
    6.1 TRANSPORT LAYER DESIGN ISSUES 371
	6.1.1   Services Provided to the Session Layer 371
	6.1.2   Quality of Service 373
	6.1.3   The OSI Transport Service Primitives 375
	6.1.4   Transport Protocols 381
	6.1.5   Elements of Transport Protocols 384
    6.2 CONNECTION MANAGEMENT 387
	6.2.1   Addressing 388
	6.2.2   Establishing a Connection 391
	6.2.3   Releasing a Connection 397
	6.2.4   Timer-Based Connection Management 401
	6.2.5   Flow Control and Buffering 403
	6.2.6   Multiplexing 407
	6.2.7   Crash Recovery 409
    6.3 A SIMPLE TRANSPORT PROTOCOL ON TOP OF X.25 411
	6.3.1   The Example Service Primitives 411
	6.3.2   The Example Transport Entity 413
	6.3.3   The Example as a Finite State Machine 420
    6.4 EXAMPLES OF THE TRANSPORT LAYER 422
	6.4.1   The Transport Layer in Public Networks 422
	6.4.2   The Transport Layer in the ARPANET (TCP) 429
	6.4.3   The Transport Layer in MAP and TOP 435
	6.4.4   The Transport Layer in USENET 436
    6.5 SUMMARY 436

CHAPTER 7 - THE SESSION LAYER
    7.1 SESSION LAYER DESIGN ISSUES 441
	7.1.1   Services Provided to the Presentation Layer 441
	7.1.2   Data Exchange 443
	7.1.3   Dialog Management 444
	7.1.4   Synchronization 446
	7.1.5   Activity Management 448
	7.1.6   Exception Reporting 451
	7.1.7   The OSI Session Service Primitives 451
    7.2 REMOTE PROCEDURE CALL 454
	7.2.1   The Client-Server Model 455
	7.2.2   Implementation of Remote Procedure Call 456
	7.2.3   Semantics of Remote Procedure Call 460
	7.2.4   Orphans 462
	7.2.5   Discussion of RPC 464
    7.3 EXAMPLES OF THE SESSION LAYER 465
	7.3.1   The Session Layer in Public Networks 465
	7.3.2   The Session Layer in the ARPANET 469
	7.3.3   The Session Layer in MAP and TOP 469
	7.3.4   The Session Layer in USENET 469
    7.4 SUMMARY 469

CHAPTER 8 - THE PRESENTATION LAYER
    8.1 PRESENTATION LAYER DESIGN ISSUES 472
	8.1.1   Data Representation 472
	8.1.2   Data Compression 473
	8.1.3   Network Security and Privacy 473
	8.1.4   The OSI Presentation Service Primitives 475
    8.2 ABSTRACT SYNTAX NOTATION 1 (ASN.1) 475
	8.2.1   Data Structures 476
	8.2.2   Abstract Syntax 481
	8.2.3   Transfer Syntax 487
    8.3 DATA COMPRESSION TECHNIQUES 490
	8.3.1   Encoding a Finite Set of Equally Likely Symbols 491
	8.3.2   Frequency Dependent Coding 491
	8.3.3   Context Dependent Encoding 494
    8.4 CRYPTOGRAPHY 496
	8.4.1   Traditional Cryptography 496
	8.4.2   The Data Encryption Standard 503
	8.4.3   The Key Distribution Problem 510
	8.4.4   Public Key Cryptography 513
	8.4.5   Authentication and Digital Signatures 516
    8.5 EXAMPLES OF THE PRESENTATION LAYER 520
	8.5.1   The Presentation Layer in Public Networks 521
	8.5.2   The Presentation Layer in the ARPANET 523
	8.5.3   The Presentation Layer in MAP and TOP 524
	8.5.4   The Presentation Layer in USENET 524
    8.6 SUMMARY 524

CHAPTER 9 - THE APPLICATION LAYER 
    9.1 APPLICATION LAYER DESIGN ISSUES 528
	9.1.1   File Transfer, Access, and Management 529
	9.1.2   Electronic Mail 530
	9.1.3   Virtual Terminals 531
	9.1.4   Other Applications 531
	9.1.5   OSI Service Elements-ACSE and CCR 532
    9.2 FILE TRANSFER, ACCESS, AND MANAGEMENT 535
	9.2.1   File Servers 535
	9.2.2   Concurrency Control 539
	9.2.3   Replicated Files 541
	9.2.4   Implementation Issues 543
    9.3 ELECTRONIC MAIL 547
	9.3.1   Architecture and Services of MOTIS and X.400 548
	9.3.2   The User Agent 552
	9.3.3   The Message Transfer Agent 557
    9.4 VIRTUAL TERMINALS 561
	9.4.1   Scroll Mode Terminals 561
	9.4.2   Page Mode Terminals 564
	9.4.3   Form Mode Terminals 564
    9.5 OTHER APPLICATIONS 571
	9.5.1   Directory Service 571
	9.5.2   Job Transfer and Management 574
	9.5.3   Picture Storage and Transfer 575
	9.5.4   Teletext and Videotex 576
    9.6 EXAMPLES OF THE APPLICATION LAYER 579
	9.6.1   The Application Layer in Public Networks 579
	9.6.2   The Application Layer in the ARPANET 591
	9.6.3   The Application Layer in MAP and TOP 597
	9.6.4   The Application Layer in USENET 602
    9.7 SUMMARY 609

CHAPTER 10 - READING LIST AND BIBLIOGRAPHY
    10.1 SUGGESTIONS FOR FURTHER READING 613
	10.1.1   Introduction and General Works 614
	10.1.2   The Physical Layer 615
	10.1.3   The Medium Access Control Sublayer 616
	10.1.4   The Data Link Layer 616
	10.1.5   The Network Layer 617
	10.1.6   The Transport Layer 617
	10.1.7   The Session Layer 618
	10.1.8   The Presentation Layer 619
	10.1.9   The Application Layer 620
    10.2 ALPHABETICAL BIBLIOGRAPHY 620

APPENDIX: QUEUEING THEORY 
INDEX  

			  SCO's Case Against IBM

November 12, 2003 - Jed Boal from Eyewitness News KSL 5 TV provides an
overview on SCO's case against IBM. Darl McBride, SCO's president and CEO,
talks about the lawsuit's impact and attacks. Jason Holt, student and 
Linux user, talks about the benefits of code availability and the merits 
of the SCO vs IBM lawsuit. See SCO vs IBM.

Note: The materials and information included in these Web pages are not to
be used for any other purpose other than private study, research, review
or criticism.