Douglas E. Comer


Computer Science Department
Purdue University
West Lafayette, IN 47907

webmaster: W. David Laverell


Companion Topics

Home

Book Information

Purpose of Site

Getting Started

Students

Faculty

What's New

Coming Attractions

C Pointers

Topics

Acknowledgements

 

 
Hands-On Networking: Main Student Page

Links to Chapter and Experiment Notes

Contents

    Chapter 1: Introduction And Overview

      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 Computer


    Chapter 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

Part II: Network Programming On A Set Of Shared Workstations


    Chapter 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

    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

    Chapter 7: Concurrent Network Programming Experiments
    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

    Chapter 9: Experiments With Protocols From The TCP/IP Suite

Part III: Measurement And Packet Analysis On Augmented Workstations


    Chapter 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

    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 Lab


    Chapter 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
Chapter 16: Web Technology Configuration Experiments
Chapter 17: IP Routing And IP Forwarding Experiments
Chapter 18: Virtual And Protected Internet Environment Experiments

    18.1 Introduction
    18.2 Flexible Abstractions
    18.3 Summary 129

Part V: Protocol Stack Implementation In A Special-Purpose Lab


Chapter 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 Lab


Chapter 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