linux协议栈分析-序

linux网络栈本已有无数的文档在飞,对于开发者而言,有兴趣的一直有兴趣,而没兴趣的,对于动辄数十篇的分析文档,恐怕也不是一时半会儿就能消化的了的。对于linux网络栈,我一直怀有敬畏之心,毕竟无论是从架构上说,还是包罗万象的协议,设备上说,linux协议栈都是一个巧夺天工的设计。但终于,尽管前辈的文档已经够多够详细了,我还是决定来写一些东西,有点翻拍西游记的感觉,担心不一定能够比前辈做的更好,却又心心向往之。既然如此,还犹豫什么?

作为本系列的第一篇,本来是想来说网络栈重要的结构,毕竟大师都曾说:“show me your structure(让我看看你的数据结构)”。所以从数据结构入手分析,由点及面,是一个重要的方法。然而,这种做法很容易造成只见树木,不见树林,迷失在浩如烟海的代码中。我想了一下,把网络栈划分块,分别说明。准备先说明一下几个方面:

  1. linux socket接口与网络架构。
  2. linux网络栈二三层实现。
  3. linux网络栈四层实现(tcp和udp)。
  4. linux netfilter。
  5. linux常见虚拟设备。

整体的文档说明计划就是这样的咯,感觉任务是非常艰巨的,我会尽量说的详细些。

原文地址:https://www.cnblogs.com/yhp-smarthome/p/6910664.html