210 likes | 237 Views
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
E N D
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 messaging • Unicast messages are addressed using a specific address of a recipient node • Network routers choose the best path (one path) for the message to travel • Eventually, the routers direct the message to the correct node
Anycast • Anycast messages also involve groups • Anycast groups are groups of nodes where any node in the group can receive any of the messages intended for that group • Anycast (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
Broadcast • Broadcasting 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 Broadcasting • Most 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 Broadcasting • Broadcast 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 M M M M M M M M LAN Broadcasting: Physical This is the messaging pattern in LANs that use broadcast technology
LAN Broadcast Addresses • Most 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 message E = 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 Multicasting • In 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 message E = 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 M M M M M LAN Multicasting: Physical 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 multicast • When 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