GithubHelp home page GithubHelp logo

ronaldoa / reading-and-comprehense-linux-kernel-network-protocol-stack Goto Github PK

View Code? Open in Web Editor NEW

This project forked from y123456yz/reading-and-comprehense-linux-kernel-network-protocol-stack

0.0 1.0 0.0 70.87 MB

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

License: GNU General Public License v3.0

C 99.20% Makefile 0.36% C++ 0.42% Awk 0.02%

reading-and-comprehense-linux-kernel-network-protocol-stack's Introduction

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

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

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

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

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

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

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

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

reading-and-comprehense-linux-kernel-network-protocol-stack's People

Contributors

y123456yz avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.