IP Multicast over Token-Ring Local Area Networks
Transmitting group messages over ring-shaped local networks
Pusateri, T., "IP Multicast over Token-Ring Local Area Networks", RFC 1469, DOI 10.17487/RFC1469, June 1993, <https://www.rfc-editor.org/info/rfc1469>.
@misc{rfc1469,
series = {Request for Comments},
number = 1469,
howpublished = {RFC 1469},
publisher = {RFC Editor},
doi = {10.17487/RFC1469},
url = {https://www.rfc-editor.org/info/rfc1469},
author = {T. Pusateri},
title = {{IP Multicast over Token-Ring Local Area Networks}},
pagetotal = 4,
year = 1993,
month = jun,
} RFC text
Contents
Network Working Group T. Pusateri
Request for Comments: 1469 Consultant
June 1993
IP Multicast over Token-Ring Local Area Networks
Status of this Memo
This RFC specifies an IAB standards track protocol for the Internet
community, and requests discussion and suggestions for improvements.
Please refer to the current edition of the "IAB Official Protocol
Standards" for the standardization state and status of this protocol.
Distribution of this memo is unlimited.
Abstract
This document specifies a method for the transmission of IP multicast
datagrams over Token-Ring Local Area Networks. Although an interim
solution has emerged and is currently being used, it is the intention
of this document to specify a more efficient means of transmission
using an assigned Token-Ring functional address.
Introduction
IP multicasting provides a means of transmitting IP datagrams to a
group of hosts. A group IP address is used as the destination
address in the IP datagram as documented in STD 5, RFC 1112 [1].
These group addresses, also referred to as Class D addresses, fall in
the range from 224.0.0.0 to 239.255.255.255. A standard method of
mapping IP multicast addresses to media types such as ethernet and
fddi exist in [1] and RFC 1188 [2]. This document attempts to define
the mapping for an IP multicast address to the corresponding Token-
Ring MAC address.
Background
The Token-Ring Network Architecture Reference [3] provides several
types of addressing mechanisms. These include both individual
(unicast) and group addresses (multicast). A special subtype of
group addresses are called functional addresses and are indicated by
a bit in the destination MAC address. They were designed for widely
used functions such as ring monitoring, NETBIOS, Bridge, and Lan
Manager frames. There are a limited number of functional addresses,
31 in all, and therefore several unrelated functions must share the
same functional address.
It would be most desirable if Token-Ring could use the same mapping
as ethernet and fddi for IP multicast to hardware multicast
addressing. However, current implementations of Token-Ring
controller chips cannot support this. To see why, we must first
examine the Destination MAC address format.
Destination Address Format
The destination MAC address consists of six octets. In the following
diagram of a MAC address, the order of transmission of the octets is
from top to bottom (octet 0 to octet 5), and the order of
transmission of the bits within each octet is from right to left (bit
0 to bit 7). This is the so-called "canonical" bit order for IEEE
802.2 addresses. Addresses supplied to or received from token ring
interfaces are usually laid out in memory with the bits of each octet
in the opposite order from that illustrated, i.e., with bit 0 in the
high-order (leftmost) position within the octet.
7 6 5 4 3 2 1 0
---------------------------------
| | | | | | |U/L|I/G| octet 0
---------------------------------
| | | | | | | | | octet 1
---------------------------------
| | | | | | | |FAI| octet 2
---------------------------------
| | | | | | | | | octet 3
---------------------------------
| | | | | | | | | octet 4
---------------------------------
| | | | | | | | | octet 5
---------------------------------
The low order bit of the high order octet is called the I/G bit. It
signifies whether the address is an individual address (0) or a group
address (1). This is comparable to the multicast bit in the DIX
Ethernet addressing format.
Bit position 1 of the high order octet, called the U/L bit, specifies
whether the address is universally administered (0) or locally
administered (1). Universally administered addresses are those
specified by a standards organization such as the IEEE.
If the I/G bit is set to 1 and the U/L bit is 0, the address must be
a universally administered group address. If the I/G bit is 1 and the
U/L bit is a 1, the address may be either a local administered group
address or a functional address. This distinction is determined by
the Functional Address Indicator (FAI) bit located in bit position 0
of octet 2. If the FAI bit is 0, the address is considered a
functional address. And if the FAI bit is 1, this indicates a
locally administered group address.
Different functional addresses are made by setting one of the
remaining 31 bits in the address field. These bits include the 7
remaining bits in octet 2 as well as the 8 bits in octets 3, 4, and
5. It is not possible to create more functional addresses by setting
more than one of these bits at a time.
Three methods exist for mapping between an IP multicast address and a
hardware address. These include:
1. The all rings broadcast address
2. The assigned functional address
3. The existing IEEE assigned IP Multicast group addresses
In order to insure interoperability, all systems supporting IP
multicasting on each physical ring must agree on the hardware address
to be used. Therefore, the method used should be configurable on a
given interface. Bridges may provide a means to translate between
different methods for each physical ring that is being bridged.
Method (3) is recommended but due to hardware limitations of Token-
Ring controller chips, may not be possible. In this case, Method (2)
is preferred over Method (1). For backward compatibility, systems
that support (2) MUST also support (1). And systems that support (3)
MUST also support (2) and therefore (1). In the absence of
configuration information, the default should be to use the assigned
functional address (2).
IP Multicast Functional Address
Because there is a shortage of Token-Ring functional addresses, all
IP multicast addresses have been mapped to a single Token-Ring
functional address. In canonical form, this address is 03-00-00-20-
00-00. In non-canonical form, it is C0-00-00-04-00-00. It should be
noted that since there are only 31 possible functional addresses,
there may be other protocols that are assigned this functional
address as well. Therefore, just because a frame is sent to the
functional address 03-00-00-20-00-00 does not mean that it is an IP
multicast frame.
Acknowledgments
The author would like to thank John Moy, Fred Baker, Steve Deering,
and Rob Enns for their review and constructive comments.
References
[1] Deering, S., "Host Extensions for IP Multicasting", STD 5,
RFC 1112, Stanford University, August 1989.
[2] Katz, D., "A Proposed Standard for the Transmission of IP
Datagrams over FDDI Networks", RFC 1188, Merit/NSFNET,
October 1990.
[3] IBM Token-Ring Network, Architecture Reference, Publication SC30-
3374-02, Third Edition, (September, 1989).
Security Considerations
Security issues are not discussed in this memo.
Author's Address
Thomas J. Pusateri
Consultant
11820 Edgewater Ct.
Raleigh, NC 27614
EMail: pusateri@cs.duke.edu
AI ELI5
On this page
§1Multicast on Local Networks
IP multicast allows one computer to send a single message to a group of recipients rather than either sending individual copies to each one (unicast) or broadcasting to everyone on the network (broadcast). Multicast addresses are a special range called Class D addresses, from 224.0.0.0 to 239.255.255.255.
For multicast to work on a local area network (LAN), these IP addresses must be translated into hardware addresses that the network interface can understand. On Ethernet and FDDI networks, this mapping is straightforward. Token-Ring networks, however, use a different addressing scheme with special limitations that make multicast more complex to implement.
IP multicast is like writing an email to a mailing list instead of individual people. But Token-Ring networks need special hardware tricks to make this work, and there are only a few tricks available.
§2Token-Ring Addressing
Token-Ring networks support three types of addresses: individual addresses (sent to one computer, like unicast), group addresses (sent to multiple computers, like multicast), and functional addresses (reserved for standard functions like bridge traffic or network management).
Functional addresses are indicated by special bit patterns in the hardware address. A Token-Ring address is 6 octets (48 bits). When both the I/G bit (individual/group) and the U/L bit (universal/local) are set, the address is a functional address, marked by a Functional Address Indicator (FAI) bit set to 0. There are only 31 possible functional addresses, shared among all protocols on the network.
The problem: Ethernet and FDDI can create unique hardware multicast addresses for thousands of IP multicast groups using the lower 23 bits of the multicast address, but Token-Ring's 31 functional addresses are too few for this approach.
Token-Ring has only 31 special addresses reserved for group messages, but there could be thousands of different groups. So all IP multicast groups must share one address, and computers have to read the actual message to know if it is for them.
§3The Solution
RFC 1469 recommends mapping all IP multicast addresses to a single Token-Ring functional address: 03-00-00-20-00-00 in canonical form (the bit order used in standards documents) or C0-00-00-04-00-00 in non-canonical form (the bit order used by Token-Ring hardware in memory).
When a Token-Ring interface is configured for multicast, it sets its hardware address filter to accept frames destined to this functional address. However, because this address may be shared with other protocols, the receiving software must examine the IP header to determine if the frame is an IP multicast frame intended for the receiving host's group memberships. The RFC notes that different bridges or ring segments may use different mapping methods if needed, and backward compatibility requires systems to also support the less efficient method of using the all-rings broadcast address.
All IP multicast messages on a Token-Ring are addressed to one special hardware address. The network card accepts all messages sent to that address, and the software looks inside each message to see if it was meant for that particular computer.