IEC104规约的秘密之九----链路层和应用层

104规约从TCP往上,分成链路层和应用层。

如图,APCI就是链路层,ASDU的就是应用层

我们看到报文都是68打头的,因为应用层报文也要交给链路层发送,链路层增加了开头的6个字节再进行发送。

完全用于链路层的报文每帧都只有6个字节,而大于6个字节的就是应用层报文加链路曾经控制。

纯链路层报文有如下:

S帧(只包含确认序号)

U帧(其中U帧又分成测试U帧和启动数据传输U帧和停止数据传输U帧)

应用层报文就是I帧,其中包含链路层控制信息

各种帧格式如下:


链路层进行通讯和应用层通讯是异步的,就是应用层没有报文时,链路层会进行通讯维护链路层。应用有报文时,交给链路层,链路层放在发送队列,按优先级进行发送。

链路层接收到报文后,会将链路层控制信息去掉后,立即将报文交给应用层。链路层和应用层各自按自己的逻辑进行运行,互不干涉。这个和OSI7层模型是类似的,每层只管和对方通信,下层就将上一层的报文增加一个信封,即报文头和报文尾,104这里只加了报文头的6个字节。下层收到报文后,将信封拆掉,即去除到报文头尾,将内容交给上一层。

104通讯不是一问一答的,而且是平衡的,即任何一方都可以随时发起一个应用过程。当然,某些报文看起来是一问一答,比如U帧测试帧,但中间是可以随时插入其他帧的。这是和其他一问一答规约,比如MODBUS有着本质的区别。

相关推荐
未来之窗软件服务5 小时前
幽冥大陆(六十八) PHP8.x SSL 文字加密—东方仙盟古法结界
网络·网络协议·ssl·仙盟创梦ide·东方仙盟·文字加密
G_H_S_3_11 小时前
【网络运维】Docker 存储:镜像层与数据卷的管理应用
linux·运维·网络·docker
还鮟13 小时前
靶机远程控制实验命令与入门实践(Linux)
linux·网络·安全
Hello.Reader15 小时前
Flink Process Table Functions(PTF)实战详解:把 SQL 变成“可编程算子”,状态、时间、定时器一把梭
网络·sql·flink
2301_7737303116 小时前
网络编程—TCP传输控制协议
服务器·网络·tcp/ip
云老大TG:@yunlaoda36016 小时前
华为云国际站代理商DAS的跨境合规适配是如何保障数据合规的?
网络·数据库·华为云
科技块儿17 小时前
【账号安全预警】如何基于IP查询进行登录异常识别、账号防盗?
网络协议·tcp/ip·安全
TG:@yunlaoda360 云老大17 小时前
华为云国际站代理商DAS的跨境合规适配在游戏出海场景中的应用
服务器·网络·游戏·华为云
没有bug.的程序员17 小时前
熔断、降级、限流:高可用架构的三道防线
java·网络·jvm·微服务·架构·熔断·服务注册
知新坊18 小时前
飞牛NAS 没有公网 IP?使用它让 NAS 访问、文件远程像在局域网
网络·网络协议·tcp/ip