当前位置:首页 » 合同协议 » 协议栈代码

协议栈代码

发布时间: 2021-01-19 08:52:43

1. 怎样跟踪调试linux TCP/IP协议栈源代码

linux的话,推荐买本书,最好是教材,看着学,装个linux虚拟机,照着书一步步操作,多回做多练就会了。而TCP/IP高级答linux编程了,如果您没有基础的话建议先学习unix环境高级编程,然后在需TCPIP

2. ZigBee协议栈到底是什么如何应用

协议是个标准,是约定;
协议栈是协议的实现,可以理解为代码,函数库,供上层应用调用。

商业化的协议栈就是给你写好了底层的代码,符合协议标准,提供给你一个功能模块给你调用。

你需要关心的就是你的应用逻辑,数据从哪里到哪里,怎么存储,处理
还有系统里的设备之间的通信顺序什么的

当你的应用需要数据通信时,
调用组网函数给你组建你想要的网络;
当你想从一个设备发数据到另一个设备时,调用无线数据发送函数;当然,接收端就调用接收函数;
当你的设备没事干的时候,你就调用睡眠函数;要干活的时候就调用唤醒函数。
所以当你做具体应用时,不需要关心协议栈是怎么写的,里面的每条代码是什么意思。除非你要做协议研究。

每个厂商的协议栈有区别,也就是函数名称和参数可能有区别
这个要看具体的例子、说明文档

3. linux程序包里的TCPIP协议栈哪里找

网络层,传输层,套接字的代码在/net目录下,数据链路层和驱动程序在/driver/net目录下。

4. 我在读ZigBee协议栈源代码时,看到定义了两个变量fcflsb,和fcfmsb。请问各位大虾这两个变量是干什么用的

Frame control field, 802.15.4 MAC层的数据桢控制字节。包括ACK, PANID, 数据地址等信息。 葵花宝典--Newnes.ZigBee.Wireless.Networks.and.Transceivers 这本书第70页,有详细的介绍。

5. 开源协议栈 有哪些

除了大家比较熟悉的GPL协议之外,开源界还有很多许可证,如LGPL许可证、BSD许可证等,下面就来一一介绍。

LGPL许
可证,也是自由软件联盟GNU开源软件许可证的一种,大部分的 GNU软件,包括一些函数库,是受到原来的
GPL许可证保护的。而LGPL许可证,适用于特殊设计的函数库,且与原来的通用公共许可证有很大的不同,给予了被许可人较为宽松的权利,所以叫“较宽松
公共许可证”。在特定的函数库中使用它,以准许非自由的程序可以与这些函数库连结。

当一个程序与一个函数库连结,不论是静态连结或
使用共享函数库,二者的结合可以合理地说是结合的作品,一个原来的函数库的衍生品。因此,原来的通用公共许可证只有在整个结合品满足其自由的标准时,才允
许连结。较宽松通用公共许可则以更宽松的标准允许其它程序代码与本函数库连结。例如,在少数情况下,可能会有特殊的需要而鼓励大家尽可能广泛地使用特定的
函数库,因而使它成为实际上的标准。为了达到此目标,必须允许非自由的程序使用此函数库。一个较常发生的情况是,一个自由的函数库与一个被广泛使用的非自
由函数库做相同的工作,在此情况下,限制只有自由软件可以使用此自由函数库不会有多少好处,故我们使用了LGPL许可证。

在其他情况下,允许非自由程序使用特定的函数库,可以让更多的人们使用自由软件的大部分。例如,允许非自由程序使用GNU C函数库,可以让更多的人们使用整个GNU作业系统,以及它的变形,GNU/Linux操作系统。

尽管LGPL许可证对使用者的自由保护是较少的,但它却能确保与此函数库连结的程序的使用者拥有自由,而且具有使用修改过的函数库版本来执行该程序的必要方法。
MPL是The Mozilla Public License的简写,是1998年初Netscape的 Mozilla小组为其开源软件项目设计的软件许可证。MPL许可证出现的最重要原因就是,Netscape公司认为GPL许可证没有很好地平衡开发者对源代码的需求和他们利用源代码获得的利益。同著名的GPL许可证和BSD许可证相比,MPL在许多权利与义务的约定方面与它们相同(因为都是符合OSIA认定的开源软件许可证)。但是,相比而言MPL还有以下几个显著的不同之处:

◆ MPL虽然要求对于经MPL许可证发布的源代码的修改也要以MPL许可证的方式再许可出来,以保证其他人可以在MPL的条款下共享源代码。但是,在MPL许可证中对“发布”的定义是“以源代码方式发布的文件”,这就意味着MPL允许一个企业在自己已有的源代码库上加一个接口,除了接口程序的源代码以MPL许可证的形式对外许可外,源代码库中的源代码就可以不用MPL许可证的方式强制对外许可。这些,就为借鉴别人的源代码用做自己商业软件开发的行为留了一个豁口。

◆ MPL许可证第三条第7款中允许被许可人将经过MPL许可证获得的源代码同自己其他类型的代码混合得到自己的软件程序。

◆ 对软件专利的态度,MPL许可证不像GPL许可证那样明确表示反对软件专利,但是却明确要求源代码的提供者不能提供已经受专利保护的源代码(除非他本人是专利权人,并书面向公众免费许可这些源代码),也不能在将这些源代码以开放源代码许可证形式许可后再去申请与这些源代码有关的专利。

◆ 对源代码的定义

而在MPL(1.1版本)许可证中,对源代码的
定义是:“源代码指的是对作品进行修改最优先择取的形式,它包括:所有模块的所有源程序,加上有关的接口的定义,加上控制可执行作品的安装和编译的‘原
本’(原文为‘Script’),或者不是与初始源代码显著不同的源代码就是被源代码贡献者选择的从公共领域可以得到的程序代码。”

◆ MPL许可证第3条有专门的一款是关于对源代码修改进行描述的规定,就是要求所有再发布者都得有一个专门的文件就对源代码程序修改的时间和修改的方式有描述。
BSD许可证原先是用在加州大学柏克利分校发表的各个4.4BSD/4.4BSD-Lite版本上面(BSD是Berkly Software Distribution的简写)的,后来也就逐渐沿用下来。1979年加州大学伯克利分校发布了BSD Unix,被称为开放源代码的先驱,BSD许可证就是随着BSD Unix发展起来的。BSD许可证被Apache和BSD操作系统等开源软件所采纳。

相较于GPL许可证和MPL许可证的严格性,BSD许可证就宽松许多了,一样是只需要附上许可证的原文,不过比较有
趣的是,它还要求所有进一步开发者将自己的版权资料放上去,所以拿到以BSD许可证发行的软件可能会遇到一个小状况,就是这些版权资料许可证占的空间比程
序还大。
QPL是The Qt Public License的简称,是挪威一家机构创设的。QPL许可证的基本要求是获得源代码、修改源代码,并可将修改从原始代码中分离出来;修改可以按照作者的意愿被组合到新版本中;二进制代码可以和原始代码同名,这一点对于动态连接库来说尤其重要;任何人都可以修正错误,这对于系统的发布者来说很关键;修改过的软件可以按照满足QPL许可证基本要求的任何开源软件许可证进行发布。
QNCL许可证是Qt Non Commercial License的简称,是QPL许可证的“兄弟版”,就像GPL许可证与LGPL许可证的关系一样,QNCL许可证比QPL许可证更严格一些。

在修改和发布方面的规定,QNCL许可证与QPL许可证是一样的,差异就在于软件的范围方面,或者说在连接方面。QNCL许
可证规定“假如一个应用程序给你提供了一个入口,使你有权使用QNCL许可证下的软件的功能开发程序、重复使用程序的某一部分或其他软件的某一部分,那么
对该应用程序的使用视为是使用QNCL许可证下的软件的行为,该应用程序应受到QNCL许可证的约束”。QNCL许可证比QPL许可证更严格之处在
于,QNCL许可证像GPL许可证那样,完全禁止根据本许可证得到的开放源码软件与其他非系统库函数连接的软件以其他许可方式一起发布。
Jabber许可证的全称是Jabber Open Source License,由美国Jabber.Com, Inc.公司提供。Jabber许可证在源代码的复制、发行规定方面基本上和其他许可证没有什么特别,但有一些细节规定值得借鉴:

◆ 可以将通过该许可证获得的源代码及修改过的源代码与其他类型的不受该许可证约束的代码结合,以新产品的形式发布,只要其中经该许可证获得的源代码及修改过的源代码能以与该许可证的要求类似的、符合OSI认证的其他开源软件许可证的方式发布。

◆ 明确了需将源代码置于公众可以得到的状态的时间至少应为12个月。

◆ 第三方对法定权利的声明。假如使用者发现通过本许可证获得的源代码及应用程序接口中有一方拥有的知识产权,应单独在源码的发布时冠以“LEGAL”为抬头的声明,写明知识产权权利要求的细节,提请源代码的接受者知道自己获得了哪些知识产权的授权,让源码的接受者知道如何与知识产权权利人联系。

◆ 细化了该许可证终止的情形,包括不按该许可证的要求发布和使用源代码、发生专利侵权诉讼。
◆ 规定可以将源代码及修改过的源代码与其他类型的不受本许可证约束的代码结合,以新产品的形式发布,只要其中经该许可证获得的源代码及修改过的源代码能按该许可证的要求发布即可。

◆ 细化了该许可证终止的情形,包括发生专利侵权诉讼。

◆ 明确了一个独立承担责任的原则,就是假如按该许可证使用源代码的使用者将获得的源代码应用于商业使用,那么他就要对在商业应用中出现的由于使用该源代码程序而产生的侵权诉讼承担完全责任。这一条规定是比较特殊的,绝大多数开源软件许可证都不这么要求。
IBM许可证的全称是IBM Public License。在满足OSIA开源软件许可证认证标准的前提下,IBM许可证还有如下一些细节性规定:

◆ 明确了专利授权。一般的开源软件都明确源代码的版权人将自己的修改权、复制权等版权权利向公众许可,但保留署名权,而IBM许可证在此基础上还明确假如源代码中含有专利权,源代码专利权人将复制、使用的专有权利向公众许可。

◆ 细化了该许可证终止的情形,包括不按该许可证的要求发布和使用源代码、发生专利侵权诉讼等。

◆ 像Common许可证一样,IBM许可证也明确了独立承担责任原则,即假如按该许可证使用源代码的使用者将获得的源代码应用于商业使用,那么他就要对在商业应用中出现的、由于使用该源代码程序而产生的侵权诉讼承担完全责任。
了解更多开源相关,去LUPA社区看看吧。

6. 怎样才能获得协议栈的源代码(不是半开源的那种,是完全透明的源代码)

问题很搞笑。。。

使用Linux必须手动输入命令是一个偏见。本人长年累月地使用Linux,但是我并不熟悉Linux的命令。
Linux一般都部署在服务器上,为了让服务器更稳定,在服务器上安装Linux时常常不安装图形环境。这也是让人产生“做什么事情都需要手动输入命令”的错觉。

实际上,我对开源的概念也不是十分理解。简单地说,允许查看、修改源代码的软件就属于开源软件。而像Win和MacOsX这样的系统,源代码都是保密的,他们都是闭源软件。

按照开源许可协议,所有的Linux发行版都必须公开源代码。不过因为源代码很占用空间,源代码一般不会直接附在发行版的光盘中,需要您自己下载。

DOS系统是由汇编语言编写的,其余的能叫上名字的操作系统,比如Linux、DBS、Win之类的,一般都是由C语言编写的。

因为Win是闭源软件,因此您看不到它的源代码,修改起来也比较难。要想修改Win,首先您要熟悉软件的反汇编技术,其次您要做好保密工作,不要让人发现,被发现了是要坐牢的。
顺便说一句:WinCE是开源的。

修改Linux的源代码就比较自由了。
不知到您的编程水平如何,我稍微提醒您一下,自2.6.27开始,Linux内核的代码就超过1000万行了,虽然大部分的代码都是些驱动程序。
在阅读源代码前,最好先找本介绍Linux内核原理的书。

7. Linux TCP/IP协议栈数据包处理流程及代码实现分析

好吧,我来回答吧,首先是网卡驱动程序捕获到数据包,做检验无误后,和DMA以及专CPU交互,然后由属DMA和驱动程序创建BD表,然后分配skbuf(LINUX下)数据结构保存获得的数据帧,内核通过协议栈处理这个skbuf,通常是层层剥离每个层的首部,然后传到上一层,细节就是一个变量做偏移量,每次做一个首部偏移读取首部数据,识别本层协议类型以及下一层协议类型,具体过程就是这个网络原理的过程,请参考《TCP/IP详解卷一》《linux设备驱动程序》《understanding linux network internals》《Unix网络编程卷一》等。

8. z-stack协议栈代码包的各层协议有什么区别

Z-stack协议栈虽然没有完全开源,但项目文件也相当复杂,不可能去一个函数一个函数地读,版只能尽权量从整体把握。先从应用层了解是对的,跑下例程,按自己的想法修改下程序。另外,在了解协议栈之前,很重要的一个就是OSAL系统的框架

9. zigbee协议栈实时传送的代码怎么写

1.首先要正确安装IAR编译器。
2.依次打开协议栈所在文件夹,如:ZStack-1.4.2-1.1.0\Projects\zstack\Samples\Location\CC2430DB\SampleApp.eww (这是cc2430定位示例程序)
3.展开版IAR编译器左边工作权区workspace如:

这就是TI的zigbee协议栈

10. zigbee协议栈是什么

协议是个抄标准,是约定;
协议栈袭是协议的实现,可以理解为代码,函数库,供上层应用调用。

商业化的协议栈就是给你写好了底层的代码,符合协议标准,提供给你一个功能模块给你调用。

你需要关心的就是你的应用逻辑,数据从哪里到哪里,怎么存储,处理
还有系统里的设备之间的通信顺序什么的

当你的应用需要数据通信时,
调用组网函数给你组建你想要的网络;
当你想从一个设备发数据到另一个设备时,调用无线数据发送函数;当然,接收端就调用接收函数;
当你的设备没事干的时候,你就调用睡眠函数;要干活的时候就调用唤醒函数。
所以当你做具体应用时,不需要关心协议栈是怎么写的,里面的每条代码是什么意思。除非你要做协议研究。

每个厂商的协议栈有区别,也就是函数名称和参数可能有区别
这个要看具体的例子、说明文档

热点内容
美发店认证 发布:2021-03-16 21:43:38 浏览:443
物业纠纷原因 发布:2021-03-16 21:42:46 浏览:474
全国著名不孕不育医院 发布:2021-03-16 21:42:24 浏览:679
知名明星确诊 发布:2021-03-16 21:42:04 浏览:14
ipad大专有用吗 发布:2021-03-16 21:40:58 浏览:670
公务员协议班值得吗 发布:2021-03-16 21:40:00 浏览:21
知名书店品牌 发布:2021-03-16 21:39:09 浏览:949
q雷授权码在哪里买 发布:2021-03-16 21:38:44 浏览:852
图书天猫转让 发布:2021-03-16 21:38:26 浏览:707
宝宝水杯品牌 发布:2021-03-16 21:35:56 浏览:837