Movatterモバイル変換


[0]ホーム

URL:


[RFC Home] [TEXT|PDF|HTML] [Tracker] [IPR] [Info page]

Obsoleted by:1112 UNKNOWN
Network Working Group                                        S. DeeringRequest for Comments: 1054                          Stanford UniversityObsoletes: RFC988                                             May 1988Host Extensions for IP Multicasting1. STATUS OF THIS MEMO   This memo specifies the extensions required of a host implementation   of the Internet Protocol (IP) to support multicasting.  It is   proposed as a standard for IP multicasting in the Internet.  This   specification is a major revision ofRFC-988; changes fromRFC-988   are listed in an Appendix.  Distribution of this memo is unlimited.2. INTRODUCTION   IP multicasting is defined as the transmission of an IP datagram to a   "host group", a set of zero or more hosts identified by a single IP   destination address.  A multicast datagram is delivered to all   members of its destination host group with the same "best-efforts"   reliability as regular unicast IP datagrams, i.e., the datagram is   not guaranteed to arrive intact at all members of the destination   group or in the same order relative to other datagrams.   The membership of a host group is dynamic; that is, hosts may join   and leave groups at any time.  There is no restriction on the   location or number of members in a host group.  A host may be a   member of more than one group at a time.  A host need not be a member   of a group to send datagrams to it.   A host group may be permanent or transient.  A permanent group has a   well-known, administratively assigned IP address.  It is the address,   not the membership of the group, that is permanent; at any time a   permanent group may have any number of members, even zero.  Those IP   multicast addresses that are not reserved for permanent groups are   available for dynamic assignment to transient groups which exist only   as long as they have members.   Internetwork forwarding of IP multicast datagrams is handled by   "multicast routers" which may be co-resident with, or separate from,   internet gateways.  A host transmits an IP multicast datagram as a   local network multicast which reaches all immediately-neighboring   members of the destination host group.  If the datagram has an IP   time-to-live greater than 1, the multicast router(s) attached to the   local network take responsibility for forwarding it towards all other   networks that have members of the destination group.  On those other   member networks that are reachable within the IP time-to-live, anDeering                                                         [Page 1]

RFC 1054          Host Extensions for IP Multicasting           May 1988   attached multicast router completes delivery by transmitting the   datagram as a local multicast.   This memo specifies the extensions required of a host IP   implementation to support IP multicasting, where a "host" is any   internet host or gateway other than those acting as multicast   routers.  The algorithms and protocols used within and between   multicast routers are transparent to hosts and will be specified in   separate documents.  This memo also does not specify how local   network multicasting is accomplished for all types of network,   although it does specify the required service interface to an   arbitrary local network and gives an Ethernet specification as an   example.  Specifications for other types of network will be the   subject of future memos.3. LEVELS OF CONFORMANCE   There are three levels of conformance to this specification:      Level 0: no support for IP multicasting.   There is, at this time, no requirement that all IP implementations   support IP multicasting.  Level 0 hosts will, in general, be   unaffected by multicast activity.  The only exception arises on some   types of local network, where the presence of level 1 or 2 hosts may   cause misdelivery of multicast IP datagrams to level 0 hosts.  Such   datagrams can easily be identified by the presence of a class D IP   address in their destination address field; they should be quietly   discarded by hosts that do not support IP multicasting.  Class D   addresses are described insection 4 of this memo.      Level 1: support for sending but not receiving multicast IP      datagrams.   Level 1 allows a host to partake of some multicast-based services,   such as resource location or status reporting, but it does not allow   a host to join any host groups.  An IP implementation may be upgraded   from level 0 to level 1 very easily and with little new code.  Only   sections4,5, and6 of this memo are applicable to level 1   implementations.      Level 2: full support for IP multicasting.   Level 2 allows a host to join and leave host groups, as well as send   IP datagrams to host groups.  It requires implementation of the   Internet Group Management Protocol (IGMP) and extension of the IP and   local network service interfaces within the host.  All of the   following sections of this memo are applicable to level 2Deering                                                         [Page 2]

RFC 1054          Host Extensions for IP Multicasting           May 1988   implementations.4. HOST GROUP ADDRESSES   Host groups are identified by class D IP addresses, i.e., those with   "1110" as their high-order four bits.  Class E IP addresses, i.e.,   those with "1111" as their high-order four bits, are reserved for   future addressing modes.   In Internet standard "dotted decimal" notation, host group addresses   range from 224.0.0.0 to 239.255.255.255.  The address 224.0.0.0 is   guaranteed not to be assigned to any group, and 224.0.0.1 is assigned   to the permanent group of all IP hosts.  This is used to address all   multicast hosts on the directly connected network.  There is no   multicast address (or any other IP address) for all hosts on the   total Internet.  The addresses of other well-known, permanent groups   are to be published in "Assigned Numbers".Appendix II contains some background discussion of several issues   related to host group addresses.Deering                                                         [Page 3]

RFC 1054          Host Extensions for IP Multicasting           May 19885. MODEL OF A HOST IP IMPLEMENTATION   The multicast extensions to a host IP implementation are specified in   terms of the layered model illustrated below.  In this model, ICMP   and (for level 2 hosts) IGMP are considered to be implemented within   the IP module, and the mapping of IP addresses to local network   addresses is considered to be the responsibility of local network   modules.  This model is for expository purposes only, and should not   be construed as constraining an actual implementation.         |                                                          |         |              Upper-Layer Protocol Modules                |         |__________________________________________________________|      --------------------- IP Service Interface -----------------------          __________________________________________________________         |                            |              |              |         |                            |     ICMP     |     IGMP     |         |             IP             |______________|______________|         |           Module                                         |         |                                                          |         |__________________________________________________________|      ---------------- Local Network Service Interface -----------------          __________________________________________________________         |                            |                             |         |           Local            | IP-to-local address mapping |         |          Network           |         (e.g., ARP)         |         |          Modules           |_____________________________|         |      (e.g., Ethernet)                                    |         |                                                          |   To support level 1 multicasting, a host IP implementation must   support the transmission of multicast IP datagrams.  To support level   2 IP multicasting, a host must also support the reception of   multicast IP datagrams.  Each of these two new services is described   in a separate section, below.  For each service, extensions are   specified for the IP service interface, the IP module, the local   network service interface, and an Ethernet local network module.   Extensions to local network modules other than Ethernet are mentioned   briefly, but are not specified in detail.Deering                                                         [Page 4]

RFC 1054          Host Extensions for IP Multicasting           May 19886. SENDING MULTICAST IP DATAGRAMS6.1. Extensions to the IP Service Interface   Multicast IP datagrams are sent using the same "Send IP" operation   used to send unicast IP datagrams; an upper-layer protocol module   merely specifies an IP host group address, rather than an individual   IP address, as the destination.  However, a number of extensions may   be necessary or desirable.   First, the service interface should provide a way for the upper-layer   protocol to specify the IP time-to-live of an outgoing multicast   datagram, if such a capability does not already exist.  If the   upper-layer protocol chooses not to specify a time-to-live, it should   default to 1 for all multicast IP datagrams, so that an explicit   choice is required to multicast beyond a single network.   Second, for hosts that may be attached to more than one network, the   service interface should provide a way for the upper-layer protocol   to identify which network interface is be used for the multicast   transmission.  Only one interface is used for the initial   transmission; multicast routers are responsible for forwarding to any   other networks, if necessary.  If the upper-layer protocol chooses   not to identify an outgoing interface, a default interface should be   used, preferably under the control of system management.   Third (level 2 implementations only), for the case in which the host   is itself a member of a group to which a datagram is being sent, the   service interface should provide a way for the upper-layer protocol   to inhibit local delivery of the datagram; by default, a copy of the   datagram is looped back.  This is a performance optimization for   upper-layer protocols that restrict the membership of a group to one   process per host (such as a routing protocol), or that handle   loopback of group communication at a higher layer (such as a   multicast transport protocol).6.2. Extensions to the IP Module   To support the sending of multicast IP datagrams, the IP module must   be extended to recognize IP host group addresses when routing   outgoing datagrams.  Most IP implementations include the following   logic:        if IP-destination is on the same local network,           send datagram locally to IP-destination        else           send datagram locally to GatewayTo( IP-destination )Deering                                                         [Page 5]

RFC 1054          Host Extensions for IP Multicasting           May 1988   To allow multicast transmissions, the routing logic must be changed   to:        if IP-destination is on the same local network        or IP-destination is a host group,           send datagram locally to IP-destination        else           send datagram locally to GatewayTo( IP-destination )   If the sending host is itself a member of the destination group, a   copy of the outgoing datagram must be looped-back for local delivery,   unless inhibited by the sender.  (Level 2 implementations only.)   A host group address should not be placed in the source address field   or anywhere in a source routing option of an outgoing IP datagram.6.3. Extensions to the Local Network Service Interface   No change to the local network service interface is required to   support the sending of multicast IP datagrams.  The IP module merely   specifies an IP host group destination, rather than an individual IP   destination, when it invokes the existing "Send Local" operation.6.4. Extensions to an Ethernet Local Network Module   The Ethernet directly supports the sending of local multicast packets   by allowing multicast addresses in the destination field of Ethernet   packets.  All that is needed to support the sending of multicast IP   datagrams is a procedure for mapping IP host group addresses to   Ethernet multicast addresses.   An IP host group address is mapped to an Ethernet multicast address   by placing the low-order 23-bits of the IP address into the low-order   23 bits of the Ethernet multicast address 01-00-5E-00-00-00 (hex).   Because there are 28 significant bits in an IP host group address,   more than one host group address may map to the same Ethernet   multicast address.6.5. Extensions to Local Network Modules other than Ethernet   Other networks that directly support multicasting, such as rings or   buses conforming to the IEEE 802.2 standard, may be handled the same   way as Ethernet for the purpose of sending multicast IP datagrams.   For a network that supports broadcast but not multicast, such as the   Experimental Ethernet, all IP host group addresses may be mapped to a   single local broadcast address (at the cost of increased overhead on   all local hosts).  For a point-to-point link joining two hosts (or aDeering                                                         [Page 6]

RFC 1054          Host Extensions for IP Multicasting           May 1988   host and a multicast router), multicasts should be transmitted   exactly like unicasts.  For a store-and-forward network like the   ARPANET or a public X.25 network, all IP host group addresses might   be mapped to the well-known local address of an IP multicast router;   a router on such a network would take responsibility for completing   multicast delivery within the network as well as among networks.7. RECEIVING MULTICAST IP DATAGRAMS7.1. Extensions to the IP Service Interface   Incoming multicast IP datagrams are received by upper-layer protocol   modules using the same "Receive IP" operation as normal, unicast   datagrams.  Selection of a destination upper-layer protocol is based   on the protocol field in the IP header, regardless of the destination   IP address.  However, before any datagrams destined to a particular   group can be received, an upper-layer protocol must ask the IP module   to join that group.  Thus, the IP service interface must be extended   to provide two new operations:                 JoinHostGroup  ( group-address, interface )                 LeaveHostGroup ( group-address, interface )   The JoinHostGroup operation requests that this host become a member   of the host group identified by "group-address" on the given network   interface.  The LeaveGroup operation requests that this host give up   its membership in the host group identified by "group-address" on the   given network interface.  The interface argument may be omitted on   hosts that may be attached to only one network.  For hosts that may   be attached to more than one network, the upper-layer protocol may   choose to leave the interface unspecified, in which case the request   will apply to the default interface for sending multicast datagrams   (seesection 6.1).   It is permissible to join the same group on more than one interface,   in which case duplicate multicast datagrams may be received.  It is   also permissible for more than one upper-layer protocol to request   membership in the same group.   Both operations should return immediately (i.e., they are non-   blocking operations), indicating success or failure.  Either   operation may fail due to an invalid group address or interface   identifier.  JoinHostGroup may fail due to lack of local resources.   LeaveHostGroup may fail because the host does not belong to the given   group on the given interface.  LeaveHostGroup may succeed, but the   membership persist, if more than one upper-layer protocol has   requested membership in the same group.Deering                                                         [Page 7]

RFC 1054          Host Extensions for IP Multicasting           May 19887.2. Extensions to the IP Module   To support the reception of multicast IP datagrams, the IP module   must be extended to maintain a list of host group memberships   associated with each network interface.  An incoming datagram   destined to one of those groups is processed exactly the same way as   datagrams destined to one of the host's individual addresses.   Incoming datagrams destined to groups to which the host does not   belong are discarded without generating any error report.  On hosts   attached to more than one network, if a datagram arrives via one   network interface, destined for a group to which the host belongs   only on a different interface, the datagram is quietly discarded.   (These cases should occur only as a result of inadequate multicast   address filtering in a local network module.)   An incoming datagram is not rejected for having an IP time-to-live of   1 (i.e., the time-to-live should not automatically be decremented on   arriving datagrams that are not being forwarded).  An incoming   datagram is not rejected for having an IP host group address in its   source address field or anywhere in a source routing option.  An ICMP   error message (Destination Unreachable, Time Exceeded, Parameter   Problem, Source Quench, or Redirect) is never generated in response   to a datagram destined to an IP host group.   The list of host group memberships is updated in response to   JoinHostGroup and LeaveHostGroup requests from upper-layer protocols.   Each membership should have an associated reference count or similar   mechanism to handle multiple requests to join and leave the same   group.  On the first request to join and the last request to leave a   group on a given interface, the local network module for that   interface is notified, so that it may update its multicast reception   filter (seesection 7.3).   The IP module must also be extended to implement the IGMP protocol,   specified inAppendix I. IGMP is used to keep neighboring multicast   routers informed of the host group memberships present on a   particular local network.  To support IGMP, every level 2 host must   join the "all-hosts" group (address 224.0.0.1) on each network   interface at initialization time and must remain a member for as long   as the host is active.   (Datagrams addressed to the all-hosts group are recognized as a   special case by the multicast routers and are never forwarded beyond   a single network, regardless of their time-to-live.  Thus, the all-   hosts address may not be used as an internet-wide broadcast address.   For the purpose of IGMP, membership in the all-hosts group is really   necessary only while the host belongs to at least one other group.Deering                                                         [Page 8]

RFC 1054          Host Extensions for IP Multicasting           May 1988   However, it is specified that the host shall remain a member of the   all-hosts group at all times because (1) it is simpler, (2) the   frequency of reception of unnecessary IGMP queries should be low   enough that overhead is negligible, and (3) the all-hosts address may   serve other routing-oriented purposes, such as advertising the   presence of gateways or resolving local addresses.)7.3. Extensions to the Local Network Service Interface   Incoming local network multicast packets are delivered to the IP   module using the same "Receive Local" operation as local network   unicast packets.  To allow the IP module to tell the local network   module which multicast packets to accept, the local network service   interface is extended to provide two new operations:                      JoinLocalGroup  ( group-address )                      LeaveLocalGroup ( group-address )   where "group-address" is an IP host group address.  The   JoinLocalGroup operation requests the local network module to accept   and deliver up subsequently arriving packets destined to the given IP   host group address.  The LeaveLocalGroup operation requests the local   network module to stop delivering up packets destined to the given IP   host group address.  The local network module is expected to map the   IP host group addresses to local network addresses as required to   update its multicast reception filter.  Any local network module is   free to ignore LeaveLocalGroup requests, and may deliver up packets   destined to more addresses than just those specified in   JoinLocalGroup requests, if it is unable to filter incoming packets   adequately.   The local network module must not deliver up any multicast packets   that were transmitted from that module; loopback of multicasts is   handled at the IP layer or higher.7.4. Extensions to an Ethernet Local Network Module   To support the reception of multicast IP datagrams, an Ethernet   module must be able to receive packets addressed to the Ethernet   multicast addresses that correspond to the host's IP host group   addresses.  It is highly desirable to take advantage of any address   filtering capabilities that the Ethernet hardware interface may have,   so that the host receives only those packets that are destined to it.   Unfortunately, many current Ethernet interfaces have a small limit on   the number of addresses that the hardware can be configured to   recognize.  Nevertheless, an implementation must be capable ofDeering                                                         [Page 9]

RFC 1054          Host Extensions for IP Multicasting           May 1988   listening on an arbitrary number of Ethernet multicast addresses,   which may mean "opening up" the address filter to accept all   multicast packets during those periods when the number of addresses   exceeds the limit of the filter.   For interfaces with inadequate hardware address filtering, it may be   desirable (for performance reasons) to perform Ethernet address   filtering within the software of the Ethernet module.  This is not   mandatory, however, because the IP module performs its own filtering   based on IP destination addresses.7.5. Extensions to Local Network Modules other than Ethernet   Other multicast networks, such as IEEE 802.2 networks, can be handled   the same way as Ethernet for the purpose of receiving multicast IP   datagrams.  For pure broadcast networks, such as the Experimental   Ethernet, all incoming broadcast packets can be accepted and passed   to the IP module for IP-level filtering.  On point-to-point or   store-and-forward networks, multicast IP datagrams will arrive as   local network unicasts, so no change to the local network module   should be necessary.APPENDIX I. INTERNET GROUP MANAGEMENT PROTOCOL (IGMP)   The Internet Group Management Protocol (IGMP) is used by IP hosts to   report their host group memberships to any immediately-neighboring   multicast routers.  IGMP is an asymmetric protocol and is specified   here from the point of view of a host, rather than a multicast   router.  (IGMP may also be used, symmetrically or asymmetrically,   between multicast routers.  Such use is not specified here.)   Like ICMP, IGMP is a integral part of IP.  It is required to be   implemented by all hosts conforming to level 2 of the IP multicasting   specification.  IGMP messages are encapsulated in IP datagrams, with   an IP protocol number of 2.  All IGMP messages of concern to hosts   have the following format:       0                   1                   2                   3       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |Version| Type  |    Unused     |           Checksum            |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |                         Group Address                         |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Deering                                                        [Page 10]

RFC 1054          Host Extensions for IP Multicasting           May 1988      Version         This memo specifies version 1 of IGMP.  Version 0 is specified         inRFC-988 and is now obsolete.      Type         There are two types of IGMP message of concern to hosts:            1 = Host Membership Query            2 = Host Membership Report      Unused         Unused field, zeroed when sent, ignored when received.      Checksum         The checksum is the 16-bit one's complement of the one's         complement sum of the 8-octet IGMP message.  For computing         the checksum, the checksum field is zeroed.      Group Address         In a Host Membership Query message, the group address field         is zeroed when sent, ignored when received.         In a Host Membership Report message, the group address field         holds the IP host group address of the group being reported.Informal Protocol Description   Multicast routers send Host Membership Query messages (hereinafter   called Queries) to discover which host groups have members on their   attached local networks.  Queries are addressed to the all-hosts   group (address 224.0.0.1), and carry an IP time-to-live of 1.   Hosts respond to a Query by generating Host Membership Reports   (hereinafter called Reports), reporting each host group to which they   belong on the network interface from which the Query was received.   In order to avoid an "implosion" of concurrent Reports and to reduce   the total number of Reports transmitted, two techniques are used:      1. When a host receives a Query, rather than sending Reports         immediately, it starts a report delay timer for each of its         group memberships on the network interface of the incoming         Query.  Each timer is set to a different, randomly-chosen         value between zero and D seconds.  When a timer expires, aDeering                                                        [Page 11]

RFC 1054          Host Extensions for IP Multicasting           May 1988         Report is generated for the corresponding host group.  Thus,         Reports are spread out over a D second interval instead of         all occurring at once.      2. A Report is sent with an IP destination address equal to the         host group address being reported, and with an IP         time-to-live of 1, so that other members of the same group on         the same network can overhear the Report.  If a host hears a         Report for a group to which it belongs on that network, the         host stops its own timer for that group and does not generate         a Report for that group.  Thus, in the normal case, only one         Report will be generated for each group present on the         network, by the member host whose delay timer expires first.         Note that the multicast routers receive all IP multicast         datagrams, and therefore need not be addressed explicitly.         Further note that the routers need not know which hosts         belong to a group, only that at least one host belongs to a         group on a particular network.   There are two exceptions to the behavior described above.  First, if   a report delay timer is already running for a group membership when a   Query is received, that timer is not reset to a new random value, but   rather allowed to continue running with its current value.  Second, a   report delay timer is never set for a host's membership in the all-   hosts group (224.0.0.1), and that membership is never reported.   If a host uses a pseudo-random number generator to compute the   reporting delays, one of the host's own individual IP address should   be used as part of the seed for the generator, to reduce the chance   of multiple hosts generating the same sequence of delays.   A host should confirm that a received Report has the same IP host   group address in its IP destination field and its IGMP group address   field, to ensure that the host's own Report is not cancelled by an   erroneous received Report.  A host should quietly discard any IGMP   message of type other than Host Membership Query or Host Membership   Report.   Multicast routers send Queries periodically to refresh their   knowledge of memberships present on a particular network.  If no   Reports are received for a particular group after some number of   Queries, the routers assume that that group has no local members and   that they need not forward remotely-originated multicasts for that   group onto the local network.  Queries are normally sent infrequently   (no more than once a minute) so as to keep the IGMP overhead on hosts   and networks very low.  However, when a multicast router starts up,   it may issue several closely-space Queries in order to quickly build   up its knowledge of local memberships.Deering                                                        [Page 12]

RFC 1054          Host Extensions for IP Multicasting           May 1988   When a host joins a new group, it should immediately transmit a   Report for that group, rather than waiting for a Query, in case it is   the first member of that group on the network.  To cover the   possibility of the initial Report being lost or damaged, it is   recommended that it be repeated once or twice after short delays.  (A   simple way to accomplish this is to act as if a Query had been   received for that group only, setting the group's random report delay   timer.  The state transition diagram below illustrates this   approach.)   Note that, on a network with no multicast routers present, the only   IGMP traffic is the one or more Reports sent whenever a host joins a   new group.State Transition Diagram   IGMP behavior is more formally specified by the state transition   diagram below.  A host may be in one of three possible states, with   respect to any single IP host group on any single network interface:      - Non-Member state, when the host does not belong to the group        on the interface.  This is the initial state for all        memberships on all network interfaces; it requires no storage        in the host.      - Delaying Member state, when the host belongs to the group on        the interface and has a report delay timer running for that        membership.      - Idle Member state, when the host belongs to the group on the        interface and does not have a report delay timer running for        that membership.   There are five significant events that can cause IGMP state   transitions:      - "join group" occurs when the host decides to join the group on        the interface.  It may occur only in the Non-Member state.      - "leave group" occurs when the host decides to leave the group        on the interface.  It may occur only in the Delaying Member        and Idle Member states.      - "query received" occurs when the host receives a valid IGMP        Host Membership Query message.  To be valid, the Query message        must be at least 8 octets long and have a correct IGMP        checksum.  A single Query applies to all memberships on the        interface from which the Query is received.  It is ignored forDeering                                                        [Page 13]

RFC 1054          Host Extensions for IP Multicasting           May 1988        memberships in the Non-Member or Delaying Member state.      - "report received" occurs when the host receives a valid IGMP        Host Membership Report message.  To be valid, the Report        message must be at least 8 octets long, have a correct IGMP        checksum, and contain the same IP host group address in its IP        destination field and its IGMP group address field.  A Report        applies only to the membership in the group identified by the        Report, on the interface from which the Report is received.        It is ignored for memberships in the Non-Member or Idle Member        state.      - "timer expired" occurs when the report delay timer for the        group on the interface expires.  It may occur only in the        Delaying Member state.   All other events, such as receiving invalid IGMP messages, or IGMP   messages other than Query or Report, are ignored in all states.   There are three possible actions that may be taken in response to the   above events:      - "send report" for the group on the interface.      - "start timer" for the group on the interface, using a random        delay value between 0 and D seconds.      - "stop timer" for the group on the interface.Deering                                                        [Page 14]

RFC 1054          Host Extensions for IP Multicasting           May 1988   In the following diagram, each state transition arc is labelled with   the event that causes the transition, and, in parentheses, any   actions taken during the transition.                              ________________                             |                |                             |                |                             |                |                             |                |                   --------->|   Non-Member   |<---------                  |          |                |          |                  |          |                |          |                  |          |                |          |                  |          |________________|          |                  |                   |                  |                  | leave group       | join group       | leave group                  | (stop timer)      |(send report,     |                  |                   | start timer)     |          ________|________           |          ________|________         |                 |<---------          |                 |         |                 |                    |                 |         |                 |<-------------------|                 |         |                 |   query received   |                 |         | Delaying Member |    (start timer)   |   Idle Member   |         |                 |------------------->|                 |         |                 |   report received  |                 |         |                 |    (stop timer)    |                 |         |_________________|------------------->|_________________|                                timer expired                                (send report)   The all-hosts group (address 224.0.0.1) is handled as a special case.   The host starts in Idle Member state for that group on every   interface, never transitions to another state, and never sends a   report for that group.Protocol Parameters   The maximum report delay, D, is 10 seconds.Deering                                                        [Page 15]

RFC 1054          Host Extensions for IP Multicasting           May 1988APPENDIX II. HOST GROUP ADDRESS ISSUES   This appendix is not part of the IP multicasting specification, but   provides background discussion of several issues related to IP host   group addresses.Group Address Binding   The binding of IP host group addresses to physical hosts may be   considered a generalization of the binding of IP unicast addresses.   An IP unicast address is statically bound to a single local network   interface on a single IP network.  An IP host group address is   dynamically bound to a set of local network interfaces on a set of IP   networks.   It is important to understand that an IP host group address is NOT   bound to a set of IP unicast addresses.  The multicast routers do not   need to maintain a list of individual members of each host group.   For example, a multicast router attached to an Ethernet need   associate only a single Ethernet multicast address with each host   group having local members, rather than a list of the members'   individual IP or Ethernet addresses.Group Addresses as Logical Addresses   Host group addresses have been defined specifically for use in the   destination address field of multicast IP datagrams.  However, the   fact that group addresses are location-independent (they are not   statically bound to a single network interface) suggests possible   uses as more general "logical addresses", both in the source as well   as the destination address field of datagrams.  For example, a mobile   IP host might have a host group address as its only identity, used as   the source of datagrams it sends.  Whenever the mobile host moved   from one network to another, it would join its own group on the new   network and depart from the group on the old network.  Other hosts   communicating with the mobile one would deal only with the group   address and would be unaware of, and unaffected by, the changing   network location of the mobile host.   Host group addresses cannot, however, be used to solve all problems   of internetwork logical addressing, such as delivery to the "nearest"   or the "least loaded" network interface of a multi-homed host.   Furthermore, there are hazards in using group addresses in the source   address field of datagrams when the group actually contains more than   one host.  For instance, the IP datagram reassembly algorithm relies   on every host using a different source address.  Also, errors in a   datagram sent with a group source address may result in error reports   being returned to all members of the group, not just the sender.  InDeering                                                        [Page 16]

RFC 1054          Host Extensions for IP Multicasting           May 1988   view of these hazards, this memo specifies the use of host group   addresses only in the IP destination address field.  However, it is   recommended that datagrams with a group source address, or a group   address as part of a source routing option, be accepted without   complaint, thereby allowing other implementations to experiment with   logical addressing applications of host group addresses.Allocation of Transient Host Group Addresses   This memo does not specify how transient group address are allocated.   It is anticipated that different portions of the IP transient host   group address space will be allocated using different techniques.   For example, there may be a number of servers that can be contacted   to acquire a new transient group address.  Some higher-level   protocols (such as VMTP, specified inRFC-1045) may generate higher-   level transient "process group" or "entity group" addresses which are   then algorithmically mapped to a subset of the IP transient host   group addresses, similarly to the way that IP host group addresses   are mapped to Ethernet multicast addresses.  A portion of the IP   group address space may be set aside for random allocation by   applications that can tolerate occasional collisions with other   multicast users, perhaps generating new addresses until a suitably   "quiet" one is found.   In general, a host cannot assume that datagrams sent to any host   group address will reach only the intended hosts, or that datagrams   received as a member of a transient host group are intended for the   recipient.  Misdelivery must be detected at a level above IP, using   higher-level identifiers or authentication tokens.  Information   transmitted to a host group address should be encrypted or governed   by administrative routing controls if the sender is concerned about   unwanted listeners.APPENDIX III. CHANGES FROMRFC-988   The IP multicast extensions specified in this memo are significantly   different from those specified inRFC-988.  Most of the changes are   due to a shift of responsibility away from the multicast routers   (called "multicast agents" inRFC-988) and onto the hosts.  This new   distribution of responsibility is consistent with the lightweight,   soft-state gateway architecture of the Internet, and it allows the IP   multicast services (in the same way as the IP unicast services) to be   used among hosts on a single network when no router is up or present   on the network.  Thus, current single-network IP broadcast   applications may be migrated to the use of IP multicast before   multicast routers are widely available.  The following changes are a   consequence of this shift of responsibility:Deering                                                        [Page 17]

RFC 1054          Host Extensions for IP Multicasting           May 1988      - Private hosts groups and access keys have been eliminated.        The multicast routers are no longer considered trustworthy        controllers of group membership; it is up to hosts and their        administrators to provide their own mechanisms to prevent        unwanted eavesdropping on group communication, perhaps by        using end-to-end encryption or by imposing restrictions on the        flow of IP multicast datagrams into and out of particular        administrative domains.      - The CreateHostGroup operation has been eliminated.  The        responsibility for allocating transient host groups has been        moved from multicast routers to the hosts.  SeeAppendix II        for a brief discussion of some ways in which hosts might do        their own transient group allocation.      - The JoinHostGroup and LeaveHostGroup operations have become        non-blocking, because it is no longer necessary to await        approval from a multicast router when changing membership.  It        is also no longer possible for a host to have its membership        revoked by a multicast router.      - The IGMP protocol is substantially different from that inRFC-988, reflecting the changed roles of hosts and multicast        routers.      - The new IGMP requires that there be an "all-hosts" group.        There is no longer a need for an "all-multicast-agents" group.   Other changes that are not related to the shift of responsibility   are:      - The decision whether or not to loop back a multicast datagram        sent from a member of the destination group is now made at the        time the datagram is sent, rather than at the time the group        is joined.  This gives the sender another degree of scope        control, beyond the IP time-to-live.      - The handling of IP time-to-live, and of multiple network        interfaces, has been more precisely specified.      - Hosts are no longer allowed to place an IP host group address        in a source routing option.      - The AcceptAddress and RejectAddress operations at the local        network service interface have been renamed JoinLocalGroup and        LeaveLocalGroup to emphasize their semantic similarity to the        JoinHostGroup and LeaveHostGroup operations at the IP service        interface.Deering                                                        [Page 18]

RFC 1054          Host Extensions for IP Multicasting           May 1988      - A new mapping algorithm for Ethernet multicast addresses has        been specified.      - The organization of the memo has been changed somewhat, and a        state transition diagram has been added to the IGMP        specification.Deering                                                        [Page 19]

[8]ページ先頭

©2009-2025 Movatter.jp