L7 Flashcards
What are the interaction models of application protocols?
Request/response -> client/server (HTTP)
Publish/subscribe -> publisher/subscriber
Handshaking and data transfer
What is the HTTP protocol?
Allows devices to exchange information about their status through standardized CRUD functions
C (POST) R (GET) U (PUT) D (DELETE)
Does not define any QoS (quality of service) levels
Uses the TLS protocol and uses TCP ad the transport layer
What is one advantage and one disadvantage of using HTTP?
Pros:
- Enables REST architectures
- TCP guarantees reliable communication
- Appropriate for large data transfer, latency insensitive
Cons:
- Use of TCP and TLS lead to high overheads
- Does not support server push notifications
- Size of header and message payloads depend on the web server
What are some characteristics of the CoAP protocol?
(Constrained Application Protocol)
Interoperable with HTTP
Transport protocol is UDP
QoS is enable though CON and NON
What are some characteristics of the Mosquito protocol?
MQTT (Message Queuing Telemetry Transport), also called Mosquito
Utilizes the publish/subscribe model
A binary protocol
Header is of at least 2-bytes (size of packet)
Supports 3 QoS levels
What are the 3 QoS levels of MQTT?
QoS 0: delivers without confirmation
QoS 1: message confirmation is necessary; resends if not confirmed
QoS 2 (less appropriate for IoT): guarantees that the message will be delivered exactly once without duplications
What are some characteristics of the AMQP protocol?
AMQP (Advanced Message Queueing Protocol)
Binary protocol (Fixed headers of 8-bytes)
Heavier than MQTT
Uses TCP for transport protocol and TLS/SSl and SASL for security
Offers two QoS levels
Reliability is one of the core features of AMQP
What are some characteristics of the Websocket protocol?
Handshake and a data transfer protocol
Enables two-way communication
Utilizes TCP at the transport layer
Can decrease the latency by a factor of three compared to HTTP
Evaluate the 4 protocols: CoAP, MQTT, HTTP, and AMQP
MQTT, AMQP , and HTTP run on TCP, therefore the message overhead is entailed. It also gives a higher latency than other transport protocol.
CoAP runs on UDP does not add connection overheads.
HTTP is the most verbose and heavy-weight protocol.
CoAP and MQTT are designed for low bandwidth and resource-constrained devices.
Ranking for message overhead, message size, power consumption, resource requirement (h to l): HTTP -> AMQP -> MQTT -> CoAP
For reliability, MQTT offers the highest level of Qos.
For interoperability, HTTP is the most interoperable because all that is needed is an HTTP stack.
HTTP has the highest level of standardisation.
When would you use AMQP over MQTT?
MQTT was built as a lighteight protocol for devices with limited resources, such as IoT constrained nodes
AMQP is also lightweight but more suited for more powerful devices due its processing power requirements
What are the two evaluation metrics for evaluation protocols?
Protocol efficiency: the ratio between the number of useful information bytes and the total number of bytes exchanged
Round Trip Time (RTT)