idnits 2.17.1 draft-matsuhira-m4p6e-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (November 29, 2018) is 1946 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'RFC1631' is mentioned on line 268, but not defined ** Obsolete undefined reference: RFC 1631 (Obsoleted by RFC 3022) == Missing Reference: 'RFC0792' is mentioned on line 260, but not defined == Missing Reference: 'RFC1191' is mentioned on line 264, but not defined == Missing Reference: 'RFC4303' is mentioned on line 281, but not defined == Missing Reference: 'RFC2893' is mentioned on line 277, but not defined ** Obsolete undefined reference: RFC 2893 (Obsoleted by RFC 4213) == Missing Reference: 'RFC2267' is mentioned on line 272, but not defined ** Obsolete undefined reference: RFC 2267 (Obsoleted by RFC 2827) Summary: 3 errors (**), 0 flaws (~~), 8 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group N. Matsuhira 3 Internet-Draft Fujitsu Limited 4 Intended status: Informational November 29, 2018 5 Expires: June 2, 2019 7 Multiple IPv4 address and port number - IPv6 address mapping 8 encapsulation (M4P6E) 9 draft-matsuhira-m4p6e-05 11 Abstract 13 This document specifies Multiple IPv4 address and port number - IPv6 14 address mapping encapulation (M4P6E) specification. 16 Requirements Language 18 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 19 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 20 document are to be interpreted as described in RFC 2119 [RFC2119]. 22 Status of this Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at http://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on June 2, 2019. 39 Copyright Notice 41 Copyright (c) 2018 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (http://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 2. Architecture of M4P6E . . . . . . . . . . . . . . . . . . . . . 3 58 3. M4P6E address format . . . . . . . . . . . . . . . . . . . . . 3 59 4. Using M4P6E in client server environments . . . . . . . . . . . 4 60 4.1. Client environments . . . . . . . . . . . . . . . . . . . . 4 61 4.2. Server environments . . . . . . . . . . . . . . . . . . . . 5 62 4.3. Data Center Environments . . . . . . . . . . . . . . . . . 5 63 5. Port Number Issue . . . . . . . . . . . . . . . . . . . . . . . 6 64 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 65 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 66 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 67 8.1. Normative References . . . . . . . . . . . . . . . . . . . 7 68 8.2. References . . . . . . . . . . . . . . . . . . . . . . . . 7 69 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7 71 1. Introduction 73 This document provides Multiple IPv4 address and port number - IPv6 74 address mapping encapulation (M4P6E) base specification. 76 M4P6E provide IPv4 address sharing function without Network Address 77 Translation (NAT [RFC1631]). M4P6E require IPv6 network. 79 2. Architecture of M4P6E 81 Figure 1 shows M4P6E address architecture. M4P6E address consists 82 four parts, M4P6E prefix, IPv4 network plane ID, IPv4 address, and 83 Port number. 85 | | | | | 86 | 80 - m bits | m bits | 32 bits | 16 bits | 87 +----------------------+----------------+----------------+----:----+ 88 | M4P6E prefix | IPv4 network | IPv4 address | port | 89 | | plane ID | | number | 90 +----------------------+----------------+----------------+----:----+ 91 |<--------------- Locator (128 -n bits )-------------------->:<-->| 92 | : ID | 93 | (n bits) 95 Figure 1 97 In M4P6E, boundary of locator and identifier is in port number part, 98 that mean, M4P6E use upper part of port number as locator, and lower 99 part of port number as identifier. 101 3. M4P6E address format 103 Figure 2 show a example of M4P6E address format. In this example, 104 16bits IPv4 network plane ID is used, that provide 65535 IPv4 network 105 plane. 107 | 3 | 45bits | 16bits | 16 bits| 32bits | 16 bits | 108 +---+------------------+---------+---------+------------+---------+ 109 |001| routing prefix |subnet id| plane ID|IPv4 address| Port # | 110 +---+------------------+---------+----------------------+---------+ 111 Figure 2 113 4. Using M4P6E in client server environments 115 4.1. Client environments 117 Figure 3 shows a example of M4P6E usage in client environments. In 118 this document, NAPT is IPv4 - IPv4 Netowrk address and port number 119 translator. Coopetation with NAPT, M4P6E provide IPv4 address 120 sharing with different users. 122 +--------------+ 123 | | +---------+ +--------+ +---------+ 124 | +----| M4P6E |--| NAPT |--+--| Clients | 125 | | +---------+ +--------+ | +---------+ 126 | | | +---------+ 127 | | +--| Clients | 128 | Backbone | | +---------+ 129 | | : 130 | | | +---------+ 131 | Network | +--| Clients | 132 | | +---------+ 133 | | 134 | | +---------+ +--------+ +---------+ 135 | +----| M4P6E |--| NAPT |--+--| Clients | 136 | | +---------+ +--------+ | +---------+ 137 | | | +---------+ 138 | | +--| Clients | 139 | | | +---------+ 140 | | : 141 | | | +---------+ 142 | | +--| Clients | 143 | | +---------+ 144 : : : : : 145 | | +---------+ +--------+ +---------+ 146 | +----| M4P6E |--| NAPT |--+--| Clients | 147 | | +---------+ +--------+ | +---------+ 148 | | | +---------+ 149 | | +--| Clients | 150 | | | +---------+ 151 | | : 152 | | | +---------+ 153 | | +--| Clients | 154 | | +---------+ 155 +--------------+ 156 Figure 3 158 4.2. Server environments 160 Figure 4 shows an example of M4P6E usage in server environments. In 161 this example, server terminate M4P6E tunnel. This case, Server 162 require at least one port number per server, that mean, 128bits host 163 route advertise for server access via IPv4. This case, full access 164 is provided via IPv6. 166 +--------------+ 167 | | +------------+ 168 | +----|Server with | 169 | | |M4P6E | 170 | Backbone | |function | 171 | | +------------+ 172 | | +------------+ 173 | Network +----|Server with | 174 | | |M4P6E | 175 | | |function | 176 | | +------------+ 177 : : : 178 | | +------------+ 179 | +----|Server with | 180 | | |M4P6E | 181 | | |function | 182 | | +------------+ 183 +--------------+ 185 Figure 4 187 4.3. Data Center Environments 189 Figure 5 shows an example of M4P6E usage in Data Center environments. 190 In this example, M4P6E is used only in Data Center Backend Network 191 closely. Client which is connected via backbone network does not 192 know the exists of M4P6E. M4P6E can provide at least one port number 193 per server, this case, 128bits host route is advertised, however this 194 route in advertised only in data center backbone network. Ofcource, 195 IPv6 address may allocated to the server, so full access is provided 196 via IPv6. 198 . 199 +--------+ . +-------+ 200 | | +-------+ . | | +-----------------+ 201 | +--+ | . | |-| Server w/M4P6E | 202 | | | Data | . | Data | +-----------------+ 203 |Backbone+--+Center | +----------+ |Center | +-----------------+ 204 | | | +--| M4P6E |--+ |-| Server w/M4P6E | 205 | | |Front | +----------+ |Backend| +-----------------+ 206 |Network | |Network| . |Network| +-----------------+ 207 | | | | +----------+ | |-| Server w/M4P6E | 208 | | | +--| M4P6E |--+ | +-----------------+ 209 | | | | +----------+ | | +-----------------+ 210 : : : : . | |-| Server w/M4P6E | 211 | | | | . | | +-----------------+ 212 | | | | . | | : 213 | | | | . | | +-----------------+ 214 | | | | . | |-| Server w/M4P6E | 215 | | +-------+ . | | +-----------------+ 216 +--------+ . +-------+ 217 . 218 -Normal IPv4 communication->.<----- M4P6E -----> 219 . communication 220 . 221 ------- Normal IPv6 communication -----------------> 222 . 224 Figure 5 226 5. Port Number Issue 228 M4P6E require port number of transport layer. M4P6E can not support 229 ICMPv4 [RFC0792]. The function provided by ICMPv4 does not work in 230 M4P6E environments, such as Path MTU Discovery [RFC1191], ping 231 command, etc. 233 M4P6E can not also support IPv4 IPsec ESP [RFC4303] because transport 234 header is encrypted. 236 6. IANA Considerations 238 This document makes no request of IANA. 240 Note to RFC Editor: this section may be removed on publication as an 241 RFC. 243 7. Security Considerations 245 M4P6E use automatic tunneling technologies. Security consideration 246 related tunneling technologies are discussed in RFC2893 [RFC2893], 247 RFC2267 [RFC2267], etc. 249 8. References 251 8.1. Normative References 253 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 254 Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ 255 RFC2119, March 1997, 256 . 258 8.2. References 260 [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, 261 RFC 792, DOI 10.17487/RFC0792, September 1981, 262 . 264 [RFC1191] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191, 265 DOI 10.17487/RFC1191, November 1990, 266 . 268 [RFC1631] Egevang, K. and P. Francis, "The IP Network Address 269 Translator (NAT)", RFC 1631, DOI 10.17487/RFC1631, 270 May 1994, . 272 [RFC2267] Ferguson, P. and D. Senie, "Network Ingress Filtering: 273 Defeating Denial of Service Attacks which employ IP Source 274 Address Spoofing", RFC 2267, DOI 10.17487/RFC2267, 275 January 1998, . 277 [RFC2893] Gilligan, R. and E. Nordmark, "Transition Mechanisms for 278 IPv6 Hosts and Routers", RFC 2893, DOI 10.17487/RFC2893, 279 August 2000, . 281 [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", 282 RFC 4303, DOI 10.17487/RFC4303, December 2005, 283 . 285 Author's Address 287 Naoki Matsuhira 288 Fujitsu Limited 289 17-25, Shinkamata 1-chome, Ota-ku 290 Tokyo, 144-8588 291 Japan 293 Phone: +81-3-5703-7101 294 Fax: 295 Email: matsuhira@jp.fujitsu.com