Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Код обнаружения ошибок, используемый в протоколах связи
Error detecting code used in communications protocols
Последовательность проверки фрейма (FCS) — это код обнаружения ошибок, добавляемый к фрейму в протоколе связи. Фреймы используются для передачи данных полезной нагрузки от отправителя к получателю.
A frame check sequence (FCS) is an error detecting code added to a frame in a communication protocol. Frames are used to send payload data from a source to a destination.
Цель
Все кадры, а также биты, байты и поля, содержащиеся в них, подвержены ошибкам, возникающим из различных источников. Поле FCS содержит число, которое исходный узел вычисляет на основе данных в кадре. Это число добавляется в конец отправляемого кадра. Когда целевой узел получает кадр, число FCS пересчитывается и сравнивается с числом FCS, включенным в кадр. Если эти два числа не совпадают, предполагается наличие ошибки, и кадр отбрасывается. FCS обеспечивает только обнаружение ошибок. Восстановление после ошибок должно выполняться другими способами. Например, Ethernet определяет, что поврежденный кадр следует отбросить, и не предусматривает никаких действий для его повторной передачи. Другие протоколы, в частности протокол управления передачей (TCP), могут обнаружить потерю данных и инициировать повторную передачу и восстановление ошибок.
All frames and the bits, bytes, and fields contained within them, are susceptible to errors from a variety of sources. The FCS field contains a number that is calculated by the source node based on the data in the frame. This number is added to the end of a frame that is sent. When the destination node receives the frame the FCS number is recalculated and compared with the FCS number included in the frame. If the two numbers are different, an error is assumed and the frame is discarded. The FCS provides error detection only. Error recovery must be performed through separate means. Ethernet, for example, specifies that a damaged frame should be discarded and does not specify any action to cause the frame to be retransmitted. Other protocols, notably the Transmission Control Protocol (TCP), can notice the data loss and initiate retransmission and error recovery.
Реализация
FCS часто передается таким образом, что приемник может вычислять накопленную сумму по всему кадру, включая завершающий FCS, и ожидать фиксированный результат (например, ноль) при корректной передаче. Для Ethernet и других протоколов IEEE 802 стандарт определяет, что данные передаются, начиная с младшего бита, а FCS – с старшего бита (бит 31). Альтернативным подходом является генерация инверсии битов FCS, чтобы инвертированный FCS также можно было передавать, начиная с младшего бита (бит 0). Подробную информацию можно найти в [ссылка].
The FCS is often transmitted in such a way that the receiver can compute a running sum over the entire frame, together with the trailing FCS, expecting to see a fixed result (such as zero) when it is correct. For Ethernet and other IEEE 802 protocols, the standard states that data is sent least significant bit first, while the FCS is sent most significant bit (bit 31) first. An alternative approach is to generate the bit reversal of the FCS so that the reversed FCS can be also sent least significant bit (bit 0) first. Refer to for more information.
Типы
Самым популярным алгоритмом FCS является циклический избыточный код (CRC), используемый в Ethernet и других протоколах IEEE 802 с 32 битами, в X.25 с 16 или 32 битами, в HDLC с 16 или 32 битами, в Frame Relay с 16 битами, в протоколе Point-to-Point (PPP) с 16 или 32 битами, а также в других протоколах канального уровня. Протоколы семейства интернет-протоколов обычно используют контрольные суммы.
By far the most popular FCS algorithm is a cyclic redundancy check (CRC), used in Ethernet and other IEEE 802 protocols with 32 bits, in X.25 with 16 or 32 bits, in HDLC with 16 or 32 bits, in Frame Relay with 16 bits, in Point to Point Protocol (PPP) with 16 or 32 bits, and in other data link layer protocols. Protocols of the Internet protocol suite tend to use checksums.