在我们学习,分析网络的时候,无论是教科书,畅销书,视频,通常都会把网络模块分拆开了来讲解,导致我们可能只知其一,不知其二,对整个网络的收发包流程没有一个清晰认识。
网络收发包可以理解为流水线模型,想想一下,长江从源头(源地址)出发经过各个省,到达出开口(目的地址),流经的各个省份可以理解为各个处理模块,分工配合。
我找到几篇英文博客,讲解的非常详细
https://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/
https://blog.packagecloud.io/eng/2017/02/06/monitoring-tuning-linux-networking-stack-sending-data/
https://blog.packagecloud.io/eng/2016/10/11/monitoring-tuning-linux-networking-stack-receiving-data-illustrated/
这里有个中文的缩减版也还行
https://segmentfault.com/a/1190000008836467
https://pan.baidu.com/s/1VTR4HUPHesO57Sim0pIqgA