Realisation of reliable data transmission protocol

© A.D. Zhdanov, T.M. Kolomeytseva, A.A. Shalyto

Saint-Petersburg State University of Information Technologies, Mechanics and Optics

Project documentation (in Russian)
Executable program
Source code


The low level of data transmission provides the transmission of data packet without guarantee of its delivery and the correct order of packets delivery. It is not acceptable in modern networks. That’s why the necessity of development of stable data transmission protocol appears. This protocol should guarantee that all packets which were sent to network would be delivered to the remote client and that their order of delivery will be the same as when they were sent. In this project the variant of such protocol is developed and realized. It requires additional acknowledge packets to be send for each received packet and addition packets for initialization and finalization of connection.

Given protocol can be used as a base for developing the hight level protocols such as SMTP protocol used for transmission of e-mail. It was realized in the project of K.A.Agafonov, D.S.Poroh, A.A.Shalyto, “Realization of the "SMTP" protocol on the basis of SWITCH-technology” (

To simplify the development of a protocol the automatic programming approach was used. Let's note that in specification the protocol is described by automata, but six automates developed in scope of this project clarifies the protocol much better and simplifies its realization.

The library was realized using the C programming language under the Linux® operating system. To test the protocol the simple echo-server and client were developed. To use it under the MS® Windows® operating system the Cygwin package should be used.