| < draft-song-ship-edge-01.txt | draft-song-ship-edge-02.txt > | |||
|---|---|---|---|---|
| Network Working Group H. Song | Network Working Group H. Song | |||
| Internet-Draft Futurewei Technologies | Internet-Draft Futurewei Technologies | |||
| Intended status: Experimental April 20, 2021 | Intended status: Experimental 11 October 2021 | |||
| Expires: October 22, 2021 | Expires: 14 April 2022 | |||
| Short Hierarchical IP Addresses at Edge Networks | Short Hierarchical IP Addresses at Edge Networks | |||
| draft-song-ship-edge-01 | draft-song-ship-edge-02 | |||
| Abstract | Abstract | |||
| To mitigate the IPv6 header overhead in edge networks, this draft | To mitigate the IPv6 header overhead in edge networks, this draft | |||
| proposes to use short hierarchical addresses excluding the network | proposes to use short hierarchical addresses excluding the network | |||
| prefix within edge networks. An edge network can be further | prefix within edge networks. An edge network can be further | |||
| organized into a hierarchical architecture containing one or more | organized into a hierarchical architecture containing one or more | |||
| levels of networks. The border routers for each hierarchical level | levels of networks. The border routers for each hierarchical level | |||
| are responsible for address augmenting and pruning. Specifically, | are responsible for address augmenting and pruning when a packet | |||
| the top-level border routers convert the internal IP header to and | leaves or enter a lower level network. Specifically, the top-level | |||
| from the standard IPv6 header. This draft presents an incrementally | border routers convert the internal IP header to and from the | |||
| standard IPv6 header. This draft presents an incrementally | ||||
| deployable scheme allowing packet header to be effectively compressed | deployable scheme allowing packet header to be effectively compressed | |||
| in edge networks without affecting the network interoperability. | in edge networks without affecting the network interoperability. | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119][RFC8174] when, and only when, they appear in all | 14 [RFC2119][RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| skipping to change at page 1, line 47 ¶ | skipping to change at page 1, line 48 ¶ | |||
| 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 October 22, 2021. | This Internet-Draft will expire on 14 April 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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/ | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | license-info) in effect on the date of publication of this document. | |||
| publication of this document. Please review these documents | Please review these documents carefully, as they describe your rights | |||
| carefully, as they describe your rights and restrictions with respect | and restrictions with respect to this document. Code Components | |||
| to this document. Code Components extracted from this document must | extracted from this document must include Simplified BSD License text | |||
| include Simplified BSD License text as described in Section 4.e of | as described in Section 4.e of the Trust Legal Provisions and are | |||
| the Trust Legal Provisions and are provided without warranty as | provided without warranty as described in the Simplified BSD License. | |||
| described in the Simplified BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Short Hierarchical Address in Edge Networks . . . . . . . . . 3 | 2. Short Hierarchical Address in Edge Networks . . . . . . . . . 3 | |||
| 2.1. Edge Network Hierarchy . . . . . . . . . . . . . . . . . 3 | 2.1. Edge Network Hierarchy . . . . . . . . . . . . . . . . . 3 | |||
| 2.2. Address Fields . . . . . . . . . . . . . . . . . . . . . 5 | 2.2. Address Fields . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 2.3. Router Roles and Function . . . . . . . . . . . . . . . . 6 | 2.3. Router Roles and Function . . . . . . . . . . . . . . . . 6 | |||
| 3. Deployment and Interoperability Consideration . . . . . . . . 9 | 3. Deployment and Interoperability Consideration . . . . . . . . 9 | |||
| 3.1. Control Plane . . . . . . . . . . . . . . . . . . . . . . 9 | 3.1. Control Plane . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| skipping to change at page 7, line 38 ¶ | skipping to change at page 7, line 47 ¶ | |||
| +------+------+------+-----+-------+------------+ | +------+------+------+-----+-------+------------+ | |||
| | x |0x0001| | | | | | | x |0x0001| | | | | | |||
| +------+------|2bytes| 1 | B |0xaaaa/16 | | +------+------|2bytes| 1 | B |0xaaaa/16 | | |||
| | y |0x0002| | | | | | | y |0x0002| | | | | | |||
| +------+------+------+-----+-------+------------+ | +------+------+------+-----+-------+------------+ | |||
| | z |0x01 |1byte | 1 | C |0xcccccc/24 | | | z |0x01 |1byte | 1 | C |0xcccccc/24 | | |||
| +------+------+------+-----+-------+------------+ | +------+------+------+-----+-------+------------+ | |||
| | m |0x08 |1byte | 2 | D |0xbb/8 | | | m |0x08 |1byte | 2 | D |0xbb/8 | | |||
| +------+------+------+-----+-------+------------+ | +------+------+------+-----+-------+------------+ | |||
| Figure 3: Entity Address Configuration | Figure 3: Entity Address Configuration | |||
| The first example in Figure 4 shows how packets are forwarded from x | The first example in Figure 4 shows how packets are forwarded from x | |||
| to y within the same network B. In this case, the source address and | to y within the same network B. In this case, the source address and | |||
| destination address have the same length. The packets only pass | destination address have the same length. The packets only pass | |||
| through an ILR which does not change the address fields. | through an ILR which does not change the address fields. | |||
| +-----------------+ +-----------------+ +-----------------+ | +-----------------+ +-----------------+ +-----------------+ | |||
| | IPvn Header | | IPvn Header | | IPvn Header | | | IPvn Header | | IPvn Header | | IPvn Header | | |||
| +--------+--------+ +--------+--------+ +--------+--------+ | +--------+--------+ +--------+--------+ +--------+--------+ | |||
| |SAL:0x2 |DAL:0x2 | |SAL:0x2 |DAL:0x2 | |SAL:0x2 |DAL:0x2 | | |SAL:0x2 |DAL:0x2 | |SAL:0x2 |DAL:0x2 | |SAL:0x2 |DAL:0x2 | | |||
| +--------+--------+ +--------+--------+ +--------+--------+ | +--------+--------+ +--------+--------+ +--------+--------+ | |||
| |SA: 0x0001 | |SA: 0x0001 | |SA: 0x0001 | | |SA: 0x0001 | |SA: 0x0001 | |SA: 0x0001 | | |||
| +-----------------+ +-----------------+ +-----------------+ | +-----------------+ +-----------------+ +-----------------+ | |||
| |DA: 0x0002 | |DA: 0x0002 | |DA: 0x0002 | | |DA: 0x0002 | |DA: 0x0002 | |DA: 0x0002 | | |||
| +-----------------+ +-----------------+ +-----------------+ | +-----------------+ +-----------------+ +-----------------+ | |||
| Entity x ------> ILR in B ------> Entity y | Entity x ------> ILR in B ------> Entity y | |||
| Figure 4: Forward within a network level in the edge | Figure 4: Forward within a network level in the edge | |||
| The second example in Figure 5 shows how packets are forwarded from x | The second example in Figure 5 shows how packets are forwarded from x | |||
| in B to z in C. At LGR of B, the source address is augmented, and at | in B to z in C. At LGR of B, the source address is augmented, and at | |||
| the LGR of C, the destination address is pruned. Since x and z's | the LGR of C, the destination address is pruned. Since x and z's | |||
| nearest common ancestor network is A, so the packets never need to | nearest common ancestor network is A, so the packets never need to | |||
| leave network A, so A's prefix is oblivious throughout the | leave network A, so A's prefix is oblivious throughout the | |||
| communication. | communication. | |||
| +---------------+ +---------------+ +---------------+ +---------------+ | +---------------+ +---------------+ +---------------+ +---------------+ | |||
| | IPvn Header | | IPvn Header | | IPvn Header | | IPvn Header | | | IPvn Header | | IPvn Header | | IPvn Header | | IPvn Header | | |||
| +-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+ | +-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+ | |||
| |SAL:0x2|DAL:0x4| |SAL:0x4|DAL:0x4| |SAL:0x4|DAL:0x1| |SAL:0x4|DAL:0x1| | |SAL:0x2|DAL:0x4| |SAL:0x4|DAL:0x4| |SAL:0x4|DAL:0x1| |SAL:0x4|DAL:0x1| | |||
| +-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+ | +-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+ | |||
| |SA: 0x0001 | |SA: 0xaaaa0001 | |SA: 0xaaaa0001 | |SA: 0xaaaa0001 | | |SA: 0x0001 | |SA: 0xaaaa0001 | |SA: 0xaaaa0001 | |SA: 0xaaaa0001 | | |||
| +---------------+ +---------------+ +---------------+ +---------------+ | +---------------+ +---------------+ +---------------+ +---------------+ | |||
| |DA: 0xcccccc01 | |DA: 0xcccccc01 | |DA: 0x01 | |DA: 0x01 | | |DA: 0xcccccc01 | |DA: 0xcccccc01 | |DA: 0x01 | |DA: 0x01 | | |||
| +---------------+ +---------------+ +---------------+ +---------------+ | +---------------+ +---------------+ +---------------+ +---------------+ | |||
| Entity x -----> LGR of B -----> LGR of C -----> Entity z | Entity x -----> LGR of B -----> LGR of C -----> Entity z | |||
| Figure 5: Forward to another network in the edge | Figure 5: Forward to another network in the edge | |||
| The last example in Figure 6 shows how packets are forwarded from x | The last example in Figure 6 shows how packets are forwarded from x | |||
| in B to a host in IPv6 domain. In the IPT of A, the IPvn header is | in B to a host in IPv6 domain. In the IPT of A, the IPvn header is | |||
| converted to an IPv6 header. | converted to an IPv6 header. | |||
| +---------------+ +---------------+ +---------------+ +---------------+ | +---------------+ +---------------+ +---------------+ +---------------+ | |||
| | IPvn Header | | IPvn Header | | IPv6 Header | | IPv6 Header | | | IPvn Header | | IPvn Header | | IPv6 Header | | IPv6 Header | | |||
| +-------+-------+ +-------+-------+ +---------------+ +---------------+ | +-------+-------+ +-------+-------+ +---------------+ +---------------+ | |||
| |SAL:0x2|DAL:0x0| |SAL:0x4|DAL:0x0| |SA: 2001:0db8 | |SA: 2001:0db8 | | |SAL:0x2|DAL:0x0| |SAL:0x4|DAL:0x0| |SA: 2001:0db8 | |SA: 2001:0db8 | | |||
| +-------+-------+ +-------+-------+ | ac10:fe01: | | ac10:fe01: | | +-------+-------+ +-------+-------+ | ac10:fe01: | | ac10:fe01: | | |||
| skipping to change at page 9, line 21 ¶ | skipping to change at page 9, line 21 ¶ | |||
| +---------------+ +---------------+ | aaaa:0001 | | aaaa:0001 | | +---------------+ +---------------+ | aaaa:0001 | | aaaa:0001 | | |||
| |DA: 2001:0db8: | |DA: 2001:0db8: | +---------------+ +---------------+ | |DA: 2001:0db8: | |DA: 2001:0db8: | +---------------+ +---------------+ | |||
| | 85a3:0000: | | 85a3:0000: | |DA: 2001:0db8: | |DA: 2001:0db8: | | | 85a3:0000: | | 85a3:0000: | |DA: 2001:0db8: | |DA: 2001:0db8: | | |||
| | 0000:8a2e: | | 0000:8a2e: | | 85a3:0000: | | 85a3:0000: | | | 0000:8a2e: | | 0000:8a2e: | | 85a3:0000: | | 85a3:0000: | | |||
| | 0370:7334 | | 0370:7334 | | 0000:8a2e: | | 0000:8a2e: | | | 0370:7334 | | 0370:7334 | | 0000:8a2e: | | 0000:8a2e: | | |||
| +---------------+ +---------------+ | 0370:7334 | | 0370:7334 | | +---------------+ +---------------+ | 0370:7334 | | 0370:7334 | | |||
| +---------------+ +---------------+ | +---------------+ +---------------+ | |||
| Entity x -----> LGR of B -----> IPT of A -----> Entity n | Entity x -----> LGR of B -----> IPT of A -----> Entity n | |||
| Figure 6: Forward out of the edge network | Figure 6: Forward out of the edge network | |||
| 3. Deployment and Interoperability Consideration | 3. Deployment and Interoperability Consideration | |||
| 3.1. Control Plane | 3.1. Control Plane | |||
| Within the edge networks where IPvn is applied, all the control plane | Within the edge networks where IPvn is applied, all the control plane | |||
| functions and protocols need to be modified or redesigned due to the | functions and protocols need to be modified or redesigned due to the | |||
| hierarchical network architecture of IPvn. Fortunately, the updates | hierarchical network architecture of IPvn. Fortunately, the updates | |||
| are often incremental and the results are usually simpler than their | are often incremental and the results are usually simpler than their | |||
| counterparts in IPv4 and IPv6. We briefly discuss a few essential | counterparts in IPv4 and IPv6. We briefly discuss a few essential | |||
| skipping to change at page 13, line 9 ¶ | skipping to change at page 13, line 9 ¶ | |||
| [RFC7775] Ginsberg, L., Litkowski, S., and S. Previdi, "IS-IS Route | [RFC7775] Ginsberg, L., Litkowski, S., and S. Previdi, "IS-IS Route | |||
| Preference for Extended IP and IPv6 Reachability", | Preference for Extended IP and IPv6 Reachability", | |||
| RFC 7775, DOI 10.17487/RFC7775, February 2016, | RFC 7775, DOI 10.17487/RFC7775, February 2016, | |||
| <https://www.rfc-editor.org/info/rfc7775>. | <https://www.rfc-editor.org/info/rfc7775>. | |||
| Author's Address | Author's Address | |||
| Haoyu Song | Haoyu Song | |||
| Futurewei Technologies | Futurewei Technologies | |||
| Santa Clara | Santa Clara, | |||
| USA | United States of America | |||
| Email: haoyu.song@futurewei.com | Email: haoyu.song@futurewei.com | |||
| End of changes. 10 change blocks. | ||||
| 21 lines changed or deleted | 21 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||