1.1 | The Fundamental Need For A Laboratory   1 | |
1.2 | The Spectrum Of Possible Lab Facilities   1 | |
1.3 | A Word About Simulation   3 | |
1.4 | Organization Of The Book   3 |
2.1 | The Two Types Of Support And Their Uses   7 | |
2.2 | Support For Network Access   7 | |
2.3 | Support For Network Programming   7 | |
2.4 | Recommendations   8 | |
2.5 | Summary   8 |
3.1 | Using A Single Computer To Experiment With Applications   9 | |
3.2 | Using A Single Computer To Develop And Test Network Applications   9 | |
3.3 | Stress Testing Applications With An Emulated Internet   10 | |
3.4 | Transport Protocol Development On A Single Computer   12 | |
3.5 | Summary   12 |
4.1 | Consequences Of Sharing   25 | |
4.2 | Example Shared Lab Technologies   25 | |
4.3 | Architecture Of A Shared Lab   26 | |
4.4 | Using A Shared Lab In A Networking Course   26 | |
4.5 | Broadcast Domain Assumption   26 | |
4.6 | Summary   27 |
5.1 | Introduction   29 | |
5.2 | Obtaining Software For The API   30 | |
5.3 | Summary   30 |
6.1 | Introduction   37 | |
6.2 | Information About Sockets   37 | |
6.3 | A Note About The Difficulty Of Socket Programming   38 | |
6.4 | Summary   38 |
7.1 | Introduction   47 | |
7.2 | Summary   47 |
8.1 | Introduction   55 | |
8.2 | Stress Testing Protocols   55 | |
8.3 | Internet Emulation With A Gateway   55 | |
8.4 | Emulation Behavior   56 | |
8.5 | Gateway Details   56 | |
8.6 | Gateway Registration Message   57 | |
8.7 | Packet Exchange   58 | |
8.8 | Error Processing   59 | |
8.9 | Gateway Semantics And Defaults   59 | |
8.10 | Possible Extensions   60 | |
8.11 | Summary   60 |
9.1 | Introduction   71 | |
9.2 | Difficulties And Rewards   71 | |
9.3 | Summary   72 |
10.1 | The Ideal Measurement Lab   81 | |
10.2 | Alternatives To An Isolated Network   81 | |
10.3 | Augmentation   82 | |
10.4 | Protecting The Production Network   82 | |
10.5 | Computers On A Private Network   82 | |
10.6 | Summary   83 |
11.1 | Introduction   85 | |
11.2 | Measuring Throughput   85 | |
11.3 | Summary   85 |
12.1 | Introduction   93 | |
12.2 | Promiscuous Mode And Hubs   93 | |
12.3 | Manual Packet Inspection   93 | |
12.4 | Summary   94 |
13.1 | Introduction   103 | |
13.2 | Protocol Sequences At Each Layer   103 | |
13.3 | Summary   103 |
14.1 | Dedicated Vs. Production Facilities   113 | |
14.2 | Characteristics Of A Dedicated Intranet Lab   113 | |
14.3 | Example Equipment In A Dedicated Lab   114 | |
14.4 | Summary   114 |
15.1 | Introduction   115 | |
15.2 | Organization Of Chapters   115 | |
15.3 | Summary   115 |
16.1 | Introduction   123 | |
16.2 | Web Technologies   123 | |
16.3 | Summary   124 |
17.1 | Introduction   131 | |
17.2 | Indirect Vs. Direct Observation   131 | |
17.3 | Summary   131 |
18.1 | Introduction   141 | |
18.2 | Flexible Abstractions   141 | |
18.3 | Summary   141 |
19.1 | Introduction   151 | |
19.2 | The Need For Two Computers   151 | |
19.3 | Front-end And Back-end Computers In A Lab   152 | |
19.4 | Functional Requirements   152 | |
19.5 | An Example Architecture   153 | |
19.6 | Operation Of The Author's Lab   154 | |
19.7 | Automated Recovery   155 | |
19.8 | Organization Of The Lab Software   156 | |
19.9 | Reset Controller Hardware   157 | |
19.10 | Scaling The Architecture   158 | |
19.11 | Virtual Lab   159 | |
19.12 | Further Details   160 | |
19.13 | Summary   160 |
20.1 | Introduction   161 | |
20.2 | The Value Of Building A Stack   161 | |
20.3 | Summary   162 |
21.1 | Network Processors   171 | |
21.2 | Facilities Needed   172 | |
21.3 | Hardware For An Example Lab   172 | |
21.4 | A Network Processor Testbed   172 | |
21.5 | Software For The Example Lab   173 | |
21.6 | Relationship To Previous Lab Architectures   174 | |
21.7 | Summary   174 |
22.1 | Introduction   175 | |
22.2 | Summary   175 |