| |
| |
| |
Computer Networks and the Internet | |
| |
| |
| |
What Is the Internet? | |
| |
| |
| |
A Nuts-and-Bolts Description | |
| |
| |
| |
A Services Description | |
| |
| |
| |
What Is a Protocol? | |
| |
| |
| |
The Network Edge | |
| |
| |
| |
Access Networks | |
| |
| |
| |
Physical Media | |
| |
| |
| |
The Network Core | |
| |
| |
| |
Packet Switching | |
| |
| |
| |
Circuit Switching | |
| |
| |
| |
A Network of Networks | |
| |
| |
| |
Delay, Loss, and Throughput in Packet-Switched Networks | |
| |
| |
| |
Overview of Delay in Packet-Switched Networks | |
| |
| |
| |
Queuing Delay and Packet Loss | |
| |
| |
| |
End-to-End Delay | |
| |
| |
| |
Throughput in Computer Networks | |
| |
| |
| |
Protocol Layers and Their Service Models | |
| |
| |
| |
Layered Architecture | |
| |
| |
| |
Encapsulation | |
| |
| |
| |
Networks Under Attack | |
| |
| |
| |
History of Computer Networking and the Internet | |
| |
| |
| |
The Development of Packet Switching: 1961-1972 | |
| |
| |
| |
Proprietary Networks and Internetworking: 1972-1980 | |
| |
| |
| |
A Proliferation of Networks: 1980-1990 | |
| |
| |
| |
The Internet Explosion: The 1990s | |
| |
| |
| |
The New Millennium | |
| |
| |
| |
Summary | |
| |
| |
Homework Problems and Questions | |
| |
| |
Problems | |
| |
| |
Wireshark Lab | |
| |
| |
Interview: Leonard Kleinrock | |
| |
| |
| |
Application Layer | |
| |
| |
| |
Principles of Network Applications | |
| |
| |
| |
Network Application Architectures | |
| |
| |
| |
Processes Communicating | |
| |
| |
| |
Transport Services Available to Applications | |
| |
| |
| |
Transport Services Provided by the Internet | |
| |
| |
| |
Application-Layer Protocols | |
| |
| |
| |
Network Applications Covered in This Book | |
| |
| |
| |
The Web and HTTP | |
| |
| |
| |
Overview of HTTP | |
| |
| |
| |
Non-Persistent and Persistent Connections | |
| |
| |
| |
HTTP Message Format | |
| |
| |
| |
User-Server Interaction: Cookies | |
| |
| |
| |
Web Caching | |
| |
| |
| |
The Conditional GET | |
| |
| |
| |
File Transfer: FTP | |
| |
| |
| |
FTP Commands and Replies | |
| |
| |
| |
Electronic Mail in the Internet | |
| |
| |
| |
SMTP | |
| |
| |
| |
Comparison with HTTP | |
| |
| |
| |
Mail Message Format | |
| |
| |
| |
Mail Access Protocols | |
| |
| |
| |
DNS-The Internet's Directory Service | |
| |
| |
| |
Services Provided by DNS | |
| |
| |
| |
Overview of How DNS Works | |
| |
| |
| |
DNS Records and Messages | |
| |
| |
| |
Peer-to-Peer Applications | |
| |
| |
| |
P2P File Distribution | |
| |
| |
| |
Distributed Hash Tables (DHTs) | |
| |
| |
| |
Case Study: P2P Internet Telephony with Skype | |
| |
| |
| |
Socket Programming: Creating Network Applications | |
| |
| |
| |
Socket Programming with UDP | |
| |
| |
| |
Socket Programming with TCP | |
| |
| |
| |
Summary | |
| |
| |
Homework Problems and Questions | |
| |
| |
Problems | |
| |
| |
Socket Programming Assignments | |
| |
| |
Wireshark Labs | |
| |
| |
Interview: Bram Cohen | |
| |
| |
| |
Transport Layer | |
| |
| |
| |
Introduction and Transport-Layer Services | |
| |
| |
| |
Relationship Between Transport and Network Layers | |
| |
| |
| |
Overview of the Transport Layer in the Internet | |
| |
| |
| |
Multiplexing and Demultiplexing | |
| |
| |
| |
Connectionless Transport: UDP | |
| |
| |
| |
UDP Segment Structure | |
| |
| |
| |
UDP Checksum | |
| |
| |
| |
Principles of Reliable Data Transfer | |
| |
| |
| |
Building a Reliable Data Transfer Protocol | |
| |
| |
| |
Pipelined Reliable Data Transfer Protocols | |
| |
| |
| |
Go-Back-N (GBN) | |
| |
| |
| |
Selective Repeat (SR) | |
| |
| |
| |
Connection-Oriented Transport: TCP | |
| |
| |
| |
The TCP Connection | |
| |
| |
| |
TCP Segment Structure | |
| |
| |
| |
Round-Trip Time Estimation and Timeout | |
| |
| |
| |
Reliable Data Transfer | |
| |
| |
| |
Flow Control | |
| |
| |
| |
TCP Connection Management | |
| |
| |
| |
Principles of Congestion Control | |
| |
| |
| |
The Causes and the Costs of Congestion | |
| |
| |
| |
Approaches to Congestion Control | |
| |
| |
| |
Network-Assisted Congestion-Control Example:ATM ABR Congestion Control | |
| |
| |
| |
TCP Congestion Control | |
| |
| |
| |
Fairness | |
| |
| |
| |
Summary | |
| |
| |
Homework Problems and Questions | |
| |
| |
Problems | |
| |
| |
Programming Assignments | |
| |
| |
Wireshark Lab: Exploring TCP | |
| |
| |
Wireshark Lab: Exploring UDP | |
| |
| |
Interview: Sally Floyd | |
| |
| |
| |
The Network Layer | |
| |
| |
| |
Introduction | |
| |
| |
| |
Forwarding and Routing | |
| |
| |
| |
Network Service Models | |
| |
| |
| |
Virtual Circuit and Datagram Networks | |
| |
| |
| |
Virtual-Circuit Networks | |
| |
| |
| |
Datagram Networks | |
| |
| |
| |
Origins of VC and Datagram Networks | |
| |
| |
| |
What's Inside a Router? | |
| |
| |
| |
Input Processing | |
| |
| |
| |
Switching | |
| |
| |
| |
Output Processing | |
| |
| |
| |
Where Does Queuing Occur? | |
| |
| |
| |
The Routing Control Plane | |
| |
| |
| |
The Internet Protocol (IP): Forwarding and Addressing in the Internet | |
| |
| |
| |
Datagram Format | |
| |
| |
| |
IPv4 Addressing | |
| |
| |
| |
Internet Control Message Protocol (ICMP) | |
| |
| |
| |
IPv6 | |
| |
| |
| |
A Brief Introduction into IP Security | |
| |
| |
| |
Routing Algorithms | |
| |
| |
| |
The Link-State (LS) Routing Algorithm | |
| |
| |
| |
The Distance-Vector (DV) Routing Algorithm | |
| |
| |
| |
Hierarchical Routing | |
| |
| |
| |
Routing in the Internet | |
| |
| |
| |
Intra-AS Routing in the Internet: RIP | |
| |
| |
| |
Intra-AS Routing in the Internet: OSPF | |
| |
| |
| |
Inter-AS Routing: BGP | |
| |
| |
| |
Broadcast and Multicast Routing | |
| |
| |
| |
Broadcast Routing Algorithms | |
| |
| |
| |
Multicast | |
| |
| |
| |
Summary | |
| |
| |
Homework Problems and Questions | |
| |
| |
Problems | |
| |
| |
Socket Programming Assignment | |
| |
| |
Programming Assignment | |
| |
| |
Wireshark Labs | |
| |
| |
Interview: Vinton G. Cerf | |
| |
| |
| |
The Link Layer: Links, Access Networks, and LANs | |
| |
| |
| |
Introduction to the Link Layer | |
| |
| |
| |
The Services Provided by the Link Layer | |
| |
| |
| |
Where Is the Link Layer Implemented? | |
| |
| |
| |
Error-Detection and -Correction Techniques | |
| |
| |
| |
Parity Checks | |
| |
| |
| |
Checksumming Methods | |
| |
| |
| |
Cyclic Redundancy Check (CRC) | |
| |
| |
| |
Multiple Access Links and Protocols | |
| |
| |
| |
Channel Partitioning Protocols | |
| |
| |
| |
Random Access Protocols | |
| |
| |
| |
Taking-Turns Protocols | |
| |
| |
| |
DOCSIS: The Link-Layer Protocol for Cable Internet Access | |
| |
| |
| |
Switched Local Area Networks | |
| |
| |
| |
Link-Layer Addressing and ARP | |
| |
| |
| |
Ethernet | |
| |
| |
| |
Link-Layer Switches | |
| |
| |
| |
Virtual Local Area Networks (VLANs) | |
| |
| |
| |
Link Virtualization: A Network as a Link Layer | |
| |
| |
| |
Multiprotocol Label Switching (MPLS) | |
| |
| |
| |
Data Center Networking | |
| |
| |
| |
Retrospective: A Day in the Life of a Web Page Request | |
| |
| |
| |
Getting Started: DHCP, UDP, IP, and Ethernet | |
| |
| |
| |
Still Getting Started: DNS, ARP | |
| |
| |
| |
Still Getting Started: Intra-Domain Routing to the DNS Server | |
| |
| |
| |
Web Client-Server Interaction: TCP and HTTP | |
| |
| |
| |
Summary | |
| |
| |
Homework Problems and Questions | |
| |
| |
Problems | |
| |
| |
Wireshark Labs | |
| |
| |
Interview: Simon S. Lam | |
| |
| |
| |
Wireless and Mobile Networks | |
| |
| |
| |
Introduction | |
| |
| |
| |
Wireless Links and Network Characteristics | |
| |
| |
| |
CDMA | |
| |
| |
| |
WiFi: 802.11 Wireless LANs | |
| |
| |
| |
The 802.11 Architecture | |
| |
| |
| |
The 802.11 MAC Protocol | |
| |
| |
| |
The IEEE 802.11 Frame | |
| |
| |
| |
Mobility in the Same IP Subnet | |
| |
| |
| |
Advanced Features in 802.11 | |
| |
| |
| |
Personal Area Networks: Bluetooth and Zipbee | |
| |
| |
| |
Cellular Internet Access | |
| |
| |
| |
An Overview of Cellular Network Architecture | |
| |
| |
| |
3G Cellular Data Networks: Extending the Internet to Cellular Subscribers | |
| |
| |
| |
On to 4G: LTE | |
| |
| |
| |
Mobility Management: Principles | |
| |
| |
| |
Addressing | |
| |
| |
| |
Routing to a Mobile Node | |
| |
| |
| |
Mobile IP | |
| |
| |
| |
Managing Mobility in Cellular Networks | |
| |
| |
| |
Routing Calls to a Mobile User | |
| |
| |
| |
Handoffs in GSM | |
| |
| |
| |
Wireless and Mobility: Impact on Higher-Layer Protocols | |
| |
| |
| |
Summary | |
| |
| |
Homework Problems and Questions | |
| |
| |
Problems | |
| |
| |
Wireshark Labs | |
| |
| |
Interview: Deborah Estrin | |
| |
| |
| |
Multimedia Networking | |
| |
| |
| |
Multimedia Networking Applications | |
| |
| |
| |
Properties of Video | |
| |
| |
| |
Properties of Audio | |
| |
| |
| |
Types of Multimedia Network Applications | |
| |
| |
| |
Streaming Stored Video | |
| |
| |
| |
UDP Streaming | |
| |
| |
| |
HTTP Streaming | |
| |
| |
| |
Adaptive Streaming and DASH | |
| |
| |
| |
Content Distribution Networks | |
| |
| |
| |
Case Studies: Netflix, YouTube, and KanKan | |
| |
| |
| |
Voice-over-IP | |
| |
| |
| |
Limitations of the Best-Effort IP Service | |
| |
| |
| |
Removing Jitter at the Receiver for Audio | |
| |
| |
| |
Recovering from Packet Loss | |
| |
| |
| |
Case Study: Internet Telephony with Skype | |
| |
| |
| |
Protocols for Real-Time Interactive Applications | |
| |
| |
| |
RTP | |
| |
| |
| |
SIP | |
| |
| |
| |
Network Support for Multimedia | |
| |
| |
| |
Dimensioning Best-Effort Networks | |
| |
| |
| |
Providing Multiple Classes of Service | |
| |
| |
| |
Diffserv | |
| |
| |
| |
Per-Connection Quality-of-Service (QoS) Guarantees:Resource Reservation and Call Admission | |
| |
| |
| |
Summary | |
| |
| |
Homework Problems and Questions | |
| |
| |
Problems | |
| |
| |
Programming Assignment | |
| |
| |
Interview: Henning Schulzrinne | |
| |
| |
| |
Security in Computer Networks | |
| |
| |
| |
What Is Network Security? | |
| |
| |
| |
Principles of Cryptography | |
| |
| |
| |
Symmetric Key Cryptography | |
| |
| |
| |
Public Key Encryption | |
| |
| |
| |
Message Integrity and Digital Signatures | |
| |
| |
| |
Cryptographic Hash Functions | |
| |
| |
| |
Message Authentication Code | |
| |
| |
| |
Digital Signatures | |
| |
| |
| |
End-Point Authentication | |
| |
| |
| |
Authentication Protocol ap1.0 | |
| |
| |
| |
Authentication Protocol ap2.0 | |
| |
| |
| |
Authentication Protocol ap3.0 | |
| |
| |
| |
Authentication Protocol ap3.1 | |
| |
| |
| |
Authentication Protocol ap4.0 | |
| |
| |
| |
Securing E-mail | |
| |
| |
| |
Secure E-mail | |
| |
| |
| |
PGP | |
| |
| |
| |
Securing TCP Connections: SSL | |
| |
| |
| |
The Big Picture | |
| |
| |
| |
A More Complete Picture | |
| |
| |
| |
Network-Layer Security: IPsec and Virtual Private Networks | |