Googling “error control on fiber”:

In ‘backwards error control’ you include something like a check sum and ask for retransmission if the sum does not agree. In ‘forward error control’ you include more complex information, like a Hamming code, with which the recipient can not only detect a common class of transmission errors, but correct them as well.

Cern describes “special characters and error control” as occurring at level ‘FC-1’ of the fiber channel technology. This is what I recall from bit-stuffing technologies such as SDLC. Section 5.2 refers to a 32 bit CRC. Section 5.3 says that ‘frames’ compose a ‘sequence’ and the sequence is error controlled. Their frame is like our packet and carries a ‘destinations’ and its own CRC. Section 5.6 goes on to describe flow control consisting of a window of allowable frame numbers and frames payloads are limited to about 2KB. I don’t expect to take much from this page but it is a good source of ideas against which to check ours. I think fiber channels are not meant to move data more than a few miles. I think the design is optimized for campus size installations.

This is a more nearly definitive document on fiber channels. It covers much of the same material but in more detail. It suggest top speeds of about 1Gb/s.

Much the same information is here. There are a few comments on errors but retransmission seems to be an implicit assumption.

Diversity coding: using error control for self-healing in communication networks—a pregnant title behind a firewall.

This introduces the notion of forward error control. It claims that FEC is deployed in submarine cables. It does not say what systems are deployed.

Error and Flow Control Protocols for Terabit Optical Networks seems to be a paper that requires some study.

Optical Fiber Telecommunications by Ivan Kaminow—a seemingly relevant book.

Error Correcting Codes in Optical Communication Systems, thesis by Mangesh Abhimanyu Ingale has considerable math theory on FEC.

Googling “forward error control”:

Wikipedia has an excellent philosophical, mathematical and theoretical introduction, of course. There is no deployment information.
For now I take away the impression that error control is on blocks demarked by special characters with nothing very much like the ‘blocks’ mentioned several places on my pages. My only misgiving is that short packets will be unduly burdened with FEC overhead. Perhaps we should wait and go with the flow and perhaps later develop a link protocol which carries a batch of small packets under one FEC block. I do not worry about small packets overloading the cache of the router. They may be the most common sort of packet, but they are not the bulk of the data.

One ‘rabbit out of hat’ strategy should be mentioned—poor man’s forward error control: If the BER (bit error rate) of the comm link reaches 10−4 which would effectively shut down the link with any normal error control, merely begin to transmit everything twice with frequent checksums. The good pieces can be spliced together at the end and ask for retransmit of remaining holes.

Grouping Data