第三章:深入 Linux 内核网络技术
创造操作系统,就是去创造一个所有应用程序赖以运行的基础环境。从根本上来说,就是在制定规则:什么可以接受、什么可以做、什么不可以做。事实上,所有的程序都是在制定规则,只不过操作系统是在制定最根本的规则。
—— 摘自《Linus Torvalds 自传》[1]
在第二章,我们讨论了请求如何到达后端系统。本章将进一步探讨请求到达 Linux 系统后的处理过程。
本章内容将深入分析 Linux 内核网络技术,根据数据包的处理过程层层推进,首先解析 Linux 内核中关键模块(将介绍 netfilter、iptables 以及 conntrack)如何密切协作、如何影响应用软件的设计。接着,针对 Linux 内核在密集网络系统下的瓶颈问题,探索业内一些“跨内核”思想的解决方案(将介绍 DPDK、RDMA 和 eBPF 技术)。最后,我们将学习虚拟化网络技术,为后续介绍的高级应用(如负载均衡、容器编排、服务网格)储备必要的基础知识。
本章内容安排如图 3-0 所示。
图 3-0 本章内容导读
Linus Torvalds,业内知名度最高的程序员之一。Linus Torvalds 是 Linux 内核的最早作者,被称为“Linux 之父”。他还开发了代码版本管理工具 Git,因此也被戏称为程序员的祖师爷。 ↩︎
总字数:396字