Network Layer – RPB , RPM , IGMP And DVMRP Protocols

This post will be the last in this series of posts regarding the protocols implemented in the network layer. In this post, we will mainly be focussed on a few of the remaining protocols of the network layer i.e.  RPB , RPM , IGMP And DVMRP Protocols.

So let us first start with the IGMP protocol .

What is IGMP (Internet Group Management Protocol) ?

The IP protocol can be involved in two types of communication i.e.  unicasting and multicasting (already covered in earlier posts). Unicasting is the communication between one sender and one receiver. It is one-to-one communication.

However, some processes sometimes need to send the same message to a large number of receivers simultaneously. This is called multicasting, which is one-to-many communication. Some applications include distance learning and video-on-demand are renowned examples of multicasting.

The Internet Group Management Protocol (IGMP) is one of the necessary, but not the sufficient protocols that is involved in multicasting. IGMP is a companion of the IP protocol.

Group Management in IGMP

For multicasting on the Internet we need routers that are able to route multicast packets. The routing tables of these routers must be updated by using one of the multicasting routing protocols that we discuss in the previous posts. IGMP is not a multicasting routing protocol,  but it is a protocol that basically manages group membership.

In any network, there should be one or more multicast routers that distribute multicast packets to other hosts or other routers.

The IGMP protocol mainly gives the multicast routers information about the membership status of hosts (routers) connected to the network. A multicast router may receive many multicast packets every day for different groups.

If any router has no knowledge about the membership status of the hosts, it will broadcast all these packets. This then creates a lot of traffic . A  solution is to keep a list of groups in the network (of routers) for which there is at least one loyal member. IGMP helps the multicast router to create and update this list.

Network Layer - RPB , RPM , IGMP And DVMRP Protocols

IGMP Messages

IGMP has gone through two versions. IGMPv2 is the current version. IGMPv2 has three types of messages i.e the query, the membership report, and the leave report. There are two types of query messages i.e. general and special .

Message Format in IGMP

Below figure shows the format of an IGMP (version 2) message :

Network Layer - RPB , RPM , IGMP And DVMRP Protocols

IGMP Operation

IGMP works locally. A multicast router will be connected to a network and has a list of multicast addresses of the groups with at least one loyal member in that network .

In each group, there is one router that has the duty of distributing the multicast packets destined for that specific group. This basically means that if there are three multicast routers connected to a network, their lists of group ids are mutually exclusive. 

When a router has membership, it means that a network connection to one of its other interfaces receives these multicast packets. We say that the host or the router has an interest in the group.

In both cases, the host and the router keep a list of group ids and relay their interest to the distributing router.

Network Layer - RPB , RPM , IGMP And DVMRP Protocols

Distance Vector Multicast Routing Protocol  (DVMRP)

In this section, we will discuss the multicast distance vector routing and its implementation on the Internet, DVMRP.
Multicast routing doesn’t allow a router to send its routing table to its neighbors.  Multicast distance vector routing uses source-based trees, but the router never actually makes a routing table.

DVMRP is another multicast routing algorithm. This is used in the MBONE routers. It is based on a combination of RIP and RPM. In this RPM , grafting and pruning are used for making source level tree.

When any router receives a multicast packet, it forwards the packet as though it is consulting a routing table. We can say that the shortest path tree is evanescent.

After its usage, (after a packet is forwarded) the table is destroyed. To accomplish this, the multicast distance vector algorithm uses a process based on four decision-making strategies. 

Flooding is the first strategy that comes to mind. A router first receives a packet and, without even looking at the destination group address, sends it out from every interface except the one from which it was received.

Flooding clearly accomplishes the first goal of multicasting i.e.  every network with active members receives the packet. This is a broadcast, not a multicast variety.

DVMRP is not suitable for very large internetwork because the maximum number of hops is limited to 15  in RIP. There is one more problem i.e. it creates loops. A packet that already left the router may come back again from another interface or the same interface and be forwarded again.

Some flooding protocols generally keep a copy of the packet for a while and discard any duplicates to avoid loops. The next strategy is the reverse path forwarding,  which corrects this defect. Let’s understand this in a more realistic manner.

Private IPv4 Addresses available for use :

10.0.0.0  to  10.255.255.255  (2 raised to 24 addresses)

172.16.0.0  to  172.31.255.255 (2 raised to 20 addresses)

192.168.0.0  to  192.168.255.255 (2 raised to 16 addresses)

Any organization can use an address out of this set without taking permission from the internet authorities.  These reserved addresses are for private networks.

They are unique inside the organization (like the EPBX numbers) , but they are not globally unique. So it cannot be used for internet communication . No router will forward the packet    with one of these addresses as the destination address.

The site must have only one connection to the global internet through the Network Address Translation (NAT) router . The private network uses private addresses . The router that connects any network to the global address uses one private address and one global address .

The private network is transparent to the rest of the internet, the rest of the internet sees only the NAT router with the address 200.20.5.2

All the outgoing packets eventually go through the NAT router , which replaces the source address in the packet with the global NAT address . All incoming packets also pass through the NAT router which replaces the destination address  (DA) in the packet with the appropriate private address.

Reverse Path Forwarding (RPF) : RPF is basically a modified flooding strategy. In order to prevent loops, only one copy is forwarded and the other copies are dropped. In RPF, a router forwards only the copy that has traveled the shortest path from the source to the router. To find this specific copy, RPF uses the unicast routing table.

The router receives a packet and extracts the source address (a unicast address). It consults its unicast routing table as though it wants to send a packet to the source address.

The routing table tells router the next hop. If the multicast packet has just come from the hop defined in the table, the packet has traveled the shortest path from the source to the router because the shortest path is reciprocal in unicast distance vector routing protocols.

If the path from A to B in the shortest, then it is also the shortest from B to A. The router forwards the packet if it has traveled from the shortest path , it discards it otherwise.

This strategy prevents loops because there is always one shortest path from the source to the router. If a packet leaves the router and comes back again, it has not traveled the shortest path.

The below figure shows part of a domain and a source. The shortest path tree as calculated by routers R1, R2, and R3 is shown by a thick line. When R1 receives a packet from the source through the interface m1, it consults its routing table and finds that the shortest path from R1 to the source is through interface m1. The packet is forwarded.

Network Layer - RPB , RPM , IGMP And DVMRP Protocols

 

Reverse Path Broadcasting (RPB) :  RPF guarantees that each network receives a copy of the multicast packet without the formation of loops. However, RPF does not guarantee that each network receives only one copy , a network may receive two or more copies.

The reason is that RPF is not based on the destination address (a group address) , and forwarding is based on the source address.

To eliminate duplication, we should define only one parent router for each network. We must have this restriction i.e. A network can receive a multicast packet from a specific source only through a designated parent router.

Now we can say that for each source, the router sends the packet only out of those interfaces for which it is the designated parent. This policy is called reverse path Broadcasting (RPB). RPB further guarantees that the packet reaches every network and that every network receives only one copy. Figure below shows the difference between RPF and RPB.

Network Layer - RPB , RPM , IGMP And DVMRP Protocols

Now you may ask how the designated parent is determined. The designated parent router can be a router with the shortest path to the source. Because routers periodically send updating packets to each other (in RIP), they can easily determine which router in the neighborhood has the shortest path to the source (when interpreting the source as the destination).

If more than one router qualifies, then the router with the smallest IP address is selected.

Network Layer - RPB , RPM , IGMP And DVMRP Protocols

From the above figure, Net3 receives two copies of packets even though the router sends only one copy from each interface. Thus there is a clear duplication of packets. This is mainly because of the presence of two-parent routers i.e. R2 and R4 . To eliminate this duplication, we must define only one parent router for each network.

Reverse Path Multicasting (RPM) : RPB does not multicast the packet, it broadcasts it. This is not efficient. To increase the efficiency, the multicast packet must reach only those networks that have active members for that particular group.

This is called reverse path multicasting (RPM). To convert the broadcasting to multicasting , the protocol uses two procedures, pruning and grafting.

This is a type of multicasting technique.  For some applications such as teleconferencing, a source may want to send packets to multiple destinations (not one and not all the destinations) simultaneously. This is possible with multicast routing.

Network Layer - RPB , RPM , IGMP And DVMRP Protocols

In the figure, source A wants to transmit to destinations (B, C and E) with multicast group G1. Although a source can send each copy of the packet separately to each destination by using unicast routing, a more efficient method is multicasting to minimize the number of copies.

Network Layer - RPB , RPM , IGMP And DVMRP Protocols

The approach that is used in  multicast backbone (MBONE) network is called reverse path multicasting  (RPM) . MBONE is an overlay packet network on the internet supporting routing of IP multicast packets with class D address.

(MBONE is nothing but a logical tunnel between islands of isolated routers. Due to MBONE unicast routers forward the packets further. So far only DVMRP supports MBONE technique)

The designated parent router of each network is responsible for holding the membership information. This is done through the IGMP protocol . 

In a nutshell, we can say that RPB creates the shortest path broadcast tree source to destination . It further completely eliminated the problem of duplication of packets of data. RPF eliminates the loop in the flooding process.

Finally, we have reached the end of this long post. Stay tuned for more interesting stuff of the next OSI layer.

Spread the Wisdom !!

Techie Aric

Aric is a tech enthusiast , who love to write about the tech related products and 'How To' blogs . IT Engineer by profession , right now working in the Automation field in a Software product company . The other hobbies includes singing , trekking and writing blogs .

Leave a Reply

Your email address will not be published. Required fields are marked *