Prologue

Before you dive into the website, there are a few things you should know about our project and IP Multicasting so that you aren't confused by some of the terminology we use to describe different aspects of our program. Hopefully this will serve as a base for your understanding when you start to read the "Multicasting Program" and "Research Paper" links above.

Multicasting

While there are evolving technologies out there for the efficient and reliable transfer of data over the network, multicasting is one of the earliest methods to be developed and used in the Internet today. The basic idea behind multicasting is one server will send information to multiple clients via one connection, this is known as a one-to-many connection. A more inefficient way of doing the same thing would be the server making many one-to-one (or Unicast) connections and transfer the data multiple times (one to each client). More complex methods of multicasting include multiple servers sending information to a multicast group (a set of clients) if there is information needed from multiple sources.

The main problem with multicasting lies in its use of UDP (User Datagram Protocol) packets to transfer data over the network rather than the TCP (Tranmission Control Protocol) packets which are used mainly in Unicast connections. UDP allows for each packet to be sent over the network independently unlike the TCP packets. This makes the data transmission between the server and client unreliable because of the nature of the UDP packets. Different solutions currently exist to combat the problems of multicasting. The one we decided to implement is further discussed within our research paper.

IP Multicasting

The method of multicasting that is used within this project is known as IP Multicasting which uses a Class D IP address as the crossroads for data transfer over the network. IP Addresses are split up into five different classes (A-E), a class D address would have a range of IP addresses frin' 224.0.0.0 to 239.255.255.255. Clients then join the multicast group and are able to receive any data the server is transmitting to the multicast address. One of the problems related to IP Multicasting the clients will never know exactly where the information is coming from, all it knows is that it's receiving information from the multicast address. This creates problems if a client doesn't properly recieve a packet meaning it will not get all the information that it was supposed to. Having the client create a Unicast connection with the server is one of many ways around the predicament although more bandwidth is used up in the process.

Here is a brief description of a typical IP Multicast session

The Research Project

The original scope of the project was to give Classroom Presenter multicasting ability. We soon found out that as of Classroom Presenter 2.0, it already utilized IP Multicasting in order to transmit its data from instructor to study. The goal of the project soon changed over to finding a more reliable way for data transmission over the network. Our project turned from our hopes to finding a better method to testing the current method Classroom Presenter 2.0 uses. Under the Multicast Program link, there is more information about the test program which we developed over the course of the summer.