
linux网络协议栈
文章平均质量分 78
bullbat
爱好程序设计,对待问题喜欢追根溯源。
展开
-
Linux网络协议栈之套接字缓冲区
作者:bullbat Linux网络协议栈是内核中最大的组件之一,由于网络部分应用的范围很广,也相对较热,该部分现有的资料很多,学起来也比较容易。首先,我们看看贯穿网络协议栈各层的一个最关键数据结构——套接字缓冲区(sk_buff结构)。 一个封包就存储在这个数据结构中。所有网络分层都会使用这个结构来存储其报头、有关数据的信息,以及用来协调工作的其他内部信息。在原创 2012-06-05 17:21:25 · 11303 阅读 · 0 评论 -
Linux网络协议栈之驱动框架
Linux网络协议栈之驱动框架作者:bullbat 网卡驱动可以以模块的方式加载也可以内核初始化的时候加载,我们选定e100系列的网卡进行说明网卡驱动的一般框架。网卡设备通用数据结构:struct net_device{ /* * This is the first field of the "visible" par原创 2012-06-13 18:52:00 · 10013 阅读 · 0 评论 -
Linux网络协议栈之设备初始化
Linux网络协议栈之设备初始化作者:bullbat Linux网络协议栈的内核初始化工作大致分为设备链路层(e100_module_init、net_dev_init)、网络层(inet_init)、传输层(proto_init)、应用层(sock_init)初始化。由于物理层为具体的网络设备,所以内核对网络协议栈的实现以及网卡驱动实现等没有物理层(L1),驱动以及设备的初始原创 2012-06-13 19:23:48 · 9272 阅读 · 0 评论