Multicasting And Multicast Routing Protocols

0
111
Multicasting And Multicast Routing Protocols

Multicasting And Multicast Routing Protocols

OBJECTIVES:

  • To compare and contrast unicasting, multicasting, and broadcasting communication.
  • To define multicast addressing space in IPv4 and show the division of the space into several blocks.
  • To discuss the IGMP protocol, which is responsible for collecting group membership information in a network.
  • To discuss the general idea behind multicast routing protocols and their division into two categories based on the creation of the shortest path trees.
  • To discuss multicast link state routing in general and its implementation on the Internet: a protocol named MOSPF.
  • To discuss multicast distance vector routing in general and its implementation on the Internet: a protocol named DVMRP.
  • To discuss core-based protocol (CBT) and briefly discuss two independent multicast protocols PIM-DM and PIM-SM.
  • To discuss multicast backbone (MBONE) that shows how to create a tunnel when the multicast messages need to pass through an area with no multicast routers.

 

Chapter Outline:

  • Introduction
  • Multicast Addresses
  • IGMP
  • Multicast Routing
  • Routing Protocols
  • MBONE

 

INTRODUCTION

We have learned that forwarding a datagram is normally based on the prefix of the destination address in the datagram. Address aggregation mechanism may combine several datagrams to be delivered to an ISP and then separate them to be delivered to their final destination networks, but the principle does not change.
Understanding the above forwarding principle, we can now define unicasting, multicasting, and broadcasting. Let us clarify these terms as they relate to the Internet.

 

Topics Discussed in the Section

  • Unicasting
  • Multicasting
  • Broadcasting

 

Unicasting

Unicasting

In unicasting, the router forwards the received datagram through only one of its interfaces.

 

Multicasting

Multicasting

In multicasting, the router may forward the received datagram through several of its interfaces.

 

Multicasting versus multiple unicasting

Multicasting versus multiple unicasting

Emulation of multicasting through multiple unicasting is not efficient and may create long delays, particularly with a large group.

 

MULTICAST ADDRESSES

A multicast address is a destination address for a group of hosts that have joined a multicast group. A packet that uses a multicast address as a destination can reach all members of the group unless there is some filtering restriction by the receiver.

 

Topics Discussed in the Section

  • Multicast Addresses in IPv4
  • Selecting Multicast Addresses
  • Delivery of Multicast Packets at Data Link Layer

 

Multicast Address Rangers

Multicast Address Rangers

Some Address in Network Control Block

Address in Network Control Block

 

Example: We use netstat with three options, -n, -r, and -a. The -n option gives the numeric versions of IP addresses, the -r option gives the routing table, and the -a option gives all addresses (unicast and multicast). Note that we show only the fields relative to our discussion. The multicast address is shown in colour.

 

Mapping class D to Ethernet physical address

Mapping class D to Ethernet physical address

An Ethernet multicast physical address is in the range 01:00:5E:00:00:00 to 01:00:5E:7F:FF:FF.

 

Example: Change the multicast IP address 232.43.14.7 to an Ethernet multicast physical address.

Solution
We can do this in two steps:
a. We write the rightmost 23 bits of the IP address in hexadecimal. This can be done by changing the rightmost 3 bytes to hexadecimal and then subtract 8 from the leftmost digit if it is greater than or equal to 8. In our example, the result is 2B:0E:07.
b. We add the result of part a to the starting Ethernet multicast address, which is 01:00:5E:00:00:00. The result is 01:00:5E:00:00:00

 

Example: Change the multicast IP address 238.212.24.9 to an Ethernet multicast address.

Solution
We can do this in two steps:
a. The rightmost 3 bytes in hexadecimal are D4:18:09. We need to subtract 8 from the leftmost digit, resulting in 54:18:09.
b. We add the result of part a to the Ethernet multicast starting address. The result is 01:005E:54:18:09

 

Tunneling

Tunneling

 

IGMP

Multicast communication means that a sender sends a message to a group of recipients that are members of the same group. Each multicast router needs to know the list of groups that have at least one loyal member related to each interface. Collection of this type of information is done at two levels: locally and globally. The first task is done by the IGMP protocol; the second task is done by the multicast routing protocols.

 

Topics Discussed in the Section

  • Group Management
  • IGMP Messages
  • IGMP Protocol Applied to host
  • IGMP Protocol Applied to Router
  • Role of IGMP in Forwarding
  • Variables and Timers
  • Encapsulation
  • Compatibility with other Versions

 

Position of IGMP in the network layer

Position of IGMP in the network layer

IGMP is a group management protocol. It helps a multicast router create and update a list of loyal members related
to each router interface.

 

IGMP Messages

IGMP Messages

 

Membership query message format

Membership query message format

 

Three forms of query messages

Three forms of query messages

 

Membership report message format

Membership report message format

 

Record Type

Record Type

 

Example: Figure shows a host with three processes: S1, S2, and S3. The first process has only one record; the second and the third processes each have two records. We have used the lowercase alphabet to show the source address.

Socket State

Each time there is a change in any socket record, the interface state will change using the above-mentioned rules.

 

Example: We use the two rules described above to create the interface state for the host for Example. First, we found the list of the source address for each multicast group.
a. Multicast group 226.14.5.2 has two exclude lists and one include list. The result is an exclude list as calculated below. Exclude source list = {a, b, c}.{b, c, g}-{a, b, d, e} = {c}

b. Multicast group: 228.24.21.4 has two include lists. The result is an include list as calculated below. We use the plus sign for the union operation. Include source list = {b, c, f} + {d, e, f} = {b, c, d, e, f}

Figure 12.12 shows the interface state.

Interface state

Interface state

 

Sending change state reports

Sending change state reports

 

Router States

Router States

 

Change of state related to general query report

Change of state related to general query report

 

Change of state related to other report types

Change of state related to other report types

 

Forwarding Recommendations of IGMPv3

Forwarding Recommendation of IGMPv3

 

Calculation of maximum response time

Calculation of maximum response time

 

Destination IP Addresses

Destination IP Addresses

 

Messages in Version 1 and 2

Messages in Version 1 and 2

 

MULTICAST ROUTING

Now we show how information collected by IGMP is disseminated to other routers using multicast routing protocols. However, we first discuss the idea of optimal routing, common in all multicast protocols. We then give an overview of multicast routing protocols.

 

Topics Discussed in the Section

  • Optimal Routing: Shortest Path Trees

 

In unicast routing, each router in the domain has a table that defines the shortest path tree to possible destinations.

 

Shortest path tree in multicast routing

Shortest path tree in multicast routing

In multicast routing, each involved router needs to construct the shortest path tree for each group.

In the source-based tree approach, each router needs to have one shortest path tree for each group and source.

 

Source-based tree approach

Source-based tree approach

 

Source-based Tree (1)

Source-based Tree

 

Source-based Tree (2)

Source-based Tree (2)

In the group-shared tree approach, only the core router, which has the shortest path tree for each group, is involved
in multicasting.

 

Group-shared tree approach

Group-shared tree approach

 

Group-Shared Tree

If a router receives a multicast packet, it encapsulates the packet in a unicast packet and sends it to the core router
The core router removes the multicast packet from its capsule and consults its routing table to route the packet

 

ROUTING PROTOCOLS

During the last few decades, several multicast routing protocols have emerged. Some of these protocols are extensions of unicast routing protocols; some are totally new. We discuss these protocols in the remainder of this chapter. Figure 12.21 shows the taxonomy of these protocols.

 

Topics Discussed in the Section

  • Multicast Link State Routing: MOSPF
  • Multicast Distance Vector: DVMRP
  • Core-Based Tree: CBT
  • Protocol Independent Multicast: PIM

 

Taxonomy of common multicast protocols

Taxonomy of common multicast protocols

Multicast link state routing uses the source-based tree approach.

 

MOSPF (1)

Group membership LSA is flooded throughout the AS
The router calculates the shortest path trees on demand (when it receives the first multicast packet)
MOSPF is a data-driven protocol; the first time a MOSPF router see a datagram with a given source and group address, the router constructs the Dijkstra shortest path tree

 

MOSPF (2)

The shortest path tree is made all at once instead of gradually (i.e. pre-made, pre-pruned, ready to use)

 

MOSPF with Areas (1)

  • Group management
    Group-membership LSA is flooded in the same area.
    Inter-area multicast forwarders (area border routers) summarize their attached areas’ group membership to the backbone.
  • Data routing
    Introduction of the wild-card multicast receivers (area border routers)

 

MOSPF with Areas (2)

Data routing (cont)
In the presence of OSPF areas, during tree pruning care must be taken so that the branches leading to other areas remain since it is unknown whether there are group members in these (remote) areas.
For this reason, only those branches having no group members nor wild-card multicast receivers are pruned when producing the datagram shortest-path tree.

 

MOSPF with Areas (3)

Data routing (cont)
1. Source area: building intra-area shortest path tree (forward cost) with leaf nodes including wild-card multicast receivers.
2. Backbone area: each wild-card multicast receiver of the source area calculates the shortest path from the source to the multicast forwarders (with group members) of other areas using the reverse cost.
(You must know the reason why using the reverse cost in this case)

 

MOSPF with Areas (4)

Data routing (cont)
E.g. In Figure 4 of the sample MOSPF area configuration in the supplementary document, RT3 and RT4 can calculate and compare to determine which one of them should construct the shortest path from the source to RT7, RT10, and RT11 (the multicast forwarders in non-source areas). The result tree is shown in Figure 9 in the supplementary document.

 

MOSPF with Areas (5)

Data routing (cont)
3. Destination areas: The corresponding multicast forwarder (e.g. RT7 in area 2) constructs the shortest path using the reverse cost to each network (with group members) in its own area.

 

MOSPF with Areas

 

 

MOSPF Tree in Source Area

MOSPF Tree in Source Area

 

MOSPF Tree in Backbone Area

MOSPF Tree in Backbone Area

 

MOSPF Tree in Destination Area

MOSPF Tree in Destination Area

 

Multicast Distance Vector Routing

4 decision-making strategies
1. Flooding
2. Reverse Path Forwarding (RPF)
3. Reverse Path Broadcasting (RPB)
4. Reverse Path Multicasting (RPM)

 

Flooding broadcasts packets but creates loops in the systems.

 

RPF

RPF

 

Reverse Path Forwarding (1)

To prevent loops, only one copy is forwarded; the other copies are dropped.
In RPF, a router forwards only the copy that has travelled the shortest path from the source to the router.
The router extracts the source address of the multicast packet and consults its unicast routing table.

 

Reverse Path Forwarding (2)

If the packet has just come from the hop defined in the table, the packet has travelled the shortest path from the source to the router because the shortest path is reciprocal in unicast distance vector routing protocols.
If a packet leaves the router and comes back again, it has not travelled the shortest path.

RPF eliminates the loop in the flooding process.

 

No Loops in RPF

No Loops in RPF

 

Problem with RPF

Problem with RPF

 

RPF versus RPB

RPF versus RPB 1

RPF versus RPB 2

 

Reverse Path Broadcasting (1)

RPF guarantees that each network receives a copy of the multicast packet without formation of loops
However, RPF does not guarantee that each network receives only one copy
To eliminate duplication, we must define only one parent router (designated parent router) for each network

 

Reverse Path Broadcasting (2)

In RPB, for each source, the router sends the packet only out of those interfaces for which it is the designated parent
The designated parent router can be the 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 neighbourhood has the shortest path to the source.

 

RPB creates a shortest path broadcast tree from the source to each destination.

It guarantees that each destination receives one and only one copy of the packet.

 

RPF, RPB, and RPM

rpf

rpb

rpm after pruning

rpm after grafting

 

Reverse Path Multicasting (1)

To increase efficiency, the multicast packet must reach only those networks that have active members of that particular group
RPM adopts the procedures of Pruning and Grafting
Pruning
The designated parent router of each network is responsible for holding the membership information (through IGMP)

 

Reverse Path Multicasting (2)

The router sends a prune message to the upstream router so that it can prune the corresponding interface
That is, the upstream router can stop sending multicast message for this group through that interface
Grafting
The graft message forces the upstream router to resume sending the multicast messages

 

RPM adds pruning and grafting to RPB to create a multicast shortest path tree that supports dynamic membership changes.

 

Group-shared tree with rendezvous router

Group-shared tree with rendezvous router

 

Formation of CBT tree (1)

After the rendezvous point is selected, every router is informed of the unicast address of the selected router
Each router sends a unicast join message to show that it wants to join the group
This message passes through all routers that are located between the sender and the rendezvous router

 

Formation of CBT tree (2)

Each intermediate router extracts the necessary information from the message
Unicast address of the sender
Interface through which the packet has arrived
Every router knows its upstream router and the downstream router
If a router wants to leave the group, it sends a leave message to its upstream router, …

 

Sending a multicast packet to the rendezvous router

Sending a multicast packet to the rendezvous router

In CBT, the source sends the multicast packet (encapsulated in a unicast packet) to the core router. The core router encapsulates the packet and forwards it to all interested interfaces.

 

Comparisons

The tree for DVMRP and MOSPF is made from the root up
The tree for CBT is formed from the leaves down
In DVMRP, the tree is first made (broadcasting) and then pruned
In CBT, the joining gradually makes the tree, and the source in CBT may or may not be part of the tree

PIM-DM is used in a dense multicast environment, such as a LAN.

 

PIM-DM

It is used when there is a possibility that each router is involved in multicasting (dense mode)
In this environment, the use of a protocol that broadcasts the packet is justified because almost all routers are involved in the process

 

PIM-DM uses RPF and pruning/grafting strategies to handle multicasting.

However, it is independent of the underlying unicast protocol.

PIM-SM is used in a sparse multicast environment such as a WAN.

PIM-SM is similar to CBT but uses a simpler procedure.

 

MBONE

Multimedia and real-time communication have increased the need for multicasting on the Internet. However, only a small fraction of Internet routers are multicast routers. Although this problem may be solved in the next few years by adding more and more multicast routers, there is another solution for this problem. The solution is tunnelling. The multicast routers are seen as a group of routers on top of unicast routers. The multicast routers may not be connected directly, but they are connected logically.

 

Logical tunnelling

Logical tunnelling

 

MBONE

MBONE

 

 

Related Post

LEAVE A REPLY

Please enter your comment!
Please enter your name here