A universal revolution is underway in telecommunications. The changes taking place are having a dramatic impact on how individuals and institutions communicate and do business with one another. Government at all levels, retailing and finance, health care, education, and entertainment are among the areas of human activity profoundly affected by the technological advances now underway. Communication networks are arrangements of hardware and software that allow users to exchange information. This information may be voice, sounds, graphics, pictures, video, text, or data. Most often the users are humans, but they also can be computer programs or devices. There are a certain number of questions which need to be answered in order to assure effective use of the network resources. These issues determine the performance of a given network: -- Routing: What paths should the packets follow in the network. -- Flow Control: How can one regulate the flow so as to avoid parts of the network becoming congested? -- Addressing: What is a convenient way of specifying the addresses of the terminal nodes? -- Security: How can the privacy of the information transmitted over the network and the integrity of the nodes of the network be maintained? -- Standards: How can the characteristics of the nodes be described so that vendors can build compatible hardware and software? -- Presentation: How can one enable many different types of terminal equipment to communicate? In order to answer these questions, most communication networks use a layered construction of services in which services of one layer are built on top of those of the layer immediately below. In such a network, only the interaction between layers need to be defined carefully, not the internal implementation of these protocols. This layered structure also brings simplicity as opposed to a more general approach since a given layer needs only to know how to interact with the two adjacent layers. In the late 1970's, to promote the compatibility of network designs, the International Organization for Standardization (ISO) proposed an architecture model called the Open Systems Interconnection Reference Model (OSI model). The OSI model is a layered architecture with seven layers. The bottom three layers respectively deal with bit transmission, with packet transmission on one link, and with the end to end packet transmission. The top layers construct communication services for user applications: - Layer 1 (physical) : Transmission of bits. - Layer 2 (data link) : Transmission of packets on one given link. - Layer 3 (network) : End-to-end transmission of packets. - Layer 4 (transport) : End-to-end delivery of messages. - Layer 5 (session) : Setup and management of end-to-end conversation. - Layer 6 (presentation): Formatting, encryption, and compression of data. - Layer 7 (application) : Network services (email, file transfers, etc). The current Internet uses the TCP/IP protocol to provide various services to users. IP (Internet Protocol) is the network layer protocol, and TCP (Transmission Control Protocol) the transport layer. However, these protocols are designed for point-to-point links and have limited performance and capabilities when it comes to the growing need for group communications. To respond to these new trends, IP-multicast was designed to eventually replace the existing IP. However the rest of the layers need also to be redesigned. And that is why RMP was created: To offer multicasting capabilities at an unmatched level of performance. RMP is the fastest known reliable communications protocol for groups of two or more destinations. A more detailed description of RMP is given in the following pages.