Data communication protocols: theory and practical examples of systems for information exchange