SEM uses a periodical alive message between branching nodes to maintain the tree. The
downstream DR sends alive message to the previous DR periodically. This message upon
being received by the previous DR, it updates the contents of the TRM related to the sender.
This message will keep the DRs connected and with up-to-date information.
In SEM, tree constructing uses branch and previous_branch messages. The source keeps
track of the DRs that send join message on behalf of the receivers join messages, also the
source encodes the list of DRs kept in its MCT table into the header of branch message. In
addition, the source parses the header and portions the list into sub lists (Li) according to the
next hop router and forwards a copy to each next hop router with the appropriate SEM
header. Each intermediate router repeats the same process upon receiving the branch
message, which has the role to discover the branching router in the multicast tree.
In intermediate nodes that are non-branching router, they just forward the branch message to
the uniquely next hop without any changes. If the intermediate node becomes a branching
router (two or more next hops to DRs), it checks whether there is an entry at its TRM
corresponding to this multicast group. If yes, this entry is updated. Otherwise a new entry is
created in the TRM table at this branching router. The TRM entry consists of the source
address, the multicast group address, the previous branching router address (it is the source
address at the first branching node receiving the branch message) and the list of next hop
branching routers (initially empty). The branching router updates the branch message by
replacing the value of the previous branching node with its own address. Then this branching
router forwards the same message. The branching router also creates and sends the
previous_branch message which contains its own address as a source address and a
destination address as the address of the branching router sent the branch message. This
message will inform the previous branching router about its next branching router. At the end
of this process the multicast tree will be readily constructed with paths from source towards
each of the DRs through the next branching routers. So the source can send data packets to
the receivers within this group.
43