Git Product home page Git Product logo

analysis_tcp_in_linux's Introduction

Linux 4.4.0内核源码分析——TCP实现

Build Status

知识共享许可协议
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。

English Version

Overview

TCP协议是目前网络协议栈中最重要的内容之一。出于个人兴趣,我们希望能够了解 关于TCP实现的相关知识。然而,目前网络上已存在的相关分析文章较为零散,难以 形成完整的体系,且多数文章所分析的内核版本较老。

因此,我们希望通过该项目对Linux内核的TCP实现进行相对系统的分析,并且希望我们 所做的工作能够帮助到那些真正需要的人。

目录结构

tcp.pdf					每次commit生成的最新版本的分析文档。
tcp.tex					TCP分析文档主文件
chapters/				每一章节的内容
    prepare.tex				准备知识(RFC等)
    network_data_structure.tex		网络子系统相关核心数据结构
    tcp_output.tex			TCP输出
    tcp_input.tex			TCP接收
    client_connect.tex			主动连接(Client)
    server_connect.tex			被动连接(Server)
    congestion_control.tex		TCP拥塞控制实现
    congestion_control_engine.tex	TCP拥塞控制引擎(及CUBIC模块分析)
    active_close.tex			主动关闭
    passive_close.tex			被动关闭
    non-core-related-code.tex		非核心代码分析
    appendix.tex			附录(GCC、操作系统、体系结构等相关知识)
images/					文档图片目录
fonts/					Adobe字体
rfc*.pdf				涉及到的RFC文档
TODO					TODO List
Makefile				构建脚本

依赖

本文采用LaTeX编写,生成文档需要相关的编译环境:

  • Adobe字体

本文采用了CTEX环境,其中,中文字体方面采用了Adobe字体。为了便于大家编译, 字体已经放在了fonts目录下,请自行安装。

  • TeX Live 2015或以上版本

本文在Ubuntu16.04发行版所配套的TeX Live 2015上编译通过,可以正确生成PDF。 需要确保xelatex在搜索路径(path)中

  • pygments

本文的代码高亮采用了minted宏包,该宏包依赖pygments进行代码高亮,因此,编译 该文档依赖pygments。

如何生成文档

本项目提供了Makefile用于生成文档

make clean && make

Get Involoved

随着对于Linux的TCP实现分析的深入,我们渐渐发现想要凭借我们微薄的力量完成这一 工作并不容易。我们希望有更多的人能够和我们一道,逐步完善对Linux内核TCP的分析。 让本项目所产生的分析文档能够惠及更多的人。

analysis_tcp_in_linux's People

Contributors

iromise avatar fzyz999 avatar harinlen avatar greystone 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.