Fix in the OSI model

Imported from previous forum

[ original email was from Toby O’Sullivan - wxyz4321@hotmail.com ]
Dear All,

I am just getting involved with FIX, and as a newcomer, am slightly confused about where FIX lies as a protocol.

Does it sit on top of of the TCP stack (i.e. take the part of Session, Presentation and Application layers of the OSI model)?

If so, then won’t the TCP layer handle error correction/missing packets etc.

To my naive view, I can’t see what error correcting role is required of FIX.

Sorry if this sounds dumb.

Toby

It sits above the session layer. The FIX protocol was designed to be independent of a particular network protocol (i.e. to be able to be supported over X.25 as well as TCP). My experience is that the majority of implementations use TCP. My experience also shows cases in which the packet detection, etc. comes into value when using TCP especially when proxy firewalls are involved (i.e. you actually have multiple sockets forming one logical one).

> Dear All,
>
> I am just getting involved with FIX, and as a newcomer, am slightly confused about where FIX lies as a protocol.
>
> Does it sit on top of of the TCP stack (i.e. take the part of Session, Presentation and Application layers of the OSI model)?
>
> If so, then won’t the TCP layer handle error correction/missing packets etc.
>
> To my naive view, I can’t see what error correcting role is required of FIX.
>
> Sorry if this sounds dumb.
>
> Toby
>

[ original email was from Bob Lamoureux - blamoureux@bridge.com ]
Even with TCP there is the possibility of lost messages… TCP only guarantees that the message will be delivered to the client process. Once the client process has received the message, all kinds of hell can break loose BEFORE the message is processed at the business level. (Queue corruption, system crashing, etc…). One should not assume that receipt of a message at the TCP level assumes the message to be processed at a business level. Therefore, FIX has implemented "business-level" message synchronization. This synchronization spans across multiple "process" sessions and therefore sits at a higher level (application-level) on the stack. (in the OSI model).

> Dear All,
>
> I am just getting involved with FIX, and as a newcomer, am slightly confused about where FIX lies as a protocol.
>
> Does it sit on top of of the TCP stack (i.e. take the part of Session, Presentation and Application layers of the OSI model)?
>
> If so, then won’t the TCP layer handle error correction/missing packets etc.
>
> To my naive view, I can’t see what error correcting role is required of FIX.
>
> Sorry if this sounds dumb.
>
> Toby
>