In computer networking, telecommunication and information theory, broadcasting is a method of transferring a message to all recipients simultaneously. Broadcasting can be performed as a high-level operation in a program, for example, broadcasting in Message Passing Interface, or it may be a low-level networking operation, for example broadcasting on Ethernet.
All-to-all communication is a computer communication method in which each sender transmits messages to all receivers within a group. In networking this can be accomplished using broadcast or multicast. This is in contrast with the point-to-point method in which each sender communicates with one receiver.
There are four principal addressing methods in the Internet Protocol:
- Unicast delivers a message to a single specific node using a one-to-one association between a sender and destination: each destination address uniquely identifies a single receiver endpoint.
- Broadcast delivers a message to all nodes in the network using a one-to-all association; a single datagram (or packet) from one sender is routed to all of the possibly multiple endpoints associated with the broadcast address. The network automatically replicates datagrams as needed to reach all the recipients within the scope of the broadcast, which is generally an entire network subnet.
- Multicast delivers a message to a group of nodes that have expressed interest in receiving the message using a one-to-many-of-many or many-to-many-of-many association; datagrams are routed simultaneously in a single transmission to many recipients. Multicast differs from broadcast in that the destination address designates a subset, not necessarily all, of the accessible nodes.
- Anycast delivers a message to any one out of a group of nodes, typically the one nearest to the source using a one-to-one-of-many association where datagrams are routed to any single member of a group of potential receivers that are all identified by the same destination address. The routing algorithm selects the single receiver from the group based on which is the nearest according to some distance or cost measure.
Broadcasting is the most general communication method and is also the most intensive, in the sense that many messages may be required and many network devices are involved. This is in contrast to unicast addressing in which a host sends datagrams to another single host, identified by a unique address.
Broadcasting may be performed as all scatter in which each sender performs its own scatter in which the messages are distinct for each receiver, or all broadcast in which they are the same.
Not all network technologies support broadcast addressing; for example, neither X.25 nor frame relay have broadcast capability. The Internet Protocol Version 4 (IPv4), which is the primary networking protocol in use today on the Internet and all networks connected to it, supports broadcast, but the broadcast domain is the broadcasting host's subnet, which is typically small; there is no way to do an Internet-wide broadcast. Broadcasting is largely confined to local area network (LAN) technologies, most notably Ethernet and Token Ring, where the performance impact of broadcasting is not as large as it would be in a wide area network.
The successor to IPv4, IPv6 does not implement the broadcast method, so as to prevent disturbing all nodes in a network when only a few may be interested in a particular service. Instead IPv6 relies on multicast addressing - a conceptually similar one-to-many routing methodology. However, multicasting limits the pool of receivers to those that join a specific multicast receiver group.
Broadcasting may be abused to perform a type of DoS-attack known as a Smurf attack. The attacker sends forged ping requests with the source IP address of the victim computer. The victim computer is flooded by the replies from all computers in the domain.
- Broadcast radiation
- Point-to-multipoint communication
- Broadcast, Unknown-Unicast and Multicast traffic
- Terminating Reliable Broadcast
- David Padua (2011). Encyclopedia of Parallel Computing. Vol. 4. p. 43. ISBN 0387097651.
- Andrew Tanenbaum (2003). Computer Networks. Prentice Hall. p. 368. ISBN 0-13-066102-3.
- J. Duato; Sudhakar Yalamanchili; Lionel Ni (2012). Interconnection Networks. pp. 210–211. ISBN 1558608524.
- Jesper Larsson Träff (2002). Improved MPI All-to-all Communication on a Giganet SMP Cluster. Proceedings of the 9th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface. pp. 392–400. ISBN 3-540-44296-0.