• No results found

8. The MMG sub-layer

8.5 The Vehicular Multicast Routing Protocol – VMRP

8.5.4 An example

• Each node only has to know about its neighbours’ (nodes in its CTPG) identities and positions.

• Each node considers only its neighbourhood and computes an optimum graph for each of its neighbours. These graphs form the routing table of the node. • The overall result is that we achieve an optimum source-based multicasting; this

is done at each node with only local information, without a global knowledge of all other non directly reachable members.

• Each time the mobility prediction algorithm st ates that an update must be performed, each node computes a new routing table for all of its neighbours, so that the global multicast state is always up-to-date.

Each node has an updated view of its neighbourhood and maintains an updated routing table thanks to the UpdateState method.

When a vehicle is the source of multicast traffic it invokes the Source_sends method to send its packets.

When a vehicle receives a multicast packet it follows the reception procedure that adheres to rules (a ) and (b ).

This section gives an example of the pro -active nature and the optimum results, in compliance with Theorem 2, of VMRP.

The below figure 7.9 represents a MMG made up of five members that run the same multicast application P. Figure 7. 8 represents the real scenario on the roadway from which the MMG is abstracted.

Figure 7. 8. A real scenario of a stretch of roadway with a MMG and other non member

vehicles.White, black and green cars rep resent vehicles that do not participate to the MMG. At the MMG sub-layer the underlying topology is abstracted

taking into account only MMG’s members

The following figure shows a Mobile Multicast Group made up of six ve hicles. We take into consideration a straight stretch of roadway, because the environment can be a highway and because, as long as radio transmissions are not disturbed, the underlying road topology is of no matter, as previously shown.

Figure 7.9 . A MMG along a roadway. Six vehicle have joined this MMG.

The following figure shows vehicles’ transmission ranges. Transmission ranges cover all roadway’s width and have a radius that allows the vehicles to reach nodes behind and in front of them.

Figure 7.10. Transmission ranges of all mem bers of a MMG.

The following figure shows the wireless links that exist between all members of the example. Thick lines represent bidirectional links between two directly reachable vehicles. Each node has all directly reachable vehicles in its CTPG.

Figure 7. 11. Wireless links between members of the MMG.

Because of radio transmission ranges and GPS devices, we can project vehicles on a straight line where they are ordered through their coordinates.

Therefore we can consider vehicles as all lying on a straight line on which they are distinguished by their identities and positions (i.e. coordinates given by GPS devices – or other position tracking devices).

Figure 7.12. Members of the MMG can be classified on a straight line through their

coordinates and each node knows its directly reachable neighbour s.

Each vehicle has the following Chosen Time-Proximity Group for the group of the example : • CTPG(V6, τ, α, MMG(P)) = {V5, V4} • CTPG(V5, τ, α, MMG(P)) = {V6, V4, V3} • CTPG(V4, τ, α, MMG(P)) = {V6, V5, V3, V2} • CTPG(V3, τ, α, MMG(P)) = {V5, V4, V2} • CTPG(V2, τ, α, MMG(P)) = {V4, V3, V1} • CTPG(V1, τ, α, MMG(P)) = {V2}

Let’s consider the follow ing examples of optimized trees:

• If the yellow car (ID6) was a source of multicast traffic, then the path followed by the packets originated at vehicle ID6 would follow the source-optimized graph depicted in figure 7.13.

Figure 7.13. Path followed by packets originated at vehicle ID6.

The above tree is of minimum cost because it requires the minimum number of transmissions in order to deliver a packet sent from the source to all other members, it is avoids loops and duplicates (Theorem 2).

In order to multicast a packet to all vehicles, three transmissions are required: the first transmission delivers the packet to grey (ID5) and red (ID4) vehicles,

they are both in yellow car’s transmission range; then red car sends the packet to purple (ID3) and blue (ID2) vehicles; with the third transmission, the blue node sends the packet to the turquoise node (ID1).

• If the red car (ID6) was a source of multicast traffic, then the path followed by the packets originated at vehicle ID46 would follow the source-optimized graph depicted in figure 7.14.

Figure 7.14. Path followed by packets originated at vehicle ID6.

Only two transmissions are required to deliver a packet to all members and we see that this is the best achievable result.

Each node follows the above described proactive multicast routing protocol VMRP, thus for the proposed example, in the specified interval of time, each vehicle will have the following routing tables for the MMG:

We can see that yellow node (ID6) receives packets only from the grey (ID5) and red (ID4) vehicles, that is, it has ID5 and ID4 in its CTPG.

Because ID6 is an extreme of the MMG -graph it has to perform no forwardings upon receiving a multicast packet.

If it is the source of multicast traffic it executes the Source_send s method to send a packet and sends it to both ID5 and ID4.

Grey vehicle (ID5) forwards a packet only if it comes from t he purple (ID3) vehicle.

ID4 has four vehicles in its CTPG. It will only forward packets that it will receive from ID6 and ID2.

If it is the source of multicast traffic it will send packets to ID6, ID5, ID3 and ID2. The above routing table shows that, for the above example, ID4 has to forward packets that it receives from ID6 to ID3 and ID2, while it has to forward to ID5 and ID6 the packets received from ID2. It will not send any packet received from ID5 and ID3: this is because other nodes will delive r packets received from those vehicles in order to achieve a minimum cost multicasting.

We see that there is no entry for ID1; that is because that ve hicle is not in red car’s CPTG: if ID1 is the source of multicast packets or it forwards any packets towar d red car, then for the red car those packets are a left flow of traffic as there is at least one vehicle that is between red car and turquoise car that links together those vehicles. We can find in ID4 routing table the red node’s actions that are depicte d in figure 7. 13.

Purple vehicle (ID3) will forward packets coming from ID5. It will perform no other forwardings as long as the topology remains the same.

Blue node (ID2) has ID1, ID3 and ID4 in its CTPG. It is the “anchor” for turquoise (ID1) node to the group: it is the only node inside the MMG that can communicate with ID1.

ID1 will not perform any forwarding upon receiving a multicast packet. It only has ID2 in its CTPG and thus if it is the source of multicast packets it will send its packe ts only to the ID2.

Let’s take the case where ID6 is a source of multicast traffic. Let p be one of the multicast packets that must be delivered from ID6 to all other members.

The following actions describe how routing tables in each node achieve a global optimus multicasting.

1. ID6 executes the Source_send method for p and thus forwards the packet directly to all nodes in its CTPG.

ID5 and ID4 receive p.

2. ID5 indexes its my_forwardings table with the source of the received packet and discovers that it has to perform no forwardings.

ID4, instead, immediately forwards the packet to ID3 and ID2. This is done by the forward (ID6, MMG-ID, p) method that indexes the Hashtable my_forwardings with the sender of the packet ( my_forwardings[ID6] ) and transmits p to the set of nodes contained in the List.

3. Then, ID3 detects that it has to perform no forwardings upon receiving a packet from ID4, while ID2 forwards the packet p to ID1.

4. ID1 just receives the packet for itself and does not perform any forwarding.

All nodes receive the multicast packet and no node receives the same packet more than once. The final result is a minimum cost source-based multicasting. The route found is the same route depicted in figure 7.13 and it is in com pliance with rules (a) and (b).