Reliability in Multicast Communications - CiteSeerX

1 downloads 270 Views 269KB Size Report
transference is done from a server to a selected number of network clients. The application ... Key-Words: - Multicast, multicast reliability, real time protocol, bandwidth, file transference .... TCP port and monitor the connections with the users.
Reliability in Multicast Communications Juan Ramón Díaz Santos, Jaime Lloret Mauri, José Miguel Jiménez Herranz Department of Communications Polytechnical University of Valencia Camino de Vera s/n, Valencia SPAIN [email protected], [email protected], [email protected]

Abstract: This article deals with a multicast application development for great size archives transference. This transference is done from a server to a selected number of network clients. The application combines the advantages of multicast traffic, which gives higher local network bandwidth performance, with the advantages of the reliable traffic. Key-Words: - Multicast, multicast reliability, real time protocol, bandwidth, file transference

1 Introduction Using multicast traffic it is possible to obtain greater advantage of the network resources [1]. Multicast traffic permits to transmit a packet from one source to great number of clients within the corporative network. Nevertheless, sensible information to the loss of packages is not possible to transmit using multicast techniques exclusively [2]. Multicast traffic uses UDP (User Datagram Protocol) as a transport layer protocol. Unlike it happens with TCP, UDP protocol does not provide any mechanism of segmentation. It does not provide acknowledgements neither send again lost fragments. So, this protocol does not provide reliability for communications [3][4]. Therefore, if we want to obtain reliability in a multicast communication, we must resort to the application layer to complement it with services that UDP is not able to provide. This work is a development of one of the possible solutions to the reliability problem in multicast transmissions [5].

2 Problem Formulation The initial situation is the following: Different computers inside the corporate network need to update their operating system and their installed applications periodically. In order to update this software, it is necessary to transfer, from the file server, one or several archives, sometimes with great size, to each computer of the network. It wastes a lot of network resources and sometimes it causes the network collapse when it is required the total bandwidth during an excessive time interval. When this update is working, the traffic stops a lot of clients in the network. The use of multicast permits to reduce the transmitted traffic through the

network considerably. But it is necessary to create a mechanism providing reliability.

2.1 Reliability In order to obtain the wished reliability, we need to design an application layer protocol to manage the flow of multicast frames between the file server and the different clients. It will be done exchanging control messages. The developed protocol must have the following functions:  To identify the multicast group clients  To initiate the multicast files transference  To finalize multicast transference once all the clients have received the file.  To detect the multicast frames lost implementing a mechanism of receipt requested.  To send again those multicast frames lost diminishing the use of the network.  Segmentation of the transferred file.  Establishment of transmission windows. Considering the characteristics of this protocol it is decided to implement it on an independent TCP connection between each one of the clients and the server.

2.1.1 TCP Connection Each client who needs to receive an update file, it establishes a connection TCP with the file server. By means of this connection, the needed file to update is identified and it is communicated to the server establishing a TCP connection with the file server. Later, it is a delay of the beginning of the file transference by means of multicast [6].

In order to manage the communication, several control messages exchanged are defined. Those messages are shown in Figure 1.

Figure 2. Graph indicating how the transfer flow control takes place.

2.2.2 Lost Frames By means of a series of timers one detects when the lost one of a frame takes place. In these cases the client uses TCP connection to request retransmit of the frame:

Figure 1. Control messages

2.2 Multicast Transference When the number of connected clients, waiting the same file to update, reaches a certain predefined threshold, the transference of the file begins of automatic way. Using unicast TCP connection notifies to all the clients the beginning of the transference so that they are united to suitable group multicast.

1.- The client detects lost of the frame using the timers 2.- Send a control message requesting the retransmission of the frame. 3.- The server retransmit the frame using the nicast TCP connection only to the client who has asked for it, diminishing therefore the use of the network resources. 4.- The client sends an acknowledgment for the complete window. 5.- The transference of the following window begins.

2.2.1 Windowing The developed protocol manages the flow of multicast traffic segmenting the file in frames of small size and transferring every time a number N of frames, where N would be the size of the window: The process is the following one: 1.- Sending N frames multicast 2.- The clients send request acknowledgment after the correct reception of the N frames 3.- Send next N frames

Figure 3. Designed mechanism Figure 3. Mechanism designed to recover lost frames.

3 Problem Solution

Figure 2. Transfer flow control

For the implementation of the communication protocol it has been chosen C++ by the capacity and flexibility that the language allows C and by the power that provides the object-oriented programming. In concrete it has been used like compiler Visual C++ version 6.0 and the libraries MFC of Microsoft. [7] The architecture has been used Client-Server of the applications TCP/IP for the creation of the connection TCP unicast between each one of the network clients who must receive the transmitted file and the server.

In such a way that we will have two types of applications, by a side we will have the server application who will run in the file server, and on the other hand, the client application running in the rest of computers. The server application remains in listening in a certain TCP port, hoping to that the clients connect themselves. Establishing an individual TCP connection between each one of the clients and the file server. Through TCP connection the interchange of control messages takes place, the managament of multicast communication between the server and each one of the clients, as well as the shipment of lost multicast frames, providing reliability to the transference of the update files. The communication protocol of layer application that has been developed, it appears like a set of objects and functions for C++. In order to facilitate the handling of the functions and the easy incorporation of the protocol to new network applications, the functions in an only librarie have been grouped.

-

TCP Control Connection Multicast connection for transference

3.1.1 Server In the server application, all the parameters used in the communication settle down and control, as much in the TCP Control Connection as in the transference of multicast files. The application allows to modify the following variables: - Threshold of connected clients - Size of multicast Frame - Size of TCP Frame - Size of Window - IP Address of the multicast group - Multicast port - TCP Port - Timers for retransmission

3.1 Application In order to be able to verify the operation of the communication protocol for the reliable transmission with multicast, an application has been developed that implements the librarie of functions. The operation of the application is very different according to executes in the updates file server or an PC client.

Figure 5. Multicast server interface

Figure 4. Application block diagram Figure 4 shows the block diagram of the application as much server as of the application client and as one double communication among them takes place:

Figure 5 shows the server application while the multicacst transference of a update file of 40 Mb to 10 connected clients is taking. The server application puts to listening in selected TCP port and monitor the connections with the users who connect to the server. When the number of users surpasses the wished threshold, the file transference, using chosen multicast group, it starts of automatic way for all the clients. The application shows the results of the transference: Use of the bandwidth, total time of transmission, frames lost and returns to send using the TCP connection and introduced delays.

3.1.2 Client The client application connects with the server and hopes to that the rest of clients is connected to join to suitable group multicast.

the file, and the average use of the bandwidth during the transference. The used dependent variables in the study are the number of equipment clients pertaining to group multicast and the size of the file.

3.2.1 Total time of transference In the first place we measured the total time that has been needed to complete the transference for files of different sizes and with a variable number of clients.

Figure 7. Transference results Figure 6. Multicast client interface Figure 6 shows the graphical user interface to monitor the state of the transference in the client equipment. The client start the TCP connection with the file server and hopes to that the multicast begins transmission. Using the defined timers, it detects when the lost one of a multicast frame has taken place and solicits to cases out server its broadcasting through TCP connection. Once received the N frames that conform a window, the client send acknowledge to the server so that it sends the following window.

Figure 7 shows the results obtained when measuring the total time necessary to make the transference of 5 files of 1, 2, 5, 10 y 40 Mbytes.

3.2.2 Bandwidth Next we have measured the average use of the bandwidth.

3.2 Measures In order to verify the operation of the application and to know the impact the communication protocol on the performance of the network a series of measures is made on a corporative network, using like interconnection devices switches Cisco Catalyst 1924, with 24 Ethernet ports of 10 Mbps. The server aplication run in the computer where they are you case the file updates, and the client application is running in 20 differents computers within the same broadcast domain. They are used like dependent variables, the total time of necessary transference for the transference of

Figure 8. Bandwidth usage Figure 8 shows the used average bandwidth during the transference of the file.

3.2.3 Multicast vs Unicast In order to be able to observe the improvement in the yield that is obtained when using multicast in the transference of update archives, the results obtained

with a traditional unicast transmission are compared, for a file of 40 Mb of size and based on the number of clients.

Figure 9 Multicast vs unicast Figure 9 shows the time necessary to complete the transference for a transmission unicast and a communication multicast. Whereas with multicast communication the time necessary to complete the transference is practically independent of the number of clients, with the unicast transference to each one of the clients the total time of transmission grows of linear form with the number of clients.

4 Conclusions The obtained results agree with the awaited ones. The transmission of the update files has been completed in all the cases of satisfactory way what demonstrates that the primary target of this project has been obtained: multicast transference multicast of files with reliability. On the other hand, one has demonstrated that with the use of multicast transmission is obtained to a very important saving of the resources of the corporative network when comparing the results obtained with those of a unicast traditional transference. In future extensions of this work the behavior of the communication protocol developed in complex atmospheres of work will study but, as they are: 1 – Clients distributed in different VLAN 2 – Number of clients very elevated 3 – Access to the file server using a WAN connection Also diverse improvements have seted out, like the substitution of UDP protocol UDP for the control connection and the introduction of new timers that optimize the transmission.

References:

[1] Armstrong, S., Freier, A. and Marzullo, K., “Multicast Transport Protocol”, RFC 1301, Internet Engineering Task Force, February 1992 [2] Sidnie Feit, TCP/IP, arquitectura, protocolos, impementación y seguridad, McGraw-Hill, 1998 [3] Talpade, R., Ammar, M. H., “Single Connection Emulation: An Architecture for Providing a Reliable Multicast Transport Service”, in Proceedings of the 15th IEEE Intl Conf on Distributed Computing Systems, Vancouver, June 1995 [4] Zabele, G.S., DeCleene, B., and Koifman, A., Reliable Multicast for Internet Applications, Proceedings of the Technical Conference on Telecommunications R&D in Massachusetts (March 12, 1996, Lowell, MA), pp. 476- 485. [5] Levine, B., “A Comparison of Known Classes of Reliable Multicast Protocols”, Masters Thesis, University of California Santa Cruz, June 1996. [6]Chris Oggerino, High Availability Network Fundamentals, CiscoPress, 1998 [7] George Shepherd, Programación avanzada con Microsoft Visual C++.NET, McGraw-Hill, 2003

Suggest Documents