48

IPv4 can broadcast. Why can't IPv6 do that?

splattne
  • 28,348
  • 19
  • 97
  • 147
user68350
  • 697
  • 1
  • 6
  • 7

4 Answers4

36

As it's explained incredibly well, I prefer to cut&paste the answer. This is from "The TCP/IP Guide", a must read:

One important change in the addressing model of IPv6 is the address types supported. IPv4 supported three address types: unicast, multicast and broadcast. Of these, the vast majority of actual traffic was unicast. IP multicast support was not widely deployed until many years after the Internet was established, and continues to be hampered by various issues. Use of broadcast in IP had to be severely restricted for performance reasons (we don't want any device to be able to broadcast across the entire Internet!)

IPv6 also supports three address types, but with some changes:

  • Unicast Addresses: These are standard unicast addresses as in IPv4, one per host interface.

  • Multicast Addresses: These are addresses that represent various groups of IP devices: a message sent to a multicast address goes to all devices in the group. IPv6 includes much better multicast features and many more multicast addresses than IPv4. Since multicast under IPv4 was hampered in large part due to lack of support of the feature by many hardware devices, support for multicasting is a required, not optional, part of IPv6.

  • Anycast Addresses: Anycast addressing is used when a message must be sent to any member of a group, but does not need to be sent to them all. Usually the member of the group that is easiest to reach will be sent the message. One common example of how anycast addressing could be used is in load sharing amongst a group of routers in an organization.

Key Concept: IPv6 has unicast and multicast addresses like IPv4. There is, however, no distinct concept of a broadcast address in IPv6. A new type of address, the anycast address, has been added to allow a message to be sent to any one member of a group of devices. Implications of the Changes to Address Types in IPv6

Broadcast addressing as a distinct addressing method is gone in IPv6. Broadcast functionality is implemented using multicast addressing to groups of devices. A multicast group to which all nodes belong can be used for broadcasting in a network, for example.

An important implication of the creation of anycast addressing is removal of the strict uniqueness requirement for IP addresses. Anycast is accomplished by assigning the same IP address to more than one device. The devices must also be specifically told that they are sharing an anycast address, but the addresses themselves are structurally the same as unicast addresses.

splattne
  • 28,348
  • 19
  • 97
  • 147
tmow
  • 1,187
  • 8
  • 20
29

IPv6 does not implement traditional IP broadcast, and therefore does not define broadcast addresses. In IPv6, the same result can be achieved by sending a packet to the link-local all nodes multicast group which is analogous to IPv4 broadcast.

ramnet
  • 345
  • 2
  • 3
10

In IPv4 "broadcasts" are really just sent to everyone on the local broadcast domain, which is a finite domain. Multicast is sent to a finite domain defined by a particular group. See how IPv4 'broadcasts' are just a particular subset of multicast (where the 'group' is everyone). In IPv6 they eliminated the redundant term.

Chris S
  • 77,337
  • 11
  • 120
  • 212
7

A broadcast assumes that everyone is interested in your packet, and all hosts need to process it. For embedded devices, it is highly unlikely that they will be able to handle the request, and thus it is usually better if they can stay in power-save mode. Using multicast instead of broadcast allows the network interface to determine in hardware whether the packet is interesting enough to warrant waking up the main processor, which significantly increases battery lifetime for these devices.

Simon Richter
  • 3,209
  • 17
  • 17