S
S
slinkinone2020-10-02 16:56:33
Computer networks
slinkinone, 2020-10-02 16:56:33

What is the most complex network protocol?

Let me explain what I mean by complexity:
1. The presence in the protocol of fields that affect the order of bytes when subtracting
2. Different formats for interpreting data - for example ASCII , UTF-* , etc.
3. TLV blocks that contain sub-blocks, and those sub-blocks, etc.;
4. The presence of arrays - for example, a structure:

slotArraySize (4 bytes), (slot0 [1 byte], slot1 [1 byte], slot2 [1 byte])
0x03, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09
->
slotArray = [ {0x00, 0x01, 0x02}, { 0x03, 0x04, 0x05}, {0x07, 0x08, 0x09}];

5. The same block can be dissected differently based on the version of the block; (for example , PN-IO protocol PDIRDatahas a different structure depending on the block version).
6. The protocol dissector depends on the underlying protocols. For example , a PN-IO dissector can rely on UDP ports to determine the payload type , or on a Data Representation Format Label ( RPC ) field.
7. The presence of fields that are not multiples of two. For example MRP protocol - OUI ( organizational unique id ) has a size of 3 bytes.

The protocol can be both open and widespread (HTTP , SCTP , etc.) and industrial ( Bacnet , Modbus , Profinet protocol stack).

Perhaps I did not name other criteria for complexity - I will be glad to know.

Answer the question

In order to leave comments, you need to log in

4 answer(s)
D
Denis Sechin, 2020-10-02
@tamogavk

Evpn+vxlan

A
Alexey Cheremisin, 2020-10-02
@leahch

Well, I'll be unoriginal. But in my opinion, the most complex of those seen and operated by me personally is infiniband! There are virtual networks, and distributed infrastructure, and a bunch of emulations on top, starting from ethernet and ending with rdma. Although the latter seems to be in the new ethernet standards.

S
Saboteur, 2020-10-03
@saboteur_kiev

Let me explain what I mean by complexity:

1. The presence in the protocol of fields that affect the order of bytes when subtracting

This applies mainly to transport layer protocols, and they must be simple and universal so as not to carry unnecessary load. Higher-level protocols, which can have many additional features, usually work on top of simple ones, and the presence of fields that affect byte order is IMHO not related to the complexity of the protocol, but to its position in OSI
2. Different formats for interpreting data - for example ASCII, UTF-*, etc.
This applies only to specific text-based protocols, usually application layer, such as HTTP, telnet. Because the lower protocols simply work with a set of bytes, more often blocks.
7. The presence of fields that are not multiples of two. For example MRP protocol - OUI (organizational unique id) has a size of 3 bytes.
Not related to difficulty at all. When working with blocks or headings, the margins can be anything.
Yes, just take not a highly specialized but a general protocol, such as TCP and try to deal with ALL of its features. Just drown.

M
mayton2019, 2020-10-02
@mayton2019

There are no boundaries for perfection. And if we consider integration with the Setun computer, which works not in binary but in ternary number system, then I think it would be a real hell, and a challenge for someone who wanted to integrate with it from modern systems.
I don't know if this machine exists today, but I hope I gave some food for thought.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question