CN1969236A - 数据传输方法及使用此种数据传输方法的自动化系统 - Google Patents
数据传输方法及使用此种数据传输方法的自动化系统 Download PDFInfo
- Publication number
- CN1969236A CN1969236A CNA2005800195475A CN200580019547A CN1969236A CN 1969236 A CN1969236 A CN 1969236A CN A2005800195475 A CNA2005800195475 A CN A2005800195475A CN 200580019547 A CN200580019547 A CN 200580019547A CN 1969236 A CN1969236 A CN 1969236A
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- communication user
- communication
- check word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0094—Bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/4026—Bus for use in automation systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
为了在两通信用户之间的数据传输链路上安全传输数据包,数据包各自包含有一个校验字,该校验字是由数据包中的其他数据计算出来的,其中一个通信用户使用对方通信用户收到的上一个数据包的校验字作为起始值来计算要发送到对方通信用户的下一个数据包的校验字。
Description
技术领域
本发明涉及一种两个通信用户之间通过数据传输链路来传输数据包的方法;且涉及一种自动化系统,其具有两个通过数据传输链路连接的通信用户,通信用户各有一个接口单元。
背景技术
在用来控制机械的自动化控制系统中,必须保证即使自动化系统出现故障,也不会对人员和环境造成危害。因此,自动化系统的运行通常基于通常所说的故障安全原则,根据此原则,如果重要部件出现故障,自动化系统将转换到安全状态。在自动化系统执行基于故障安全原则的与安全相关的控制功能时,其基本要求是:在执行安全控制功能期间,仍以即时准确的形式处理来自机器传感器的过程数据(process data),且这种安全过程状态会一直指示给机器执行器。
然而,在自动化系统中,与安全相关的控制功能的数量往往远低于用来维持自动化系统正常工作的与安全无关的控制功能的数量。为了确保自动化系统中与安全相关的控制功能的功能性不受与安全无关的控制功能影响,通常的做法是,将与安全相关的控制功能组成一个单独运行的安全程序,其是独立于与安全无关的控制功能的。
如果在独立运行并通过专线连接到紧急断电开关、光电开关和其他确保机器安全的部件的自动化计算机上运行与安全相关的程序,就可以实现与安全相关的和与安全无关的控制功能的完全分离。为了降低在自动化系统中由于增加自动化计算机而造成的硬件复杂性,人们已经知道通过被称为安全层的对非安全性控制程序进行扩展,使自动化系统中的安全程序和非安全控制程序都在同一硬件中实现。
现代自动化系统通常是一种分散式设计,其外围处理设备,即传感器和执行器与控制计算机之间通过局域网或通过更为理想的现场总线系统进行通信。为实现对机械的控制,控制计算机通过来自外围处理设备的现场总线读入控制程序需要的输入信号,其后由控制计算机进行实时处理,并通过现场总线将输出信号输出到外围处理设备。为了能在自动化系统中使用现场总线来同步地传输来自安全程序的处理信号,采用习知的安全层对现场总线系统进行扩展,这可以使得外围处理设备和控制计算机之间所传输的数据发生错误毁损的可能性达到最小,从而使得毁损无法识别的情况达到可容许的最小程度,进而使现场总线也能用来传输与安全相关数据。
在现场总线系统中,上述增加的安全层通常包含有增加的现场总线上两个通信用户间的地址关系,以便能够具有明确的关联。此外,在两个通信用户间传输的安全数据包中带有由传输的过程和地址计算出的附加校验字,以便能够可靠地识别出数据的毁损。为了能检测出将要被传输的安全相关的过程数据的顺序是否正确,以及是否及时到达通信用户,安全数据包通常被提供连续的顺序号。在本文中,编号通常是取自规定的编号模块,其在完全通过后被重置。
已知的一种控制程序和安全程序都能在同一块硬件中实现的自动化系统就是Siemens公司的Simatic系统。在该系统中使用的现场总线是Profibus总线,被称为Profisafe协议对其进行了扩展,以便传输与安全相关的数据包。然而,该具有安全程序的自动化系统只能在精确规定的配置和数据处理环境的情况下进行扩展。
然而,在自动化系统中,为了传输过程信号,除了已知的专有现场总线协议外,以太网协议也被越来越广泛的采用。为了在局域网中高速传输数据,在办公通信中以太网协议是应用最广的技术。以太网使用标准的软硬件并以简单的网络技术来完成高速率的数据传输,由于具有这些好处,以太网总线系统同样正越来越多的被用在工业生产中,以完成传感器/执行器与控制计算机之间的数据交换。
因此同样有必要使以太网总线系统也具有安全层并可以在以太网总线上除了执行传统控制程序外还能执行安全程序。然而,以太网通常被设计为使用“交换机”(switches)来避免网络中的数据冲突。交换机是具有多个输入和输出端的数据包交换节点,到达输入端的数据包被独占地交换至知道接收机站的输出端。但在以太网中使用交换机进行数据包交换增加了时延,因为交换机在输入端接收的数据包是被缓冲存放后再被交换到目的输出端。
在有交换机的以太网中数据包发送的延迟就意味着使用传统的安全层(例如Profisafe协议)是危险的,会产生不正确的过程状态。由于安全数据包被提供来自规定的编号模块的连续顺序编号,所以交换机中数据包的缓冲存储意味着顺序编号可能会溢出,这会导致错误的安全数据被传输。就Profisafe协议而言,例如,安全数据包传输时带有8位顺序编号,即自动化系统中数据传输期间过程不发生变化的数据包每255个循环重复一次,因为此时顺序编号溢出,0为不允许的序列号,结果,紧急关断开关不能被及时识别或者机器保护也不能被迅速切断,这样在自动化系统中要确保机器的安全过程状态是不可能的。
WO 99/49373揭示了一种自动化系统的操作方法,在该方法中故障安全信息与安全协议进行循环交换。从而使保持不变的数据在多次传输中只能被传输一次,将数据包划分为静态部分和动态部分,静态数据包部分只在初始化阶段在现场总线系统上两个通信用户之间进行传输。这种情况下,由静态数据包部分为动态数据包部分形成校验字计算的初始值。这种情况下,在规定的允许时间内缺少新的数据包会被认为是出错情况。当在有交换机的以太网中使用这种循环数据包传输的安全层时,由于交换机引起的数据包延迟发送同样会产生不正确的处理状态的危险。此外,保证准确遵守时间限制是必要的。
发明内容
本发明的一个目的是提供一种两通信用户间在数据传输链路上传输数据包的方法及与之相关的自动化系统,此数据传输链路可以保证用来执行与安全相关的控制功能的处理信号能以即时准确的形式处理,且安全过程状态会一直指示给自动化系统中的执行器。
本发明的目的是通过权利要求1所述的方法和权利要求5所述的自动化系统实现的。在从属权利要求中会更详细的展开说明。
根据本发明,在自动化系统中两个通信用户之间在数据传输链路上按如下方式传输数据:为每个数据包提供一个校验字,该校验字是由数据包中其他数据计算出来的,用来为将要发送到对方通信用户的数据包计算校验字的初始值来自对方通信用户收到的上一个数据包的校验字。
本发明提供了一种为控制程序增加安全层的方法,即使自动化系统的数据传输使用的是以太网现场总线,并且还使用交换机作为数据包交换节点,其仍然可以保证与安全相关的数据的传输。这是因为采用包含在上一个收到的数据包中的校验字作为起始值来为下一个要传送的数据包计算校验字可以防止数据包序列中数据包像Profisafe协议那样被同样的重复。因此,数据包在数据传输期间不会有由于在以太网交换机缓冲存放时变位而造成错误识别的危险。本发明持续动态地生成校验字,这意味着在一个数据包序列中不会有相同的数据包出现。
根据本发明的第一较佳实施例,通信用户收到的数据包的正确性检验是通过计算出收到的数据包的校验字并将其与该收到的数据包中包含的校验字做比较,计算校验字时使用上一个被发送的数据包的校验字作为起始值。采用此种方案的安全层,就可能在安全数据包中就无需使用Profisafe协议中为识别正确的数据包序列而采用的序列编号。这是因为正确的数据包序列可以直接由本发明的通信用户通过确定校验字的起始值由传输的校验字得到,而该起始值对于接收通信用户是可以得到的。
根据另一较佳实施例,本发明安全层中的数据通信是这样进行的:在两个通信用户间传输数据的开始时,将一个通信用户作为数据传输的发起端给另外一个通信用户发送标识数据包,标识数据包的校验字的起始值最好是固定的值或者是对方通信用户的标识符。这能可靠保证自动化系统中通信中断后与安全相关的数据的交换。较佳地,在这里被发送的标识数据包中可以将一个用来识别对方通信用户的数据项作为标识符使用,这样就使通信链路的初始化简单可靠。
根据再一较佳实施例,在通信用户间进行数据传输开始时,另一个数据项在另一个数据包中被传输给对方通信用户,该数据项最好是从起始端通信用户发出并跟随在标识数据包后。该另一个数据项指的是随机的会话标识符或是根据规定算法而改变的会话标识符。会话标识符可以保证即使在通信链路中断和重启后,也不会出现重复的数据包。
根据再一较佳实施例,在两通信用户间开始进行数据传输时,较佳地,数据传输的起始端通信用户用参数数据包来传输参数数据,该参数数据包的传输是在发送的标识数据包和会话数据包之后。这可以保证涉及设备功能性的操作参数同样能够在本发明的安全层下安全地传输。以上方式的另一个优势在于数据包都是以分类数据项的方式提供的,其可以识别数据包中传输的数据。
根据再一较佳实施例,自动化系统中校验字的计算是考虑到序列号的,序列号用来识别出两个通信用户间数据传输的各自的消息序列。这里,较好的是序列号是由两通信用户根据规定的方案分别生成的。计算中包含序列号能可靠地保证当从一个消息序列移动到另一个消息序列时,校验字总是会随之改变。这样可以防止连续的数据消息包含同样的数据时,可能产生的同样的校验字,从而产生错误警报。这种情况下,序列号不需要同时在两通信用户间在数据包中传输,因为通信用户能基于规定的方案相互独立地产生序列号。举例来说,通信用户序列号可以通过从通信双方都知道的规定的编号模块中增加或者移除来产生。两通信用户间传输序列号会产生不必要的长数据包,特别是如果要使用长序列号来防止传输期间发生序列号溢出。
根据再一较佳实施例,在通信用户间传输的数据包包含有一个连接标识符。这样可以保证如果通信用户和其他不同的通信用户传输与安全相关的数据包,即便由于从不同的通信用户收到的两个数据包碰巧会有同样的校验字,也不会发生数据包的变位。
附图说明
以下结合附图对发明进行更为详细的说明。其中
图1是基于以太网的自动化系统的基本结构示意图;
图2是本发明具有第一种数据包形式的安全层的基本数据流程和执行图;
图3A至图3C是本发明具有第二种数据包形式的安全层的扩展数据流程和执行图。其中,图3A为初始化数据传输,图3B为参数数据传输,图3C为过程数据传输;以及
图4是本发明具有第三种数据包形式的安全层的基本数据流程和执行图。
具体实施方式
通信网络提供了一种工作站(后面也称为通信用户)间交换和共享数据和/或资源的简单方式。这里,以太网的概念是在局域网中被最广泛采用的通信标准。以太网通过共享的传输媒质将多个通信用户连到一起,要传输的数据按照预定的格式被封装到所谓数据包(data packet)中,下文中也称为消息(message)。这里,以太网包括三部分:硬件,即通信用户的传输媒质和网络接口;通过传输媒质控制接入的协议集合;以及以太网数据包形式。在这里可以使用任何形式的网络拓扑结构连接通信用户。
请参阅图1所示,为一种以太网中较佳的网络拓扑结构。通信用户1连接到被称为交换机(switch)的核心交换机3(central exchange)上,通过点对点的连线2形成星型结构。交换机3确保输入的数据消息被唯一地交换到输出端,该输出端与准备由该输出端接收消息的通信用户是连接的。使得通信用户想要接收的消息是连续的。为使数据消息能被输出至正确的输出端,数据消息被暂时地缓冲存放到交换机中。
如图1所示,每个通信用户1都有一个网络接口单元11。网络接口单元11给要发送的数据编码和给已接收到的数据解码。此外,为操作网络,网络接口单元11也用来管理所有操作网络所需要的控制措施,即网络接口单元11执行管理功能和数据包形成。
如图1所示,当使用以太网作为自动化系统的一部分时,在该系统中通信用户就是控制计算机和传感器/执行器系统,除了对实时能力的要求外,即,由于传感器捕获到的过程信号的原因,控制计算机必需在规定的处理时间内向执行器输出过程信号,还要保证自动化系统或重要部件即使出现故障,也不会对人员和环境造成威胁。因此,自动化系统中的控制计算机不仅需要执行通常的控制功能还要执行安全功能,以保证如果自动化系统中重要部件出现故障,其将被自动转换到基于被称为故障安全原则的安全状态,即,举例而言,紧急情况下将连接的机器关断。
运行在自动化系统中控制程序的安全功能的数量通常低于非紧急控制功能的数量。而执行安全功能时,必需保证数据传输的准确执行。特别是必需确保在自动化系统两通信用户间与安全相关的数据传输期间,在传输毁损数据的错误的可能性达到最低,从而使该毁损不再被识别。
在自动化计算机中,为了确保与安全相关的控制功能的功能性不受与安全控制无关的功能影响,需要为数据传输链路上使用的网络协议提供一个附加的安全层,其用来控制自动化系统中两通信用户间的安全数据的交换。自动化系统中,为确保有安全层的两通信用户间数据在传输链路上的数据包的安全传输,本发明给每个数据包提供了一个校验字,其是由数据包中的其他数据计算出来的,通信用户1的接口单元11把对方通信用户收到的上一个数据包的校验字作为起始值来为接下来要传送的数据包计算校验字。
在本发明中,总是利用来自前一次收到的消息中的校验字作为起始值,形成动态的起始值,并利用该动态起始值计算数据包中的校验字,这样就可以保证传输周期中不会出现能够导致数据毁损的相同的数据包。相同的数据包存在危险,特别是使用具有交换机的以太网拓扑结构时,如图1所示,因为在这种情况下通信用户间交换的数据消息可能要被缓冲存放,并且过一段时间后才被发送至收信地址。
在根据本发明的数据传输方法中,正在接收数据包的通信用户可以容易地通过计算接收到的数据包的校验字并将其与接收到的数据包中包含的校验字进行比较来检验数据包是否正确,在该计算中采用上一次发送的数据包中的校验字作为起始值。这一工作最好是由通信用户1的接口单元11来完成。如果计算出的校验字和接收到的数据包中包含的校验字一致,那么可以确定该接收到的数据包是正确的。
请参阅图2所示,为本发明两个通信用户间数据传输方法的数据流程和执行图。在一次数据传输中,通信用户(就自动化系统而言就是指控制计算机)作为这次传输的发起端。在本发明的数据传输中,自动化系统中包含执行器/传感器系统的机器作为响应端。如图2所示为在发起端和响应端之间的数据交换期间的两个消息序列,两个消息序列分别被用来从发起端到响应端传送数据包,并从响应端到发起端回传数据包。这里,数据包是由有用的数据范围和控制数据范围组成,有用的数据范围中包含安全数据,即安全控制所要求的过程信号;在这里控制数据范围由序列号(可选)和不可缺少的校验字构成。
序列号标示出执行安全程序时,数据传输中有哪个消息序列。发起端利用由其发到响应端的数据包来规定序列号,随之响应端也在发回的数据包中同时也发回序列号。下一次消息序列中,发起端将要发送的数据包序列号加一。
而在基于本发明的数据传输过程中,实际上可以省去传输序列号。这是因为,为了确定已经发生的是无毁损数据传输,在发起端和响应端都检查收到数据包的校验字,这已经足够了。校验字最好是块保护字CRC(循环冗余校验),其可以被用来高度确定地的识别出数据包的错误。这样,CRC值可以由有用的数据计算出,也可能由数据包的序列号计算出,本发明利用是上一个收到的数据包的CRC值作为起始值进行CRC计算。
如图2所示,就消息序列i中从发起端发送到响应端的数据包而言,要传送的数据包的CRC值是由响应端收到的上一个CRC值CRC_A i-1计算出来的。被发送数据包中的CRC值是CRC_A i。然后该CRC值再被响应端用作起始值进行由响应端又返回到发起端的数据包的CRC计算,得到的CRC值为CRC_B i。然后该CRC值在下一消息序列i+1中被发起端作为起始值用来为将被发送到响应端的下一数据包进行CRC计算。然后CRC值CRC_A i+1再次被用作响应端返回的数据包的CRC计算,得到的CRC值为CRC_B i+1。通过将接收到的数据包中的CRC值和根据存储的起始值计算出来的CRC值进行比较,接收通信用户就可以很容易的建立起数据包的正确接收。
接下来,根据本发明,为了保证网络中通信用户间安全程序的启用,在安全程序重启时或通信过程中断后恢复时会进行一个初始化阶段,请参阅图3A所示。这样,如图3A所示的数据包包含一个命令数据字段,其标示出数据包中有用数据的意义,例如,这个有用数据是标识数据还是过程数据。或者,执行安全程序的数据包序列的数据包中的有用数据的意义也可以取决于数据包的顺序。举个例子,可以规定从发起端到响应端的前两个数据项总是包含初始化数据,然后其他的数据包包含安全数据。同时,也可以规定响应端只能给发起端传输过程数据。原则上,数据包的长度可为定长或变长。除了命令数据字段,数据包也可以包含其他数据字段,例如,控制/状态字段,如图3A所示。
图3A还表明,控制程序重启时,发起端建立安全数据通信要进行初始化,初始化是使用第一个消息序列来发送带有命令数据字段标识和安全数据允许标识的数据包到响应端。CRC值作为校验字对标识数据包进行保护,它的起始值是一个牢固可靠的规定值,例如,是响应端的设备标识符。标识数据也可以是外部设置的地址数据以用来识别两个通信用户或者只识别响应端。它们也可以是设备标识符和/或发起端或响应端的序号。
响应端已获知接受到的首次传送数据包CRC计算的起始值,对该接收到的来自发起端的数据包的CRC值CRC_A 1进行检验以确定是否已进行了正确的数据传输。接下来,响应端将CRC值CRC_A 1从首次传送数据包中取出,将其作为起始值对将要被发回到发起端的数据包进行CRC计算得到用于该数据包的CRC_B 1。该发回的数据包最好利用发起端传输的标识数据包的命令数据部分中包含的相同的标识符作为命令,以表明该数据包为从第一消息序列发回的数据包。为实现发起端正确的数据传输,接下来要校验第一数据序列的从响应端发回到发起端的数据包,该校验是通过由已知起始值CRC_A 1计算出的预期的CRC校验和并将其与包含在收到的数据包中的校验和CRC_B 1进行比较来完成的。
在第二消息序列中,发起端还向响应端发送一初始化数据包,该初始化数据包包含作为命令会话和安全数据的会话号。第二段数据包的CRC值CRC_A 2是由响应端发回的数据包的CRC值CRC_B 1计算出来的。传输会话号可以随机产生,也可以基于规定的算法产生,其应该确保通信链路出现中断后,没有更多的之前在传的数据包继续被传送和识别。
响应端已经获知发起端发送的用来为该数据包进行CRC计算的起始值CRC_B 1,并且该响应端通过根据已知起始值计算出的预期的CRC值对接收到的会话数据包进行检验,然后再把CRC值CRC_A 2作为将要发送到发起端的第二个数据包的起始值,可选地,该数据包可以用来传输安全数据。就该第二个发回的数据包而言,使用的命令最好是接收到的来自发起端的数据包的命令会话(command Session)。
安全通信链路建立起来后,可选地,发起端可以向响应端传输操纵响应端所必需的安全参数数据。如图3B所示为两个这样的消息序列,即消息序列3,其是跟随在会话数据包和带有参数数据的上一次执行的消息序列的传输之后。
为传输带有参数数据的数据包,发起端把上一次接收到的CRC值CRC_B2作为起始值为该第一次传输的参数数据包进行CRC计算。该第一次传输的参数数据包也提供命令参数数据和安全数据参数1。响应端校验来自接收到的数据包中的CRC值CRC_A 3,并把这个CRC值作为发到发起端的响应端数据包的CRC计算的起始值。采用这种方式就可以向响应端传输任意数量的安全参数数据。在图3B中所示的实例中,带有安全参数数据的消息序列从发起端被传输到响应端。可选地,响应端利用响应数据包总是传输安全数据,在响应数据包中使用的命令就是参数数据。
当参数传输结束后,发起端开始进行过程数据传输,如图3C所示。为此,该数据包具有发起端提供的命令(过程数据)和安全数据(过程数据),且该数据包用由CRC值CRC_B n+2作为起始值计算出来的校验和CRC_A n+3进行保护,CRC_B n+2是在上一次从响应端发到发起端的参数数据响应中传输的。然后响应端在其利用CRC校验和CRC_B n+3保护的响应数据包中发送过程数据,其中CRC_B n+3是由发起端传输的校验和CRC_A n+3作为起始值计算出来的。
如图4所示,为根据本发明的两个通信用户间数据传输方法的另一种数据流程和执行图。该数据流程和执行图与图2所示的数据流程和执行图本质上是相对应的。然而,与图2不同的是,数据包同时又被用来传输一个连接标识符,而在图3A中,该数据包在标识数据包中命令数据部分的初始化阶段中已经被传送。这样,采用与标识数据相似的方式,连接标识符可以是用来识别两个通信用户或者只识别响应端的外部设定地址,如图3所示。连接标识符也可以是设备标识符和/或发起端或响应端的序号。可靠地传输连接标识符能够确保如果发起端同时和多个响应端进行与安全相关的数据的传输,即使不同响应端中的数据包恰巧包含相同的校验字也不会引起数据包的混淆。
此外,在如图4所示的数据流程中总是包含有同时来自各个通信用户的校验字计算的序列号。但是,这些序列号并不同时传输,而是由通信用户使用同样的方案独立产生的。在这里,序列号可以自动递增的,例如在初始化后自动递增,或者取自硬性规定的编号模块。不同时传输序列号意味着数据包的长度也不必增加。同时,由通信用户产生的序列号可以选择任意长度,以有效防止数据溢出。在校验字的计算中包含序列号能够确保即使数据包从一个消息序列到下一个消息序列并没有改变,但校验字仍会改变,这样就确保不会引发不必要的错误警告。
在本发明中,在数据包传输期间为数据包提供校验字,而该校验字是利用对方通信用户接收到的上一个数据包的校验字作为起始值计算出来的,这样就提供了以简单的方式可靠地实现安全数据传输的机会,而这正是自动化系统中的安全层所要求的。特别是这样就可以使用以太网协议作为网络协议,并可以使用具有用来缓冲存放数据包的带有交换机的网络结构,这是因为本发明可以防止在安全程序执行过程中的数据包重复。
根据本发明,数据传输还以如下方式进行:首先进行标识号码传输和会话号码传输的所有初始化工作,这可以防止重启时出现的任何的数据包重复。此外,本发明的数据传输还可以涉及自动化系统中响应端的设备功能所要求的操作参数的传输。
Claims (26)
1.一种两个通信用户之间在数据传输链路上传输数据包的方法,其中的数据包各自包含有一个校验字,该校验字是由该数据包中的其他数据计算出来的,以及
其中一个通信用户将对方通信用户收到的上一个数据包中的校验字作为起始值来计算下一个要发送到对方通信用户的数据包的校验字。
2.根据权利要求1所述的方法,其中一个通信用户收到的数据包的正确性是通过计算接收到的数据包的校验字并将其与包含在该接收到的数据包中的校验字进行比较来确认的,在计算中将上一个发送的数据包的校验字作为起始值。
3.根据权利要求1或2所述的方法,其中所述数据包包含有识别随数据包传输的数据的分类数据项。
4.根据权利要求1至3之一所述的方法,将其中一个通信用户作为数据传输的发起端,并且在两个通信用户间开始传输数据时,该通信用户向另一个通信用户传输一个包含标识符的标识数据包。
5.根据权利要求4所述的方法,其中作为数据传输发起端的通信用户使用一固定值或者是对方通信用户的标识符来作为所述标识数据包的校验字的起始值。
6.根据权利要求4或5所述的方法,其中作为数据传输发起端的通信用户发送的标识数据包中包含有作为标识符的用来识别对方通信用户的数据项。
7.根据权利要求4至6之一所述的方法,其中,在两通信用户间传输数据的开始时,将一随机会话标识符或是依照规定算法变化的会话标识符作为又一数据项传输。
8.根据权利要求7所述的方法,其中作为数据传输发起端的通信用户将会话标识符随会话数据包传输至对方通信用户,该会话数据包跟随在该标识数据包后。
9.根据权利要求4至8之一所述的方法,其中,在两通信用户间传输数据开始时也传输参数数据。
10.根据权利要求9所述的方法,其中所述的作为数据传输发起端的通信用户会用至少一个参数数据包来传输参数数据至对方通信用户,该参数数据包是跟随在标识数据包和会话数据包之后。
11.根据权利要求1至10之一所述的方法,其中使用的数据传输链路是基于以太网的现场总线。
12.根据权利要求1至11之一所述的方法,其中所述校验字的计算是考虑到序列号的,该序列号用来识别两个通信用户之间各自的数据传输消息序列。
13.根据权利要求12所述的方法,其中所述的两个通信用户根据规定的方案分别从对方产生序列号对消息序列进行识别。
14.根据权利要求1至13之一所述的方法,其中在两通信用户间传输的数据包中各包含有一个连接标识符。
15.一种具有两个通信用户(1)的自动化系统,所述通信用户是通过一个数据传输链路(2)连接,且所述通信用户各自具有一个接口单元(11),用来在这两个通信用户之间的数据传输链路上传输数据包,所述接口单元被设计为用来形成带有校验字的数据包,所述校验字是由该数据包中的其他数据计算出来的,用来计算将要发送到对方通信用户的数据包校验字的起始值是对方通信用户收到的上一个数据包的校验字。
16.根据权利要求15所述的自动化系统,其中通信用户(1)的接口单元(11)被设计为用来识别通信用户收到的数据包是否正确,其是通过计算出接收到的数据包中校验字并将其与和包含在收到的数据包中的校验字进行比较,其中的计算是把上一个数据包发送的校验字作为起始值。
17.根据权利要求15或16所述的自动化系统,其中通信用户(1)的接口单元(11)被设计用来提供数据包,该数据包具有识别该数据包传输的数据的分类数据项。
18.根据权利要求15至17之一所述的自动化系统,其中一个通信用户作为数据传输的发起端,并且其接口单元(11)被设计为用来产生一包含标识符的标识数据包,该标识数据包在两个通信用户间的数据传输中作为第一个被传输的数据包。
19.根据权利要求18所述的自动化系统,其中所述的作为数据传输发起端的通信用户的接口单元(11)使用一固定值或者是对方通信用户的标识符来作为标识数据包的校验字的起始值。
20.根据权利要求18或19所述的自动化系统,其中所述的作为数据传输发起端的通信用户发送的标识数据包中包含有作为标识符的用来识别对方通信用户的数据项。
21.根据权利要求18至20之一所述的自动化系统,其中所述的作为数据传输发起端的通信用户的接口单元(11)被设计为用来在产生标识数据包之后产生会话数据包,该会话数据包包含有随机的会话标识符或是根据规定算法而变化的会话标识符。
22.根据权利要求21所述的自动化系统,其中所述的作为数据传输发起端的通信用户的接口单元(11)被设计为用来在产生标识数据包和会话数据包之后产生至少一个参数数据包,其包含有对方通信用户的参数数据。
23.根据权利要求15至22之一所述的自动化系统,其中所述的数据传输链路是基于以太网的现场总线。
24.根据权利要求15至23之一所述的自动化系统,其中所述的通信用户(1)的接口单元(11)被设计为在计算校验字时为考虑使用一序列号来识别两个通信用户间数据传输的各自的消息序列。
25.根据权利要求24所述的自动化系统,其中所述的通信用户(1)的接口单元(11)被设计为用来根据一规定方案产生以识别消息序列的序列号。
26.根据权利要求15至25之一所述的自动化系统,其中所述的通信用户(1)的接口单元(11)被设计为用来提供具有一连接标识符的数据包。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004044764.0 | 2004-09-16 | ||
DE102004044764A DE102004044764B4 (de) | 2004-09-16 | 2004-09-16 | Datenübertragungsverfahren und Automatisierungssystem zum Einsatz eines solchen Datenübertragungsverfahrens |
DE102005009224.1 | 2005-03-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1969236A true CN1969236A (zh) | 2007-05-23 |
CN100498607C CN100498607C (zh) | 2009-06-10 |
Family
ID=36011463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800195475A Active CN100498607C (zh) | 2004-09-16 | 2005-09-16 | 数据传输方法及使用此种数据传输方法的自动化系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN100498607C (zh) |
DE (1) | DE102004044764B4 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841388B (zh) * | 2009-03-18 | 2012-07-04 | 中国科学院沈阳计算技术研究所有限公司 | 一种用于数控总线的消息安全传输方法 |
CN102884744A (zh) * | 2010-05-03 | 2013-01-16 | 罗伯特·博世有限公司 | 用于保护有待于通过接口传输的数据包的方法和设备 |
CN102067561B (zh) * | 2008-04-22 | 2015-07-22 | 特拉斯特锡德公司 | 用于安全数据传输的方法和装置 |
CN107431691A (zh) * | 2015-08-25 | 2017-12-01 | 华为技术有限公司 | 一种数据包传输方法、装置、节点设备以及系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007016917B4 (de) * | 2007-04-05 | 2009-12-17 | Phoenix Contact Gmbh & Co. Kg | Verfahren sowie System zur sicheren Übertragung von zyklischen zu übertragenden Prozessdaten |
DE102008031621A1 (de) | 2008-07-07 | 2010-01-21 | Deutsche Bahn Ag | Verfahren und Vorrichtung zur sicheren Adressierung von dezentralen Prozesselementen unter Berücksichtigung der Anwendung von nicht explizit sicheren Standardkomponenten für Kommunikation und die Prozessdatenerfassung |
CN102340368B (zh) * | 2010-07-19 | 2014-07-02 | 中兴通讯股份有限公司 | 一种cpri链路误码监测方法、系统和装置 |
DE102016121019A1 (de) | 2016-11-03 | 2018-05-03 | Beckhoff Automation Gmbh | Verfahren zum Übertragen von Datenpaketen auf einer Datenübertragungsstrecke zwischen zwei Kommunikationsteilnehmern, Automatisierungssystem und Computerprogramm |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5251215A (en) * | 1992-01-13 | 1993-10-05 | At&T Bell Laboratories | Modifying check codes in data packet transmission |
DE19736434C3 (de) * | 1997-08-21 | 2002-08-22 | Nokia Mobile Phones Ltd | Verfahren und Vorrichtungen zur Erkennung der Position von in einem seriellen Datenempfangsstrom liegenden Datenpaketen |
TW436671B (en) * | 1998-03-25 | 2001-05-28 | Siemens Ag | Automation system |
US6609226B1 (en) * | 2000-04-10 | 2003-08-19 | Nortel Networks Limited | Networking device and method for making cyclic redundancy check (CRC) immune to scrambler error duplication |
-
2004
- 2004-09-16 DE DE102004044764A patent/DE102004044764B4/de not_active Expired - Fee Related
-
2005
- 2005-09-16 CN CNB2005800195475A patent/CN100498607C/zh active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102067561B (zh) * | 2008-04-22 | 2015-07-22 | 特拉斯特锡德公司 | 用于安全数据传输的方法和装置 |
CN101841388B (zh) * | 2009-03-18 | 2012-07-04 | 中国科学院沈阳计算技术研究所有限公司 | 一种用于数控总线的消息安全传输方法 |
CN102884744A (zh) * | 2010-05-03 | 2013-01-16 | 罗伯特·博世有限公司 | 用于保护有待于通过接口传输的数据包的方法和设备 |
US9491110B2 (en) | 2010-05-03 | 2016-11-08 | Robert Bosch Gmbh | Method and device for securing data packets to be transmitted via an interface |
CN102884744B (zh) * | 2010-05-03 | 2017-12-26 | 罗伯特·博世有限公司 | 用于保护有待于通过接口传输的数据包的方法和设备 |
CN107431691A (zh) * | 2015-08-25 | 2017-12-01 | 华为技术有限公司 | 一种数据包传输方法、装置、节点设备以及系统 |
Also Published As
Publication number | Publication date |
---|---|
DE102004044764B4 (de) | 2009-01-08 |
DE102004044764A1 (de) | 2006-03-30 |
CN100498607C (zh) | 2009-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7697538B2 (en) | Data transfer method and automation system used in said data transfer method | |
CN100498607C (zh) | 数据传输方法及使用此种数据传输方法的自动化系统 | |
US10193705B2 (en) | Method, communication network, and control unit for the cyclical transmission of data | |
KR20150100790A (ko) | 프로토콜 예외 상태를 이용하는 데이터 전송 | |
JP6463708B2 (ja) | 産業インターネットのフィールドレベルブロードバンドバスデータのディープインスペクションの実現方法 | |
US20200021611A1 (en) | Fraud detection method, fraud detection device, and recording medium | |
US20170242693A1 (en) | Safety monitoring device, network system and safety monitoring method | |
JP6121563B2 (ja) | プロトコル例外状態を用いたデータ伝送プロトコル | |
CN101167341A (zh) | 对现场总线安全用户的地址分配 | |
EP2889772B1 (en) | Serial link fault detection system and method | |
US7076715B2 (en) | Safety network using phantom address information | |
US11758024B2 (en) | Distributor node, automation network and method for transmitting telegrams | |
US20170139388A1 (en) | Method for operating safety control and automation network having such safety control | |
CN103957155A (zh) | 报文传输方法、装置及互联接口 | |
JP2015130668A (ja) | 送信システムエラー検出および訂正のシステムおよび方法 | |
CN105900360B (zh) | 用于监测通信网络中的第一节点的方法和监测系统 | |
CA2277560A1 (en) | Method of determining a uniform global view of the system status of a distributed computer network | |
US20060187932A1 (en) | Method and system for transmitting telegrams | |
KR20130064500A (ko) | 캔통신 시스템에서 메시지 송수신 시의 오류 복구 방법 | |
JP2019097088A (ja) | シリアル通信システム | |
US11290881B2 (en) | Method for functionally secure connection identification | |
CN114584575B (zh) | 船舶管理体系中的船岸通信方法及系统 | |
US9762353B2 (en) | Data packet for bidirectional transmission of data packets during data transmission between a first and a second communication appliance, and method for transmitting such a data packet | |
JP3850841B2 (ja) | データパケットの安全送信の監視方法および装置 | |
EP4231594A1 (en) | Relay device, communication network system and communication control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |