TCP/IP illustrated, Volume 1

The Protocols

2nd ed. / Kevin R. Fall, W. Richard Stevens.
  • 4.2 (5 ratings)
  • 39 Want to read
  • 3 Currently reading
  • 5 Have read
Locate

My Reading Lists:

Create a new list

  • 4.2 (5 ratings)
  • 39 Want to read
  • 3 Currently reading
  • 5 Have read

Buy this book

Last edited by ImportBot
January 21, 2026 | History

TCP/IP illustrated, Volume 1

The Protocols

2nd ed. / Kevin R. Fall, W. Richard Stevens.
  • 4.2 (5 ratings)
  • 39 Want to read
  • 3 Currently reading
  • 5 Have read

Finally, programmers that need to truly understand the TCP/IP protocol suite have a resource to turn to, TCP/IP Illustrated. Instead of merely describing the RFC's, bestselling author Rich Stevens takes an innovative "visual" approach which, combined with his writing style, results in an accessible "understandable" guide to TCP/IP.

Publish Date
Publisher
Addison-Wesley
Language
English
Pages
1056

Buy this book

Previews available in: English

Edition Availability
Cover of: TCP/IP illustrated, Volume 1
TCP/IP illustrated, Volume 1: The Protocols
2012, Addison-Wesley
Hardcover in English - 2nd ed. / Kevin R. Fall, W. Richard Stevens.
Cover of: TCP/IP Illustrated, Volume 1: The Protocols (Addison-Wesley Professional Computing Series)
TCP/IP Illustrated, Volume 1: The Protocols (Addison-Wesley Professional Computing Series)
Nov 08, 2011, Addison-Wesley Professional
Cover of: TCP/IP illustrated
TCP/IP illustrated
1994, Addison-Wesley Pub. Co.
in English
Cover of: TCP/IP Illustrated, Volume 1
TCP/IP Illustrated, Volume 1: The Protocols
December 31, 1993, Addison-Wesley Professional
Hardcover in English

Add another edition?

Book Details


First Sentence

"Effective communication depends on the use of a common language. This is true for humans and other animals as well as for computers. When a set of common behaviors is used with a common language, a protocol is being used."

Table of Contents

Foreword. xxv
Preface to the Second Edition. xxvii
Adapted Preface to the First Edition. xxxiii
Chapter 1. Introduction
Page 1
1.1. Architectural Principles
Page 2
1.1.1. Packets, Connections, and Datagrams
Page 3
1.1.2. The End-to-End Argument and Fate Sharing
Page 6
1.1.3. Error Control and Flow Control
Page 7
1.2. Design and Implementation
Page 8
1.2.1. Layering
Page 8
1.2.2. Multiplexing, Demultiplexing, and Encapsulation in Layered Implementations
Page 10
1.3. The Architecture and Protocols of the TCP/IP Suite
Page 13
1.3.1. The ARPANET Reference Model
Page 13
1.3.2. Multiplexing, Demultiplexing, and Encapsulation in TCP/IP
Page 16
1.3.3. Port Numbers
Page 17
1.3.4. Names, Addresses, and the DNS
Page 19
1.4. Internets, Intranets, and Extranets
Page 19
1.5. Designing Applications
Page 20
1.5.1. Client/Server
Page 20
1.5.2. Peer-to-Peer
Page 21
1.5.3. Application Programming Interfaces (APIs)
Page 22
1.6. Standardization Process
Page 22
1.6.1. Request for Comments (RFC)
Page 23
1.6.2. Other Standards
Page 24
1.7. Implementations and Software Distributions
Page 24
1.8. Attacks Involving the Internet Architecture
Page 25
1.9. Summary
Page 26
1.10. References
Page 28
Chapter 2. The Internet Address Architecture
Page 31
2.1. Introduction
Page 31
2.2. Expressing IP Addresses
Page 32
2.3. Basic IP Address Structure
Page 34
2.3.1. Classful Addressing
Page 34
2.3.2. Subnet Addressing
Page 36
2.3.3. Subnet Masks
Page 39
2.3.4. Variable-Length Subnet Masks (VLSM)
Page 41
2.3.5. Broadcast Addresses
Page 42
2.3.6. IPv6 Addresses and Interface Identifiers
Page 43
2.4. CIDR and Aggregation
Page 46
2.4.1. Prefixes
Page 47
2.4.2. Aggregation
Page 48
2.5. Special-Use Addresses
Page 50
2.5.1. Addressing IPv4/IPv6 Translators
Page 52
2.5.2. Multicast Addresses
Page 53
2.5.3. IPv4 Multicast Addresses
Page 54
2.5.4. IPv6 Multicast Addresses
Page 57
2.5.5. Anycast Addresses
Page 62
2.6. Allocation
Page 62
2.6.1. Unicast
Page 62
2.6.2. Multicast
Page 65
2.7. Unicast Address Assignment
Page 65
2.7.1. Single Provider/No Network/Single Address
Page 66
2.7.2. Single Provider/Single Network/Single Address
Page 67
2.7.3. Single Provider/Multiple Networks/Multiple Addresses
Page 67
2.7.4. Multiple Providers/Multiple Networks/Multiple Addresses (Multihoming)
Page 68
2.8. Attacks Involving IP Addresses
Page 70
2.9. Summary
Page 71
2.10. References
Page 72
Chapter 3. Link Layer
Page 79
3.1. Introduction
Page 79
3.2. Ethernet and the IEEE 802 LAN/MAN Standards
Page 80
3.2.1. The IEEE 802 LAN/MAN Standards
Page 82
3.2.2. The Ethernet Frame Format
Page 84
3.2.3. 802.1p/q: Virtual LANs and QoS Tagging
Page 89
3.2.4. 802.1AX: Link Aggregation (Formerly 802.3ad)
Page 92
3.3. Full Duplex, Power Save, Autonegotiation, and 802.1X Flow Control
Page 94
3.3.1. Duplex Mismatch
Page 96
3.3.2. Wake-on LAN (WoL), Power Saving, and Magic Packets
Page 96
3.3.3. Link-Layer Flow Control
Page 98
3.4. Bridges and Switches
Page 98
3.4.1. Spanning Tree Protocol (STP)
Page 102
3.4.2. 802.1ak: Multiple Registration Protocol (MRP)
Page 111
3.5. Wireless LANs—IEEE 802.11(Wi-Fi)
Page 111
3.5.1. 802.11 Frames
Page 113
3.5.2. Power Save Mode and the Time Sync Function (TSF)
Page 119
3.5.3. 802.11 Media Access Control
Page 120
3.5.4. Physical-Layer Details: Rates, Channels, and Frequencies
Page 123
3.5.5. Wi-Fi Security
Page 129
3.5.6. Wi-Fi Mesh (802.11s)
Page 130
3.6. Point-to-Point Protocol (PPP)
Page 130
3.6.1. Link Control Protocol (LCP)
Page 131
3.6.2. Multilink PPP (MP)
Page 137
3.6.3. Compression Control Protocol (CCP)
Page 139
3.6.4. PPP Authentication
Page 140
3.6.5. Network Control Protocols (NCPs)
Page 141
3.6.6. Header Compression
Page 142
3.6.7. Example
Page 143
3.7. Loopback
Page 145
3.8. MTU and Path MTU
Page 148
3.9. Tunneling Basics
Page 149
3.9.1. Unidirectional Links
Page 153
3.10. Attacks on the Link Layer
Page 154
3.11. Summary
Page 156
3.12. References
Page 157
Chapter 4. ARP: Address Resolution Protocol
Page 165
4.1. Introduction
Page 165
4.2. An Example
Page 166
4.2.1. Direct Delivery and ARP
Page 167
4.3. ARP Cache
Page 169
4.4. ARP Frame Format
Page 170
4.5. ARP Examples
Page 171
4.5.1. Normal Example
Page 171
4.5.2. ARP Request to a Nonexistent Host
Page 173
4.6. ARP Cache Timeout
Page 174
4.7. Proxy ARP
Page 174
4.8. Gratuitous ARP and Address Conflict Detection (ACD)
Page 175
4.9. The arp Command
Page 177
4.10. Using ARP to Set an Embedded Device's IPv4 Address
Page 178
4.11. Attacks Involving ARP
Page 178
4.12. Summary
Page 179
4.13. References
Page 179
Chapter 5. The Internet Protocol (IP)
Page 181
5.1. Introduction
Page 181
5.2. IPv4 and IPv6 Headers
Page 183
5.2.1. IP Header Fields
Page 183
5.2.2. The Internet Checksum
Page 186
5.2.3. DS Field and ECN (Formerly Called the ToS Byte or IPv6 Traffic Class)
Page 188
5.2.4. IP Options
Page 192
5.3. IPv6 Extension Headers
Page 194
5.3.1. IPv6 Options
Page 196
5.3.2. Routing Header
Page 200
5.3.3. Fragment Header
Page 203
5.4. IP Forwarding
Page 208
5.4.1. Forwarding Table
Page 208
5.4.2. IP Forwarding Actions
Page 209
5.4.3. Examples
Page 210
5.4.4. Discussion
Page 215
5.5. Mobile IP
Page 215
5.5.1. The Basic Model: Bidirectional Tunneling
Page 216
5.5.2. Route Optimization (RO)
Page 217
5.5.3. Discussion
Page 220
5.6. Host Processing of IP Datagrams
Page 220
5.6.1. Host Models
Page 220
5.6.2. Address Selection
Page 222
5.7. Attacks Involving IP
Page 226
5.8. Summary
Page 226
5.9. References
Page 228
Chapter 6. System Configuration: DHCP and Autoconfiguration
Page 233
6.1. Introduction
Page 233
6.2. Dynamic Host Configuration Protocol (DHCP)
Page 234
6.2.1. Address Pools and Leases
Page 235
6.2.2. DHCP and BOOTP Message Format
Page 236
6.2.3. DHCP and BOOTP Options
Page 238
6.2.4. DHCP Protocol Operation
Page 239
6.2.5. DHCPv6
Page 252
6.2.6. Using DHCP with Relays
Page 267
6.2.7. DHCP Authentication
Page 271
6.2.8. Reconfigure Extension
Page 273
6.2.9. Rapid Commit
Page 273
6.2.10. Location Information (LCI and LoST)
Page 274
6.2.11. Mobility and Handoff Information (MoS and ANDSF)
Page 275
6.2.12. DHCP Snooping
Page 276
6.3. Stateless Address Autoconfiguration (SLAAC)
Page 276
6.3.1. Dynamic Configuration of IPv4 Link-Local Addresses
Page 276
6.3.2. IPv6 SLAAC for Link-Local Addresses
Page 276
6.4. DHCP and DNS Interaction
Page 285
6.5. PPP over Ethernet (PPPoE)
Page 286
6.6. Attacks Involving System Configuration
Page 292
6.7. Summary
Page 292
6.8. References
Page 293
Chapter 7. Firewalls and Network Address Translation (NAT)
Page 299
7.1. Introduction
Page 299
7.2. Firewalls
Page 300
7.2.1. Packet-Filtering Firewalls
Page 300
7.2.2. Proxy Firewalls
Page 301
7.3. Network Address Translation (NAT)
Page 303
7.3.1. Traditional NAT: Basic NAT and NAPT
Page 305
7.3.2. Address and Port Translation Behavior
Page 311
7.3.3. Filtering Behavior
Page 313
7.3.4. Servers behind NATs
Page 314
7.3.5. Hairpinning and NAT Loopback
Page 314
7.3.6. NAT Editors
Page 315
7.3.7. Service Provider NAT (SPNAT) and Service Provider IPv6 Transition
Page 315
7.4. NAT Traversal
Page 316
7.4.1. Pinholes and Hole Punching
Page 317
7.4.2. UNilateral Self-Address Fixing (UNSAF)
Page 317
7.4.3. Session Traversal Utilities for NAT (STUN)
Page 319
7.4.4. Traversal Using Relays around NAT (TURN)
Page 326
7.4.5. Interactive Connectivity Establishment (ICE)
Page 332
7.5. Configuring Packet-Filtering Firewalls and NATs
Page 334
7.5.1. Firewall Rules
Page 335
7.5.2. NAT Rules
Page 337
7.5.3. Direct Interaction with NATs and Firewalls: UPnP, NAT-PMP, and PCP
Page 338
7.6. NAT for IPv4/IPv6 Coexistence and Transition
Page 339
7.6.1. Dual-Stack Lite (DS-Lite)
Page 339
7.6.2. IPv4/IPv6 Translation Using NATs and ALGs
Page 340
7.7. Attacks Involving Firewalls and NATs
Page 345
7.8. Summary
Page 346
7.9. References
Page 347
Chapter 8. ICMPv4 and ICMPv6: Internet Control Message Protocol
Page 353
8.1. Introduction
Page 353
8.1.1. Encapsulation in IPv4 and IPv6
Page 354
8.2. ICMP Messages
Page 355
8.2.1. ICMPv4 Messages
Page 356
8.2.2. ICMPv6 Messages
Page 358
8.2.3. Processing of ICMP Messages
Page 360
8.3. ICMP Error Messages
Page 361
8.3.1. Extended ICMP and Multipart Messages
Page 363
8.3.2. Destination Unreachable (ICMPv4 Type 3, ICMPv6 Type 1) and Packet Too Big (ICMPv6 Type 2)
Page 364
8.3.3. Redirect (ICMPv4 Type 5, ICMPv6 Type 137)
Page 372
8.3.4. ICMP Time Exceeded (ICMPv4 Type 11, ICMPv6 Type 3)
Page 375
8.3.5. Parameter Problem (ICMPv4 Type 12, ICMPv6 Type 4)
Page 379
8.4. ICMP Query/Informational Messages
Page 380
8.4.1. Echo Request/Reply (ping) (ICMPv4 Types 0/8, ICMPv6 Types 129/128)
Page 380
8.4.2. Router Discovery: Router Solicitation and Advertisement (ICMPv4 Types 9, 10)
Page 383
8.4.3. Home Agent Address Discovery Request/Reply (ICMPv6 Types 144/145)
Page 386
8.4.4. Mobile Prefix Solicitation/Advertisement (ICMPv6 Types 146/147)
Page 387
8.4.5. Mobile IPv6 Fast Handover Messages (ICMPv6 Type 154)
Page 388
8.4.6. Multicast Listener Query/Report/Done (ICMPv6 Types 130/131/132)
Page 388
8.4.7. Version 2 Multicast Listener Discovery (MLDv2) (ICMPv6 Type 143)
Page 390
8.4.8. Multicast Router Discovery (MRD) (IGMP Types 48/49/50, ICMPv6 Types 151/152/153)
Page 394
8.5. Neighbor Discovery in IPv6
Page 395
8.5.1. ICMPv6 Router Solicitation and Advertisement (ICMPv6 Types 133, 134)
Page 396
8.5.2. ICMPv6 Neighbor Solicitation and Advertisement (ICMPv6 Types 135, 136)
Page 398
8.5.3. ICMPv6 Inverse Neighbor Discovery Solicitation/Advertisement (ICMPv6 Types 141/142)
Page 401
8.5.4. Neighbor Unreachability Detection (NUD)
Page 402
8.5.5. Secure Neighbor Discovery (SEND)
Page 403
8.5.6. ICMPv6 Neighbor Discovery (ND) Options
Page 407
8.6. Translating ICMPv4 and ICMPv6
Page 424
8.6.1. Translating ICMPv4 to ICMPv6
Page 424
8.6.2. Translating ICMPv6 to ICMPv4
Page 426
8.7. Attacks Involving ICMP
Page 428
8.8. Summary
Page 430
8.9. References
Page 430
Chapter 9. Broadcasting and Local Multicasting (IGMP and MLD)
Page 435
9.1. Introduction
Page 435
9.2. Broadcasting
Page 436
9.2.1. Using Broadcast Addresses
Page 437
9.2.2. Sending Broadcast Datagrams
Page 439
9.3. Multicasting
Page 441
9.3.1. Converting IP Multicast Addresses to 802 MAC/Ethernet Addresses
Page 442
9.3.2. Examples
Page 444
9.3.3. Sending Multicast Datagrams
Page 446
9.3.4. Receiving Multicast Datagrams
Page 447
9.3.5. Host Address Filtering
Page 449
9.4. The Internet Group Management Protocol (IGMP) and Multicast Listener Discovery Protocol (MLD)
Page 451
9.4.1. IGMP and MLD Processing by Group Members ("Group Member Part")
Page 454
9.4.2. IGMP and MLD Processing by Multicast Routers ("Multicast Router Part")
Page 457
9.4.3. Examples
Page 459
9.4.4. Lightweight IGMPv3 and MLDv2
Page 464
9.4.5. IGMP and MLD Robustness
Page 465
9.4.6. IGMP and MLD Counters and Variables
Page 467
9.4.7. IGMP and MLD Snooping
Page 468
9.5. Attacks Involving IGMP and MLD
Page 469
9.6. Summary
Page 470
9.7. References
Page 471
Chapter 10. User Datagram Protocol (UDP) and IP Fragmentation
Page 473
10.1. Introduction
Page 473
10.2. UDP Header
Page 474
10.3. UDP Checksum
Page 475
10.4. Examples
Page 478
10.5. UDP and IPv6
Page 481
10.5.1. Teredo: Tunneling IPv6 through IPv4 Networks
Page 482
10.6. UDP-Lite
Page 487
10.7. IP Fragmentation
Page 488
10.7.1. Example: UDP/IPv4 Fragmentation
Page 488
10.7.2. Reassembly Timeout
Page 492
10.8. Path MTU Discovery with UDP
Page 493
10.8.1. Example
Page 493
10.9. Interaction between IP Fragmentation and ARP/ND
Page 496
10.10. Maximum UDP Datagram Size
Page 497
10.10.1. Implementation Limitations
Page 497
10.10.2. Datagram Truncation
Page 498
10.11. UDP Server Design
Page 498
10.11.1. IP Addresses and UDP Port Numbers
Page 499
10.11.2. Restricting Local IP Addresses
Page 500
10.11.3. Using Multiple Addresses
Page 501
10.11.4. Restricting Foreign IP Address
Page 502
10.11.5. Using Multiple Servers per Port
Page 503
10.11.6. Spanning Address Families: IPv4 and IPv6
Page 504
10.11.7. Lack of Flow and Congestion Control
Page 505
10.12. Translating UDP/IPv4 and UDP/IPv6 Datagrams
Page 505
10.13. UDP in the Internet
Page 506
10.14. Attacks Involving UDP and IP Fragmentation
Page 507
10.15. Summary
Page 508
10.16. References
Page 508
Chapter 11. Name Resolution and the Domain Name System (DNS)
Page 511
11.1. Introduction
Page 511
11.2. The DNS Name Space
Page 512
11.2.1. DNS Naming Syntax
Page 514
11.3. Name Servers and Zones
Page 516
11.4. Caching
Page 517
11.5. The DNS Protocol
Page 518
11.5.1. DNS Message Format
Page 520
11.5.2. The DNS Extension Format (EDNS0)
Page 524
11.5.3. UDP or TCP
Page 525
11.5.4. Question (Query) and Zone Section Format
Page 526
11.5.5. Answer, Authority, and Additional Information Section Formats
Page 526
11.5.6. Resource Record Types
Page 527
11.5.7. Dynamic Updates (DNS UPDATE)
Page 555
11.5.8. Zone Transfers and DNS NOTIFY
Page 558
11.6. Sort Lists, Round-Robin, and Split DNS
Page 565
11.7. Open DNS Servers and DynDNS
Page 567
11.8. Transparency and Extensibility
Page 567
11.9. Translating DNS from IPv4 to IPv6 (DNS64)
Page 568
11.10. LLMNR and mDNS
Page 569
11.11. LDAP
Page 570
11.12. Attacks on the DNS
Page 571
11.13. Summary
Page 572
11.14. References
Page 573
Chapter 12. TCP: The Transmission Control Protocol (Preliminaries)
Page 579
12.1. Introduction
Page 579
12.1.1. ARQ and Retransmission
Page 580
12.1.2. Windows of Packets and Sliding Windows
Page 581
12.1.3. Variable Windows: Flow Control and Congestion Control
Page 583
12.1.4. Setting the Retransmission Timeout
Page 584
12.2. Introduction to TCP
Page 584
12.2.1. The TCP Service Model
Page 585
12.2.2. Reliability in TCP
Page 586
12.3. TCP Header and Encapsulation
Page 587
12.4. Summary
Page 591
12.5. References
Page 591
Chapter 13. TCP Connection Management
Page 595
13.1. Introduction
Page 595
13.2. TCP Connection Establishment and Termination
Page 595
13.2.1. TCP Half-Close
Page 598
13.2.2. Simultaneous Open and Close
Page 599
13.2.3. Initial Sequence Number (ISN)
Page 601
13.2.4. Example
Page 602
13.2.5. Timeout of Connection Establishment
Page 604
13.2.6. Connections and Translators
Page 605
13.3. TCP Options
Page 605
13.3.1. Maximum Segment Size (MSS) Option
Page 606
13.3.2. Selective Acknowledgment (SACK) Options
Page 607
13.3.3. Window Scale (WSCALE or WSOPT) Option
Page 608
13.3.4. Timestamps Option and Protection against Wrapped Sequence Numbers (PAWS)
Page 608
13.3.5. User Timeout (UTO) Option
Page 611
13.3.6. Authentication Option (TCP-AO)
Page 612
13.4. Path MTU Discovery with TCP
Page 612
13.4.1. Example
Page 613
13.5. TCP State Transitions
Page 616
13.5.1. TCP State Transition Diagram
Page 617
13.5.2. TIME_WAIT (2MSL Wait) State
Page 618
13.5.3. Quiet Time Concept
Page 624
13.5.4. FIN_WAIT_2 State
Page 625
13.5.5. Simultaneous Open and Close Transitions
Page 625
13.6. Reset Segments
Page 625
13.6.1. Connection Request to Nonexistent Port
Page 626
13.6.2. Aborting a Connection
Page 627
13.6.3. Half-Open Connections
Page 628
13.6.4. TIME-WAIT Assassination (TWA)
Page 630
13.7. TCP Server Operation
Page 631
13.7.1. TCP Port Numbers
Page 632
13.7.2. Restricting Local IP Addresses
Page 634
13.7.3. Restricting Foreign Endpoints
Page 635
13.7.4. Incoming Connection Queue
Page 636
13.8. Attacks Involving TCP Connection Management
Page 640
13.9. Summary
Page 642
13.10. References
Page 643
Chapter 14. TCP Timeout and Retransmission
Page 647
14.1. Introduction
Page 647
14.2. Simple Timeout and Retransmission Example
Page 648
14.3. Setting the Retransmission Timeout (RTO)
Page 651
14.3.1. The Classic Method
Page 651
14.3.2. The Standard Method
Page 652
14.3.3. The Linux Method
Page 657
14.3.4. RTT Estimator Behaviors
Page 661
14.3.5. RTTM Robustness to Loss and Reordering
Page 662
14.4. Timer-Based Retransmission
Page 664
14.4.1. Example
Page 665
14.5. Fast Retransmit
Page 667
14.5.1. Example
Page 668
14.6. Retransmission with Selective Acknowledgments
Page 671
14.6.1. SACK Receiver Behavior
Page 672
14.6.2. SACK Sender Behavior
Page 673
14.6.3. Example
Page 673
14.7. Spurious Timeouts and Retransmissions
Page 677
14.7.1. Duplicate SACK (DSACK) Extension
Page 677
14.7.2. The Eifel Detection Algorithm
Page 679
14.7.3. Forward-RTO Recovery (F-RTO)
Page 680
14.7.4. The Eifel Response Algorithm
Page 680
14.8. Packet Reordering and Duplication
Page 682
14.8.1. Reordering
Page 682
14.8.2. Duplication
Page 684
14.9. Destination Metrics
Page 685
14.10. Repacketization
Page 686
14.11. Attacks Involving TCP Retransmission
Page 687
14.12. Summary
Page 688
14.13. References
Page 689
Chapter 15. TCP Data Flow and Window Management
Page 691
15.1. Introduction
Page 691
15.2. Interactive Communication
Page 692
15.3. Delayed Acknowledgments
Page 695
15.4. Nagle Algorithm
Page 696
15.4.1. Delayed ACK and Nagle Algorithm Interaction
Page 699
15.4.2. Disabling the Nagle Algorithm
Page 699
15.5. Flow Control and Window Management
Page 700
15.5.1. Sliding Windows
Page 701
15.5.2. Zero Windows and the TCP Persist Timer
Page 704
15.5.3. Silly Window Syndrome (SWS)
Page 708
15.5.4. Large Buffers and Auto-Tuning
Page 715
15.6. Urgent Mechanism
Page 719
15.6.1. Example
Page 720
15.7. Attacks Involving Window Management
Page 723
15.8. Summary
Page 723
15.9. References
Page 724
Chapter 16. TCP Congestion Control
Page 727
16.1. Introduction
Page 727
16.1.1. Detection of Congestion in TCP
Page 728
16.1.2. Slowing Down a TCP Sender
Page 729
16.2. The Classic Algorithms
Page 730
16.2.1. Slow Start
Page 732
16.2.2. Congestion Avoidance
Page 734
16.2.3. Selecting between Slow Start and Congestion Avoidance
Page 736
16.2.4. Tahoe, Reno, and Fast Recovery
Page 737
16.2.5. Standard TCP
Page 738
16.3. Evolution of the Standard Algorithms
Page 739
16.3.1. NewReno
Page 739
16.3.2. TCP Congestion Control with SACK
Page 740
16.3.3. Forward Acknowledgment (FACK) and Rate Halving
Page 741
16.3.4. Limited Transmit
Page 742
16.3.5. Congestion Window Validation (CWV)
Page 742
16.4. Handling Spurious RTOs—the Eifel Response Algorithm
Page 744
16.5. An Extended Example
Page 745
16.5.1. Slow Start Behavior
Page 749
16.5.2. Sender Pause and Local Congestion (Event 1)
Page 750
16.5.3. Stretch ACKs and Recovery from Local Congestion
Page 754
16.5.4. Fast Retransmission and SACK Recovery (Event 2)
Page 757
16.5.5. Additional Local Congestion and Fast Retransmit Events
Page 759
16.5.6. Timeouts, Retransmissions, and Undoing cwnd Changes
Page 762
16.5.7. Connection Completion
Page 766
16.6. Sharing Congestion State
Page 767
16.7. TCP Friendliness
Page 768
16.8. TCP in High-Speed Environments
Page 770
16.8.1. HighSpeed TCP (HSTCP) and Limited Slow Start
Page 770
16.8.2. Binary Increase Congestion Control (BIC and CUBIC)
Page 772
16.9. Delay-Based Congestion Control
Page 777
16.9.1. Vegas
Page 777
16.9.2. FAST
Page 778
16.9.3. TCP Westwood and Westwood+
Page 779
16.9.4. Compound TCP
Page 779
16.10. Buffer Bloat
Page 781
16.11. Active Queue Management and ECN
Page 782
16.12. Attacks Involving TCP Congestion Control
Page 785
16.13. Summary
Page 786
16.14. References
Page 788
Chapter 17. TCP Keepalive
Page 793
17.1. Introduction
Page 793
17.2. Description
Page 795
17.2.1. Keepalive Examples
Page 797
17.3. Attacks Involving TCP Keepalives
Page 802
17.4. Summary
Page 802
17.5. References
Page 803
Chapter 18. Security: EAP, IPsec, TLS, DNSSEC, and DKIM
Page 805
18.1. Introduction
Page 805
18.2. Basic Principles of Information Security
Page 806
18.3. Threats to Network Communication
Page 807
18.4. Basic Cryptography and Security Mechanisms
Page 809
18.4.1. Cryptosystems
Page 809
18.4.2. Rivest, Shamir, and Adleman (RSA) Public Key Cryptography
Page 812
18.4.3. Diffie-Hellman-Merkle Key Agreement (aka Diffie-Hellman or DH)
Page 813
18.4.4. Signcryption and Elliptic Curve Cryptography (ECC)
Page 814
18.4.5. Key Derivation and Perfect Forward Secrecy (PFS)
Page 815
18.4.6. Pseudorandom Numbers, Generators, and Function Families
Page 815
18.4.7. Nonces and Salt
Page 816
18.4.8. Cryptographic Hash Functions and Message Digests
Page 817
18.4.9. Message Authentication Codes (MACs, HMAC, CMAC, and GMAC)
Page 818
18.4.10. Cryptographic Suites and Cipher Suites
Page 819
18.5. Certificates, Certificate Authorities (CAs), and PKIs
Page 821
18.5.1. Public Key Certificates, Certificate Authorities, and X.509
Page 822
18.5.2. Validating and Revoking Certificates
Page 828
18.5.3. Attribute Certificates
Page 831
18.6. TCP/IP Security Protocols and Layering
Page 832
18.7. Network Access Control: 802.1X, 802.1AE, EAP, and PANA
Page 833
18.7.1. EAP Methods and Key Derivation
Page 837
18.7.2. The EAP Re-authentication Protocol (ERP)
Page 839
18.7.3. Protocol for Carrying Authentication for Network Access (PANA)
Page 839
18.8. Layer 3 IP Security (IPsec)
Page 840
18.8.1. Internet Key Exchange (IKEv2) Protocol
Page 842
18.8.2. Authentication Header (AH)
Page 854
18.8.3. Encapsulating Security Payload (ESP)
Page 858
18.8.4. Multicast
Page 864
18.8.5. L2TP/IPsec
Page 865
18.8.6. IPsec NAT Traversal
Page 865
18.8.7. Example
Page 867
18.9. Transport Layer Security (TLS and DTLS)
Page 876
18.9.1. TLS 1.2
Page 877
18.9.2. TLS with Datagrams (DTLS)
Page 891
18.10. DNS Security (DNSSEC)
Page 894
18.10.1. DNSSEC Resource Records
Page 896
18.10.2. DNSSEC Operation
Page 902
18.10.3. Transaction Authentication (TSIG, TKEY, and SIG(0))
Page 911
18.10.4. DNSSEC with DNS64
Page 915
18.11. DomainKeys Identified Mail (DKIM)
Page 915
18.11.1. DKIM Signatures
Page 916
18.11.2. Example
Page 916
18.12. Attacks on Security Protocols
Page 918
18.13. Summary
Page 919
18.14. References
Page 922
Glossary of Acronyms. 933
Index. 963

Edition Notes

Stevens' name appears first on the earlier edition.

v. 1. The protocols

Includes bibliographical references and index.

Published in
Upper Saddle River, NJ
Series
Addison-Wesley Professional Computing Series
Copyright Date
2012

Classifications

Dewey Decimal Class
004.6/2
Library of Congress
TK5105.55 .S74 2012, TK5105.585

The Physical Object

Format
Hardcover
Pagination
v. :
Number of pages
1056

Edition Identifiers

Open Library
OL25162208M
ISBN 10
0321336313
ISBN 13
9780321336316
LCCN
2011029411
OCLC/WorldCat
704384855, 757519355
Wikidata
Q115922106

Work Identifiers

Work ID
OL2705896W

Work Description

A detailed guide to the design and operation of protocols and applications in the TCP/IP suite.

Community Reviews (0)

No community reviews have been submitted for this work.

Lists

Download catalog record: RDF / JSON / OPDS | Wikipedia citation