第三章:深入 Linux 内核网络

创造操作系统,就是去创造一个所有应用程序赖以运行的基础环境。从根本上来说,就是在制定规则:什么可以接受,什么可以做,什么不可以做。事实上,所有的程序都是在制定规则,只不过操作系统是在制定最根本的规则。

—— 摘自《Linus Torvalds 自传》[1]

若您的目标是业务开发工程师 ,了解 HTTP 协议再加点 TCP 知识完全够用了,但倘若是要设计一个优秀的架构,进行更深入的思考时,包括方案的权衡利弊和探究问题的根本原因,这些知识显然不够了。此时,只有去了解一些底层原理,看看操作系统的各个模块如何有机协作,再如何对上层产生影响。显然,掌握了最根本的规则,也就能轻松看透应用层的各种创新,再回顾近几年引领技术潮流的容器、服务网格等等技术,也只是把计算机的基本原理、方法重新组合,换种形式解决业务变化带来的新问题。

这一章,我们看看数据包从用户端到达服务端后,内核是如何处理的。分析的过程中再去学习一些诸如 netfilter、iptables、conntrack 以及虚拟化网络等内容,修炼内功的同时也为本书后续要介绍的负载均衡、容器网络、服务网格等技术储备一些基础知识。

图 3-0 本章内容导读


  1. Linus Torvalds 是 Linux 内核的最早作者,他还开发了 Git,是当今世界最著名的程序员之一。 ↩︎

总字数:464
Last Updated:
Contributors: isno