嵌入式linux网络体系结构设计与tcpip协议栈,pdf

嵌入式linux网络体系结构设计与tcpip协议栈,pdf

ID:23791320

大小:26.12 KB

页数:22页

时间:2018-11-10

嵌入式linux网络体系结构设计与tcpip协议栈,pdf_第1页
嵌入式linux网络体系结构设计与tcpip协议栈,pdf_第2页
嵌入式linux网络体系结构设计与tcpip协议栈,pdf_第3页
嵌入式linux网络体系结构设计与tcpip协议栈,pdf_第4页
嵌入式linux网络体系结构设计与tcpip协议栈,pdf_第5页
资源描述:

《嵌入式linux网络体系结构设计与tcpip协议栈,pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、自从人类进入商品经济社会以来,贸易即已成为人们日常活动的主要部分,并成为一国经济增长的主动力。国际分工的深化、大量国际统一标准规则的建立嵌入式linux网络体系结构设计与tcpip协议栈,pdf  篇一:Linux内核TCPIP协议栈(XX-5-30)  Linux内核TCPIP协议栈分析  ?  第一部分数据结构、概述及其他?架构  ?系统调用接口  两种调用接口:  1、用户进程进行网络调用,通过系统特有的网络调用接口进入内核,在内核中,进一步调用sys_socketcall()结束该过程,在sy

2、s_socketcall()中会根据网络系统调用号调用具体的功能。  2、另一种系统调用接口是通过普通文件操作来访问网络子系统。虽然有很多操作是网络专用的,但套接口的输入输出可以被当成典型的文件读写操作来进行。  2、协议无关接口  Linux使用socket来描述套接口,代表通信链路的一端,存储与该链路有关的所有信息。  什么叫代表通信链路的一端?每一个进程都会实例化一个socket。Socket结构:  /include/linux/随着信息化和全球化的发展,国家及地区之间的贸易也已成为拉动一国经

3、济的三驾马车之一,甚至是三驾马车之首,奥巴马政府成立之日起自从人类进入商品经济社会以来,贸易即已成为人们日常活动的主要部分,并成为一国经济增长的主动力。国际分工的深化、大量国际统一标准规则的建立  sk指向与该套接口相关的传输控制块,传输层使用传输控制块存放套接口需要的信息。比如各种协议相关函数的指针。TCP、UDP、RAW  ops指向特定的传输协议的操作集接口,不同协议族不同。proto_ops结构中定义的接口函数是从套接口系统调用到传输层调用的入口,因此其成员与socket系统调用基本上是一一对

4、应的。整个proto_ops结构就是一张套接口系统调用的跳转表,其中的某些操作会继续调用proto结构跳转表中的函数,从而进入具体的传输层或网络层的处理。  ?套接口缓存  保存在进程和网络接口之间相互传递的用户数据,以及其他的一些信息。SKB定义:include/linux/  SKB操作函数:net/core/  1、SKB的组织  structsk_buff  structsk_buff*next;*prev;  内核把sk_buff组织成为双向链表,为了每个SKB能被头部快速找到,在第一个SK

5、B节点的前面会插入另一个辅助的sk_buff_head结构的头结点。  structsk_buff_head{  };__u32qlen;//SKB链表的节点数,队列长度/*Thesetwomembersmustbefirst.*/structsk_buffstructsk_buff*next;*prev;spinlock_t随着信息化和全球化的发展,国家及地区之间的贸易也已成为拉动一国经济的三驾马车之一,甚至是三驾马车之首,奥巴马政府成立之日起自从人类进入商品经济社会以来,贸易即已成为人们日常活动的

6、主要部分,并成为一国经济增长的主动力。国际分工的深化、大量国际统一标准规则的建立lock;//对链表并发操作需要自旋锁  ?数据存储相关  structsock*sk;  SKB的宿主传输控制块。SKB在由本地产生或者本地接收的时候才有效。当SKB在2层或者3层转发的时候,没有意义,NULL。  unsignedint  len,mac_len,data_lenlen:SKB中数据部分的长度。Mac_len:以太帧首部长度data_len:SG类型和FRAGLIST类型聚合分散I/O存储区中的数据长度

7、。  users;atomic_t  引用计数,标识有多少个实体在使用SKB,以此来确定释放SKB的时机。  truesize;unsignedint  SKB的实际长度,包括SKB描述符和数据缓存区的长度。如果申请了一个len字节的缓存区,alloc_skb()会将truesize初始化成len+sizeof(sk_buff)unsignedchar  *head,*data,*tail,*end;  发送数据时,每一层协议会在head与data之间填充协议首部。  ?通用的成员变量  struct

8、skb_timeval随着信息化和全球化的发展,国家及地区之间的贸易也已成为拉动一国经济的三驾马车之一,甚至是三驾马车之首,奥巴马政府成立之日起自从人类进入商品经济社会以来,贸易即已成为人们日常活动的主要部分,并成为一国经济增长的主动力。国际分工的深化、大量国际统一标准规则的建立  tstamp;接收时间戳或者发送时间戳,一般在网络设备收到数据包以后通过netif_receive_skb()调用net_timestamp()进行设置  structnet

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。