协议栈开发总结范文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
协议栈开发总结范文
xx年5月30日星期六晴近来一直很少些关于技术方面的文章,一来是被工作和生活所累,没有很多闲暇多余的时间,二来呢是觉得一直没有好的case,或则有好的case,但觉得目前在这个case方面,自己还不算很professional。
今天心情不错,感觉也很好,就把我近一年来在“协议栈”开发方面的一些经验写下来,算是对自己这一阶段的一个终结,也希望能对后来者能有所帮助。
首先,不要以为做协议栈开发很难(诚然,商用稳定的协议栈开发的确也不容易^_^),所以首先一定要有足够的信心,其次如果有前辈带你上手那就好很多,如果没有,自己一个人去“专研”,那么你做的首要的事情还是要有信心,不要有“惧怕”的思绪。
好了,开始进入正题,如下一,阅读协议栈相关文档关于单个协议的定义,权威的自然是IETF(互联网工程任务推进组织)的"rfc"文档,虽然是一大堆的英文(呵呵,我英文也一般),开始不太看的明白,不过没关系,先去网络上用"baidu"或则"google"搜索一下关于你要做的这个协议的中文说明,虽然绝大数介绍都很肤浅,但这么做的在于去了解该协议的目的和用途,心中有个大的概念,而后在大致的阅读下该协议"rfc"文档的大体描述和结构。
需要说明的是在大多数情况下,一个完整的协议栈都有好几个协议组成,所以也有1个或若干个"rfc"文档要去学习和了解,但切记
不用把所有"rfc"文档都读的相当仔细和完全明白后再去做,我们的目的在于只把握协议栈的框架和大概信息。
所以,这个阶段是基础准备阶段。
二,设计协议栈结构这个阶段也是最核心、最重要的一个阶段,可以说,开发成功与否的关键也全在这个阶段。
我们在第一个阶段的基础上,明白了要开发的协议栈的功能及其相关协议后,我们就要来设计这个协议栈框架的实现,一般有注意如下几方面1,功能性这个很自然,如能实现功能还做什么2,可扩展协议栈最好划分出内核和外围模块,利于将来扩展和维护3,模块独立协议栈内核和外围模块尽量独立,减少耦合这个阶段虽然说起来容易,但做起来去要看个人的能力和水平,包括代码的机构、风格、易维护、易移植、稳定、健壮性等等。
所以,如果连基本程序都写不好,没有好的代码风格和没有把握大结构能力的,最好还是请别人帮忙。
注释协议栈的设计要看协议栈的特点,比如有的协议栈是对称的(比如rtsp流控协议),有些是不对称的(比如协议),各有各特点,所以在把握大结构的同时要针对各自的特点来设计。
三,编码开发框架完成后,开始丰满核心模块和构建基本的外围模块。
通常这阶段需要搭建好开发环境,便测试便修改。
注释很重要的工作,ethereal(抓包软件),做协议这个是一定要用熟的。
四,测试与维护基本上到这个阶段,协议栈的开发工作就OK了,剩下的就是测试、维护,调整代码,加强协议栈的稳定性和健壮性。
五,后记由于文字表达上的局限和本人水平的问题,上述只是简要描述了一下开发协议栈的一般常规步骤,算是对自己的一个总结,也希望对读者有所帮助,不当之处,请多包含。
个人已做过的协议栈(简要说明):1,SIP会话发起协议,关联
SDP/RTP/RTCP等协议2,TR069终端网管协议,关联
/SOAP/XML/TR-111(STUN NAT穿越)/TR-106(外围数据模型)3,流控多媒体流控协议,管理RTSP/RTP/SDP/MP2T等终于写完了~~真累,哎,中午了,吃饭去,呵呵~~。
内容仅供参考