23.03.2017 Views

wilamowski-b-m-irwin-j-d-industrial-communication-systems-2011

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

41-6 Industrial Communication Systems<br />

• Acknowledged service<br />

Each destination node returns an acknowledge message to the source to confirm the transmission.<br />

If it is missing, the transmission will be repeated after a certain time period. Missing acknowledges<br />

from individual group members will be inquired by resending the message accompanied<br />

with special reminder messages. Duplicated messages are recognized by a transaction ID contained<br />

in each packet. This service can be used for unicast and multicast packets.<br />

• Unacknowledged repeated service<br />

If acknowledge messages should be avoided, especially group messages can create many of them,<br />

and additionally the probability of unrecognized message losses should be lowered, the unacknowledged<br />

repeated transmission can be used. This service will send the message consecutively<br />

several times. The number of repetitions is configured by a retry count property. As in<br />

the acknowledged service, transaction IDs avoid the duplicate processing of messages. Also, this<br />

service can be used for unicast and multicast packets.<br />

The session layer offers a request/response service. This service is used to execute actions, which return<br />

data to the sender, such as most of the network management messages. This data, contained in the<br />

response packet, consists of a success or fail code and the requested data. Like in acknowledged service,<br />

requests will be repeated if the response was not received for a certain time. This request/response service<br />

is used alternatively to the services of the transport layer.<br />

To avoid unauthorized execution of commands and requests, the authentication service can be<br />

used in addition to the acknowledged and request/response service. The authentication service uses<br />

a challenge–response authentication method to test the authorization of the sender. Therefore, each<br />

LonWorks node in the network has the same shared secret key, set in the configuration phase during<br />

the assignment of the node’s logical address (domain, subnet, and node ID). After receiving a message,<br />

the receiver transmits a random number (the challenge) to the initial sender, who encrypts it<br />

with his secret key and sends it back (the response). The receiver compares the returned value with the<br />

value he has calculated locally. If they match, the authorization is confirmed and the initially received<br />

command or request is executed.<br />

In LonWorks, a 48 bit secret key is used to encrypt a 64 bit random number resulting in a 64 bit<br />

encrypted value. Since the encryption algorithm is not published, its quality cannot be evaluated.<br />

Moreover, a 48 bit key is not strong enough for brute force attacks on high-bandwidth channels. Another<br />

weakness is the distribution of the shared secret key, which has to be sent in unencrypted network management<br />

messages over the unsecure bus.<br />

Authentication can be used for all network management transactions and can be activated for each<br />

network variable connection, too.<br />

41.3.5 application and Presentation Layer<br />

The application and presentation layers form a unit in LonWorks. They offer services to support the<br />

application on the, one hand and to execute network management and diagnostic functions, on the other<br />

hand. These services and functions are<br />

• Network variable propagation<br />

Network variables are basic <strong>communication</strong> objects, which define the logical datapoints of the<br />

application. Input network variables receive values from the network and output network variables<br />

send values to the network. The connections between output and input variables are realized by<br />

bindings, which are configured by setting special table entries in the source node via a system<br />

integration tool. Whenever the value of an output network variable is changed, these table entries<br />

are used for sending a network variable propagation message to those nodes, which contain the<br />

bound input variables. According to these messages, the bound nodes update the values of their<br />

input variables.<br />

© <strong>2011</strong> by Taylor and Francis Group, LLC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!