Cover image for TCP/IP architecture, design, and implementation in linux
Title:
TCP/IP architecture, design, and implementation in linux
Personal Author:
Publication Information:
New York, NY : Wiley, 2008
Physical Description:
xxviii, 772 p. : ill. ; 26 cm.
ISBN:
9780470147733

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010185231 TK5105.585 S48 2008 Open Access Book Book
Searching...
Searching...
30000010191697 TK5105.585 S48 2008 Open Access Book Book
Searching...

On Order

Summary

Summary

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


Author Notes

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.


Table of Contents

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 S