File:Message flows.svg

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Original file(SVG file, nominally 682 × 655 pixels, file size: 30 KB)



To visualize protocol layering and protocol suites, the message flows in and between two systems, A and B, are shown in this diagram. The systems both make use of the same protocol suite. The vertical flows (and protocols) are in system and the horizontal message flows (and protocols) are between systems. The message flows are governed by rules, and dataformats specified by protocols. Each protocol belongs to a functional class and the classes are said to be layered. The blue lines therefore mark the boundaries of the (horizontal) protocol layers.

The vertical protocols are not layered because they don't obey the protocol layering principle which states that a layered protocol is designed so that layer n at the destination receives exactly the same object sent by layer n at the source. The horizontal protocols are layered protocols and all belong to the protocol suite. Layered protocols allow the protocol designer to concentrate on one layer at a time, without worrying about how other layers perform. The vertical protocols neednot be the same protocols on both systems, but they have to satisfy some minimal assumptions to ensure the protocol layering principle holds for the layered protocols. This can be achieved using a technique called encapsulation.

Usually, a message or a stream of data is divided into small pieces, called messages or streams, packets, IP datagrams or network frames depending on the layer in which the pieces are to be transmitted. The pieces contain a header area and a data area. The data in the header area identifies the source and the destination on the network of the packet, the protocol, and other data meaningful to the protocol like CRC's of the data to be send, data length, and a timestamp.

The rule enforced by the vertical protocols is that the pieces for transmission are to be encapsulated in the data area of all lower protocols on the sending side and the reverse is to happen on the receiving side. The result is that at the lowest level the piece looks like this: 'Header1,Header2,Header3,data' and in the layer directly above it: 'Header2,Header3,data' and in the top layer: 'Header3,data', both on the sending and receiving side. This rule therefore ensures that the protocol layering principle holds and effectively virtualizes all but the lowest transmission lines, so for this reason some message flows are coloured red. To ensure both sides use the same protocol, the pieces also carry data identifying the protocol in their header.

Created using: Inkscape 0.47 / KDE 4.4.2 / Kubuntu 10.04.


I (Jsoon eu (talk)) created this work entirely by myself.


08:37, 6 December 2010 (UTC)


Jsoon eu (talk)

(Reusing this file)

See below.

Other versions Message flows.png


I, the copyright holder of this work, hereby publish it under the following licenses:
You may select the license of your choice.

File history

Click on a date/time to view the file as it appeared at that time.

current14:51, 6 December 2010Thumbnail for version as of 14:51, 6 December 2010682 × 655 (30 KB)Jsoon eu (talk | contribs)improves rendering
09:09, 6 December 2010Thumbnail for version as of 09:09, 6 December 2010682 × 655 (30 KB)Jsoon eu (talk | contribs)remove filter
08:37, 6 December 2010Thumbnail for version as of 08:37, 6 December 2010682 × 655 (30 KB)Jsoon eu (talk | contribs){{Information |Description = Message flows between two systems using a protocol suite |Source = I (~~~) created this work entirely by myself. |Date = ~~~~~ |Author = ~~~ |other_versions = Message flows.png }}
  • You cannot overwrite this file.
The following pages on the English Wikipedia link to this file (pages on other projects are not listed):