RFC 1219:On the Assignment of Subnet Numbers
RFC-Ref

Bit


Click on the red underlined text to get to the source

... subnet. Indeed, if non-contiguous masks were in use, it might be possible for B to find some other mask bit to change to 0. However, non-contiguous masks are generally not in favor, as they impose limitations on certain forwarding table lookup ...


... subnet field and the host field. Mask bits are one for subnet field bits ...
... bits are one for subnet field bits, and 0 for host field bits. (In all of our addresses ...
... bits, and 0 for host field bits. (In all of our addresses, the least significant bit ...
... bits. (In all of our addresses, the least significant bit (LSB) is on the right, the most significant bit (MSB) ...
... addresses, the least significant bit (LSB) is on the right, the most significant bit (MSB) is on the left.) ...
... subnet numbers would not be available to the small subnets, as the bits in the small subnet that correspond to those in the large subnet ...
... subnets. For instance, say that the large subnets had 4-bit subnet numbers, and the small subnets had 8-bit ...
... 4-bit subnet numbers, and the small subnets had 8-bit subnet numbers. If the large subnets ...
... subnets will be numbered 1, 2, 3, etc. The result is that some number of bits on the right side of the subnet and host fields will ...
... host fields will be ones for some hosts and zeros for others, and some number of bits on the left side of the subnet and host ...
... subnets and hosts. The "all zeros" bits represent room for growth, and the "ones and zeros" bits represent bits ...
... hosts. The "all zeros" bits represent room for growth, and the "ones and zeros" bits represent bits already consumed by growth. ...
... bits represent room for growth, and the "ones and zeros" bits represent bits already consumed by growth. ...
... area. Note that it is the mask itself that determines where the boundary is. Ones in the mask indicate subnet bits, and zeros indicate host bits ...
... bits, and zeros indicate host bits. We will show later that in fact the boundary should lie somewhere in the middle. Putting it there minimizes the number of times that the masks must be changed in hosts ...
... Host-assigned Bits (h-bits): These are the bits, contiguous from ...
... Host-assigned Bits (h-bits): These are the bits, contiguous from the right, for which host ...
... Host-assigned Bits (h-bits): These are the bits, contiguous from the right, for which host values, within a given subnet ...
... subnet, contain both ones and zeros. Different subnets may have different h-bits. Subnet ...
... Subnet-assigned Bits (s-bits): These are the bits, contiguous from ...
... Subnet-assigned Bits (s-bits): These are the bits, contiguous from the left, which 1) are not h-bits ...
... Subnet-assigned Bits (s-bits): These are the bits, contiguous from the left, which 1) are not h-bits, AND 2) are required to ...
... bits): These are the bits, contiguous from the left, which 1) are not h-bits, AND 2) are required to distinguish one subnet from another, AND 3) include all bits ...
... bits, AND 2) are required to distinguish one subnet from another, AND 3) include all bits to the left of and including the right-most one. Notice that different subnets ...
... to the left of and including the right-most one. Notice that different subnets may have different s-bits. Growth Bits ...
... bits. Growth Bits (g-bits): These are the "all zeros" bits in between ...
... Growth Bits (g-bits): These are the "all zeros" bits in between the h-bits ...
... Growth Bits (g-bits): These are the "all zeros" bits in between the h-bits and s-bits ...
... bits): These are the "all zeros" bits in between the h-bits and s-bits. ...
... bits in between the h-bits and s-bits. s-mask: For a given subnet ...
... s-mask: For a given subnet, the mask whereby all s-bits are one, and all g-bits and h-bits ...
... subnet, the mask whereby all s-bits are one, and all g-bits and h-bits are zero. ...
... bits are one, and all g-bits and h-bits are zero. g-mask: For a given subnet ...
... g-mask: For a given subnet, the mask whereby all s-bits and g-bits are one, and all h-bits ...
... g-mask: For a given subnet, the mask whereby all s-bits and g-bits are one, and all h-bits are zero. ...
... bits and g-bits are one, and all h-bits are zero. Subnet ...
... Subnet Field: These are the one bits in the subnet mask (as defined in RFC-950std5 ...
... subnet mask (as defined in RFC-950std5). These bits are on the left. The subnet field must at least include all of the s-bits ...
... bits are on the left. The subnet field must at least include all of the s-bits, and may additionally include some or all of the g-bits. ...
... field must at least include all of the s-bits, and may additionally include some or all of the g-bits. Host ...
... Host Field: These are the zero bits in the subnet mask. These bits ...
... bits in the subnet mask. These bits are on the right. The host field must at least include all of the h-bits ...
... bits are on the right. The host field must at least include all of the h-bits, and may additionally include some or all of the g-bits. ...
... include all of the h-bits, and may additionally include some or all of the g-bits. Mirror-image ...
... Mirror-image Counting: Normal counting, in binary, causes one bits to start at the right and work left. This is how host ...
... values are assigned. However, for subnet assignment, we want the one bits to start at the left and work right. This process is the mirror image ...
... independently, there are two cases where "coordination" is required between the rootAA and a subnetAA. These are the cases where either the rootAA or the subnetAA "grabs" the last growth bit (in the former case because another subnet has been added, and in the latter because ...
... another host has been added). Since it is impossible for the rootAA and a subnetAA to simultaneously grab the last growth bit, either one or the other must do it. ...
... & bit-wise AND function == is equal to != is not equal to ...
... existing subnet numbers Y, (Y != S). 2. If all bits in S from the rightmost one bit left are ones, then label all bits ...
... subnet numbers Y, (Y != S). 2. If all bits in S from the rightmost one bit left are ones, then label all bits to the left of and including one bit ...
... bits in S from the rightmost one bit left are ones, then label all bits to the left of and including one bit position to the right of the rightmost one bit ...
... bit left are ones, then label all bits to the left of and including one bit position to the right of the rightmost one bit in S to be ...
... bits to the left of and including one bit position to the right of the rightmost one bit in S to be s-bits. Else, label all bits ...
... position to the right of the rightmost one bit in S to be s-bits. Else, label all bits to the left of and including the rightmost one bit ...
... bit in S to be s-bits. Else, label all bits to the left of and including the rightmost one bit in S to be s-bits ...
... bits. Else, label all bits to the left of and including the rightmost one bit in S to be s-bits. This prevents the "all ones" value (which is the "all subnets ...
... bits to the left of and including the rightmost one bit in S to be s-bits. This prevents the "all ones" value (which is the "all subnets" broadcast ...
... subnet. (Since no hosts have been added, the rightmost one bit is a subnet bit.) ...
... added, the rightmost one bit is a subnet bit.) 3. Label all other bits in the address ...
... subnet bit.) 3. Label all other bits in the address to be g-bits. (By ...
... 3. Label all other bits in the address to be g-bits. (By address, we mean that part of the IP address ...
... network number.) 4. Set the subnet mask to include at least all s-bits, and optionally some g-bits. The subnet ...
... subnet mask to include at least all s-bits, and optionally some g-bits. The subnet mask must be contiguous. (Section 2.2 discusses the pros and cons of choosing a mask.) ...
... subnet numbers Y (Y != S): 51. If (S & s-mask(Y)) == (Y & s-mask(Y)), then: 511. Change the leftmost g-bit of Y to an s-bit. If the rootAA and YAA (the address ...
... 51. If (S & s-mask(Y)) == (Y & s-mask(Y)), then: 511. Change the leftmost g-bit of Y to an s-bit. If the rootAA and YAA (the address authority ...
... separate AAs, then the YAA must be informed of the change of bit status. If this is the last g-bit, then this change must be coordinated with YAA. ...
... AAs, then the YAA must be informed of the change of bit status. If this is the last g-bit, then this change must be coordinated with YAA. 512. Expand the subnet ...
... necessary (that is, if the subnet mask no longer includes all s-bits). RemoveSubnet(S): ...
... RemoveSubnet(S): 1. Consider B to be the bit position of the rightmost s-bit in S. 2. Remove ...
... RemoveSubnet(S): 1. Consider B to be the bit position of the rightmost s-bit in S. 2. Remove S. ...
... 3. For all existing subnet numbers Y: 31. If the bit in position B is not an s-bit, or if the bit ...
... subnet numbers Y: 31. If the bit in position B is not an s-bit, or if the bit in bit ...
... 31. If the bit in position B is not an s-bit, or if the bit in bit position B is a one, or if the bit ...
... bit, or if the bit in bit position B is a one, or if the bit in bit position ...
... bit in bit position B is a one, or if the bit in bit position B is a zero and all bits ...
... in bit position B is a one, or if the bit in bit position B is a zero and all bits to the left of bit ...
... bit in bit position B is a zero and all bits to the left of bit position B are ones, then do nothing (skip steps 32 and 33). ...
... bit position B is a zero and all bits to the left of bit position B are ones, then do nothing (skip steps 32 and 33). 32. Change the s-bit ...
... bit position B are ones, then do nothing (skip steps 32 and 33). 32. Change the s-bit in position B to a g-bit. 33. If for any other existing subnet ...
... are ones, then do nothing (skip steps 32 and 33). 32. Change the s-bit in position B to a g-bit. 33. If for any other existing subnet numbers X ...
... subnet numbers X (X & s-mask(Y)) == (Y & s-mask(Y)), then change the g-bit in position B back into an s-bit for Y. Else, inform YAA that of the change of bit ...
... (X & s-mask(Y)) == (Y & s-mask(Y)), then change the g-bit in position B back into an s-bit for Y. Else, inform YAA that of the change of bit status. ...
... bit in position B back into an s-bit for Y. Else, inform YAA that of the change of bit status. AddHost(S): ...
... subnet number S concatenated with zeros. 2. Assign to A the same h-bits, g-bits, and s-bits as the ...
... with zeros. 2. Assign to A the same h-bits, g-bits, and s-bits as the other host ...
... 2. Assign to A the same h-bits, g-bits, and s-bits as the other host addresses ...
... host number H. 4. If all bits from the leftmost one bit to bit position 0 are ...
... host number H. 4. If all bits from the leftmost one bit to bit position 0 are ones, then execute steps 5 and 6 using bit ...
... 4. If all bits from the leftmost one bit to bit position 0 are ones, then execute steps 5 and 6 using bit position B equals ...
... bit to bit position 0 are ones, then execute steps 5 and 6 using bit position B equals one bit position to the left of the leftmost one bit ...
... ones, then execute steps 5 and 6 using bit position B equals one bit position to the left of the leftmost one bit in H. Else, execute steps 5 and 6 with bit ...
... bit position B equals one bit position to the left of the leftmost one bit in H. Else, execute steps 5 and 6 with bit position B equals ...
... bit position to the left of the leftmost one bit in H. Else, execute steps 5 and 6 with bit position B equals the leftmost one bit in H. This prevents the "all ones" value ...
... Else, execute steps 5 and 6 with bit position B equals the leftmost one bit in H. This prevents the "all ones" value (which is the "all hosts" broadcast ...
... assigned to a host. 5. If bit position B is an s-bit, then the host cannot be added. ...
... host. 5. If bit position B is an s-bit, then the host cannot be added. Skip the remaining steps. ...
... host cannot be added. Skip the remaining steps. 6. If bit position B is a g-bit: 61. Change the g-bit ...
... Skip the remaining steps. 6. If bit position B is a g-bit: 61. Change the g-bit to an h-bit ...
... bit position B is a g-bit: 61. Change the g-bit to an h-bit for all hosts in S. Note ...
... bit: 61. Change the g-bit to an h-bit for all hosts in S. Note that if this is the last g-bit ...
... bit for all hosts in S. Note that if this is the last g-bit, this change must be coordinated with the address authority ...
... Remove H. 2. If for all remaining host numbers in S, the value of the bit position of the leftmost h-bit is zero, and there is a zero in ...
... host numbers in S, the value of the bit position of the leftmost h-bit is zero, and there is a zero in at least one of the bit positions to the right of the leftmost ...
... position of the leftmost h-bit is zero, and there is a zero in at least one of the bit positions to the right of the leftmost h-bit, then for all hosts ...
... at least one of the bit positions to the right of the leftmost h-bit, then for all hosts change the leftmost h-bit into a ...
... h-bit, then for all hosts change the leftmost h-bit into a g-bit. ...
... hosts change the leftmost h-bit into a g-bit. It is worth noting here that this technique is a 2-level subset of ...
... addressing in [5], g-bits are called a-bits, h-bits are called ...
... addressing in [5], g-bits are called a-bits, h-bits are called g-bits ...
... 5], g-bits are called a-bits, h-bits are called g-bits, and s-bits ...
... bits, h-bits are called g-bits, and s-bits are called i-bits. ...
... bits are called g-bits, and s-bits are called i-bits. ...
... g-bits, and s-bits are called i-bits. ...
... class C network, so we will only need to work with 8 bits. We start with 3 subnets, A, B, and C. Our ...
... start with 3 subnets, A, B, and C. Our nomenclature is h for h-bit and g for g-bit. Note that h-bits can be ...
... subnets, A, B, and C. Our nomenclature is h for h-bit and g for g-bit. Note that h-bits can be one or zero, but g-bits ...
... nomenclature is h for h-bit and g for g-bit. Note that h-bits can be one or zero, but g-bits are all zero. The remaining bits ...
... bit. Note that h-bits can be one or zero, but g-bits are all zero. The remaining bits are s-bits, ...
... bits can be one or zero, but g-bits are all zero. The remaining bits are s-bits, but are shown as 1's and 0's according to the subnet ...
... one or zero, but g-bits are all zero. The remaining bits are s-bits, but are shown as 1's and 0's according to the subnet number ...
... assignment. The space is just to make the addresses and masks easier to read. Finally, we number our bits 0 to 7 from right to left as shown below. ...
... B 01gg ghhh 1111 0000 C 110g ghhh 1111 0000 bit 7 bit 0 ...
... C 110g ghhh 1111 0000 bit 7 bit 0 ...
... subnet has at most 6 hosts (because of the three h- bits). Notice that we have chosen the masks so that there is room for growth in both hosts and subnets ...
... Finally, notice that subnet C requires three s-bits instead of just two. This is because with just two, the subnet address ...
... Notice that none of the original subnets required a change in any of their status bits. This is because, when D compared its subnet number with the others (step 5 of AddSubnet(), using the s-mask), ...
... Notice that this time, A was forced to change its leftmost g-bit (bit 5) into an s-bit ...
... Notice that this time, A was forced to change its leftmost g-bit (bit 5) into an s-bit, because bit ...
... bit (bit 5) into an s-bit, because bit 5 is needed to distinguish subnet A ...
... bit 5) into an s-bit, because bit 5 is needed to distinguish subnet A from subnet ...
... subnet A from subnet E (step 511 of AddSubnet()). Changing bit 5 into an s- bit prevents hosts ...
... subnet E (step 511 of AddSubnet()). Changing bit 5 into an s- bit prevents hosts from being added to A to the point where bit 5 ...
... bit prevents hosts from being added to A to the point where bit 5 would be changed into a one (that is, step 5 of AddHost() would fail). ...
... hosts each are added to subnets A and C, thus causing the right-most g-bit in each to change to an h-bit. ...
... subnets A and C, thus causing the right-most g-bit in each to change to an h-bit. ...
... hosts are added to subnet B that all of its remaining g-bits become h-bits. ...
... subnet B that all of its remaining g-bits become h-bits. ...
... Notice here that the masks in B's subnet had to be changed to accommodate the new h-bits (step 62 of AddHost()). Notice also that if the person assigning host addresses ...
... BAA) is different than the person assigning network numbers (RootAA), then BAA must coordinate the change of its last g-bit to an h-bit with the RootAA. This allows the RootAA to properly assign ...
... network numbers (RootAA), then BAA must coordinate the change of its last g-bit to an h-bit with the RootAA. This allows the RootAA to properly assign additional subnet ...
... mask, and 2) we can't increase B's mask to make it distinguishable because B has already assigned hosts at bit position 5. In other words, when the comparison of step 1 in AddSubnet() was tried on ...
... number 011, the two values were equal, and so the next number was tried. In fact, no subnet numbers with 01 in bit positions 7 and 6 can be assigned (unless B loses hosts). ...
... Notice that this caused subnet A to change an s-bit back into a g- bit. This is because the equality of step 33 of RemoveSubnet() did ...
... subnet A to change an s-bit back into a g- bit. This is because the equality of step 33 of RemoveSubnet() did not hold true for subnet A with respect to the remaining subnets ...



Google
Web
RFC-Ref