EP4635150A1 - Verfahren zum überwachen einer kommunikationsverbindung zweier direkt miteinander verbundener netzwerkknoten - Google Patents

Verfahren zum überwachen einer kommunikationsverbindung zweier direkt miteinander verbundener netzwerkknoten

Info

Publication number
EP4635150A1
EP4635150A1 EP23828345.1A EP23828345A EP4635150A1 EP 4635150 A1 EP4635150 A1 EP 4635150A1 EP 23828345 A EP23828345 A EP 23828345A EP 4635150 A1 EP4635150 A1 EP 4635150A1
Authority
EP
European Patent Office
Prior art keywords
signal propagation
propagation time
delay
message
value
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.)
Pending
Application number
EP23828345.1A
Other languages
English (en)
French (fr)
Inventor
Helge ZINNER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aumovio Germany GmbH
Original Assignee
Continental Automotive Technologies GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Continental Automotive Technologies GmbH filed Critical Continental Automotive Technologies GmbH
Publication of EP4635150A1 publication Critical patent/EP4635150A1/de
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Definitions

  • the present invention relates to communication networks with network nodes that are synchronized with one another in time.
  • the invention relates to a method for monitoring an Ethernet-based communication network, for example a communication network in a motor vehicle, and a network node set up to carry out the method, for example in the form of a control unit.
  • the method can be used, among other things, to monitor for errors in the communication network and/or for changes in the network topology. For this purpose, monitoring of a direct communication connection between two network nodes, for example designed as electronic control units, is provided.
  • Ethernet-based communication is based on the so-called OSI layer model, in which each layer is assigned certain tasks that must be performed by the entities (devices and software) of the respective layer for the communication to function.
  • OSI layer model in which each layer is assigned certain tasks that must be performed by the entities (devices and software) of the respective layer for the communication to function.
  • Each instance of a layer provides services in accordance with the standardized network protocol that an entity above it can use without having to worry about how and with what technical means the entity below it solves its tasks. Corresponding interfaces are defined between the various layers.
  • Fig. 1 schematically shows the known Ethernet-based communication, which is also used in the present invention, between two network nodes 1, 2 of a wired communication network 3, which are designed as control units, for example, and which operates in a network protocol according to the OSI layer model with a total of 7 layers I to VII.
  • the tasks to be performed by the individual layers are implemented in computing units of the network nodes 1, 2 (not shown separately) and are shown schematically in Fig. 1.
  • Layer I Physical Layer
  • Layer II Data Link Layer
  • Layer III Network Layer
  • Layer IV Transport Layer
  • Layer V Session Layer
  • Layer VI Presentation Layer
  • Layer VII Application Layer.
  • Layers III to VII are used to prepare the physically transmitted data and assign it to special applications that access the transmitted data via the Application layer (layer VII). These layers are of an organizational nature and have nothing to do with the physical transmission of data or data packets. Since these layers are not affected by the present invention, a description of the content of these layers known to the person skilled in the art is omitted.
  • Layer I PHY - Physical Layer
  • Layer I directly contains the tools for activating or deactivating the physical connection. This includes in particular devices and network components such as amplifiers, plugs, sockets for the network cable, repeaters, hubs, transceivers and the like.
  • This layer I is therefore used to physically address the transmission channel using suitable electrical, optical, electromagnetic or sound signals; in the case of wired Ethernet communication networks, these are usually electrical or electromagnetic signals.
  • the network interfaces required for physical communication are assigned to each network node and form layer I according to the OSI layer model.
  • Layer II of the OSI layer model is used to organize and control a largely error-free transmission and to regulate access to the transmission medium. This also includes data flow control between sender and receiver.
  • the data link layer is often divided into a media access control MAC (Medium Access Control) and a logical link control LLC (Logical Link Control).
  • the media access control MAC regulates how several computers share the shared physical transmission medium. To do this, it uses, among other things, the so-called MAC addresses of the communication participants, which are assigned to each network node as a participant in the communication network 3 as a unique identification.
  • the media access control MAC is managed by the logical link control LLC, which distributes incoming data in each transmission direction and coordinates access to the higher-level layers of the network control.
  • the tasks of the media access control MAC and the logical link control LLC define the so-called data link layer. (Layer II) is formed in which the various network participants can be identified in order to organize the network communication in a regulated manner.
  • This logical management is schematically integrated in Fig. 1 between the network nodes 1 and 2 in the line of the communication network 3 representing the physical connection.
  • the only control of the network nodes 1, 2 as participants in the communication network is therefore in the security view (layer II), for example through the unique MAC addresses for identifying the individual network participants, which is necessary for media access control.
  • layer II the security view
  • a network node 1, 2 has no knowledge of the other network nodes 2, 1 in the communication network 3, but only controls the physical communication at its interface to the communication network 3.
  • a large number of systems that are communicatively connected to one another via Ethernet connections can place particularly high demands on the reliability of the transmission and the temporal coordination of data packets.
  • safety-critical applications in vehicles e.g. the transmission of sensor and control information for driver assistance systems or autonomous driving, place high demands on the temporal coordination of data packets.
  • Even relatively small changes in signal propagation times can lead to a change in system behavior, e.g. because signals that are to be processed together or that must be present in a certain, closely coordinated time frame with other signals no longer match one another due to the change in signal propagation time. If the system behavior changes or is unpredictable, the reliability of the system can no longer be guaranteed.
  • time-synchronized network nodes will continue to increase in the future, partly because an increasing number of control units transmit sensor data from different sensors that are used to provide safety and Comfort functions are linked and evaluated.
  • a particularly important aspect of the fusion of sensor data is the temporal coherence of the sensor data. Depending on the application, it may be necessary to fuse sensor data that belong together to within milliseconds or microseconds, while in other applications a larger time interval between the recording times may be permissible. It is also conceivable that the recording times must belong together exactly in the range of nanoseconds.
  • data that was recorded when monitoring the operation of the vehicle and is only used for maintenance purposes or to document that the vehicle is operating correctly and in accordance with the regulations may also be subject to strict requirements for their correct recording and storage at the correct time.
  • Time synchronization of network nodes within an Ethernet network can be carried out using appropriate protocols so that a globally valid time base is available within the network.
  • Time synchronization in Ethernet networks is, for example, agreed in the IEEE 802.1 AS standard, which uses the Precision Time Protocol (PTP).
  • PTP Precision Time Protocol
  • PTP defines a master-slave clock hierarchy with a best clock within a network, also known as the grandmaster clock.
  • the time base of the other network nodes in this network is derived from this best clock, the grandmaster, which is determined using the Best Master Clock Algorithm (BMCA).
  • BMCA Best Master Clock Algorithm
  • Time synchronization messages are distributed across the network from the grandmaster.
  • PTP also defines a mechanism for measuring the signal propagation time on a connection, as well as a method for exchanging time information.
  • IEEE 802.1AS-capable network nodes cyclically send Announce messages with information about their internal clock to other directly connected network nodes.
  • the information about the internal clocks provides information about the accuracy of the respective clock, its reference or time reference, and other properties that can be used to determine the best clock in the network.
  • Such an Announce message is shown in Figure 2 a). shown as an example.
  • a recipient of such an announce message compares the information received with the characteristics of its own internal clock and possibly messages already received from another port with information on clocks at other network nodes, and accepts a clock in another network node if it has better clock parameters.
  • Each port of a network node is assigned one of four port states.
  • the master port state is assigned to the port that has a shorter path to the grandmaster than its link partner.
  • the slave state is assigned if no other port on this node has this state. Disabled is selected by the port that cannot fully support the PTP protocol.
  • the passive state is selected if none of the other three states apply.
  • the generalized Precision Time Protocol In a variant of PTP, the generalized Precision Time Protocol (gPTP), two network nodes always communicate directly with each other for time synchronization, and neither of the two network nodes simply forwards a received time synchronization message to another network node in the network. Instead, the network node corrects the time information before forwarding it by the previously determined signal propagation time on the connection over which it receives time synchronization messages from a directly connected network node, as well as by the internal processing time before it creates and forwards a new time synchronization message with the corrected time information.
  • Network nodes that support gPTP are also known as "time-aware systems".
  • the signal runtime on a connection between two network nodes can be determined using the Sync_Follow_Up mechanism, which is shown schematically in Figure 2 b).
  • the master ports cyclically send Sync and Follow_Up messages to the neighboring link partner, i.e. their slave ports.
  • a time stamp is generated, which is immediately transmitted in a subsequent FollowJJP message. This time stamp corresponds to the current time of the Grandmaster at the time the sync message was sent. From the difference in the reception time of the two messages, the receiver can determine the signal propagation time of the connection, and with this and the time of the Grandmaster Clock transmitted in the sync message, the receiver can then set its clock.
  • the so-called “peer delay mechanism” is used to determine the delay between two connected ports independently of time synchronization messages from the grandmaster clock. This is shown as an example in Figure 2 c).
  • a port the initiator, starts the measurement of the line delay by sending a Delay_Request message to the port of a network node directly connected to it, the responder.
  • a transmission time stamp with the time t1 is generated and inserted into the message so that this transmission time stamp t1 defines the actual transmission time to a good approximation.
  • the responder When the message arrives, the responder generates a reception time stamp t2. In response, the responder sends a Delay_Response message to the initiator.
  • this message transmits the reception time stamp t2 of the Delay_Request message. If this message leaves the responder, it generates a transmission time stamp t3, which is sent to the initiator in an immediately following Delay_Response_Follow-Up message.
  • the initiator receives the Delay_Response message, it generates a reception time stamp t4.
  • the initiator can calculate the average runtime on the communication link from the four time stamps t1 to t4. Since the runtime on a connection link can vary depending on the direction, Delay_Request messages are sent independently by both communication partners.
  • These measurements can be carried out cyclically, ie at predetermined time intervals of, for example, 100 ms up to several seconds or minutes. Even with a time interval of around one second, the network is not heavily loaded, so that even a measurement at these relatively short time intervals is not a problem for the operation of the network. It may be useful to carry out such signal propagation time measurements between all network nodes 1, 2 of the communication network 3 that are in communication connection with one another, preferably as a direct signal propagation time between two network nodes 1, 2.
  • test access point or a switch or bridge is usually inserted into the network connection between the two devices.
  • a tap 4 e.g. a TAP
  • PHY physical interfaces
  • Such a TAP 4 is simply looped into the existing line connection, copies the data information or data packets bit by bit as the data stream passes through, without analyzing their content, and outputs the copied data information via another interface.
  • the physical data stream is simply forwarded unchanged.
  • the network analyzer 4 therefore does not appear in the communication network 3.
  • the Data link layer (layer II of the OSI layer model) of network nodes 1 and 2 have no knowledge of the existence of this network analyzer 4.
  • switches or bridges in a connection between network nodes to monitor communication has an even greater impact on communication than a TAP. Even if a switch or bridge, like a TAP, does not have a direct address, it causes a large delay, among other things because of the possibility of storing data before forwarding it, and also takes part in Layer 2 communication.
  • a disrupted or failed time synchronization can lead to one or more network nodes switching from the original operating mode to another operating mode, e.g. an error operating mode, and the intended permissible interception of the communication of the original operating mode of the network node or system cannot take place. This may no longer ensure safe operation and also makes troubleshooting considerably more difficult.
  • Inserting TAPs or switches or bridges into a network connection can also be done for reasons other than troubleshooting, for example to eavesdrop on communication in the network without authorization and to identify vulnerabilities that can be used to deliberately change the system behavior without authorization.
  • This approach can be used in particular in systems that are used in large numbers in identical fashion. An attacker only needs to gain access to one of the systems and, after analyzing and finding a vulnerability, can specifically attack any of the other systems.
  • a static communication network e.g. that of a motor vehicle, in which the network topology does not change unless the network is modified by a permissible or impermissible intervention
  • One option that can be used in this context to measure the signal propagation times between network nodes is the method described with reference to Figure 2 c).
  • the use of average runtimes determined in a system before any intervention on connections between two network nodes requires that these runtimes are stored in each network node for each direct connection to other network nodes.
  • the measurement of the runtimes must be repeated cyclically at intervals that are not too short in order to be able to detect even short-term interventions. This can lead to an increased communication load on the network connection on a cyclic basis, which means that particularly time-critical messages may reach their destination with a delay.
  • a first part of this object is achieved according to the invention by a method having the features of claim 1.
  • a further part of the object is achieved by the method of claim 8.
  • Yet another part is achieved by the network node specified in claim 11. Further developments and embodiments of the method are specified in the respective dependent claims.
  • a limit value of a parameter of the direct connection between the two network nodes must first be determined, which is exceeded when the direct connection is intruded upon and which can be used as a reliable indication of the presence of an intrusion.
  • One such parameter is, for example, the signal propagation time on the direct connection, since the signal propagation time is increased when a TAP or a switch or a bridge is inserted, as is required for active intrusion into the direct connection.
  • This parameter cannot be queried from a network node, nor is it available for retrieval in a database or the like.
  • the parameter can be different for each link and each link type.
  • the term "direct connection" refers to a direct physical connection between two network nodes, i.e. without any other network nodes in between.
  • a method for determining a limit value of the signal propagation time of a direct connection between two network nodes firstly comprises determining the signal propagation time on the direct connection at a time when there is no interference with the direct connection between two directly connected network nodes of a system. This can be done, for example, using the peer-delay-X/ method known from the IEEE 802.1 AS standard, whereby the measurement can be carried out in one or both directions.
  • the signal propagation time can also be determined by reading from a database or a configuration memory if the signal propagation time was previously determined and does not change over time. Other methods for determining the signal propagation time are conceivable and known to those skilled in the art.
  • a sending time stamp is added or assigned at least in the sender.
  • a receiving time stamp can be added or assigned to the first type of message in the receiver.
  • the time stamp(s) in the first type of message can be used to check the signal propagation time at the physical level.
  • the first type of message can also trigger a response from the receiver, so that a check of the signal propagation time is also possible in the sender of the message.
  • the first type of message can be a message from the class of event messages specified in the IEEE 8201 .AS standard, eg also a peer-cfe/ay message.
  • the message Before the previously initiated message of the first type provided with the transmission time stamp is sent via the physical layer, it is delayed by a first transmission delay value. Additionally or alternatively, the message can be delayed by a first reception delay value after being received on the physical layer and before the reception time stamp is set. The first reception delay value can be dependent on or independent of the first transmission delay value.
  • At least some messages from the event message class specify that if the signal propagation time on the direct connection exceeds a predetermined value, a variable that previously signaled that the signal propagation time on the direct connection was not exceeded is changed.
  • the predetermined value is, for example, a value specified in the IEEE 802.1 AS standard via the meanLinkDelayThresh variable.
  • the variable is, for example, the asCapableAcrossDomains or asCapable flag from the IEEE 802.1AS standard, which is used during the time synchronization of the system's network nodes and indicates the ability of a network port to perform time synchronization in accordance with the standard.
  • the status of the port is communicated, among other things, during time synchronization, so that the change is made known to all other network nodes within a short time due to the cyclical transmission of time synchronization messages.
  • the method includes checking whether the signal propagation time has exceeded a predetermined value. This can be done, for example, by comparing the transmission time specified in the transmission time stamp with the synchronized system time of the receiver, by comparing the transmission time with the reception time sent back by the receiver to the transmitter in a response message, by evaluating the asCapableAcrossDomains or asCapable flags of the IEEE 802.1 AS standard, by evaluating the port states or other methods known to those skilled in the art.
  • the sending of another message of a first type is initiated via the direct connection, whereby the delay after setting the time stamp and before the actual transmission on the physical layer is increased compared to the previously set value. It is then checked again whether the signal propagation time has exceeded the predetermined value. The initiation and delayed sending is repeated with a delay that is increased compared to the previous sending process until the signal propagation time has exceeded the predetermined value. The last delay value is then output and/or saved as the determined limit value for the direct connection at which the signal propagation time has not yet exceeded the predetermined value. If delay values are set separately for both sending and receiving, the last delay values are saved as the determined limit values. Storage can take place locally or in an external database.
  • the determination of the limit between the two directly connected network nodes can be done in both directions.
  • the transmission is repeated with the previously set delay for a previously set number of attempts or repetitions. If the signal propagation time has exceeded the predetermined value in all attempts or repetitions in succession, the method proceeds to the next step. If the signal propagation time exceeds the predetermined value before reaching the previously set delay, the transmission is repeated with the previously set delay for a previously set number of attempts or repetitions. If the signal delay falls below the predetermined value after the specified number of attempts or repetitions, this repetition phase is restarted, with the sending and checking taking place with a longer delay than the previously set value.
  • a delay value which, due to the smallest deviations occurring in normal operation, leads to the predetermined signal delay time either being exceeded or not being reached can be reliably detected.
  • a value which is at the limit can be specifically used or omitted when the limit value for the signal delay time is used later, depending on the application, particularly if the delay can only be set in discrete steps which have a certain minimum size.
  • the value or values for the delay can be reduced again and the test for exceeding the signal propagation time can be carried out again. The reduction and test are repeated if necessary until the signal propagation time is below the predetermined value.
  • a repetition phase with the previously set delay can be used to check whether the signal propagation time is below the predetermined value in a previously defined number of attempts or repetitions in a row and if necessary the repetition phase can be restarted with a further reduced delay.
  • a message of the first type to which a transmission time stamp is added or assigned in the transmitter and/or a reception time stamp in the receiver, can be sent without delay.
  • the methods for time synchronization according to The IEEE 802.1AS standard can compensate for the failure of up to two consecutive synchronization messages. Only if three consecutive synchronization messages are missing would the system's time synchronization be disrupted or re-initiated, network nodes would go into error mode or show other effects that result in a change in the operation of the system.
  • the delay for delayed sending can be added, for example, by encrypting at least the messages of the first type on the physical layer, i.e. on the physical connection, after setting the time stamp and before the then encrypted data bits are actually transmitted over the communication medium.
  • the MACsec mechanism known from IEEE 802.1AE can be used, for example.
  • the MACsec mechanism supports a method for securing the integrity of the transmitted data and, on the other hand, encrypting the data.
  • the sender appends an 8-byte header and a 16-byte tail, which are checked by the receiver to ensure the integrity of the data.
  • a delay which depends among other things on the number of data bits encrypted in each block, occurs before the message is actually transmitted to the receiver.
  • the number of bits or octets of the message to be transmitted can be increased considerably, so that the increased amount of data to be transmitted through encryption also leads to an additional delay.
  • different delays can be set by using different encryption parameters. For example, the use of GCM-AES-128 encryption can result in a shorter delay than the use of GCM-AES-256 encryption. If only a short delay is required, the method can be used to ensure integrity without encrypting the data.
  • any other message can be sent encrypted and/or with additional bytes to ensure integrity. Since in both cases the amount of data to be sent is increased and the corresponding processing may require additional time, the sending of the subsequent message of the first type is delayed accordingly after the send time stamp has been set in the sender's flow control buffer. In the same way, the received message of the first type is stored in the receiver buffer until the message sent before it has been decrypted, so that the use of the MACsec mechanism also delays the setting of the receive time stamp and the signal propagation time visible to the network nodes is extended. Since a response to an encrypted message is also encrypted, the signal propagation time can be significantly extended when the peer delay method described with reference to Figure 2 c) is used.
  • the determination of the limit value for the signal propagation time does not have to be repeated at short intervals. In order to take account of the aging of electronic components in the system of network nodes, it is sufficient to repeat the determination of the limit value at longer intervals.
  • messages of the first type are initiated cyclically or at irregular intervals, to which the transmission time is added or assigned in the transmitter, for example a transmission time stamp, and/or for which the receiver logs the reception time, for example by means of a reception time stamp.
  • the transmission time stamp is added or assigned in the transmitter
  • the receiver logs the reception time, for example by means of a reception time stamp.
  • the messages of the first type are delayed by a time specified in the previously described The delay is then delayed by a limit value determined by the method or by limit values determined in the previously described method for the signal propagation time on the direct connection.
  • the signal propagation time is checked whether the signal propagation time has exceeded a predetermined value. If the signal propagation time has exceeded the predetermined value, the exceedance is signaled. This makes it possible to detect interventions in the direct connection between the two network nodes and to take action accordingly.
  • the extension of the signal propagation time set by the delay is expediently selected so that on the one hand the predetermined value of the signal propagation time is reliably not exceeded, but even a small additional extension of the signal propagation time leads to an exceedance.
  • the role of the sending and receiving network node can also change repeatedly in this aspect of the invention, since the messages of the first type can be sent cyclically and bidirectionally, i.e. in every direction of communication between the two network nodes. Monitoring is expediently carried out cyclically, i.e. at predetermined or predeterminable time intervals, so that changes can be reliably detected.
  • the network node executing the procedure can communicate this to the affected system components at a higher communication level in the OSI layer model. This means that, if necessary after a further check to see if the intervention is permissible, an adjustment can be triggered to enable the system to continue operating without exceeding the predetermined value of the signal propagation time.
  • the system or at least one of the network nodes in response to the signaling of the exceedance of the limit value, is put into an error mode in which, for example, safety-relevant functions are carried out in a particularly secure manner or are switched off.
  • a network node operating in an error mode can notify other network nodes of the system of its operation in an error mode via the network.
  • the delay of at least the messages of the first type can be reduced to a reduced value at which the signal propagation time does not exceed a predetermined value.
  • the method according to the first aspect of the invention can optionally be used to determine this reduced value.
  • a system behavior can be restored that is no different from the system behavior before the signaling of the exceedance of the limit value.
  • a network node comprises one or more processors, volatile and non-volatile memory associated with it or these, and a physical network interface communicatively connected to the one or more processors and set up to send and/or receive data via a communication medium shared by several network nodes.
  • the elements of the network node are communicatively connected to one another by means of one or more data lines or buses.
  • the non-volatile memory stores computer program instructions which, when executed by the at least one processor, set up the network node to carry out one or more embodiments of the method according to the invention.
  • a system in particular a vehicle system, comprises one or more network nodes, each networked via a direct connection.
  • at least one of the network nodes is set up to carry out at least one embodiment of the method according to the invention described above.
  • a computer program product contains instructions which, when executed by a computer, cause the computer to carry out one or more embodiments and further developments of the method described above.
  • the computer program product can be stored on a computer-readable medium or data carrier.
  • the medium or data carrier can be physically embodied, for example as a hard disk, CD, DVD, flash memory or the like, but the medium or data carrier can also comprise a modulated electrical, electromagnetic or optical signal that can be received by a computer by means of a corresponding receiver and stored in the computer's memory.
  • the methods described above and the network nodes executing the method can advantageously be implemented without changes to existing hardware and can be integrated into existing networks accordingly, since the protocols already used do not have to be changed and the function of the network in normal operation, ie without inadmissible interference with at least one direct connection between two network nodes, is not impaired by inadmissible exceedances of the signal propagation time. Since the integrity of the direct connections is monitored during operation, the operational reliability of systems, e.g. sensor networks and control units that control and execute actions based on sensor data, can be increased, e.g. in vehicles with a high degree of driver assistance or autonomous vehicles. Unauthorized interventions in one or more direct connections between two network nodes can be quickly detected and appropriate measures can be taken more quickly to restore safe operation or to switch to a safe operating mode.
  • a signal propagation time map of the communication network can be created in which the time reserves of the respective connections between two network nodes are entered. This information cannot normally be easily queried from a network node, either because no query is implemented for this purpose or the implementation is not disclosed. Nevertheless, the method according to the invention can be used to identify, among other things, connections into which network analyzers or diagnostic devices can be looped. In the case of such permissible intervention in one or more direct connections between two network nodes, a signal propagation time increased by the intervention, which is then above a predetermined value, can be brought back into a range that is below the predetermined value by reducing the delay at the transmitter and/or receiver accordingly.
  • the method described above and the network nodes executing the method can be used platform-independently and therefore flexibly due to the simple and lean implementation and the use of resources already available in standards.
  • the type of monitoring proposed in accordance with the invention also helps to eliminate additional complex and/or computationally intensive security protocols. This reduces the load on the communications network as a whole.
  • Fig. 1 schematically shows the communication process between two network nodes of an Ethernet-based communication network according to the OSI layer model
  • Fig. 2 Swim-lane diagrams of exemplary messages used for time synchronization and measurement of signal propagation times
  • Fig. 3 schematically shows the physical and logical communication paths between two network nodes before and after the interposition of a TAP
  • Fig. 4 is a schematic flow diagram of a method for determining a limit value for the signal propagation time of two directly connected network nodes
  • Fig. 5 is an exemplary schematic flow diagram of a method for determining a limit value for the signal propagation time of two directly connected network nodes during operation of a system in a first operating mode, without the operation of the system or the network nodes in the first operating mode being disrupted in an uncorrectable or uncompensable manner when determining the upper limit value of the signal propagation time or one of the network nodes of the system being placed in a second operating mode,
  • Fig. 6 shows an exemplary block diagram of a network node with a microprocessor pP and a typical physical Ethernet interface PHY
  • Fig. 7 is a schematic flow diagram of a method according to the invention for monitoring the operation of a system with two or more network nodes that are directly connected to each other,
  • Fig. 8 is a schematic flow diagram of an exemplary application of an aspect of the invention in a system with two or more network nodes that are directly interconnected, and
  • Fig. 9 is an exemplary block diagram of a network node configured to carry out one or more aspects of the method according to the invention.
  • FIG 4 shows a schematic flow diagram of a basic method 100 for determining a limit value for the signal propagation time of two directly connected network nodes.
  • the signal propagation time is first measured in a first operating mode.
  • the first operating mode is, for example, normal operation of the two network nodes in their system context. The measurement can be carried out several times in succession in order to filter out smaller fluctuations or deviations that can occur during normal operation by averaging or the like.
  • the sending of a message of a first type from a first of the two network nodes to the second of the two network nodes is initiated.
  • step 106 Before the message is actually sent via the communication medium, it is delayed by a delay value in step 106.
  • step 108 it is then checked whether the signal propagation time of the message is below a predetermined value despite the delay, so that the message can be processed by the receiving network node without changing an operating mode or an operating parameter of the receiving network node. If this is the case, "yes" branch of step 108, the sending of further messages of the first type is initiated from the first of the two network nodes to the second of the two network nodes, wherein these further messages of the first type are delayed by a delay value that is greater than the respective previous delay value of the previous message.
  • a limit value for the signal propagation time is determined, or at least a limited range within which the limit value lies.
  • the limit value lies in a range, the lower end of which is determined by the sum of the first in step 102 Signal propagation time and the last set delay value at which the signal propagation time of the message is below a predetermined value despite the delay, so that the message can be processed by the recipient network node without changing an operating mode or an operating parameter of the recipient network node.
  • the upper end of the range is marked by the sum of the signal propagation time first determined in step 102 and the delay value at which the signal propagation time of the message is above a predetermined value for the first time due to the delay, so that the message cannot be processed by the recipient network node without changing an operating mode or an operating parameter of the recipient network node.
  • the limit value or range determined according to the method described above, or a value selected from this range, can then be stored locally and/or output in step 114.
  • Figure 5 shows an exemplary schematic flow diagram of a method 500 for determining a limit value for the signal propagation time of two network nodes that are directly connected to one another during operation of a system in a first operating mode, without the operation of the system or the network nodes in the first operating mode being disrupted in an uncorrectable or uncompensable manner when determining the upper limit value of the signal propagation time or one of the network nodes of the system being put into a second operating mode.
  • the method according to the invention uses the knowledge that certain messages of the first type do not lead to a disruption of operation if a predetermined value for the signal propagation time is exceeded by no more than a predetermined number of consecutive messages.
  • step 104 the sending of a message of a first type from a first of the two network nodes to the second of the two network nodes. Before the message is actually sent over the communication medium, it is delayed by a delay value in step 106. In step 108, it is then checked whether the signal propagation time of the message is below a predetermined value despite the delay, so that the message can be processed by the receiving network node without changing an operating mode or an operating parameter of the receiving network node.
  • step 110 a check is made in step 110 to see whether a longer delay can be set for messages to be sent. If this is possible (“yes” branch of step 110), a longer delay is selected in step 112 and the process is repeated starting with step 104. The setting of a modified delay is indicated by the dashed arrow from step 112 to step 106. If a longer delay cannot be set for messages to be sent (“no” branch of step 110), this greatest possible delay is assumed as the limit value and stored and/or output in step 114.
  • step 108 If the test in step 108 shows that the signal propagation time is above the predetermined value (“no” branch of step 108), the signal propagation time of the direct connection is determined for this delay in step 116, and the delay is deactivated again in step 118. Then, in step 120, another message of the first type is sent so that an error counter that may have been incremented previously due to the signal propagation time being exceeded is reset or so that the system can compensate for or correct this exceeding of the signal propagation time in another way. Then, in step 122, a check is made as to whether a reduced delay can be set that is below the last delay set but above a delay set before this. If this is not the case (“no” branch of step 122), the delay value that led to the predetermined value being exceeded is assumed to be the limit value and stored and/or output in step 114.
  • step 122 If the check in step 122 shows that a reduced delay can be set, but which is higher than the delay set before last, “yes” - branch of step 122, it is selected in step 112 and the process is repeated starting with step 104.
  • Figure 6 shows an example block diagram of a network node 600 with a microprocessor pP and a typical physical Ethernet interface PHY.
  • the figure shows in particular at which point within the PHY a transmission time stamp is added or assigned to a message, and at which points the message can subsequently be delayed.
  • the microprocessor pP communicates with the PHY via an interface, the implementation of which can be parallel or serial, and which is usually different from the Ethernet transmission medium.
  • a media-independent interface Mil Media Independent Interface
  • the media-independent interface Mil receives messages from the MAC of the data link level, layer II of the OSI layer model, for transmission via the transmission medium, or forwards received messages to the MAC.
  • a message to be sent which was received at the media-independent interface Mil and is essentially available as raw data, is subjected to channel coding in a physical coding sublayer PCS before it is actually sent.
  • Channel coding is used to protect digital data against transmission errors when transmitted over faulty channels by adding redundancy.
  • Channel coding adds redundancy to the data at the input of a transmission channel and decodes the data at its output. If the additional information only indicates an error and requires the data to be retransmitted, this is referred to as backward error correction. If the redundancy information is sufficient to correct the error, this is forward error correction.
  • Efficient channel coding increases the signal-to-noise ratio without changing the bit error rate. Depending on the channel coding method, the code gain can be several dB.
  • a small rate, ie, the larger n at the same k means a higher proportion of code symbols in the transmitted symbols, thus a lower data transmission rate.
  • a channel code with a lower code rate can correct more errors than a comparable channel code with a high code rate - so a trade-off between data transmission rate and error correction capability is possible.
  • Received data is processed accordingly in reverse order by the blocks mentioned above.
  • TSU time stamp unit
  • the protocols defined in IEEE 802.1AE for confidential and secure data transmission also known as MACsec, make it possible to encrypt or decrypt data before sending or after receiving via the communication medium. Encryption takes place between setting the time stamp and before channel coding, among other things so that the time stamp is also protected by encryption and no conclusions can be drawn from the analysis of time stamps.
  • the adjustable delay of the messages required for the method according to the invention after setting the respective time stamp can therefore only take place in one or more of the MACsec, PCS or PMA blocks. Due to the predominantly analog structure of this block, setting a delay in the PMA block does not appear to be possible or only possible to an extremely limited extent, which would not be sufficient for the purposes of the invention.
  • setting a delay in the PCS block appears to be entirely possible, for example by selecting a suitable code rate for channel coding, by means of which the amount of data transmitted on the communication medium can be varied, so that a longer transmission time for a data packet of fixed size, i.e. an additional delay, can be achieved simply by the increased amount of data at a small code rate R compared to a large code rate R.
  • a particularly suitable block for setting a delay after setting the time stamp and before sending over the communication medium is the MACsec block.
  • either the message itself can be encrypted and/or a message of any type sent immediately before the message of the first type can be encrypted. Since the encryption of a message sent before the message of the first type increases its data volume, subsequently sent messages must be delayed accordingly in the flow control buffer of the PHY. Thus, by appropriately selecting the message to be encrypted, if necessary its length, and the encryption method, a delay of at least Messages of the first type can be set in a range from a few hundred nanoseconds to a few microseconds.
  • the appropriate method in each case i.e. encryption of a message sent immediately before a message of the first type, choice of encryption method, choice of key length, choice of the length of the message to be encrypted, encryption (also) of the message of the first type as well as the key to be used in each case, its length and the encryption method to be used may depend on the transmission speed of the connection.
  • FIG. 7 shows a schematic flow diagram of a method 700 according to the invention for monitoring the operation of a system with two or more network nodes that are each directly connected to one another.
  • a limit value for the signal propagation time on a direct connection between two network nodes to be monitored is determined.
  • the limit value can be read from a memory.
  • the sending is delayed by a delay value at which the predetermined value for the signal propagation time is reliably just not exceeded.
  • step 104 the sending of a message of the first type from a first of the two network nodes to the second of the two network nodes is initiated during operation of the system.
  • the message Before the message is actually sent via the communication medium, it is delayed by a delay value in step 106.
  • step 108 it is then checked whether the signal propagation time of the message is below the predetermined value for the signal propagation time despite the delay, so that the message can be processed by the receiving network node without changing an operating mode or an operating parameter of the receiving network node. If this is the case, "yes" branch of step 108, the method is repeated starting with step 104 without changing the delay value set in step 702, whereby the repetition can take place cyclically or at irregular intervals.
  • the control required for this in each case is provided by the between steps 108 and 104.
  • the control can be of a conventional type and use a timer or a (pseudo-)random generator, or an external trigger that reacts to a change in an environmental or system variable or the like.
  • step 108 If the check in step 108 shows that the signal propagation time of the message is above the predetermined value due to the delay, so that the message cannot be processed by the receiving network node without changing an operating mode or an operating parameter of the receiving network node, "no" branch of step 108, an additional delay in the signal propagation time must have been inserted into the direct connection between the two network nodes, or there is another change or disturbance.
  • the exceedance of the predetermined value of the signal propagation time is signaled in step 704, whereupon at least the network node carrying out the method can initiate further steps or measures.
  • the monitoring described above can therefore detect an intervention in a direct connection between two network nodes, which results in an extension of the signal propagation time.
  • FIG. 8 shows a schematic flow diagram of a method 800 of an exemplary application of an aspect of the invention in a system with two or more network nodes that are directly interconnected.
  • it is to be determined on which direct connections between two network nodes the communication between these network nodes can be recorded and evaluated without the necessary insertion of a TAP or Switches or a bridge result in the operation of the system or the network nodes being disrupted in a way that cannot be corrected or compensated for, or one of the network nodes of the system being put into a second operating mode.
  • step 802 the extension of the signal propagation time caused by the inserted TAP or switch or the bridge is determined.
  • step 804 a method is determined by means of which a corresponding delay of messages to be sent can be set in the PHY of a network node of the system. It is then verified whether, even with the added delay in the connection between two network nodes, the operation of the system in the previously set operating mode is still possible, or whether none of the network nodes changes to an operating mode other than the previously used operating mode. If this is the case, i.e. operation is possible without changes, a measuring device, TAP or switch or a bridge with a corresponding delay can be looped into this connection. The verification can be carried out, for example, using the method described with reference to Figure 5. This method can therefore be used to identify those connections in a system where a signal propagation time extended by an intervention can be compensated for without actually having to carry out the intervention.
  • a monitoring method is carried out in the network nodes of the system as described with reference to Figure 7, the method described above can also be used.
  • a minimal further extension of the signal propagation time will result in the predetermined value for the signal propagation time being exceeded.
  • this can be compensated by a corresponding reduction in the delay set for normal operation.
  • FIG. 9 shows an exemplary block diagram of a network device 900 configured to carry out one or more aspects of the method according to the invention.
  • the network device 900 comprises a microprocessor 902, volatile and non-volatile memory 904, 906 and one or more communication interfaces 908.
  • the elements of the network device are communicatively connected to one another via one or more data links or buses 910.
  • the non-volatile memory 906 contains computer program instructions which, when executed by the microprocessor 902, configure the network device to carry out at least one embodiment of the method according to the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

Ein Verfahren zur Erkennung eines Eingriffs in eine direkte Verbindung zweier Netzwerkknoten eines Systems während des Betriebs, umfasst das zyklische oder in unregelmäßigen Abständen wiederholte Initiieren von Nachrichten eines ersten Typs, denen im Sender ein Sendezeitstempel und/oder im Empfänger ein Empfangszeitstempel hinzugefügt bzw. zugeordnet wird. Die Nachrichten werden nach dem Setzen des Zeitstempels und vor dem Senden der Nachricht über die Bitübertragungsschicht und/oder nach dem Empfangen der Nachricht über die Bitübertragungsschicht und vor dem Setzen des Empfangszeitstempels um einen zuvor ermittelten Grenzwert bzw. zuvor ermittelte Grenzwerte für die direkte Verbindung verzögert. Anschließend wird geprüft, ob die Signallaufzeit einen vorbestimmten Wert überschritten hat, und eine Überschreitung wird signalisiert.

Description

BESCHREIBUNG
VERFAHREN ZUM ÜBERWACHEN EINER KOMMUNIKATIONSVERBINDUNG ZWEIER DIREKT MITEINANDER VERBUNDENER NETZWERKKNOTEN
FELD
Die vorliegende Erfindung betrifft Kommunikationsnetzwerke mit miteinander zeitsynchronisierten Netzwerkknoten. Insbesondere betrifft die Erfindung ein Verfahren zur Überwachung eines Ethernet-basierten Kommunikationsnetzwerks, bspw. eines Kommunikationsnetzwerkes in einem Kraftfahrzeug, sowie einen zur Durchführung des Verfahrens eingerichteten Netzwerkknoten, beispielsweise in Form eines Steuergeräts. Das Verfahren kann u.a. zur Überwachung auf Fehler in dem Kommunikationsnetzwerk und/oder auf Änderungen der Netzwerktopologie genutzt werden. Dazu ist eine Überwachung einer direkten Kommunikationsverbindung zwischen zwei bspw. als elektronische Steuergeräte ausgebildeten Netzwerkknoten vorgesehen.
HINTERGRUND
In vielen Bereichen der Technik kommuniziert eine Vielzahl von Steuergeräten oder Computern über Netzwerke miteinander. In bestimmten Anwendungsfällen ist es erforderlich, diese Netzwerkknoten miteinander zeitlich zu synchronisieren, bspw. in vernetzen Multimediasystemen, die Medieninhalte zeitlich synchronisiert wiedergeben sollen, oder in Systemen, in denen eine Vielzahl miteinander vernetzter Sensoren Sensordaten an eine Verarbeitungseinheit senden, welche zeitlich zueinander passende Sensordaten auswertet und daraus Steuersignale für das System generiert.
Ein Anwendungsbeispiel für letzteren Anwendungsfall ist das teilautomatisierte bzw. hochautomatisierte Fahren, bei dem die Fahrzeugumgebung sowie Fahrzeugzustände repräsentierende Sensorsignale in Echtzeit oder Quasi-Echtzeit ausgewertet werden, um daraus u.a. Steuersignale für den sicheren Betrieb des Fahrzeugs abzuleiten. Die Verarbeitung von Sensorsignalen einer Vielzahl von Sensoren auch unterschiedlicher Art wird auch als Sensorfusion bezeichnet. Auch in Fahrzeugen werden zunehmend Ethernet-Technologien eingesetzt und ersetzen dort ältere bzw. proprietäre Datenverbindungen und -busse. Die Ethernet-basierte Kommunikation erfolgt nach dem sogenannten OSI-Schichtenmodell, in dem jeder Schicht bestimmte Aufgaben zugewiesen werden, die durch die Instanzen (Geräte und Software) der jeweiligen Schicht für das Funktionieren der Kommunikationen geleistet werden müssen. Dabei stellt jede Instanz einer Schicht entsprechend dem normierten Netzwerkprotokoll Dienste zur Verfügung, die eine darüber liegende Instanz nutzen kann, ohne sich darum kümmern zu müssen, auf welche Weise und mit welchen technischen Mitteln die darunterliegende Instanz die ihr obliegenden Aufgaben löst. Zwischen den verschiedenen Schichten sind als entsprechende Schnittstellen definiert.
In Fig. 1 ist schematisch die bekannte, aber auch bei der vorliegenden Erfindung angewendete Ethernet-basierte Kommunikation zwischen zwei beispielsweise als Steuergeräte ausgebildeten Netzwerkknoten 1 , 2 eines kabelgebundenen Kommunikationsnetzwerks 3 dargestellt, die in einem Netzwerkprotokoll nach dem OSI- Schichtenmodell mit insgesamt 7 Schichten I bis VII arbeitet. Die von den einzelnen Schichten zu übernehmenden Aufgaben sind in nicht gesondert dargestellten Recheneinheiten der Netzwerkknoten 1 , 2 implementiert und in Fig. 1 schematisch dargestellt.
Nach dem an sich bekannten OSI-Schichtmodell werden die Schichten wie folgt bezeichnet:
Schicht I: Bitübertragungssicht (Physical Layer), Schicht II: Sicherungsschicht (Data Link Layer), Schicht III: Vermittlungsschicht (Network Layer), Schicht IV: Transportschicht (Transport Layer) Schicht V: Sitzungsschicht (Session Layer), Schicht VI: Darstellungsschicht (Presentation Layer), Schicht VII: Anwendungsschicht (Application Layer).
Die Schichten III bis VII dienen der Aufbereitung der physisch übertragenen Daten und ihrer Zuordnung zu speziellen Anwendungen, die auf die übertragenen Daten über die Anwendungsschicht (Schicht VII) zugreifen. Diese Schichten sind organisatorischer Art und haben mit der physischen Übertragung der Daten bzw. Datenpakete nichts zu tun. Da diese Schichten von der vorliegenden Erfindung nicht betroffen sind, wird auf eine Beschreibung des dem Fachmann bekannten Inhalts dieser Schichten verzichtet.
Die eigentliche Datenübertragung findet in den Schichten I und II statt. Die Schicht I (PHY - Physical Layer; Bitübertragungsschicht) beinhaltet direkt die Hilfsmittel zur Aktivierung bzw. Deaktivierung der physischen Verbindung. Hierzu zählen insbesondere Geräte und Netzkomponenten wie Verstärker, Stecker, Buchsen für das Netzwerkkabel, Repeater, Hub, Transceiver und dergleichen. Diese Schicht I dient also dem physikalischen Ansprechen des Übertragungskanals durch geeignete elektrische, optische, elektromagnetische oder Schallsignale, im Falle der leitungsgebundenen Ethernet- Kommunikationsnetzwerke handelt es sich üblicherweise um elektrische bzw. elektromagnetische Signale. Die für die physische Kommunikation notwendigen Netzwerkschnittstellen sind jedem Netzwerkknoten zugeordnet und bilden die Schicht I gemäß dem OSI-Schichtenmodell.
Die als Sicherungs- oder auch Verbindungsschicht bezeichnete Schicht II des OSI- Schichtmodells dient der Organisation und Steuerung einer weitestgehend fehlerfreien Übertragung und der Regelung des Zugriffs auf das Übertragungsmedium. Hierbei wird auch eine Datenflusskontrolle zwischen Sender und Empfänger realisiert. Logisch wird die Sicherungsschicht häufig in eine Medienzugriffssteuerung MAC (Medium Access Control) und eine logische Verbindungssteuerung LLC (Logical Link Control) unterteilt. Die Medienzugriffssteuerung MAC regelt, wie sich mehrere Rechner das gemeinsam genutzte physikalische Übertragungsmedium teilen. Hierzu verwendet sie u. a. die sogenannten MAC-Adressen der Kommunikationsteilnehmer, die als eindeutige Identifikation jedem Netzwerkknoten als Teilnehmer an dem Kommunikationsnetzwerk 3 zugeordnet sind. Die Medienzugriffssteuerung MAC wird von der logischen Verbindungssteuerung LLC verwaltet, welche eingehende Daten in jede Übertragungsrichtung verteilt und den Zugriff auf die übergeordneten Schichten der Netzwerksteuerung koordiniert. Durch die Aufgaben der Medienzugriffssteuerung MAC und der logischen Verbindungssteuerung LLC wird die sogenannte Sicherungsschicht (Schicht II) gebildet, in der die verschiedenen Netzwerkteilnehmer identifizierbar sind, um die Netzwerkkommunikation geregelt zu organisieren. Diese logische Verwaltung ist in Fig. 1 zwischen den Netzwerkknoten 1 und 2 in der die physische Verbindung repräsentierenden Linie des Kommunikationsnetzwerks 3 schematisch eingebunden.
Die einzige Kontrolle der Netzwerkknoten 1 , 2 als Teilnehmer an dem Kommunikationsnetzwerk ergibt sich also in der Sicherungssicht (Schicht II), beispielsweise durch die eindeutigen MAC-Ad ressen zur Identifikation der einzelnen Netzwerkteilnehmer, die für die Medienzugriffssteuerung notwendig ist. In der Bitübertragungsschicht (Schicht I) hat ein Netzwerkknoten 1 , 2 keine Kenntnis von den jeweils anderen Netzwerkknoten 2, 1 in dem Kommunikationsnetzwerk 3, sondern steuert nur die physische Kommunikation an seiner Schnittstelle zu dem Kommunikationsnetzwerk 3.
Eine Vielzahl von Systemen die über Ethernet-Verbindungen miteinander kommunikativ verbunden sind, u.a. Systeme in Fahrzeugen oder Systeme zur synchronisierten Übertragung von Audio- und Videosignalen, können besonders hohe Anforderungen an die Zuverlässigkeit der Übertragung und an die zeitliche Koordination von Datenpaketen stellen. Insbesondere für sicherheitskritische Anwendungen, in Fahrzeugen bspw. die Übertragung von Sensor- und Steuerinformationen für Fahrerunterstützungssysteme oder das autonome Fahren, werden hohe Anforderungen an die zeitliche Koordination von Datenpaketen gestellt. Selbst vergleichsweise kleine Veränderungen der Signallaufzeiten können zu einem veränderten Systemverhalten führen, z.B. weil Signale, die gemeinsam verarbeitet werden sollen oder die zu anderen Signalen in einem bestimmten, eng aufeinander abgestimmten Zeitrahmen vorliegen müssen, aufgrund der Veränderung der Signallaufzeit nicht mehr passend zueinander vorliegen. Bei einem veränderten oder nicht vorhersehbaren Systemverhalten kann die Zuverlässigkeit des Systems nicht mehr gewährleistet werden.
Der Verbreitungsgrad zeitlich synchronisierter Netzwerkknoten wird in Zukunft weiter zunehmen, u.a. weil eine immer größere Zahl von Steuergeräten Sensordaten unterschiedlicher Sensoren übertragen, die zur Bereitstellung von Sicherheits- und Komfortfunktionen verknüpft und ausgewertet werden. Ein besonders wichtiger Aspekt bei der Fusion von Sensordaten ist die zeitliche Zusammengehörigkeit der Sensordaten. Je nach Anwendung kann es erforderlich sein, auf Milli- oder Mikrosekunden genau zusammengehörende Sensordaten zu fusionieren, während bei anderen Anwendungen unter Umständen ein größerer zeitlicher Abstand der Erfassungszeitpunkte zulässig sein kann. Es ist auch vorstellbar, dass die Erfassungszeitpunkte im Bereich von Nanosekunden genau zusammengehören müssen. Außer den für die Sensorfusion benötigten Daten können aber bspw. auch Daten, die bei der Überwachung des Betriebs des Fahrzeugs erfasst wurden und lediglich für Wartungszwecke oder zur Dokumentation des zulassungsgemäßen und ordnungsgemäßen Betriebs genutzt werden strengen Anforderungen für deren zeitlich korrekte Erfassung und Speicherung unterliegen.
Die Zeitsynchronisation von Netzwerkknoten innerhalb eines Ethernet-Netzwerks kann mittels entsprechender Protokolle erfolgen, so dass innerhalb des Netzwerks eine global gültige Zeitbasis vorliegt. Die Zeitsynchronisierung in Ethernet-Netzwerken ist bspw. in dem IEEE 802.1 AS-Standard vereinbart, der das Precision Time Protocol (PTP) nutzt.
PTP definiert eine Master-Slave-Uhrenhierarchie mit einer besten Uhr innerhalb eines Netzwerks, die auch als Grandmaster Clock bezeichnet wird. Von dieser besten Uhr, dem Grandmaster, die mittels des Best Master Clock Algorithm (BMCA) ermittelt wird, leitet sich die Zeitbasis der übrigen in diesem Netzwerk befindlichen Netzwerkknoten ab. Ausgehend von dem Grandmaster werden Nachrichten zur Zeitsynchronisation über das Netzwerk verbreitet. Außerdem definiert PTP einen Mechanismus zur Messung der Signallaufzeit auf einer Verbindung, sowie ein Verfahren zum Austausch von Zeitinformationen.
Für die Ermittlung der Grandmaster Clock gemäß dem BMCA senden IEEE 802.1AS- fähige Netzwerkknoten zyklisch Announce-Nachrichten mit Informationen über ihre interne Uhr an unmittelbar angeschlossene weitere Netzwerkknoten. Die Informationen über die internen Uhren geben Aufschluss auf die Genauigkeit der jeweiligen Uhr, deren Bezug oder Zeitreferenz sowie andere Eigenschaften, anhand derer die beste Uhr in dem Netzwerk bestimmt werden kann. Eine solche Announce-Nachricht ist in Figur 2 a) beispielhaft dargestellt. Ein Empfänger einer solchen Announce-Nachricht vergleicht die empfangenen Informationen mit den Merkmalen seiner eigenen internen Uhr und evtl, bereits von einem anderen Port empfangenen Nachrichten mit Informationen zu Uhren anderer Netzwerkknoten, und akzeptiert eine in einem anderen Netzwerkknoten befindliche Uhr, wenn diese bessere Uhrenparameter hat. Nach kurzer Zeit ist die beste Uhr in dem Netzwerk ermittelt, die dann der Grandmaster in dem Netzwerk wird, und ein Zeitsynchronisations-Spannbaum wurde aufgestellt. Jedem Port eines Netzwerkknotens wird in diesem Zuge einer von vier Port-Zuständen zugewiesen. Der Zustand Master Port wird dem Port zugewiesen, der einen kürzeren Weg zum Grandmaster hat als sein Linkpartner. Der Zustand Slave wird dann zugeordnet, wenn an diesem Knoten noch kein anderer Port diesen Zustand besitzt. Disabled wählt derjenige Port, welcher dass PTP- Protokoll nicht vollständig unterstützen kann. Der Zustand passiv wird gewählt, wenn keiner der anderen drei Zustände zutrifft.
Bei einer Variante des PTP, dem generalized Precision Time Protocol (gPTP), kommunizieren jeweils zwei Netzwerkknoten zur Zeitsynchronisation stets direkt miteinander, und keiner der zwei Netzwerkknoten leitet eine empfangene Nachricht zur Zeitsynchronisation einfach nur an einen weiteren Netzwerkknoten im Netzwerk weiter. Vielmehr wird die Zeitinformation von dem Netzwerkknoten vor dem Weiterleiten um die zuvor ermittelte Signallaufzeit auf der Verbindung, über die es Nachrichten zur Zeitsynchronisation von einem direkt verbundenen Netzwerkknoten empfängt, sowie um die interne Bearbeitungsdauer korrigiert, bevor es eine neue Nachricht zur Zeitsynchronisation mit der korrigierten Zeitinformation erstellt und weitersendet. Netzwerkknoten, die das gPTP unterstützen werden auch als „time-aware systems“ bezeichnet.
Die Signallaufzeit auf einer Verbindung zwischen zwei Netzwerkknoten kann mittels des Sync_Follow_Up-Mechanismus bestimmt werden, der in Figur 2 b) schematisch dargestellt ist. Die Master Ports senden zyklisch Sync- und Follow_Up- Nachrichten an den jeweils benachbarten Linkpartner, also deren Slave-Ports. Wenn die Sync-Nachricht den Master Port verlässt, wird ein Zeitstempel generiert, welcher unmittelbar in einer darauffolgenden FollowJJp-Nachricht übertragen wird. Dieser Zeitstempel entspricht der aktuellen Uhrzeit des Grandmasters zum Sendezeitpunkt der Sync-Nachricht. Aus der Differenz der Empfangszeit der beiden Nachrichten kann der Empfänger die Signallaufzeit der Verbindung bestimmen, und damit sowie anhand der in der Sync-Nachricht übertragenen Uhrzeit der Grandmaster Clock kann der Empfänger dann seine Uhr einstellen.
Zur Bestimmung der die Verzögerung zwischen zwei verbundenen Ports unabhängig von Zeitsynchronisationsnachrichten der Grandmaster Clock dient der sogenannte „Peer Delay Mechanismus“, der beispielhaft in Figur 2 c) gezeigt ist. Ein Port, der Initiator, startet die Messung der Leitungsverzögerung, indem er eine Delay_Request-Nachricht an den mit ihm direkt verbundenen Port eines Netzwerkknotens, den Responder, sendet. Dabei wird so spät wie möglich vor dem tatsächlichen Absenden der Nachricht über den Ethernet-Transceiver ein Sendezeitstempel mit der Zeit t1 generiert und in die Nachricht eingefügt, so dass dieser Sendezeitstempel t1 in guter Näherung die tatsächliche Sendezeit definiert. Der Responder generiert beim Eintreffen der Nachricht einen Empfangszeitstempel t2. Als Antwort sendet der Responder eine Delay_Response- Nachricht an den Initiator. In dieser Nachricht überträgt er den Empfangszeitstempel t2 der Delay_Request-Nachricht. Verlässt diese Nachricht den Responder, so erzeugt dieser wiederum einen Sendezeitstempel t3, welcher in einer unmittelbar darauffolgenden Delay_Response_Follow-Up-Nachricht an den Initiator versendet wird. Beim Empfang der Delay_Response-Nachricht beim Initiator generiert dieser einen Empfangszeitstempel t4. Der Initiator kann aus den vier Zeitstempeln t1 bis t4 die durchschnittliche Laufzeit auf der Kommunikationsstrecke errechnen. Da die Laufzeit auf einer Verbindungsstrecke richtungsabhängig unterschiedlich sein kann, werden Delay_Request-Nachrichten von beiden Kommunikationspartnern unabhängig voneinander versendet.
Diese Messungen können zyklisch, d. h. in vorgegebenen Zeitabständen von beispielsweise 100ms bis hin zu mehreren Sekunden oder Minuten stattfinden. Schon bei einem Zeitabstand in der Größenordnung von etwa einer Sekunde wird das Netzwerk nicht stark belastet, so dass auch eine Messung in diesen relativ kurzen Zeitabständen unproblematisch für den Betrieb des Netzwerks ist. Es kann sinnvoll sein, derartige Signallaufzeitmessungen zwischen allen miteinander in Kommunikationsverbindung stehenden Netzwerkknoten 1 , 2 des Kommunikationsnetzwerkes 3 durchzuführen, vorzugweise jeweils als direkte Signallaufzeit zwischen zwei Netzwerkknoten 1 , 2.
Während der Entwicklung oder bei der Analyse vernetzter Systeme kann es erforderlich sein, den über die Netzwerkverbindungen gesendeten Datenverkehr abzuhören, bspw. um in dem System auftretende Fehler aufzufinden. Um die Kommunikation zwischen zwei direkt miteinander verbundenen Netzwerkknoten mithören zu können, ohne dass die Software der Netzwerkknoten dazu speziell angepasst oder geändert werden muss, was zu einem veränderten Systemverhalten führen könnte, bei dem der Fehler nicht auftritt oder bei dem andere Fehler auftreten, wird üblicherweise in die Netzwerkverbindung zwischen den zwei Geräten ein sogenannter Test Access Point (TAP) oder ein Switch bzw. eine Bridge eingefügt.
Aus der schematischen Darstellung der physikalischen Verbindung des in Figur 3 a) gezeigten Kommunikationsnetzwerks 3, entsprechend den durchgezogen dargestellten Pfeilen, ist zu erkennen, dass die physische Verbindung durchaus aufgetrennt werden kann, ohne dass die durch die gestrichelt dargestellten Pfeile dargestellte Zugriffssteuerung (MAC gemäß der Sicherungsschicht bzw. Schicht II) dies wahrnehmen muss und kann. Hierzu ist, wie in der Figur 3 b) dargestellt, an jeweils zwei physischen Schnittstellen PHY ein Abgriff 4 zwischengeschaltet, bspw. ein TAP, und an den bspw. ein Netzwerkanalysator angeschlossen sein kann, der den Datenverkehr zwischen den beiden Netzwerkknoten 1 , 2 analysiert (nicht in der Figur gezeigt).
Ein derartiger TAP 4 wird einfach in die bestehende Leitungsverbindung eingeschleift, kopiert beim Durchleiten des Datenstroms bitweise die Dateninformationen bzw. Datenpakte, ohne deren Inhalt zu analysieren, und gibt die kopierten Dateninformationen über eine weitere Schnittstelle aus. Der physikalische Datenstrom wird einfach unverändert weitergeleitet. Somit tritt der Netzwerkanalysator 4 in dem Kommunikationsnetzwerk 3 nicht in Erscheinung. Insbesondere erhält die Sicherungsschicht (Schicht II des OSI-Schichtmodells) der Netzwerkknoten 1 und 2 keine Kenntnis von der Existenz dieses Netzwerkanalysators 4.
Gegenüber einer direkten Leitungsverbindung zwischen den Netzwerkknoten 1 und 2 führt das Durchschleifen des Datenstroms durch den TAP 4 aber zu einer verlängerten Signallaufzeit der Signale (Datenpakete), die zwischen den Netzwerkknoten 1 und 2 übertragen werden. Diese Verlängerung der Signallaufzeit kann einige hundert Nanosekunden betragen.
Der Einsatz von Switches bzw. Bridges in einer Verbindung zwischen bei Netzwerkknoten zum Mitlesen der Kommunikation hat gegenüber einem TAP einen noch größeren Einfluss auf die Kommunikation. Selbst wenn ein Switch bzw. eine Bridge, ähnlich wie ein TAP, keine direkte Adresse hat, so verursacht er, u.a. wegen einer möglichen Speicherung der Daten vor dem Weiterleiten, eine große Verzögerung und nimmt zudem an der Layer-2 Kommunikation teil.
Wie bereits weiter oben beschrieben wurde, kann das Einfügen eines TAPs oder Switches bzw. einer Bridge zu einer Verlängerung der Signallaufzeit führen, welche die Genauigkeit der Zeitsynchronisation verringert oder diese sogar stört bzw. verhindert. Insbesondere in Systemen, in denen eine korrekte und zuverlässige Zeitsynchronisation für das Funktionieren einer Vielzahl von vernetzte Netzwerkknoten umfassenden Systemen unerlässlich ist, kann eine gestörte oder ausgefallene Zeitsynchronisation dazu führen, dass ein oder mehrere Netzwerkknoten daraufhin von der ursprünglichen Betriebsart in eine andere Betriebsart wechseln, bspw. einen Fehlerbetriebsmodus, und das beabsichtigte zulässige Abhören der Kommunikation der ursprünglichen Betriebsart des Netzwerkknotens oder des Systems nicht erfolgen kann. Damit ist ein sicherer Betrieb u.U. nicht mehr gegeben, und auch eine Fehlersuche wird erheblich erschwert. Es ist leicht zu erkennen, dass die Störung der Zeitsynchronisation mit der Anzahl der zwischen zwei Netzwerkknoten eingefügten TAPs oder Switches bzw. Bridges zunimmt, sofern nicht die Signallaufzeit neu bestimmt und bei der Weiterleitung von Zeitsynchronisationsnachrichten entsprechend korrigiert wird. Das Einfügen von TAPs oder Switches bzw. Bridges in eine Netzwerkverbindung kann auch aus anderen Gründen als zur Fehlersuche erfolgen, bspw. um unbefugt die Kommunikation im Netzwerk abzuhören und Schwachstellen zu erkennen, die zur gezielten unerlaubten Veränderung des Systemverhaltens genutzt werden können. Ein solches Vorgehen kann insbesondere in Systemen genutzt werden, welche identisch in großer Zahl eingesetzt werden. Ein Angreifer braucht sich nur Zugriff auf eines der Systeme zu verschaffen und kann nach erfolgter Analyse und Auffinden einer Schwachstelle jedes andere der Systeme gezielt angreifen.
Dies birgt gerade bei sicherheitsrelevanten Anwendungen, wie sie im Kraftfahrzeug vorliegen, ein gewisses Gefahrenpotential. Wenn beispielsweise durch Fahrerassistenzsysteme ausgewertete Informationen übertragen werden, ist es notwendig festzustellen, ob diese Informationen mitgelesen werden. Ein derartiges Mitlesen kann einen gezielten Angriff auf das Kommunikationssystem des Kraftfahrzeugs vorbereiten, beispielsweise durch Bekanntwerden benutzter Schlüssel oder Netzwerkadressen.
Da eine Überwachung der Teilnehmer an dem Kommunikationsnetzwerk grundsätzlich erst in Kenntnis deren Adressierung, d. h. deren MAC-Adressen oder anderen eindeutigen Identifikationsmerkmalen, in dem Netzwerk möglich ist, bildet das Einfügen eines TAPs oder Switches bzw. einer Bridge eine Angriffsmöglichkeit bei einem Ethernetbasierten Kommunikationssystem, welche nicht auf dem Layer II oder auf höheren Layern des OSI-Schichtenmodells erkennbar ist.
In einem statischen Kommunikationsnetzwerk, bspw. dem eines Kraftfahrzeuges, in dem sich die Netzwerktopologie nicht ändert, wenn das Netzwerk nicht durch einen zulässigen oder unzulässigen Eingriff geändert wird, ist es möglich, einen Eingriff durch Erkennen von Änderungen in der Signallaufzeit festzustellen. Eine in diesem Zusammenhang nutzbare Möglichkeit zur Messung der Signallaufzeiten zwischen Netzwerkknoten ist das mit Bezug auf Figur 2 c) beschriebene Verfahren. Die Nutzung von in einem System vor jeglichem Eingriff ermittelten mittleren Laufzeiten auf Verbindungen zwischen zwei Netzwerkknoten setzt voraus, dass diese Laufzeiten in jedem Netzwerkknoten für jede direkte Verbindung zu anderen Netzwerkknoten gespeichert sind. Außerdem muss die Messung der Laufzeiten zyklisch in nicht zu kurzen Abständen wiederholt werden, um auch kurzzeitige Eingriffe erkennen zu können. Dies kann entsprechend zyklisch zu einer erhöhten Kommunikationslast auf der Netzwerkverbindung führen, wodurch besonders zeitkritische Nachrichten möglicherweise verzögert ihr Ziel erreichen.
BESCHREIBUNG DER ERFINDUNG
Es ist daher wünschenswert ein Verfahren zum Überwachen einer Kommunikationsverbindung zweier direkt miteinander verbundener Netzwerkknoten eines Systems anzugeben, mittels dessen ein Eingriff in die direkte Verbindung auch auf der technischen Bitübertragungsschicht erkannt werden kann, auf der lediglich der physische Datenverkehr abgewickelt wird, ohne dazu eine zyklische Messung der Signallaufzeit und einen Vergleich mit einem zuvor ermittelten Wert der Signallaufzeit ausführen zu müssen. Es ist außerdem wünschenswert, durch einen Eingriff veränderte Parameter der Verbindung der beiden Netzwerkknoten so anpassen zu können, dass das Betriebsverhalten des Systems sich nicht von dem Betriebsverhalten vor dem Eingriff unterscheidet. Es ist außerdem wünschenswert, einen Netzwerkknoten anzugeben, insbesondere ein Steuergerät eines Kraftfahrzeugs, der mit anderen Netzwerkknoten verbindbar oder verbunden ist, und der zur Ausführung einer oder mehrerer Ausgestaltungen des erfindungsgemäßen Überwachungsverfahrens oder Teilen davon eingerichtet ist.
Ein erster Teil dieser Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ein weiterer Teil der Aufgabe wird durch das Verfahren des Anspruchs 8 gelöst. Wiederum ein anderer Teil wird durch den in Anspruch 11 angegebenen Netzwerkknoten gelöst. Weiterentwicklungen und Ausgestaltungen des Verfahrens sind in den jeweiligen abhängigen Ansprüchen angegeben. Gemäß einem ersten Aspekt der Erfindung ist für die Erkennung eines Eingriffs in die direkte Verbindung zweier Netzwerkknoten (Netzwerkknoten) zunächst ein Grenzwert eines Parameters der direkten Verbindung der beiden Netzwerkknoten zu bestimmen, der bei einem Eingriff in die direkte Verbindung überschritten wird und der als sicheres Anzeichen für das Vorliegen eines Eingriffs genutzt werden kann. Ein solcher Parameter ist bspw. die Signallaufzeit auf der direkten Verbindung, da die Signallaufzeit bei Einfügen eines TAPs oder eines Switches bzw. einer Bridge, wie es für einen aktiven Eingriff in die direkte Verbindung erforderlich ist, vergrößert wird. Dieser Parameter kann nicht aus einem Netzwerkknoten abgefragt werden, und er steht auch nicht in einer Datenbank oder dergleichen abrufbar zur Verfügung. Zudem kann der Parameter für jeden Link und jeden Link-Typ unterschiedlich sein. Im Kontext dieser Beschreibung steht der Ausdruck „direkte Verbindung“ für eine direkte physikalische Verbindung zweier Netzwerkknoten, d.h. , ohne dazwischen geschaltete andere Netzwerkknoten.
Ein erfindungsgemäßes Verfahren zur Ermittlung eines Grenzwerts der Signallaufzeit einer direkten Verbindung zweier Netzwerkknoten umfasst zunächst das Ermitteln der Signallaufzeit auf der direkten Verbindung zu einem Zeitpunkt, an dem kein Eingriff in die direkte Verbindung zweier direkt miteinander verbundener Netzwerkknoten eines Systems vorliegt. Dies kann bspw. mittels des aus dem IEEE 802.1 AS Standard bekannten peer-delay-X/ erfahrens erfolgen, wobei die Messung in einer oder beiden Richtungen ausgeführt werden kann. Das Ermitteln der Signallaufzeit kann jedoch auch das Auslesen aus einer Datenbank oder einem Konfigurationsspeicher erfolgen, wenn die Signallaufzeit zuvor bestimmt wurde und sich über die Zeit nicht ändert. Andere Verfahren zur Bestimmung der Signallaufzeit sind denkbar und dem Fachmann bekannt.
In einem nächsten Schritt wird das Senden einer Nachricht eines ersten Typs über die direkte Verbindung initiiert, welchem ersten Typ Nachricht zumindest im Sender ein Sendezeitstempel hinzugefügt bzw. zugeordnet wird. Zusätzlich kann dem ersten Typ Nachricht im Empfänger ein Empfangszeitstempel hinzugefügt bzw. zugeordnet werden.
Anhand des oder der Zeitstempel in dem ersten Typ Nachricht kann eine Überprüfung der Signallaufzeit auf der Bitübertragungsebene erfolgen. Der erste Typ Nachricht kann auch eine Antwort des Empfängers auslösen, so dass das eine Überprüfung der Signallaufzeit auch im Sender der Nachricht möglich ist. Der erste Typ Nachricht kann eine im IEEE 8201 .AS Standard spezifizierte Nachricht aus der Klasse der event messages sein, z.B. ebenfalls eine peer-cfe/ay-Nachricht.
Vor dem Senden der zuvor initiierten und mit dem Sendezeitstempel versehenen Nachricht des ersten Typs über die Bitübertragungsschicht wird diese um einen ersten Sendeverzögerungswert verzögert. Zusätzlich oder alternativ kann die Nachricht nach dem Empfangen auf der Bitübertragungsschicht und vor dem Setzen des Empfangszeitstempels um einen ersten Empfangsverzögerungswert verzögert werden. Der erste Empfangsverzögerungswert kann vom ersten Sendeverzögerungswert abhängig oder unabhängig sein.
Gemäß dem Standard IEEE 802.1 AS ist für zumindest für einige Nachrichten aus der Klasse der event messages vorgesehen dass, wenn die Signallaufzeit auf der direkten Verbindung einen vorbestimmten Wert überschreitet, eine Variable geändert wird, die zuvor das Nicht-Überschreiten der Signallaufzeit auf der direkten Verbindung signalisiert hat. Der vorbestimmte Wert ist bspw. ein in dem IEEE 802.1 AS Standard über die Variable meanLinkDelayThresh festgelegter Wert. Die Variable ist bspw. das Flag asCapableAcrossDomains oder asCapable aus dem IEEE 802.1AS Standard, welches im Zuge der Zeitsynchronisation der Netzwerkknoten des Systems genutzt wird und die Fähigkeit eines Netzwerk-Ports anzeigt, die Zeitsynchronisation entsprechend dem Standard durchzuführen. Änderungen des Werts von asCapableAcrossDomains oder asCapable, die als Boolesche Variable die Werte true oder false annehmen können, werden an eine Zustandsmaschine in der PHY kommuniziert, welche daraufhin den Zustand des betreffenden Ports auf reenabled Ext oder disabledExt setzt.
Der Zustand des Ports wird u.a. im Zuge der Zeitsynchronisation kommuniziert, so dass die Änderung wegen der zyklischen Übertragung von Zeitsynchronisationsnachrichten innerhalb kurzer Zeit allen anderen Netzwerkknoten zur Kenntnis gebracht wird. Entsprechend umfasst das Verfahren das Prüfen, ob die Signallaufzeit einen vorbestimmten Wert überschritten hat. Dies kann bspw. durch vergleichen der im Sendezeitstempel angegebenen Sendezeit mit der synchronisierten Systemzeit des Empfängers, durch vergleichen der Sendezeit mit der vom Empfänger in einer Antwortnachricht an den Sender zurückgesendeten Empfangszeit, durch Auswerten der asCapableAcrossDomains oder asCapable Flags des IEEE 802.1 AS Standards, durch Auswerten der Portzustände oder andere dem Fachmann bekannte Verfahren erfolgen.
Wenn die Prüfung ergibt, dass die Signallaufzeit den vorbestimmten Wert nicht überschritten hat, wird das Senden einer weiteren Nachricht eines ersten Typs über die direkte Verbindung initiiert, wobei die Verzögerung nach dem Setzen des Zeitstempels und vor der tatsächlichen Übertragung auf der Bitübertragungsschicht gegenüber dem zuvor eingestellten Wert vergrößert wird. Anschließend wird erneut geprüft, ob die Signallaufzeit den vorbestimmten Wert überschritten hat. Das Initiieren und verzögerte Senden wird solange mit jeweils gegenüber dem vorigen Sendevorgang vergrößerter Verzögerung wiederholt, bis die Signallaufzeit den vorbestimmten Wert überschritten hat. Anschließend wird der letzte Verzögerungswert als ermittelter Grenzwert für die direkte Verbindung ausgegeben und/oder gespeichert, bei dem die Signallaufzeit den vorbestimmten Wert noch nicht überschritten hat. Wenn Verzögerungswerte sowohl beim Senden als auch beim Empfangen separat eingestellt sind, werden entsprechend die letzten Verzögerungswerte als ermittelte Grenzwerte gespeichert. Die Speicherung kann lokal erfolgen oder in einer externen Datenbank.
Die Ermittlung des Grenzwerts zwischen den beiden direkt miteinander verbundenen Netzwerkknoten kann in beide Richtungen erfolgen.
Bei einer oder mehreren Ausgestaltungen des Verfahrens wird, nachdem die Signallaufzeit den vorbestimmten Wert erstmals überschritten hat, das Senden mit der zuvor eingestellten Verzögerung für eine zuvor festgelegte Anzahl an Versuchen oder Wiederholungen wiederholt. Wenn die Signallaufzeit in allen Versuchen oder Wiederholungen den vorbestimmten Wert in Folge überschritten hat, wird zum nächsten Schritt des Verfahrens übergegangen. Falls die Signallaufzeit vor Erreichen der zuvor festgelegten Anzahl an Versuchen oder Wiederholungen wieder unterhalb des vorbestimmten Werts liegt, wird diese Wiederholungsphase neu gestartet, wobei das Senden und Überprüfen mit einer gegenüber dem zuvor eingestellten Wert vergrößerten Verzögerung erfolgt. So kann ein Wert für die Verzögerung, der aufgrund von kleinsten, im Normalbetrieb vorkommenden Abweichungen entweder zu einer Überschreitung oder einer Unterschreitung des vorbestimmten Werts der Signallaufzeit führt, sicher erkannt werden. Ein solcher an der Grenze liegender Wert kann bei einer späteren Nutzung des Grenzwerts für die Signallaufzeit je nach Anwendung gezielt genutzt oder ausgelassen werden, insbesondere wenn die Verzögerung sich nur in diskreten Schritten einstellen lässt, die eine bestimmte Mindestgröße haben.
Bei einer oder mehreren Ausgestaltungen des Verfahrens kann bzw. können, nachdem die Signallaufzeit den vorbestimmten Wert bei einer eingestellten Verzögerung ein- oder ggf. mehrmals überschritten hat, der Wert bzw. die Werte für die Verzögerung wieder verringert werden und die Prüfung auf Überschreitung der Signallaufzeit erneut durchgeführt. Die Verringerung und Prüfung wird ggf. solange wiederholt, bis die Signallaufzeit unter dem vorbestimmten Wert liegt. Bei einer oder mehreren Ausgestaltungen dieses Verfahrens kann in einer Wiederholungsphase mit der zuvor eingestellten Verzögerung geprüft werden, ob die Signallaufzeit in einer zuvor festgelegten Anzahl an Versuchen oder Wiederholungen in Folge unterhalb des vorbestimmten Werts liegt und ggf. die Wiederholungsphase mit einer erneut verringerten Verzögerung neu gestartet werden.
Um den laufenden Betrieb des Systems nicht zu stören kann bei einer oder mehreren Ausgestaltungen des Verfahrens nach jeder Nachricht, deren Signallaufzeit den vorbestimmten Wert überschritten hat, eine Nachricht des ersten Typs, dem im Sender ein Sendezeitstempel und/oder im Empfänger ein Empfangszeitstempel hinzugefügt bzw. zugeordnet wird, unverzögert gesendet werden. Dadurch kann ein ggf. vorhandener Mechanismus zurückgesetzt werden, der erst bei einer zuvor festgelegten Anzahl an Versuchen das System oder einen oder mehrere Netzwerkknoten in einen Fehlerbetriebsmodus oder einen anderen, vom ursprünglichen Betriebsmodus abweichenden Modus bringt. Insbesondere die Verfahren zur Zeitsynchronisation nach dem IEEE 802.1AS Standard können den Ausfall von bis zu zwei aufeinanderfolgenden Synchronisationsnachrichten kompensieren. Erst bei Ausbleiben von drei aufeinanderfolgenden Synchronisationsnachrichten würde die Zeitsynchronisation des Systems gestört oder neu initiiert werden, würden Netzwerkknoten in einen Fehlermodus gehen oder andere Auswirkungen zeigen, welche einen veränderten Betrieb des System nach sich ziehen.
Bei einer oder mehreren Ausgestaltungen des Verfahrens kann das Hinzufügen der Verzögerung für das verzögerte Senden bspw. durch Verschlüsseln zumindest der Nachrichten des ersten Typs auf der Bitübertragungsschicht, d.h. auf der physischen Verbindung, nach dem Setzen des Zeitstempels und vor dem tatsächlichen Übertragen der dann verschlüsselten Datenbits über das Kommunikationsmedium erfolgen. Dazu kann bspw. der aus der IEEE 802.1AE bekannte MACsec-Mechanismus genutzt werden. Der MACsec Mechanismus unterstützt zum einen ein Verfahren zur Sicherung der Integrität der übertragenen Daten, zum anderen das Verschlüsseln der Daten. Bei ersterem wird vom Sender ein 8 Byte lange Header und ein 16 Byte langer Tail angehängt, die von dem Empfänger überprüft werden, um die Integrität der Daten sicherzustellen. Alleine diese 24 zusätzlichen Byte bewirken eine Vergrößerung der Signallaufzeit. Da das Verschlüsseln zumindest das Speichern einer gewissen Anzahl von Datenbits erfordert bedeutet das, dass sich eine u.a. auch von der Anzahl der jeweils in einem Block verschlüsselten Datenbits abhängige Verzögerung ergibt, bevor die Nachricht tatsächlich zum Empfänger übertragen wird. Zudem kann je nach gewähltem Verschlüsselungsverfahren und Schlüssel die Anzahl der Bits oder Oktette der zu übertragenden Nachricht erheblich vergrößert werden, so dass auch die durch das Verschlüsseln vergrößerte zu übertragende Datenmenge zu einer zusätzlichen Verzögerung führt. Entsprechend können bei einer oder mehreren Ausgestaltungen des Verfahrens unterschiedliche Verzögerungen durch Verwendung unterschiedlicher Verschlüsselungsparameter eingestellt werden. Bspw. kann die Nutzung der GCM-AES- 128 Verschlüsselung eine kürzere Verzögerung als die Nutzung der GCM-AES-256 Verschlüsselung bewirken. Ist eine nur kurze Verzögerung nötig kann das Verfahren zur Sicherung der Integrität ohne Verschlüsselung der Daten genutzt werden. Alternativ oder zusätzlich zum Verschlüsseln der Nachrichten des ersten Typs kann unmittelbar vor dem Senden der Nachricht des ersten Typs eine beliebige andere Nachricht verschlüsselt und/oder oder mit zusätzlichen Bytes zur Sicherung der Integrität gesendet werden. Da in beiden Fällen die zu sendende Datenmenge erhöht wird und die entsprechende Bearbeitung ggf. zusätzliche Zeit benötigt, wird das Senden der darauffolgenden Nachricht des ersten Typs nach dem Setzen des Sendezeitstempels im Flow-Control- Buffer des Senders entsprechend verzögert. Genauso wird die empfangene Nachricht des ersten Typs im Empfängerpuffer gespeichert, bis die davor gesendete Nachricht entschlüsselt ist, so dass auch vor das Setzen des Empfangszeitstempels durch die Verwendung des MACsec-Mechanismus verzögert wird, und sich die für die Netzwerkknoten sichtbare Signallaufzeit verlängert. Da auch eine Antwort auf eine verschlüsselte Nachricht verschlüsselt wird, kann sich bei Anwendung des mit Bezug auf Figur 2 c) beschriebenen Peer-Delay-Verfahren eine erhebliche Verlängerung der Signallaufzeit ergeben.
Da sich die Signallaufzeiten in einem statischen Kommunikationsnetzwerk, wie es bspw. in einem Kraftfahrzeug vorliegt, abgesehen von kleineren, nicht signifikanten Abweichungen beispielsweise aufgrund eines üblichen Jitters oder temperaturbedingten Laufzeitunterschieden nicht wesentlich ändern, muss die Ermittlung des Grenzwerts für die Signallaufzeit nicht in kurzen Zeitabständen wiederholt werden. Um einer Alterung von Elektronikkomponenten in dem System von Netzwerkknoten Rechnung zu tragen, genügt eine Wiederholung der Ermittlung des Grenzwerts in größeren zeitlichen Abständen.
Gemäß einem zweiten Aspekt der Erfindung werden bei einem Verfahren zur Erkennung eines Eingriffs in eine direkte Verbindung zweier Netzwerkknoten eines Systems während des Betriebs in einer ersten Betriebsart zyklisch oder in unregelmäßigen Abständen wiederholt Nachrichten des ersten Typs initiiert, denen im Sender die Sendezeit hinzugefügt bzw. zugeordnet wird, bspw. ein Sendezeitstempel, und/oder bei welchen der Empfänger die Empfangszeit protokolliert, bspw. mittels eines Empfangszeitstempels. Nach dem Setzen des Sendezeitstempels und vor dem Senden über die Bitübertragungsschicht und/oder nach dem Empfangen der Nachricht über die Bitübertragungsschicht und vor dem Setzen des Empfangszeitstempels werden zumindest die Nachrichten des ersten Typs um einen in dem zuvor beschriebenen Verfahren ermittelten Grenzwert bzw. um in dem zuvor beschriebenen Verfahren ermittelte Grenzwerte für die Signallaufzeit auf der direkten Verbindung verzögert. Anschließend wird geprüft, ob die Signallaufzeit einen vorbestimmten Wert überschritten hat. Wenn die Signallaufzeit den vorbestimmten Wert überschritten hat wird die Überschreitung signalisiert. Dadurch wird es möglich, Eingriffe in die direkte Verbindung der beiden Netzwerkknoten zu erkennen und daraufhin Maßnahmen zu ergreifen. Die durch die Verzögerung eingestellte Verlängerung der Signallaufzeit wird zweckmäßigerweise so gewählt, dass einerseits der vorbestimmte Wert der Signallaufzeit zuverlässig nicht überschritten wird, aber bereits eine kleine zusätzliche Verlängerung der Signallaufzeit zu einer Überschreitung führt.
Die Rolle von sendendem und empfangendem Netzwerkknoten kann auch bei diesem Aspekt der Erfindung immer wieder wechseln, da die Nachrichten des ersten Typs zyklisch und bidirektional ausgesendet werden können, d. h. in jede Kommunikationsrichtung zwischen den beiden Netzwerkknoten. Die Überwachung erfolgt zweckmäßigerweise zyklisch, d. h. in vorgegebenen bzw. vorgebbaren Zeitabständen, so dass Veränderungen zuverlässig festgestellt werden können.
Sobald ein Eingriff in eine direkte Verbindung zweier Netzwerkknoten festgestellt wurde, kann der das Verfahren ausführende Netzwerkknoten dies auf einer höheren Kommunikationsebene im OSI-Schichtenmodell den betroffenen Systemkomponenten mitgeteilt werden. So kann, ggf. nach einer weiteren Prüfung auf Zulässigkeit des Eingriffs, eine Anpassung ausgelöst werden, um den Weiterbetrieb des Systems ohne Überschreitungen des vorbestimmten Werts der Signallaufzeit wieder zu ermöglichen.
Um nur einmalige Überschreitungen des vorbestimmten Werts der Signallaufzeit in unregelmäßigen Abständen zu erkennen und ignorieren zu können kann vorgesehen sein, dass erst eine mehrmalige Überschreitung des vorbestimmten Werts der Signallaufzeit zu einer Signalisierung führt. Dadurch können bspw. vorübergehende Überlastungen von Netzwerkknoten, welche die Signalannahme bzw. die dabei ausgeführten Rechenoperationen etwas verzögern, die aber keinen Eingriff in die Struktur des Netzwerks darstellen, abgefangen werden. Gemäß einer oder mehreren Ausgestaltungen des Verfahrens nach dem zweiten Aspekt der Erfindung wird in Antwort auf das Signalisieren der Überschreitung des Grenzwerts das System bzw. mindestens einer der Netzwerkknoten in eine Fehlerbetriebsart versetzt, bei der z.B. sicherheitsrelevante Funktionen besonders gesichert ausgeführt oder abgeschaltet sind. Ein in einer Fehlerbetriebsart betriebener Netzwerkknoten kann anderen Netzwerkknoten des Systems den Betrieb in einer Fehlerbetriebsart über das Netzwerk bekanntgeben.
Alternativ kann das Verzögern zumindest der Nachrichten des ersten Typs auf einen verringerten Wert reduziert werden, bei dem die Signallaufzeit einen vorbestimmten Wert nicht überschreitet. Zur Bestimmung dieses verringerten Werts kann ggf. das Verfahren nach dem ersten Aspekt der Erfindung genutzt werden.
Wenn die Verzögerung auf einen Wert reduziert wird, bei dem die Signallaufzeit den vorbestimmten Wert nicht überschreitet kann ein Systemverhalten wiederhergestellt werden, welches sich von dem Systemverhalten vor der Signalisierung der Überschreitung des Grenzwerts nicht unterscheidet. Dadurch kann bspw. ein durch das zulässige Einfügen eines TAPs in eine direkte Verbindung zweier Netzwerkknoten geänderte Systemverhalten wieder in einen Zustand wie vor dem Einfügen des TAPs gebracht werden, so dass bspw. bei einer Fehlersuche keine zusätzlichen, durch das Einfügen des TAPs verursachten Fehler auftreten, oder ein unverändertes Betriebsverhalten des Systems gegenüber dem Betrieb vor dem Einfügen von TAPs vorliegt.
Gemäß einem dritten Aspekt der Erfindung umfasst ein Netzwerkknoten einen oder mehrere Prozessoren, diesem bzw. diesen zugeordneten flüchtigen und nichtflüchtigen Speicher sowie eine mit dem einen oder den mehreren Prozessoren kommunikativ verbundene, zum Senden und/oder Empfangen von über ein von mehreren Netzwerkknoten gemeinsam genutztes Kommunikationsmedium eingerichtete physikalische Netzwerkschnittstelle. Die Elemente des Netzwerkknotens sind mittels einer oder mehreren Datenleitungen oder -bussen kommunikativ miteinander verbunden. In dem nichtflüchtigen Speicher sind Computerprogramminstruktionen gespeichert welche, wenn sie von dem mindestens einen Prozessor ausgeführt werden, den Netzwerkknoten zur Ausführung einer oder mehrerer Ausführungsformen des erfindungsgemäßen Verfahrens einrichten.
Gemäß einem vierten Aspekt der Erfindung umfasst ein System, insbesondere ein Fahrzeugsystem, einen oder mehrere jeweils über eine direkte Verbindung vernetzte Netzwerkknoten. Erfindungsgemäß ist mindestens einer der Netzwerkknoten dazu eingerichtet, zumindest eine Ausführungsform des weiter oben beschriebenen erfindungsgemäßen Verfahrens auszuführen.
Ein Computerprogrammprodukt gemäß einem fünften Aspekt der Erfindung enthält Befehle, die bei der Ausführung durch einen Computer diesen dazu veranlassen, eine oder mehrere Ausgestaltungen und Weiterentwicklungen des vorstehend beschriebenen Verfahrens ausführen.
Das Computerprogrammprodukt kann auf einem computerlesbaren Medium bzw. Datenträger gespeichert sein. Das Medium bzw. der Datenträger kann physisch verkörpert sein, bspw. als Festplatte, CD, DVD, Flash-Speicher oder dergleichen, das Medium bzw. der Datenträger kann aber auch ein moduliertes elektrisches, elektromagnetisches oder optisches Signal umfassen, das von einem Computer mittels eines entsprechenden Empfängers empfangen und in dem Speicher des Computers gespeichert werden kann.
Die vorstehend beschriebenen Verfahren und die das Verfahren ausführenden Netzwerkknoten können in vorteilhafter Weise ohne Änderungen an bereits existierender Hardware implementiert werden, und entsprechend in bereits bestehende Netzwerke integriert werden, da die bereits genutzten Protokolle nicht geändert werden müssen und die Funktion des Netzwerks im normalen Betrieb, d.h. ohne unzulässigen Eingriff in zumindest eine direkte Verbindung zweier Netzwerkknoten nicht durch unzulässige Überschreitungen der Signallaufzeit beeinträchtigt wird. Da die Integrität der direkten Verbindungen im laufenden Betrieb überwacht wird, kann die Betriebssicherheit von Systemen, bspw. von Sensornetzwerken und von Steuergeräten, welche basierend auf Sensordaten Aktionen steuern und ausführen gesteigert werden, bspw. in Fahrzeugen mit einem hohen Grad an Fahrerunterstützung oder autonom fahrenden Fahrzeugen. Unzulässige Eingriffe in eine oder mehrere direkte Verbindungen zweier Netzwerkknoten können schnell erkannt werden und geeignete Maßnahmen können schneller getroffen werden, um den sicheren Betrieb wiederherzustellen oder in einen sicheren Betriebsmodus überzugehen.
Anhand des Verfahrens zur Bestimmung des Grenzwerts der Signallaufzeit nach dem ersten Aspekt kann eine Signallaufzeitkarte des Kommunikationsnetzwerks angelegt werden, in der die zeitlichen Reserven der jeweiligen Verbindungen zweier Netzwerkknoten eingetragen sind. Diese Information kann normalerweise nicht einfach von einem Netzwerkknoten abgefragt werden, entweder weil dazu keine Abfrage implementiert ist, oder die Implementierung nicht offengelegt ist. Dennoch können mit dem erfindungsgemäßen Verfahren u.a. Verbindungen identifiziert werden, in denen Netzwerkanalysatoren oder Diagnosegeräte eingeschleift werden können. Bei einem solchen zulässigen Eingriff in eine oder mehrere direkte Verbindungen zweier Netzwerkknoten kann eine durch den Eingriff erhöhte Signallaufzeit, welche dann über einem vorbestimmten Wert liegt, durch entsprechende Verringerung der Verzögerung beim Sender und/oder beim Empfänger wieder in einen Bereich gebracht werden, der unterhalb des vorbestimmten Werts liegt. Dadurch kann ein aufgrund des Eingriffs verändertes Systemverhalten wieder zurück in einen mit dem vor dem Eingriff vergleichbaren Zustand gebracht werden. Im Gegensatz zu früheren Verfahren muss keine Restbussimulation oder dergleichen verwendet werden, um Netzwerkknoten separat im simulierten Systemkontext testen zu können. Auf vergleichbare Weise kann bereits vorab festgestellt werden, ob Übertragungsprotokolle, die beim Versenden zusätzliche Zeitverzögerungen hervorrufen, in einem System genutzt werden können.
Auch bei einem Austausch von Netzwerkknoten oder dem Austausch oder der Reparatur der Kommunikationsleitungen zwischen Netzwerkknoten können die erfindungsgemäßen Verfahren ohne großen Aufwand erneut durchgeführt werden, um ggf. geänderte Parameter zu ermitteln und den Betrieb des Systems ggf. mit geänderten Verzögerungen auf einzelnen Verbindungen wie zuvor fortzusetzen.
Das vorstehend beschriebene Verfahren und die das Verfahren ausführenden Netzwerkknoten können wegen der einfachen und schlanken Implementierung und des Einsatzes von in Standards bereits vorhandenen Mitteln plattformunabhängig und daher flexibel eingesetzt werden.
Die Art der insgesamt erfindungsgemäß vorgeschlagenen Überwachung hilft auch, zusätzliche komplexe und/oder rechenintensive Sicherheitsprotokolle einzusparen. Hierdurch wird das Kommunikationsnetzwerk insgesamt entlastet.
Wenngleich die Erfindung vorstehend mit Bezug auf Ethernet-basierte Kommunikation und einem starken Fokus auf das Automotive-Umfeld beschrieben wurde ist das Prinzip auf alle Systeme anwendbar, in denen direkt miteinander verbundene Netzwerkknoten Verfahren des IEEE 802.1AS Standards oder zu den darin beschriebenen vergleichbare Verfahren zur Zeitsynchronisierung nutzen, und in denen Netzwerkknoten zwischen dem Setzen eines Zeitstempels und dem tatsächlichen Übertragen auf der Bitübertragungsschicht durch diverse Maßnahmen gezielt Verzögerungen herbeiführen können.
KURZE BESCHREIBUNG DER ZEICHNUNG
Im Folgenden wird die Erfindung mit Bezug auf die Zeichnung exemplarisch erläutert, aus der sich auch weitere Vorteile, Merkmale oder Anwendungsmöglichkeiten der Erfindung ergeben. Dabei bilden alle beschriebenen und/oder bildlich dargestellte Merkmale für sich oder in beliebiger Kombination den Gegenstand der vorliegenden Erfindung, auch unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbezügen.
In der Zeichnung zeigt: Fig. 1 schematisch den Ablauf einer Kommunikation zwischen zwei Netzwerkknoten eines Ethernet-basierten Kommunikationsnetzwerks nach dem OSI- Schichtenmodell,
Fig. 2 Swim-Lane-Diagramme beispielhafter zur Zeitsynchronisation und Messung von Signallaufzeiten genutzter Nachrichten,
Fig. 3 schematisch die physikalischen und logischen Kommunikationspfade zwischen zwei Netzwerkknoten vor und nach der Zwischenschaltung eines TAPs,
Fig. 4 ein schematisches Flussdiagramm eines Verfahrens zur Ermittlung eines Grenzwerts für die Signallaufzeit zweier direkt miteinander verbundener Netzwerkknoten,
Fig. 5 ein beispielhaftes schematisches Flussdiagramm eines Verfahrens zur Ermittlung eines Grenzwerts für die Signallaufzeit zweier direkt miteinander verbundener Netzwerkknoten im laufenden Betrieb eines Systems in einem ersten Betriebsmodus, ohne dass der Betrieb des Systems bzw. der Netzwerkknoten in dem ersten Betriebsmodus bei der Bestimmung des oberen Grenzwerts der Signallaufzeit unkorrigierbar oder unkompensierbar gestört wird bzw. einer der Netzwerkknoten des Systems in einen zweiten Betriebsmodus versetzt wird,
Fig. 6 ein beispielhaftes Blockschaltbild eines Netzwerkknoten mit einem Mikroprozessor pP und einer typischen physikalischen Ethernet-Schnittstelle PHY,
Fig. 7 ein schematisches Flussdiagramm eines erfindungsgemäßen Verfahrens zur Überwachung des Betriebs eines Systems mit zwei oder mehr jeweils direkt miteinander verbundenen Netzwerkknoten,
Fig. 8 ein schematisches Flussdiagramm einer beispielhaften Anwendung eines Aspekts der Erfindung in einem System mit zwei oder mehr jeweils direkt miteinander vernetzten Netzwerkknoten, und
Fig. 9 ein exemplarisches Blockdiagramm eines zur Ausführung eines oder mehrerer Aspekte des erfindungsgemäßen Verfahrens eingerichteten Netzwerkknotens.
Gleiche oder ähnliche Elemente können in den Figuren mit denselben Bezugszeichen referenziert sein. Die Figuren 1 bis 3 wurden bereits weiter oben beschrieben und werden daher im Folgenden nicht erneut diskutiert.
BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
Figur 4 zeigt ein schematisches Flussdiagramm eines grundlegenden Verfahrens 100 zur Ermittlung eines Grenzwerts für die Signallaufzeit zweier direkt miteinander verbundener Netzwerkknoten. In Schritt 102 wird zunächst die Signallaufzeit in einem ersten Betriebsmodus gemessen. Dazu kann bspw. das mit Bezug auf Figur 2 c) beschriebene Verfahren genutzt werden. Der erste Betriebsmodus ist bspw. ein normaler Betrieb der beiden Netzwerkknoten in ihrem System kontext. Die Messung kann mehrfach aufeinanderfolgend ausgeführt werden, um kleinere Schwankungen oder Abweichungen, die im normalen Betrieb auftreten können, durch Mittelung oder dgl. herauszufiltern. In Schritt 104 wird nun das Senden einer Nachricht eines ersten Typs von einem ersten der beiden Netzwerkknoten zu dem zweiten der beiden Netzwerkknoten initiiert. Bevor die Nachricht tatsächlich über das Kommunikationsmedium gesendet wird, wird sie in Schritt 106 um einen Verzögerungswert verzögert. In Schritt 108 wird sodann überprüft, ob die Signallaufzeit der Nachricht trotz der Verzögerung unterhalb eines vorbestimmten Werts liegt, so dass die Nachricht vom Empfänger-Netzwerkknoten ohne Änderung eines Betriebsmodus oder eines Betriebsparameters des Empfänger-Netzwerkknoten verarbeitet werden kann. Ist dies der Fall, „ja“-Zweig von Schritt 108, wird das Senden von weiteren Nachrichten des ersten Typs von dem ersten der beiden Netzwerkknoten zu dem zweiten der beiden Netzwerkknoten initiiert, wobei diese weiteren Nachrichten des ersten Typs um einen gegenüber dem jeweils vorherigen Verzögerungswert der vorherigen Nachricht vergrößerten Verzögerungswert verzögert werden. Wenn die Überprüfung in Schritt 108 ergibt, dass die Signallaufzeit der Nachricht aufgrund der Verzögerung oberhalb eines vorbestimmten Werts liegt, so dass die Nachricht vom Empfänger-Netzwerkknoten nicht ohne Änderung eines Betriebsmodus oder eines Betriebsparameters des Empfänger-Netzwerkknoten verarbeitet werden kann, „nein“- Zweig von Schritt 108, ist ein Grenzwert für die Signallaufzeit ermittelt, oder zumindest ein eingegrenzter Bereich innerhalb dessen der Grenzwert liegt. Der Grenzwert liegt in einem Bereich, dessen unteres Ende von der Summe aus der zuerst in Schritt 102 bestimmten Signallaufzeit und dem zuletzt eingestellten Verzögerungswert, bei dem die Signallaufzeit der Nachricht trotz der Verzögerung unterhalb eines vorbestimmten Werts liegt, so dass die Nachricht vom Empfänger-Netzwerkknoten ohne Änderung eines Betriebsmodus oder eines Betriebsparameters des Empfänger-Netzwerkknoten verarbeitet werden kann, markiert wird. Das obere Ende des Bereichs wird von der Summe aus der zuerst in Schritt 102 bestimmten Signallaufzeit und demjenigen Verzögerungswert, bei dem die Signallaufzeit der Nachricht aufgrund der Verzögerung erstmals oberhalb eines vorbestimmten Werts liegt, so dass die Nachricht vom Empfänger-Netzwerkknoten nicht ohne Änderung eines Betriebsmodus oder eines Betriebsparameters des Empfänger- Netzwerkknoten verarbeitet werden kann, markiert. Der gemäß dem vorstehend beschriebenen Verfahren ermittelte Grenzwert bzw. Bereich, oder ein aus diesem Bereich ausgewählter Wert kann dann in Schritt 114 lokal gespeichert und oder ausgegeben werden.
Figur 5 zeigt ein beispielhaftes schematisches Flussdiagramm eines Verfahrens 500 zur Ermittlung eines Grenzwerts für die Signallaufzeit zweier direkt miteinander verbundener Netzwerkknoten im laufenden Betrieb eines Systems in einem ersten Betriebsmodus, ohne dass der Betrieb des Systems bzw. der Netzwerkknoten in dem ersten Betriebsmodus bei der Bestimmung des oberen Grenzwerts der Signallaufzeit unkorrigierbar oder unkompensierbar gestört wird bzw. einer der Netzwerkknoten des Systems in einen zweiten Betriebsmodus versetzt wird. Das erfindungsgemäße Verfahren nutzt dabei die Erkenntnis, dass bestimmte Nachrichten des ersten Typs bei einer Überschreitung eines vorgegebenen Werts für die Signallaufzeit durch nicht mehr als eine vorbestimmte Anzahl aufeinanderfolgender Nachrichten noch nicht zu einer Störung des Betriebs führen. Einzelne Nachrichten, deren Signallaufzeit oberhalb des Grenzwerts liegt, können zwar einen Fehlerzähler inkrementieren, der jedoch durch die nächste Nachricht, deren Signallaufzeit unterhalb des vorgegebenen Werts liegt, wieder zurückgesetzt wird. So kann eine Beeinflussung des Betriebsverhaltens des Systems durch sporadische Fehler verhindert werden.
Die Schritte 104, 106 und 108 entsprechen denen, welche bereits mit Bezug auf Figur 4 beschreiben wurden. In Schritt 104 wird das Senden einer Nachricht eines ersten Typs von einem ersten der beiden Netzwerkknoten zu dem zweiten der beiden Netzwerkknoten initiiert. Bevor die Nachricht tatsächlich über das Kommunikationsmedium gesendet wird, wird sie in Schritt 106 um einen Verzögerungswert verzögert. In Schritt 108 wird sodann überprüft, ob die Signallaufzeit der Nachricht trotz der Verzögerung unterhalb eines vorbestimmten Werts liegt, so dass die Nachricht vom Empfänger-Netzwerkknoten ohne Änderung eines Betriebsmodus oder eines Betriebsparameters des Empfänger- Netzwerkknoten verarbeitet werden kann.
Ist dies der Fall, „ja“-Zweig von Schritt 108, wird in Schritt 110 geprüft, ob eine größere Verzögerung für zu sendende Nachrichten einstellbar ist. Ist das möglich, „ja“-Zweig von Schritt 110, wird in Schritt 112 eine größere Verzögerung gewählt, und das Verfahren wird beginnend mit Schritt 104 wiederholt. Das Einstellen einer geänderten Verzögerung ist durch den gestrichelt dargestellten Pfeil von Schritt 112 zu Schritt 106 angedeutet. Wenn keine größere Verzögerung für zu sendende Nachrichten einstellbar ist, „nein“-Zweig von Schritt 110, wird diese größtmögliche Verzögerung als Grenzwert angenommen und in Schritt 114 gespeichert und/oder ausgegeben.
Wenn die Prüfung in Schritt 108 ergibt, dass die Signallaufzeit oberhalb des vorbestimmten Werts liegt, „nein“-Zweig von Schritt 108, wird in Schritt 116 für diese Verzögerung die Signallaufzeit der direkten Verbindung bestimmt, und die Verzögerung in Schritt 118 wieder deaktiviert. Anschließend wird in Schritt 120 eine weitere Nachricht des ersten Typs gesendet, damit ein möglicherweise durch das Überschreiten der Signallaufzeit zuvor inkrementierter Fehlerzähler wieder zurückgesetzt wird bzw. das System diese Überschreitung der Signallaufzeit auf andere Weise kompensieren oder korrigieren kann. Sodann wird in Schritt 122 geprüft, ob eine verringerte Verzögerung eingestellt werden kann, welche unterhalb der zuletzt eingestellten, aber oberhalb einer vor dieser eingestellten Verzögerung liegt. Ist dies nicht der Fall, „nein“-Zweig von Schritt 122, wird der Verzögerungswert, welcher zum Überschreiten des vorbestimmten Werts führte, als Grenzwert angenommen und in Schritt 114 gespeichert und/oder ausgegeben.
Wenn die Prüfung in Schritt 122 ergibt, dass eine verringerte Verzögerung eingestellt werden kann, welche jedoch oberhalb der zu vorletzt eingestellten Verzögerung liegt, „ja“- Zweig von Schritt 122, wird diese in Schritt 112 gewählt, und das Verfahren wird beginnend mit Schritt 104 wiederholt.
Figur 6 zeigt ein beispielhaftes Blockschaltbild eines Netzwerkknoten 600 mit einem Mikroprozessor pP und einer typischen physikalischen Ethernet-Schnittstelle PHY. In der Figur ist insbesondere dargestellt, an welcher Stelle innerhalb der PHY einer Nachricht ein Sendezeitstempel hinzugefügt bzw. zugeordnet wird, und an welchen Stellen die Nachricht anschließend verzögert werden kann. Der Mikroprozessor pP kommuniziert mit dem PHY über eine Schnittstelle, deren Implementierung parallel oder seriell sein kann, und die sich von dem Ethernet-Übertragungsmedium in der Regel unterscheidet. Entsprechend ist auf der Prozessorseite der PHY eine medienunabhängige Schnittstelle Mil (Media Independent Interface) vorgesehen. Die medienunabhängige Schnittstelle Mil nimmt Nachrichten vom MAC der Sicherungsebene, der Schicht II des OSI- Schichtenmodells, zum Senden über das Übertragungsmedium entgegen, bzw. leitet empfangene Nachrichten an den MAC weiter. Eine zu sendende Nachricht, die an der medienunabhängigen Schnittstelle Mil empfangen wurde und quasi als Rohdaten vorliegt, wird vor dem tatsächlichen Senden in einem Physical Coding Sublayer PCS einer Kanalkodierung unterworfen. Die Kanalkodierung dient dazu, digitale Daten bei der Übertragung über gestörte Kanäle durch Hinzufügen von Redundanz gegen Übertragungsfehler zu schützen. Die Kanalkodierung fügt den Daten am Eingang eines Übertragungskanals Redundanz hinzu und dekodiert die Daten an seinem Ausgang. Wenn die Zusatzinformationen lediglich auf einen Fehler hindeuten und eine Neuübertragung der Daten erfordern, spricht man von Rückwärtsfehlerkorrektur. Genügt die Redundanzinformation, den Fehler zu korrigieren, handelt es sich um eine Vorwärtsfehlerkorrektur. Eine effiziente Kanalkodierung erhöht das Signal-Rausch- Verhältnis bei unveränderter Bitfehlerhäufigkeit. Je nach Kanalkodierungsverfahren kann der Codegewinn mehrere dB betragen.
Eine wesentliche Eigenschaft eines Kanalkodes ist seine Coderate R = k/n, wobei k die Anzahl der Symbole am Eingang des Kodierers, die Informationssymbole, und n die Anzahl der Symbole am Ausgang, die Codesymbole, bezeichnet. Es werden also k Informationssymbole auf n Codesymbole abgebildet. Eine kleine Rate, d.h. , je größer n bei gleichem k ist, bedeutet einen höheren Anteil der Codesymbole an den übertragenden Symbolen, also eine kleinere Datenübertragungsrate. Üblicherweise kann ein Kanalcode mit einer niedrigeren Coderate mehr Fehler korrigieren als ein vergleichbarer Kanalkode mit einer hohen Coderate - es ist also ein Abtausch zwischen Datenübertragungsrate und Fehlerkorrekturfähigkeit möglich.
Erst die kanalkodierten Daten werden von einer an das physikalische Übertragungsmedium angepassten Schnittstelle PMA in das Übertragungsmedium gesendet.
Empfangene Daten werden entsprechend in umgekehrter Reihenfolge von den vorstehend genannten Blöcken bearbeitet.
Wenn einer Nachricht vor dem Senden oder nach dem Empfang ein Sendezeitstempel hinzugefügt bzw. zugeordnet wird, kann dies in einer zwischen der Mil und dem PCS angeordneten Zeitstempeleinheit TSU erfolgen, damit auch die Zeitstempel von der Kanalcodierung erfasst werden.
Die in der IEEE 802.1AE definierten Protokolle zur vertraulichen und sicheren Übertragung von Daten, auch unter dem Begriff MACsec bekannt, ermöglichen es, Daten vor dem Senden bzw. nach dem Empfangen über das Kommunikationsmedium zu verschlüsseln bzw. zu entschlüsseln. Die Verschlüsselung erfolgt zwischen dem Setzen des Zeitstempels und vor der Kanalkodierung, u.a. damit auch der Zeitstempel durch die Verschlüsselung geschützt ist und auch aus der Analyse von Zeitstempeln keine Erkenntnisse gezogen werden können.
Ausgehend von der vorstehend beschriebenen Anordnung der Funktionsblöcke und der dadurch vorgegebenen Reihenfolge der Bearbeitung zu sendender bzw. empfangener Daten kann die für das erfindungsgemäße Verfahren benötigte einstellbare Verzögerung der Nachrichten nach dem Setzen des jeweiligen Zeitstempels kann also nur in einem oder mehreren der Blöcke MACsec, PCS oder PMA erfolgen. Das Einstellen einer Verzögerung in dem Block PMA erscheint wegen der überwiegend analogen Struktur dieses Blocks nicht oder nur in einem äußerst geringen Rahmen möglich, der für die Zwecke der Erfindung nicht ausreichend wäre.
Demgegenüber erscheint das Einstellen einer Verzögerung in dem Block PCS durchaus möglich, bspw. durch Auswahl einer geeigneten Coderate bei der Kanalkodierung, mittels derer die auf dem Kommunikationsmedium übertragene Datenmenge variiert werden kann, so dass allein durch die bei einer kleinen Coderate R gegenüber einer großen Coderate R vergrößerte Datenmenge eine längere Übertragungsdauer für ein Datenpaket fester Größe, d.h. eine zusätzliche Verzögerung erzielt werden kann.
Ein besonders geeigneter Block für das Einstellen einer Verzögerung nach dem Setzen des Zeitstempels und vor dem Versenden über das Kommunikationsmedium ist der Block MACsec. Durch Auswahl eines der in der IEEE 802.1AE vereinbarten unterschiedlichen Verschlüsselungsverfahren, sofern in einem PHY eines Netzwerkknoten implementiert, wird aus einer gegebenen Menge an Daten nach der Verschlüsselung eine jeweils andere, stets größere Menge an verschlüsselten Daten erzeugt. Auch die Wahl des Schlüssels, bspw. dessen Länge, kann die Menge der durch die Verschlüsselung hinzukommenden Daten beeinflussen. Alleine der Vorgang der Verschlüsselung selbst erfordert eine Speicherung von Daten, wodurch sich eine gewisse zusätzliche Verzögerung ergibt. Die durch die Verschlüsselung vergrößerte Menge Daten, die ja mit der gleichen Geschwindigkeit wie unverschlüsselte Daten über das Kommunikationsmedium gesendet werden müssen, ergibt eine weitere Verzögerung.
Für die Verzögerung von Nachrichten des ersten Typs kann die Nachricht entweder selbst verschlüsselt werden, und/oder es kann eine unmittelbar vor der Nachricht des ersten Typs gesendete Nachricht beliebigen Typs verschlüsselt werden. Da sich durch die Verschlüsselung einer vor der Nachricht des ersten Typs gesendeten Nachricht deren Datenmenge vergrößert müssen nachfolgend gesendete Nachrichten im Flow-Control- Buffer der PHY entsprechend verzögert werden. So kann durch geeignete Auswahl der zu verschlüsselnden Nachricht, ggf. deren Länge, sowie des Verschlüsselungsverfahrens eine für Teile des erfindungsgemäßen Verfahrens eine Verzögerung zumindest der Nachrichten des ersten Typs in einem Bereich von einigen hundert Nanosekunden bis hin zu einigen Mikrosekunden eingestellt werden.
Das jeweils geeignete Verfahren, also Verschlüsselung von unmittelbar vor einer Nachricht des ersten Typs gesendeten Nachricht, Wahl des Verschlüsselungsverfahrens, Wahl der Schlüssellänge, Wahl der Länge der zu verschlüsselnden Nachricht, Verschlüsselung (auch) der Nachricht des ersten Typs sowie des dabei jeweils zu verwendenden Schlüssels, dessen Länge und das zu nutzende Verschlüsselungsverfahren können von der Übertragungsgeschwindigkeit der Verbindung abhängen.
Figur 7 zeigt ein schematisches Flussdiagramm eines erfindungsgemäßen Verfahrens 700 zur Überwachung des Betriebs eines Systems mit zwei oder mehr jeweils direkt miteinander verbundenen Netzwerkknoten. Zunächst wird ein Grenzwert für die Signallaufzeit auf einer zu überwachenden direkten Verbindung zweier Netzwerkknoten ermittelt. Dazu kann bspw. eines der mit Bezug auf Figur 4 oder 5 beschriebenen Verfahren genutzt werden. Alternativ kann der Grenzwert aus einem Speicher ausgelesen werden. Erfindungsgemäß wird in Schritt 702 für das Versenden zumindest von Nachrichten des ersten Typs das Senden um eine einen Verzögerungswert verzögert, bei dem der vorbestimmte Wert für die Signallaufzeit zuverlässig gerade noch nicht überschritten wird. Anschließend wird in Schritt 104 während des Betriebs des Systems das Senden einer Nachricht des ersten Typs von einem ersten der beiden Netzwerkknoten zu dem zweiten der beiden Netzwerkknoten initiiert. Bevor die Nachricht tatsächlich über das Kommunikationsmedium gesendet wird, wird sie in Schritt 106 um einen Verzögerungswert verzögert. In Schritt 108 wird sodann überprüft, ob die Signallaufzeit der Nachricht trotz der Verzögerung unterhalb des vorbestimmten Werts für die Signallaufzeit liegt, so dass die Nachricht vom Empfänger-Netzwerkknoten ohne Änderung eines Betriebsmodus oder eines Betriebsparameters des Empfänger- Netzwerkknoten verarbeitet werden kann. Ist dies der Fall, „ja“-Zweig von Schritt 108, wird das Verfahren beginnend mit Schritt 104 wiederholt, ohne den in Schritt 702 eingestellten Verzögerungswert zu ändern, wobei die Wiederholung zyklisch oder in unregelmäßigen Abständen erfolgen kann. Die dazu jeweils erforderliche Steuerung ist durch den zwischen den Schritten 108 und 104 liegenden Verfahrensschritt 109 angedeutet. Die Steuerung kann konventioneller Art sein und einen Timer oder einen (Pseudo-)Zufallsgenerator nutzen, oder einen externen Auslöser, der auf eine Veränderung einer Umwelt-, Systemvariable oder dergleichen reagiert.
Wenn die Überprüfung in Schritt 108 ergibt, dass die Signallaufzeit der Nachricht aufgrund der Verzögerung oberhalb des vorbestimmten Werts liegt, so dass die Nachricht vom Empfänger-Netzwerkknoten nicht ohne Änderung eines Betriebsmodus oder eines Betriebsparameters des Empfänger-Netzwerkknoten verarbeitet werden kann, „nein“- Zweig von Schritt 108, muss eine zusätzliche Verzögerung der Signallaufzeit in die direkte Verbindung der beiden Netzwerkknoten eingefügt worden sein, oder es liegt eine anderweitige Veränderung oder Störung vor. In jedem Fall wird die Überschreitung des vorbestimmten Werts der Signallaufzeit in Schritt 704 signalisiert, worauf zumindest der das Verfahren durchführende Netzwerkknoten weitere Schritte oder Maßnahmen einleiten kann.
Die durch das vorstehend beschriebene Überwachung kann also einen Eingriff in eine direkte Verbindung zweier Netzwerkknoten erkennen, der eine Verlängerung der Signallaufzeit mit sich bringt.
Wenn die Veränderung der Signallaufzeit durch einen zulässigen Eingriff in das System hervorgerufen wurde, bspw. durch das vorübergehende Einfügen eines Messgerätes über einen TAP oder einen Switch bzw. einer Bridge, kann ein Systemverhalten, wie es vor dem Eingriff vorlag, z.B. mit dem mit Bezug auf Figur 8 beschriebene Verfahren wiederhergestellt werden.
Figur 8 zeigt ein schematisches Flussdiagramm eines Verfahrens 800 einer beispielhaften Anwendung eines Aspekts der Erfindung in einem System mit zwei oder mehr jeweils direkt miteinander vernetzten Netzwerkknoten. Bei der beispielhaften Anwendung soll ermittelt werden, auf welchen direkten Verbindungen jeweils zweier Netzwerkknoten die Kommunikation zwischen diesen Netzwerkknoten mitgeschnitten und ausgewertet werden kann, ohne dass die durch das dazu erforderliche Einfügen eines TAPs oder Switches bzw. einer Bridge hervorgerufene zusätzliche Verlängerung der Signallaufzeit dazu führt, dass der Betrieb des Systems bzw. der Netzwerkknoten unkorrigierbar oder unkompensierbar gestört wird bzw. einer der Netzwerkknoten des Systems in einen zweiten Betriebsmodus versetzt wird. Erfindungsgemäß wird in Schritt 802 die durch den eingefügten TAP oder Switch bzw. die Bridge hervorgerufene Verlängerung der Signallaufzeit bestimmt. Dies kann bspw. durch geeignete Messungen erfolgen, anhand von Angaben in einem Datenblatt oder dgl. Anschließend wird in Schritt 804 ein Verfahren bestimmt, mittels dessen eine entsprechende Verzögerung von zu sendenden Nachrichten in der PHY eines Netzwerkknotens des Systems eingestellt werden kann. Anschließend wird verifiziert, ob auch mit der hinzugefügten Verzögerung in der Verbindung zweier Netzwerkknoten der Betrieb des Systems in dem zuvor eingestellten Betriebsmodus weiter möglich ist, bzw. ob keiner der Netzwerkknoten in einen gegenüber dem zuvor genutzten Betriebsmodus anderen Betriebsmodus wechselt. Ist dies der Fall, ist der Betrieb also unverändert möglich, kann ein Messgerät, TAP oder Switch bzw. eine Bridge mit einer entsprechenden Verzögerung in diese Verbindung eingeschleift werden. Die Verifizierung kann bspw. mit dem mit Bezug auf Figur 5 beschriebenen Verfahren erfolgen. Mit diesem Verfahren können also diejenigen Verbindungen in einem System identifiziert werden, bei denen eine durch einen Eingriff verlängerte Signallaufzeit kompensierbar ist, ohne den Eingriff tatsächlich vornehmen zu müssen.
Falls in den Netzwerkknoten des Systems ein Verfahren zur Überwachung ausgeführt wird, wie es mit Bezug auf Figur 7 beschrieben wurde, kann das vorstehend beschriebene Verfahren ebenfalls genutzt werden. In der Regel wird dabei bereits bei vielen Verbindungen zweier Netzwerkknoten bereits eine minimale weitere Verlängerung der Signallaufzeit dazu führen, dass der vorbestimmte Wert für die Signallaufzeit überschritten wird. Dies kann jedoch durch eine entsprechende Verringerung der für den normalen Betrieb eingestellten Verzögerung kompensiert werden.
Figur 9 zeigt ein exemplarisches Blockdiagramm eines zur Ausführung eines oder mehrerer Aspekte des erfindungsgemäßen Verfahrens eingerichteten Netzwerkgeräts 900. Das Netzwerkgerät 900 umfasst neben einem Mikroprozessor 902 flüchtigen und nichtflüchtigen Speicher 904, 906 sowie eine oder mehrere Kommunikationsschnittstellen 908. Die Elemente des Netzwerkgeräts sind über eine oder mehrere Datenverbindungen oder -busse 910 kommunikativ miteinander verbunden. Der nichtflüchtige Speicher 906 enthält Computerprogramminstruktionen die, wenn sie von dem Mikroprozessor 902 ausgeführt werden, das Netzwerkgerät zur Ausführung zumindest einer Ausgestaltung des erfindungsgemäßen Verfahrens einrichten.
BEZUGSZEICHENLISTE
1 , 2 Netzwerkknoten 900 Netzwerkknoten
3 Netzwerk/Verbindung 902 Mikroprozessor
904 flüchtiger Speicher
100 Verfahren 906 nichtflüchtiger Speicher
102 Signallaufzeit messen 908 Kommunikationsschnittstelle
104 Senden initiieren 910 Datenverbindungen /-busse
106 Senden verzögern
108 vorb. Wert unterschritten?
109 Wiederholungssteuerung
110 größere Verzögerung einstellbar?
112 größere/kleinere Verz. wählen
114 Grenzwert ausgeben
116 Signallaufzeit bestimmen
118 Verzögerung deaktivieren
120 Nachricht unverzögert senden
122 kleinere Verzögerung einstellbar?
500 Verfahren
600 Netzwerkknoten
700 Verfahren
702 Senden verzögern
704 Überschreitung signalisieren
800 Verfahren
802 Signallaufzeit bestimmen
804 Verzögerungsverfahren bestimmen

Claims

ANSPRÜCHE
1 . Verfahren (100) zur Ermittlung eines Grenzwerts für die Signallaufzeit auf einer Verbindung zweier direkt miteinander verbundener Netzwerkknoten eines eine Vielzahl von über ein Netzwerk verbundene Netzwerkknoten umfassenden Systems, wobei das Verfahren umfasst: a) Ermitteln (102) der Signallaufzeit zwischen den direkt miteinander verbundenen Netzwerkknoten, wobei das Verfahren gekennzeichnet ist durch die Schritte: b) Initiieren (104) einer Nachricht eines ersten Typs über die direkte Verbindung, dem im Sender ein Sendezeitstempel und/oder im Empfänger ein Empfangszeitstempel hinzugefügt bzw. zugeordnet wird, c) Verzögern (106) der Nachricht nach dem Setzen des Sendezeitstempels und vor dem Senden der Nachricht über die Bitübertragungsschicht und/oder nach dem Empfangen der Nachricht über die Bitübertragungsschicht und vor dem Setzen des Empfangszeitstempels um einen ersten Wert bzw. jeweils um erste Werte, d) verzögertes Senden der Nachricht über die Bitübertragungsschicht, e) Prüfen (108), ob die Signallaufzeit einen vorbestimmten Wert überschritten hat, f1) Wiederholen der Schritte c) bis e) so lange mit einem jeweils gegenüber dem zuvor eingestellten Verzögerungswert bzw. gegenüber den zuvor eingestellten
Verzögerungswerten vergrößerten Verzögerungswert bzw. Verzögerungswerten, bis die Signallaufzeit den vorbestimmten Wert überschritten hat, und h) Speichern und/oder Ausgeben (114) des letzten Verzögerungswerts bzw. der letzten Verzögerungswerte als ermittelten Grenzwert bzw. ermittelte Grenzwerte für die direkte Verbindung, bei dem bzw. denen die Signallaufzeit den vorbestimmten Wert noch nicht überschritten hat.
2. Verfahren nach Anspruch 1 , außerdem umfassend, nachdem die Signallaufzeit den vorbestimmten Wert in Schritt f1) erstmals überschritten hat: f2) Wederholen der Schritte c) bis e) mit dem zuvor eingestellten Verzögerungswert bzw. den zuvor eingestellten Verzögerungswerten so lange, bis die Signallaufzeit den vorbestimmten Wert eine zuvor festgelegte Anzahl an Versuchen oder Wiederholungen in Folge überschritten hat wobei, wenn vor Erreichen der festgelegten Anzahl an Versuchen oder Wiederholungen die Signallaufzeit den vorbestimmten Wert wieder unterschritten hat, das Verfahren mit Schritt c) und einer erneut vergrößerten Verzögerungszeit wiederholt wird.
3. Verfahren nach Anspruch 1 oder 2, außerdem umfassend, nachdem die Signallaufzeit den vorbestimmten Wert in Schritt f1) überschritten oder in Schritt f2) eine zuvor festgelegte Anzahl an Versuchen oder Wiederholungen in Folge überschritten hat:
- g2) Wiederholen der Schritte c) bis e) mit einem jeweils gegenüber dem zuvor eingestellten Verzögerungswert bzw. gegenüber den zuvor eingestellten Verzögerungswerten verringerten Verzögerungswert bzw. Verzögerungswerten, bis die Signallaufzeit den vorbestimmten Wert nicht mehr überschreitet.
4. Verfahren nach Anspruch 3, außerdem umfassend, nachdem die Signallaufzeit in Schritt g2) den vorbestimmten Wert erstmals unterschritten hat: g3) Wiederholen der Schritte c) bis e) mit dem zuvor eingestellten Verzögerungswert bzw. den zuvor eingestellten Verzögerungswerten so lange, bis die Signallaufzeit den vorbestimmten Wert eine zuvor festgelegte Anzahl an Versuchen oder Wiederholungen in Folge unterschritten hat wobei, wenn vor Erreichen der festgelegten Anzahl an Versuchen oder Wiederholungen die Signallaufzeit den vorbestimmten Wert wieder überschritten hat, das Verfahren mit Schritt c) und einer erneut verringerten Verzögerungszeit wiederholt wird.
5. Verfahren nach Anspruch 3 oder 4, außerdem umfassend:
- g1) Initiieren (104) und unverzögertes Senden () einer Nachricht eines ersten Typs über die direkte Verbindung, der im Sender ein Sendezeitstempel und/oder im Empfänger ein Empfangszeitstempel hinzugefügt bzw. zugeordnet wird, nach jeder verzögert gesendeten Nachricht, deren Signallaufzeit den vorbestimmten Wert überschritten hat.
6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das verzögerte Senden (106) umfasst: - Verschlüsseln einer unmittelbar vor einer Nachricht des ersten Typs gesendeten Nachricht, und/oder
- Verschlüsseln zumindest des ersten Typs von Nachrichten nach dem Setzen des Sendezeitstempels, und/oder wobei das verzögerte Empfangen umfasst:
- Entschlüsseln der unmittelbar vor einer Nachricht des ersten Typs empfangenen Nachricht, und/oder
- Entschlüsseln zumindest des ersten Typs von Nachrichten vor dem Setzen des Empfangszeitstempels.
7. Verfahren nach Anspruch 6, wobei das das Einstellen unterschiedlicher Verzögerungen umfasst:
- Verschlüsselung zumindest des ersten Typs von Nachrichten mit unterschiedlichen Verschlüsselungsparametern.
8. Verfahren (700) zur Erkennung eines Eingriffs in eine direkte Verbindung zweier Netzwerkknoten (1 , 2) eines Systems während des Betriebs, umfassend:
- zyklisches oder in unregelmäßigen Abständen wiederholtes Initiieren (104) von Nachrichten des ersten Typs, denen im Sender ein Sendezeitstempel und/oder im Empfänger ein Empfangszeitstempel hinzugefügt bzw. zugeordnet wird,
- Verzögern (106) zumindest des ersten Typs von Nachrichten nach dem Setzen des Sendezeitstempels und vor dem Senden der Nachricht über die Bitübertragungsschicht und/oder nach dem Empfangen der Nachricht über die Bitübertragungsschicht und vor dem Setzen des Empfangszeitstempels um einen in dem Verfahren nach einem der Ansprüche 1 bis 6 ermittelten Grenzwert bzw. um in dem Verfahren nach Anspruch 1 bis 6 ermittelte Grenzwerte für die direkte Verbindung,
- Prüfen (108), ob die Signallaufzeit einen vorbestimmten Wert überschritten hat, wobei das Verfahren, wenn die Signallaufzeit einen vorbestimmten Wert überschritten hat, außerdem umfasst:
- Signalisieren (704) der Überschreitung des Grenzwerts.
9. Verfahren nach Anspruch 8, wobei in Antwort auf das Signalisieren (704) das System bzw. mindestens einer der Netzwerkknoten in eine Fehlerbetriebsart versetzt wird oder das Verzögern (106) zumindest für den ersten Typ von Nachrichten auf einen Wert reduziert wird, bei dem Signallaufzeit einen vorbestimmten Wert nicht überschreitet.
10. Verfahren nach Anspruch 9, wobei das Verzögern (106) auf einen Wert, bei dem die Signallaufzeit einen vorbestimmten Wert nicht überschreitet, die erneute Ermittlung des Grenzwerts mittels eines Verfahrens nach einem der Ansprüche 1 bis 6 umfasst.
11 . Netzwerkknoten (900), eingerichtet zur Kommunikation mit einem anderen Netzwerkknoten über eine direkte Verbindung (3), mit mindestens einem Prozessor (902), flüchtigem (904) und nicht-flüchtigem (906) Speicher sowie einer Netzwerkschnittstelle (908), wobei in dem nichtflüchtigen Speicher (906) Computerprogramminstruktionen abrufbar gespeichert sind welche, wenn sie von dem mindestens einen Prozessor ausgeführt werden, den Netzwerkknoten (900) zur Ausführung eines Verfahrens zur Ermittlung eines Grenzwerts für die Signallaufzeit und/oder zur Überwachung der Integrität der Kommunikation nach einem der vorhergehenden Ansprüche 1 bis 10 einrichten.
12. System, insbesondere Fahrzeugsystem, mit zwei oder mehr jeweils über direkte Verbindungen miteinander verbundene Netzwerkknoten, wobei zumindest einer der Netzwerkknoten ein Netzwerkknoten (900) nach Anspruch 11 ist.
13. Computerprogrammprodukt umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren nach einem oder mehreren der Ansprüche 1 bis 10 auszuführen.
14. Computerlesbares Medium, auf dem das Computerprogrammprodukt nach Anspruch 13 gespeichert ist.
EP23828345.1A 2022-12-13 2023-12-01 Verfahren zum überwachen einer kommunikationsverbindung zweier direkt miteinander verbundener netzwerkknoten Pending EP4635150A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022213581.4A DE102022213581A1 (de) 2022-12-13 2022-12-13 Verfahren zum überwachen einer kommunikationsverbindung zweier direkt miteinander verbundener netzwerkknoten
PCT/DE2023/200242 WO2024125733A1 (de) 2022-12-13 2023-12-01 Verfahren zum überwachen einer kommunikationsverbindung zweier direkt miteinander verbundener netzwerkknoten

Publications (1)

Publication Number Publication Date
EP4635150A1 true EP4635150A1 (de) 2025-10-22

Family

ID=89321676

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23828345.1A Pending EP4635150A1 (de) 2022-12-13 2023-12-01 Verfahren zum überwachen einer kommunikationsverbindung zweier direkt miteinander verbundener netzwerkknoten

Country Status (4)

Country Link
EP (1) EP4635150A1 (de)
CN (1) CN120303917A (de)
DE (1) DE102022213581A1 (de)
WO (1) WO2024125733A1 (de)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012216689B4 (de) * 2012-09-18 2017-05-04 Continental Automotive Gmbh Verfahren zur Überwachung eines Ethernet-basierten Kommunikationsnetzwerks in einem Kraftfahrzeug
EP2736194B1 (de) * 2012-11-27 2017-09-27 ADVA Optical Networking SE Latenzüberwachungspunkt
DE102018213898B4 (de) * 2018-08-17 2020-03-19 Continental Automotive Gmbh Überwachung einer Netzwerkverbindung auf Abhören

Also Published As

Publication number Publication date
CN120303917A (zh) 2025-07-11
DE102022213581A1 (de) 2024-06-13
WO2024125733A1 (de) 2024-06-20

Similar Documents

Publication Publication Date Title
EP3501154B1 (de) Bereitstellen einer gesicherten kommunikation innerhalb eines echtzeitfähigen kommunikationsnetzwerkes
DE102019220096B4 (de) Verfahren zur Absicherung der Zeitsynchronisation eines Ethernet-Bordnetzes
DE102012216689B4 (de) Verfahren zur Überwachung eines Ethernet-basierten Kommunikationsnetzwerks in einem Kraftfahrzeug
EP3794751B1 (de) Verfahren zum bestimmen einer synchronisationsgenauigkeit, computerprogramm, kommunikationseinheit und kraftfahrzeug
DE112016003907T5 (de) Weiterleitungsvorrichtung
EP4078863B1 (de) Verfahren zur prüfung der gültigkeit von sensordaten eines ethernet-bordnetzes
EP3295645B1 (de) Verfahren und anordnung zur rückwirkungsfreien übertragung von daten zwischen netzwerken
DE102019220498B4 (de) Verfahren zur Absicherung der Zeitsynchronisation in einem Server ECU
WO2018077528A1 (de) Erkennung von manipulationen in einem can-netzwerk mittels überprüfung von can-identifiern
DE102020125262A1 (de) Warnsystem für Controller Area Networks
EP3177973A1 (de) Verfahren zum betreiben einer sicherheitssteuerung und automatisierungsnetzwerk mit einer solchen sicherheitssteuerung
DE102017219661A1 (de) Verfahren zum Betreiben eines Steuergeräts
EP2829011A1 (de) Verfahren und vorrichtung zur erzeugung kryptographisch geschützter redundanter datenpakete
EP2695324B1 (de) Verfahren zum aussenden von nachrichten mit integritätsschutz
EP3688951B1 (de) Verfahren zum erfassen eines angriffs auf ein steuergerät eines fahrzeugs
EP4635150A1 (de) Verfahren zum überwachen einer kommunikationsverbindung zweier direkt miteinander verbundener netzwerkknoten
EP2839601B1 (de) Feldbus-datenübertragung
DE102019217037A1 (de) Verfahren zur Absicherung der Zeitsynchronisation in einem Netzwerk
EP4635133A1 (de) Authentifizierungsgerät für ein fahrzeug
DE102013204371B4 (de) Verfahren und Bussystem zum protokollunabhängigen Übertragen von Standarddatenpaketen mit Sicherheitsdaten
DE102017208735A1 (de) Verfahren und Vorrichtung zum Schutz einer Kommunikation zwischen mindestens einer ersten Kommunikationseinrichtung und wenigstens einer zweiten Kommunikationseinrichtung insbesondere innerhalb eines Kommunikationsnetzwerkes einer industriellen Fertigung und/oder Automatisierung
DE102023112245B3 (de) Verfahren zur Datenübertragung, Übertragungssystem zur Datenübertragung und Fahrzeug
EP2446599A1 (de) Gegen manipulation geschützte datenübertragung zwischen automatisierungsgeräten
DE102023202226A1 (de) Verfahren zum Weiterleiten von Daten von einer Mehrzahl von Datenquellen an eine Datensenke
DE102020209043A1 (de) Verfahren zum Betreiben eines Netzwerks und Bypassverbindungseinheit

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20250714

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: AUMOVIO GERMANY GMBH

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)