EP3706377A1

Multicast based on penultimate hop popping

Abstract

Various example embodiments for supporting multicast are presented. Various example embodiments for supporting multicast are configured to support multicast, on a multicast tree for a multicast group, based on use of penultimate hop popping (PHP) on the multicast tree. Various example embodiments for supporting multicast are configured to support multicast, on a multicast tree for a multicast group, based on use of PHP on the multicast tree where the multicast tree is Point-to-Multipoint (P2MP) Multiprotocol Label Switching (MPLS) tree that is formed based on a TREE-SID multicast solution (although it will be appreciated that PHP may be applied on other types of multicast trees (e.g., other than P2MP MPLS multicast trees), on multicast trees formed based on other multicast solutions (e.g., other than TREE-SID), or the like, as well as various combinations thereof).

EP3706377A1, drawing sheet 1
Sheet 1 of 7

Term

13.5 yearsto projected expiry

Projected expiry 6 March 2040, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

23 claims: 14 independent, 9 dependent

  1. 1
    An apparatus, comprising:at least one processor;and at least one memory including program code;wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least: determine (410) a multicast tree for a multicast group, wherein the multicast tree includes a root router, a set of transit routers, and a set of leaf routers;and establish (420) the multicast tree based on an indication that penultimate hop popping, PHP, is to be used on the multicast tree.
  2. 4
    The apparatus according to any of claims 1 to 3, wherein, to establish the multicast tree based on an indication that PHP is to be used on the multicast tree, the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:determine multicast tree configuration information for the root router and the transit routers;and send the multicast tree configuration information toward the root router and the transit routers.
  3. 5
    The apparatus according to any of claims 1 to 4, wherein, to establish the multicast tree based on an indication that PHP is to be used on the multicast tree, the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:identify, from the set of transit routers, one or more penultimate hop, PH, routers of the multicast tree;and send, toward each of the one or more PH routers of the multicast tree, respective multicast tree configuration information indicative that the respective PH router is to remove a tree label of the multicast tree from multicast packets on the multicast tree before forwarding the multicast packets via the multicast tree.
  4. 7
    An apparatus, comprising:at least one processor;and at least one memory including program code;wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least: determine (510), by a root router of a multicast tree, that penultimate hop popping, PHP, is to be used on the multicast tree;and send (520), by the root router toward a controller, an indication that PHP is to be used on the multicast tree.
  5. 9
    The apparatus according to any of claims 7 to 8, wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:discover, by the root router, one or more leaf routers of the multicast tree;and send, by the root router toward the controller, an indication of the one or more leaf routers of the multicast tree.
  6. 10
    The apparatus according to any of claims 7 to 9, wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:advertise, by the root router to one or more leaf routers, a label identifying a virtual routing and forwarding, VRF, instance of the multicast tree.
  7. 11
    An apparatus, comprising:at least one processor;and at least one memory including program code;wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least: receive (610), by a penultimate hop, PH, router of a multicast tree, a multicast packet including a tree label identifying the multicast tree, an upstream assigned label, and a multicast payload;remove (620), by the PH router, the tree label from the multicast packet to form a modified multicast packet;and send (630), by the PH router toward one or more leaf routers of the multicast tree via the multicast tree, the modified multicast packet.
  8. 15
    The apparatus according to any of claims 11 to 14, wherein the upstream assigned label maps to a virtual routing and forwarding, VRF, instance of the multicast tree.
  9. 16
    An apparatus, comprising:at least one processor;and at least one memory including program code;wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least: receive (710), by a leaf router of a multicast tree from a penultimate hop router of the multicast tree, a multicast packet including a multicast payload and having an upstream assigned label as an outer label;and determine (720), by the leaf router based on the upstream assigned label and the multicast payload, forwarding of the multicast payload from the leaf router.
  10. 18
    The apparatus according to any of claims 16 to 17, wherein, to determine forwarding of the multicast payload from the leaf router, the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:identify, based on the upstream assigned label, a virtual routing and forwarding, VRF, instance of the multicast tree;and identify, based on the VFR instance for the multicast tree and a header of the multicast payload, one or more outgoing interfaces of the leaf router via which the multicast payload is to be forwarded.
  11. 20
    A method comprising:determining (410) a multicast tree for a multicast group, wherein the multicast tree includes a root router, a set of transit routers, and a set of leaf routers;and establishing (420) the multicast tree based on an indication that penultimate hop popping, PHP, is to be used on the multicast tree.
  12. 21
    A method comprising:determining (510), by a root router of a multicast tree, that penultimate hop popping, PHP, is to be used on the multicast tree;and sending (520), by the root router toward a controller, an indication that PHP is to be used on the multicast tree.
  13. 22
    A method comprising:receiving (610), by a penultimate hop, PH, router of a multicast tree, a multicast packet including a tree label identifying the multicast tree, an upstream assigned label, and a multicast payload;removing (620), by the PH router, the tree label from the multicast packet to form a modified multicast packet;and sending (630), by the PH router toward one or more leaf routers of the multicast tree via the multicast tree, the modified multicast packet.
  14. 23
    A method comprising:receiving (710), by a leaf router of a multicast tree from a penultimate hop router of the multicast tree, a multicast packet including a multicast payload and having an upstream assigned label as an outer label;and determining (720), by the leaf router based on the upstream assigned label and the multicast payload, forwarding of the multicast payload from the leaf router.