(电力系统及其自动化专业论文)基于嵌入式协议栈的gprs终端的设计与研究.pdf_第1页
(电力系统及其自动化专业论文)基于嵌入式协议栈的gprs终端的设计与研究.pdf_第2页
(电力系统及其自动化专业论文)基于嵌入式协议栈的gprs终端的设计与研究.pdf_第3页
(电力系统及其自动化专业论文)基于嵌入式协议栈的gprs终端的设计与研究.pdf_第4页
(电力系统及其自动化专业论文)基于嵌入式协议栈的gprs终端的设计与研究.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(电力系统及其自动化专业论文)基于嵌入式协议栈的gprs终端的设计与研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

d e s i g na n dr e s e a r c ho fg p r s t e r m i n a lb a s e do nt h e e m b e d d e dp r o t o c o ls t a c k a b s t r a c t a st h er a p i dd e v e l o p m e n to ft h et e c h n o l o g yo fc o m m u n i c a t i o n g p r sw i r e l e s s c o m m u n i c a t i o nn e t w o r kh a sb e e nc o n n e c t e dt oi n t e m e t a n dh a sb e c o m ear e s o u r c e w h i c hc a nb ec o n t i n u a l l yu t i l i z e da n de x p l o r e d a n dt h eg p r sn e t w o r kp r o v i d e sa d a t at r a n s f e rr a t ea sh i g ha s115 k b i t sw h e nr u n n i n gap a c k e ts e r v i c ea n di tc a nf i tt h e r e q u i r e m e n to fm o s ti n s t a n c e si nt h ei n d u s t r i a lc o n t r o lf i e l d s om o r ea n dm o r e e m b e d d e de q u i p m e n t sb e g i nt ou s ei t a n dr e s e a r c h e sa b o u ti tb e c o m ed e e p e ra st i m e g o e so n u t i l i z i n ge m b e d d e dp r o t o c o ls t a c ka n dt h eg p r sn e t w o r k an e wk i n do f d i s t r i b u t i o np o w e ra u t o m a t i o nt e r m i n a lh a sb e e nb u i l tw i t ht h eh e l po fm s p 4 30 f 4 4 9 s i n g l ec h i pa n dg p 歉sw i r e l e s sc o m m u n i c a t i o n 雹b ee m b e d d e c lp r o t o c o l s t a c k c o n t a i n sp p p t c p u d pa n di pp r o t o c o l s ot h et e r m i n a lc a l lc o n n e c tt oi n t e r a c t t h r o u g ht h eg p r sm o d u l e a n dc o m m u n i c a t e w i t ht h em o n i t o r i n gc e n t r e f i r s t t h i sa r t i c l ei n t r o d u c e st h et h e o r yo fg p r s a n dg i v e sd e t a i l sa b o u tt h e f u n c t i o na n da p p l i c a t i o no fg p r st e r m i n a l s e c o n d i ta n a l y z e st h ea p p l i c a t i o no fp p p p r o t o c o la n dt c p i pp r o t o c o ls t a c ki ng p r st e r m i n a l s u c ha st h ed e s i g nc o n c e p t s a n dw o r k f l o wo fs o m ei m p l e m e n t s t h i r d i tt e s t st h et e r m i n a li nd i f f e r e n ts y s t e m e n v i r o n m e n ta n di nd i f f e r e n tc o n f i g u r a t i o no fh a r d w a r ea n ds o f t w a r e a n dt h e nm a k e s ad i s c u s s i o nw i t ht h er e s u l to ft h et e s t a tl a s t i ti n t r o d u c e st h ep r o c e d u r eo ft h e d e b u g g i n go ft h es o f t w a r ea n ds o m es o l u t i o n s a n dt a b l e ss o m ep r o p o s a l s t oi m p r o v e t h ew h o l es y s t e m t h eg p r sd i s t r i b u t i o np o w e ra u t o m a t i o nt e r m i n a li nt h i sa r t i c l ei sg o o da t t r a n s f e r r i n gd a t ai nr e a l t i m e a n di t u s e st r a n s p a r e n tt r a n s m i s s i o nm e t h o d s oi t s e s p e c i a l l ys u i t a b l ef o rt h e a r e aw h i c hi sh a r dt ow i r ea n dt h eo u t l y i n ga r e a k e yw o r d s g p r s e m b e d d e dp r o t o c o ls t a c k t c p i p p o i n t t o p o i n tp r o t o c o l 插图索引 图1 1 数据传输系统总体方案设计 l 图1 2 系统整体结构图 2 图2 1 系统网络架构一 3 图2 2 系统网络架构二 4 图2 3 系统网络架构三 5 图2 4 系统网络架构四 6 图3 1f 4 4 9 逡部结构图 ll 图3 2m c 3 9 i 内部结构图 1 2 图3 3m c 3 9 i 接线简图 13 圈4 1p p p 帧的封装 1 5 图4 2p p p 链路工作过程 1 6 图4 3 即p 有限状态爨动机的事件和动作 1 8 图4 4p p p 状态迁移圈 2 0 图4 5l c p 配置选项 2 2 图4 6 简化的状态迁移图 2 5 图4 7p p p 软件工作流程 2 6 图碡 8l c p 包格式 一2 7 图4 9l c p 协商流程图 2 8 图4 1 0p a p 协商流程图 2 9 图4 11i p c p 协商流程图 3 0 图5 1 零拷贝 技术示意图 3 l 图5 2t c p 协议紧急数据发送过程 3 2 图5 3 网络协议层次结构图 3 3 图5 碡p 协议数据接收流程 3 4 图5 5 口协议数据发送流程 3 5 图5 6t c p 协议数据接收流程 一3 6 图5 7t c p 协议数据发送流程 3 6 图5 8u d p 协议数据接收流程 3 7 图5 9u d p 协议数据发送流程 3 7 图6 1 测试的系统环境 4 0 图6 2 测试工具软件p p p t e s t 4 1 图6 3g p r s 模块初始化过程 4 2 图6 4g p r s 拨号过程 4 2 图6 5 包含默认配置的协商请求包 4 3 图6 6 服务器发来的c o n f i g u r e a c k 包 4 3 图6 7 服务器发来的c o n f i g u r e r e q u e s t 包 4 3 图6 8 本地发送的c o d e r e j e c t 包 4 4 图6 9 服务器发来的修改后的c o n f i g u r e r e q u e s t 包 4 4 表格索引 表2 1 匿种网络架构对比 6 表2 2 四种接入方案对比 8 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果 据我所知 除了文中特别加以标志和致谢的地方外 论文中不包含其 他人已经发表或撰写过的研究成果 也不包含为获得盒篷王些太堂或其他 教育机构的学位或证书而使用过的材料 与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意 学位论文作者签字 青 1 一勃 签字日期 潲年节月b 1 日 学位论文版权使用授权书 本学位论文作者完全了解金腿王些太堂有关保留 使用学位论文的规 定 有权保留并向国家有关部门或机构送交论文的复印件藉磁盘 允许论文被查 阅或借阅 本人授权金旦巴工业太堂可以将学位论文的全部或部分论文内容编 入有关数据库进行检索 可以采用影印 缩印或扫描等复制手段保存 汇编学位 论文 学位嚣萎薹鬻蕙骺翻橛榔 跏躲职吲缔学位论文者签名 鄯j 1 钆 导师签名 沙刀 7l p 签字墨期 枷3 年细叫鑫签字刚甥 眸譬月三 匿 学位论文作者毕监后去扁 工作 工作单位 电话 通讯地址 邮编 致谢 短暂的读研生涯鄂将结束 在这短暂的嚣予里 却经历了入生中最漫长的期 盼与等待 真的缀庆幸能够成为陶老师的学生 这两年多来 在陶老师的悉心教导和培 育下 学到了不少东西 尤其是那种认真负责的工作态度和严谨求实的工作作风 让人肃然起敬 在此 要感谢陶老师一直以来对我的督促和鞭策 引导我在正确 的轨道上向蓠迈进 感谢实验室的同窗们 王付军 任玮蒙 任谦 以及师兄师姐师弟们 跟你 们相处缀榆快 特别要感谢我的父母和家人 他们默默无闻的付出和支持 永远是我振奋精 神 努力拼搏的力量源泉 作者 郭恺 2 0 0 8 年4 月 第一章引言 1 1 课题背景 现代工业的监控技术随着生产科技水平的发展 要求越来越高 形式趋于多 样化 有些情况下通过翻前流行的基于有线网络技术已显不足 针对这一问题 本文提出一种基于g p r s 的微控制器 m c u 上网的解决方案 即在微控制器 中实现嵌入式协议栈 并通过驱动g p r s 模块经过g p r s 无线网络连接到i n t e m e t 实现上网 这种方案的优点在予 覆盖面广 适用于广大偏远地区 无线上 网 适用于可移动目标 使用廉价的微控制器 实现简单 成本低 安装简 便 维护方便 总之 该方案戆够很好地解决远程 无线监控闯题 其在灵活性 等方面比有线通讯有着更大的优越性 1 本系统可推广应用予智能建筑 安防系统中 为无人值守 灵活变更监控点 提供了新手段 将移动通信技术应用于工业控制中是目前应用技术研究的热点问 题之一 研究成果对拓宽移动通信技术的应用有着重要的意义 2 1 重 2 课题来源 本课题的研究内容来自安徽中科大鲁能集成有限公司的研发项目 基于 g p r s 无线通信的配电变压器远方终端 该项目是专门针对工业终端设备无线数据传输和i n t e r n e t 无线接入的解决方 案 方案的具体实现如图1 1 所示 服务器 图1 1 数据传输系统总体方豢设计 1 3 系统需求 目前 国内的工厂监控系统主要是有线监控系统 这就存在一个共同的不足 即传输距离短 由于不能进行远程传输 所以监控必须到现场才能进行 这样不 但浪费了人力财力 丽盈维护不方便 因此 需要建立 套节省投资 监控方便 时效性强的监控系统 随着通信技术和网络技术的迅猛发展 g p r s 技术作为g s m 嬲络的发展 被广泛的应用在各个领域 本课题的开发便是通过g p r s 网络来实现工业现场远 歹 备配 望0 绷业 程无线监控 数据终端采集到数据 并将数据发送到远程数据服务器或者移动终 端上 系统示意图如图1 2 所示 匦匦乎圈 匡亟h 豳酬圃一 匠卦匦陋 图1 1 2 系统整体结构图 1 4 本课题的主要研究内容 设计出基于嵌入式协议栈实现的g p r s 数据终端 研究g p r s 网络接因技术 数据传输模式 实现工业现场数据的处理及无线传送 通过该项目的研究为工业 级设备的无线上网提供一个较好的解决方案 本课题由以下几部分内容组成 1 了解p p p t c p u d p i p 协议结构和数据终端与控制中心的遥讯过程 2 深入了解该类产品开发的常用方案 常用器件等 并在此基础上提出适 合本课题的系统解决方案 3 开发板上进行编程与实验 实现本课题的各个实验要求 加深对课题的 开发流程及实现过程的进一步了解 4 经过以上三个步骤后 设计一块数据终端电路板 主要用在监控现场 实现对监控对象的监控与数据采集 5 建立中心照务器监控端 无线数据处理端 可将数据终端采集的数据传 送至主站监控中心或指定的数据处理终端上 1 5 本章小结 本系统主要可以实现对现场设备的数据进行采集监控并可以与远程终端服 务器进行g p r s 无线数据传输 完成对现场设备的远程监控 而本章则简要地说 明了课题背景与课题的来源 提出了本课题的设计任务 并系统地分析了本课题 的各个阶段的任务 2 第二章系统架构及嵌入式接入方案的选择 g p r s 无线数据传输系统的总体方案设计主要包括两个方面 系统网络架 构的选择 嵌入式i i l t e m e t 接入方案的选择 如何在这两个方面进行恰当地选 择 将对后续的软 硬件设计产生重大的影响 下面就分别对这两个方面的选择 过程进行论述 2 1 系统网络架构的选择 g p r s 无线数据传输系统的网络架构直接影响到系统的工作方式和性能 因 此选择一种适合本研究的网络架构 对于系统的设计 调试和运行都有很重要的 意义p 1 以下内容介绍各类适用于g p r s 无线数据传输的系统架构 并通过比较 选择和改进 给出了适合本课题应用的网络架构 2 1 1 各类网络架构 方案一 数据中心采用g p r s 终端接入获得动态p 使用h l t e m e t 上的注册 服务器协助数据中心与数据采集端m s m o b i l es t a t i o n 移动台 建立通信 见 图2 1 数 图2 1 系统网络架构一 图中s g s n 是g p r s 服务支持节点 主要负责移动台和g p r s 网络之间的通 信 并记录移动台当前的位置信息 g p r s 网关支持节点 g g s n 在g p r s 网 络和外部分组数据交换网 例如伊 x 2 5 之间起网关的作用 它将从外部网进 入的分组路由到正确的s g s n 上以便到达指定的移动台 所有的数据采集端 m s 也使用动态叠 在拨号上踺后必须将获得的动态臻向注翡服务器的软件进 行注册 数据中心则从注册服务器上获得数据采集端m s 的p 地址 从而实现 数据中心至数据采集端m s 的下行通信 数据采集端接收到数据中心的婵包后 从职头中获得数据中心的p 地址 从而实现上行通信 注册服务器使用公网固 定礤或公网动态i p d n s 解析服务 用来协助通信双方建立连接 若中途m s 因某些原因撵线重拨导致p 地址改变 则在注掰服务器的协助下可以重新建立 通信 该方案除下行透信建立阶段外其它的数据传输全部在g p r s 网络内进行 安 全性高 时延小 与拉a p n 专线 使用a p n 固定口等方案相比 本方案采用 公网上的注册服务器协助建立通信 费用较低 从价格方面有利于g p r s 无线数 据传输系统的推广 但由于数据中心采用g p r s 终端拨号上网 带宽较小 使得 本方案比较适合于轮询方式的小批量数据传输p 1 方案二 数据中心采用移动a p n 专网固定琢 如图2 2 数 圈2 2 系统网络架构二 这种方案必须惫移动孛请a p n 专嘲泣务 移动分配专震的a p n 雳于g p r s 专网的s i m 卡仅可以使用该a p n 获得a p n 后 可以给数据中心和所有数据采 集端m s 分配g p r s 网络固定臻 由于申请到固定p 该方案无需注册服务器 协助建立连接 减少了中间环节 稳定性加强 所有数据都在g p r s 的a p n 内 网传输 无需通过公网 安全性增强 而且此方案无需负担专线月租费 与方案 一相同 由于数据中心采用g p r s 无线接入 带宽有限 且a p n 的费用显然较 方案一为高 但从总体上说 本方案性价比合理 在条件允许的情况下使用本方 案在性能上要比方案一好很多 方案三 数据中心宽带接入i n t e r n e t 公网 使用公网固定i p 或公网动态 4 i p d n s 解析服务 如图2 3 本方案中 首先由数据采集端m s 向数据中心发起连接 如果数据中心采用 公网动态i p d n s 解析 则在此之前m s 从d n s 服务器获得数据中心动态礤 此时g g s n 会分配给该m s 一个公网p 和端口 g g s n 上的n a p t 表单会添加 这个通信链路的口端口对照项 将m s 的g p r s 网内部d 与分配的公网口端口 据对应 此后数据中心发向m s 的包只需发向该公网p 和端譬 剡g g s n 会将 其顺利转发到数据采集端m s 整个通信链路就能顺利传输数据了 数 图2 3 系统网络架构三 该方案由于数据中心宽带接入 因此比前两个方案带宽大 系统能够扩展较 多的数据采集端m s 提高系统容量 但数据传输需要经过g p r s 网络和公蹈 数据传输质量受到公网情况的影响 并且延时加大 而且公网上的数据安全性显 然较差 因此本方案适合数据点比较多 对安全性和实时性要求不是非常苛刻 而预算又有限的数据采集系统一 方案四 a p n 专线接入 拥有固定内部p 地址 如图2 4 数据中心通过数据专线接至移动运营商的g g s n 移动运营商为用户分配专 用的a p n 并将信息存储于g g s n 上 从而在数据中心和数据采集端m s 之间 构成一条无线纛拟专线 v p n 逶道 较前三个方案 该方案在安全性 实时性和稳定性上都有很大优势 适用于 对安全性要求嵩 实时性要求较离 数据点多的旋用系统 数 灏2 4 系统网络架构图 2 1 2 本系统网络架构 2 1 2 1 系统网络架构的确定 我们选择系统网络架构需要平衡各方面的因素 网络容量 通信延迟 成本 调试复杂度 表2 薹是上述四种方案各方面情况的对比 表2 1 四种网络架构对比 森 喵芝 网络容量通信延迟成本调试复杂度 方案一小小低容易 方案二 小小中等容易 方案三犬较小最低容易 方案霞大小嘉复杂 对于未来需要应用于实际无线通信场合的网络架构 网络容量和成本是首先 需要考虑的 这两个方面方案三是我们的最佳选择 方案三在调试复杂度的表现 中也非常好 唯一不足的通信延迟方面 由于方案三包含了g p r s 网络和i n t e r n e t 两个网络的传输 延迟时间稍长 但完全在本课题需求的范围之内 因此本系统 网络架构以方案三作蔻蓝本进行设计 2 1 2 2 结构及各部分作用 系统方案的构成部分有 数据中心 数据采集m s 包括嵌入式g p r s 现场 接入模块和现场数据采集模块 和其它所需要的网络及路由设备 如图2 3 在以上三部分中 除了最艨的网络及路由设备由移动服务商和i n t e r n e t 服务 商提供外 其它两部分均为我们所需要设计和完成的 数据中心负责数据的汇总和管理 通过g p r s 网络向数据采集端m s 发送命 令以期获得回复数据 数据采集端m s 负责采集本地数据 根据接收到的数据中 心的命令反馈相应数据 6 2 1 2 3 工作流程 1 数据中心接入i n t e r n e t 并且必须具有一个固定的公网口 2 数据采集端m s 上电 接入g p r s 网络并获得p 地址 将自己的璎地址 发送给数据中心 3 数据中心收到关于数据采集端m s 的p 信息的数据包 则更新存储的数 据采集端m s 地址信息 并回复确认包 确认包将最终到达数据采集端m s 4 数据中心向数据采集端m s 发送采集数据命令 5 数据采集端m s 回复采集到的数据信息 6 数据中心接收到数据信息 并对数据信息进行处理 显示和存储 2 2 嵌入式i n t e r n e t 接入方案的选择 在上一节中我们讨论了系统的网络架构 从大的框架上确定了系统的组成以 及系统各部分的作用 僵还没有涉及g p r s 无线通信终端的具体设计方案 尤其 是嵌入式i n t e r n e t 接入方案的选择 下面就详细介绍一下这方面的情况 2 2 1 嵌入式i n t e r n e t 接入的主要方案 醋前国内外很多厂家都在开展嵌入式i n t e m e t 技术的研究 推国了各种各样 的解决方案 各种解决方案都有自己的优缺点和应用范围 由于目前低端m c u 的市场占有率很大 因此开发基于8 位和l6 位的嵌入式i n t e m e t 的解决方案有很 大的市场前景 目前基于8 位和16 位微控制器的嵌入式g p r s 无线通信系统接 入i n t e r n e t 主要有以下四种方式 1 m c u t c p p 协议栈 g p r s 模块 这种方式是将t c p i p 协议栈直接集成 在m c u 中 这就要求设计者对t c p i p 的各层协议非常熟悉 编程工作量较大 难度较高 但该方式最为灵活 设计者可以根据系统的需要对t c p i p 协议中的 各部分进行取舍和简化 达到既能满足应用需要 又能占用最少的硬件资源 使 硬件成本最低 另外 在该方式下 嵌入式t c p i p 协议栈的设计者可能会面临 一些具体的特殊要求 如代码长度受限 有最低传输率要求或可靠性要求等等 需要很好地加以分析和折衷 不过一些m c u 厂商或第三方供应商会提供t c p i p 协议软件包 戮西模块的形式提供各种组件 开发者可以根据自己的需要和系 统的硬件资源情况选择所需的组件并作适当的修改 可以大大加快软件的开发速 度 例如 u b i c o m 为其s x 系列m c u 免费提供了用于实现嵌入式接入的各层协 议组件 引 2 m c u 内嵌t c p i p 协议栈的小型实时操作系统 r t o s g p r s 模块 该方案在硬讳结构上与前一方案基本一致 但南于采用了经过测试和验证的 t c p i p 协议组件和实时操作系统 使软件开发工作量主要集中在应用层 而不 必过多关心底层协议的实现 因此该方案对开发者的要求棚对较低 开发速度较 快 在开发高可靠性的网络化嵌入式系统时是一种值得推荐的方案 过去提供实 时多任务操作系统和专用网络解决方案的公司 正迅速地在其产品线中增加嵌入 式i n t e m e t 接入技术和嵌入式瓣络服务器技术 例如 c m x 的c m x m i c r o n e t 是专门为8 位和1 6 位微控制器优化的t c p i p 协议栈 并且以标准c 语言源码 的形式提供 很容易移植到一款新型微控制器中 软件设计者也可以根据应用系 统的需要选择在固件中必须包含的协议模型p 1 u b i c o m 在i p 2 0 0 0 系列的软件开 发包中提供了r t o s 和t c p i p 协议 但这种方案由于采用了实时操作系统 协 议栈也较失完整 所需要的硬件资源开销也耱应较大 系统的整体成本也较高 3 m c u i n t e m e t 控制芯片 g p r s 模块 该方案的软 硬件设计均较前两种 方案简单 对m c u 的硬件资源需求也最低 由于i n t e m e t 控制芯片是一种独立 于各种微控制器的通用产品 系统开发者用其开发具有网络功能的智能装置时 既不需要了解复杂的网络软 硬件设计技术 也不需要改变原来已经成熟的设计 只需增加与i n t e m e t 控制芯片通信韵接豳程序即可 因此该方案对开发者的要求 更低 软件开发的速度更快 另外 使用该方案可以大大提高数据传输速度 因 此可以在一些多媒体应用孛采沼 例如 韩国w i z n e t 公司推逝一种网络芯片 w 3 1 0 0 a 它通过在硬件中安装t c p i p 协议 为数字装置的高速i n t e m e t 连接提 供丁一种易于实现的勰决方案 类似还有基于i c h i p 技术和i r e a d y 技术的各 种网络芯片 该方案的主要缺点是目前i n t e r n e t 控制芯片价格较高 导致系统硬 件成本较高 对于大批量生产的网络产品难以承受 4 内置g p r s 模块和t c p f i p 协议栈的s o c 0 i r e l n i t i a l i z e r e s t a r t c o u n l t o 2t i m e o u tw i t hc o u n t e re x p i r e d z r c z e r c r e s t a r t c o u n t r c r 2r e c e i v e c o n f i g u r e r e q u e s t g o o d s c l2s e n d c o n f i g u r e r e q u e s t r c r r e c e i v e c o n f i g u r e r e q u e s t b a d r c a 2r e c e i v e c o n f i g u r e a c k s c a2s e n d c o n f i g u r e a c k r c n 2r e c e i v e c o n f i g u r e n a k j r e j s c n s e n d c o n f i g u r e n a k r e j r t r r e c e i v e t e r m i n a t e r e q u e s t s t r2s e n d t e r m i n a t e r e q u e s t r t a r e c e i v e t e r m i n a t e a c ks t a s e n d t e r m i n a t e a c k r u c r e c e i v e u n k n o w n c o d e s c j 2s e n d c o d e r e j e c t l j r e c e i v e c o d e r e j e c t p e r m i t t e d o rr e c e i v e p r o t o c o l r e j e c t j r x j 2r e c e i v e c o d e r e j e c t c a t a s t r o p h i c o rr e c e i v e p r o t o c o l r e j e c t r x r 2r e c e i v e e c h o r e q u e s t s e l2s e n d e c h o r e p l y o rr e c e i v e e c h o r e p l y o rr e c e i v e d i s c a r d r e q u e s t 图4 3p p p 有限状态自动机的事件和动作 前面在说p p p 链路工作过程时我们已经提到了f s m 而且由于p p p 软件的设 计与f s m 的状态转换有着密切的联系 掌握了f s m 状态的转换过程 就可以对软 件的整体架构有一个清晰的思路 而要了解f s m 的状态转换 首先要对f s m 各个 状态的含义有着深刻地认识 p p p 的有限状态自动机共有以下十个状态 1 i n i t i a l 初始 在初始状态 下层是不可用的 d o w n 并且没有o p e n 事件发生 r e s t a r tt i m e r 不在该状态下运行 2 s t a r t i n g 启动 启动状态与初始状态有些相似 在初始状态下发生o p e n 事件后即可跳转到此状态 该状态下有o p e n 事件发生 但下层仍旧不可用 d o w n r e s t a r tt i m e r 不在该状态下运行 当下层变为可用 u p 时 发送一 个c o n f i g u r e r e q u e s t 包 3 c l o s e d 关闭 在关闭状态 链路是可用的 u p 但是没有o p e n 事件 发生 r e s t a r tt i m e r 不在该状态下运行 在此状态下如果收至l j c o n f i g u r e r e q u e s t 包 将会发送一个t e r m i n a t e a c k 包 此时如果收到对端发过来的t e r m i n a t e a c k 包 将会被静静的丢弃 以防止造成循环 4 s t o p p e d 停止 停止状态与关闭状态有些相似 在该状态下发生c l o s e 事件后即可跳转到关闭状态 当t h i s l a y e r f i n i s h e d 动作完成之后 或是当发送 t e r m i n a t e a c k 包之后 等待d o w n 事件的到来时 自动机进入停止状态 r e s t a r t t i m e r 不在该状态下运行 在此状态下如果收至u c o n f i g u r e r e q u e s t 包 将发送一个适当的响应 如果收 到的是其它的包 则发送一个t e r m i n a t e a c k 包 此时如果收到对端发过来的 t e r m i n a t e a c k 包 将会被静静的丢弃 以防止造成循环 停止状态包括链路终止 链路配置失败以及其它一些自动机故障状态 虽然 这些状态往往是各自独立的 但却被合并在一起 在停止状态下 当 s l a y e r f i n i s h e d 动作完成后 在d o w n 事件和 r e c e i v e c o n f i g u r e r e q u e s t 事件之间 存在着一种竞争的关系 也就是说如果在 r e c e i v e c o n f i g u r e r e q u e s t 事件发生后紧接着d o w n 事件也发生 d o w n 事件将取代 r e c e i v e c o n f i g u r e r e q u e s t 事件 自动机返回至w s t a r t i n g 状态 而不是发送一个应 答包 这样可以防止重复攻击 需要说明的是 如果对端对本方发送的c o n f i g u r e r e q u e s t 包没有响应 实现 应该被动地等待对端发送c o n f i g u r e r e q u e s t 包 此时 若在状态r e q s e n t a c k r c v d 和a c k s e n t 下发生t o 事件 自动机不应产生t h i s l a y e r f i n i s h e d 动作 上述说明解释了前文所述的 p 选项 被动选项 的含义 该选项适用于专 用电路或者没有状态信号的电路 但不能用于交换电路 5 c l o s i n g 结束 在结束状态下 自动机尝试终止连接 此时已发送了一 个t e r m i n a t e r e q u e s t 包 但还没有收至u t e r m i n a t e a c k 包 且r e s t a r tt i m e r 处于运行状 态 当收到t e r m i n a t e a c k 包时 自动机进入c l o s e d 状态 如果没有收到 t e r m i n a t e a c k 包 但r e s t a r tt i m e r 期满 则发送一个新的t e r m i n a t e r e q u e s t 包 r e s t a r tt i m e r 重新启动 当r e s t a r tt i m e r h 数次数超过m a x t e r m i n a t e 时 自动机进 入c l o s e d 状态 6 s t o p p i n g 停下 停下状态与结束状态有些相似 在该状态下发生c l o s e 事件后即可跳转到结束状态 该状态下也是已发送了一个t e r m i n a t e r e q u e s t 包 但还没有收至l j t e r m i n a t e a c k 包 且r e s t a r tt i m e r 处于运行状态 当在开始新的传输之前终止链路时 停下状态提供了一个良好的机会 可以 在链路终止以后 经由停止或启动状态对链路进行新的配置 7 r e q u e s t s e n t 要求 发送 在要求一发送状态下 自动机尝试配置连接 此时已发送了一个c o n f i g u r e r e q u e s t 包 但还没有收至l j c o n f i g u r e a c k 包 也没有 发送c o n f i g u r e a c k 包 且r e s t a r tt i m e r 处于运行状态 8 a c k r e c e i v e d 确认一接收 在确认 接收状态下 已经发送了一个 c o n f i g u r e r e q u e s t 包 并且收到了相应的c o n f i g u r e a c k 包 此时r e s t a r tt i m e r 仍旧 处于运行状态 因为还没有发送c o n f i g u r e a c k 包 9 a c k s e n t 确认 发送 在确认 发送状态下 c o n f i g u r e r e q u e s t 包和 c o n f i g u r e a c k 包都已经发送了 但还没有接收至l j c o n f i g u r e a c k 包 此时r e s t a r t t i m e r z l 乃旧处于运行状态 因为还没有接收至l j c o n f i g u r e a c k 包 1 0 o p e n e d 开启 在开启状态下 已经发送并且接收了一个c o n f i g u r e a c k 包 r e s t a r tt i m e r 不在该状态下运行 1 9 进入开启状态时 实现应该通知上层 下层已经u p 相反地 离开该状态 时 实现应该通知上层 下层已经d o w n p p p 完整的状态转换如图4 4 状态在水平轴 事件在垂直轴 状态转换和动 作被表示成 动作 新状态的形式 多个动作用逗号分隔 无先后顺序 状态后 面跟的那个字母是说明性的脚注 p 被动选项 见s t o p p e d 状态讨论 r 重 启选项 见o p e n 事件讨论 x 交叉连接 见r c a 事件讨论 短划线 代表无效的转换 事 状态 012345 6 789 件 l n i t i a l s t a r t i n g c l o s e d s t o p p e dc l o s i n gs t o p p i n f ir e q s e n ta c k r c v da c k s e n to p e n e d u r 2i r e s c r 6 d o w n 0t l s l0l11lt l d l o p e n t l s l l i r c s c r 63 i5 l5 i67 89 r c l o s e0t 1 0 02244i r e s t r 4i r e s t r 4i r e s t r 4t l d i r e s t r 4 t 0 s t r 4s t r 5s c 6s c r 6s e t 8 t 0 t 1 0 2t l d 3 t l t 7 3 pt l d 3 pt l l 口3 p r c r s t a 2 i r e s c r s e a 8 45s c a 8s c a t l u 9s c a 8 t l d s c r s e a 8 r c r s t a 2 i r e s c r s c n 6 45 s c n 6s g n 7s c n 6t l d s c r s c n 6 r c as t a 2s t a 345 i r c 7s c r 6 xi r e t l u 9t l d s c r 6 x r c n s t a 2s t a 3 45 i r e s c r 6s c r 6 xi r e s c r 8t l d s c r 6 x r t r s t a 2s t a 3s t a 4 s t a 5s t a 6s t a 6s t a 6 t l d z r c s t a 5 r t a 23t 1 0 2t 1 0 3668t l d s c r 6 r u c s c j 2 s c 3s c 4s c 5s c 6s c 7s c 8s c 9 r 23456689 r x j t l 口2t l 疗3t 1 0 2t l d 3t l 口3t l t 7 3t 1 0 3 t l d i r c s t r 5 r x r2345678s e 9 图4 4 p p p 状态迁移图 4 3p p p 协议的裁减 前面简单介绍了p p p 协议的主要内容 一个完整的p p p 协议是相当复杂的 而在嵌入式应用中实现完整的p p p 协议不但会耗尽有限的系统资源 对于提供简 单服务功能的系统来讲 也是无谓的浪费 本文从资源和应用的角度着眼 对p p p 协议进行了一定程度的裁减 并在后续的小节给出了较为详细的实现流程 4 3 1l c p 协议的裁减 l c p 包共有3 种类型 链路配置包 链路终止包和链路维护包 其中用于建 立和配置链路的配置包和结束链路的终止包是建立链路必需的 而调试和维护链 路的维护包属于高级功能 对于一个资源有限 速度较低的实现可以做一定程度 的裁减 本终端的设计使用以下的l c p 包来实现链路控制协议 1 配置请求包 c o n f i g u r e r e q u e s t 2 配置确认包 c o n f i g u r e a c k 3 配置否认包 c o n f i g u r e n a k 4 配置拒绝包 c o n f i g u r e r e j e c t 5 终止请求包 t e r m i n a t e r e q u e s t 6 终止应答包 t e r m i n a t e a c k 7 编码拒绝包 c o d e r e j e c t 2 0 8 协议拒绝包 p r o t o c 0 1 r e j e c t 也就是舍弃了链路维护报文中的e c h o r e q u e s t 包 e c h o r e p l y 包和 d i s c a r d r e q u e s t 包 4 3 1 1l c p 包的详细说明 1 8 1 1 9 2 m 1 11 下面主要描述选用的l c p 包的详细内容和作用 1 配置请求包 c o n f i g u r e r e q u e s t 包的数据域中包含了发送者的所有希 望改变的链路缺省值的配置选项的列表 选项表明本地可以接收的包参数 缺省 值不能作为协商选项 各选项的长度可能不一 所有的配置选项应该同时协商 配置请求包的d 唯一标识一个配置请求包 在p p p 协议的文档中规定 i d 只有在 配置选项值需要改变或者已经接到一个有效的配置应答包时才发生改变 它的值 循环使用 但是在实际的应用中 严格按照这样的标准会增大实现的难度 故而 很多实现中是这样做的 每次发送一个配置请求包都会使d 值加1 循环使用i d 值 本文的系统的实现中采用了后面的方案 2 配置确认包 c o n f i g u r e a c k 当本地端收到一个配置请求包 里面包含 的配置选项全部可以识别 配置选项的值全部可以接受 系统发送配置确认包给 对方表明可以接受对方的链路参数要求 配置确认包的d 复制配置请求包的d 内容包含配置请求包的全部配置选项 接收到一个配置确认包引发r c a 事件 实现将会按照当前状态查询自动机状 态表确定将要发生的动作和进入的状态 3 配置否认包 c o n f i g u r e n a k 当本地端收到一个配置请求包 里面包含 的配置选项全部可以识别 但是某些配置选项的值不能接受 系统发送配置否认 包 其数据域包含配置请求包中不被接受的配置选项 选项内容是本地端给出的 可以接受的值 可以是缺省值 虽然可以接受的选项不包含在配置否认包中 选 项仍然要严格遵守配置请求包中的顺序 如果不能接受的选项没有值域 布尔选 项 系统必须发送配置拒绝包 如果本地端希望协商的某个配置选项没有包含 在配置请求包中 可以在配置否认包的末尾追加这一选项并给出本地端可以接受 的值 配置否认包的m 要与请求包的一致 否则将会被对方丢弃 接收到配置否认包通常会引起配置请求包的重发 配置否认包的i d 要和最新 发送的配置请求包d 相同 否则认为无效丢弃 配置请求包需要按照收到的配置 否认包重新填充 包含原来的可以接受的配置选项以及选项值 修改对方不能接 受的选项值为指定值 4 配置拒绝包 c o n f i g u r e r e j e c t 当本地端收到一个配置请求包 里面包 含的某些配置选项不能识别或不可协商 系统发送配置拒绝包 其数据域中只包 括收到的配置请求包中不可识别的选项 且这些选项的顺序应与它们在配置请求 包中的顺序一致 d 应该复制配置请求包中的m 接收到的配置拒绝包的d 应该与最近发送的配置请求包的d 一致 并且配置 2 1 选项列表是配置请求包的子集 否则认为无效丢弃 收到配置拒绝包通常会引起 配置请求包的重新发送 其内容在原来的配置请求包的基础上剔除配置拒绝包中 的配置选项 5 终止请求包 t e r m i n a t e r e q u e s t 和终止应答包 t e r m i n a t e a c k 这两 个包用来终止一条链路 实现要终止链路时发送终出请求

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论