linux内核网络相关的代码看了一些,遗憾没有总结一番。近段也没什么项目做,那就整一整吧,让自己研究的更深入点。
以下是设备接收数据后在内核中的处理流程。
上图大致分为三层:
Ⅰ.物理层 :数据的收发 driver.c
Ⅱ.数据链路层 : 数据net_rx处理,主要是桥的处理。 dev.c
Ⅲ.网络层:主要是发往本机MAC的数据处理,如arp,路由等。
接下来就从网卡收发数据说起。
参考:
linux内核网络相关的代码看了一些,遗憾没有总结一番。近段也没什么项目做,那就整一整吧,让自己研究的更深入点。
以下是设备接收数据后在内核中的处理流程。
上图大致分为三层:
Ⅰ.物理层 :数据的收发 driver.c
Ⅱ.数据链路层 : 数据net_rx处理,主要是桥的处理。 dev.c
Ⅲ.网络层:主要是发往本机MAC的数据处理,如arp,路由等。
接下来就从网卡收发数据说起。
参考: