This set of rules implements the most basic behaviour of the protocol that can be used when IP multicast is available. This mode can be useful in local area networks where this transmission mode usually works properly.
- IP multicast address: The splitter uses an IP multicast address (and a port) where all peers of the team wait for receiving chunks. Notice that the peers only receive chunks (never send them to the multicast channel because the splitter does all the work).
- Peer arrival: An incoming peer must contact with the splitter in order to join the team. After that, the splitter sends to the peer the stream header over the TCP using a temporal unicast connection.
- Buﬀering in peers: Packets in transit can suﬀer diﬀerent transmission delays due to the
jitter∗ ∗Variations in the network latency. ,
even producing that they arrive out of order. For this reason, the splitter
enumerates every chunk of stream with a 16-bit counter, producing a packet with
IMS_packet = [chunk_number, chunk]
Peers store the received IMS_packets in a buﬀer whose size can be diﬀerent in each peer depending on the maximun tolerated delay.
- Relation between the buﬀer size
and chunk number
upper bound :
Due to practical reasons, the upper bound for the chunk number should be a power
of two. In order to minimize the probability of receiving two or more chunks with
the same number (remember that chunks can be reordered in transit),
must be a
multiple of ,