Skip to content

Commit a5a3799

Browse files
committed
add linux kernel net code
1 parent 316749d commit a5a3799

File tree

1,648 files changed

+700686
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,648 files changed

+700686
-0
lines changed

README.md

100644100755
+33
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,35 @@
11
# Reading-and-comprehense-linux-Kernel-network-protocol-stack
22
linux内核网络协议栈阅读理解
3+
4+
本代码是linux内核网络协议栈源码(版本为2.6.35),主要是我读研期间在一家公司实习的时候在业余时间分析阅读的,
5+
研究生毕业后由于工作需要,对读研期间没有阅读的剩余主要功能重新阅读了一遍。本代码对三层及其以上部分主要功能做
6+
了详细注释,并对重要数据结构的各个成员进行了备注,同事对各个函数的调用关系都有详尽备注。主要参考资料为樊东东
7+
老师的<linux内核源码剖析(上下册)>,再此对樊老师表示感谢,这是一本理解网络协议栈很好的书,两本合计1000多页,内
8+
容比较多,但都很经典,对阅读内核协议栈源码有很大的帮助。
9+
10+
由于工作中经常需要修改协议栈源码,包括封包解包各种隧道报文, NAT功能添加,路径修改等,由于部分内容涉及到
11+
公司保密内容,因此这些工作中新增修改的内核代码已经从本分github中移除,因此可能造成部分函数没有定义,但不会影响
12+
各位同行阅读和理解协议栈源码。
13+
14+
该代码已经详细分析和注释的协议栈功能有:
15+
.二层 三层 4层 发包收包调用流程,及各层头部封包解包分析注释。
16+
.netfilter框架代码分析注释
17+
.sock处理过程中的各种系统调用以及内核处理过程分析注释
18+
.SKB封包 解包 克隆复制 拆分 拉直等详细分析注释
19+
.网络dev设备注册 注销详解。
20+
.内核态用户态通信netlink代码分析注释
21+
.ip分片重组分析注释
22+
.套接口层代码分析及详细注释
23+
.传输控制块分析注释
24+
.TCP链接建立过程分析注释
25+
.链接终止过程分析分析注释
26+
.ip层输入输出分析,TCP输入输出分析 及其层次调用过程分析注释
27+
.tc限速源码分析注释
28+
.ppp内核模块分析注释
29+
.相关模块功能分析注释
30+
31+
32+
33+
待分析主要模块:网桥模块,vlan模块,邻居子系统,路由表模块。
34+
35+

0 commit comments

Comments
 (0)