Когда данные передаются по существующим канал связи (линиям связи), то узла-источника до узла-назначения, то необходим руководствоваться таким способом передачи, чтобы приемник (узел-назначения) всегда точно знал, что именно в этот момент времени он будет принимать данные от узла-источника, другими словами требуется организовать синхронизацию источника и приемника. Одной из главный преимуществ вычислительных сетей - это передача информации на большие расстояния и как следствие, проблема синхронизации осуществляется сложнее, чем, например, при передаче данных на небольшие расстояния (USB, COM - порты) или между блоками внутри ЭВМ. На небольшой отдаленности как правило работает схема, в основе которой лежит использование отдельной тактирующей линии. То есть узел-назначения считывает данные только тогда, когда приходит тактирующий импульс.
Вариант использования отдельной тактирующей линии абсолютно не подходит для вычислительных сетей по той причине, что идеальных характеристик проводов кабелей не существует и на больших расстояниях рассинхронизация скорости распространения сигнала приводит к тому, что тактовый сигнал поступает позже или раньше соответствующего сигнала данных. И возможны ситуации, что один и тот же бит будет прочитан дважды или вообще пропущен. Еще одна немаловажная причина, из-за которой отказались использовать тактирующие линии, - банальная экономия количества проводов в кабеле. По этим причинам в вычислительных сетях используютсясамосинхронизирующиеся коды.
Самосинхронизирующиеся коды - специальные коды, которые предоставляют узлу-назначения информацию о том, когда именно необходимо выполнить распознавание очередного бита (или порции бит, если код ориентирован более чем на два состояния сигнала). Любой резкий перепад уровня сигнала - так называемый фронт - может служить хорошим указанием для синхронизации приемника с передатчиком. Отдаленной иллюстрацией самосинхронизирующегося кода может быть обычная синусоида, Так изменение амплитуды несущей частоты предоставляет приемнику возможность вычислить момент прихода входной последовательности бит. Но это относится как правило к аналоговой модуляции. В цифровом кодировании также существуют методы, которые создают самосинхронизирующиеся коды.
Таким образом, хороший цифровой код должен обеспечивать синхронизацию.