这是一本伴随着网络一起发展与成长的书,原作四个版本分别对应了网络应用的不同阶段。在国内,第3 版中文版几乎成为一代人的网络必读之作。当您啃完这本书之后的收获是:就好像从门外走进了门内,那是一种拨开乌云见晴天的感觉。
计算机网络(第4版)(中文版) 是china-pub 08年度畅销榜TOP50,是一本不可缺少的好书,同时也是国内外使用最为广泛的计算机网络经典教材之一,全书按照网络协议模型(物理层、数据链路层、介质访问控制子层、网络层、传输层和应用层),自下而上系统地介绍了计算机网络的基本原理,并给出了大量实例。
Andrew S.Tanenbaum获得过美国麻省理工学院的理学学士学位和加利福尼亚大学伯克利分校的哲学博士学位,目前是荷兰阿姆斯特丹Vrije大学的计算机科学系的教授,并领导着一个计算机系统的研究小组。同时,他还是一家计算与图象处理学院的院长,这是由几家大学合作成立的研究生院。尽管社会工作很多,但他并没有中断学术研究。多年来,他在编译技术、操作系统、网络及局域分布式系统方面进行了大量的研究工作。目前的主要研究方向是设计规模达数百万用户的广域分布式系统。在进行这些研究项目的基础上,他在各种学术杂志及会议上发表了70多篇论文。他同时还是5本计算机专著的作者。
Tanenbaum教授还开发了大量的软件。他是Amsterdan编译器的原理设计师,这是一个被广泛使用的;用来编写可移植编译器的工具箱。他领导编写的MINIX,是一个用于操作系统教学的类UNIX(的小型操作系统。他和他的博士研究生及其他编程人员一道设计的Amoeba分布式操作系统,是一个高性能的微内核分布式操作系统。目前,可在因特网上免费得到MLNIX及Amoeba,用于教学和研究。 他的一些博士研究生,在获得学位后继续进行研究,并取得了更大的成就,赢得了社会的赞誉,对此他深感自豪。人们称他为桃李满天下的教育家。 Tanenbaum是ACM的会员,IEEE的资深会员,荷兰皇家艺术和科学学院院士,获得过1994年度ACM KarlV.Karlstrom杰出教育家奖。他还人选了《世界名人录》。
CHAPTER 1 INTRODUCTION
1.1 USES OF COMPUTER NETWORKS
1.1.1 Business Applications
1.1.2 Home Applications
1.1.3 Mobile Users
1.1.4 Social Issues
1.2 NETWORK HARDWARE
1.2.1 Personal Area Networks
1.2.2 Local Area Networks
1.2.3 Metropolitan Area Networks
1.2.4 Wide Area Networks
1.2.5 Internetworks
1.3 NETWORK SOFTWARE
1.3.1 Protocol Hierarchies
1.3.2 Design Issues for the Layers
1.3.3 Connection-Oriented Versus Connectionless Service
1.3.4 Service Primitives
1.3.5 The Relationship of Services to Protocols
1.4 REFERENCE MODELS
1.4.1 The OSI Reference Model
1.4.2 The TCP/IP Reference Model
1.4.3 The Model Used in this Book
1.4.4 A Comparison of the OSI and TCP/IP Reference Models
1.4.5 A Critique of the OSI Model and Protocols
1.4.6 A Critique of the TCP/IP Reference Model
1.5 EXAMPLE NETWORKS
1.5.1 The Internet
1.5.2 Third-Generation Mobile Phone Networks
1.5.3 Wireless LANs: 802.11
1.5.4 RFID and Sensor Networks
1.6 NETWORK STANDARDIZATION
1.6.1 Who's Who in the Telecommunications World
1.6.2 Who's Who in the International Standards World
1.6.3 Who's Who in the Internet Standards World
1.7 METRIC UNITS
1.8 OUTLINE OF THE REST OF THE BOOK
1.9 SUMMARY
CHAPTER 2 THE PHYSICAL LAYER
2.1 THE THEORETICAL BASIS FOR DATA COMMUNICATION
2.1.1 Fourier Analysis
2.1.2 Bandwidth-Limited Signals
2.1.3 The Maximum Data Rate of a Channel
2.2 GUIDED TRANSMISSION MEDIA
2.2.1 Magnetic Media
2.2.2 Twisted Pairs
2.2.3 Coaxial Cable
2.2.4 Power Lines
2.2.5 Fiber Optics
2.3 WIRELESS TRANSMISSION
2.3.1 The Electromagnetic Spectrum
2.3.2 Radio Transmission
2.3.3 Microwave Transmission
2.3.4 Infrared Transmission
2.3.5 Light Transmission
2.4 COMMUNICATION SATELLITES
2.4.1 Geostationary Satellites
2.4.2 Medium-Earth Orbit Satellites
2.4.3 Low-Earth Orbit Satellites
2.4.4 Satellites Versus Fiber
2.5 DIGITAL MODULATION AND MULTIPLEXING
2.5.1 Baseband Transmission
2.5.2 Passband Transmission
2.5.3 Frequency Division Multiplexing
2.5.4 Time Division Multiplexing
2.5.5 Code Division Multiplexing
2.6 THE PUBLIC SWITCHED TELEPHONE NETWORK
2.6.1 Structure of the Telephone System
2.6.2 The Politics of Telephones
2.6.3 The Local Loop: Modems, ADSL, and Fiber
2.6.4 Trunks and Multiplexing
2.6.5 Switching
2.7 THE MOBILE TELEPHONE SYSTEM
2.7.1 First-Generation (1G) Mobile Phones: Analog Voice
2.7.2 Second-Generation (2G) Mobile Phones: Digital Voice
2.7.3 Third-Generation (3G) Mobile Phones: Digital Voice and Data
2.8 CABLE TELEVISION
2.8.1 Community Antenna Television
2.8.2 Internet over Cable
2.8.3 Spectrum Allocation
2.8.4 Cable Modems
2.8.5 ADSL Versus Cable
2.9 SUMMARY
CHAPTER 3 THE DATA LINK LAYER
3.1 DATA LINK LAYER DESIGN ISSUES
3.1.1 Services Provided to the Network Layer
3.1.2 Framing
3.1.3 Error Control
3.1.4 Flow Control
3.2 ERROR DETECTION AND CORRECTION
3.2.1 Error-Correcting Codes
3.2.2 Error-Detecting Codes
3.3 ELEMENTARY DATA LINK PROTOCOLS
3.3.1 A Utopian Simplex Protocol
3.3.2 A Simplex Stop-and-Wait Protocol for an Error-Free Channel
3.3.3 A Simplex Stop-and-Wait Protocol for a Noisy Channel
3.4 SLIDING WINDOW PROTOCOLS
3.4.1 A One-Bit Sliding Window Protocol
3.4.2 A Protocol Using Go-Back-N
3.4.3 A Protocol Using Selective Repeat
3.5 EXAMPLE DATA LINK PROTOCOLS
3.5.1 Packet over SONET
3.5.2 ADSL (Asymmetric Digital Subscriber Loop)
3.6 SUMMARY
CHAPTER 4 THE MEDIUM ACCESS CONTROL SUBLAYER
4.1 THE CHANNEL ALLOCATION PROBLEM
4.1.1 Static Channel Allocation
4.1.2 Assumptions for Dynamic Channel Allocation
4.2 MULTIPLE ACCESS PROTOCOLS
4.2.1 ALOHA
4.2.2 Carrier Sense Multiple Access Protocols
4.2.3 Collision-Free Protocols
4.2.4 Limited-Contention Protocols
4.2.5 Wireless LAN Protocols
4.3 ETHERNET
4.3.1 Classic Ethernet Physical Layer
4.3.2 Classic Ethernet MAC Sublayer Protocol
4.3.3 Ethernet Performance
4.3.4 Switched Ethernet
4.3.5 Fast Ethernet
4.3.6 Gigabit Ethernet
4.3.7 10 Gigabit Ethernet
4.3.8 Retrospective on Ethernet
4.4 WIRELESS LANS
4.4.1 The 802.11 Architecture and Protocol Stack
4.4.2 The 802.11 Physical Layer
4.4.3 The 802.11 MAC Sublayer Protocol
4.4.4 The 802.11 Frame Structure
4.4.5 Services
4.5 BROADBAND WIRELESS
4.5.1 Comparison of 802.16 with 802.11 and 3G
4.5.2 The 802.16 Architecture and Protocol Stack
4.5.3 The 802.16 Physical Layer
4.5.4 The 802.16 MAC Sublayer Protocol
4.5.5 The 802.16 Frame Structure
4.6 BLUETOOTH
4.6.1 Bluetooth Architecture
4.6.2 Bluetooth Applications
4.6.3 The Bluetooth Protocol Stack
4.6.4 The Bluetooth Radio Layer
4.6.5 The Bluetooth Link Layers
4.6.6 The Bluetooth Frame Structure
4.7 RFID
4.7.1 EPC Gen 2 Architecture
4.7.2 EPC Gen 2 Physical Layer
4.7.3 EPC Gen 2 Tag Identification Layer
4.7.4 Tag Identification Message Formats
4.8 DATA LINK LAYER SWITCHING
4.8.1 Uses of Bridges
4.8.2 Learning Bridges
4.8.3 Spanning Tree Bridges
4.8.4 Repeaters, Hubs, Bridges, Switches, Routers, and Gateways
4.8.5 Virtual LANs
4.9 SUMMARY
CHAPTER 5 THE NETWORK LAYER
5.1 NETWORK LAYER DESIGN ISSUES
5.1.1 Store-and-Forward Packet Switching
5.1.2 Services Provided to the Transport Layer
5.1.3 Implementation of Connectionless Service
5.1.4 Implementation of Connection-Oriented Service
5.1.5 Comparison of Virtual-Circuit and Datagram Networks
5.2 ROUTING ALGORITHMS
5.2.1 The Optimality Principle
5.2.2 Shortest Path Algorithm
5.2.3 Flooding
5.2.4 Distance Vector Routing
5.2.5 Link State Routing
5.2.6 Hierarchical Routing
5.2.7 Broadcast Routing
5.2.8 Multicast Routing
5.2.9 Anycast Routing
5.2.10 Routing for Mobile Hosts
5.2.11 Routing in Ad Hoc Networks
5.3 CONGESTION CONTROL ALGORITHMS
5.3.1 Approaches to Congestion Control
5.3.2 Traffic-Aware Routing
5.3.3 Admission Control
5.3.4 Traffic Throttling
5.3.5 Load Shedding
5.4 QUALITY OF SERVICE
5.4.1 Application Requirements
5.4.2 Traffic Shaping
5.4.3 Packet Scheduling
5.4.4 Admission Control
5.4.5 Integrated Services
5.4.6 Differentiated Services
5.5 INTERNETWORKING
5.5.1 How Networks Differ
5.5.2 How Networks Can Be Connected
5.5.3 Tunneling
5.5.4 Internetwork Routing
5.5.5 Packet Fragmentation
5.6 THE NETWORK LAYER IN THE INTERNET
5.6.1 The IP Version 4 Protocol
5.6.2 IP Addresses
5.6.3 IP Version 6
5.6.4 Internet Control Protocols
5.6.5 Label Switching and MPLS
5.6.6 OSPF--An Interior Gateway Routing Protocol
5.6.7 BGP--The Exterior Gateway Routing Protocol
5.6.8 Internet Multicasting
5.6.9 Mobile IP
5.7 SUMMARY
CHAPTER 6 THE TRANSPORT LAYER
6.1 THE TRANSPORT SERVICE
6.1.1 Services Provided to the Upper Layers
6.1.2 Transport Service Primitives
6.1.3 Berkeley Sockets
6.1.4 An Example of Socket Programming: An Internet File Server
6.2 ELEMENTS OF TRANSPORT PROTOCOLS
6.2.1 Addressing
6.2.2. Connection Establishment
6.2.3 Connection Release
6.2.4 Flow Control and Buffering
6.2.5 Multiplexing
6.2.6 Crash Recovery
6.3 CONGESTION CONTROL ALGORITHMS
6.3.1 Desirable Bandwidth Allocation
6.3.2 Regulating the Sending Rate
6.3.3 Wireless Issues
6.4 THE INTERNET TRANSPORT PROTOCOLS: UDP
6.4.1 Introduction to UDP
6.4.2 Remote Procedure Call
6.4.3 The Real-Time Transport Protocol
6.5 THE INTERNET TRANSPORT PROTOCOLS: TCP
6.5.1 Introduction to TCP
6.5.2 The TCP Service Model
6.5.3 The TCP Protocol
6.5.4 The TCP Segment Header
6.5.5 TCP Connection Establishment
6.5.6 TCP Connection Release
6.5.7 TCP Connection Management Modeling
6.5.8 TCP Transmission Policy
6.5.9 TCP Timer Management
6.5.10 TCP Congestion Control
6.5.11 The Future of TCP
6.6 PERFORMANCE ISSUES
6.6.1 Performance Problems in Computer Networks
6.6.2 Network Performance Measurement
6.6.3 Host Design for Fast Networks
6.6.4 Fast Segment Processing
6.6.5 Header Compression
6.6.6 Protocols for Long Fat Networks
6.7 DELAY TOLERANT NETWORKS
6.7.1 DTN Architecture
6.7.2 The Bundle Protocol
6.8 SUMMARY
CHAPTER 7 THE APPLICATION LAYER
7.1 DNS--THE DOMAIN NAME SYSTEM
7.1.2 The DNS Name Space
7.1.3 Resource Records
7.1.4 Name Servers
7.2 ELECTRONIC MAIL
7.2.1 Architecture and Services
7.2.2 The User Agent
7.2.3 Message Formats
7.2.4 Message Transfer
7.2.5 Final Delivery
7.3 THE WORLD WIDE WEB
7.3.1 Architectural Overview
7.3.2 Static Web Pages
7.3.3 Dynamic Web Pages and Web Applications
7.3.4 HTTP--The HyperText Transfer Protocol
7.3.5 Mobile Web
7.3.6 Web Search
7.4 REALTIME AUDIO AND VIDEO
7.4.1 Introduction to Digital Audio
7.4.2 Audio Compression
7.4.3 Streaming Audio
7.4.4 Internet Radio
7.4.5 Voice over IP
7.4.6 Introduction to Video
7.4.7 Video Compression
7.4.8 Video on Demand
7.5 CONTENT DELIVERY AND PEER-TO-PEER
7.5.1 Server Replication
7.5.2 Content Delivery Networks
7.5.3 Peer-to-Peer Networks
7.5.4 Overlay Networks
7.5 SUMMARY
CHAPTER 8 NETWORK SECURITY
8.1 CRYPTOGRAPHY
8.1.1 Introduction to Cryptography
8.1.2 Substitution Ciphers
8.1.3 Transposition Ciphers
8.1.4 One-Time Pads
8.1.5 Two Fundamental Cryptographic Principles
8.2 SYMMETRIC-KEY ALGORITHMS
8.2.1 DES--The Data Encryption Standard
8.2.2 AES--The Advanced Encryption Standard
8.2.3 Cipher Modes
8.2.4 Other Ciphers
8.2.5 Cryptanalysis
8.3 PUBLIC-KEY ALGORITHMS
8.3.1 RSA
8.3.2 Other Public-Key Algorithms
8.4 DIGITAL SIGNATURES
8.4.1 Symmetric-Key Signatures
8.4.2 Public-Key Signatures
8.4.3 Message Digests
8.4.4 The Birthday Attack
8.5 MANAGEMENT OF PUBLIC KEYS
8.5.1 Certificates
8.5.2 X.509
8.5.3 Public Key Infrastructures
8.6 COMMUNICATION SECURITY
8.6.1 IPsec
8.6.2 Firewalls
8.6.3 Virtual Private Networks
8.6.4 Wireless Security
8.7 AUTHENTICATION PROTOCOLS
8.7.1 Authentication Based on a Shared Secret Key
8.7.2 Establishing a Shared Key: The Diffie-Hellman Key Exchange
8.7.3 Authentication Using a Key Distribution Center
8.7.4 Authentication Using Kerberos
8.7.5 Authentication Using Public-Key Cryptography
8.8 EMAIL SECURITY
8.8.1 PGP--Pretty Good Privacy
8.8.2 S/MIME
8.9 WEB SECURITY
8.9.1 Threats
8.9.2 Secure Naming
8.9.3 SSL--The Secure Sockets Layer
8.9.4 Mobile Code Security
8.10 SOCIAL ISSUES
8.10.1 Privacy
8.10.2 Freedom of Speech
8.10.3 Copyright
8.11 SUMMARY
CHAPTER 9 READING LIST AND BIBLIOGRAPHY
9.1 SUGGESTIONS FOR FURTHER READING
9.1.1 Introduction and General Works
9.1.2 The Physical Layer
9.1.3 The Data Link Layer
9.1.4 The Medium Access Control Sublayer
9.1.5 The Network Layer
9.1.6 The Transport Layer
9.1.7 The Application Layer
9.1.8 Network Security
9.2 ALPHABETICAL BIBLIOGRAPHY