sk_buff分析sk_buff是Linux网络代码中最重要的结构体之一。它是Linux在其协议栈里传送的结构体,也就是所谓的“包”,在他里面包含了各层协议的头部,比如ethernet, ip ,tcp ,udp等等。也有相关的操作等。熟悉他是进一步了解Linux网络协议栈的基础。 此结构定义在头文...
分类:
其他好文 时间:
2015-09-24 16:36:24
阅读次数:
328
接收时使用skb_pull()不断去掉各层协议头部;发送时使用skb_push()不断添加各层协议头部。先说说接收:150 * eth_type_trans - determine the packet's protocol ID.151 * @skb: received socket data.....
分类:
系统相关 时间:
2015-09-10 23:48:27
阅读次数:
434
Linux网络协议栈可以准确但仍进行说明,不用说,Netfilter。简单地说,TC够了,但有几个硬伤,本文不构成一个完整的记录,如果是随笔,不可当真。0.发现物种Linux堆栈作为一个纯软件实现,保留的硬件接口,但文章并不涉及硬件。 在Linux的协议栈实现中,由于没有硬件电路的固化,查找算法是难...
分类:
编程语言 时间:
2015-06-11 19:07:35
阅读次数:
154
可以说sk_buff结构体是Linux网络协议栈的核心中的核心,几乎所有的操作都是围绕sk_buff这个结构体进行的,它的重要性和BSD的mbuf类似(看过《TCP/IP详解 卷2》的都知道),那么sk_buff是什么呢? sk_buff就是网络数据包本身以及针对它的操作元数据。 想要理解sk_buff,最简单的方式就是凭着自己对网络协议栈的理解封装一个直到以太层的数据帧并...
分类:
其他好文 时间:
2015-02-08 15:31:04
阅读次数:
250
penVswitch,根据其名就可以知道这是一个开放的虚拟交换机(open virtual switch);它是实现网络虚拟化SDN的基础,它是在开源的Apache2.0许可下的产品级质量的多层虚拟交换标准。设计这个openVswitch的目的是为了解决物理交换机存在的一些局限性:openVswitch较物理交换机而言有着更低的成本和更高的工作效率;一个虚拟交换机可以有几十个端口来连接虚拟机,而openVswitch本身占用的资源也非常小;可以根据自己的选择灵活的配置,可以对数据包进行接收分析处理;同时还支...
分类:
其他好文 时间:
2014-09-10 00:29:39
阅读次数:
4723