The first edition of this book first appeared four years ago; much in the fields of data communications and computer networks has changed since then. Probably most visible is the emergence of the World Wide Web (WWW) and the many applications it supports. Perhaps less visible is the impact the Web has had on underlying network protocols to support these applications and the increased importance of issues involving privacy and security. In just a few years the scope of network users has changed forever. Not long ago most network users were primarily professionals,who might use email occasionally to talk to colleagues or request some vital information. Now network users number in the tens of millions and their uses range from professional needs to purely recreational activities.
Although much of this book's content has changed, its purpose is still fundamentally tbe same. It is designed for junior-level students in a computer science program who have a minimum of two semesters of programming and a knowledge of precalculus and discrete mathematics. It covers standard topics found in a typical introductory course in data communications and computer networks, such as transmission media, analog and digital signals, data transmissions, compression and encryption methods, network topologies, data security, Ethernets and token ring protocols, wide area network protocols, and World Wide Web applications.
PURPOSE
The first edition of this book first appeared four years ago; much in the fields of data communications and computer networks has changed since then. Probably most visible is the emergence of the World Wide Web (WWW) and the many applications it supports. Perhaps less visible is the impact the Web has had on underlying network protocols to support these applications and the increased importance of issues involving privacy and security. In just a few years the scope of network users has changed forever. Not long ago most network users were primarily professionals,who might use email occasionally to talk to colleagues or request some vital information. Now network users number in the tens of millions and their uses range from professional needs to purely recreational activities.
Although much of this book's content has changed, its purpose is still fundamentally tbe same. It is designed for junior-level students in a computer science program who have a minimum of two semesters of programming and a knowledge of precalculus and discrete mathematics. It covers standard topics found in a typical introductory course in data communications and computer networks, such as transmission media, analog and digital signals, data transmissions, compression and encryption methods, network topologies, data security, Ethernets and token ring protocols, wide area network protocols, and World Wide Web applications. This book is designed to help the reader understand
●The differences, advantages, and disadvantages of different transmission media
●Analog and digital signals, modulation and demodulation techniques, and how modems work
●The effect of noise on transmissions and the need for error detection and conrrection, the mechanisms used, and their advantages and disadvantages
●Standards such as RS-232, RS-449, HDLC, SDLC, DES, X.25 OSI, SNA,IEEE 802.3, IEEE 802.4, IEEE 802.5, ATM, JPEG, MPEG, and IC/IP standards organizations, and why standards are needed
●The need for data compression techiques and a companison of the different methods used.
●Worms and viruses and how they can affect a system
●The need for security, and various encryption techniques
●Differences between public and private key encryption systems
●The need for flow control and various ways of implementing it
●Local area network protocols and contention strategies for shared transmission media
●Methods of connecting local area networks
●Packet-switched networks and routing strategies
●The need for protocols to support.real-time video applications and the emergence of ATM
●How to design and set up working client/server applications
●How increased Web use and the proliferation of multimedia applications have affected existing protocols and what is being done to deal with it
●How to incorporate client/server programming techniques into Web page development
Major changes have been made to the first edition, some based on comments I received from its readers and the rest based on the evolution of technology. Many involve clarification of figures or an improved description of protocols. However, the most significant changes from the first edition include the following:
●Improved coverage of wireless communications, especially satellite transmission, and a discussion of low earth orbit satellites.
●Update of the modulation/demodulation standards used in modem technology.
●New section on cable modems.
●Expanded coverage of Lempel-Ziv compression techniques.
●New sections on both JPEG and MPEG compression techniques for graphic and multimedia transmissions.
●Increased coverage of encryption methods, including new sections on tbe clipper chip and the Diffie-Hellman key exchange method.
●Increased coverage of public key encryption, including new material on authentication using hash-based schemes.
●Update of the section on viruses to include virus evolution and polymorphic viruses .
●Updated coverage of local area network standards to include IOO Mbps technologies .
●Revised discussion of Novell NetWare to include NetWare 4.O.
●Expanded discussion of routing tecbniques to include additional protocols such as link state routing and the Border Gateway Ptotocol.
●Expanded and revised discussion of the Internet protocol to include descriptions of the Domain Name System DNS) and Internet protocol version 6.
●Revised coverage of TCP, including congestion control.
●New section on socket programming to include coverage of the client/server paradigm and the inclusion of a working client/server model that implements a file transfer protocol using socket connections.
●A new section on the World Wide Web with a focus on the use of client/server progamming in the development of Web pages. Again, working models of client-side JavaScript programming and server-side CGI progamming in C are presented.
●A new section on dle Asynchronous Transfer Mode (ATM) protocol.
Although it would be difficult (almost certainly impossible) to cover all these subjects in a one-semester course, the range of topics allows instructors flexibility in
choosing the topics best suited for their students.
An Instructor's Solutions Manual, with answers to review questions and exercises, is available from the publisher. Also, Web page support for this text is accessible via the URL http://www.pws.com/compsci/authors/shayw.
ORGANiZATION AND OUTLINE
This text offers a mix of theory and application. The theory provides a solid foundation for futher study and the application brings students closer to the realities of communications systems and networks. It also gives them valuable experience. AII students should benefit from the applications, and the more theoretical material will challenge the more ambitious students. In addition, the last two chapters present actual models of working client and server programs on which the student can build.
Each chapter serves as a base on which to build the next. For example, when studying multiplexing, contention, or compression, studens should have an understanding of how signals propagate through different media. When studying local area networks, they should understand problems of contention on multiple-access lines, noisy channels, and flow control. When studying wide area network protocols,they should understand local area network protocols and why these are not sutable for larger networks. Essentially, the text uses a bottom-up approach.
Chapter l provides an introduction to the field, toucbing on current issues and applications in the field of communications and networks. It describes the needs for standards and lists relevant standards organizations, and then summarizes a longstanding protocol model, the Open System Interconnect.
Chapters 2 and 3 deal mainly with kinds of transmission media, signal types.and data transmission, including modulation techniques and modems, interface standards, multiplexing, contention, and data compression. Chapter 4 covers the security and integrity of transmitted data. It deals with methods used to detect or even correct transmission errors. It also covers different ways of encrypting data and authenticating its sender. This chapter concludes with a section on viruses and how they have evolved over the years. Together these chapters form the "data communications" part of the text.
Chapter 5 begins the "computer networks" part by discussing general protocols that regulate the flow of information between stations. It also presents some of the standard protocols used in local area networks. Chapter 6 covers local area networks (LANs), discussing the standards that define Ethernets and token ring and token bus networks. It then addresses the issues of connecting multiple LANs and the problem of ensuring that information gets to its intended destination and closes with a discussion of Novell NetWare, one of the most popular LAN managers.
Chapter 7 covers wide area networks (WANs) and the need for protocols different from LAN protocols. It describes different ways of routing information within a network and outlines some different methods for dealing with congestion. It also gives significant anention to four imponant protocols: the X.25 packet-switched network interface, both the old and new versions of the Internet Protocol (IP), and the Transmission Control Ptotocol (TCP). Chapter 7 finishes with a development of a working client/server model that uses UNIX socket connections to transfer a file between two computers connected to the Intemet. Finally, Chapter 8 covers applications and additional protocols such as TCP/IP applications, WWW, X.400 email standards,, ISDN (a worldwide digital network standard), Asynchronous Transfer Mode (ATM), and IBM's System Network Architecture (SNA). The section on the Web also contains a discussion of developing a Web page and suppoHing its use with client-side programs written in JavaScript and server-side programs written in C.
The questions at the end of each chapter are divided into two groups. The first group, Review Questions, contains questions for which answers can be obtained directly from the corresponding chapter. These questions encourage the reader to go back through the text and pick out what the author or instructor believes is important. I believe this method to be better pedagogically than simply listing important topics at dle end, which encourages students to read textbooks as they would a novel-linearly. Leaming complex material, however, often requires reading,rereading, and going back through the text to sort out and understand different concepts. A colleague related a conversation she had with a student having some difficulty with course work. The student had a part-time job during which he bad some free time. Rather than fight boredom he decided to bring his textbook to work and read when he had the opportunity. Later in the semester his performance improved,and he related to the instructor that after reading the material four or five times, it actually began to make sense.
Review questions are not enough though. The second group, Exercises, contains questions that challenge readers to apply what they have learned and to compare,make logical deductions, and consider alternatives. The answers are not always simply stated and may be more elusive but that's typical of real problems.
CHAPTER 1 INIRODUCTION TO COMMUNICATIONS, STANOARDS,
AND PTOTOCOLS
1 .1 WHY STUDY CoMMUNICATIONS?
A Brief History I · Applications 3 · Issues 6
1 .2 COMPUTER NETWORKS
Common Bus Topology 9 · Star Topology IO ·
Ring Topology 11· Fully Connected Topology l2 · Combined Topologies l3
1.3 STANDARDS AND STANDARDS ORGANIZATIONS
The Need for STandards 14 v Agencies l5
1.4 OPEN SYSTEMS AND THE OSI MODEL
Overview of the Model 20 · Physical Layer 23·Data Link Layer 28 · Network Layer 30· Transport
Layer 32 · Session Layer 38 · Presentation Layer 42 · Application Layer 45 · Summary 46
1.5 THE FUTURE OF DATA CoMMUNICTIONS
REVIEW QUESTIONS 51 ·EXERCISE5 53 · REFETENCES 54(HAPIER 2 IRANSMISSON FUNDAMENTALS
2.1 COMMUNICATIONS MEDIA
Conductive Mebal 59 · Optical Fiber 62 · Wireless Communications 66 · Summary · 8 1
2.2 COMMUNICATloN SERVICES AND DEVICES
Telephone System 83 · Integrated Services Digital Network 87 · Cellular Phones 88 · Fax Machines 90
2.3 Cooes
ASCII Code 93 · EBCDIC Code 94 · Baudot, Morse, and BCD Codes 97
2.4 ANALOG AND DIGITAL SIGNALS
Digital Encoding Schemes l02 · Analog Signals 105 Bit Rate 110
2.5 MODULATION AND DEMODULATION
Digital-to-Analog Conversion 116· Analog-to-Digital Conversion 121
2.6 MODEMS AND MODEM STANDARDS
Signal Constellation 126· Intelligent (Hayes Compatible)Modems 130 · Cable Modems 131· Null Modems 135
2.7 SUMMARY
REVIEW QUESTIONS 137· EXERCISES 139· REFEREMCES 143
CHAPTER 3 OATA COMMUNICATION
3.1 TRANSSION MODES
Serial and Parallel Transmission 146 · Asynchronous and Synchronous Transmission 147 · Simplex, Half-Duplex, and Full-Duplex Commanications 150
3.2 INTERFACE STANDARDS
RS-232 Interfce 152 · RS-232 Subsets 155· Null Modems 156 · RS-449 Interface 157 · X.21 Interface 159
3.3 MuLTIPLEXING
Frequency-Division Multiplexing 163· Time-Division Multiplexing 165 · Statistical Multiplexers 167 T-I CaRRier 169
3.4 CONTENTION PRoTocoLs
Aloha Protocols 174 · Carrier Sense Multiple Access 177 · Collision Detection 180 · Token
Passing 183 · Summary of prtocols 187
3.5 DATA COMPRESSION
Huffman Code 189 · Run-Length Encoding 192 · Relative Encoding 194 · Lempel-Ziv Encoding 195 · Image Compression 201 ·JPEG 203 · MPEG 211 · Summary of Compression Techniques 216
3.6 SUMMARY
REVIEW QUESTIONS 218 · EXERCISES 220 · REFERENCES 224
CHAPTER 4 DATA SECURITY AND INIEGRITY
4.1 INTRODUCTION
4.2 PARITY CHECKING
Parity Checking Analysis 228 · Double-Bit Error Detection 229 · Burst Error Detection 229
4.3 CVCLIC REDUNDANEY CHECKS
Polynomial Division 232 · How CRC Works 233 Analysis of CRC 235 · CRC Implementation Using Circular Shifts 239
4.4 HAMMING CODES
Single-Bit Error Correction 241 · Multiple-Bit Error Correction 244 · Comparison of Error Detection and Error Correcrion 244 ·
4.5 ENCRYPTION AND DECRYPTION
Caesar Cipher 247 · Polyalphabetic Cipher 248 · Transposition Cipher 250 · Bit-Level Ciphering 251· Data Encryption Standard 252 · Clipper Chip 256 · Key DisRibution and Protection 260 · Merkle's Puzles 260 · Shamir's Method 261
4.6 PUBLIC KEV ENCRYPTION
RSA Algorithm 264 · Digital Signatures 266 · Authentication Using Hash-Based Schemes 268 · Summary of Encryption Methods 272 · Encryption Potpouni 272
4.7 VIRUSES, WORMS, AND HACKERS
Infecting Files 275 · Memory-Resident Viruses 276 Virus Evolution 277 · Virus Sources 281 · The Internet Worm 281 · Computer Hackers 283
4.8 SuMMARY
RECIEW QUESTIONS 286 · EXERCISES 288 · REFERENCES 291
CHAPTER 5 PROTOCOL CONCEPTS
5.1 INTRODUCTION
5.2 BASIC FLOW CONTROL
Signaling 295 · Frame-Oriented ConUol 297 Protocol Efficiency 301
5.3 SLIDING WINDOW PRoTocoLs
Frame Format 306 · Go-back-n Protocol 307 Selective Repeat Protocol 314 · Sliding Window Protocol Efficiency 322 · Summary of Protocols 324
5.4 PROTOCOL CORRECTNESS
Finite State Machines 325 · Petri Nets 331
5.5 DATA LINK CONTROL PROTOCOLS
High-Level Data Link Control (HDLC) 336 · Other Bit-Oriented hotocols 344 · Binary Synchronous Communications Protocol 345 · Summary: Data Link Protocols 349
5.6 CASE STUDY: KERMIT
Frame Format 351 · Protocol 352 ·Commands 354
5.7 SUMMARY
REVIEW QUESTIONS 357 · EXERCISES 359 · REFERENCES 363
CHAPTER 6 LOCAL AREA NEIWORKING
6.1 NeTWORK TOPOLOGIES
6.2 ETHERNET: IEEE STANDARD 802.3
Relation to OSI 368 · Ethernet Components 368 · Cabe Specifications 371 · Connecting Segments 373 · Frame Format 374 · Efficiency 375
6.3 TOKEN RING: IEEE STANDARD 802.5
Token and Frame Formats 381 · Resercing and Claiming Tokens 383 · Ring Maintenance 389 · Efficiency 39l · Other Ring Networks 39
6.4 TOKEN Bus: IEEE STANDARD 802.4
Token Bus Operations 399 · Lost Tokens 402 Ring Initialization 403 · Prioritizing Frames 404
6.5 INTERCONNECTING LANs
Layer l Connections 409 · Layer 2 Connections 410 Bridging Different TYpes of LANs 411 · Bridge Routing 413 Summary 426
6.6 CASE STUDY: NOVELL NETWARE
NetWare Configuration 427 · Running Novell NetWare 429 · Security and Integrity 431 · Selected Novell Commands 434 · Login Scripts 436
6.7 SUMMARY
REVIEW QUESTIONS 440 · EXERCISES 443 · REFERENCES 446
CHAPIER 7 WIDE AREA NETWORKINe
7.1 INTROUCTION
7.2 NETWORK ROUTING
Routing Tables 452 · Types of Routing 453 Dijkstra's Algorithm 456 · Bellman-Ford Algorithm 459
Link State Routing 466 · Hierarchical Routing 467 Routing Information Protocol 470 · Open Shortest Path First 471 · Border Gateway Protocol 472 · Summary of Routing Techniques 473 · Congestion and Deadlock 473
7.3 PUBLIC DATA NETWORKS: THe X SERIES PROTOCOLS
Packet-Switched Network Modes 479 · X.25 Public Data Network Interface Standard 481 · Triple-X Standard for Non-X.25 Devices 486
7.4 INTERNET PROTOCLS
Overview of TCP/IP 491 · Internet Addressing 493 · Domain Name System 495 · IP Packets 497 · Fragmentation 500 · IP Routing 501 · Internet Control Message Protocol 504 · IPv6 506
7.5 TRANSPORT PROTOCOLS
Transmission Control Protocol 518 · User Datagram Protocol 529 · OSI Transport Protocols 529
7.6 SOCKET PRIGRAMMING
Sockets 532 · ClienT/Server Model 532 · Socket Data Structures 533 · Socket Commands 535 · Client/Server Example 535
7.7 SUMMARY
REVIEW QUESTIONS 551 · EXERCISES 553 · REFETENCES 557
CHAPTER 8 ADDITIONAL NETWORK PROTOCOLS
8.1 INTERNET APPLlCATlONS
Virtual Terminal 559 · Telnet 560 · File Transfers 564 Simple Mail Transfer Protocol 571 · Simple Network Management Protocol 573
8.2 WORLD WIDE WEN
Web Page Access 577 · Hypertext Markup Language 579 · HTML Forms 582 · JavaScript and Client-side Programming 587 · Common Gateway Interface and Server-side Programming 592
8.3 ELECTRONIC MAIL: X.400 AND X.500 STANDARDS
X.400 Mail Standards 598 · X.500 Directory Service 606 · Summary 610
8.4 INTEGRATED SERVICES DIGITAL NETWORK
ISDN Services 612 · ISDN Architecture 613 Protocols 6l5 · Broadband ISDN 624
8.5 ASYNCHRONOUS TRANSFER MODE
Benefits of Small Fixed-Size Cells 626 · Overview of ATM Network 628 · Switching 629 · Reference Model 631 · Cell Definition 633 · Virtual Circuits and Paths 636 · Connection Management 637 · Adaptation Layers 639
8.6 SYSTEMS NETWORK ARCHITECTURE
Lower Layers Physical Link Control 647 · Path Control 648 · Trznsmission Control 654 · Data Flow Control 657 · Higher Layers 659 REVIEW QUESTIONS 661 · EXERCISES 663 · REFERENCES 665
GLOSSARY
ACRONYMS
INDEX
无