RFC 1365
An IP Address Extension Proposal
RFC 1365: An IP Address Extension Proposal π¦
Network Working Group Β· Request for Comments: 1365
- Author: K. Siyan (Karanjit Siyan) of Siyan Consulting Services π
- Date: September 1992 πΈ
- Category: this one provides information for the Internet community and does not specify an Internet standard β¨
- Obsoletes / Updates: the title block doesn't list anything it obsoletes or updates π
Status of This Memo π
okay so this memo is informational, not a standard. It's giving "here's an idea, tell us what you think" energy. Distribution is totally unlimited, so share it with everyone π
Abstract π₯
this RFC suggests an extension to IP to fix the shortage of IP addresses problem π and it's literally begging the community for discussion and suggestions for improvements π«Ά
1. Introduction and Background β¨
the Internet community has a super well developed, mature set of protocols that have been seriously successful at giving networks and transport services to users π but because TCP/IP blew up so hard, and so many networks want to connect to the Internet, we're running low on network numbers that can be assigned π
the current addressing scheme uses a 32-bit IP address that has a network part and a local address part π§ the split between those two parts is defined by 5 address classes: class A, B, C, D, and E. only A, B, and C are assigned to hosts. D is for multicasting and E is reserved π
class A has the highest order bit set to 0, a 7 bit network number, and a 24 bit host address π
class B has the two higher order bits set to 10, a 14 bit network number, and a 16 bit host address π¦
class C has the three higher order bits set to 110, a 21 bit network number, and an 8 bit host address πΈ
class D has the four higher order bits set to 1110 π
class E has four higher address bits set to 1111 π§
making the IP address field bigger than 32 bits would fix everything, but it would mean a brand new IP header definition that doesn't work with the existing base of IP implementations π OSI based solutions like CLNP have been proposed too, but they'd take a while to implement π
2. Proposal for IP extension π
the IP header format should not be modified, so there are as few changes as possible for the address extensions proposed here. instead, an "escape" mechanism can be used to specify larger addresses π₯ the IP header length field is 4 bits, which allows a maximum of fifteen 32-bit words, where each word is 4 octets. the minimum size of an IP header without options is 5 words, which leaves 10 words for options π we can reserve 6 words (24 octets) for the normal options and leave the remaining 4 words (16 octets) for a new option type that specifies an extended address β¨ the details of this mechanism are below π
class E should be defined with its five high order bits set to 11110 π its current definition is that four 1's in the most significant bits represent a class E address π«Ά
a new class F is proposed with its six high order bits set to 111110 π the new class F address would sit in the same spots that the source and destination IP addresses use in the IP header, but it would say that part of the addressing info lives in the options part of the IP header π¦ here's how it looks:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ver. | IHL | TOS | Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|1|1|1|1|0| Offset| Reserved | Source IP address part 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|1|1|1|1|0| Offset| Reserved | Destination IP address part 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Options :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: SADDR Code |Len adr. part 2| Source IP address part 2 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: DADDR Code |Len adr. part 2| Destination IP address part 2 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Data :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
so the "Offset" field gives the offset in words, counted from the start of the IP header, where the second part of the IP address lives π§ its whole purpose is to avoid searching the options part for addressing info π the address in the options part is in Type-Length-Value form, matching the other IP options in that part β¨ the "Len adr. part" field tells you the length of the second IP address part in octets π the lengths should be defined so the second part of the IP address ends on a word boundary, so the possible values are 4 or 8 octets π it's proposed that new IP option codes be used for the SADDR and DADDR codes, respectively π«Ά
the IP address is the 2 bytes in the fixed IP header part plus the address field defined in the options part π¦
if "Len adr. part" is 4, the new class is called F-4 (class F with an IP address length of 4 octets) πΈ
if "Len adr. part" is 8, the new class is called F-8 (class F with an IP address length of 8 octets) π
each of F-4 and F-8 can be further split into a network number and a host number field, kind of like the current IP addressing scheme π
here are the sub-class definitions for F-4. the 4 octets are drawn together, but the first 2 octets and the last 2 octets are not contiguous in the IP header π
class F-4A has the highest order bit set to 0, a 7 bit network number, and a 24 bit host address π
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| net number | local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
class F-4B has the two higher order bits set to 10, a 14 bit network number, and a 16 bit host address π¦
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|0| net number | local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
class F-4C has the three higher order bit set to 110, a 21 bit network number, and an 8 bit host address πΈ
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|1|0| net number | local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
class F-4D has the four higher order bits set to 1110, and it's reserved for multicasting π
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|1|1|0| | multicast |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
now the F-8 sub-classes. the 8 octets are drawn together, but the first 2 octets and the last 6 octets are not contiguous in the IP header π§
class F-8A has the highest order bit set to 0, a 7 bit network number, and a 56 bit host address π
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| net number | local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
class F-8B has the two higher order bits set to 10, a 14 bit network number, and a 48 bit host address π¦
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|0| net number | local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
class F-8C has the three higher order bit set to 110, a 21 bit network number, and a 40 bit host address π
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|1|0| net number | local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
class F-8D has the four higher order bits set to 1110, a 28 bit network number, and a 32 bit host address π
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|1|1|0| net number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
class F-8E has the five higher order bits set to 11110, a 35 bit network number, and a 24 bit host address β
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|1|1|1|0| net number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| net number | local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
class F-8F has the six higher order bits set to 111110, a 44 bit network number, and a 16 bit host address π₯
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|1|1|1|1|0| net number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| net number | local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
class F-8G has the seven higher order bits set to 1111110, a 49 bit network number, and an 8 bit host address π
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|1|1|1|1|0| net number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| net number | local part |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3. Interoperability Issues π«Ά
if a host that doesn't support the new class F address sees one, the IP datagram gets ignored π so communication with existing hosts won't be possible, but the changes needed for existing hosts are way smaller than building a whole new IP header structure or a different protocol π
the receiving host has to be modified to include the code sketched below π
if (Destination_IP_address & 0xFC000000 == 0xF8000000)
{
/* New extended class F address */
Class_F_Processing(Destination_IP_address);
}
the Class_F_Processing() procedure can live in its own separate module π§ there will be other changes needed to pass the results of processing the class F address over to the main IP processing module, but they shouldn't be too extensive π
Security Considerations π
okay this is the dramatic part π security issues are not discussed in this memo. that's all it says, so take that however you want π
Author's Address π
Karanjit Siyan
Siyan Consulting Services
49 Taurus Road, Box 960
North Glastonbury
Emigrant, Montana 59027
Phone: 406-333-4491
EMail: 72550.1634@compuserve.com
that's the whole RFC, bestie ππβ¨
π¦ where this page comes from
- ietf: rfc1365 1992-09
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms