嵌入式TCP_IP协议栈的研究与开发_李明研究报告.doc

嵌入式TCP_IP协议栈的研究与开发_李明研究报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式协议栈的研究与开发 李 明,康静秋,贾智平 (山东大学计算机系,济南) (二滩水电开发公司,攀枝花) 计算机工程与应用 !!#$% 在三次握手建立连接的过程中,嵌入式系统作为监听状态 的服务器端,始终为被动方,相当于被动打开后的 ’()*+ 状 态,等待对方发起连接。当它接收到 (,+ 数据片,它发出 (,+- ./0 数据片并确认它已接收到的对方的 (,+ ,此时变为 (,+ 1*/*’2*3 状态。再接收到对方返回的一个仅含 ./0 的空数 据片,则三次握手完成,进入 *().4’(5*3 状态,之后可以进 行 )/6 数据通信。 在操作系统中,为防止旧的重复连接请求引起混乱,可以 用复位 1*(1) 控制报文对这种情况进行处理。收到复位 1*7 (*) 信号 后 ,若 处于非 同 步 状 态 ( (,+ 81*/*’2*3 、 (,+ 8 (*+) )状态,则回到 ’()*+ 状态;若处于任意一种同步状态, 它就异常终止连接并通知它的用户。而嵌入式系统中取消了 /9(* 状态,所以收到复位 1*(1) 控制报文时,回到 ’()*+ 状态,实际处理时并没有记忆当前的状态,所以不需要作任何 操作,并因为始终处于被动状态而从不发复位 1*(*) 报文。 在操作系统中,将端口号、 ’6 地址、序列号、窗口尺寸等和 响应的传输控制块 )/4 结合标示不同的连接,为不同的客户 请求建立多个连接,一一对应,并发执行。而在嵌入式 )/6 中 实现如此复杂的操作不现实,故设计中没有记忆 )/6 连接所 处的当前状态,也没有分开建立多个 )/6 连接。分析如下:每 从下层协议传来一个报文后,并不能比较报文段中的信息和 )/4 中的信息来进行处理,因为并没有记忆过去所建连接的有 关信息,所以并不知道此连接是否存在,所处状态等,仅仅根据 接收包内的有关信息(控制位和有无数据),来判断所处连接状 态,来进行回应。连接的概念在一定程度上,只是对客户端 6/ 来说的,给它维持一个连接存在的假象。而嵌入式服务器端因 为不存储连接的信息,相当于没有连接的存在,对所有连接都 响应,才可以在有限的系统资源的条件下实现了多连接。 当 )/6 的连接中,一方由于崩溃等原因造成异常终止或 关闭一个连接,会产生半开连接的问题,由于异常的一方丢失 了存储的信息,若任一方发数据去,对方会回复复位信号,使连 接复位。对嵌入式系统来说,当客户机异常时,当嵌入式系统发 数据时,会被回复复位信号;当嵌入式系统异常后,又重新开始 时,由于它本来就无存储信息,故没有什么影响。 当网络问题等出现超时、丢失包时,一般用超时重传机制 时间来重发,而嵌入式系统发包之后,并未保存此包,因此不考 虑重发问题。当丢包后,对方接不到确认包,认为自己的所发的 包丢失,超时重发,而嵌入式系统此时再响应,发包,仍可保证 可靠性。 嵌入式系统不记忆 )/6 连接的序列号,除了第一次建立 连接时,初始化序列号外,根据对方发包中的值来确定序列号, 因此它不能识别重复报文,而照常回应,把此重复报文的处理 工作交给对方处理,仍可满足基本工作要求。对依靠 )/6 连接 的 5))6 服务来说,嵌入式服务器仅仅在服务器端响应客户端 请求,所接收的报文一个数据报即可传输完成,故不需考虑失 序问题。 在设计实现 )/6 有限状态机时使用过程驱动方案,为每 个输入状态启动一个过程。当某一事件发生时, )/6 利用当前 状态来选取一个适当的过程。该过程处理输入事件并更新当前 状态变量值。即:每个状态对应一个过程,当一个输入报文段到 达时, )/6 调用当前状态对应的过程,进行处理。 程序主要如下: … :; ( (,+’+ == ?@ABCD@:EFA ) AGHIBJ(,+./0 (); IKHI :; ( (,+’+ == ?@A BCDL@?BE ) AGHIBJ1()./0 (); IKHI :; ( ./0’+ == ?@A BCD@:EFA == FMNIJMAM ) 5))6@?7 GIHH ( AG./0 ); IKHI :; ( O’+’+ == ?@A BCD@:EFA == FMNIJMAM ) 5))6@?GIHH ( AGO’+ ); IKHI :; ( O’+’+ == ?@A BCD@:EFA == B?JMAM ) AGHIBJO’+ (); IKHI … P#Q 5))6 协议 超文本传输协议 5))6 每一次交互由一个 .(/’’ 码请求 跟着一个 R’R* 的应答组成。协议包括从浏览器到服务器的请 求集和从另一方向来的应答集。其中 S*) 方法请求服务器发 送一页面,因为此嵌入式系统中的 T*4 页面中的相关数据总 是实时更新的,因此每次解析出 S*) 方法,都发送当前网页。 从

文档评论(0)

阿里山的姑娘 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档