Seth / Venkatesulu | TCP/IP Architecture, Design, and Implementation in Linux | Buch | 978-0-470-14773-3 | sack.de

Buch, Englisch, 800 Seiten, Format (B × H): 184 mm x 264 mm, Gewicht: 1617 g

Seth / Venkatesulu

TCP/IP Architecture, Design, and Implementation in Linux


1. Auflage 2008
ISBN: 978-0-470-14773-3
Verlag: Wiley

Buch, Englisch, 800 Seiten, Format (B × H): 184 mm x 264 mm, Gewicht: 1617 g

ISBN: 978-0-470-14773-3
Verlag: Wiley


This book provides thorough knowledge of Linux TCP/IP stack and kernel framework for its network stack, including complete knowledge of design and implementation. Starting with simple client-server socket programs and progressing to complex design and implementation of TCP/IP protocol in linux, this book provides different aspects of socket programming and major TCP/IP related algorithms. In addition, the text features netfilter hook framework, a complete explanation of routing sub-system, IP QOS implementation, and Network Soft IRQ. This book further contains elements on TCP state machine implementation,TCP timer implementation on Linux, TCP memory management on Linux, and debugging TCP/IP stack using lcrash

Seth / Venkatesulu TCP/IP Architecture, Design, and Implementation in Linux jetzt bestellen!

Weitere Infos & Material


Preface.
Acknowledgments.

1. INTRODUCTION.

1.1 Overview of TCP/IP Stack.

1.2 Source Code Organization for Linux 2.4.20.

1.3 TCP/IP Stack and Kernel Control Paths.

1.4 Linux Kernel Until Version 2.4 Is Non-preemptible.

1.5 Linux Process and Thread.

1.6 Kernel Synchronization Mechanism.

1.7 Application Interfaces for TCP/IP Programming.

1.8 Shutdown.

1.9 I/O.

1.10 TCP State.


1.11 Summary.

2. PROTOCOL FUNDAMENTALS.

2.1 TCP.

2.2 TCP Options (RFC 1323).

2.3 TCP Data Flow.

2.4 Delayed Acknowledgment.

2.5 Nagle’s Algorithm (RFC 896).

2.6 TCP Sliding Window Protocol.

2.7 Maximizing TCP Throughput.

2.8 TCP Timers.

2.9 TCP Congestion Control.

2.10 TCP Performance and Reliability.

2.11 IP (Internet Protocol).

2.12 Routing.

2.13 netstat.

2.14 traceroute.

2.15 ICMP.


2.16 ping.

2.17 ARP/RARP.

2.18 Summary.

3. KERNEL IMPLEMENTATION OF SOCKETS.


3.1 Socket Layer.

3.2 VFS and Socket.

3.3 Protocol Socket Registration.

3.4 struct inet_protosw.

3.5 Socket Organization in the Kernel.

3.6 Socket.

3.7 inet_create.

3.8 Flow Diagram for Socket Call.

3.9 Summary.

4. KERNEL IMPLEMENTATION OF TCP CONNECTION SETUP.

4.1 Connection Setup.

4.2 Bind.

4.3 Listen.


4.4 Connection Request Handling by Kernel.

4.5 Accept.

4.6 Client Side Setup.

4.7 Summary.


5. sk_buff AND PROTOCOL HEADERS.

5.1 struct sk_buff.

5.2 struct skb_shared_info.

5.3 sk_buff and DMA—SKB_FRAG_STRUCT.

5.4 Routines Operating on sk_buff.

5.5 sk_buff Builds Protocol Headers as It Traverses Down the Protocol Layers.

5.6 sk_buff Extracts Protocol Headers as It Traverses Up the Protocol Layers When a Packet Arrives.


5.7 Summary.

6. MOVEMENT OF sk_buff ACROSS PROTOCOL LAYERS.

6.1 Packet Traversing Down the TCP/IP Stack.

6.2 Routed Packet Ready for Transmission.

6.3 Kernel Flow for a Packet Moving Down the Stack.

6.4 Packet Traversing Up the TCP/IP Stack.

6.5 Kernel Flow for a Packet Moving Up the Stack.

6.6 Summary.

7. TCP SEND.

7.1 TCP Segmentation Unit for Sending Data.

7.2 Segmentation with Scatter–Gather Technique.

7.3 Sending OOB Data.


7.4 Flow for TCP Segmentation Unit and Send Process.

7.5 Functional Level Flow for Segmentation and Send Mechanism.

7.6 Summary.

8. TCP RECEIVE.

8.1 Queuing Mechanism.

8.2 Processing of TCP Data from the Receive Queue.

8.3 TCP Urgent Byte Processing.

8.4 DATA Flow Diagram for Receiving Data over the TCP Socket.


8.5 Summary.

9. TCP MEMORY MANAGEMENT.

9.1 Transmit Side TCP Memory Management.

9.2 Receive Side TCP Memory Management.

9.3 Freeing of Memory Allocated to a Receive Buffer.


9.4 System-Wide Control Parameters Are Worth Noticing When It Comes to TCP Memory Management.

9.5 Summary.

10. TCP TIMERS.

10.2 TCP Retransmit Timer.

10.3 Zero Window Probe Timer.

10.4 Delay ACK Timer.

10.5 Keepalive Timer.


10.6 SYN-ACK Timer.

10.7 TIME_WAIT Timer.

10.7.8 __tcp_tw_hashdance().


10.8 Summary.

11. TCP CORE PROCESSING.

11.1 TCP Incoming Segment Processing.

11.2 Fast Path Processing.

11.3 Slow Path Processing.

11.4 Processing of Incoming ACK.

11.5 Processing of SACK blocks.


11.6 Reordering Length.


11.7 Processing TCP Urgent Pointer.

11.8 Processing Data Segments in Slow Path.

11.9 Overview of Core TCP Processing.


11.10 Summary.


Sameer Seth works at Juniper Networks as Senior Staff Engineer for JUNOS Kernel Team. Previously, he was a senior engineer at Sun Microsystems, where he worked on the TCP/IP stack in Solaris, sockets, streams, NFS, and related kernel framework. He has ten years of experience working with Linux in research and commercial environments. He has also worked on embedded TCP/IP Linux stack as well as on X86 architectures. Additionally, he has worked on different communication protocols on Motorola MPC8260 processors. His community work includes blogging for opensolaris technology (blogs.sun.com/sameer) and he delivers technical talks on open solaris technology. In his spare time he enjoys writing and talking on technical topics related to networking and Unix.
M. Ajaykumar Venkatesulu is currently working on networking and naming services. He has seven years of experience with Linux networking and kernel in research and commercial environments. His areas of interest include Linux kernel, embedded systems, IP routing, and IP QoS.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.