Delivery Categories of Messaging
Delivery
Categories of Messaging
Messaging Categories
Unicast: Messages are sent to a single, specific recipient
Multicast: Messages are sent to a group of recipients Broadcast: Messages are sent to all recipients
on the network
Anycast: Messages are sent to any member of a group of recipients
Unicast
This is the normal, most common form of messagingUnicast messages are addressed using a specific address of a recipient nodeNetwork routers choose the best path (one path) for the message to travelEventually, the routers direct the message to the correct node
AnycastAnycast messages also involve groupsAnycast groups are groups of nodes where any node in the group can receive any of the messages intended for that groupAnycast (rarely) is useful in situations such as sending a message to a router, which typically has several addresses You don’t care which network port is used to receive the
message by the router, as long as the router gets the message Normally, the message is delivered to the node that has the
shortest path from the sender
BroadcastBroadcasting can be considered a specific example of multicasting All nodes on a network are the members of the multicast
group The big differences are that these nodes to not explicitly join
the broadcast group, nor can they leave it
Broadcasting is often implemented in hardware in LANs, which means broadcast messages use approximately the same bandwidth as a unicast message In fact, most LANs use broadcast technology to implement
multicasting also
LAN BroadcastingMost LANs use broadcast technology All nodes on the network read all messages, and determine (by
examining the address) if the message is intended for that node or not
Broadcasting uses a specific address to indicate that the node should keep the message
Broadcast-enabled NICs read messages addressed for the NIC (specifically) as well as messages addressed to the broadcast address
The only concern that must be taken, is that the message should be placed back onto the network after it has been read
Some LANs remove the message from the network medium when it has been received
LAN BroadcastingBroadcast LANs support broadcast delivery by transmitting a single packet This packet is received by all nodes e.g. Ethernet, Token Bus, Token Ring
Daisy chain LANs send broadcast messages across the network sequentially The sender transmits a broadcast packet, which is
received by the next node The next node transmits the broadcast packet again, and
it is received by the next sequential node e.g. FDDI
Transmit
LAN Broadcasting: Physical
M M
M
MMM
M
M
This is the messaging pattern in LANs that use broadcast technology
LAN Broadcast AddressesMost networks that use MAC addresses, use FF:FF:FF:FF:FF:FF for a broadcast address
IP-based networks use 255.255.255.255 for a broadcast address
LAN Broadcasting Efficiency
LANs that use broadcast technology The time to send a broadcast message is identical to the
time to send a unicast messageE = O(1)
LANs that use daisy-chaining The time to send a broadcast message is more than (or
equal to) the time to send a unicast message The time to send a broadcast message is less than (or
equal to) the time to send a unicast message to each node on the network
O(1) ≤ E ≤ O(N)
WAN Broadcasting
In WANs such as the Internet, a broadcast message would be received by millions of machines This is inefficient This is somewhat of an invasion of privacy This has no practical purpose
Other WANs may choose to implement broadcast by sending a unicast or multicast message to all nodes on the network Even this is highly unlikely, but possible
Multicast
Multicast messages are intended for a group of recipients
Multicast messages are not addressed to each recipient, but addressed to the group of recipients
Multicast groups are associated with specific addresses, called multicast addresses In IP networks, these are Class D addresses
Multicast Groups
Messages sent to multicast group addresses are received by all members of the multicast group Therefore, in order to receive multicast group
messages, a node must join the multicast group
Messages can be sent to a multicast group without being a member The message is simply addressed to the
multicast group’s address
LAN Multicasting
LAN multicasting is often implemented in hardware
Multicasting can be entirely implemented in the nodes Each node’s NIC can be configured to accept packets addressed to
a multicast address Each multicast group is assigned a specific address (MAC, IP,
etc…) Since all nodes normally receive (in broadcast LANs) all
messages, the nodes which are configured for a particular multicast address will accept packets sent to that address
Messages can be sent to a multicast group by addressing them with the multicast address for that group
LAN MulticastingIn LANs that use broadcast technology, all messages are received by all nodes on a network For multicast delivery to occur, the message must
simply be addressed so that the multicast group members accept the packets and non-members reject them
In LANs that do not use broadcast, messages are transmitted onto the network The first multicast group member accepts the packet The group member then retransmits the packet, where it
is received by the next group member
LAN Multicast Addresses
In networks that use MAC addresses, multicast packets are addressed with: MAC addresses with the 8th bit set to 1
e.g. 01.5E.00.00.00.01 Unicast addresses have the 8th bit set to 0
In IP-based networks, multicast packets are addressed with Class D addresses: 224.0.0.0 – 239.255.255.255
e.g. 229.201.35.82
LAN Multicast Efficiency
In LANs that use broadcast technology: The time to transmit a multicast message is the same as
the time to transmit a unicast messageE = O(1)
In LANs that do not use broadcast: The time to transmit a multicast message is more than
(or equal to) the time to transmit a unicast message The time to transmit a multicast message is less than
(or equal to) the time to transmit a unicast message to each multicast group member
O(1) ≤ E ≤ O(N)
Transmit
LAN Multicasting: Physical
M
M
MM
M
This is the messaging pattern in LANs that use broadcast technology
Multicast Group A
WAN Multicasting
WAN multicast cannot be implemented entirely at node-level (as LAN multicast can) This is because routers must forward the multicast
messages to other LANs Some LANs a router can access will not contain any
multicast group members It would be inefficient to send the multicast message to LANs
such as these Routers must know where (on which of its ports) there are
members of each multicast group
Multicast Tunneling
Some WANs do not support multicastWhen a multicast message is sent across a network that does not support multicast, it must tunnel through that network Multicast datagrams are encapsulated into a larger
datagram which is transmitted (using unicast) from one part of the network, to another
Assumedly, the second part of the network is connected to another network which supports multicast or else a network that should also use multicast tunneling
WAN Multicast Efficiency
LAN multicast is often identical (in efficiency) to LAN unicast
WAN multicast, however, is typically less efficient The total number of messages present on the
network is typically more than one for WAN multicast