学习Linux-4.12内核网路协议栈(0)——前言

当决定开始写这个系列文章的时候,就意识到这可能会是个漫长的过程,也可能是个短暂的过程(如果自己中途放弃的话)。


最近一段时间零零散散在了解内核网路协议栈相关的东西,有时候觉得怎么是那样,有时候觉得原来是这样,这种感觉反反复复持续了一段时间,直到现在可以较为平静的面对这些问题的时候,决定对网络协议栈的学习做个梳理和记录,下面是阅读到的一些书籍:


TCP IP详解卷1:协议 原书第2版

UNIX网络编程卷1:套接字联网API(第3版)

Linux内核网络栈源代码情景分析

深入理解LINUX网络技术内幕

linux2.6协议栈源码分析

Linux内核源码剖析 TCP/IP实现



其实网上介绍关于内核和协议栈的东西已经太多了,作为个人完全没有必要浪费时间再去做多余的记录,直接copy过来就好了,虽然查阅了那么多资料,翻看了不同的书籍,代码也有review过,但是感觉还是空空的,似懂非懂,原来“纸上得来终觉浅,绝知此事要躬行”,别人的总是别人的,拿来主义可以解决燃眉之急,但未必能形成自己的知识,所以即使不能达到“古人学问无遗力,少壮工夫老始成”,也还是准备花翻心思进行梳理和记录。


这里选择的kernel的版本是4.12,选择分析这个版本主要原因图个新鲜(这也是很多初学者经常犯的),而且自己也没接触过这个版本,所以应该有更多值得学习的东西,但需要说明的是,我是在了解了1.2, 2.6,3.14版本以后的基础上,才开始接触4.12的,所以如果是刚学习内核,建议还是先使用旧的版本,虽然kernel版本有这么多,总体上还是新葫卖旧药,总体没怎么变。


声明:后面的内容未必都是来自个人,可能来自网络或者书籍,个人记录只是为了更好的梳理知识结构


你可能感兴趣的:(linux网络内核)