Linux 内核协议栈 学习资料
终极资料
1.《Understanding Linux Network Internals》
2.《TCP/IP Architecture, Design and Implementation in Linux》
以下博客内容可用于导读。
自底向上
链路层质料
1.linux内核网络协议栈架构分析,全流程分析-干货:
https://blog.csdn.net/zxorange321/article/details/75676063
2.专栏:Linux内核网络栈源代码分析
https://blog.csdn.net/column/details/linux-kernel-net.html
3.网卡收包流程:
https://juejin.im/post/592e756344d90400645d5273
4.套接字缓存之skb_put、skb_push、skb_pull、skb_reserve
http://www.linuxtcpipstack.com/107.html
5.Linux 内核网络协议栈 ------sk_buff 结构体 以及 完全解释
https://blog.csdn.net/shanshanpt/article/details/21024465
6.Linux网络 - 数据包的接收过程
https://segmentfault.com/a/1190000008836467
7.Linux中rps/rfs的原理及实现
https://titenwang.github.io/2017/07/09/implementation-of-rps-and-rfs/
8.小白都能看明白的VLAN原理解释
http://network.51cto.com/art/201409/450885.htm
网络层资料
ARP
1.Linux邻居协议 学习笔记 之七 arp数据包处理流程
https://blog.csdn.net/lickylin/article/details/23099943
2.Netfilter 概述及其hook点
https://blog.csdn.net/liukun321/article/details/54577433
3.LINUX邻居子系统(一)
https://blog.csdn.net/minghe_uestc/article/details/7794852#t0
4.Linux内核分析 - 网络[九]:邻居表
https://blog.csdn.net/qy532846454/article/details/6806197
5.linux网络协议栈:邻居子系统
https://blog.csdn.net/davion_zhang/article/details/46814209
6.Linux邻居协议 学习笔记 之二 通用邻居处理函数对应的数据结构的分析
https://blog.csdn.net/lickylin/article/details/21560463
7.Linux邻居协议 学习笔记 之四 通用邻居项创建、查找、删除等相关的函数
https://blog.csdn.net/lickylin/article/details/21748109
8.Linux邻居协议 学习笔记 之五 通用邻居项的状态机机制
https://blog.csdn.net/lickylin/article/details/22228047
IP
1.IP数据包格式
https://blog.csdn.net/ce123_zhouwei/article/details/17453033
2.linux协议栈ip层分析
https://blog.csdn.net/pangyemeng/article/details/48346143
3.Linux内核分析 - 网络[八]:IP协议
https://blog.csdn.net/qy532846454/article/details/6744252
4.Linux kernel路由机制分析
http://lib.csdn.net/article/linux/37220
5.Internet路由之路由表查找算法概述-哈希/LC-Trie树/256-way-mtrie树
https://blog.csdn.net/dog250/article/details/6596046
6.IPv4 route lookup on Linux
https://vincent.bernat.ch/en/blog/2017-ipv4-route-lookup-linux
7.LC-trie 快速路由查找算法
8.IP-address lookup using LC-tries
https://www.nada.kth.se/~snilsson/publications/IP-address-lookup-using-LC-tries/
9.linux内核学习笔记------iP选项处理(一)
https://blog.csdn.net/opens_tym/article/details/17562883
- IP Options
http://www.embeddedlinux.org.cn/linux_net/0596002556/understandlni-CHP-18-SECT-3.html
11.Linux内核网络部分---IP数据报文分片重组
https://blog.csdn.net/sty23122555/article/details/51016859
12.Linux TCP/IP协议栈关于IP分片重组的实现
http://0xffffff.org/2014/04/16/30-linux-ip-fragment/
13.IP输入 之 分片重组ip_defrag
http://www.linuxtcpipstack.com/169.html
14.IP Defragmentation
ICMP
1.协议森林06 瑞士军刀 (ICMP协议)
http://www.cnblogs.com/vamei/archive/2012/12/05/2801991.html
2.Linux内核分析 - 网络[十一]:ICMP模块
https://blog.csdn.net/qy532846454/article/details/6915835
3.ICMP Types
http://www.embeddedlinux.org.cn/linux_net/0596002556/understandlni-CHP-25-SECT-3.html
传输层
UDP
1.协议森林07 傀儡 (UDP协议)
https://www.cnblogs.com/vamei/archive/2012/12/05/2798208.html
2.Linux内核分析 - 网络[十二]:UDP模块 - 收发
https://blog.csdn.net/qy532846454/article/details/6993695
3.Linux内核分析 - 网络[十二]:UDP模块 - socket
https://blog.csdn.net/qy532846454/article/details/6942667
4.Linux kernel 之 socket 创建过程分析
https://www.cnblogs.com/chenfulin5/p/6927040.html
TCP
1.协议森林08 不放弃 (TCP协议与流通信)
https://www.cnblogs.com/vamei/archive/2012/12/08/2805252.html
2.协议森林09 爱的传声筒 (TCP连接)
https://www.cnblogs.com/vamei/archive/2012/12/16/2812188.html
3.协议森林10 魔鬼细节 (TCP滑窗管理)
https://www.cnblogs.com/vamei/archive/2012/12/18/2822739.html
4.协议森林11 涅槃 (TCP重新发送)
https://www.cnblogs.com/vamei/archive/2013/01/05/2824748.html
5.协议森林12 天下为公 (TCP堵塞控制)
https://www.cnblogs.com/vamei/archive/2013/01/10/2850199.html
6.TCP输入 之 tcp_v4_rcv
http://www.linuxtcpipstack.com/590.html
7.高性能网络编程(一)----accept建立连接
https://blog.csdn.net/russell_tao/article/details/9111769
8.高性能网络编程3----TCP消息的接收
https://blog.csdn.net/russell_tao/article/details/9950615
9.Analysis_TCP_in_Linux
https://github.com/fzyz999/Analysis_TCP_in_Linux
10.Linux内核分析 - 网络[十六]:TCP三次握手
https://blog.csdn.net/qy532846454/article/details/7882819
11.Linux内核Socket实现之------Socket侦听listen(5)
http://blog.chinaunix.net/uid-20788636-id-4437743.html
12.TCP三次握手源码详解
http://abcdxyzk.github.io/blog/2015/06/01/kernel-net-shark-hand/
13.linux内核tcp的定时器管理(一)
https://simohayha.iteye.com/blog/481802
14.linux内核中socket的实现
https://simohayha.iteye.com/blog/449414
15.tcp connection setup的实现(一)
https://simohayha.iteye.com/blog/455664
16.tcp connection setup的实现(二)
https://simohayha.iteye.com/blog/459683
17.linux tcp三次握手-服务端收到ACK连接建立
http://www.cnhalo.net/2016/06/13/linux-tcp-establish/
18.tcp connection setup的实现(三)
https://simohayha.iteye.com/blog/461160
19.linux 内核tcp数据发送的实现
https://simohayha.iteye.com/blog/465922
20.linux 内核tcp接收数据的实现
https://simohayha.iteye.com/blog/478025
21.内核协议栈tcp层的内存管理
https://simohayha.iteye.com/blog/532450
22.tcp的输入段的处理
https://simohayha.iteye.com/blog/550976
23.内核tcp的ack的处理
https://simohayha.iteye.com/blog/572505
24.linux 内核tcp拥塞处理(一)
https://simohayha.iteye.com/blog/614258
25.linux 内核tcp拥塞处理(二)
http://www.pagefault.info/2012/10/21/linux-kernel-tcp-congestion-processing-(two).html
26.Linux 内核网络协议栈 ------ tcp_ack 函数处理接收到的ACK包之后
https://blog.csdn.net/shanshanpt/article/details/21798421
安全问题
1.基于 TCP/IP 协议的常见攻击方法
https://www.jianshu.com/p/b6466db30160
2.[看雪2018峰会回顾]TCP的厄运,网络协议侧信道分析及利用
https://bbs.pediy.com/thread-245982.htm
Linux 内核协议栈 学习资料的更多相关文章
- Linux内核协议栈相关资料链接
1.Linux内核网络分析(个人博客集合,分析较清晰) http://blog.csdn.net/qy532846454/article/category/1385933/2
- 写在学习linux内核协议栈之前
一直很喜欢内核,但是新手,非常的痛苦啊.现在看一本linux内核协议栈源码解析一书,将自己学习的经历以及 理解记录下来,以备将来回头查漏补缺,同时校正自己的理解错误,自勉
- TCP/IP协议栈源码图解分析系列10:linux内核协议栈中对于socket相关API的实现
题记:本系列文章的目的是抛开书本从Linux内核源代码的角度详细分析TCP/IP协议栈内核相关技术 轻松搞定TCP/IP协议栈,原创文章欢迎交流, byhankswang@gmail.com linu ...
- Linux 内核list_head 学习
Linux 内核list_head 学习(一) http://www.cnblogs.com/zhuyp1015/archive/2012/06/02/2532240.html 在Linux内核中,提 ...
- Linux内核驱动学习(八)GPIO驱动模拟输出PWM
文章目录 前言 原理图 IO模拟输出PWM 设备树 驱动端 调试信息 实验结果 附录 前言 上一篇的学习中介绍了如何在用户空间直接操作GPIO,并写了一个脚本可以产生PWM.本篇的学习会将写一个驱动操 ...
- Linux内存管理学习资料
下面是Linux内存管理学习的一些资料. 博客 mlock() and mlockall() system calls. All about Linux swap space 逆向映射的演进 Linu ...
- 良许Linux | Linux学习方法及学习资料汇总
很多人想学习Linux,却不知道怎么着手,甚至不知道Linux有哪些方向,非常迷茫.基于此,我特地写了篇文章介绍Linux方向性问题,没想到一不小心成了爆款: 到什么程度才叫精通 Linux? 看完 ...
- Linux内核驱动学习(三)字符型设备驱动之初体验
Linux字符型设备驱动之初体验 文章目录 Linux字符型设备驱动之初体验 前言 框架 字符型设备 程序实现 cdev kobj owner file_operations dev_t 设备注册过程 ...
- 从头开始构建LINUX[内核更新和资料]
了解了LFS的内容后,至于内核的更新就一目了然了 http://www.cnblogs.com/2018/p/3979305.html http://www.cnblogs.com/2018/p/39 ...
随机推荐
- vue从入门到进阶:Class 与 Style 绑定(四)
绑定 HTML Class 对象语法 ①.添加单个class: <div v-bind:class="{ active: isActive }"></div> ...
- JS中的call、apply、bind方法详解
bind 是返回对应函数,便于稍后调用:apply .call 则是立即调用 . apply.call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(co ...
- jQuery效果之封装模拟placeholder效果,让低版本浏览器也支持
页面中的输入框默认的提示文字一般使用placeholder属性就可以了,即: <input type="text" name="username" pla ...
- 2017-11-07 中文代码示例之Angular入门教程尝试
"中文编程"知乎专栏原址 原文: 中文代码示例教程之Angular尝试 为了检验中文命名在Angular中的支持程度, 把Angular官方入门教程的示例代码中尽量使用了中文命名. ...
- AI产品经理成长路
AI产品经理成长路 https://www.jianshu.com/p/4b98314ad3c0 以下都是自己平时知识的一些总结,只是一些个人的愚见,下面出现的公司.书籍.视频.网站都是自己看过体验过 ...
- [20190401]关于semtimedop函数调用.txt
[20190401]关于semtimedop函数调用.txt --//上个星期测试,链接http://blog.itpub.net/267265/viewspace-2639675/--//关于sql ...
- Spring MVC 拦截器 (十)
完整的项目案例: springmvc.zip 目录 实例 除了依赖spring-webmvc还需要依赖jackson-databind(用于转换json数据格式) <!--json-->& ...
- 编译percona-server-locks-detail-5.7.22
yum install -y binutils compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgc ...
- c/c++ 用前序和中序,或者中序和后序,创建二叉树
c/c++ 用前序和中序,或者中序和后序,创建二叉树 用前序和中序创建二叉树 //用没有结束标记的char*, clr为前序,lcr为中序来创建树 //前序的第一个字符一定是root节点,然后去中序字 ...
- c/c++ 线性表之顺序表
线性表之顺序表 存储在连续的内存空间,和数组一样. 下面的代码,最开始定义了一个能存8个元素的顺序表,当超过8个元素的时候,会再追加开辟空间(函数:reInit). 实现了以下功能: 函数 功能描述 ...