IPv5 Packet

The IPv5 packet is designed to be sleek and powerful. A manageable array of options allows end systems to customize what services they need, and what services they don't. Every packet contains the ability to select a priority, which allows less pressing packets to yield to more urgent packets - making real-time exchanges smoother. The TTL field is meant to at minimum be reduced by 1 with a probability of 1/4. And of course every packet contains the IP compatible version field.

It is necessary to note that there is a downside to the private user of upper-priority packets. If a user is sending non-real-time packets labeled as top priority, any real-time top-priority packets the user sends will experience extra delay that could have been avoided had the non-real-time packets been labeled with the correct priority. It is in everyone's best interest to correctly use packet prioritization. Also, in bare-connection packets, the TTL size is dictated by the priority.
On a similar note, routers are not at liberty to change the packets priority - no service can change a packet's IPv5 priority field, nor can any IPv5 compliant router handle priorities differently. However, this is not to say that a service provider can't charge for higher priority packets, but a service provider providing IPv5 must allow all users the ability to use the priority field in its intended way and expect the service promised by the IPv5 specification

Type 0 packet:  bare-connection

The bare-connection type packet is the bare minimum for a packet. They are sleek and can be processed the fastest. The downside to using type 0 packets are that they are dropped if oversized, they are dropped during congestion, their packet size is limited, loss rate and error rate are the maximum, and they require an established connection to use. Also, they are limited to the TTL being in terms of hops only, which gives no upper bound to how long the packet can linger in the network.

FIELD SIZE (bits) DESCRIPTION
Version

4

Version 5 - 0101
Packet type 2 0: bare-connection minimal end-to-end header size.
1: normal end-to-end packet
2: routing information
Allows for one more future type (value 3).
Address length 2 0: 30 bits
1: 60 bits
2:
120 bits
Allows for one more future type (value 3).
Priority 2 0: Sent out at most 1/4 times as frequently as priority 1 packets. Intended for background traffic and control - e.g. news, E-mail, ICMP, SNMP, Routing Information
1: Sent out between 2 and 4 times as frequently as priority 0 packets. Intended for unattended data transfer and small real-time traffic - e.g. Torrents, IMing
2: Sent out between 4 and 8 times as frequently as priority 0 packets. Intended for attended bulk data transfer and medium-sized real-time traffic - e.g. Streaming, html
3: Sent out between 32 and 64 times as frequently as priority 0 packets. Intended for bulk real-time traffic - e.g. video/audio chats, online games, remote logins

The sending frequency does not apply if there are no packets of that priority in the router's output queue for a given interface.
Packet length 16 The size in bytes of the variable part of the header PLUS the payload. In the case of a type 0 packet, this is the length of the address plus the length of the payload. The length is given in this form to make it easier for routers to grab the whole packet off the queue as quickly as possible.
TTL 6 Each "tic" of the TTL field represents an amount of time corresponding to the priority or 4 hops. If less than the time given by the TTL size has gone by, the TTL field is probabilistically reduced by one, so that it is decremented by one fourth of the routers it travels through.
Priority 0 or 1 (high bit of priority is 0): Each "tic" of the TTL field represents 4 hops. (equivalent to TTL size of 3 in a type 1 packet)
Priority 2 or 3 (high bit of priority is 1): Each "tic" of the TTL field represents  a wait of about 2 millisecond in the queue. To do this, if the packet has been waiting less than 2 ms, then it is decremented probabilistically according to what fraction of the "tic" actually passed (the probability should be chosen so that there is less than 5% chance of the packet expiring too early)
Destination address Variable The address being sent to.
Payload Variable The cargo. Use of a type 0 packet assumes either application specific usage of the payload, or that the application has registered the IP address with its IPv5 interface, which would then use the DTP as the next header.
Total 62 min Much smaller than an IPv4 packet! 66 bits minimum overhead if using the DTP header.

    Type 1 packet:  normal end-to-end packet

The normal type 1 packet is the mainstay for IPv5. This packet is extremely flexible while only having a few points of variability. The TTL field goes back to using time to kill a packet, which gives the user the ability to know the approximate time to wait before it knows the packet is no longer in the network. Packets can be as large as approximately 2.1 Gigabytes using the jumbo packet option.
Packets have two link-layer service demand options - reliable loss rate, and reliable error rate. While the IPv5 packet header doesn't contain error checking information or sequence numbers, the packets can require that the link-layer provide some payload error checking and arrival-rate services. Since different link-layers may have different intrinsic error rates and packet-loss rates, IPv5 only specifies the desired service and allows the link-layer to provide these services with any extra functionality necessary. A type 3 loss reliable loss rate can be used to require routers to verify that the packet was received, or resend as necessary. By allowing routers to set packets to a type 3 reliable loss rate, this option allows the network to approach 100% theoretical efficiency in times of congestion - rather than allowing congestion to degrade efficiency as it does in IPv4.
IPv5 requires the packet header (minus the lower 3 bits of the TTL, and minus the payload) to have an error rate of 0.01% regardless of the reliable error rate defined in the packet.
Packet forwarding can allow end systems to specify part of the route to the destination, which may be useful for security reasons. Packets can tell a receiver that a packet does not have all the data it was originally sent with - which allows a packet to be truncated (rather than fragmented) in the case that it is too large for a particular router. Multicasting is a powerful option that can be used to send up to 256 different recipients the same data. Since a multicast packet is split up at routers based on where the addresses diverge, this option has the potential to greatly reduce the total load on both the network and the sending system.

FIELD SIZE (bits) DESCRIPTION
Version

4

Version 5 - 0101
Packet type 2 0: bare-connection minimal end-to-end header size.
1: normal end-to-end packet
2: routing information
Allows for one more future type (value 3).
Address length 2 0: 30 bits
1: 60 bits
2:
120 bits
Allows for one more future type (value 3).
Priority 2 0: Sent out at most 1/4 times as frequently as priority 1 packets. Intended for background traffic and control - e.g. news, E-mail, ICMP, SNMP, Routing Information
1: Sent out between 2 and 4 times as frequently as priority 0 packets. Intended unattended data transfer and small real-time traffic - e.g. Torrents, IMing
2: Sent out between 4 and 8 times as frequently as priority 0 packets. Intended for attended bulk data transfer and medium-sized real-time traffic - e.g. Streaming, html
3: Sent out between 32 and 64 times as frequently as priority 0 packets. Intended for bulk real-time traffic - e.g. video/audio chats, online games, remote logins

The sending frequency does not apply if there are no packets of that priority in the router's output queue for a given interface.
Packet length 16 The size in bytes of the variable part of the header PLUS the payload. To get the full packet-size from this, add 105 bits (the size of the minimal packet).
TTL 6 Each "tic" of the TTL field represents an amount of time corresponding to the priority or 4 hops. If less than the time given by the TTL size has gone by, the TTL field is probabilistically reduced by one, so that it is decremented by one fourth of the routers it travels through.
Priority 0 or 1 (high bit of priority is 0): Each "tic" of the TTL field represents 4 hops. (equivalent to TTL size of 3 in a type 1 packet)
Priority 2 or 3 (high bit of priority is 1): Each "tic" of the TTL field represents  a wait of about 2 millisecond in the queue. To do this, if the packet has been waiting less than 2 ms, then it is decremented probabilistically according to what fraction of the "tic" actually passed (the probability should be chosen so that there is less than 5% chance of the packet expiring too early)
Destination address Variable The address being sent to.
TTL size 2 0: Each "tic" of the TTL field represents 150 to 200 microseconds.
1: Each "tic" of the TTL field represents  1500 to 2000 microseconds.
2: Each "tic" of the TTL field represents 30 to 34 milliseconds.
3: Each "tic" of the TTL field represents 4 hops.
The ranges are given so that routers can have flexibility in how they're designed. They also ensure approximately guaranteed packet death times, so problems associated with sequence number wrapping and packet resending are minimized.
Routers count the time packets have been queued and subtracts tics from TTL size. If the packet has been waiting less time than what 1 "tic" represents, then it is decremented probabilistically according to what fraction of the "tic" actually passed (the probability should be chosen so that there is less than 5% chance of the packet expiring too early)
Jumbo packet 1 0: Packet length is a normal number of bytes
1: Packet length is the value of the field times 2^15
Reliable loss rate 2 The link-level service demanded for packet arrival.
0: Guaranteed maximum average link-to-link loss rate of 40%
1: Guaranteed maximum average link-to-link loss rate of 10%
2: Guaranteed maximum average link-to-link loss rate of 1%
3: Guaranteed maximum average link-to-link loss rate of 0%*. Is required to use sequence numbers, sequence checking, AWKs/NAKs, packet buffering and packet retransmission on NAK. Packets are automatically switched to this level of reliability by routers during network congestion.
*Note: a type 3 reliable loss rate is a loss rate of 0% unless the router discovers that it no longer has a link to the destination, in which case the packet must be dropped.
Reliable error rate 2 The link-level service demanded for the rate of bit errors in the packet's payload.
0: Guaranteed maximum average link-to-link error rate of 20%
1: Guaranteed maximum average link-to-link error rate of 5%
2: Guaranteed maximum average link-to-link error rate of 1%
3: Guaranteed maximum average link-to-link error rate of 0.01%
Packet forwarding 1 If packet forwarding is on (1), then when the packet reaches its destination, its destination is changed to forward IP 1 and sent back out. Before the packet is sent back out, the Forwards field is decremented, and the router makes sure not to send forward IP 1 out (essentially removing it from the queue - what was in forward IP 2 is now forward IP 1, etc). This is meant to be used for security purposes.
Truncated 1 If on (1), the packet has been truncated (if the packet is too big for a router in the path) and the field Original packet length exists to document that.
Multicast type 1 0: Normal multicast
1: Groupcast
Multicast branching 2 0: No branching / multicasting off (for Multicast type 0, multicast branching value 0 means multicasting is off and the following two fields and the multicast address field are ignored)
1: Branching type 1
2: Branching type 2
3: Branching type 3
Groupcast request 1 Turning this field on (1) requests groupcasting information from every router that a multi-cast packet is sent through. This field must be 0 for a type 0 Groupcast. A router receiving a packet with this field on may send back a groupcast response packet at its own discretion.
Multi-address amount size 1 The number of bits used to specify how many addresses or address parts will follow in multicasting (the "amount" field).
0: means 3 bits will be used in Multicast type 1, and 2 bits in multicast type 3, and either 2 or 3 bits in multicast type 2 (explained in that section).
1: means 8 bits will be used (in all multicast types).
A multi-address amount size field of 0 does not need to be checked for having over 256 specified addresses, thus making it the faster version of the two.
Forwards 2 Number of extra IP addresses to forward to. (0 means no extra, which means there is only one forward IP address - which would be Forward IP 0, etc)
Interface forwarding 1 If this bit is on (1), then interface forwarding is on and the corresponding bits are set.
Forward IP 0 Variable First router to forward to during packet forwarding. This is the same length as the destination address.
Forward IP 1 Variable ...
Forward IP ... Variable ...    Up to 4 Forwarding IPs (numbered 0 through 3)

Original packet length

16 The number of bytes missing from packet (and need to be retransmitted by the source). If Jumbo packet is 1, this field is multiplied by 2^16 to get the number of truncated bytes.
Interface forwards 2 Number of Interfaces to forward on.
Interface IP 0 2 IP address identifier on which to forward this packet onto Interface 0. This field is decremented before every IP forward. When this field is 0, the current router forwards the packet on its interface that has the ID given in interface 0. The router omits sending the fields Interface IP 0 and Interface 0 (effectively deleting them and moving Interface IP 1 and Interface 1 into those positions). If there are no more interfaces to forward to, the router must also clear Interface forwarding to 0 and omit the rest of this interface section (all fields from Interface forwards on until the Multicast addresses - obviously not including the multicast addresses).

For example, if this field is set to 0 by the sender, the router given by the destination address will do the 0th interface forward. If the field is set to 2, then the router given by Forward IP 1 will do the 0th interface forward.
Interface 0 8 The interface number to be forwarded on, in the router denoted by Interface IP 0 field. (if the router's interface cannot be specified in 8 bits, then it cannot do interface forwarding onto that interface - the router would have to reorganize its interfaces to get that to work).
Interface IP 1 2 IP address identifier (minus Interface IP 0) to forward onto Interface 1. The identifier is subtracted from the identifier in Interface IP 0 because this field will not be decremented before IP forwards *until* it is
Interface 1 8 The interface number to be forwarded on, in the router denoted by Interface IP 1.
Interface IP ... 2 ...  Up to 4 IPs to interface forward on (one for each possible Forward IP address).
Interface ... 8 ...  Up to 4 interfaces to forward on.
Multicast addresses Variable Filled with data describing up to 256 addresses to send to. One of three possible formats for sending to multiple destinations. This field only exists for multicast type of 1, 2, and 3. Only the destination address is used in multicast type 0. Multicasting must also be on (1) for this field to exist.
Transport header 1 Whether the default transport protocol is used, or a different one is used. If this bit is on (1), then the Next Header field exists. Otherwise the Default Transport Protocol (DTP) is used and the next header field does not exist.
DTP Header - This exists if the Transport header field is 0.
FIELD SIZE (bits) DESCRIPTION
Error checking 2 0: No error checking. The redundancy data field does not exist.
1: Error checking. The redundancy data field is 8 bits.
2: Error checking. The redundancy data field is 16 bits.
3: Error checking. The redundancy data field is 32 bits.
Source type 1 Defines whether or not a source's full address and port are there. The destination might already know the source, or might not need it.
0: source address exists.
1:
no source address exists.
Sequence check 1 Whether or not routers do a sequence check on this packet. If this option is set (1), the sequence number and requests fields (and associated sequence request fields) exist.
Redundancy data 8, 16 or 32 Cyclic redundancy check to make sure the packet does not contain errors.
Sequence number 16 Used in end systems to correctly order packets.
Requests 4 Number of sequence requests. The requests should be ordered in increasing order.
Sequence request 1 16 The earliest sequence number. This verifies all packets with earlier sequence numbers.
Sequence request . 16 ...  Other sequence numbers are simple requests with no other implication.
Sequence request . 16 ...
Sequence request . 16 ...   Up to 15 sequence requests.
Source address 30, 60 or 120 The address from which the packet originated. It is the same length as the Destination Address.
Total 4 min 384 bits maximum with 15 sequence requests
Next header 6 A value representing a protocol which has been agreed to have that value in the IPv5 protocol. A value of zero is reserved for expanding this space if necessary. This field exists only if the Transport header field is 1.
Transport layer header Variable The next layer up if the DTP isn't being used. This exists only if the Transport header field is 1.
Payload Variable The cargo bits.
Total 117 min The header can be a maximum of 6729 bits for multi-address amount size 0 and a maximum of 25'323 bits for multi-address amount size 1 (add 17 bits for a truncated packet, 5 for groupcasting bits, a maximum of 384 bits for a full DTP header, a maximum of 291 (3+72*4) bits for packet forwarding, a maximum of 42 for interface forwarding, and a maximum of 5990 bits for multi-address amount size 0 or 24'584 bits for multi-address amount size 1 = 25'323 = 17 + 5 + 384 + 291 + 42 + 24584)
Note that while the minimum size of this header is very close to a type 0 packet header, the type 1 packet may demand link-layer services that add more bits to the link-layer frame that wouldn't be added to the frame in the case of a type 0 packet.


Type 2 packet: 
Meta information

FIELD SIZE (bits) DESCRIPTION
Version

4

Version 5 - 0101
Packet type 2 0: bare-connection minimal end-to-end header size.
1: normal end-to-end packet
2: routing information
Allows for one more future type (value 3).
     
Info type 4 Indicates what kind of routing information the packet contains. Some ideas:
* Requests for info * Info about the congestion level * Info about what addresses are available to the router * Notification of address change
Fnfo data  
 
Total ?  

 


    Multicast addresses field:

The multicast address field is organized so that the numbers of each part of the address appear first, and the actual address parts follow after all these numbers are described. This makes it quicker to search through the multitude of address parts that can appear in the field. However, it does not make it very human-readable.

* The format description for multicast branching type 1 uses the characters AB to describe the parts of the IP address. Each stand for a half of the address.
* The general format descriptions for multicast branching types 2 and 3 use the characters WXYZ to describe parts of the IP address. W and X each stand for 1/3rd of the most significant part of the IP address (5 bits for a 30-bit address, 10 bits for a 60-bit address, and 20 bits for a 120-bit address), while Y and Z each stand for 1/6th of the least signifiacnt part of the IP address.
* The # stands for a number of addresses that are listed after it.
* For each "amount" field (host addr amount, sub-net addr amount, etc), the value represents the address-parts in addition to the address parts of the Destination address. This means that 0 means 1 address to send to, and 255 means 256 addresses to send to.

            Multicast branching type 1: 
      #A,             (     #B,                   #B,           ... ),
(#A, #A, ...), ((#B, #B, ...), (#B, #B, ...), ...)

FIELD SIZE (bits) DESCRIPTION
A amount 3 or 8 The number of host addresses in the multicast.
B amount for A0 3 or 8 The number of sub-net addresses attached to A0.
B amount AX 3 or 8 The number of sub-net address number attached to the next host address.

. . .

. . . . . . One B amount per A.
A0 0 The first A address-part is implicitly taken from the Destination address.
A1 38  

. . .

38 Up to 8 or 256 host addresses (including the destination address field).
B0 0 The first B address-part is implicitly taken from the Destination address.
B1    

. . .

. . . Up to 8 or 256 Bs - the number corresponding to B amount for A0.
B0 34 Sub-net addresses for the next host address.
B1    

. . .

. . . Up to 8 or 256 sub-net addresses for the next host address..

. . .

. . .  . . . More sets of sub-net addresses - one set per Host address.
Total ? max 2507-bit maximum for 3-bit addr amounts. 19'208 is for 8-bit addr amounts. Note that the described format supports up to 65'536 multicast addresses and a field of over 2 million bits. However, packets that contain more than 256 multicast addresses will be immediately dropped by any IPv5 compliant router. The 3-bit addr amount version of this can only describe 64 addresses at most, and thus does not need to be checked for too many addresses, making it potentially faster.
(2507 = 3 + 2^3 * (38 + 3 + 2^3*(34) ; 19'208 = 8 + 2^8 * (38 + 3 + 2^0*(34)) )

 

           Multicast branching type 2: 
      #W,        (     #X,             #X,       ... ), (  (       #YZ,              #YZ,         ...  ),  (      #YZ,              #YZ,          ...  ),   ... ),
( W, W,... )  ( ( X, X, ...)  ( X, X, ...)  ... ( ( ( YZ, YZ, ...)( YZ, YZ ...) ... ),  ( ( YZ, YZ, ...)( YZ, YZ ...) ... ),  ... )

* Note: For Multi-address amount of 0, each W amount is 2 bits, while the X amount and YZ amount is 3 bits. This allows a full 256 addresses to be described by the smaller format, while not going over that number (so that the packet cannot have too many multicast addresses).

FIELD SIZE (bits) DESCRIPTION
W amount 2 or 8 The number of host address part Ws in the multicast.
X amount for W0 3 or 8 The number of X address-parts attached to part W0.
X amount for W1 3 or 8 The number of X address-parts attached to part W1.

. . .

. . .  . . . One X amount per W.
YZ amount for X00 3 or 8 The number of YZ address-parts attached to X00 (the first X attached to W0).
YZ amount for X01 3 or 8 The number of YZ address-parts attached to X01 (the second X attached to W0).

. . .

. . .  . . . One YZ amount per X amount for W0.
YZ amount for X10 3 or 8 The number of YZ address-parts attached to X10 (the first X attached to W1).
YZ amount for X11 3 or 8 The number of YZ address-parts attached to X11 (the second X attached to W1).

. . .

. . .  . . . One YZ amount per X amount for W1.
YZ amount for X20 3 or 8  . . .
YZ amount for X21 3 or 8  . . .

. . .

. . .  . . .

. . .

. . .  . . . More sets of YZ amounts - One set for each W.
W0 0 The first W address-part is implicitly taken from the Destination address.
W1 5, 10, 20  

. . .

. . . . . . Up to 4 or 256 Ws
X00 0 The first X address-part is implicitly taken from the Destination address.
X01 19  

. . .

. . .  . . . Number of X0s corresponding to X amount for W0.
X10 19  
X11 19  

. . .

. . .  . . . Number of X1s corresponding to X amount for W1.
X20 19  . . .
X21 19  . . .

. . .

. . .  . . .
. . . . . .  . . . More sets of Xs - One set per W.
YZ 000 0 The first YZ is implicitly taken from the Destination address.
YZ 001 34  

. . .

. . . Up to 4 or 256 YZs - the number corresponding to YZ amount for X00.
YZ 010 34  . . .
YZ 011 34  . . .

. . .

. . .  . . .
YZ 010 34  . . .
YZ 011 34  . . .

. . .

. . .  . . .

. . .

. . .  . . . More sets of YZs - one set per X.
Total ?? max 5114-bit maximum for 2-bit/3-bit/2-bit addr amounts. 22'536 is for 8-bit addr amounts. Again note that describing more than 256 addresses will cause the packet to be immediately dropped (possible only with 8-bit addr amounts).
(5114 = 2 + 2^2 * (19 + 3 + 2^3*(19 + 2 + 2^2*(34)) ; 22'536 = 8 + 2^8 * (19 + 8 + 2^0*(19 + 8 + 2^0*(34)) )

 

           Multicast branching type 3:
      #W,        (     #X,             #X,       ... ), (  (       #Y,              #Y,         ...  ),  (      #Y,              #Y,          ...  ),   ... ),
( (  (     #Z,          #Z,       ... ),  (      #Z,          #Z,        ... ),  ... ),  (  (      #Z,          #Z,       ... ),  (      #Z,          #Z,        ... ),  ... ),  ... ),
( W, W,... )  ( ( X, X, ...)  ( X, X, ...)  ... ( ( ( YZ, YZ, ...)( YZ, YZ ...) ... ),  ( ( YZ, YZ, ...)( YZ, YZ ...) ... ),  ... )
( (
( (Z, Z, ...), (Z, Z, ...), ... ) (  (Z, Z, ...), (Z, Z, ...), ... ) ... ),  ( (  (Z, Z, ...), (Z, Z, ...), ... )(  (Z, Z, ...), (Z, Z, ...), ... ) ... ),  ... ),

Field Bits Description
W amount 2 or 8 The number of host address part Ws in the multicast.
X amount for W0 2 or 8 The number of Xs attached to W0.
X amount for W1 2 or 8 The number of Xs attached to W1.

. . .

. . .  . . . One X amount for W1 per W.
Y amount for X00 2 or 8 The number of sub-net addresses attached to Host addr part X 00.
Y amount for X01 2 or 8 The number of sub-net addresses attached to the next Host addr part X 0. .

. . .

. . .  . . . One Sub-net addr amount per host address part X 0.
Sub-net addr part Y 10 amount 2 or 8 The number of sub-net addresses attached to Host addr part X 10.
Sub-net addr part Y 1. amount 2 or 8 The number of sub-net addresses attached to the next Host addr part X 1. .

. . .

. . .  . . . One Sub-net addr amount per host address part X 1.
Sub-net addr part Y .0 amount 2 or 8  . . .
Sub-net addr part Y .. amount 2 or 8  . . .

. . .

. . .  . . .

. . .

. . .  . . . More sets of Sub-net addr part Y amounts - One per host address part X amounts.
Sub-net addr part Z ... amount 2 or 8 The number of sub-net addresses attached to Sub-net addr part Y ...
Sub-net addr part Z ... amount 2 or 8 . . .

. . .

. . .  . . . One Sub-net addr part Z amount per Sub-net addr part Y
Host address part W 0 0 The first 16-bit host address part W is implicitly taken from the Destination address.
Host address part W . 19  

. . .

. . . . . . Up to 4 or 256 host address part Ws
Host address part X 00 amount 0 The first 20-bit host address part X is implicitly taken from the Destination address.
Host address part X 0. amount 19  

. . .

. . .  . . . Number of Host address part X 0.s corresponding to Host addr part X 0 amount..
Host address part X 10 amount 19  
Host address part X 1. amount 19  

. . .

. . .  . . . Number of Host address part X 1.s corresponding to Host addr part X 1 amount..
Host address part X .0 amount 19  . . .
Host address part X .. amount 19  . . .

. . .

. . .  . . .
. . . . . .  . . . More sets of host address part Xs - One per host address part W.
Sub-net address part Y 000 0 The first sub-net address is implicitely taken from the Destination address.
Sub-net address part Y 00. 17  

. . .

. . . Up to 4 or 256 sub-net address part Ys - the number corresponding to Sub-net addr 00 amount.
Sub-net address part Y 010 17  . . .
Sub-net address part Y 01. 17  . . .

. . .

. . .  . . .
Sub-net address part Y 0.0 17  . . .
Sub-net address part Y 0.. 17  . . .

. . .

. . .  . . .

. . .

. . .  . . . More sets of sub-net address part Y 0..s - one set per Host address part X.
Sub-net address part Y 1.0 17  . . .
Sub-net address part Y 1.. 17  . . .

. . .

. . .  . . .
Sub-net address part Y ..0 17  . . .
Sub-net address part Y ... 17  . . .

. . .

. . .  . . .

. . .

. . .  . . . More sets of sub-net address part Y ...s - one set per Host address part Y.
Sub-net address part Z 0000 0 The first sub-net address is implicitely taken from the Destination address.
Sub-net address part Z 000. 17  

. . .

. . . Up to 4 or 256 sub-net address part Ys - the number corresponding to Sub-net addr 00 amount.
Sub-net address part Z 0010 17  . . .
Sub-net address part Z 001. 17  . . .

. . .

. . .  . . .
Sub-net address part Z 00.0 17  . . .
Sub-net address part Z 00.. 17  . . .

. . .

. . .  . . .

. . .

. . .  . . . More sets of sub-net address part Y 0..s - one set per Host address part X.
Sub-net address part Z 01.0 17  . . .
Sub-net address part Z 01.. 17  . . .

. . .

. . .  . . .
Sub-net address part Z 0..0 17  . . .
Sub-net address part Z 0... 17  . . .

. . .

. . .  . . .

. . .

. . .  . . . More sets of sub-net address part Y 0...s - one set per Host address part Y.

.

   

.

  continuing with more lists of Sub-net address part Z ....s - Sub-net address part Z 1..., Sub-net address part Z 2..., etc in the same kind of way the other address parts are divided up.

.

   
Total 24'584 max 5990-bit maximum for 2-bit addr amounts. 24'584 is for 8-bit addr amounts. Again note that describing more than 256 addresses will cause the packet to be immediately dropped (possible only with 8-bit addr amounts).
(5990 = 2 + 2^2 * (19 + 2 + 2^2*(19 + 2 + 2^2*(17 + 2 + 2^2*(17))) ; 22'536 = 8 + 2^8 * (19 + 8 + 2^0*(19 + 8 + 2^0*(17 + 8 + 2^0*(17))) )

 

April 15, 2008
Billy Tetrud