Multicasting
From Computing and Software Wiki
Multicasting is a type of internet addressing system where only interested receivers are sent the requested information. This was created to be a more efficient means of broadcasting where information would be sent to every node in the network. Multicasting uses the most efficient routes to transfer the data and only copies the information being sent when a fork in the route occurs. Prior to multicasting, if a user needed to send the same data to N users, the user would need to copy that data N times and send it to each receiver. This creates a high amount of strain on servers, as well as large amounts of traffic over the network. Multicasting however needs only one transmission of this data, and will optimize the path that the data takes to reach each desired user.
Contents |
Different Types of IP Addressing
Unicast
Unicast addressing is the most common form of sending datagrams to other hosts on a network. It refers to sending information packets from one point to another point(one-to-one connection). Some applications that use unicast addressing are http and ftp, among others.
Broadcast
Broadcasting is the type of IP addressing where the sender will send a piece of data to all nodes connected to a network. While only one piece of data is being sent, there is no control over who receives it, and so this will place a huge strain on any network.
Multicast
As stated earlier, multicasting is the addressing type that allows a piece of data to be sent once but received by multiple users. It is still relatively new and has some downsides, but compared to the broadcasting and unicasting methods of transmitting data to larges amount of recipients it is far more efficient.
Anycast
In the anycast IP addressing scheme, the closest appropriate server is located and the packet is sent to it. The appropriate server will offer a service that the client needs, and so if multiple servers offer this same service, the packet can go to 'any' of these servers(however the closest server is deemed the most appropriate). This is where the name anycasting is derived from. Anycasting is advantageous because it simplifies the task of locating servers.
How Multicasting Works
Multicasting is an intrinsically complex technology. This fact is still a main reason why it has not been adopted by every company that deals with large network systems. Broadcasting and unicasting however are relatively easy to implement and so they are chosen over multicasting despite their lack of efficiency. At the msot basic level, multicasting can only be achieved with communication between the source and the destination. A source and receiver will both use a multicast group IP Address to communicate through the network to enable the transmission of the data that is intended to be sent. The source will put this address within the datagram being sent and the receiver will inform the network that they want to receive whatever is sent to that multicast group address.
For example, if a source were to send data to a multicast group IP address 230.1.1.1, then an interested potential receiver would have to "join" the IP group 230.1.1.1 and only then could information be transmitted from the source to the destination. The routers between these start and end points of the data would be aware of what IP's are part of this group and send the data to the next appropriate step in the route based on their routing table.
Multicast Addressing
Since multicasting uses specific addresses it is given its own range of IP addresses to use for its groups. This range in IPv4 starts at 224.0.0.0 and extends all the way to 239.255.255.255. There are some patches within this range that cannot be used however as they are used for other specific uses, but there is still a great amount of addresses to be used. Multicast addresses are also given their own class so that routers know when they have received a multicast data packet. It is given Class D addresses which means that the first octet of the IP address will start with 1110. Any bits after this are arbitrary and can be any combo of 1's and 0's.
Class D(Multicast) 224. 0. 0. 0 = 11100000.00000000.00000000.00000000 239.255.255.255 = 11101111.11111111.11111111.11111111
1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX(X is an arbitrary bit)