ICCP Bilateral Tables Explained (TASE.2 Access Control)

Every ICCP link runs on a pair of bilateral tables. They decide who may connect, what they may see, and what they may do. They are also the single most common reason a new ICCP link doesn’t work on day one — not the protocol, not the network, the tables. This article covers what a bilateral table is,… Read More »

Zakaria El Intissar

What Is the ICCP Protocol? TASE.2 (IEC 60870-6) Explained

ICCP is the protocol utility control centers use to talk to each other. Not to substations. Not to RTUs. To other control centers: the neighboring utility, the regional transmission operator, the power pool, an independent generator’s dispatch center. Its official name is TASE.2, the Telecontrol Application Service Element 2. The standard behind it is the IEC 60870-6 series,… Read More »

Zakaria El Intissar

What Is AMQP 0.9.1? A Complete Guide to the Protocol

AMQP 0.9.1 is a message-oriented protocol that defines both a wire-level exchange format and a specific server model with exchanges, queues, bindings, and routing rules. It is best known as the native protocol of RabbitMQ, which is the most widely-deployed open source message broker in the world. Despite being called “legacy” in some OASIS documentation, AMQP 0.9.1 remains… Read More »

Zakaria El Intissar

MQTT 5 Payload Format Indicator & Content Type Explained

MQTT has always been data-agnostic. The broker treats the payload of every PUBLISH as an opaque byte string, forwards it verbatim, and never looks inside. That is one of the protocol’s core strengths — it means MQTT can carry anything without the broker needing to understand it. But it is also historically one of its weaknesses. In MQTT… Read More »

Zakaria El Intissar

What Is AMQP 1.0? A Complete Guide to the Protocol

AMQP is a wire-level messaging protocol standardized by OASIS and adopted as an ISO/IEC standard, designed for reliable, interoperable messaging between applications and messaging systems. Unlike protocols that assume a particular server model, AMQP 1.0 defines only the protocol between peers: what a message looks like on the wire, how it is transferred, and how delivery is negotiated.… Read More »

Zakaria El Intissar

MQTT vs AMQP: A Complete Comparison

If you are picking a messaging protocol for a new system, MQTT and AMQP are two of the most commonly-considered candidates. Both are mature, both have large ecosystems, and both are used in production at very large scale. But they were designed for different problems, and the comparison is more nuanced than most articles suggest — because AMQP… Read More »

Zakaria El Intissar

HTTP vs MQTT: Which to Use for Real-Time Messaging

If you are building something that needs to move data between clients and servers in real time — device telemetry, live dashboards, push notifications, chat, multiplayer state — you have several protocols to choose from, and HTTP and MQTT are two of the most common. On paper they look like alternatives; in practice they solve different problems well,… Read More »

Zakaria El Intissar

Open Source MQTT Broker: Mosquitto vs EMQX vs HiveMQ CE

If you have decided that MQTT is the right protocol for your project and now need to pick a broker to run it on, the good news is that the three most widely-used options are open source. The bad news is that “open source” hides some important differences: license type, what “free” actually covers, what you get in… Read More »

Zakaria El Intissar

SCADA and ICS: The Difference and How They Fit Together

SCADA and ICS are not two names for the same thing. ICS (Industrial Control System) is the category. SCADA (Supervisory Control and Data Acquisition) is one type of system inside that category. Every SCADA system is an ICS. Not every ICS is a SCADA system. That’s the whole answer in three sentences. The rest of this article explains… Read More »

Zakaria El Intissar

Modbus Unit Identifier Explained: Unit ID by Scenario

You just installed a Modbus TCP device. The manual says “set Unit ID to 1.” Your PLC configuration asks for a Unit ID. Another device manual says “Unit ID is ignored.” A third says “Unit ID must be 0xFF.” What is going on? Which one is right? All of them are right. The Unit Identifier — usually called… Read More »

Zakaria El Intissar