What is the reason for implementing a system without an application layer?
less overead, constrained devices do not have the resources for a full stack
On what layers, and how, can you transport data without an application layer protocol?
on top of lower layers eg MAC or IP
Give an example of data witout an application layer protocol (that is not in the slides, or lecture notes)
MAC Header with one bit payload if light is on or not
How can you connect such devices to an IP network and to applications using standard application layer protocols?
with a data broker, this then translates the payload so an application server can use the information
What is SCADA and what are typical use-cases?
SCADA (supervisory control and data acquisition) is a control system architecture comprising computers, networked data communications and graphical user interfaces for high-level supervision of machines and processes. It also covers sensors and other devices, such as programmable logic controllers, which interface with process plant or machinery.
Industrial processes include manufacturing, process control, power generation, fabrication, and refining, and may run in continuous, batch, repetitive, or discrete modes.
Infrastructure processes may be public or private, and include water treatment and distribution, wastewater collection and treatment, oil and gas pipelines, electric power transmission and distribution, and wind farms.
Facility processes, including buildings, airports, ships, and space stations. They monitor and control heating, ventilation, and air conditioning systems (HVAC), access, and energy consumption.
Outline and explain the Modbus serial architecture?
How is Modbus addressing done?
The Modbus serial addressing space comprises 256 different addresses.
The Address 0 is reserved as the broadcast address.
All worker nodes must recognize the broadcast address.
The Modbus Master node has no specific address, only the worker nodes must have an address. This address must
be unique on a Modbus serial bus.
How are data transmitted form PLCs to a central application?
over serial bus, master initiates one request at a time
How many workers can be handled by one Modbus controller?
247
What does a Modbus frame look like?
What layers of the OSI model are used by Modbus?
What reliability mechanisms are implemented in CoAP?
By marking messages as Confirmable (CON) in CoAP header
How is message deduplication handled in CoAP?
each request hast unique ID
Explain and outline the CoAP congestion control.
Basic congestion control maximal retrnsmit of message is 4 times
Outline a confirmable message exchange using CoAP with
a) piggybacked response and
b) separate response
a)
b)
What are advantages of generic web-based protocols like http?
well known open standard
What could limit the use of generic web-based protocols? Name at least 3 limitations
constrained devices/netowrks, deices that do not work with web based protocols
What was XMPP originally designed for?
Designed for instant messaging, and presence information
Streaming of XML elements close to real-time
Proposed as protocol for Smart Grids by IETF (RFC 6272)
For what use-case is XMPP positioned by the IETF?
Proposed as protocol for Smart Grids by IETF
What are typical IoT use-cases for generic Web-based protocols?
non constrained devices/network, d
Give examples where and reasons why you would use generic web-based protocols
easy to implement, good documentation for scaling
Explain the CoAP communication model?
Which network application architecture is used by CoAP?
request/response
Which application layer protocol is CoAP derived from?
HTTP
Which transport layer protocol is used by CoAP?
UDP
What methods are defined by CoAP?
get, post, put, delete
How is a method indicated in a CoAP header? Give an example.
Outline a basic CoAP communication.
What are HTTP-CoAP proxies used for?
translate traffic between CoAP and Http
Explain the MQTT communication model?
Which network application architecture is used by MQTT?
devices that generate the data, data broker that brings data into an standardised model and publishes the data to devices sthat subscribed to data
Which transport layer protocol is used by MQTT?
TCP
Explain the naming convention for MQTT topics. Give an example
Structured by level separator “/”
− Divides topic name into multiple topic levels
What wildcards can be used by MQTT?
“+” (single-level) and “#” (multi-level)
Outline and explain the MQTT 2 byte fixed header?
Meaning of “Message Type”, “DUP”, “QoS”, “RET” of MQTT?
The first MQTT field in the header is Message Type, which identifies the kind of MQTT packet within a
message. Fourteen different types of control packets are specified in MQTT version 5.0. Each of them
has a unique value that is coded into the Message Type field. Note that value 0 is reserved.
DUP (Duplication Flag): This flag, when set, allows the client to notate that the packet has been sent
previously, but an acknowledgement was not received.
The QoS header field allows for the selection of three different QoS levels.
The next field is the Retain flag. Only found in a PUBLISH message, the Retain flag notifies the server to
hold onto the message data. This allows new subscribers to instantly receive the last known value
without having to wait for the next update from the publisher.
The last mandatory field in the MQTT message header is Remaining Length. This field specifies the
number of bytes in the MQTT packet following this field.
Securing MQTT connections through TLS is considered optional because it calls for more resources on
constrained nodes. When TLS is not used, the client sends a clear-text username and password during
the connection initiation. MQTT server implementations may also accept anonymous client
connections (with the username/password being “blank”). When TLS is implemented, a client must
validate the server certificate for proper authentication. Client authentication can also be performed
through certificate exchanges with the server, depending on the server configuration.
In the illustrated MQTT network, which consists of a pressure gauge, a temperature sensor and two
other existing MQTT clients (1&2), another client (NEW MQTT client) wants to connect. This client
wants to read out the pressure values of the pressure gauge "dev1/pressure".
Which MQTT messages must be exchanged between which nodes until the new client receives the
pressure value of the topic "dev1/pressure" for the first time? The new client has never been
connected to the network before and there is no authentication needed.
Pressure gauge QoS=1, NEW MQTT client QoS=0.
You must list the messages in the correct order.
Subscribe Cleint to Broker
Publish Gauge to Broker
PubAck Broker to Gauge
Publish Broker to Client
What types of QoS are defined in MQTT?
Last changed3 months ago