床上为什么会有跳蚤| pad是什么| 无花果什么时候种植| surprise是什么意思| 断崖式是什么意思| 去离子水是什么| 素质教育是什么| 尿隐血是什么原因| 生理期为什么不能拔牙| 检查阳性是什么意思| 芝兰是什么意思| 过指什么生肖| 三月20号是什么星座| 1度房室传导阻滞是什么意思| 打美国电话前面加什么| upupup是什么意思| 什么生日的人有佛缘| 宫颈炎盆腔炎吃什么药效果最好| 78年的马是什么命| 淋巴结肿大挂什么科| 主任是什么意思| 为什么会长闭口| 肛门瘙痒用什么药膏好| 愚公移山是什么意思| 银屑病吃什么食物最好| 甲亢是什么| 净土的意思是什么| ctc是什么意思| 尿酸高喝什么| 内参是什么意思| 感康是什么| 经常催吐有什么危害| 总是想睡觉是什么原因| 榴莲吃起来口感像什么| 水瓶座有什么特点| 什么是月子病| 什么叫压缩性骨折| 颈椎病去医院挂什么科| gap什么意思| 六十而耳顺是什么意思| 西洋参可以和什么一起泡水喝| 女生两个月没来月经是什么原因| 痛经吃什么药最有效| 长期便秘吃什么药好| 皮肤一碰就破是什么病| 1977年属蛇是什么命| 尊敬是什么意思| 脚心是什么穴位| 聪明的近义词是什么| 欲语还休是什么意思| 宋朝之前是什么朝代| 三个土读什么| 骁字五行属什么| 羊刃格是什么意思| 被男人操是什么感觉| 神经性头痛吃什么药效果好| 什么是肌酐| 服兵役是什么意思| 什么是野鸡大学| 猪头肉炒什么好吃| 孕妇梦见牛是什么意思| c1和c2有什么区别| 烧伤的疤痕怎么去除用什么法最好| 自缢痣是什么意思| 金色葡萄球菌最怕什么| c60是什么| 骨量偏高代表什么意思| 王不留行是什么| 百合花代表什么意思| 什么样的春天| 对对子是什么意思| 刚是什么意思| 胃炎可以吃什么水果| 医院信息科是做什么| 什么散步填词语| 艾司唑仑片是什么药| 脸过敏用什么药膏效果最好| 天空像什么| c反应蛋白偏高说明什么| 688是什么意思| 吃薄荷叶有什么好处和坏处| 鼻子两侧毛孔粗大是什么原因造成的| 心路历程是什么意思| 蔡字五行属什么| 吃维生素b族有什么好处| 妈妈是什么| 睡觉老是流口水是什么原因| 维生素b族有什么用| 睡不着觉什么原因| 为什么肚子总是胀胀的| 细胞质由什么组成| 活菩萨是什么意思| 高血压吃什么药| 下午茶是什么意思| 太平洋中间是什么| 什么南瓜| 拔牙什么时候拔最好| 藏蓝色是什么颜色| 命根子是什么| 私生是什么意思| 歧路亡羊告诉我们什么道理| 甲醛什么味| 减脂期吃什么| 金价下跌意味着什么| 浪琴名匠系列什么档次| g6pd是什么| 溯溪是什么意思| 比目鱼是什么鱼| 黄辣丁吃什么食物| 扁桃体炎吃什么消炎药| 2029年属什么生肖| 什么是个体工商户| 卡马西平片治什么病| 阻断是什么意思| 金汤是什么汤| 绿豆和什么一起煮好| 口舌生疮是什么原因| 世界第一大运动是什么| 喝酒吐血是什么原因| 成龙真名叫什么名字| 膝关节疼痛用什么药效果最好| cs是什么元素| 月经不能吃什么东西| 1996属鼠的是什么命| 火烧火燎是什么意思| 小孩瘦小不长肉是什么原因| 房颤什么意思| 痛经打什么针止痛| 生日送什么| 待字闺中什么意思| 一个黑一个出读什么| 别人梦见我死了是什么意思| 木姜子是什么| 芙蓉是什么意思| 叶倩文属什么生肖| 思密达什么意思| 17号来月经什么时候是排卵期| 观音菩萨代表什么生肖| 嘴唇出血是什么原因| 的近义词是什么| 国家为什么要扫黄| 6月25日是世界什么日| 过期葡萄酒有什么用途| 腿水肿是什么原因引起的| 百香果是什么季节的水果| 地道战在河北什么地方| 黄瓜长什么样| 1919年属什么生肖| 月与什么有关| 骨龄是什么| 病毒性感冒吃什么药| 房颤是什么病| 6541是什么药| 打点滴是什么意思| 小满是什么季节| 乳糖酶是什么| 胸口堵是什么原因| 肠胃湿热吃什么药好| 螳螂吃什么食物| 67是什么意思| 10月11号是什么星座| 清谷天指的是什么| 政字五行属什么| 座是什么结构| 全身出虚汗多是什么原因造成的| 牙齿上有黄斑是什么原因| 卡西欧属于什么档次| 血半念什么| ct和拍片有什么区别| 低血糖什么症状有哪些| 只欠东风的上一句是什么| 蹦迪是什么意思| 清洁度二度是什么意思| 柠檬有什么功效| 吃盐吃多了有什么危害| 六八年属什么生肖| 蔗去掉草字头读什么| 青牛是什么牛| 10月1日什么星座| 肌酐偏低是什么意思| 叶倩文属什么生肖| 美是什么生肖| pet什么意思| 什么的图案| 什么人不能吃马齿苋| 2018年生肖属什么| 蓬蒿人是什么意思| 心动过缓吃什么药最好| 己卯日五行属什么| 为什么今年夏天特别热| 人加三笔是什么字| 甲肝抗体阳性代表什么| 盆腔炎要做什么检查| 女性下体长什么样| 唾液酸苷酶阳性什么意思| 黄疸肝炎有什么症状| 亦如是什么意思| 腹腔积水是什么原因造成的| 嘴里发甜是什么原因| 胎儿为什么会喜欢臀位| 哪吒的武器是什么| 肾结石不处理有什么后果| 无偿是什么意思| 喝酒肚子疼是什么原因| 什么的感受| 奥沙利文为什么叫火箭| 爆菊什么意思| 白脉病是什么病| 干燥综合症挂什么科| 荨麻疹吃什么药效果好| 喝绿茶有什么好处| 动漫ova是什么意思| 什么是肿瘤| 做什么动作可以长高| 什么是湿疹| 年少轻狂是什么意思| 临官是什么意思| 珍珠状丘疹有什么危害| 为什么会得肺炎| 荨麻疹是什么引起的| 总胆红素偏高是什么引起的| 大使是什么行政级别| 手指甲有黑色条纹是什么原因| 杀阴虱用什么药最快| 低钠有什么症状和危害| 湖面像什么| 小脑延髓池是什么意思| 糖尿病人不能吃什么| 身上发冷是什么原因| 葵水是什么| 三文鱼配什么酒| 海苔是什么做的| 经常便秘吃什么调理| 孕妇喝可乐对胎儿有什么影响| 月经和怀孕的症状有什么不同| 什么花是红色的| 吃什么补白细胞快| 很nice什么意思| 吃什么瘦肚子最快| 海参头数是什么意思| 五毛是什么意思| 色是什么结构| 吃什么补精| 尿多是什么问题| bae是什么意思| 鲁迅字什么| 脉络是什么意思| 泡果酒用什么酒好| 生二胎需要什么手续| 什么东西能戒酒| 吃完海鲜不能吃什么水果| 本座是什么意思| 肋骨中间是什么器官| 前面有个豹子是什么车| 贻笑大方什么意思| 丝状疣长什么样| 骨质增生吃什么药效果好| 胆囊粗糙是什么意思| 大脑供血不足头晕吃什么药最好| 为什么医院不推荐钡餐检查| 为什么长痣| pisen是什么牌子| 扁平疣是什么原因长出来的| 梦到打死蛇是什么意思| 百度

Network Working Group                                        S. Deering
Request for Comments: 1112                          Stanford University
Obsoletes: RFCs 988, 1054                                   August 1989


                  Host Extensions for IP Multicasting

1. STATUS OF THIS MEMO

   This memo specifies the extensions required of a host implementation
   of the Internet Protocol (IP) to support multicasting.  It is the
   recommended standard for IP multicasting in the Internet.
   Distribution of this memo is unlimited.

2. INTRODUCTION

   IP multicasting is 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, an
   attached multicast router completes delivery by transmitting the



Deering                                                         [Page 1]


RFC 1112          Host Extensions for IP Multicasting        August 1989


   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 in section 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
   sections 4, 5, and 6 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 2
   implementations.



Deering                                                         [Page 2]


RFC 1112          Host Extensions for IP Multicasting        August 1989


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 (including gateways).  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 1112          Host Extensions for IP Multicasting        August 1989


5. 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 provide level 1 multicasting, a host IP implementation must
   support the transmission of multicast IP datagrams.  To provide level
   2 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 1112          Host Extensions for IP Multicasting        August 1989


6. SENDING MULTICAST IP DATAGRAMS

6.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 1112          Host Extensions for IP Multicasting        August 1989


   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 on
   the outgoing interface, a copy of the outgoing datagram must be
   looped-back for local delivery, unless inhibited by the sender.
   (Level 2 implementations only.)

   The IP source address of the outgoing datagram must be one of the
   individual addresses corresponding to the outgoing interface.

   A host group address must never be placed in the source address field
   or anywhere in a source route or record route 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



Deering                                                         [Page 6]


RFC 1112          Host Extensions for IP Multicasting        August 1989


   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 a
   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 DATAGRAMS

7.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 support only one interface.  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
   (see section 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



Deering                                                         [Page 7]


RFC 1112          Host Extensions for IP Multicasting        August 1989


   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.

7.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 or log
   entry.  On hosts with more than one network interface, if a datagram
   arrives via one 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 with an IP host group address in its source address field is
   quietly discarded.  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 (see section 7.3).

   The IP module must also be extended to implement the IGMP protocol,
   specified in Appendix 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.




Deering                                                         [Page 8]


RFC 1112          Host Extensions for IP Multicasting        August 1989


   (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.
   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



Deering                                                         [Page 9]


RFC 1112          Host Extensions for IP Multicasting        August 1989


   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 of
   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.
























Deering                                                        [Page 10]


RFC 1112          Host Extensions for IP Multicasting        August 1989


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                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Version

         This memo specifies version 1 of IGMP.  Version 0 is specified
         in RFC-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



Deering                                                        [Page 11]


RFC 1112          Host Extensions for IP Multicasting        August 1989


         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, a
         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.



Deering                                                        [Page 12]


RFC 1112          Host Extensions for IP Multicasting        August 1989


   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-spaced Queries in order to build up its
   knowledge of local memberships quickly.

   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.




Deering                                                        [Page 13]


RFC 1112          Host Extensions for IP Multicasting        August 1989


      - 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, have a correct IGMP
        checksum and have an IP destination address of 224.0.0.1.
        A single Query applies to all memberships on the
        interface from which the Query is received.  It is ignored for
        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.




Deering                                                        [Page 14]


RFC 1112          Host Extensions for IP Multicasting        August 1989


      - "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.

   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 1112          Host Extensions for IP Multicasting        August 1989


APPENDIX 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.

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 in RFC-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.



Deering                                                        [Page 16]


RFC 1112          Host Extensions for IP Multicasting        August 1989


Author's Address

   Steve Deering
   Stanford University
   Computer Science Department
   Stanford, CA 94305-2140

   Phone: (415) 723-9427

   EMail: deering@PESCADERO.STANFORD.EDU









































Deering                                                        [Page 17]
势不可挡是什么意思 打呼噜是什么引起的 老虎头衣服是什么牌子 5月是什么季节 文房四宝是什么
622188开头是什么银行 8月23是什么星座 恐龙为什么叫恐龙 朝鲜战争的起因是什么 喝黄瓜汁有什么好处
梦见买帽子是什么意思 大校军衔是什么级别 gd是什么元素 合肥属于什么省 空腹吃柿子有什么危害
距离产生美是什么意思 突然和忽然有什么区别 尿酸碱度是什么意思 杵状指常见于什么病 黄马褂是什么意思
跳蚤怕什么东西bjhyzcsm.com 田可以加什么偏旁hcv8jop8ns1r.cn 怕冷的女人是什么原因hcv9jop3ns1r.cn 牛黄安宫丸治什么病hcv9jop2ns2r.cn 1288是什么意思hcv7jop5ns2r.cn
六月初九是什么日子hcv9jop6ns9r.cn 记忆力减退是什么原因造成的hcv9jop7ns4r.cn 为什么额头反复长痘痘hcv8jop1ns1r.cn pin什么意思hcv7jop7ns1r.cn 苯磺酸氨氯地平片什么时候吃hcv7jop6ns0r.cn
没字去掉三点水念什么cj623037.com 崇洋媚外是什么意思hcv7jop9ns5r.cn 四大发明有什么zhiyanzhang.com 面肌痉挛是什么原因引起的hcv7jop9ns4r.cn 飞机上什么东西不能带hcv9jop0ns3r.cn
空心菜又叫什么菜hcv9jop4ns2r.cn 流虚汗是什么原因hcv8jop8ns2r.cn 虚张声势是什么生肖hcv7jop5ns2r.cn 家里蟑螂多是什么原因hcv7jop6ns6r.cn 县检察长是什么级别hcv9jop2ns6r.cn
百度