| Tables
| xv |
| Preface
| xix |
| Acknowledgments
| xxi |
| Introduction
| xxiii |
| PART I THE NETWORK INTERFACE LAYER
| |
| CHAPTER 1 Local Area Network (LAN) Technologies
| 3 |
| LAN Encapsulations
| 3 |
| Ethernet
| 4 |
| Ethernet II | 4 |
| IEEE 802.3 | 9 |
| IEEE 802.3 SNAP | 11 |
| Special Bits on Ethernet MAC Addresses | 14 |
| Token Ring
| 15 |
| IEEE 802.5 | 16 |
| IEEE 802.5 SNAP | 19 |
| Special Bits on Token Ring MAC Addresses | 21 |
| FDDI
| 23 |
| FDDI Frame Format | 23 |
| FDDI SNAP | 26 |
| Special Bits on FDDI MAC Addresses | 28 |
| Summary
| 28 |
| CHAPTER 2 Wide Area Network (WAN) Technologies
| 29 |
| WAN Encapsulations
| 29 |
| Point-to-Point Encapsulation
| 30 |
| SLIP | 30 |
| PPP | 32 |
| PPP Multilink Protocol | 36 |
| X.25
| 39 |
| X.25 Encapsulation | 40 |
| Frame Relay
| 42 |
| Frame Relay Encapsulation | 44 |
| ATM
| 46 |
| The ATM Cell | 47 |
| ATM Architecture | 49 |
| AAL5 | 51 |
| Multiprotocol Encapsulation with AAL5 | 54 |
| Summary
| 55 |
| CHAPTER 3 Address Resolution Protocol (ARP)
| 57 |
| Overview of ARP
| 57 |
| The ARP Cache | 58 |
| Updating the MAC Address | 60 |
| Windows 2000 ARP Registry Settings | 60 |
| ARP Frame Structure
| 62 |
| ARP Request and ARP Reply Example | 64 |
| Gratuitous ARP and Duplicate IP Address Detection
| 67 |
| IP Address Conflict Detection | 67 |
| The Gratuitous ARP and Address Conflict Exchange | 68 |
| Inverse ARP (InARP)
| 69 |
| Proxy ARP
| 70 |
| Summary
| 72 |
| PART II INTERNET LAYER PROTOCOLS
| |
| CHAPTER 4 Internet Protocol (IP) Basics
| 75 |
| Introduction to IP
| 75 |
| IP Services | 75 |
| IP MTU | 77 |
| The IP Datagram
| 78 |
| The IP Header
| 78 |
| Version | 78 |
| Header Length | 79 |
| Type Of Service | 80 |
| Total Length | 83 |
| Identification | 83 |
| Flags | 83 |
| Fragment Offset | 83 |
| Time To Live | 83 |
| Protocol | 85 |
| Header Checksum | 86 |
| Source Address | 86 |
| Destination Address | 86 |
| Options and Padding | 86 |
| Fragmentation
| 87 |
| Fragmentation Fields | 87 |
| Fragmentation Example | 89 |
| Reassembly Example | 91 |
| Fragmenting a Fragment | 93 |
| Avoiding Fragmentation | 93 |
| IP Options
| 96 |
| End Of Option List | 97 |
| No Operation | 98 |
| Record Route | 98 |
| Strict and Loose Source Routing | 100 |
| IP Router Alert | 103 |
| Internet Timestamp | 104 |
| Summary
| 106 |
| CHAPTER 5 Internet Protocol (IP) Addressing
| 107 |
| Types of IP Addresses
| 107 |
| Expressing IP Addresses
| 107 |
| Converting from Binary to Decimal | 108 |
| Converting from Decimal to Binary | 109 |
| IP Addresses in the IP Header | 109 |
| Unicast IP Addresses
| 109 |
| A History Lesson: IP Address Classes | 110 |
| Rules for Enumerating Network IDs | 112 |
| Rules for Enumerating Host IDs | 112 |
| Subnets and the Subnet Mask | 113 |
| How to Subnet | 117 |
| Variable-Length Subnetting | 125 |
| Supernetting and Classless Inter-Domain Routing (CIDR) | 128 |
| Public and Private Addresses | 131 |
| Microsoft Windows 2000 Automatic Private IP Addressing | 134 |
| IP Broadcast Addresses
| 134 |
| Network Broadcast | 134 |
| Subnet Broadcast | 135 |
| All-Subnets-Directed Broadcast | 135 |
| Limited Broadcast | 135 |
| IP Multicast Addresses
| 136 |
| Mapping IP Multicast Addresses to MAC Addresses | 137 |
| Summary
| 138 |
| CHAPTER 6 Internet Protocol (IP) Routing
| 139 |
| Introduction to IP Routing
| 139 |
| Direct and Indirect Deliveries | 139 |
| Types of Links
| 140 |
| Broadcast | 140 |
| Point-to-Point | 141 |
| Non-Broadcast Multiple Access | 142 |
| The IP Routing Table
| 143 |
| Structure | 143 |
| Types of Routes | 144 |
| Route Determination Process | 145 |
| The Microsoft Windows 2000 IP Routing Table
| 146 |
| Multihomed Nodes | 148 |
| Maintaining the Microsoft Windows 2000 IP Routing Table | 148 |
| IP Routing from Sending Host to Destination
| 151 |
| Sending Host Forwarding Process | 151 |
| IP Router Forwarding Process | 151 |
| Destination Host Receiving Process | 152 |
| IP Routing Infrastructure Overview
| 153 |
| Single-Path vs. Multi-Path | 154 |
| Class-Based vs. Classless | 155 |
| Flat vs. Hierarchical | 156 |
| Static vs. Dynamic | 157 |
| Single vs. Multiple Autonomous Systems | 161 |
| Routing Utilities
| 161 |
| Summary
| 162 |
| CHAPTER 7 Internet Control Message Protocol (ICMP)
| 163 |
| ICMP Message Structure
| 164 |
| ICMP Messages
| 165 |
| ICMP Echo/Echo Reply | 165 |
| ICMP Destination Unreachable | 167 |
| Path MTU Discovery | 171 |
| Windows 2000 Registry Settings for PMTU | 174 |
| ICMP Source Quench | 174 |
| ICMP Redirect | 176 |
| ICMP Router Discovery | 178 |
| ICMP Time Exceeded | 181 |
| ICMP Parameter Problem | 182 |
| PING Utility
| 184 |
| PING Options | 184 |
| TRACERT Utility
| 186 |
| TRACERT Options | 189 |
| PATHPING Utility
| 189 |
| PATHPING Options | 190 |
| Summary
| 190 |
| CHAPTER 8 Internet Group Management Protocol (IGMP)
| 191 |
| Introduction to IP Multicast and IGMP
| 191 |
| IP Multicasting Overview | 191 |
| Host Support | 192 |
| Router Support | 194 |
| The Multicast-Enabled IP Internetwork | 195 |
| IGMP Message Structure
| 196 |
| IGMP Version 1 (IGMPv1) | 197 |
| IGMP Version 2 (IGMPv2) | 200 |
| Microsoft Windows 2000 and IGMP
| 204 |
| TCP/IP Protocol | 204 |
| The Routing and Remote Access Service | 204 |
| Summary
| 207 |
| CHAPTER 9 Internet Protocol Version 6 (IPv6)
| 209 |
| Chapter Contents
| 210 |
| Introduction to IPv6
| 211 |
| Nodes, Routers, Hosts, and Interfaces | 211 |
| Links, Neighbors, Link MTUs, and Link Layer Addresses | 212 |
| Unicast, Multicast, and Anycast Addresses | 212 |
| Addressing
| 212 |
| Text Representation of IPv6 Addresses | 212 |
| Unicast Addresses | 213 |
| Anycast Addresses | 216 |
| Multicast Addresses | 216 |
| Neighbor Discovery | 217 |
| IPv6 Header Format and Routing Mechanisms
| 219 |
| Hop-by-Hop Options Header | 221 |
| Destination Options Header | 221 |
| Routing Header | 222 |
| Fragment Header | 222 |
| Authentication Header | 223 |
| Transition Mechanisms
| 224 |
| Dual-Stack Implementation | 224 |
| IPv6 Over IPv4 Tunneling | 224 |
| Summary
| 224 |
| PART III TRANSPORT LAYER PROTOCOLS
| |
| CHAPTER 10 User Datagram Protocol (UDP)
| 227 |
| Introduction to User Datagram Protocol
| 227 |
| Uses for UDP | 228 |
| The UDP Message
| 228 |
| The UDP Header
| 229 |
| The UDP Pseudo Header | 230 |
| UDP Ports
| 231 |
| MaxUserPort | 232 |
| Summary
| 234 |
| CHAPTER 11 Transmission Control Protocol (TCP) Basics
| 235 |
| Introduction to TCP
| 235 |
| The TCP Segment
| 236 |
| The TCP Header
| 237 |
| TCP Ports
| 239 |
| MaxUserPort | 240 |
| TCP Flags
| 242 |
| The TCP Pseudo Header
| 243 |
| TCP Urgent Data
| 244 |
| TCP Options
| 246 |
| End Of Option List and No Operation | 246 |
| Maximum Segment Size Option | 247 |
| TCP Window Scale Option | 249 |
| Selective Acknowledgment Option | 251 |
| TCP Timestamps Option | 255 |
| Summary
| 258 |
| CHAPTER 12 Transmission Control Protocol (TCP) Connections
| 259 |
| The TCP Connection
| 259 |
| TCP Connection Establishment
| 260 |
| Segment 1: The Synchronize (SYN) Segment | 260 |
| Segment 2: The SYN-ACK Segment | 262 |
| Segment 3: The ACK Segment | 263 |
| Result of TCP Connection Establishment Process | 265 |
| TCP Half-Open Connections
| 266 |
| TCP Connection Maintenance
| 269 |
| KeepAliveTime | 270 |
| KeepAliveInterval | 270 |
| TCP Connection Termination
| 270 |
| Segment 1 | 271 |
| Segment 2 | 272 |
| Segment 3 | 273 |
| Segment 4 | 274 |
| TCP Connection Reset
| 275 |
| TCP Connection States
| 277 |
| Controlling TCP Connection Terminations in Microsoft Windows 2000 | 279 |
| Summary
| 280 |
| CHAPTER 13 Transmission Control Protocol (TCP) Data Flow
| 281 |
| Basic TCP Data Flow Behavior
| 281 |
| TCP Acknowledgments
| 281 |
| Delayed Acknowledgments | 282 |
| Cumulative for Contiguous Data | 282 |
| Selective for Non-Contiguous Data | 283 |
| TCP Sliding Windows
| 284 |
| Send Window | 284 |
| Receive Window | 288 |
| Microsoft Windows 2000 Maximum Receive Window Size | 290 |
| Small Segments
| 293 |
| The Nagle Algorithm | 293 |
| Silly Window Syndrome | 294 |
| Sender-Side Flow Control
| 295 |
| Slow Start Algorithm | 296 |
| Congestion Avoidance Algorithm | 298 |
| Summary
| 300 |
| CHAPTER 14 Transmission Control Protocol (TCP) Retransmission and Time-Out
| 301 |
| Retransmission Time-Out and Round-Trip Time
| 301 |
| Congestion Collapse | 302 |
| Retransmission Behavior
| 303 |
| TcpMaxDataRetransmissions | 304 |
| Retransmission Behavior for New Connections | 305 |
| Dead Gateway Detection | 306 |
| Using the Selective Acknowledgment (SACK) TCP Option | 307 |
| Calculating the RTO
| 308 |
| TcpInitialRTT | 309 |
| Using the TCP Timestamps Option | 309 |
| Karn's Algorithm
| 313 |
| Karn's Algorithm and the Timestamps Option | 315 |
| Fast Retransmit
| 315 |
| TcpMaxDupAcks | 316 |
| Fast Recovery | 317 |
| Summary
| 317 |
| PART IV APPLICATION LAYER PROTOCOLS AND SERVICES
| |
| CHAPTER 15 Dynamic Host Configuration Protocol (DHCP) Service
| 321 |
| Chapter Contents
| 322 |
| Overview to DHCP in Windows 2000
| 322 |
| What Is DHCP? | 322 |
| DHCP Overview and Key Terms | 322 |
| How DHCP Works | 328 |
| DHCP Messages
| 332 |
| General Message Format | 332 |
| DHCPDISCOVER | 334 |
| DHCPOFFER | 336 |
| DHCPREQUEST | 338 |
| DHCPACK | 340 |
| DHCPDECLINE | 341 |
| DHCPNAK | 343 |
| DHCPRELEASE | 345 |
| DHCPINFORM | 346 |
| DHCP Options
| 347 |
| What Are DHCP Options? | 347 |
| Options Supported by Windows 2000 | 348 |
| Summary
| 350 |
| CHAPTER 16 Domain Name Service (DNS)
| 351 |
| Chapter Contents
| 352 |
| Overview to DNS in Microsoft Windows 2000
| 352 |
| What Is DNS? | 352 |
| Key DNS Terms | 353 |
| How DNS Works
| 367 |
| Configuring DNS Client Functions | 367 |
| Resolving Names | 368 |
| Resolving Aliases | 369 |
| Dynamically Updating DNS | 370 |
| Transferring Zone Information | 372 |
| DNS Resource Records
| 373 |
| What Are Resource Records? | 373 |
| Resource Records Supported by Windows 2000 | 375 |
| DNS Messages
| 377 |
| DNS Messages | 377 |
| Name-Query Message | 382 |
| Name-Query Response Message | 383 |
| Reverse-Name Query Message | 383 |
| Name Update Message | 383 |
| Name Update Response Message | 384 |
| Summary
| 384 |
| CHAPTER 17 Windows Internet Name Service (WINS)
| 385 |
| Chapter Contents
| 386 |
| Overview of WINS in Windows 2000
| 387 |
| What Is WINS? | 387 |
| Key WINS Terms | 387 |
| How WINS Works
| 398 |
| Registering NetBIOS Names | 398 |
| Resolving NetBIOS Name Registration Conflicts | 400 |
| Releasing NetBIOS Names | 401 |
| Resolving NetBIOS Names | 401 |
| Refreshing NetBIOS Names | 403 |
| Determining Adapter Status | 403 |
| NetBIOS Name Service Messages
| 404 |
| Name Service Header | 405 |
| NetBIOS Name Representation | 408 |
| Question Entries | 409 |
| Resource Records (RRs) | 410 |
| Resource Record Name Compression | 412 |
| Name Registration Message | 413 |
| Positive Name Registration Response | 414 |
| Negative Name Registration Response | 414 |
| Name Refresh Message | 416 |
| Name Release Request Message | 416 |
| Name Release Response Message | 417 |
| Name Query Request Message | 418 |
| Positive Name Query Response Message | 419 |
| Negative Name Response Message | 419 |
| Wait Acknowledgment Message | 420 |
| Summary
| 421 |
| CHAPTER 18 File and Printer Sharing
| 423 |
| Overview
| 423 |
| Chapter Contents
| 423 |
| Introduction to Internet Printing
| 423 |
| IPP Operation | 424 |
| IPP Specifications | 426 |
| Introduction to CIFS
| 434 |
| CIFS Operation | 434 |
| Summary
| 439 |
| CHAPTER 19 Internet Information Server (IIS) and the Internet Protocols
| 441 |
| Chapter Contents
| 441 |
| HTTP
| 441 |
| Introduction and Terminology | 441 |
| HTTP Operation | 443 |
| URIs | 443 |
| HTTP Messages | 444 |
| Request Messages | 445 |
| Response Messages | 446 |
| HTTP Codings | 458 |
| HTTP Content Negotiation | 459 |
| HTTP Caching | 460 |
| FTP
| 461 |
| Introduction and Terminology | 461 |
| FTP Operation | 462 |
| FTP Data | 464 |
| Connections and Transmission Modes | 465 |
| FTP Commands and Responses | 467 |
| SMTP
| 468 |
| Introduction and Terminology | 468 |
| SMTP Operation | 469 |
| SMTP Commands | 471 |
| SMTP Replies | 474 |
| Summary
| 475 |
| CHAPTER 20 Securing IP Communications with IP Security (IPSec)
| 477 |
| Chapter Contents
| 478 |
| IPSec Overview | 478 |
| How IPSec Works | 483 |
| Authentication Header (AH) Details | 485 |
| Encapsulating Security Payload (ESP) Details | 487 |
| Summary
| 490 |
| CHAPTER 21 Virtual Private Networks (VPNs)
| 491 |
| Chapter Contents
| 491 |
| Overview of Virtual Private Networks
| 492 |
| What Is a VPN?
| 492 |
| VPN Clients and Servers | 493 |
| VPN Protocols | 493 |
| Tunneling | 494 |
| VPN Authentication | 497 |
| Extensible Authentication Protocol (EAP) | 498 |
| VPN Address Assignment | 498 |
| VPN Data Compression | 499 |
| VPN Data Encryption | 499 |
| Introduction to Point-to-Point Tunneling Protocol (PPTP)
| 499 |
| Installation of PPTP | 500 |
| PPTP Encapsulation | 500 |
| PPTP Encryption | 501 |
| Introduction to Layer 2 Tunneling Protocol (L2TP)
| 501 |
| Installation of L2TP | 501 |
| L2TP Encapsulation | 502 |
| L2TP Encryption | 503 |
| Summary
| 503 |
| Glossary
| 505 |
| Bibliography
| 511 |
| Index
| 515 |