| Tables | xvii |
| Introduction | xxi |
| PART I THE NETWORK INTERFACE LAYER | |
| 1 Local Area Network (LAN) Technologies | 3 |
| LAN Encapsulations | 3 |
| Ethernet | 4 |
| Ethernet II | 5 |
| IEEE 802.3 | 9 |
| IEEE 802.3 SNAP | 12 |
| Special Bits on Ethernet MAC Addresses | 14 |
| Token Ring | 16 |
| IEEE 802.5 | 16 |
| IEEE 802.5 SNAP | 20 |
| Special Bits on Token Ring MAC Addresses | 22 |
| FDDI | 24 |
| FDDI Frame Format | 24 |
| FDDI SNAP | 26 |
| Special Bits on FDDI MAC Addresses | 28 |
| IEEE 802.11 | 29 |
| IEEE 802.11 Frame Format | 29 |
| IEEE 802.11 SNAP | 33 |
| Summary | 34 |
| 2 Wide Area Network (WAN) Technologies | 35 |
| WAN Encapsulations | 35 |
| Point-to-Point Encapsulation | 36 |
| SLIP | 36 |
| PPP | 38 |
| PPP Multilink Protocol | 42 |
| X.25 | 45 |
| X.25 Encapsulation | 46 |
| Frame Relay | 48 |
| Frame Relay Encapsulation | 50 |
| ATM | 52 |
| The ATM Cell | 53 |
| ATM Architecture | 55 |
| AAL5 | 58 |
| Multiprotocol Encapsulation with AAL5 | 61 |
| Summary | 62 |
| 3 Address Resolution Protocol (ARP) | 63 |
| Overview of ARP | 63 |
| The ARP Cache | 64 |
| Updating the MAC Address | 66 |
| ARP Registry Settings | 66 |
| ARP Frame Structure | 68 |
| ARP Request and ARP Reply Example | 71 |
| Gratuitous ARP and Duplicate IP Address Detection | 73 |
| IP Address Conflict Detection | 74 |
| The Gratuitous ARP and Address Conflict Exchange | 75 |
| Inverse ARP (InARP) | 76 |
| Proxy ARP | 77 |
| Summary | 79 |
| 4 Point-to-Point Protocol (PPP) | 81 |
| PPP Connection Process | 81 |
| PPP Connection Termination | 82 |
| Link Control Protocol | 83 |
| LCP Options | 84 |
| LCP Negotiation Process | 85 |
| PPP Authentication Protocols | 88 |
| PAP | 88 |
| CHAP | 90 |
| MS-CHAP | 92 |
| MS-CHAP v2 | 94 |
| EAP | 96 |
| Callback and the Callback Control Protocol | 101 |
| Network Control Protocols | 101 |
| IPCP | 101 |
| Compression Control Protocol | 103 |
| Encryption Control Protocol | 104 |
| Network Monitor Example | 105 |
| PPP over Ethernet | 106 |
| PPPoE Discovery Stage | 108 |
| PPPoE Session Stage | 109 |
| Summary | 110 |
| PART II INTERNET LAYER PROTOCOLS | |
| 5 Internet Protocol (IP) Basics | 113 |
| Introduction to IP | 113 |
| IP Services | 113 |
| IP MTU | 115 |
| The IP Datagram | 116 |
| The IP Header | 117 |
| Version | 117 |
| Header Length | 118 |
| Type Of Service | 118 |
| Total Length | 122 |
| Identification | 122 |
| Flags | 123 |
| Fragment Offset | 123 |
| Time To Live | 123 |
| Protocol | 124 |
| Header Checksum | 125 |
| Source Address | 126 |
| Destination Address | 126 |
| Options and Padding | 126 |
| Fragmentation | 127 |
| Fragmentation Fields | 127 |
| Fragmentation Example | 129 |
| Reassembly Example | 131 |
| Fragmenting a Fragment | 133 |
| Avoiding Fragmentation | 133 |
| IP Options | 136 |
| Copy | 136 |
| Option Class | 136 |
| Option Number | 137 |
| Summary | 146 |
| 6 Internet Protocol (IP) Addressing | 147 |
| Types of IP Addresses | 147 |
| Expressing IP Addresses | 147 |
| Converting from Binary to Decimal | 148 |
| Converting from Decimal to Binary | 149 |
| IP Addresses in the IP Header | 149 |
| Unicast IP Addresses | 149 |
| A History Lesson: IP Address Classes | 150 |
| Rules for Enumerating Network IDs | 152 |
| Rules for Enumerating Host IDs | 152 |
| Subnets and the Subnet Mask | 153 |
| How to Subnet | 157 |
| Variable-Length Subnetting | 166 |
| Supernetting and CIDR | 169 |
| Public and Private Addresses | 172 |
| Automatic Private IP Addressing | 175 |
| IP Broadcast Addresses | 176 |
| Network Broadcast | 177 |
| Subnet Broadcast | 177 |
| All-Subnets-Directed Broadcast | 177 |
| Limited Broadcast | 178 |
| IP Multicast Addresses | 178 |
| Mapping IP Multicast Addresses to MAC Addresses | 179 |
| Summary | 181 |
| 7 Internet Protocol (IP) Routing | 183 |
| Introduction to IP Routing | 183 |
| Direct and Indirect Deliveries | 183 |
| Types of Links | 184 |
| Broadcast | 184 |
| Point-to-Point | 185 |
| Non-Broadcast Multiple Access | 186 |
| The IP Routing Table | 187 |
| Structure | 187 |
| Types of Routes | 188 |
| Route Determination Process | 189 |
| IP Routing Table for the Windows Server 2003 Family | 190 |
| Multihomed Nodes | 192 |
| Maintaining the IP Routing Table | 193 |
| IP Routing from Sending Host to Destination | 197 |
| Sending Host Forwarding Process | 197 |
| IP Router Forwarding Process | 197 |
| Destination Host Receiving Process | 199 |
| IP Routing Infrastructure Overview | 200 |
| Single-Path vs. Multipath | 200 |
| Class-Based vs. Classless | 201 |
| Flat vs. Hierarchical | 203 |
| Static vs. Dynamic | 204 |
| Single vs. Multiple Autonomous Systems | 208 |
| Routing Utilities | 208 |
| Summary | 209 |
| 8 Internet Control Message Protocol (ICMP) | 211 |
| ICMP Message Structure | 212 |
| ICMP Messages | 213 |
| ICMP Echo and Echo Reply | 213 |
| ICMP Destination Unreachable | 215 |
| PMTU Discovery | 219 |
| ICMP Source Quench | 223 |
| ICMP Redirect | 224 |
| ICMP Router Discovery | 227 |
| ICMP Time Exceeded | 230 |
| ICMP Parameter Problem | 231 |
| ICMP Address Mask Request and Address Mask Reply | 233 |
| Ping Utility | 234 |
| Ping Options | 235 |
| Tracert Utility | 236 |
| Tracert Options | 239 |
| Pathping Utility | 240 |
| Pathping Options | 242 |
| Summary | 242 |
| 9 Internet Group Management Protocol (IGMP) | 243 |
| Introduction to IP Multicast and IGMP | 243 |
| IP Multicasting Overview | 244 |
| Host Support | 244 |
| Router Support | 246 |
| The Multicast-Enabled IP Internetwork | 247 |
| IGMP Message Structure | 249 |
| IGMP Version 1 (IGMPv1) | 249 |
| IGMP Version 2 (IGMPv2) | 253 |
| IGMP Version 3 (IGMPv3) | 256 |
| The Windows Server 2003 Family and IGMP | 260 |
| TCP/IP Protocol | 260 |
| Routing and Remote Access Service | 261 |
| Summary | 264 |
| 10 Internet Protocol Version 6 (IPv6) | 265 |
| The Disadvantages of IPv4 | 265 |
| IPv6 Addressing | 267 |
| Basics of Address Syntax | 268 |
| Types of Addresses | 268 |
| Types of Unicast Addresses | 269 |
| IPv6 Interface Identifiers | 269 |
| DNS Support | 270 |
| Core Protocols of IPv6 | 270 |
| IPv6 | 270 |
| ICMPv6 | 271 |
| Neighbor Discovery | 271 |
| Multicast Listener Discovery | 272 |
| Differences Between IPv4 and IPv6 | 272 |
| Summary | 273 |
| PART III TRANSPORT LAYER PROTOCOLS | |
| 11 User Datagram Protocol | 277 |
| Introduction to UDP | 277 |
| Uses for UDP | 278 |
| The UDP Message | 279 |
| The UDP Header | 279 |
| The UDP Pseudo Header | 281 |
| UDP Ports | 282 |
| Summary | 284 |
| 12 Transmission Control Protocol (TCP) Basics | 285 |
| Introduction to TCP | 285 |
| The TCP Segment | 286 |
| The TCP Header | 287 |
| TCP Ports | 289 |
| TCP Flags | 292 |
| The TCP Pseudo Header | 293 |
| TCP Urgent Data | 294 |
| TCP Options | 296 |
| End Of Option List and No Operation | 296 |
| Maximum Segment Size Option | 297 |
| TCP Window Scale Option | 299 |
| Selective Acknowledgment Option | 302 |
| TCP Timestamps Option | 305 |
| Summary | 308 |
| 13 Transmission Control Protocol (TCP) Connections | 309 |
| The TCP Connection | 309 |
| TCP Connection Establishment | 310 |
| Segment 1: The Synchronize (SYN) Segment | 311 |
| Segment 2: The SYN-ACK Segment | 312 |
| Segment 3: The ACK Segment | 314 |
| Result of the TCP Connection | 315 |
| TCP Half-Open Connections | 316 |
| TCP Connection Maintenance | 320 |
| TCP Connection Termination | 321 |
| Segment 1: The FIN-ACK from TCP Peer 1 | 322 |
| Segment 2: The FIN from TCP Peer 2 | 323 |
| Segment 3: The FIN-ACK from TCP Peer 2 | 324 |
| Segment 4: The ACK from TCP Peer 1 | 325 |
| TCP Connection Reset | 326 |
| TCP Connection States | 329 |
| Controlling TCP Connection Terminations in the Windows Server 2003 Family and Windows XP | 331 |
| Summary | 332 |
| 14 Transmission Control Protocol (TCP) Data Flow | 333 |
| Basic TCP Data Flow Behavior | 333 |
| TCP Acknowledgments | 334 |
| Delayed Acknowledgments | 334 |
| Cumulative for Contiguous Data | 335 |
| Selective for Noncontiguous Data | 335 |
| TCP Sliding Windows | 336 |
| Send Window | 337 |
| Receive Window | 340 |
| TCP/IP for the Windows Server 2003 Family and Windows XP Maximum Receive Window Size | 343 |
| Small Segments | 346 |
| The Nagle Algorithm | 346 |
| Silly Window Syndrome | 347 |
| Sender-Side Flow Control | 348 |
| Slow Start Algorithm | 349 |
| Congestion Avoidance Algorithm | 352 |
| Summary | 353 |
| 15 Transmission Control Protocol (TCP) Retransmission and Time-Out | 355 |
| Retransmission Time-Out and Round-Trip Time | 355 |
| Congestion Collapse | 356 |
| Retransmission Behavior | 357 |
| Retransmission Behavior for New Connections | 359 |
| Dead Gateway Detection | 360 |
| Using the Selective Acknowledgment (SACK) | |
| TCP Option | 361 |
| Calculating the RTO | 362 |
| Using the TCP Timestamps Option | 364 |
| Karn's Algorithm | 368 |
| Karn's Algorithm and the Timestamps Option | 369 |
| Fast Retransmit | 370 |
| Fast Recovery | 372 |
| Summary | 372 |
| PART IV APPLICATION LAYER PROTOCOLS AND SERVICES | |
| 16 Dynamic Host Configuration Protocol (DHCP) Server Service | 375 |
| Overview of DHCP in Windows Server 2003 | 376 |
| What Is DHCP? | 376 |
| DHCP Overview and Key Terms | 376 |
| How DHCP Works | 382 |
| DHCP Messages | 387 |
| General Message Format | 387 |
| DHCPDISCOVER | 389 |
| DHCPOFFER | 391 |
| DHCPREQUEST | 393 |
| DHCPACK | 396 |
| DHCPDECLINE | 397 |
| DHCPNAK | 399 |
| DHCPRELEASE | 401 |
| DHCPINFORM | 402 |
| DHCP Options | 403 |
| What Are DHCP Options? | 403 |
| Options Supported by Windows Server 2003 | 404 |
| Summary | 407 |
| 17 Domain Name System (DNS) | 409 |
| Overview of DNS | 410 |
| What Is DNS? | 410 |
| Key DNS Terms | 410 |
| How DNS Works | 430 |
| Configuring DNS Client Functions | 430 |
| Resolving Names | 431 |
| Resolving Aliases | 433 |
| Dynamically Updating DNS | 435 |
| Transferring Zone Information | 437 |
| DNS Resource Records | 439 |
| What Are Resource Records? | 439 |
| RRs Supported by Windows Server 2003 | 441 |
| DNS Messages | 442 |
| DNS Message Types | 443 |
| Name Query Message | 449 |
| Name Query Response Message | 450 |
| Reverse Name Query Message | 450 |
| Name Update Message | 451 |
| Name Update Response Message | 451 |
| Summary | 451 |
| 18 Windows Internet Name Service (WINS) | 453 |
| Overview of WINS in Windows Server 2003 | 454 |
| What Is WINS? | 454 |
| Key WINS Terms | 455 |
| How WINS Works | 466 |
| Registering NetBIOS Names | 466 |
| Resolving NetBIOS Name Registration Conflicts | 469 |
| Releasing NetBIOS Names | 469 |
| Resolving NetBIOS Names | 470 |
| Refreshing NetBIOS Names | 471 |
| Determining Adapter Status | 471 |
| NetBIOS Name Service Messages | 472 |
| Name Service Header | 474 |
| NetBIOS Name Representation | 476 |
| Question Entries | 478 |
| RRs | 479 |
| Resource Record Name Compression | 482 |
| Name Registration Message | 482 |
| Positive Name Registration Response | 483 |
| Negative Name Registration Response | 484 |
| Name Refresh Message | 485 |
| Name Release Request Message | 485 |
| Name Release Response Message | 486 |
| Name Query Request Message | 487 |
| Positive Name Query Response Message | 488 |
| Negative Name Response Message | 488 |
| Wait Acknowledgment Message | 489 |
| Summary | 490 |
| 19 File and Printer Sharing | 491 |
| Introduction to CIFS | 492 |
| CIFS Operation | 493 |
| Introduction to Internet Printing | 501 |
| IPP Operation | 502 |
| IPP Specifications | 505 |
| Summary | 513 |
| 20 RADIUS and Internet Authentication Service | 515 |
| RADIUS and IAS Server in Windows Server 2003 | 515 |
| RADIUS in Operation | 517 |
| RADIUS Authentication | 517 |
| RADIUS Accounting | 518 |
| RADIUS Proxy | 519 |
| RADIUS Attributes | 520 |
| RADIUS in Windows Server 2003 | 520 |
| RADIUS Authentication in Routing and Remote Access | 520 |
| RADIUS Accounting in Windows Server 2003 | 524 |
| RADIUS Proxy in Windows Server 2003 | 529 |
| RADIUS Message Structure | 533 |
| Common RADIUS Header | 533 |
| Attributes | 535 |
| Vendor-Specific Attributes | 542 |
| RADIUS Messages | 544 |
| Authentication | 544 |
| Accounting | 547 |
| Summary | 552 |
| 21 Internet Information Services (IIS) and the Internet Protocols | 553 |
| HTTP | 553 |
| HTTP in Operation | 555 |
| URIs | 557 |
| HTTP Messages | 558 |
| Request Messages | 558 |
| Response Messages | 561 |
| HTTP Codings | 575 |
| HTTP Content Negotiation | 575 |
| HTTP Caching | 577 |
| FTP | 577 |
| FTP Operation | 579 |
| FTP Data | 581 |
| Connections and Transmission Modes | 583 |
| FTP Commands and Responses | 586 |
| NNTP | 588 |
| NNTP Operation | 590 |
| NNTP Commands and Responses | 591 |
| SMTP | 602 |
| SMTP Operation | 603 |
| SMTP Commands | 606 |
| SMTP Replies | 609 |
| Summary | 610 |
| 22 Internet Protocol Security (IPSec) | 611 |
| IPSec Overview | 611 |
| Properties of Secure Communications | 612 |
| Hashing and Encryption Algorithms | 613 |
| Key Management | 614 |
| Security Associations | 614 |
| IPSec Headers | 616 |
| Authentication Header | 616 |
| Encapsulating Security Payload (ESP) Header | 620 |
| Internet Key Exchange | 624 |
| ISAKMP Message Structure | 624 |
| ISAKMP Header | 625 |
| SA Payload | 627 |
| Proposal Payload | 628 |
| Transform Payload | 629 |
| Vendor ID Payload | 631 |
| Nonce Payload | 632 |
| Key Exchange Payload | 632 |
| Notification Payload | 633 |
| Delete Payload | 635 |
| Identification Payload | 635 |
| Hash Payload | 636 |
| Certificate Request Payload | 637 |
| Certificate Payload | 638 |
| Signature Payload | 638 |
| Main Mode Negotiation | 639 |
| Negotiation of Protection Suites | 639 |
| Key Exchange and Authentication | 640 |
| Quick Mode Negotiation | 646 |
| Retransmit Behavior | 647 |
| IPSec NAT Traversal | 648 |
| Summary | 650 |
| 23 Virtual Private Networks (VPNs) | 651 |
| Overview of VPNs | 652 |
| VPN Clients and Servers | 653 |
| VPN Protocols | 653 |
| Tunneling | 654 |
| VPNs and PPP | 656 |
| VPN Address Assignment | 656 |
| VPN Data Compression | 657 |
| VPN Data Encryption | 657 |
| PPTP | 657 |
| PPTP Data Encapsulation | 658 |
| PPTP Control Connection | 658 |
| L2TP/IPSec | 660 |
| L2TP/IPSec Data Encapsulation | 661 |
| L2TP Control Connection | 662 |
| Summary | 664 |
| GLOSSARY 665 | |
| BIBLIOGRAPHY 675 | |
| INDEX 679 | |