Кто-нибудь может порекомендовать некоторые ресурсы, которые обсуждают общие закономерности, которые встречаются при разработке и программировании протоколов связи?
Для шаблонов разработки протокола я имею в виду такие вещи, как использование разделителей для маркировки начала / конца сообщений с использованием экранирования, чтобы в данных сообщения мог появляться разделитель, плюсы / минусы различныхметоды контрольной суммы, сообщения фиксированной длины и переменной длины, различные способы представления данных в сообщении (например, открытый текст, двоичное кодирование с прямым и младшим порядком байтов) и т. д.
Для шаблонов программирования протокола IЯ имею в виду методы, используемые при написании программного обеспечения для связи с использованием этих протоколов.В качестве примера - для различных схем протоколов существуют методы повторной синхронизации на границе сообщения, когда поток данных мгновенно поврежден (например, поиск следующего разделителя начала сообщения, если он определен, скольжение окна над входным буферомв поисках правильно сформированного сообщения), или когда существующий разговор принимается в середине потока?
Для моих проектов меня больше всего интересует связь с оборудованием по ненадежным каналам связи, таким как RS-232, поэтомуМетоды обнаружения ошибок и создания сообщений представляют для меня особый интерес, хотя общая трактовка этой темы была бы превосходной.
Большая часть того, что я знаю по этой теме, была изучена специальным образом из анализа существующихпротоколы.Я хотел бы немного формализовать свое понимание и, надеюсь, по пути выбрать несколько новых техник, а также кое-что, на что я могу указать, обучая других выполнять такую работу.