• Stars
    star
    1,189
  • Rank 39,340 (Top 0.8 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created about 9 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

linux内核网络协议栈源码阅读分析注释--带详尽中文分析注释以及相关流程分析调用注释,对理解分析内核协议栈源码很有帮助

DDD# Reading-and-comprehense-linux-Kernel-network-protocol-stack

nginx高并发设计优秀思想应用于其他高并发代理中间件:

redis、nginx、memcache、twemproxy、mongodb等更多中间件,分布式系统,高性能服务端核心思想实现博客:

=================================== linux内核网络协议栈阅读理解

本代码是linux内核网络协议栈源码(版本为2.6.35),本代码对三层及其以上部分主要功能做

了详细注释,并对重要数据结构的各个成员进行了备注,同时对各个函数的调用关系都有详尽备注。主要参考资料为樊东东 老师的<linux内核源码剖析(上下册)>,再此对樊老师表示感谢,这是一本理解网络协议栈很好的书,两本合计1000多页,内 容比较多,但都很经典,对阅读内核协议栈源码有很大的帮助。

由于工作中经常需要修改协议栈源码,包括封包解包各种隧道报文, NAT功能添加,路径修改,添加自己的netfilter代

码等,由于部分内容涉及到公司保密内容,因此这些工作中新增修改的内核代码已经从本分github中移除,因此可能造成部分 函数没有定义,但不会影响各位同行阅读和理解协议栈源码。

该代码已经详细分析和注释的协议栈功能有: .二层 三层 4层 发包收包调用流程,及各层头部封包解包分析注释。 .netfilter框架代码分析注释 .sock处理过程中的各种系统调用以及内核处理过程分析注释 .SKB封包 解包 克隆复制 拆分 拉直等详细分析注释 .网络dev设备注册 注销详解。 .内核态用户态通信netlink代码分析注释 .ip分片重组分析注释 .套接口层代码分析及详细注释 .传输控制块分析注释 .TCP链接建立过程分析注释 .链接终止过程分析分析注释 .ip层输入输出分析,TCP输入输出分析 及其层次调用过程分析注释 .tc限速源码分析注释 .ppp内核模块分析注释 .相关模块功能分析注释

待分析主要模块:网桥模块,vlan模块,邻居子系统,路由表模块。

More Repositories

1

reading-code-of-nginx-1.9.2

nginx-1.9.2源码通读分析注释,带详尽函数中文分析注释以及相关函数流程调用注释,最全面的nginx源码阅读分析中文注释,更新完毕
C
4,135
star
2

middleware_development_learning

中间件、高性能服务器、分布式存储等(redis、memcache、nginx、大容量redis pika、rocksdb、mongodb、wiredtiger存储引擎、高性能代理中间件)二次开发、性能优化,逐步整理文档说明并配合demo指导--每周末定时更新2-3篇技术文章及程序demo
C
713
star
3

Reading-and-comprehense-redis-cluster

分布式NOSQL redis源码阅读中文分析注释,带详尽注释以及相关流程调用注释,提出改造点,redis cluster集群功能、节点扩容、槽位迁移、failover故障切换、一致性选举完整分析,对理解redis源码很有帮助,解决了source insight中文注释乱码问题,更新完毕
C
676
star
4

reading-and-annotate-mongodb-3.6

分布式文档数据库mongodb-3.6(mongos、mongod、wiredtiger存储引擎)源码中文注释分析,持续更新。后期重点进行mongodb-4.4最新版本内核源码分析
C++
509
star
5

reading-and-annotate-quic

quic、prot_quic、goquic、libquic源码中文注释分析,增加C++ quic-client和quic-server example 程序,便于快速掌握学习谷歌quic库源码和学习quic协议,作为新的网络加速协议,可以根据实际需要应用于自己的工程项目中。把google quic源码和goquic合并到一个工程编译安装
C
314
star
6

reading-and-annotate-rocketmq-3.4.6

阿里巴巴分布式消息队列中间件rocketmq-3.4.6源码分析、中文详细注释,停止更新
Java
190
star
7

tcprstat

服务器时延统计工具,在原有功能基础上,增加时延阈值统计,记录超过阈值的包个数,并把数据包时间戳记录到日志文件,这样可以根据时间戳快速定位到抓包文件中对应的包,从而可以快速定位到大时延包,避免了人肉搜索抓包文件,提高问题排查效率,所有参数可配置。可以以在线方式和离线方式分析redis、memcached、mysql、nginx等请求应答系统的时延,并定位慢响应数据报文。(源码学习交流QQ群:568892619)
C
166
star
8

reading-and-annotate-rocksdb-6.1.2

rocksdb-6.1.2 KV存储引擎源码中文注释分析,后期与mongodb默认KV存储引擎wiredtiger进行原理与性能比较,近期持续更新
C++
115
star
9

reading-and-annotate-mongodb-4.4

分布式文档数据库mongodb-4.4(mongos、mongod、wiredtiger存储引擎)源码中文注释分析,近期持续更新(近期重点)
C++
114
star
10

reading-and-annotate-docker-17.05.0

docker-17.05.0 containerd opencontainers/runc lxc mesos源码中文注释详细分析,带详细注释说明,学习容器技术很有帮助,近期持续更新
Go
66
star
11

reading-and-annotate-wiredtiger-3.0.0

文档数据库mongodb kv存储引擎wiredtiger源码详细分析注释
C
62
star
12

Reading-and-comprehense-twemproxy0.4.1

redis、memcached缓存代理twemproxy源码详细分析注释,带详尽中文注释及函数调用关系
C
53
star
13

reading-and-annotate-mongodb-5.0

分布式文档数据库mongodb-5.0(mongos、mongod、wiredtiger存储引擎)源码中文注释分析,近期持续更新(近期重点)
C++
51
star
14

Reading-and-comprehense-memcached-1.4.22

memcached源码详细分析注释,带详尽中文注释及函数调用关系,更新完毕
C
51
star
15

reading-and-annotate-nghttp2

HTTP/2库nghttp2源码中文注释分析, 后期不在更新,。停止分析nghttp2库主要原因:冗余代码太多,可读性差。如果想了解HTTP2代码实现过程,可以参考工程: reading-code-of-nginx-1.9.2;如果想学习quic实现过程,可以参考工程:reading-and-annotate-quic
C++
44
star
16

reading-and-annotate-lxc-1.0.9

容器技术:lxc-1.0.9 lxcfs-2.0.0 fuse-2.8.7源码详细注释分析
C
15
star
17

reading-and-annotate-mesos-1.2.0

Apache开源分布式资源管理框架mesos源码注释分析,新增mesos_framework_demo,带详细注释
C++
14
star