An Introduction To Computer Networks - An Introduction To Computer Networks, Desktop Edition 2.0.10
An Introduction To Computer Networks - An Introduction To Computer Networks, Desktop Edition 2.0.10
10
Contents:
0 Preface
0.1 Second Edition
0.2 Licensing
0.3 German Edition
0.4 Classroom Use
0.5 Acknowledgments
0.6 Progress Notes
0.7 Technical considerations
0.8 A Note On the Cover
0.9 Recent Changes
1 An Overview of Networks
1.1 Layers
1.2 Data Rate, Throughput and Bandwidth
1.3 Packets
1.4 Datagram Forwarding
1.5 Topology
1.6 Routing Loops
1.7 Congestion
1.8 Packets Again
1.9 LANs and Ethernet
1.10 IP - Internet Protocol
1.11 DNS
1.12 Transport
1.13 Firewalls
1.14 Some Useful Utilities
1.15 IETF and OSI
1.16 Berkeley Unix
1.17 Epilog
1.18 Exercises
2 Ethernet Basics
2.1 10-Mbps Classic Ethernet
2.2 100 Mbps (Fast) Ethernet
2.3 Gigabit Ethernet
2.4 Ethernet Switches
2.5 Epilog
2.6 Exercises
3 Advanced Ethernet
3.1 Spanning Tree Algorithm and Redundancy
3.2 Virtual LAN (VLAN)
3.3 TRILL and SPB
3.4 Software-Defined Networking
3.5 Epilog
3.6 Exercises
4 Wireless LANs
4.1 Adventures in Radioland
4.2 Wi-Fi
4.3 WiMAX and LTE
4.4 Fixed Wireless
https://intronetworks.cs.luc.edu/current/html/ 1/7
2/21/23, 11:48 AM An Introduction to Computer Networks — An Introduction to Computer Networks, desktop edition 2.0.10
4.5 Epilog
4.6 Exercises
5 Other LANs
5.1 Virtual Private Networks
5.2 Carrier Ethernet
5.3 Token Ring
5.4 Virtual Circuits
5.5 Asynchronous Transfer Mode: ATM
5.6 Epilog
5.7 Exercises
6 Links
6.1 Encoding and Framing
6.2 Time-Division Multiplexing
6.3 Epilog
6.4 Exercises
7 Packets
7.1 Packet Delay
7.2 Packet Delay Variability
7.3 Packet Size
7.4 Error Detection
7.5 Epilog
7.6 Exercises
8 Abstract Sliding Windows
8.1 Building Reliable Transport: Stop-and-Wait
8.2 Sliding Windows
8.3 Linear Bottlenecks
8.4 Epilog
8.5 Exercises
9 IP version 4
9.1 The IPv4 Header
9.2 Interfaces
9.3 Special Addresses
9.4 Fragmentation
9.5 The Classless IP Delivery Algorithm
9.6 IPv4 Subnets
9.7 Network Address Translation
9.8 Unnumbered Interfaces
9.9 Mobile IP
9.10 Epilog
9.11 Exercises
10 IPv4 Companion Protocols
10.1 DNS
10.2 Address Resolution Protocol: ARP
10.3 Dynamic Host Configuration Protocol (DHCP)
10.4 Internet Control Message Protocol
10.5 Epilog
10.6 Exercises
11 IPv6
11.1 The IPv6 Header
11.2 IPv6 Addresses
11.3 Network Prefixes
11.4 IPv6 Multicast
11.5 IPv6 Extension Headers
11.6 Neighbor Discovery
11.7 IPv6 Host Address Assignment
11.8 Epilog
11.9 Exercises
https://intronetworks.cs.luc.edu/current/html/ 2/7
2/21/23, 11:48 AM An Introduction to Computer Networks — An Introduction to Computer Networks, desktop edition 2.0.10
17.6 TCP simplex-talk
17.7 TCP and bind()
17.8 TCP state diagram
17.9 Epilog
17.10 Exercises
18 TCP Issues and Alternatives
18.1 TCP Old Duplicates
18.2 TIMEWAIT
18.3 The Three-Way Handshake Revisited
18.4 Anomalous TCP scenarios
18.5 TCP Faster Opening
18.6 Path MTU Discovery
18.7 TCP Sliding Windows
18.8 TCP Delayed ACKs
18.9 Nagle Algorithm
18.10 TCP Flow Control
18.11 Silly Window Syndrome
18.12 TCP Timeout and Retransmission
18.13 KeepAlive
18.14 TCP timers
18.15 Variants and Alternatives
18.16 Epilog
18.17 Exercises
19 TCP Reno and Congestion Management
19.1 Basics of TCP Congestion Management
19.2 Slow Start
19.3 TCP Tahoe and Fast Retransmit
19.4 TCP Reno and Fast Recovery
19.5 TCP NewReno
19.6 Selective Acknowledgments (SACK)
19.7 TCP and Bottleneck Link Utilization
19.8 Single Packet Losses
19.9 TCP Assumptions and Scalability
19.10 TCP Parameters
19.11 Epilog
19.12 Exercises
20 Dynamics of TCP
20.1 A First Look At Queuing
20.2 Bottleneck Links with Competition
20.3 TCP Reno Fairness with Synchronized Losses
20.4 Epilog
20.5 Exercises
21 Further Dynamics of TCP
21.1 Notions of Fairness
21.2 TCP Reno loss rate versus cwnd
21.3 TCP Friendliness
21.4 AIMD Revisited
21.5 Active Queue Management
21.6 The High-Bandwidth TCP Problem
21.7 The Lossy-Link TCP Problem
21.8 The Satellite-Link TCP Problem
21.9 Epilog
21.10 Exercises
22 Newer TCP Implementations
22.1 Choosing a TCP on Linux
22.2 High-Bandwidth Desiderata
22.3 RTTs
https://intronetworks.cs.luc.edu/current/html/ 4/7
2/21/23, 11:48 AM An Introduction to Computer Networks — An Introduction to Computer Networks, desktop edition 2.0.10
22.4 A Roadmap
22.5 Highspeed TCP
22.6 TCP Vegas
22.7 FAST TCP
22.8 TCP Westwood
22.9 TCP Illinois
22.10 Compound TCP
22.11 TCP Veno
22.12 TCP Hybla
22.13 DCTCP
22.14 H-TCP
22.15 TCP CUBIC
22.16 TCP BBR
22.17 Epilog
22.18 Exercises
23 Queuing and Scheduling
23.1 Queuing and Real-Time Traffic
23.2 Traffic Management
23.3 Priority Queuing
23.4 Queuing Disciplines
23.5 Fair Queuing
23.6 Applications of Fair Queuing
23.7 Hierarchical Queuing
23.8 Hierarchical Weighted Fair Queuing
23.9 Epilog
23.10 Exercises
24 Token Bucket Rate Limiting
24.1 Token Bucket Definition
24.2 Token-Bucket Examples
24.3 Multiple Token Buckets
24.4 GCRA
24.5 Guaranteeing VoIP Bandwidth
24.6 Limiting Delay
24.7 Token Bucket Through One Router
24.8 Token Bucket Through Multiple Routers
24.9 Delay Constraints
24.10 CBQ
24.11 Linux HTB
24.12 Parekh-Gallager Theorem
25 Quality of Service
25.1 Net Neutrality
25.2 Where the Wild Queues Are
25.3 Real-time Traffic
25.4 Integrated Services / RSVP
25.5 Global IP Multicast
25.6 RSVP
25.7 Differentiated Services
25.8 RED with In and Out
25.9 NSIS
25.10 Comcast Congestion-Management System
25.11 Real-time Transport Protocol (RTP)
25.12 Multi-Protocol Label Switching (MPLS)
25.13 Epilog
25.14 Exercises
26 Network Management and SNMP
26.1 Network Architecture
26.2 SNMP Basics
https://intronetworks.cs.luc.edu/current/html/ 5/7
2/21/23, 11:48 AM An Introduction to Computer Networks — An Introduction to Computer Networks, desktop edition 2.0.10
31.8 Exercises
32 The ns-3 Network Simulator
32.1 Installing and Running ns-3
32.2 A Single TCP Sender
32.3 Wireless
32.4 Exercises
33 Bibliography
Exercise-Numbering Conversion Tables
34 Selected Solutions
34.1 Solutions for An Overview of Networks
34.2 Solutions for Ethernet
34.3 Solutions for Advanced Ethernet
34.4 Solutions for Wireless LANs
34.5 Solutions for Other LANs
34.6 Solutions for Links
34.7 Solutions for Packets
34.8 Solutions for Sliding Windows
34.9 Solutions for IPv4
34.10 Solutions for Routing-Update Algorithms
34.11 Solutions for Large-Scale IP Routing
34.12 Solutions for Border Gateway Protocol
34.13 Solutions for UDP
34.14 Solutions for TCP Reno and Congestion Management
34.15 Solutions for Dynamics of TCP
34.16 Solutions for Dynamics of TCP
34.17 Solutions for Queuing and Scheduling
34.18 Solutions for Mininet
https://intronetworks.cs.luc.edu/current/html/ 7/7