各种通信协议.docx
《各种通信协议.docx》由会员分享,可在线阅读,更多相关《各种通信协议.docx(55页珍藏版)》请在冰豆网上搜索。
![各种通信协议.docx](https://file1.bdocx.com/fileroot1/2022-10/11/166b3f60-8025-4d5b-9a47-2146ba800821/166b3f60-8025-4d5b-9a47-2146ba8008211.gif)
各种通信协议
分层及通信协议
协议软件是计算机通信网中各部分之间所必须遵守的规则的集合,它定义了通信各部分交换信息时的顺序、格式和词汇。
协议软件是计算机通信网软件中最重要的部分。
网络的体系结构往往都是和协议对应的,而且,网络管理软件、交换与路由软件以及应用软件等都要通过协议软件才能发生作用。
一、通信协议
1、什么是通信协议
通信协议(简称协议Protocol),是指相互通信的双方(或多方)对如何进行信息交换所一致同意的一整套规则。
一个网络有一系列的协议,每一个协议都规定了一个特定任务的完成。
协议的作用是完成计算机之间有序的信息交换。
通信网络是由处在不同位置上的各节点用通信链路连接而组成的一个群体。
通信网必须在节点之间以及不同节点上的用户之间提供有效的通信,即提供有效的接入通路。
在计算机通信网中,将这种接入通路称为连接(connection)。
建立一次连接必需要遵守的一些规则,这些规则也就是通信网设计时所要考虑的主要问题。
(l)为了能在两个硬件设备之间建立起连接,应保证在源、宿点之间存在物理的传输媒介,在该通路的各条链路上要执行某种协议。
如果传输线路使用电话线,则要通过调制解调器将信号从数字转换成模拟的,并在接收端进行反变换。
如果用的是数字传输线路,则在数据处理设备和通信设备之间,必须有一个数字适配器,以便将数字信号的格式转换成两种设备各自所期望的形式。
为了在两个端设备之间互换数据,需要协调和同步,调制解调器和数字适配器必须执行它们自己的协议。
无论是模拟的还是数字的通信设备,调制解调器和数字适配器的状态必须由接到节点上的设备来控制,这里必定有一个物理的或电气的接口来执行这种功能,执行某种适当的协议来达到这一控制目的。
(2)在计算机通信网中,许多信息源都是突发性的(bursty),问题是要利用信息的这种突发性质来降低消耗在线路上的费用,由此开发了许多共享通信资源的技术。
所谓共享,是指允许多个用户使用同一通信资源,这就产生了多用户的接入问题。
多路接入
技术必须与所使用的设备配合,也必须执行某种协议。
(3)将传输的比特组合成字符、帧、分组或报文等,并提供自动的差错处理,以保证所接收到的比特流是所发送的比特流的精确复制。
极大多数的差错处理采用自动重发请求(ARQ协议。
以上这些功能的完成,也都是由两个端设备之间运行的协议来处理的<
(4)必须保证消息抵达正确的目的地。
一些寻址和路由协议用来处理这项功能。
(5)在端节点或交换节点上存储所收到的信息,直至这些信息能够得到服务或再转发出去。
缓冲器的大小,所希望的快速响应时间,对输入的信息流所需做的差错检验而无须额外的重发时间,都已导致了将长报文分割成分组,并再从分组组合成一个完整的报文的技术。
为了达到这一点,两个端设备之间需要有良好的默契。
(6)必须进行流量控制,以避免缓冲器溢出,防止过分地拥挤,从而产生了流量控制协议。
流控协议可能在网络的若干个层次上存在。
(7)最后,必须保证接入通路能与用户的特性相协调一致。
例如消息的格式、字符编码、器件控制和数据库接入等。
通常必须提供协议转换功能,以便处理这些不同的特性,并提供正确的数据表达形式。
应该指出,上面提到的这些功能,在通信的双方都必须具备,也就是说功能是成对的,而且,每一对的两个相同功能之间才相互通信。
在某一处由协议加上去的额外的位(称为overhead)由另一处的相应协议加以解释。
例如,寻址和路由所用的数据仅仅是为了寻找目的地址和路由控制,与其他功能无关,所以只在相应的协议之间才进行对等的
通信(peer-to-peercommunication)
入协这2
终端
图1通信协议的类型
2、协议的分类
图1表示了通信协议的各种类型,其中包括以下几种。
(1)面向应用的协议:
为完成某些特定应用而制定的协议。
从分层的协议结构来看,包括应用层的专用服务元素,例如,TCP/IP协议模型中的FTP,TELNETSMTP等,OSI/RM中的FTAMVT,JTM,MHSDS等。
面向应用的协议也可称为进程到进程的协议。
(2)系统到系统协议:
支持端系统中特定应用进程之间的数据交换,为应用进程提供网络通信服务,包括应用层的公用服务元素、表示层协议(如完成数据的加密/解密)等。
(3)端到端协议:
完成端到端的可靠传输,建立、保持及维护端到端连接,包括会话层协议(保持对话的同步等)、TCP和UDP等。
(4)其他网内协议:
包括流控协议、寻址和路由控制等。
(5)点到点协议:
实现直接相连的节点之间的数据传输,女口数据链路层协议HDLC和Internet中的PPP协议等。
(6)网络接入协议:
如介质接入控制(MAC)等o
(7)网间互联协议:
从网络介质的延伸,不同网络用户的寻址,到异构网络间协议的转换。
从以上对协议的分类中可以看出,任何计算机(端系统)之间的通信,实际上是在不同层次上对等的通信单元(在分层体系结构中称为“实体”)的各自协调工作来配合完成的。
对计算机通信网的研究都是基于这种功能上的通信概念,从而形成了分层的协议体系结构。
3、协议的三个要素
协议为传输的信息定义严格的格式(语法)和传输顺序(时序或同步),而且,协议还定义所传输信息的词汇表和这些词汇所表示的意义(语义)。
因此,任何协议都有下列三个要素:
(1)语法(Syntax):
指互通的信息结构,包括诸如数据格式、编码、有用信号电平的表示等。
例如,IS08473规定的无连接网络层协议数据单元的格式有五个部分:
①固定控制部分(9字节);②地址部分(不定长);③分段部分(6字节);④选项部分(不定长);⑤数据部分(不定长)。
其中前四个部分是控制部分,其最大长度不超过254字节,第五部分的最大长度不超过64,512宇节。
(2)语义(Semantics):
指所互换信号的意义,包括用于协调及差错处理的控制信息
“NAK'则可被定义
等。
例如,“ACK可被定义为接收方正确收到数据包之后的应答,为未正确接收到所期望的数据包或传输出错时的应答。
(3)时序(Timing):
指数据应传送或被接收机寻找的时间、信息的排序、速率匹配等。
这是协议中最复杂、最关键的部分,它规定用什么样的方法和算法去完成所定义的协议功能。
协议功能除了包括连接管理、通信方式管理、协议数据单元的发送和接收以及装配和拆卸等之外;还包括数据包的编码和解码、分解和组合、流量控制、拥塞控制、发送顺序控制、发送速率控制以及差错处理等,协议的时序用来完成这些工作。
3、RS-232、RS-485通信协议
语义及应答三部份。
语法指通信帧结构,一般帧幀格式:
语义是对语法中每一个部份的解释
应答指通信双方的勾通
例如:
对时幀:
STX
C0
年、月、日、时、分
CRC—16
END
校时幀:
STX
C1
年、月、日、时、分
CRC—16
END
数据幀:
STX
C2
幀号DATACRC—16
END
图2)
A、回应ACK结束;
B回应NAK或T时刻无回应就重发,重发N次仍回应NAK或仍无回应就出错结束。
等)。
(a)(b)©(d)
图2等待式ARQ方案中数据帧在链路上的传输
(a)正常情况(b)数据帧出错(c)数据帧丢失(d)应答帧丢失
4、PELCO-D与PELCO-P协议介绍
图像监控系统中,硬盘录像机、矩阵、云台等均采用这两个协议。
(1)PELCO-D:
字格式:
1位起始位、8位数据、1位停止位,无效验位。
波特率:
2400B/S
帧格式:
字节1
字节2
字节3
字节4
字节5
字节6
字节7
同步字节
地址码
指令码1
指令码2
数据码1
数据码2
校验码
1、同步字节始终为FFH
2、地址码为摄像机的逻辑地址号,地址范围:
00H-FFH
3、指令码表示不同的动作
4、数据码1、2分别表示水平、垂直方向速度(00-3FH),FFH表示“turbo”速度
5、校验码=MOD[(字节2+字节3+字节4+字节5+字节6)/100H]
以地址码0x01为例:
{0xff,0x01,0x00,0x08,0x00,0xff,0x08,}〃上
{0xff,0x01,0x00,0x10,0x00,0xff,0x10,}〃下
{0xff,0x01,0x00,0x04,0xff,0x00,0x04,}〃左
{0xff,0x01,0x00,0x02,0xff,0x00,0x02,}〃右
{0xff,0x01,0x00,0x20,0x00,0x00,0x21,}〃
变倍短
{0xff,0x01,0x00,0x40,0x00,0x00,0x41,}〃
变倍长
{0xff,0x01,0x00,0x80,0x00,0x00,0x81,}〃
聚焦近
{0xff,0x01,0x01,0x00,0x00,0x00,0x02,}〃
聚焦远
{0xff,0x01,0x02,0x00,0x00,0x00,0x03,}〃
光圈小
{0xff,0x01,0x04,0x00,0x00,0x00,0x05,}〃
光圈大
{0xff,0x01,0x00,0x0b,0x00,0x01,0x0d,}〃
灯光关
{0xff,0x01,0x00,0x09,0x00,0x01,0x0b,}〃
灯光开
{0xff,0x01,0x00,0x07,0x00,0x01,0x09,}〃
转至预置点
001
{0xff,0x01,0x00,0x03,0x00,0x01,0x05,}〃
设置预置点
001
{0xff,0x01,0x00,0x05,0x00,0x01,0x07,}〃
删除预置点
001
以上对应的停命令均是:
{0xff,0x01,0x00,0x00,0x00,0x00,0x01,}〃
停命令
(2)PELCO-P:
字格式:
1位起始位、8位数据、1位停止位,无效验位。
波特率:
9600B/S
帧格式:
字节1
字节2
字节3
字节4
字节5
字节6
字节7
字节8
STX
地址码
指令码1
指令码2
数据码1
数据码2
ETX
校验码
1、STX始终为A0H
2、地址码为摄像机的逻辑地址号,地址范围:
00H-1FH
3、指令码表示不同的动作
4、数据码1、2分别表示水平、垂直方向速度(00-3FH),在有关预制点的操作时,数据码2表示预制点值
5、ETX始终为AFH
6、校验码(XORsumofBytes2-6)=字节2A字节3A字节4A字节5A字节
6
以地址码0x01为例:
{0xa0,0x01,0x00,0x08,0x00,0x30,0xaf,0x39,}〃上
{0xa0,0x01,0x00,0x10,0x00,0x30,0xaf,0x21,}〃下
{0xa0,0x01,0x00,0x04,0x10,0x00,0xaf,0x15,}//
左
{0xa0,0x01,0x00,0x02,0x10,0x00,0xaf,0x13,}//
右
{0xa0,0x01,0x00,0x40,0x00,0x00,0xaf,0x41,}//
变倍短
{0xa0,0x01,0x00,0x20,0x00,0x00,0xaf,0x21,}//
变倍长
{0xa0,0x01,0x02,0