|
Companion Topics
|
Links to Chapter and Experiment NotesContents
1.1 The Fundamental Need For A Laboratory 1.2 The Spectrum Of Possible Lab Facilities 1.3 A Word About Simulation 1.4 Organization Of The Book Part I: A Single ComputerChapter 2: Hardware And Software On A Single Computer 2.1 The Two Types Of Support And Their Uses 2.2 Support For Network Access 2.3 Support For Network Programming 2.4 Recommendations 2.5 Summary Chapter 3: Using A Single Computer For Probing And Testing 3.1 Using A Single Computer To Probe The Internet 3.2 Using A Single Computer To Develop And Test Network Applications 3.3 Stress Testing Applications With An Emulated Internet 3.4 Transport Protocol Development On A Single Computer 3.5 Summary Experiment 3.1: Use telnet to contact a fortune server Experiment 3.2: Use telnet to contact a web server Experiment 3.3: Use telnet to send an email message Experiment 3.4: Use the ping program Experiment 3.5: Download and use a packet capture tool Part II: Network Programming On A Set Of Shared WorkstationsChapter 4: Hardware And Software For A Shared Workstation Lab 4.1 Consequences Of Sharing 4.2 Example Shared Lab Technologies 4.3 Architecture Of A Shared Lab 4.4 Using A Shared Lab In A Networking Course 4.5 Broadcast Domain Assumption 4.6 Summary Chapter 5: Network Programming Experiments Using A Simplified API 5.1 Introduction 5.2 Obtaining Software For The API Experiment 5.1: Compile, test, and extend example Echo software Experiment 5.2: Compile, test, and extend example Chat software Experiment 5.3: Build a simple file transfer service Chapter 6: Network Programming Experiments Using The Socket API 6.1 Introduction 6.2 Information About Sockets 6.3 A Note About The Difficulty Of Socket Programming 6.4 Summary Experiment 6.1: Compile, link, and run a socket program Experiment 6.2: Write an echo client and server using sockets Experiment 6.3: Build a web server using sockets Experiment 6.4: Build a library for a network API Chapter 7: Concurrent Network Programming Experiments 7.1 Introduction Experiment 7.1: Build a concurrent server (threads) Experiment 7.2: Build a concurrent file transfer server (processes) Experiment 7.3: Build a multiservice server Chapter 8: Protocol Design Experiments 8.1 Introduction 8.2 Stress Testing Protocols 8.3 Internet Emulation With A Gateway 8.4 Emulation Behavior 8.5 Gateway Details 8.6 Gateway Registration Message 8.7 Packet Exchange 8.8 Error Processing 8.9 Gateway Semantics And Defaults 8.10 Possible Extensions 8.11 Summary Experiment 8.1: Build an internet emulation gateway Experiment 8.2: Design a clock synchronization protocol Experiment 8.3: Design a reliable data transfer protocol Experiment 8.4: Design a sliding window protocol Experiment 8.5: Debug An Application Protocol Chapter 9: Experiments With Protocols From The TCP/IP Suite 9.1 Introduction 9.2 Difficulties And Rewards 9.3 Summary Experiment 9.1: Build a client for the Time protocol Experiment 9.2: Build a domain name system client program Experiment 9.3: Build a DHCP client Part III: Measurement And Packet Analysis On Augmented WorkstationsChapter 10: Hardware And Software For An Augmented Shared Lab 10.1 The Ideal Measurement Lab 10.2 Alternatives To An Isolated Network 10.3 Augmentation 10.4 Protecting The Production Network 10.5 Computers On A Private Network 10.6 Summary Chapter 11: Network Measurement Experiments 11.1 Introduction 11.2 Measuring Throughput 11.3 Summary Experiment 11.1: Compile and test ttcp Experiment 11.2: Measure 10 and 100 Mbps network throughput Experiment 11.3: Compare throughput of a switch and a hub Chapter 12: Packet Capture And Analysis Experiments 12.1 Introduction 12.2 Promiscuous Mode And Hubs 12.3 Manual Packet Inspection 12.4 Summary Experiment 12.1: Capture and decode ethernet frames Experiment 12.2: Decode an IP header Experiment 12.3: Decode TCP segment headers Experiment 12.4: Build a packet analyzer Chapter 13: Protocol Observation Experiments 13.1 Introduction 13.2 Protocol Sequences At Each Layer 13.3 Summary Experiment 13.1: Capture and reassemble IP fragments Experiment 13.2: Extract data from a TCP stream Experiment 13.3: Observe concurrent TCP connections Part IV: Configuration Experiments In A Dedicated Intranet LabChapter 14: Hardware And Software For A Dedicated Intranet Lab 14.1 Dedicated Vs. Production Facilities 14.2 Characteristics Of A Dedicated Intranet Lab 14.3 Example Equipment In A Dedicated Lab 14.4 Summary Chapter 15: Internet Address Configuration Experiments 15.1 Introduction 15.2 Organization Of Chapters 15.3 Summary Experiment 15.1: Configure IP addresses Experiment 15.2: Assign fixed-length IP subnet addresses Experiment 15.3: Assign IP addresses using CIDR Chapter 16: Web Technology Configuration Experiments 16.1 Introduction 16.2 Web Technologies 16.3 Summary Experiment 16.1: Configure an Apache web server Experiment 16.2: Download and configure a Squid cache Experiment 16.3: Configure and test a web load balancer Chapter 17: IP Routing And IP Forwarding Experiments 17.1 Introduction to examine a routing table 17.2 Indirect Vs. Direct Observation 17.3 Summary Experiment 17.1: Use netstat Experiment 17.2: Use SNMP to probe a routing table Experiment 17.3: Configure and run rip software Experiment 17.4: Configure and run OSPF software Chapter 18: Virtual And Protected Internet Environment Experiments 18.1 Introduction 18.2 Flexible Abstractions 18.3 Summary 129 Experiment 18.1: Configure a DNS server Experiment 18.2: Install and configure a NAT box Experiment 18.3: Install and configure a VPN Part V: Protocol Stack Implementation In A Special-Purpose LabChapter 19: Hardware And Software For A Special-Purpose Protocol Development Lab 19.1 Introduction 19.2 The Need For Two Computers 19.3 Front-End and Back-End Computers In A Lab 19.4 Functional Requirements 19.5 An Example Architecture 19.6 Operation Of The Author's Lab 19.7 Automated Recovery 19.8 Organization Of The Lab Software 19.9 Reset Controller Hardware 19.10 Scaling The Architecture 19.11 Virtual Lab 19.12 Summary 19.13 Further Details Chapter 20: Protocol Stack Development Experiments 20.1 Introduction 20.2 The Value Of Building A Stack 20.3 Summary Experiment 20.1: Interface with a network device driver Experiment 20.2: Build an IP forwarding mechanism Experiment 20.3: Implement an IP router Part VI: System Design In A Network System Engineering LabChapter 21: Hardware And Software For A Network System Engineering Lab 21.1 Network Processors 21.2 Facilities Needed 21.3 Hardware For An Example Lab 21.4 A Network Processor Testbed 21.5 Software For The Example Lab 21.6 Relationship To Previous Lab Architectures 2 21.7 Summary 162 Chapter 22: Network Systems Engineering Experiments 22.1 Introduction Experiment 22.1: Compile and download network processor code Experiment 22.2: Implement packet classification with a network processor This site is maintained by W. David Laverell of the Computer Science Department at Calvin College. For assistance or corrections, please contact him at lave@calvin.edu. |