爱妃科技网络 | | 爱妃科技
正在加载
请稍等

菜单

红楼飞雪 梦

15526773247

Tag: 网络

Home 标签归档: 网络
Home 标签归档: 网络

支持函数

android 嵌入式开发, linux开发学习 by

每个网络驱动程序都提供了一系列非常实用的函数,这些函数都是底层的基本的函数; 每个设备还包含了一组标准的例程,协议层可以将这些例程当作设备链路层的部分而调用。关于这些函数和例程,下面我们详细介绍。 1.初始化设置(init) init 函数在设备初始化和注册时被调用,它执行的是底层的确认和检查工作。在         初…

阅读全文

 

08 2015-12

网络设备数据结构

android 嵌入式开发, linux开发学习 by

网络设备数据结构–device,它是网络驱动程序的最重要的部分,也是理解Linux网络接口的关键, 它的源代码 保存在 include / linux / netdevice.h中,这个结构比较庞大,在此不予列出,仅仅对主要的域给予解释。 所有的网络设备的信息和操作都保存在设备数据结构中。每注册一个网络设备, 都需要提供数据结构中各个域…

阅读全文

 

08 2015-12

设备注册

android 嵌入式开发, linux开发学习 by

每一个设备的建立都需要在设备数据结构类型中添加一个设备对象, 并将它传递给 register_netdev(struct device *) 函数。这样就把你的设备数据结构和内核中的网络设备表联系起来。 如果你要传递的数据结构正被内核使用,就不能释放它们,直到你卸载该设备,卸载设备用到 unregister_netdev(struct device *) 函数。这些函…

阅读全文

 

08 2015-12

命名规则

android 嵌入式开发, linux开发学习 by

所有的linux网络设备都有唯一的名字,这个名字和文件系统所规定的设备的名字没有任何联系。事实上,网络设备并没有使用文件系统的表示方法。 传统上名字只表示设备类型而不代表生产厂商,如果同一类型的网络设备有多个,它们的名字就用从0开始的数字加以区别,例如,如果我们装了多块以太网卡,它们的名字就是:“eth0”,“e…

阅读全文

 

08 2015-12

基本结构

android 嵌入式开发, linux开发学习 by

如图是 网络设备驱动程序的结构,从中我们可以看出:网络设备驱动程序的功能分为两部分:发送数据和接受数据。在发送数据时,设备驱动程序全权负责把来自协议层的 网络缓冲区发送到物理介质,并且接受硬件产生的应答信号;在接受数据时,设备驱动程序接受来自网络介质上的数据帧,并把它转换成能被网络协议识别的网络缓 冲…

阅读全文

 

08 2015-12

套接字缓冲区的上层支持例程

android 嵌入式开发, linux开发学习 by

我们上面讲了套接字缓冲区基本的操作方法,利用它们就可以完成数据包的发送和接收工作。为了保证网络传输的高效和稳定,我们需要对整个过程进行流程控制,因此,我们又引进了两个支持例程。它们是利用信号的交互来完成任务的。 sock_queue_rcv_skb()函数用来对数据的接收进行控制,通常调用它的的形式为: Source code&n…

阅读全文

 

07 2015-12

套接字缓冲区提供的函数

android 嵌入式开发, linux开发学习 by

1.操纵sk_buff链表的函数 sk_buff链表是一个双向链表,它包括一个链表头而且每一个缓冲区都有一个prev和next指针,指向链表中前一个和后一个缓冲区结点。 Source code   struct sk_buff *skb_dequeue(struct skb_buff_head *list)   这个函数作用是把第一个缓冲区从链表中移走。返回取出的sk…

阅读全文

 

07 2015-12

sk_buff数据结构的核心内容

android 嵌入式开发, linux开发学习 by

sk_buff 数据结构中包含了一些指针和长度信息,从而可让协议层以标准的函数或方法对应用程序的数据进行处理,其定义于include/linux/skbuff.h中: Source code   struct sk_buff { /* These two members must be first. */ struct sk_buff * next; /* Next buffer in list*/ struc…

阅读全文

 

07 2015-12

套接字缓冲区操作基本原理

android 嵌入式开发, linux开发学习 by

在传输过程中,存在着多个套接字缓冲区,这些缓冲区组成一个链表,每个链表都有一个链表头sk_buff_head ,链表中每个节点分别对应内存中一块的数据区。因此对它的操作有两种基本方式:第一种是对缓冲区链表进行操作;第二种是对缓冲区对应的数据区进行控制。 当我们向物理接口发送数据时或当我们从物理接口接收数据时,我…

阅读全文

 

07 2015-12

套接字缓冲区的特点

android 嵌入式开发, linux开发学习 by

套接字缓冲区和其他部分的缓冲区相比,它有自己的特点。在网络传输的源主机上,它创建于套接字层(其名字的来历),沿网络层自上而下传递,它先在协议层流动,最后在物理层消失,同时把它所带的数据传递给目标主机的物理层的套接字缓冲区,该缓冲区自下而上传递到目标主机的套接字层,并把数据传递给用户进程,目标主机的…

阅读全文

 

07 2015-12
12