电测量数据交换DLMS_COSEM 组件 OSI式传输层服务与RFC式TCP函数调用间的转换.pdfVIP

电测量数据交换DLMS_COSEM 组件 OSI式传输层服务与RFC式TCP函数调用间的转换.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GB/T17215.647—201X/IEC62056-4-7:2015 附录A (资料性附录) OSI式传输层服务与RFC 式 TCP 函数调用间的转换 A.1 传输层和 TCP连接建立 STD 0007规定,调用OPEN函数建立TCP连接。该函数能以主动或被动的方式调用。 根据TCP连接状态图 (见图A.1),被动OPEN让调用设备进入LISTEN状态,等待来自任何远程TCP和 端口的连接请求。 图A.1 TCP连接状态图 一个主动OPEN调用使TCP与远程TCP建立连接。 采用所谓的 “三次握手”过程建立TCP连接。一方TCP调用主动OPEN发起,另一方TCP响应,该响应 方已经调用被动OPEN并因此进入LISTEN状态。 消息序列以及相应消息交换的状态转换 (“三次握手”过程)如图A.2所示。 GB/T 17215.647—202X/IEC 62056-4-7:2015 注:对 DLMS/COSEM 传输层而言,TCP 用户协议层是封装子层。 图A.2 建立传输层和TCP连接的MSC和状态转换 这个过程包含三种消息,建立TCP连接, “同步”了双方初始序列号。谨慎设计的这种机制保证了 双方已做好传输数据的准备,并知道对方也做好了传输准备。注意,如果双方TCP同时发起连接,该过 程也能处理。 注:序列号是TCP数据包的一部分,是可靠数据传输的基础。更多关于序列号 (或其他TCP相关问题)的详情,请参 考STD 0007。 A.2 传输层和 TCP连接关闭 通常,当不再有数据需要发送时,调用CLOSE函数关闭TCP连接。 TCP-DISCONNECT.request服务原语被TCP连接管理器进程调用,则封装子层调用TCP子层的CLOSE函 数。 然而,由于TCP连接是全双工,另一方可以还有数据要传送。因此,调用CLOSE函数后,基于TCP的 传输层可以继续接收数据,并将它传给DLMS/COSEM应用层,直到被告知另一方也CLOSED。此时,封装子 层产生COSEM-ABORT.indication原语,所有应用关联释放。 TCP连接成功释放的消息序列图和状态转换图,如图A.3所示。 23 GB/T17215.647—201X/IEC62056-4-7:2015 注:对 DLMS/COSEM 传输层而言,TCP 用户协议层是封装子层。 图 A.3 关闭传输层和TCP连接的MSC和状态转换 A.3 TCP连接终止 STD 0007中未规定提示TCP层级意外中断的标准函数。但是,TCP使用者实体能通过使用STATUS () 函数轮询TCP状态检测到TCP层级的意外中断,如图A.4。 图A.4 轮询TCP子层提示TCP异常终止 GB/T 17215.647—202X/IEC 62056-4-7:2015 A.4 使用 TCP-DATA 服务的数据传输 为发送APDU到对等层,DLMS/COSEM应用层仅调用基于TCP的DLMS/COSEM传输层的TCP-DATA.request 原语。另外,当接收到一个完整的APDU时,借助于TCP-DATA.indication原语向DLMS/COSEM应用层提示。 因此,对于应用层来说,传输层表现为将整个APDU作为一个整体传输。 然而,因为TCP是流协议,不处理数据边界,如6.3.1所述,不能保证一个APDU实际在一个TCP包中 传输。正如6.3.5.4中提到,在基于TCP的DLMS/COSEM传输层中,封装子层负责隐藏TCP子层的流性质。 接下来的例子说明封装子层如何完成这项任务。假设, 应用层实体想通过基于TCP的DLMS/COSEM传 输层发送一个包含992字节的APDU。 注:客户

您可能关注的文档

文档评论(0)

雄霸天下 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档