终极资料

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 快速路由查找算法

https://ggaaooppeenngg.github.io/zh-CN/2017/09/05/LC-trie-%E5%BF%AB%E9%80%9F%E8%B7%AF%E7%94%B1%E6%9F%A5%E6%89%BE%E7%AE%97%E6%B3%95/

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

  1. IP Options

http://www.embeddedlinux.org.cn/linux_net/0596002556/understandlni-CHP-18-SECT-3.html

http://www.embeddedlinux.org.cn/linux_net/0596002556/understandlni-CHP-19-SECT-3.html#understandlni-CHP-19-SECT-3.2

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

http://www.embeddedlinux.org.cn/linux_net/0596002556/understandlni-CHP-22-SECT-2.html#understandlni-CHP-22-FIG-1

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 内核协议栈 学习资料的更多相关文章

  1. Linux内核协议栈相关资料链接

    1.Linux内核网络分析(个人博客集合,分析较清晰) http://blog.csdn.net/qy532846454/article/category/1385933/2

  2. 写在学习linux内核协议栈之前

    一直很喜欢内核,但是新手,非常的痛苦啊.现在看一本linux内核协议栈源码解析一书,将自己学习的经历以及 理解记录下来,以备将来回头查漏补缺,同时校正自己的理解错误,自勉

  3. TCP/IP协议栈源码图解分析系列10:linux内核协议栈中对于socket相关API的实现

    题记:本系列文章的目的是抛开书本从Linux内核源代码的角度详细分析TCP/IP协议栈内核相关技术 轻松搞定TCP/IP协议栈,原创文章欢迎交流, byhankswang@gmail.com linu ...

  4. Linux 内核list_head 学习

    Linux 内核list_head 学习(一) http://www.cnblogs.com/zhuyp1015/archive/2012/06/02/2532240.html 在Linux内核中,提 ...

  5. Linux内核驱动学习(八)GPIO驱动模拟输出PWM

    文章目录 前言 原理图 IO模拟输出PWM 设备树 驱动端 调试信息 实验结果 附录 前言 上一篇的学习中介绍了如何在用户空间直接操作GPIO,并写了一个脚本可以产生PWM.本篇的学习会将写一个驱动操 ...

  6. Linux内存管理学习资料

    下面是Linux内存管理学习的一些资料. 博客 mlock() and mlockall() system calls. All about Linux swap space 逆向映射的演进 Linu ...

  7. 良许Linux | Linux学习方法及学习资料汇总

    很多人想学习Linux,却不知道怎么着手,甚至不知道Linux有哪些方向,非常迷茫.基于此,我特地写了篇文章介绍Linux方向性问题,没想到一不小心成了爆款: 到什么程度才叫精通 Linux?​ 看完 ...

  8. Linux内核驱动学习(三)字符型设备驱动之初体验

    Linux字符型设备驱动之初体验 文章目录 Linux字符型设备驱动之初体验 前言 框架 字符型设备 程序实现 cdev kobj owner file_operations dev_t 设备注册过程 ...

  9. 从头开始构建LINUX[内核更新和资料]

    了解了LFS的内容后,至于内核的更新就一目了然了 http://www.cnblogs.com/2018/p/3979305.html http://www.cnblogs.com/2018/p/39 ...

随机推荐

  1. Shell中判断语句if中-z至-d的意思

    [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ ...

  2. Ne10编译安装

    介绍 NEON,即"ARM Advanced SIMD",是ARM从ARMv7开始提供的高级单指令多数据(SIMD)扩展.它是一种64/128位混合SIMD体系结构.NEON在网上 ...

  3. svn基本常见操作设置

    代码管理工具一开始用的确会有点懵,但是永久了就会发现都是那几下套路,记录下来 托管好了代码一般起冲突了还是想重新搞一下,有个万能的重置操作,那就是重新关联svn项目,以前有时更换地址也是,发现遇到很多 ...

  4. Android使用Glide加载https链接的图片不显示的原因

    平时我们使用Glide加载http网址的图片的时候,图片可以正常加载出来,但是如果服务器端加上了安全认证,当加载自签名的https图片的时候就会报如下错误(证书路径验证异常). 我们如果不修改Glid ...

  5. python模块--collections

    python的内建模块collections有几个关键的数据结构,平常在使用的时候,开发者可以直接调用,不需要自己重复制造轮子,这样可以提高开发效率. 1. deque双端队列 平常我们使用的pyth ...

  6. CSS之表格边框合并、兄弟标签外边距合并、父子标签的外边距合并

    本文内容: 表格边框合并 兄弟标签外边距合并 父子标签的外边距合并 首发日期:2018-05-01 表格边框合并: 发生情况: 当设置了cellpadding="0" cellsp ...

  7. Linux系统中Redis和Tomcat的PID文件路径设置

    Tomcat: /bin/catalina.sh 文件头注释下面添加一行:CATALINA_PID=/var/run/tomcat.pid Redis: redis.conf配置文件里面搜索pidfi ...

  8. python——作用域之LEGB规则

    1 变量的作用域 Python是静态作用域,也就是说在Python中,变量的作用域源于它在代码中的位置:在不同的位置,可能有不同的命名空间.命名空间是变量作用域的体现形式. 2 LEGB各自代表的含义 ...

  9. cmd是命令提示符吗?

    经常使用电脑的小伙伴对cmd有所了解,它能帮我们快速解决问题.搜索框中输入“cmd”,就可以看到命令提示符程序了.那么,命令提示符程序和cmd到底有着什么样的联系呢?下面就为大家讲解一下. CMD是c ...

  10. 手动搭建Docker本地私有镜像仓库

    实验环境:两个Centos7虚拟机,一个是Server,用作客户端,另一个是Registry,用作Docker私有镜像仓库. 基础配置 查看一下两台虚拟机的IP地址 Server的IP地址是192.1 ...