My friend Alan said … Suppose your FIX process crashed or lost power, and reloads from disk the last sequence received. It would then receive a live seq # higher than expected. CME documentation states:
… a given system, upon detecting a higher than expected message sequence number from its counterparty, requests a range of ordered messages resent from the counterparty.
Major difference from TCP sequence number — FIX has no Ack. See Ack in FIX^TCP
— Sequence number reset policy:
After a logout, sequence numbers is supposed to reset to 1, but if connection is terminated ‘non-gracefully’ sequence numbers will continue when the session is restored. In fact a lot of service providers never reset sequence numbers during the day. There are also some, who reset sequence numbers once per week, regardless of logout.