Foreword
Foreword to the First Edition
1 Foundation
Problem Building a Network
1.1 Applications
1.2 Requirements
1.2.1 Connectivity
1.2.2 Cost-Effective Resource Sharing
1.2.3 Support for Common Services
1.3 Network Architecture
1.3.1 Layering and Protocols
1.3.2 OSI Architecture
1.3.3 Internet Architecture
1.4 Implementing Network Software
1.4.1 Application Programming Interface (Sockets)
1.4.2 Example Application
1.4.3 Protocol Implementation Issues
1.5 Performance
1.5.1 Bandwidth and Latency
1.5.2 Delay-Bandwidth Product
1.5.3 High-Speed Networks
1.5.4 Application Performance Needs
1.6 Summary Open Issue Ubiquitous Networking Further Reading Exercises
2 Direct Link Networks
Problem Physically Connecting Hosts
2.1 Hardware Building Blocks
2.1.1 Nodes
2.1.2 Links
2.2 Encoding (NRZ, NRZI, Manchester, 4B/5B)
2.3 Framing
2.3.1 Byte-Oriented Protocols (PPP)
2.3.2 Bit-Oriented Protocols (HDLC)
2.3.3 Clock-Based Framing (SONET)
2.4 Error Detection
2.4.1 Two-Dimensional Parity
2.4.2 Internet Checksum Algorithm
2.4.3 Cyclic Redundancy Check
2.5 Reliable Transmission
2.5.1 Stop-and-Wait
2.5.2 Sliding Window
2.5.3 Concurrent Logical Channels
2.6 Ethernet (802.3)
2.6.1 Physical Properties
2.6.2 Access Protocol
2.6.3 Experience with Ethernet
2.7 Rings (802.5, FDDI, RPR)
2.7.1 Token Ring Media Access Control
2.7.2 Token Ring Maintenance
2.7.3 FDDI
2.7.4 Resilient Packet Ring (802.17)
2.8 Wireless
2.8.1 Bluetooth/802.15.1
2.8.2 802.11/Wi-Fi
2.8.3 802.16/WiMAX
2.8.4 Cell Phone Technologies
2.9 Summary Open Issue Sensor Networks Further Reading Exercises
3 Packet Switching
4 Internetworking
5 End-to-End Protocols
6 Congestion Control and Resource Allocation
7 End-to-End Data
8 Network Security
9 Applications
Exercises
Solutions to Select Exercises
Glossary
Bibliography