Acknowledgments |
|
xv | |
Preface |
|
xvii | |
Authors |
|
xix | |
Chapter 1 An Introduction to Networks |
|
1 | (42) |
|
1.1 Network Communication |
|
|
1 | (12) |
|
|
2 | (3) |
|
|
5 | (2) |
|
|
7 | (4) |
|
|
11 | (2) |
|
|
13 | (4) |
|
|
13 | (3) |
|
1.2.2 Classifications of Networks |
|
|
16 | (1) |
|
|
17 | (7) |
|
1.3.1 Transmission Control Protocol/Internet Protocol |
|
|
18 | (1) |
|
1.3.2 Open Systems Interconnection |
|
|
19 | (3) |
|
|
22 | (1) |
|
|
23 | (1) |
|
|
24 | (2) |
|
1.5 The Internet: An Introduction |
|
|
26 | (13) |
|
1.5.1 What Is a Network Address? |
|
|
26 | (2) |
|
|
28 | (4) |
|
1.5.3 Encryption Technologies |
|
|
32 | (4) |
|
|
36 | (1) |
|
|
37 | (2) |
|
|
39 | (1) |
|
|
39 | (1) |
|
|
40 | (1) |
|
|
41 | (2) |
Chapter 2 Case Study: Building Local Area Networks |
|
43 | (38) |
|
|
43 | (2) |
|
|
45 | (8) |
|
2.2.1 Ethernet at the Physical Layer |
|
|
45 | (4) |
|
2.2.2 Ethernet Data Link Layer Specifications |
|
|
49 | (2) |
|
2.2.3 Building an Ethernet Local Area Network |
|
|
51 | (2) |
|
2.3 Wireless Local Area Networks |
|
|
53 | (18) |
|
2.3.1 Wireless Local Area Network Topologies and Associations |
|
|
54 | (3) |
|
2.3.2 Wireless Local Area Network Standards |
|
|
57 | (2) |
|
2.3.3 Wireless Hardware Devices |
|
|
59 | (3) |
|
2.3.4 Wireless Local Area Network Frames |
|
|
62 | (3) |
|
2.3.5 Setting Up a Wireless Local Area Network |
|
|
65 | (3) |
|
2.3.6 Related Technologies |
|
|
68 | (3) |
|
2.4 Securing Your Local Area Network |
|
|
71 | (4) |
|
2.5 Virtual Private Networks |
|
|
75 | (2) |
|
|
77 | (1) |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
79 | (2) |
Chapter 3 Transmission Control Protocol/Internet Protocol |
|
81 | (44) |
|
|
81 | (1) |
|
|
82 | (12) |
|
3.2.1 File Transfer Protocol |
|
|
83 | (2) |
|
3.2.2 Dynamic Host Configuration Protocol |
|
|
85 | (2) |
|
3.2.3 Secure Sockets Layer and Transport Layer Security |
|
|
87 | (4) |
|
|
91 | (2) |
|
3.2.5 Secure Shell and Telnet |
|
|
93 | (1) |
|
|
94 | (8) |
|
3.3.1 Transmission Control Protocol Handshake and Connections |
|
|
95 | (1) |
|
3.3.2 Datagrams: Transmission Control Protocol, User Datagram Protocol, and Others |
|
|
96 | (5) |
|
3.3.3 Flow Control and Multiplexing |
|
|
101 | (1) |
|
|
102 | (16) |
|
3.4.1 Internet Protocol Version 4 and Internet Protocol Version 6 Addresses |
|
|
102 | (5) |
|
3.4.2 Internet Protocol Version 4 Packets |
|
|
107 | (2) |
|
3.4.3 Internet Protocol Version 6 Addresses |
|
|
109 | (3) |
|
3.4.4 Establishing Internet Protocol Addresses: Statically and Dynamically |
|
|
112 | (2) |
|
3.4.5 Internet Control Message Protocol and Internet Group Management Protocol |
|
|
114 | (2) |
|
3.4.6 Network Address Translation |
|
|
116 | (2) |
|
|
118 | (3) |
|
|
121 | (1) |
|
|
121 | (1) |
|
|
122 | (1) |
|
|
123 | (2) |
Chapter 4 Case Study: Transmission Control Protocol/Internet Protocol Tools |
|
125 | (36) |
|
4.1 Packet Capture Programs |
|
|
125 | (12) |
|
|
126 | (10) |
|
|
136 | (1) |
|
|
137 | (4) |
|
4.3 Linux/Unix Network Programs |
|
|
141 | (11) |
|
4.3.1 The Linux/Unix ip Command |
|
|
142 | (1) |
|
4.3.2 Other Noteworthy Network Resources |
|
|
143 | (6) |
|
|
149 | (3) |
|
4.4 Domain Name System Commands |
|
|
152 | (4) |
|
|
156 | (2) |
|
|
158 | (1) |
|
|
158 | (1) |
|
|
159 | (1) |
|
|
160 | (1) |
Chapter 5 Domain Name System |
|
161 | (58) |
|
5.1 Domain Name System Infrastructure |
|
|
162 | (24) |
|
5.1.1 Domain Name System Client |
|
|
162 | (5) |
|
5.1.2 Domain Name System Server |
|
|
167 | (11) |
|
5.1.3 Domain Name System Databases |
|
|
178 | (8) |
|
5.2 Domain Name System Protocol |
|
|
186 | (3) |
|
5.3 Domain Name System Performance |
|
|
189 | (22) |
|
5.3.1 Client-Side Domain Name System Caching |
|
|
191 | (3) |
|
5.3.2 Server-Side Domain Name System Caching |
|
|
194 | (2) |
|
5.3.3 Domain Name System Prefetching |
|
|
196 | (2) |
|
5.3.4 Load Balancing and Domain Name System-Based Load Balancing |
|
|
198 | (11) |
|
5.3.5 Client-Side Domain Name System versus Server-Side Domain Name System Load Balancing |
|
|
209 | (2) |
|
5.4 Domain Name System-Based Content Distribution Networks |
|
|
211 | (2) |
|
5.5 Domain Name System-Based Spam Prevention |
|
|
213 | (2) |
|
|
215 | (1) |
|
|
215 | (1) |
|
|
216 | (1) |
|
|
217 | (2) |
Chapter 6 Case Study: BIND and DHCP |
|
219 | (42) |
|
|
219 | (24) |
|
|
219 | (2) |
|
|
221 | (7) |
|
6.1.3 Running the BIND Server |
|
|
228 | (1) |
|
|
229 | (1) |
|
6.1.5 Simple BIND Configuration Example |
|
|
230 | (5) |
|
6.1.6 Master and Slave BIND Configuration Example |
|
|
235 | (2) |
|
6.1.7 Configuring Caching-Only and Forwarding DNS Servers |
|
|
237 | (6) |
|
6.2 Dynamic Internet Protocol Addressing |
|
|
243 | (9) |
|
6.2.1 Dynamic Host Configuration Protocol |
|
|
243 | (2) |
|
|
245 | (6) |
|
6.2.3 Integrating the ISC DHCP Server with the BIND DNS Server |
|
|
251 | (1) |
|
6.3 Configuring Dnssec for a Bind Server |
|
|
252 | (4) |
|
|
256 | (1) |
|
|
257 | (1) |
|
|
258 | (1) |
|
|
259 | (2) |
Chapter 7 Introduction to Web Servers |
|
261 | (46) |
|
7.1 Hypertext Transfer Protocol |
|
|
262 | (10) |
|
7.1.1 How Hypertext Transfer Protocol Works |
|
|
262 | (4) |
|
7.1.2 Hypertext Transfer Protocol Request and Response Messages |
|
|
266 | (5) |
|
|
271 | (1) |
|
7.2 Hypertext Transfer Protocol Secure and Building Digital Certificates |
|
|
272 | (4) |
|
|
276 | (5) |
|
|
281 | (4) |
|
7.4.1 Language Negotiation |
|
|
282 | (1) |
|
7.4.2 Other Forms of Negotiation |
|
|
283 | (2) |
|
7.5 Server-Side Includes and Scripts |
|
|
285 | (5) |
|
7.5.1 Uses of Common Gateway Interface |
|
|
286 | (1) |
|
7.5.2 Server-Side Includes |
|
|
286 | (2) |
|
7.5.3 Server-Side Scripts |
|
|
288 | (2) |
|
7.6 Other Web Server Features |
|
|
290 | (6) |
|
|
290 | (1) |
|
|
291 | (1) |
|
|
292 | (1) |
|
|
293 | (1) |
|
7.6.5 Forms of Redirection |
|
|
294 | (2) |
|
|
296 | (8) |
|
|
297 | (2) |
|
7.7.2 Web Server Security |
|
|
299 | (3) |
|
|
302 | (2) |
|
|
304 | (1) |
|
|
304 | (1) |
|
|
305 | (1) |
|
|
306 | (1) |
Chapter 8 Case Study: The Apache Web Server |
|
307 | (66) |
|
8.1 Installing and Running Apache |
|
|
307 | (5) |
|
8.1.1 Installing an Apache Executable |
|
|
307 | (1) |
|
8.1.2 Installing Apache from Source Code |
|
|
308 | (3) |
|
|
311 | (1) |
|
8.2 Basic Apache Configuration |
|
|
312 | (19) |
|
|
313 | (2) |
|
|
315 | (5) |
|
8.2.3 Directory Containers |
|
|
320 | (5) |
|
|
325 | (1) |
|
|
326 | (3) |
|
|
329 | (2) |
|
|
331 | (2) |
|
8.4 Advanced Configuration |
|
|
333 | (12) |
|
|
333 | (4) |
|
8.4.2 Content Negotiation |
|
|
337 | (4) |
|
|
341 | (2) |
|
8.4.4 Authentication and Handling Hypertext Transfer Protocol Secure |
|
|
343 | (2) |
|
8.5 Other Useful Apache Features |
|
|
345 | (12) |
|
|
345 | (1) |
|
8.5.2 Controlling Headers |
|
|
346 | (3) |
|
|
349 | (3) |
|
|
352 | (2) |
|
8.5.5 Controlling Caching |
|
|
354 | (1) |
|
8.5.6 Efficiency Considerations |
|
|
355 | (2) |
|
8.6 Redirection and Rewrite Rules |
|
|
357 | (4) |
|
8.7 Executing Server-Side Scripts in Apache |
|
|
361 | (6) |
|
|
367 | (1) |
|
|
367 | (2) |
|
|
369 | (1) |
|
|
370 | (3) |
Chapter 9 Web Caching |
|
373 | (38) |
|
9.1 Introduction to the Cache |
|
|
374 | (3) |
|
|
377 | (6) |
|
9.2.1 Cache Replacement Strategies |
|
|
377 | (3) |
|
|
380 | (3) |
|
|
383 | (5) |
|
9.4 Establishing a Web Proxy |
|
|
388 | (10) |
|
|
389 | (1) |
|
9.4.2 Proxy Auto Configuration |
|
|
390 | (1) |
|
9.4.3 Web Cache Communication Protocol Interception |
|
|
391 | (7) |
|
9.5 Dynamic Proxy Caching Techniques |
|
|
398 | (7) |
|
9.5.1 Caching Partial Content of Dynamic Pages |
|
|
398 | (2) |
|
9.5.2 Dynamic Content Caching Protocol |
|
|
400 | (3) |
|
9.5.3 Internet Content Adaptation Protocol |
|
|
403 | (1) |
|
9.5.4 Database Query Result Caching |
|
|
404 | (1) |
|
|
405 | (1) |
|
|
405 | (1) |
|
|
406 | (3) |
|
|
409 | (2) |
Chapter 10 Case Study: The Squid Proxy Server |
|
411 | (42) |
|
10.1 Introduction to Squid |
|
|
412 | (1) |
|
10.2 Installing and Running Squid |
|
|
412 | (4) |
|
10.3 Basic Squid Configuration |
|
|
416 | (4) |
|
|
420 | (5) |
|
10.4.1 Squid File System Types |
|
|
420 | (2) |
|
10.4.2 Configuring Squid Caches |
|
|
422 | (3) |
|
|
425 | (9) |
|
10.6 Access Control in Squid |
|
|
434 | (7) |
|
|
435 | (2) |
|
10.6.2 Example acl Statements |
|
|
437 | (2) |
|
10.6.3 Access Control Directives |
|
|
439 | (2) |
|
10.7 Other Squid Features |
|
|
441 | (8) |
|
|
441 | (4) |
|
|
445 | (2) |
|
10.7.3 Authentication Helpers |
|
|
447 | (2) |
|
|
449 | (1) |
|
|
449 | (1) |
|
|
450 | (1) |
|
|
451 | (2) |
Chapter 11 Cloud Computing |
|
453 | (44) |
|
11.1 Web System Qualities |
|
|
454 | (8) |
|
|
454 | (4) |
|
|
458 | (4) |
|
11.2 Mechanisms to Ensure Availability |
|
|
462 | (7) |
|
11.2.1 Redundant Array of Independent Disks |
|
|
462 | (4) |
|
11.2.2 Redundant Array of Independent Network Interfaces |
|
|
466 | (2) |
|
11.2.3 High-Availability Clustering |
|
|
468 | (1) |
|
|
469 | (5) |
|
|
470 | (1) |
|
11.3.2 Horizontal Scaling |
|
|
471 | (1) |
|
|
472 | (2) |
|
|
474 | (7) |
|
11.4.1 Cloud Characteristics |
|
|
474 | (4) |
|
11.4.2 Cloud Deployment Models |
|
|
478 | (3) |
|
|
481 | (7) |
|
11.5.1 Compute Virtualization |
|
|
481 | (1) |
|
11.5.2 Storage Virtualization |
|
|
482 | (5) |
|
11.5.3 Network Virtualization |
|
|
487 | (1) |
|
|
488 | (3) |
|
|
491 | (1) |
|
|
492 | (1) |
|
|
493 | (2) |
|
|
495 | (2) |
Chapter 12 Case Study: Amazon Web Services |
|
497 | (94) |
|
12.1 Amazon Web Service Infrastructure |
|
|
497 | (3) |
|
12.1.1 Global Infrastructure |
|
|
497 | (1) |
|
12.1.2 Foundation Services |
|
|
497 | (2) |
|
|
499 | (1) |
|
12.2 Using Amazon Web Service |
|
|
500 | (3) |
|
12.2.1 Using Amazon Web Service through the Graphical User Interface |
|
|
500 | (1) |
|
12.2.2 Using the Amazon Web Service Command Line Interface |
|
|
501 | (2) |
|
12.3 Compute Service: Elastic Compute Cloud |
|
|
503 | (23) |
|
12.3.1 Elastic Compute Cloud Concepts |
|
|
503 | (3) |
|
12.3.2 Building a Virtual Server in the Cloud |
|
|
506 | (6) |
|
12.3.3 Elastic Compute Cloud Storage Service |
|
|
512 | (14) |
|
12.4 Amazon Web Service Network Service |
|
|
526 | (15) |
|
12.4.1 Virtual Private Cloud |
|
|
526 | (5) |
|
|
531 | (10) |
|
12.5 Cloudwatch, Simple Notification Service, and Elastic Load Balancer |
|
|
541 | (8) |
|
12.6 Establishing Scalability |
|
|
549 | (3) |
|
|
552 | (11) |
|
|
553 | (7) |
|
|
560 | (3) |
|
|
563 | (7) |
|
|
570 | (7) |
|
12.9.1 Email through Simple Email Service |
|
|
570 | (4) |
|
12.9.2 Relational Database Service |
|
|
574 | (3) |
|
12.10 Deployment and Logging |
|
|
577 | (8) |
|
|
577 | (6) |
|
|
583 | (2) |
|
|
585 | (1) |
|
|
585 | (2) |
|
|
587 | (4) |
Bibliography |
|
591 | (8) |
Index |
|
599 | |