draft-ietf-softwire-mesh-multicast-24.txt   draft-ietf-softwire-mesh-multicast-25.txt 
Softwire WG M. Xu Softwire WG M. Xu
Internet-Draft Y. Cui Internet-Draft Y. Cui
Intended status: Standards Track J. Wu Intended status: Standards Track J. Wu
Expires: June 21, 2019 Tsinghua University Expires: December 10, 2019 Tsinghua University
S. Yang S. Yang
Shenzhen University Shenzhen University
C. Metz C. Metz
Cisco Systems Cisco Systems
December 18, 2018 June 8, 2019
IPv4 Multicast over an IPv6 Multicast in Softwire Mesh Network IPv4 Multicast over an IPv6 Multicast in Softwire Mesh Network
draft-ietf-softwire-mesh-multicast-24 draft-ietf-softwire-mesh-multicast-25
Abstract Abstract
During the transition to IPv6, there will be scenarios where a During the transition to IPv6, there will be scenarios where a
backbone network internally running one IP address family (referred backbone network internally running one IP address family (referred
to as the internal IP or I-IP family), connects client networks to as the internal IP or I-IP family), connects client networks
running another IP address family (referred to as the external IP or running another IP address family (referred to as the external IP or
E-IP family). In such cases, the I-IP backbone needs to offer both E-IP family). In such cases, the I-IP backbone needs to offer both
unicast and multicast transit services to the client E-IP networks. unicast and multicast transit services to the client E-IP networks.
skipping to change at page 1, line 45 skipping to change at page 1, line 45
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 21, 2019. This Internet-Draft will expire on December 10, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 6, line 32 skipping to change at page 6, line 32
exclusively inside the I-IP core network. An I-IP core tree is used exclusively inside the I-IP core network. An I-IP core tree is used
to forward E-IP multicast packets belonging to E-IP trees across the to forward E-IP multicast packets belonging to E-IP trees across the
I-IP core. Another name for an I-IP core tree is multicast or I-IP core. Another name for an I-IP core tree is multicast or
multipoint softwire. multipoint softwire.
o E-IP client tree: A distribution tree rooted at one or more hosts o E-IP client tree: A distribution tree rooted at one or more hosts
or routers located inside a client E-IP network and branched out to or routers located inside a client E-IP network and branched out to
one or more leaf nodes located in the same or different client E-IP one or more leaf nodes located in the same or different client E-IP
networks. networks.
o uPrefix46: The /96 unicast IPv6 prefix for constructing an o uPrefix64: The /96 unicast IPv6 prefix for constructing an
IPv4-embedded IPv6 unicast address [RFC6052]. IPv4-embedded IPv6 unicast address [RFC8114].
o mPrefix46: The /96 multicast IPv6 prefix for constructing an o mPrefix64: The /96 multicast IPv6 prefix for constructing an
IPv4-embedded IPv6 multicast address. IPv4-embedded IPv6 multicast address [RFC8114].
o PIMv4, PIMv6: refer to [RFC8114]. o PIMv4, PIMv6: refer to [RFC8114].
o Inter-AFBR signaling: A mechanism used by downstream AFBRs to send o Inter-AFBR signaling: A mechanism used by downstream AFBRs to send
PIMv6 messages to the upstream AFBR. PIMv6 messages to the upstream AFBR.
4. Scope 4. Scope
This document focuses on the IPv4-over-IPv6 scenario, as shown in the This document focuses on the IPv4-over-IPv6 scenario, as shown in the
following diagram: following diagram:
skipping to change at page 8, line 36 skipping to change at page 8, line 36
5.2. Group Address Mapping 5.2. Group Address Mapping
A simple algorithmic mapping between IPv4 multicast group addresses A simple algorithmic mapping between IPv4 multicast group addresses
and IPv6 group addresses is performed. Figure 3 is provided as a and IPv6 group addresses is performed. Figure 3 is provided as a
reminder of the format: reminder of the format:
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| 0-------------32--40--48--56--64--72--80--88--96-----------127| | 0-------------32--40--48--56--64--72--80--88--96-----------127|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| mPrefix46 | group address | | mPrefix64 | group address |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
Figure 3: IPv4-Embedded IPv6 Multicast Address Format Figure 3: IPv4-Embedded IPv6 Multicast Address Format
An IPv6 multicast prefix (mPrefix46) is provisioned on each AFBR. An IPv6 multicast prefix (mPrefix64) is provisioned on each AFBR.
AFBRs will prepend the prefix to an IPv4 multicast group address when AFBRs will prepend the prefix to an IPv4 multicast group address when
translating it to an IPv6 multicast group address. translating it to an IPv6 multicast group address.
The construction of the mPrefix46 for Source-Specific Multicast (SSM) The construction of the mPrefix64 for Source-Specific Multicast (SSM)
is the same as the construction of the mPrefix64 described in is the same as the construction of the mPrefix64 described in
Section 5 of [RFC8114]. Section 5 of [RFC8114].
With this scheme, each IPv4 multicast address can be mapped into an With this scheme, each IPv4 multicast address can be mapped into an
IPv6 multicast address (with the assigned prefix), and each IPv6 IPv6 multicast address (with the assigned prefix), and each IPv6
multicast address with the assigned prefix can be mapped into an IPv4 multicast address with the assigned prefix can be mapped into an IPv4
multicast address. The group address translation algorithm can be multicast address. The group address translation algorithm can be
referred in Section 5.2 of [RFC8114]. referred in Section 5.2 of [RFC8114].
5.3. Source Address Mapping 5.3. Source Address Mapping
skipping to change at page 9, line 50 skipping to change at page 9, line 50
5.4. Routing Mechanism 5.4. Routing Mechanism
With mesh multicast, PIMv6 messages originating from a downstream With mesh multicast, PIMv6 messages originating from a downstream
AFBR need to be propogated to the correct upstream AFBR, and every AFBR need to be propogated to the correct upstream AFBR, and every
AFBR needs the /96 prefix in "IPv4-Embedded IPv6 Source Address AFBR needs the /96 prefix in "IPv4-Embedded IPv6 Source Address
Format" [RFC6052]. Format" [RFC6052].
To achieve this, every AFBR MUST announce the address of one of its To achieve this, every AFBR MUST announce the address of one of its
E-IPv4 interfaces in the "v4" field [RFC6052] alongside the E-IPv4 interfaces in the "v4" field [RFC6052] alongside the
corresponding uPreifx46. The announcement MUST be sent to the other corresponding uPreifx46. The announcement MUST be sent to the other
AFBRs through MBGP [RFC4760]. Every uPrefix46 that an AFBR announces AFBRs through MBGP [RFC4760]. Every uPrefix64 that an AFBR announces
MUST be unique. "uPrefix46" is an IPv6 prefix, and the distribution MUST be unique. "uPrefix64" is an IPv6 prefix, and the distribution
mechanism is the same as the traditional mesh unicast scenario. mechanism is the same as the traditional mesh unicast scenario.
As the "v4" field is an E-IP address, and BGP messages are not As the "v4" field is an E-IP address, and BGP messages are not
tunneled through softwires or any other mechanism specified in tunneled through softwires or any other mechanism specified in
[RFC5565], AFBRs MUST be able to transport and encode/decode BGP [RFC5565], AFBRs MUST be able to transport and encode/decode BGP
messages that are carried over the I-IP, and whose NLRI and NH are of messages that are carried over the I-IP, and whose NLRI and NH are of
the E-IP address family. the E-IP address family.
In this way, when a downstream AFBR receives an E-IP PIM (S,G) In this way, when a downstream AFBR receives an E-IP PIM (S,G)
message, it can translate this message into (S',G') by looking up the message, it can translate this message into (S',G') by looking up the
IP address of the corresponding AFBR's E-IP interface. Since the IP address of the corresponding AFBR's E-IP interface. Since the
uPrefix46 of S' is unique, and is known to every router in the I-IP uPrefix64 of S' is unique, and is known to every router in the I-IP
network, the translated message will be forwarded to the network, the translated message will be forwarded to the
corresponding upstream AFBR, and the upstream AFBR can translate the corresponding upstream AFBR, and the upstream AFBR can translate the
message back to (S,G). message back to (S,G).
When a downstream AFBR receives an E-IP PIM (*,G) message, S' can be When a downstream AFBR receives an E-IP PIM (*,G) message, S' can be
generated with the "source address" field set to * (wildcard value). generated with the "source address" field set to * (wildcard value).
The translated message will be forwarded to the corresponding The translated message will be forwarded to the corresponding
upstream AFBR. Since every PIM router within a PIM domain MUST be upstream AFBR. Since every PIM router within a PIM domain MUST be
able to map a particular multicast group address to the same RP when able to map a particular multicast group address to the same RP when
the source address is set to wildcard value (see Section 4.7 of the source address is set to wildcard value (see Section 4.7 of
skipping to change at page 14, line 12 skipping to change at page 14, line 12
only, the maintenance of these states is out of scope for this only, the maintenance of these states is out of scope for this
document. document.
7. Data Plane Functions of the AFBR 7. Data Plane Functions of the AFBR
7.1. Process and Forward Multicast Data 7.1. Process and Forward Multicast Data
Refer to Section 7.4 of [RFC8114]. If there is at least one outgoing Refer to Section 7.4 of [RFC8114]. If there is at least one outgoing
interface whose IP address family is different from the incoming interface whose IP address family is different from the incoming
interface, the AFBR MUST encapsulate this packet with interface, the AFBR MUST encapsulate this packet with
mPrefix46-derived and uPrefix46-derived IPv6 address to form an IPv6 mPrefix64-derived and uPrefix64-derived IPv6 address to form an IPv6
multicast packet. multicast packet.
7.2. TTL or Hop Count 7.2. TTL or Hop Count
Upon encapsulation, the TTL and hop account in the outer header Upon encapsulation, the TTL and hop account in the outer header
SHOULD be set by policy. Upon decapsulation, the TTL and hop count SHOULD be set by policy. Upon decapsulation, the TTL and hop count
in the inner header SHOULD be modified by policy, it MUST NOT be in the inner header SHOULD be modified by policy, it MUST NOT be
incremented and it MAY be decremented to reflect the cost of tunnel incremented and it MAY be decremented to reflect the cost of tunnel
forwarding. Besides, processing of TTL and hop count information in forwarding. Besides, processing of TTL and hop count information in
protocol headers depends on the tunneling technology protocol headers depends on the tunneling technology, which is out of
[I-D.ietf-intarea-tunnels], which is out of scope of this document. scope of this document.
7.3. Fragmentation 7.3. Fragmentation
The encapsulation performed by an upstream AFBR will increase the The encapsulation performed by an upstream AFBR will increase the
size of packets. As a result, the outgoing I-IP link MTU may not size of packets. As a result, the outgoing I-IP link MTU may not
accommodate the larger packet size. It is not always possible for accommodate the larger packet size. It is not always possible for
core operators to increase the MTU of every link, thus fragmentation core operators to increase the MTU of every link, thus source
after encapsulation and reassembling of encapsulated packets MUST be fragmentation after encapsulation and reassembling of encapsulated
supported by AFBRs [RFC5565]. PMTUD [RFC8201] SHOULD be enabled and packets MUST be supported by AFBRs [RFC5565]. PMTUD [RFC8201] SHOULD
that ICMPv6 packets must not be filtered in the I-IP network. Using be enabled and ICMPv6 packets MUST NOT be filtered in the I-IP
tunnel will reduce the effective MTU of the datagram. When the network. Fragmentation and tunnel configuration considerations are
original packet size exceeds the effective MTU, fragmentation MUST provided in Section 8 of [RFC5565]. The detailed procedure can be
happen after encapsulation on the upstream AFBR, and reassembly MUST referred in Section 7.2 of [RFC2473].
happen before decapsulation on the downstream AFBR. Fragmentation
and tunnel configuration considerations are provided in [RFC5565] and
[I-D.ietf-intarea-tunnels]. The detailed procedure can be referred
in Section 7.2 of [RFC2473].
8. Packet Format and Translation 8. Packet Format and Translation
Because the PIM-SM Specification is independent of the underlying Because the PIM-SM Specification is independent of the underlying
unicast routing protocol, the packet format in Section 4.9 of unicast routing protocol, the packet format in Section 4.9 of
[RFC7761] remains the same, except that the group address and source [RFC7761] remains the same, except that the group address and source
address MUST be translated when traversing an AFBR. address MUST be translated when traversing an AFBR.
For example, Figure 5 shows the register-stop message format in the For example, Figure 5 shows the register-stop message format in the
IPv4 and IPv6 address families. IPv4 and IPv6 address families.
skipping to change at page 16, line 5 skipping to change at page 16, line 5
format of the IPv6 source address described in Section 5.3. format of the IPv6 source address described in Section 5.3.
9. Softwire Mesh Multicast Encapsulation 9. Softwire Mesh Multicast Encapsulation
Softwire mesh multicast encapsulation does not require the use of any Softwire mesh multicast encapsulation does not require the use of any
one particular encapsulation mechanism. Rather, it MUST accommodate one particular encapsulation mechanism. Rather, it MUST accommodate
a variety of different encapsulation mechanisms, and allow the use of a variety of different encapsulation mechanisms, and allow the use of
encapsulation mechanisms mentioned in [RFC4925]. Additionally, all encapsulation mechanisms mentioned in [RFC4925]. Additionally, all
of the AFBRs attached to the I-IP network MUST implement the same of the AFBRs attached to the I-IP network MUST implement the same
encapsulation mechanism, and follow the requirements mentioned in encapsulation mechanism, and follow the requirements mentioned in
[I-D.ietf-intarea-tunnels]. Section 8 of [RFC5565].
10. Security Considerations 10. Security Considerations
The security concerns raised in [RFC4925] and [RFC7761] are The security concerns raised in [RFC4925] and [RFC7761] are
applicable here. applicable here.
The additional workload associated with some schemes, such as The additional workload associated with some schemes, such as
interface agents, could be exploited by an attacker to perform a DDoS interface agents, could be exploited by an attacker to perform a DDoS
attack. attack.
skipping to change at page 16, line 30 skipping to change at page 16, line 30
be carefully configured, e.g., AFBRs only accept Well-Known prefix be carefully configured, e.g., AFBRs only accept Well-Known prefix
advertisements from trusted peers. Besides, cryptographic methods advertisements from trusted peers. Besides, cryptographic methods
for authenticating BGP sessions [RFC7454] could be used. for authenticating BGP sessions [RFC7454] could be used.
11. IANA Considerations 11. IANA Considerations
This document includes no request to IANA. This document includes no request to IANA.
12. Normative References 12. Normative References
[I-D.ietf-intarea-tunnels]
Touch, J. and M. Townsley, "IP Tunnels in the Internet
Architecture", draft-ietf-intarea-tunnels-09 (work in
progress), July 2018.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in [RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in
IPv6 Specification", RFC 2473, DOI 10.17487/RFC2473, IPv6 Specification", RFC 2473, DOI 10.17487/RFC2473,
December 1998, <https://www.rfc-editor.org/info/rfc2473>. December 1998, <https://www.rfc-editor.org/info/rfc2473>.
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
 End of changes. 17 change blocks. 
35 lines changed or deleted 26 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/