November 29, 2023

Top 5 Network Deployment Strategies (Gilad David Maayan)

 

Top 5 Network Deployment Strategies (Gilad David Maayan)

What Is Network Deployment?

Network deployment is the implementation, setup, and management of a network infrastructure in a specific environment. This process involves several steps, including planning, designing, installing, configuring, and maintaining the network to ensure seamless operation and accessibility.

November 28, 2023

Tonys Extra Bits - A Step-By-Step Guide to Crack Wifi Password with Python

Tonys Extra Bits - A Step-By-Step Guide to Crack Wifi Password with Python
 This article aims to guide curious ones like you, techy or non-techy gaining easy wifi access anywhere you go with python. Let’s dive in…

1. Dependency pywifi

pywifi provides a cross-platform Python module for manipulating wireless interfaces. Easy to use; Supports Windows and Linux.

2. Construct a wifi dictionary

Including numbers (0–9), letters (a-z, A-Z), special characters (!@#$%^&*()_+=-)

A normal password consists of 8 characters with only numbers and small letters so we could ....... https://medium.com/@caodanju/a-step-by-step-guide-to-crack-wifi-password-with-python-22be0816f51c

November 27, 2023

Server Delay

Server Delay

When it comes to packet/application analysis the trickier ones involve multi-tier or multifunction servers.

For example, you might use a web browser to access a server and when you make a query, the webserver will make a database query which might be an external or local server.

November 25, 2023

Just another week or so..

 

Just another week or so..

I've been posting non-article-related stuff for the past few weeks.

Posts like news, my random thoughts and software.


Let me know if you want so continue to see more.

Like this one ; my client was so impressed that I didnt mind moving and tidying non-networking equipment to make room for networking equipment

November 24, 2023

Wireshark's tshark duration option

 

Wireshark's tshark duration option


Learn how to use the tshark command line utility with the autostop duration parameter


November 22, 2023

Why Bother?

 

Why Bother?

My sister-in-law’s Starbucks order is something like “Venti non-fat decaf low-foam not-too-hot lactose free artificially sweetened latte.” I’ll concede that we all have different reasons for doing what we do, but I’m sure Starbucks could simplify things by adding a drink to the menu dubbed the “Why Bother?” I can visualize a whole new line of products – starting with decaf coffee, non-fat ice cream and non-alcoholic beer – the “Why Bother” brand. It’s sure to sell in our WB world, but I don’t see the point.

November 20, 2023

Packet Generator - Packet Sender

 

Packet Generator - Packet Sender
Found a pretty neat packet generation tool that I wanted to share.

You can find packet sender at www.packetsender.com in many versions.

In the video, I used the Windows portable version and Wireshark to see how it behaves and overall, I was impressed.

November 18, 2023

Great Article about Link Layer Discovery Protocol (LLDP) by Edgar Francis

 

Great Article about Link Layer Discovery Protocol (LLDP) by Edgar Francis

LLDP it’s a nonproprietary protocol that works at layer 2. It is an open IEEE-standard 802.1AB. LLDP is an alternative to CDP. LLDP runs over the data link layer and it collects information about the neighboring devices.

November 16, 2023

November 15, 2023

Wireshark to Pivot Tables for Reporting




Since my Excel Chart video, I've gotten a few requests on how to do this with a Pivot table.


So here it is.


Enjoy.


November 13, 2023

WIFI Testing - Know your Tools

WIFI Testing - Know your Tools

The biggest challenge I face when training or troubleshooting WIFI is getting over that hurdle that “not all WIFI is equal”. It may sound silly and obvious at first but when you start paying attention you will see this misconception daily.

November 10, 2023

Using Wireshark's editcap to remove duplicate packets

Using Wireshark's editcap to remove duplicate packetsAs you get into capturing packets, you might find yourself in those scenarios where you end up with duplicate packets. It could be a result of your span config, location on your network, etc..

November 08, 2023

What Is Topology Mapping? (Gilad David Maayan)

 

What Is Topology Mapping? (Gilad David Maayan)

Topology mapping is a process of creating a graphical representation of the layout or design of a network, data center, or set of applications. A topology map is not merely a static diagram, but an interactive, dynamic blueprint of a system’s design.

November 06, 2023

Wireshark: Slicing And Splitting Trace Files

Wireshark: Slicing And Splitting Trace Files

With the introduction of packet capture devices, it is becoming common to get multi-gigabyte trace files.

When you have to analyze huge trace files, you basically only have 3 options:

- Suck it up and find something to do while your protocol analyzer of choice chugs through the trace file.

- Buy an application that specializes in analyzing and reporting using large trace files.

November 04, 2023

Private VLANs.. (internetworks)

 

Private VLANs.. (internetworks)

By default, our traffic is allowed to move unrestricted within a VLAN. One host sends packets to another host and it's heard only by the destination host this is the beauty of layer 2 switching.

November 01, 2023

What Is MQTT? The Future Messaging Protocol for IoT Networks

 

What Is MQTT? The Future Messaging Protocol for IoT Networks

What Is MQTT?

MQTT, or Message Queuing Telemetry Transport, is a communication protocol that enables the transfer of data in a machine-to-machine or Internet of Things (IoT) context. The protocol, which is designed for low-bandwidth, high-latency networks, uses a publish/subscribe architecture to facilitate the exchange of information. In essence, MQTT is a lightweight messaging protocol that provides a simple and efficient method for devices to communicate with each other.

The MQTT protocol operates over TCP/IP, which is the standard for internet connectivity and allows for reliable, ordered, and error-checked delivery of data. Unlike HTTP, which is a request-response protocol, MQTT uses a publish/subscribe model, allowing devices to send (publish) information to a server, which can then be sent (subscribed) to other devices. This makes MQTT an excellent choice for IoT applications, where devices often need to communicate with each other in real-time.

The use of MQTT has grown significantly in recent years, with a wide range of applications now leveraging the protocol. From home automation systems to industrial IoT applications, MQTT has become a core component in the world of IoT, enabling devices to communicate with each other efficiently and reliably.


History and Origins of MQTT

MQTT was first developed in the late 1990s by Dr. Andy Stanford-Clark of IBM and Arlen Nipper of Arcom (now Eurotech), to enable the monitoring of an oil pipeline through the desert. The goal was to create a protocol that could operate over satellite connections with high latency and low bandwidth.

MQTT was designed to solve the specific challenges faced in this context, such as the need for a small code footprint, efficient network utilization, and a method to ensure data delivery even in the event of network disruptions. The result was a protocol that provided a lightweight and reliable method for transmitting telemetry data.

Since its inception, MQTT has evolved and grown in popularity, particularly with the rise of the IoT. In 2013, MQTT was made an open standard by OASIS, allowing for broader adoption and development. Today, MQTT is used in a wide range of applications, from home automation systems to large-scale industrial IoT deployments.


Features of MQTT

Lightweight Protocol

One of the defining features of MQTT is its lightweight design. The protocol is designed to minimize network bandwidth usage and device resource requirements, making it particularly well-suited to IoT applications, where devices often have limited processing power and network connectivity.

The lightweight nature of MQTT is achieved through a simple, binary message format. Unlike protocols such as HTTP, which use a verbose, text-based format, MQTT uses a compact binary format to minimize the size of messages. Additionally, MQTT uses a fixed header, further reducing the size of messages and simplifying the parsing process.


Publish/Subscribe Model

Another key feature of MQTT is its use of a publish/subscribe model. This model allows devices to publish information to a server, which can then distribute this information to other devices that have subscribed to the relevant topic.

The publish/subscribe model provides a number of advantages over traditional request/response protocols. Firstly, it allows for real-time communication, as devices can receive updates as soon as they are published. Secondly, it allows for one-to-many communication, as multiple devices can subscribe to the same topic and receive the same updates. This makes MQTT particularly well-suited to IoT applications, where devices often need to communicate with each other in real-time.


Quality of Service (QoS) Levels

MQTT provides three levels of Quality of Service (QoS), which allow for different guarantees of delivery. The three levels are: QoS 0, where a message is delivered at most once; QoS 1, where a message is delivered at least once; and QoS 2, where a message is delivered exactly once.

These levels provide flexibility in terms of how data is transmitted. For example, in situations where data delivery is critical, a higher level of QoS can be used to ensure that data is delivered reliably. Conversely, in situations where bandwidth is limited, a lower level of QoS can be used to minimize network usage.


Retained Messages and Last Will Testament

MQTT also features the ability to retain messages and specify a "last will and testament". Retained messages are messages that are stored by the server and sent to any MQTT client that subscribes to the topic of the message. This allows for new subscribers to immediately receive the most recent message on a topic, rather than having to wait for the next update.

The "last will and testament" feature allows a client to specify a message that will be sent by the server in the event that the client unexpectedly disconnects. This can be used to alert other devices of the disconnection, allowing for corrective action to be taken if necessary.


The Benefits of MQTT for IoT

Scalability

One of the key benefits of MQTT in an IoT context is its scalability. Thanks to its lightweight design and publish/subscribe model, MQTT can handle a large number of connected devices and high volumes of messages, making it well-suited to large-scale IoT deployments.

In addition, MQTT's support for hierarchical topic structures allows for a high degree of flexibility in how devices are organized and how messages are routed. This allows for the creation of complex networks of devices, with the ability to easily add or remove devices as needed.


Efficient Data Transmission

MQTT's efficient data transmission is another key benefit. Thanks to its compact binary message format and fixed header, MQTT minimizes the amount of data that needs to be transmitted, reducing bandwidth usage and improving the efficiency of network utilization.

Furthermore, MQTT's support for different levels of Quality of Service allows for further optimization of network usage. For example, in situations where bandwidth is limited, a lower level of QoS can be used to minimize data transmission.


Real-time Communication

MQTT's publish/subscribe model enables real-time communication between devices. As soon as a device publishes an update, any devices subscribed to the relevant topic can receive the update. This allows for real-time monitoring and control of devices, which is critical in many IoT applications.

In addition, MQTT's support for retained messages and a "last will and testament" ensures that important updates are not missed, even in the event of network disruptions or device disconnections.


Reliability and Durability

Finally, MQTT provides reliability and durability in the face of network disruptions and device failures. Its support for different levels of Quality of Service ensures that data can be delivered reliably, even in challenging network conditions.


Comparison of MQTT with Other Protocols

Comparing MQTT with other protocols reveals its unique advantages and potential drawbacks. Let’s compare MQTT with HTTP, WebSockets, and CoAP to better understand its place in the communication protocol ecosystem.


MQTT vs. HTTP

HTTP, or Hypertext Transfer Protocol, is a standard protocol for transmitting data over the internet. It's a request-response protocol, meaning the client sends a request to the server, and the server responds with the requested data.

MQTT and HTTP differ greatly in their design philosophies. HTTP is a stateless protocol, meaning each request from a client to a server must contain all the information needed to understand and fulfill the request. This can lead to large amounts of redundant data being sent over the network, which is inefficient in terms of bandwidth.

In contrast, MQTT is a stateful protocol. This means it maintains a continuous connection between the client and the server. MQTT uses a publish/subscribe model, which allows messages to be pushed to the client as soon as they are available, rather than the client having to request the data.


MQTT vs. WebSockets

WebSockets is a protocol that provides full-duplex communication between a client and a server over a long-lived connection. It’s ideal for real-time web applications where data needs to be pushed from the server to the client instantly.

While MQTT and WebSockets might seem similar at first glance, they serve different purposes and have different strengths. WebSockets is a transport layer protocol, while MQTT is an application layer protocol. This means that MQTT provides a higher level of abstraction, including features like Quality of Service (QoS) and message retention.

WebSockets can be used with MQTT to provide real-time updates in web applications. MQTT over WebSockets can be an effective way to implement real-time IoT applications in a web environment.


MQTT vs. CoAP

CoAP, or Constrained Application Protocol, is another protocol designed for IoT applications. It’s a web transfer protocol for use with constrained nodes and constrained networks, providing a simple interface for accessing and manipulating web resources.

Compared to MQTT, CoAP is a more lightweight protocol. It’s designed to work well with low-power devices and networks with high packet loss. CoAP, like HTTP, is a request-response protocol, but it also supports the observe pattern, allowing clients to receive updates when a resource changes.

While MQTT is ideal for situations where a constant connection can be maintained, CoAP is designed to handle intermittent connectivity. CoAP also provides multicast support, which MQTT does not. This allows a single CoAP message to be delivered to multiple endpoints, which can be useful in certain IoT scenarios.


Conclusion

In conclusion, MQTT is a powerful protocol for IoT applications, particularly in situations where network bandwidth is at a premium, and connections may be unreliable. Its publish/subscribe model, coupled with its lightweight design, make it an excellent choice for many IoT scenarios. However, other protocols like HTTP, WebSockets, and CoAP also have their strengths, and the best choice will depend on your specific use case.



Author Bio: Gilad David Maayan

ree

Gilad David Maayan is a technology writer who has worked with over 150 technology companies including SAP, Imperva, Samsung NEXT, NetApp and Check Point, producing technical and thought leadership content that elucidates technical solutions for developers and IT leadership. Today he heads Agile SEO, the leading marketing agency in the technology industry.



Popular post in the past 30 days