Book Description
If you’ve ever wondered how Linux carries out the complicated tasks assigned to it by the IP protocols — or if you just want to learn about modern networking through real-life examples — Understanding Linux Network Internals is for you.
Like the popular O’Reilly book, Understanding the Linux Kernel, this book clearly explains the underlying concepts and teaches you how to follow the actual C code that implements it. Although some background in the TCP/IP protocols is helpful, you can learn a great deal from this text about the protocols themselves and their uses. And if you already have a base knowledge of C, you can use the book’s code walkthroughs to figure out exactly what this sophisticated part of the Linux kernel is doing.
Part of the difficulty in understanding networks — and implementing them — is that the tasks are broken up and performed at many different times by different pieces of code. One of the strengths of this book is to integrate the pieces and reveal the relationships between far-flung functions and data structures. Understanding Linux Network Internals is both a big-picture discussion and a no-nonsense guide to the details of Linux networking. Topics include:
- Key problems with networking
- Network interface card (NIC) device drivers
- System initialization
- Layer 2 (link-layer) tasks and implementation
- Layer 3 (IPv4) tasks and implementation
- Neighbor infrastructure and protocols (ARP)
- Bridging
- Routing
- ICMP
Author Christian Benvenuti, an operating system designer specializing in networking, explains much more than how Linux code works. He shows the purposes of major networking features and the trade-offs involved in choosing one solution over another. A large number of flowcharts and other diagrams enhance the book’s understandability.
Table of Contents
Part I. General Background
Chapter 1 Introduction
Chapter 2 Critical Data Structures
Chapter 3 User-Space-to-Kernel Interface
Part II. System Initialization
Chapter 4 Notification Chains
Chapter 5 Network Device Initialization
Chapter 6 The PCI Layer and Network Interface Cards
Chapter 7 Kernel Infrastructure for Component Initialization
Chapter 8 Device Registration and Initialization
Part III. Transmission and Reception
Chapter 9 Interrupts and Network Drivers
Chapter 10 Frame Reception
Chapter 11 Frame Transmission
Chapter 12 General and Reference Material About Interrupts
Chapter 13 Protocol Handlers
Part IV. Bridging
Chapter 14 Bridging: Concepts
Chapter 15 Bridging: The Spanning Tree Protocol
Chapter 16 Bridging: Linux Implementation
Chapter 17 Bridging: Miscellaneous Topics
Part V. Internet Protocol Version 4 (IPv4)
Chapter 18 Internet Protocol Version 4 (IPv4): Concepts
Chapter 19 Internet Protocol Version 4 (IPv4): Linux Foundations and Features
Chapter 20 Internet Protocol Version 4 (IPv4): Forwarding and Local Delivery
Chapter 21 Internet Protocol Version 4 (IPv4): Transmission
Chapter 22 Internet Protocol Version 4 (IPv4): Handling Fragmentation
Chapter 23 Internet Protocol Version 4 (IPv4): Miscellaneous Topics
Chapter 24 Layer Four Protocol and Raw IP Handling
Chapter 25 Internet Control Message Protocol (ICMPv4)
Part VI. Neighboring Subsystem
Chapter 26 Neighboring Subsystem: Concepts
Chapter 27 Neighboring Subsystem: Infrastructure
Chapter 28 Neighboring Subsystem: Address Resolution Protocol (ARP)
Chapter 29 Neighboring Subsystem: Miscellaneous Topics
Part VII. Routing
Chapter 30 Routing: Concepts
Chapter 31 Routing: Advanced
Chapter 32 Routing: Li nux Implementation
Chapter 33 Routing: The Routing Cache
Chapter 34 Routing: Routing Tables
Chapter 35 Routing: Lookups
Chapter 36 Routing: Miscellaneous Topics
中文:
书名:Understanding Linux Network Internals
如果你想知道Linux如何执行IP协议分配给它的复杂任务,或者你是否只是想通过现实生活中的例子来了解现代网络。 了解Linux网络内部结构 是给你的。
就像畅销书O&8217;Reilly一样, 了解Linux内核,这本书清楚地解释了基本的概念,并教你如何遵循实现它的实际C代码。虽然一些关于TCP/IP协议的背景知识会有所帮助,但您可以从本文中学到很多关于协议本身及其用法的知识。如果您已经有了C语言的基础知识,那么您可以使用本书的代码演练来准确地了解Linux内核的这一复杂部分到底在做什么。
理解和实现网络的部分困难在于,任务被分解,并由不同的代码段在许多不同的时间执行。这本书的优点之一是集成了各个部分,并揭示了广泛的函数和数据结构之间的关系。 了解Linux网络内部结构 既是一个大局讨论,也是Linux网络细节的严肃指南。主题包括:
- Key problems with networking
- 网卡(NIC)设备驱动程序
- System initialization
- 第2层(链路层)任务和实施
- 第3层(IPv4)任务和实施
- 邻居基础设施和协议(ARP)
- 桥接
- 选路
- ICMP
作者Christian Benvenuti是一位专门研究网络的操作系统设计师,他解释的远不止是Linux代码的工作原理。他介绍了主要网络功能的用途以及在选择一种解决方案而不是另一种解决方案时涉及的权衡。大量的流程图和其他图表增强了这本书的易读性。
目录表
Part I. General Background
Chapter 1 Introduction
第2章:关键数据结构
第3章用户空间到内核的接口
第二部分:系统初始化
第4章:通知链
第5章:网络设备初始化
第6章:PCI层和网络接口卡
Chapter 7 Kernel Infrastructure for Component Initialization
Chapter 8 Device Registration and Initialization
第三部分:发送和接收
第9章:中断和网络驱动程序
Chapter 10 Frame Reception
第11章:帧传输
Chapter 12 General and Reference Material About Interrupts
Chapter 13 Protocol Handlers
Part IV. 桥接
第14章:衔接:概念
第15章桥接:生成树协议
第16章:桥接:Linux实现
第17章:衔接:其他主题
第五部分Internet协议第4版(IPv4)
第18章Internet协议版本4(IPv4):概念
第19章Internet协议版本4(IPv4):Linux基础和功能
第20章互联网协议版本4(IPv4):转发和本地传送
Chapter 21 Internet Protocol Version 4 (IPv4): Transmission
第22章Internet协议版本4(IPv4):处理碎片
第23章Internet协议版本4(IPv4):其他主题
第24章-第4层协议和原始IP处理
第25章:Internet控制消息协议(ICMPv4)
Part VI. Neighboring Subsystem
第26章相邻子系统:概念
第27章邻近子系统:基础设施
第28章邻接子系统:地址解析协议(ARP)
第29章:相邻子系统:其他主题
Part VII. 选路
Chapter 30 选路: Concepts
Chapter 31 选路: Advanced
第32章:路由:LI nux实现
Chapter 33 选路: The 选路 Cache
Chapter 34 选路: 选路 Tables
Chapter 35 选路: Lookups
第36章:路由:其他主题
评论前必须登录!
注册