A communication protocol is a set of rules defined formally that describes the format of digital messages and the rules for exchanging those messages in or between computing systems. The Internet Protocol Suite used for communications throughout the Internet uses encapsulation to provide a way of abstracting protocols and services. This abstraction is grouped into layers of general functionality. For protocols on the transmission layer, many choices exist. But while popular protocols such as TCP, UDP and SCTP do provide connection oriented communication offering reliability, ordering and data integrity, solutions that offer such connections from one point to multiple endpoints are still limited. TCP only supports point-to-point communication and SCTP offers multi-homing functionality, but the transmission is still limited to two logical endpoints. In this paper we use the simple, stateless, transmission model of UDP in order to provide TCP-like services for one-to-many communication that is not limited to just multi-homing or other particular solutions. The protocol supports reliable communication from one endpoint to multiple endpoints in different transmission modes. In order to make it easier for developers to customize the protocol to their needs and possibly extend/modify it in order to create new variants from it, the protocol is developed in user space. Because of this design restriction performance wasn't the main objective of our work, but rather the ease of customization and experimentation with new protocol variants. The protocol was implemented in the C++ programming language using classes with virtual members. New variants of components, such as packet retransmission, can easily be implemented without changing the whole code base.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.