Atjaunināt sīkdatņu piekrišanu

E-grāmata: TCP/IP Illustrated: The Protocols

4.49/5 (295 ratings by Goodreads)
Citas grāmatas par šo tēmu:
  • Formāts - PDF+DRM
  • Cena: 42,82 €*
  • * ši ir gala cena, t.i., netiek piemērotas nekādas papildus atlaides
  • Ielikt grozā
  • Pievienot vēlmju sarakstam
  • Šī e-grāmata paredzēta tikai personīgai lietošanai. E-grāmatas nav iespējams atgriezt un nauda par iegādātajām e-grāmatām netiek atmaksāta.
Citas grāmatas par šo tēmu:

DRM restrictions

  • Kopēšana (kopēt/ievietot):

    nav atļauts

  • Drukāšana:

    nav atļauts

  • Lietošana:

    Digitālo tiesību pārvaldība (Digital Rights Management (DRM))
    Izdevējs ir piegādājis šo grāmatu šifrētā veidā, kas nozīmē, ka jums ir jāinstalē bezmaksas programmatūra, lai to atbloķētu un lasītu. Lai lasītu šo e-grāmatu, jums ir jāizveido Adobe ID. Vairāk informācijas šeit. E-grāmatu var lasīt un lejupielādēt līdz 6 ierīcēm (vienam lietotājam ar vienu un to pašu Adobe ID).

    Nepieciešamā programmatūra
    Lai lasītu šo e-grāmatu mobilajā ierīcē (tālrunī vai planšetdatorā), jums būs jāinstalē šī bezmaksas lietotne: PocketBook Reader (iOS / Android)

    Lai lejupielādētu un lasītu šo e-grāmatu datorā vai Mac datorā, jums ir nepieciešamid Adobe Digital Editions (šī ir bezmaksas lietotne, kas īpaši izstrādāta e-grāmatām. Tā nav tas pats, kas Adobe Reader, kas, iespējams, jau ir jūsu datorā.)

    Jūs nevarat lasīt šo e-grāmatu, izmantojot Amazon Kindle.

“For an engineer determined to refine and secure Internet operation or to explore alternative solutions to persistent problems, the insights provided by this book will be invaluable.”—Vint Cerf, Internet pioneerTCP/IP Illustrated, Volume 1, Second Edition, is a detailed and visual guide to today’s TCP/IP protocol suite. Fully updated for the newest innovations, it demonstrates each protocol in action through realistic examples from modern Linux, Windows, and Mac OS environments. There’s no better way to discover why TCP/IP works as it does, how it reacts to common conditions, and how to apply it in your own applications and networks.Building on the late W. Richard Stevens’ classic first edition, author Kevin R. Fall adds his cutting-edge experience as a leader in TCP/IP protocol research, updating the book to fully reflect the latest protocols and best practices. He first introduces TCP/IP’s core goals and architectural concepts, showing how they can robustly connect diverse networks and support multiple services running concurrently. Next, he carefully explains Internet addressing in both IPv4 and IPv6 networks. Then, he walks through TCP/IP’s structure and function from the bottom up: from link layer protocols–such as Ethernet and Wi-Fi–through network, transport, and application layers.Fall thoroughly introduces ARP, DHCP, NAT, firewalls, ICMPv4/ICMPv6, broadcasting, multicasting, UDP, DNS, and much more. He offers extensive coverage of reliable transport and TCP, including connection management, timeout, retransmission, interactive data flow, and congestion control. Finally, he introduces the basics of security and cryptography, and illuminates the crucial modern protocols for protecting security and privacy, including EAP, IPsec, TLS, DNSSEC, and DKIM. Whatever your TCP/IP experience, this book will help you gain a deeper, more intuitive understanding of the entire protocol suite so you can build better applications and run more reliable, efficient networks.

Recenzijas

"What makes this book unique, in my estimation, is the level of detail and attention to history. It provides background and a sense for the ways in which solutions to networking problems have evolved. It is relentless in its effort to achieve precision and to expose remaining problem areas. For an engineer determined to refine and secure Internet operation or to explore alternative solutions to persistent problems, the insights provided by this book will be invaluable. The authors deserve credit for a thorough rendering of the technology of today's Internet." -Vint Cerf Praise for the First Edition of TCP/IP Illustrated, Volume 1: The Protocols ... "This is sure to be the bible for TCP/IP developers and users. Within minutes of picking up the text, I encountered several scenarios that had tripped up both my colleagues and myself in the past. Stevens reveals many of the mysteries once held tightly by the ever-elusive networking gurus. Having been involved in the implementation of TCP/IP for some years now, I consider this by far the finest text to date." -Robert A. Ciampa, network engineer, Synernetics, division of 3COM "While all of Stevens' books are readable and technically excellent, this new opus is awesome. Although many books describe the TCP/IP protocols, Stevens provides a level of depth and real-world detail lacking from the competition. He puts the reader inside TCP/IP using a visual approach and shows the protocols in action." -Steven Baker, networking columnist, Unix Review "TCP/IP Illustrated, Volume 1, is an excellent reference for developers, network administrators, or anyone who needs to understand TCP/IP technology. TCP/IP Illustrated is comprehensive in its coverage of TCP/IP topics, providing enough details to satisfy the experts while giving enough background and commentary for the novice." -Bob Williams, vice president, Marketing, NetManage, Inc. "... [ T]he difference is that Stevens wants to show as well as tell about the protocols. His principal teaching tools are straightforward explanations, exercises at the ends of chapters, byte-by-byte diagrams of headers and the like, and listings of actual traffic as examples." -Walter Zintz, UnixWorld "Much better than theory only... W. Richard Stevens takes a multihost-based configuration and uses it as a travelogue of TCP/IP examples with illustrations. TCP/IP Illustrated, Volume 1, is based on practical examples that reinforce the theory-distinguishing this book from others on the subject, and making it both readable and informative." -Peter M. Haverlock, consultant, IBM TCP/IP Development "The diagrams he uses are excellent and his writing style is clear and readable. In sum, Stevens has made a complex topic easy to understand. This book merits everyone's attention. Please read it and keep it on your bookshelf." -Elizabeth Zinkann, sys admin "W. Richard Stevens has produced a fine text and reference work. It is well organized and very clearly written with, as the title suggests, many excellent illustrations exposing the intimate details of the logic and operation of IP, TCP, and the supporting cast of protocols and applications." -Scott Bradner, consultant, Harvard University OIT/NSD

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

W. Richard Stevens, Ph.D. (1951-1999), was the pioneering author who taught a generation of network professionals the TCP/IP skills theyve used to make the Internet central to everyday life. His best-selling books included all three volumes of TCP/IP Illustrated (Addison-Wesley), as well as UNIX Network Programming (Prentice Hall).