Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Understanding IP Addressing: Everything You Ever Wanted ..., Study notes of Design

The route from the Internet to any subnet of a given IP address is the same, no matter which subnet the destination host is on. This is because ...

Typology: Study notes

2021/2022

Uploaded on 09/27/2022

sctsh3
sctsh3 🇬🇧

4.8

(6)

98 documents

Partial preview of the text

Download Understanding IP Addressing: Everything You Ever Wanted ... and more Study notes Design in PDF only on Docsity! Understanding IP Addressing: Everything You Ever Wanted To Know C ID R Subnetting VLSM Class A Class B Class C All-0 s All-1s Classful Classless Longest M atch Extended-Network Prefix Prefix -Length Supernetting M ask Network-Prefix Host-Number /16 /24 /8 Chuck Semeria NSD Marketing 3Com Corporation April 26, 1996 Introduction In the mid-1990's, the Internet is a dramatically different network than when it was first established in the early 1980's. Today, the Internet has entered the public consciousness as the world's largest public data network, doubling in size every nine months. This is reflected in the tremendous popularity of the World Wide Web (WWW), the opportunities that businesses see in reaching customers from virtual storefronts, and the emergence of new types and methods of doing business. It is clear that expanding business and social awareness will continue to increase public demand for access to resources on the Internet. There is a direct relationship between the value of the Internet and the number of sites connected to the Internet. As the Internet grows, the value of each site's connection to the Internet increases because it provides the organization with access to an ever expanding user/customer population. Internet Scaling Problems Over the past few years, the Internet has experienced two major scaling issues as it has struggled to provide continuous and uninterrupted growth: - The eventual exhaustion of the IPv4 address space - The ability to route traffic between the ever increasing number of networks that comprise the Internet The first problem is concerned with the eventual depletion of the IP address space. The current version of IP, IP version 4 (IPv4), defines a 32-bit address which means that there are only 232 (4,294,967,296) IPv4 addresses available. This might seem like a large number of addresses, but as new markets open and a significant portion of the world's population becomes candidates for IP addresses, the finite number of IP addresses will eventually be exhausted. The address shortage problem is aggravated by the fact that portions of the IP address space have not been efficiently allocated. Also, the traditional model of classful addressing does not allow the address space to be used to its maximum potential. The Address Lifetime Expectancy (ALE) Working Group of the IETF has expressed concerns that if the current address allocation policies are not modified, the Internet will experience a near to medium term exhaustion of its unallocated address pool. If the Internet's address supply problem is not solved, new users may be unable to connect to the global Internet! Class A Class B Class C 0 7 8 3101 Host-Number 10 15 16 310 2 110 23 24 310 3 Network- Number Network-Number Network-Number Host-Number Host- Number bit # bit # bit # Figure 4: Principle Classful IP Address Formats One of the fundamental features of classful IP addressing is that each address contains a self-encoding key that identifies the dividing point between the network-prefix and the host-number. For example, if the first two bits of an IP address are 1-0, the dividing point falls between the 15th and 16th bits. This simplified the routing system during the early years of the Internet because the original routing protocols did not supply a "deciphering key" or "mask" with each route to identify the length of the network-prefix. Class A Networks (/8 Prefixes) Each Class A network address has an 8-bit network-prefix with the highest order bit set to 0 and a seven-bit network number, followed by a 24-bit host-number. Today, it is no longer considered 'modern' to refer to a Class A network. Class A networks are now referred to as "/8s" (pronounced "slash eight" or just "eights") since they have an 8-bit network-prefix. A maximum of 126 (27-2) /8 networks can be defined. The calculation requires that the 2 is subtracted because the /8 network 0.0.0.0 is reserved for use as the default route and the /8 network 127.0.0.0 (also written 127/8 or 127.0.0.0/8) has been reserved for the "loopback" function. Each /8 supports a maximum of 16,777,214 (224-2) hosts per network. The host calculation requires that 2 is subtracted because the all-0s ("this network") and all-1s ("broadcast") host-numbers may not be assigned to individual hosts. Since the /8 address block contains 231 (2,147,483,648 ) individual addresses and the IPv4 address space contains a maximum of 232 (4,294,967,296) addresses, the /8 address space is 50% of the total IPv4 unicast address space. Class B Networks (/16 Prefixes) Each Class B network address has a 16-bit network-prefix with the two highest order bits set to 1-0 and a 14-bit network number, followed by a 16-bit host-number. Class B networks are now referred to as"/16s" since they have a 16-bit network-prefix. A maximum of 16,384 (214) /16 networks can be defined with up to 65,534 (216-2) hosts per network. Since the entire /16 address block contains 230 (1,073,741,824) addresses, it represents 25% of the total IPv4 unicast address space. Class C Networks (/24 Prefixes) Each Class C network address has a 24-bit network-prefix with the three highest order bits set to 1-1-0 and a 21-bit network number, followed by an 8-bit host-number. Class C networks are now referred to as "/24s" since they have a 24-bit network-prefix. A maximum of 2,097,152 (221) /24 networks can be defined with up to 254 (28-2) hosts per network. Since the entire /24 address block contains 229 (536,870,912) addresses, it represents 12.5% (or 1/8th) of the total IPv4 unicast address space. Other Classes In addition to the three most popular classes, there are two additional classes. Class D addresses have their leading four-bits set to 1-1-1-0 and are used to support IP Multicasting. Class E addresses have their leading four-bits set to 1-1-1-1 and are reserved for experimental use. Dotted-Decimal Notation To make Internet addresses easier for human users to read and write, IP addresses are often expressed as four decimal numbers, each separated by a dot. This format is called "dotted-decimal notation." Dotted-decimal notation divides the 32-bit Internet address into four 8-bit (byte) fields and specifies the value of each field independently as a decimal number with the fields separated by dots. Figure 5 shows how a typical /16 (Class B) Internet address can be expressed in dotted decimal notation. 10 010001 00001010 00100010 00000011. . . 145.10.34.3 145 10 34 3 0 31bit # Figure 5: Dotted-Decimal Notation Table 1 displays the range of dotted-decimal values that can be assigned to each of the three principle address classes. The "xxx" represents the host-number field of the address which is assigned by the local network administrator. Table 1: Dotted-Decimal Ranges for Each Address Class A (/8 prefixes) B (/16 prefixes) C (/24 prefixes) 1.xxx.xxx.xxx through 126.xxx.xxx.xxx 128.0.xxx.xxx through 191.255.xxx.xxx Address Class Dotted-Decimal Notation Ranges 192.0.0.xxx through 223.255.255.xxx Unforeseen Limitations to Classful Addressing The original designers never envisioned that the Internet would grow into what it has become today. Many of the problems that the Internet is facing today can be traced back to the early decisions that were made during its formative years. - During the early days of the Internet, the seemingly unlimited address space allowed IP addresses to be allocated to an organization based on its request rather than its actual need. As a result, addresses were freely assigned to those who asked for them without concerns about the eventual depletion of the IP address space. - The decision to standardize on a 32-bit address space meant that there were only 232 (4,294,967,296) IPv4 addresses available. A decision to support a slightly larger address space would have exponentially increased the number of addresses thus eliminating the current address shortage problem. - The classful A, B, and C octet boundaries were easy to understand and implement, but they did not foster the efficient allocation of a finite address space. Problems resulted from the lack of a network class that was designed to support medium- sized organizations. A /24, which supports 254 hosts, is too small while a /16, which supports 65,534 hosts, is too large. In the past, the Internet has assigned sites with several hundred hosts a single /16 address instead of a couple of /24s addresses. Unfortunately, this has resulted in a premature depletion of the /16 network address space. The only readily available addresses for medium-size organizations are /24s which have the potentially negative impact of increasing the size of the global Internet's routing table. The subsequent history of Internet addressing is focused on a series of steps that overcome these addressing issues and have supported the growth of the global Internet. Additional Practice with Classful Addressing Please turn to Appendix B for practical exercises to further your understanding of Classful IP Addressing. The extended-network-prefix has traditionally been identified by the subnet mask. For example, if you have the /16 address of 130.5.0.0 and you want to use the entire third octet to represent the subnet-number, you need to specify a subnet mask of 255.255.255.0. The bits in the subnet mask and the Internet address have a one-to-one correspondence. The bits of the subnet mask are set to 1 if the system examining the address should treat the corresponding bit in the IP address as part of the extended- network-prefix. The bits in the mask are set to 0 if the system should treat the bit as part of the host-number. This is illustrated if Figure 9. IP Address: 130.5.5.25 10000010.00000101.00000101.00011001 Subnet Mask: 255.255.255.0 11111111.11111111.11111111.00000000 subnet- number host- number extended-network- prefix network-prefix Figure 9: Subnet Mask The standards describing modern routing protocols often refer to the extended-network- prefix-length rather than the subnet mask. The prefix length is equal to the number of contiguous one-bits in the traditional subnet mask. This means that specifying the network address 130.5.5.25 with a subnet mask of 255.255.255.0 can also be expressed as 130.5.5.25/24. The /<prefix-length> notation is more compact and easier to understand than writing out the mask in its traditional dotted-decimal format. This is illustrated in Figure 10. 130.5.5.25 10000010.00000101.00000101.00011001 255.255.255.0 11111111.11111111.11111111.00000000 24-bit extended- network-prefix 130.5.5.25/24 10000010.00000101.00000101.00011001 or Figure 10: Extended-Network-Prefix Length However, it is important to note that modern routing protocols still carry the subnet mask. There are no Internet standard routing protocols that have a one-byte field in their header that contains the number of bits in the extended-network prefix. Rather, each routing protocol is still required to carry the complete four-octet subnet mask. Subnet Design Considerations The deployment of an addressing plan requires careful thought on the part of the network administrator. There are four key questions that must be answered before any design should be undertaken: 1) How many total subnets does the organization need today? 2) How many total subnets will the organization need in the future? 3) How many hosts are there on the organization's largest subnet today? 4) How many hosts will there be on the organization's largest subnet in the future? The first step in the planning process is to take the maximum number of subnets required and round up to the nearest power of two. For example, if a organization needs 9 subnets, 23 (or 8) will not provide enough subnet addressing space, so the network administrator will need to round up to 24 (or 16). When performing this assessment, it is critical that the network administrator always allow adequate room for future growth. For example, if 14 subnets are required today, then 16 subnets might not be enough in two years when the 17th subnet needs to be deployed. In this case, it might be wise to allow for more growth and select 25 (or 32) as the maximum number of subnets. The second step is to make sure that there are enough host addresses for the organization's largest subnet. If the largest subnet needs to support 50 host addresses today, 25 (or 32) will not provide enough host address space so the network administrator will need to round up to 26 (or 64). The final step is to make sure that the organization's address allocation provides enough bits to deploy the required subnet addressing plan. For example, if the organization has a single /16, it could easily deploy 4-bits for the subnet-number and 6-bits for the host number. However, if the organization has several /24s and it needs to deploy 9 subnets, it may be required to subnet each of its /24s into four subnets (using 2 bits) and then build the internet by combining the subnets of 3 different /24 network numbers. An alternative solution, would be to deploy network numbers from the private address space (RFC 1918) for internal connectivity and use a Network Address Translator (NAT) to provide external Internet access. Subnet Example #1 Given An organization has been assigned the network number 193.1.1.0/24 and it needs to define six subnets. The largest subnet is required to support 25 hosts. Defining the Subnet Mask / Extended-Prefix Length The first step is to determine the number of bits required to define the six subnets. Since a network address can only be subnetted along binary boundaries, subnets must be created in blocks of powers of two [ 2 (21), 4 (22), 8 (23), 16 (24), etc. ]. Thus, it is impossible to define an IP address block such that it contains exactly six subnets. For this example, the network administrator must define a block of 8 (23) and have two unused subnets that can be reserved for future growth. Since 8 = 23, three bits are required to enumerate the eight subnets in the block. In this example, the organization is subnetting a /24 so it will need three more bits, or a /27, as the extended-network-prefix. A 27-bit extended-network-prefix can be expressed in dotted-decimal notation as 255.255.255.224. This is illustrated in Figure 11. 193.1.1.0/24 = 11000001.00000001.00000001.00000000 network-prefix extended-network-prefix 255.255.255.224 = 11111111.11111111.11111111.11100000 subnet- number bits host- number bits 27-bits Figure 11: Example #1 - Defining the Subnet Mask/Extended-Prefix Length A 27-bit extended-network-prefix leaves 5 bits to define host addresses on each subnet. This means that each subnetwork with a 27-bit prefix represents a contiguous block of 25 (32) individual IP addresses. However, since the all-0s and all-1s host addresses cannot be allocated, there are 30 (25 -2) assignable host addresses on each subnet. Defining Each of the Subnet Numbers The eight subnets will be numbered 0 through 7. Throughout the remainder of this paper, the XXX2 notation indicates the binary representation of the number. The 3-bit binary representation of the decimal values 0 through 7 are: 0 (0002), 1 (0012), 2 (0102), 3 (0112), 4 (1002), 5 (1012), 6 (1102), and 7 (1112). In general, to define Subnet #n, the network administrator places the binary representation of n into the bits of the subnet-number field. For example, to define Subnet #6, the network administrator simply places the binary representation of 6 (1102) into the 3-bits of the subnet-number field. NETBuilder software has taken a phased approach in its support for the deployment of the all-0s and all-1s subnets. Table 2 shows the NETBuilder software version number that first implemented the various features that support the deployment of these subnets. Table 2: NETBuilder Software Features Supporting the All-0s and All-1s Subnets Release Feature Supported 6.2 7.0.0.6 7.1 8.3.0.2 Permits a router interface to be configured with all-0s in the subnet field Permits a router interface to be configured with all-1s in the subnet field Correctly learns and forwards to routes with all-0s in the subnet field Correctly learns and forwards to routes with all-1s in the subnet field 7.2.1 Finally, the other routers in the organization's network need to be able to correctly interpret, learn, and forward traffic to other subnetworks with all-0s and all-1s in their subnet number field. Defining Host Addresses for Each Subnet According to Internet practices, the host-number field of an IP address cannot contain all 0-bits or all 1-bits. The all-0s host-number identifies the base network (or subnetwork) number, while the all-1s host-number represents the broadcast address for the network (or subnetwork). In our current example, there are 5 bits in the host-number field of each subnet address. This means that each subnet represents a block of 30 host addresses (25-2 = 30, note that the 2 is subtracted because the all-0s and the all-1s host addresses cannot be used). The hosts on each subnet are numbered 1 through 30. In general, to define the address assigned to Host #n of a particular subnet, the network administrator places the binary representation of n into the subnet's host-number field. For example, to define the address assigned to Host #15 on Subnet #2, the network administrator simply places the binary representation of 15 (011112) into the 5-bits of Subnet #2's host-number field. The valid host addresses for Subnet #2 in our example are given below. The underlined portion of each address identifies the extended-network-prefix, while the bold digits identify the 5-bit host-number field: Subnet #2: 11000001.00000001.00000001.010 00000 = 193.1.1.64/27 Host #1: 11000001.00000001.00000001.010 00001 = 193.1.1.65/27 Host #2: 11000001.00000001.00000001.010 00010 = 193.1.1.66/27 Host #3: 11000001.00000001.00000001.010 00011 = 193.1.1.67/27 Host #4: 11000001.00000001.00000001.010 00100 = 193.1.1.68/27 Host #5: 11000001.00000001.00000001.010 00101 = 193.1.1.69/27 . . Host #15: 11000001.00000001.00000001.010 01111 = 193.1.1.79/27 Host #16: 11000001.00000001.00000001.010 10000 = 193.1.1.80/27 . . Host #27: 11000001.00000001.00000001.010 11011 = 193.1.1.91/27 Host #28: 11000001.00000001.00000001.010 11100 = 193.1.1.92/27 Host #29: 11000001.00000001.00000001.010 11101 = 193.1.1.93/27 Host #30: 11000001.00000001.00000001.010 11110 = 193.1.1.94/27 The valid host addresses for Subnet #6 are given below. The underlined portion of each address identifies the extended-network-prefix, while the bold digits identify the 5-bit host-number field: Subnet #6: 11000001.00000001.00000001.110 00000 = 193.1.1.192/27 Host #1: 11000001.00000001.00000001.110 00001 = 193.1.1.193/27 Host #2: 11000001.00000001.00000001.110 00010 = 193.1.1.194/27 Host #3: 11000001.00000001.00000001.110 00011 = 193.1.1.195/27 Host #4: 11000001.00000001.00000001.110 00100 = 193.1.1.196/27 Host #5: 11000001.00000001.00000001.110 00101 = 193.1.1.197/27 . . Host #15: 11000001.00000001.00000001.110 01111 = 193.1.1.207/27 Host #16: 11000001.00000001.00000001.110 10000 = 193.1.1.208/27 . . Host #27: 11000001.00000001.00000001.110 11011 = 193.1.1.219/27 Host #28: 11000001.00000001.00000001.110 11100 = 193.1.1.220/27 Host #29: 11000001.00000001.00000001.110 11101 = 193.1.1.221/27 Host #30: 11000001.00000001.00000001.110 11110 = 193.1.1.222/27 Defining the Broadcast Address for Each Subnet The broadcast address for Subnet #2 is the all 1's host address or: 11000001.00000001.00000001.010 11111 = 193.1.1.95 Note that the broadcast address for Subnet #2 is exactly one less than the base address for Subnet #3 (193.1.1.96). This is always the case - the broadcast address for Subnet #n is one less than the base address for Subnet #(n+1). The broadcast address for Subnet #6 is simply the all 1's host address or: 11000001.00000001.00000001.110 11111 = 193.1.1.223 Again, the broadcast address for Subnet #6 is exactly one less than the base address for Subnet #7 (193.1.1.224). Subnet Example #2 Given An organization has been assigned the network number 140.25.0.0/16 and it needs to create a set of subnets that supports up to 60 hosts on each subnet. Defining the Subnet Mask / Extended-Prefix Length The first step is to determine the number of bits required to define 60 hosts on each subnet. Since a block of host address can only be assigned along binary boundaries, host address blocks can only be created in powers of two. This means that it is impossible to create a block that contains exactly 60 host addresses. To support 60 hosts, the network administrator must define a minimum address block of 62 (26-2) host addresses. However, this choice would only provide two unused host addresses on each subnet for future growth. Since this does not appear to be adequate to support additional growth, the network administrator elects to define a block of 126 (27-2) host addresses and has 66 addresses on each subnet for future growth. A block of 126 host addresses requires 7-bits in the host-number field. The next step is to determine the subnet mask/extended-prefix length. Since 7-bits of the 32-bit IP address are required for the host-number field, the extended-prefix must be a /25 (25 = 32-7). A 25-bit extended-network-prefix can be expressed in dotted-decimal notation as 255.255.255.128. This is illustrated in Figure 14. host-number bits 140.25.0.0/16 = 10001100.00011001.00000000.00000000 network-prefix extended-network-prefix 255.255.255.128 = 11111111.11111111.11111111.10000000 subnet-number bits 25-bits Figure 14: Example #2 - Defining the Subnet Mask/Extended-Prefix Length Figure 14 shows that the 25-bit extended-prefix assigns 9-bits to the subnet number field. Since 29 = 512, nine bits allow the definition of 512 subnets. Depending on the organization's requirements, the network administrator could have elected to assign additional bits to the host-number field (allowing more hosts on each subnet) and reduce the number of bits in the subnet-number field (decreasing the total number of subnets that can be defined). Although this example creates a rather large number of subnets, it provides an interesting example because it illustrates what happens to the dotted-decimal representation of a subnet address when the subnet-number bits extend across an octet boundary. It should be mentioned that the same type of confusion can also occur when the host-number bits extend across an octet boundary. Variable Length Subnet Masks (VLSM) In 1987, RFC 1009 specified how a subnetted network could use more than one subnet mask. When an IP network is assigned more than one subnet mask, it is considered a network with "variable length subnet masks" since the extended-network-prefixes have different lengths. RIP-1 Permits Only a Single Subnet Mask When using RIP-1, subnet masks have to be uniform across the entire network-prefix. RIP-1 allows only a single subnet mask to be used within each network number because it does not provide subnet mask information as part of its routing table update messages. In the absence of this information, RIP-1 is forced to make very simple assumptions about the mask that should be applied to any of its learned routes. How does a RIP-1 based router know what mask to apply to a route when it learns a new route from a neighbor? If the router has a subnet of the same network number assigned to a local interface, it assumes that the learned subnetwork was defined using the same mask as the locally configured interface. However, if the router does not have a subnet of the learned network number assigned to a local interface, the router has to assume that the network is not subnetted and applies the route's natural classful mask. Assuming that Port 1 of a router has been assigned the IP address 130.24.13.1/24 and that Port 2 has been assigned the IP address 200.14.13.2/24. If the router learns about network 130.24.36.0 from a neighbor, it applies a /24 mask since Port 1 is configured with another subnet of the 130.24.0.0 network. However, when the router learns about network 131.25.0.0 from a neighbor, it assumes a "natural" /16 mask since it has no other masking information available. How does a RIP-1 based router know if it should include the subnet-number bits in a routing table update to a RIP-1 neighbor? A router executing RIP-1 will only advertise the subnet-number bits on another port if the update port is configured with a subnet of the same network number. If the update port is configured with a different subnet or network number, the router will only advertise the network portion of the subnet route and "zero-out" the subnet-number field. For example, assume that Port 1 of a router has been assigned the IP address 130.24.13.1/24 and that Port 2 has been assigned the IP address 200.14.13.2/24. Also, assume that the router has learned about network 130.24.36.0 from a neighbor. Since Port 1 is configured with another subnet of the 130.24.0.0 network, the router assumes that network 130.24.36.0 has a /24 subnet mask. When it comes to advertise this route, it advertises 130.24.36.0 on Port 1, but it only advertises 130.24.0.0 on Port 2. For these reasons, RIP-1 is limited to only a single subnet mask for each network number. However, there are several advantages to be gained if more than one subnet mask can be assigned to a given IP network number: - Multiple subnet masks permit more efficient use of an organization's assigned IP address space. - Multiple subnet masks permit route aggregation which can significantly reduce the amount of routing information at the "backbone" level within an organization's routing domain. Efficient Use of the Organization's Assigned IP Address Space VLSM supports more efficient use of an organization's assigned IP address space. One of the major problems with the earlier limitation of supporting only a single subnet mask across a given network-prefix was that once the mask was selected, it locked the organization into a fixed-number of fixed-sized subnets. For example, assume that a network administrator decided to configure the 130.5.0.0/16 network with a /22 extended-network-prefix. host-number bits 130.5.0.0/22 = 10000010.00000101.00000000.00000000 network-prefix extended-network- prefix subnet-number bits Figure 15: 130.5.0.0/16 with a /22 Extended-Network Prefix Please refer to Figure 15. A /16 network with a /22 extended-network prefix permits 64 subnets (26), each of which supports a maximum of 1,022 hosts (210-2). This is fine if the organization wants to deploy a number of large subnets, but what about the occasional small subnet containing only 20 or 30 hosts? Since a subnetted network could have only a single mask, the network administrator was still required to assign the 20 or 30 hosts to a subnet with a 22-bit prefix. This assignment would waste approximately 1,000 IP host addresses for each small subnet deployed! Limiting the association of a network number with a single mask did not encourage the flexible and efficient use of an organization's address space. One solution to this problem was to allow a subnetted network to be assigned more than one subnet mask. Assume that in the previous example, the network administrator is also allowed to configure the 130.5.0.0/16 network with a /26 extended-network-prefix. Please refer to Figure 16. A /16 network address with a /26 extended-network prefix permits 1024 subnets (210), each of which supports a maximum of 62 hosts (26-2). The /26 prefix would be ideal for small subnets with less than 60 hosts, while the /22 prefix is well suited for larger subnets containing up to 1000 hosts. host-number bits 130.5.0.0/26 = 10000010.00000101.00000000.00000000 network-prefix extended-network-prefix subnet-number bits Figure 16: 130.5.0.0/16 with a /26 Extended-Network Prefix Route Aggregation VLSM also allows the recursive division of an organization's address space so that it can be reassembled and aggregated to reduce the amount of routing information at the top level. Conceptually, a network is first divided into subnets, some of the subnets are further divided into sub-subnets, and some of the sub-subnets are divided into sub2- subnets. This allows the detailed structure of routing information for one subnet group to be hidden from routers in another subnet group. 11.0.0.0./8 11.1.0.0/16 11.2.0.0/16 11.3.0.0/16 11.252.0.0/16 11.253.0.0/16 11.254.0.0/16 11.1.1.0/24 11.1.2.0/24 11.1.253.0/24 11.1.254.0/24 11.253.32.0/19 11.253.64.0/19 11.253.160.0/19 11.253.192.0/19 11.1.253.32/27 11.1.253.64/27 11.1.253.160/27 11.1.253.192/27 Figure 17: VLSM Permits the Recursive Division of a Network Prefix In Figure 17, the 11.0.0.0/8 network is first configured with a /16 extended-network- prefix. The 11.1.0.0/16 subnet is then configured with a /24 extended-network-prefix and the 11.253.0.0/16 subnet is configured with a /19 extended-network-prefix. Note that the recursive process does not require that the same extended-network-prefix be assigned at each level of the recursion. Also, the recursive sub-division of the organization's address space can be carried out as far as the network administrator needs to take it. Forwarding Algorithm is Based on the "Longest Match" All routers must implement a consistent forwarding algorithm based on the "longest match" algorithm. The deployment of VLSM means that the set of networks associated with extended-network-prefixes may manifest a subset relationship. A route with a longer extended-network-prefix describes a smaller set of destinations than the same route with a shorter extended-network-prefix. As a result, a route with a longer extended-network-prefix is said to be "more specific" while a route with a shorter extended-network-prefix is said to be "less specific." Routers must use the route with the longest matching extended-network-prefix (most specific matching route) when forwarding traffic. For example, if a packet's destination IP address is 11.1.2.5 and there are three network prefixes in the routing table (11.1.2.0/24, 11.1.0.0/16, and 11.0.0.0/8), the router would select the route to 11.1.2.0/24. The 11.1.2.0/24 route is selected because its prefix has the greatest number of corresponding bits in the Destination IP address of the packet. This is illustrated in Figure 19. Destination 11.1.2.5 = 00001011.00000001.00000010.00000101 Route #3 11.0.0.0/8 = 00001011.00000000.00000000.00000000 Route #2 11.1.0.0/16 = 00001011.00000001.00000000.00000000 Route #1 11.1.2.0/24 = 00001011.00000001.00000010.00000000* Figure 19: Best Match is with the Route Having the Longest Prefix (Most Specific) There is a very subtle but extremely important issue here. Since the destination address matches all three routes, it must be assigned to a host which is attached to the 11.1.2.0/24 subnet. If the 11.1.2.5 address is assigned to a host that is attached to the 11.1.0.0/16 or 11.0.0.0/8 subnet, the routing system will never route traffic to the host since the "longest match algorithm" assumes that the host is part of the 11.1.2.0/24 subnet. This means that great care must be taken when assigning host addresses to make sure that every host is reachable! Topologically Significant Address Assignment Since OSPF and I-IS-IS convey the extended-network-prefix information with each route, the VLSM subnets can be scattered throughout an organization's topology. However, to support hierarchical routing and reduce the size of an organization's routing tables, addresses should be assigned so that they are topologically significant. Hierarchical routing requires that addresses be assigned to reflect the actual network topology. This reduces the amount of routing information by taking the set of addresses assigned to a particular region of the topology, and aggregating them into a single routing advertisement for the entire set. Hierarchical routing allows this to be done recursively at various points within the hierarchy of the routing topology. If addresses do not have a topological significance, aggregation cannot be performed and the size of the routing tables cannot be reduced. Remember this point when we discuss CIDR aggregation later in this paper. VLSM Example Given An organization has been assigned the network number 140.25.0.0/16 and it plans to deploy VLSM. Figure 20 provides a graphic display of the VLSM design for the organization. 140.25.0.0/16 0 1 2 3 12 13 14 15 0 1 30 31 0 1 14 15 0 1 6 7 Figure 20: Address Strategy for VLSM Example The first step of the subnetting process divides the base network address into 16 equal- sized address blocks. Then Subnet #1 is divided it into 32 equal-sized address blocks and Subnet #14 is divided into 16 equal-sized address blocks. Finally, Subnet #14-14 is divided into 8 equal-sized address blocks. Define the 16 Subnets of 140.25.0.0/16 The first step in the subnetting process divides the base network address into 16 equal- size address blocks. This is illustrated in Figure 21. 140.25.0.0/16 0 1 2 3 12 13 14 15 0 1 30 31 0 1 14 15 0 1 6 7 Figure 21: Define the 16 Subnets for 140.25.0.0/16 Since 16 = 24, four bits are required to uniquely identify each of the 16 subnets. This means that the organization needs four more bits, or a /20, in the extended-network- prefix to define the 16 subnets of 140.25.0.0/16. Each of these subnets represents a contiguous block of 212 (or 4,096) network addresses. The 16 subnets of the 140.25.0.0/16 address block are given below. The subnets are numbered 0 through 15. The underlined portion of each address identifies the extended- network-prefix, while the bold digits identify the 4-bits representing the subnet-number field: Base Network: 10001100.00011001 .00000000.00000000 = 140.25.0.0/16 Subnet #0: 10001100.00011001. 0000 0000.00000000 = 140.25.0.0/20 Subnet #1: 10001100.00011001. 0001 0000.00000000 = 140.25.16.0/20 Subnet #2: 10001100.00011001. 0010 0000.00000000 = 140.25.32.0/20 Subnet #3: 10001100.00011001. 0011 0000.00000000 = 140.25.48.0/20 Subnet #4: 10001100.00011001. 0100 0000.00000000 = 140.25.64.0/20 : : Subnet #13: 10001100.00011001. 1101 0000.00000000 = 140.25.208.0/20 Subnet #14: 10001100.00011001. 1110 0000.00000000 = 140.25.224.0/20 Subnet #15: 10001100.00011001. 1111 0000.00000000 = 140.25.240.0/20 Define the Host Addresses for Subnet #3 (140.25.48.0/20) Let's examine the host addresses that can be assigned to Subnet #3 (140.25.48.0/20). This is illustrated in Figure 22. 140.25.0.0/16 0 1 2 3 12 13 14 15 0 1 30 31 0 1 14 15 0 1 6 7 Figure 22: Define the Host Addresses for Subnet #3 (140.25.48.0/20) Since the host-number field of Subnet #3 contains 12 bits, there are 4,094 valid host addresses (212-2) in the address block. The hosts are numbered 1 through 4,094. The valid host addresses for Subnet #3 are given below. The underlined portion of each address identifies the extended-network-prefix, while the bold digits identify the 12-bit host-number field: Subnet #3: 10001100.00011001.0011 0000.00000000 = 140.25.48.0/20 Host #1: 10001100.00011001.0011 0000.00000001 = 140.25.48.1/20 Host #2: 10001100.00011001.0011 0000.00000010 = 140.25.48.2/20 Host #3: 10001100.00011001.0011 0000.00000011 = 140.25.48.3/20 : : Host #4093: 10001100.00011001.0011 1111.11111101 = 140.25.63.253/20 Host #4094: 10001100.00011001.0011 1111.11111110 = 140.25.63.254/20 Define the Sub2-Subnets for Subnet #14-14 (140.25.238.0/24) After Subnet #14 was divided into sixteen subnets, Subnet #14-14 is further subdivided into 8 equal-size address blocks. This is illustrated in Figure 25. 140.25.0.0/16 0 1 2 3 12 13 14 15 0 1 30 31 0 1 14 15 0 1 6 7 Figure 25: Define the Sub2-Subnets for Subnet #14-14 (140.25.238.0/24) Since 8 = 23, three more bits are required to identify each of the 8 subnets. This means that the organization will need to use a /27 as the extended-network-prefix length. The 8 subnets of the 140.25.238.0/24 address block are given below. The subnets are numbered 0 through 7. The underlined portion of each sub-subnet address identifies the extended-network-prefix, while the bold digits identify the 3-bits representing the subnet2-number field: Subnet #14-14: 10001100.00011001.11101110 .00000000 = 140.25.238.0/24 Subnet#14-14-0: 10001100.00011001.11101110. 000 00000 = 140.25.238.0/27 Subnet#14-14-1: 10001100.00011001.11101110. 001 00000 = 140.25.238.32/27 Subnet#14-14-2: 10001100.00011001.11101110. 010 00000 = 140.25.238.64/27 Subnet#14-14-3: 10001100.00011001.11101110. 011 00000 = 140.25.238.96/27 Subnet#14-14-4: 10001100.00011001.11101110. 100 00000 = 140.25.238.128/27 Subnet#14-14-5: 10001100.00011001.11101110. 101 00000 = 140.25.238.160/27 Subnet#14-14-6: 10001100.00011001.11101110. 110 00000 = 140.25.238.192/27 Subnet#14-14-7: 10001100.00011001.11101110. 111 00000 = 140.25.238.224/27 Define Host Addresses for Subnet #14-14-2 (140.25.238.64/27) Let's examine the host addresses that can be assigned to Subnet #14-14-2 (140.25.238.64/27). This is illustrated in Figure 26. 140.25.0.0/16 0 1 2 3 12 13 14 15 0 1 30 31 0 1 14 15 0 1 6 72 Figure 26: Define the Host Addresses for Subnet #14-14-2 (140.25.238.64/27) Each of the subnets of Subnet #14-14 has 5 bits in the host-number field. This means that each subnet represents a block of 30 valid host addresses (25-2). The hosts will be numbered 1 through 30. The valid host addresses for Subnet #14-14-2 are given below. The underlined portion of each address identifies the extended-network-prefix, while the bold digits identify the 5-bit host-number field: Subnet#14-14-2: 10001100.00011001.11101110.010 00000 = 140.25.238.64/27 Host #1 10001100.00011001.11101110.010 00001 = 140.25.238.65/27 Host #2 10001100.00011001.11101110.010 00010 = 140.25.238.66/27 Host #3 10001100.00011001.11101110.010 00011 = 140.25.238.67/27 Host #4 10001100.00011001.11101110.010 00100 = 140.25.238.68/27 Host #5 10001100.00011001.11101110.010 00101 = 140.25.238.69/27 . . Host #29 10001100.00011001.11101110.010 11101 = 140.25.238.93/27 Host #30 10001100.00011001.11101110.010 11110 = 140.25.238.94/27 The broadcast address for Subnet #14-14-2 is the all 1's host address or: 10001100.00011001.11011100.010 11111 = 140.25.238.95 The broadcast address for Subnet #6-14-2 is exactly one less than the base address for Subnet #14-14-3 (140.25.238.96). Additional Practice with VLSM Please turn to Appendix D for practice exerciss to reinforce your understanding of VLSM. Classless Inter-Domain Routing (CIDR) By 1992, the exponential growth of the Internet was beginning to raise serious concerns among members of the IETF about the ability of the Internet's routing system to scale and support future growth. These problems were related to: - The near-term exhaustion of the Class B network address space - The rapid growth in the size of the global Internet's routing tables - The eventual exhaustion of the 32-bit IPv4 address space Projected Internet growth figures made it clear that the first two problems were likely to become critical by 1994 or 1995. The response to these immediate challenges was the development of the concept of Supernetting or Classless Inter-Domain Routing (CIDR). The third problem, which is of a more long-term nature, is currently being explored by the IP Next Generation (IPng or IPv6) working group of the IETF. CIDR was officially documented in September 1993 in RFC 1517, 1518, 1519, and 1520. CIDR supports two important features that benefit the global Internet routing system: - CIDR eliminates the traditional concept of Class A, Class B, and Class C network addresses. This enables the efficient allocation of the IPv4 address space which will allow the continued growth of the Internet until IPv6 is deployed. - CIDR supports route aggregation where a single routing table entry can represent the address space of perhaps thousands of traditional classful routes. This allows a single routing table entry to specify how to route traffic to many individual network addresses. Route aggregation helps control the amount of routing information in the Internet's backbone routers, reduces route flapping (rapid changes in route availability), and eases the local administrative burden of updating external routing information. Without the rapid deployment of CIDR in 1994 and 1995, the Internet routing tables would have in excess of 70,000 routes (instead of the current 30,000+) and the Internet would probably not be functioning today! CIDR Promotes the Efficient Allocation of the IPv4 Address Space CIDR eliminates the traditional concept of Class A, Class B, and Class C network addresses and replaces them with the generalized concept of a "network-prefix." Routers use the network-prefix, rather than the first 3 bits of the IP address, to determine the dividing point between the network number and the host number. As a result, CIDR supports the deployment of arbitrarily sized networks rather than the standard 8-bit, 16- bit, or 24-bit network numbers associated with classful addressing. In the CIDR model, each piece of routing information is advertised with a bit mask (or prefix-length). The prefix-length is a way of specifying the number of leftmost contiguous bits in the network-portion of each routing table entry. For example, a CIDR Address Allocation Example For this example, assume that an ISP owns the address block 200.25.0.0/16. This block represents 65, 536 (216) IP addresses (or 256 /24s). From the 200.25.0.0/16 block it wants to allocate the 200.25.16.0/20 address block . This smaller block represents 4,096 (212) IP addresses (or 16 /24s). Address Block 11001000.00011001.0001 0000.00000000 200.25.16.0/20 In a classful environment, the ISP is forced to use the /20 as 16 individual /24s. Network #0 11001000.00011001.0001 0000 .00000000 200.25.16.0/24 Network #1 11001000.00011001.0001 0001 .00000000 200.25.17.0/24 Network #2 11001000.00011001.0001 0010 .00000000 200.25.18.0/24 Network #3 11001000.00011001.0001 0011 .00000000 200.25.19.0/24 Network #4 11001000.00011001.0001 0100 .00000000 200.25.20.0/24 : : Network #13 11001000.00011001.0001 1101 .00000000 200.25.29.0/24 Network #14 11001000.00011001.0001 1110 .00000000 200.25.30.0/24 Network #15 11001000.00011001.0001 1111 .00000000 200.25.31.0/24 If you look at the ISP's /20 address block as a pie, in a classful environment it can only be cut into 16 equal-size pieces. This is illustrated in Figure 29. 200.25.16.0/24 200.25.17.0/24 200.25.18.0/24 200.25.19.0/24 200.25.20.0/24 200.25.21.0/24 200.25.22.0/24 200.25.23.0/24 200.25.31.0/24 200.25.30.0/24 200.25.29.0/24 200.25.28.0/24 200.25.27.0/24 200.25.26.0/24 200.25.25.0/24 200.25.24.0/24 14 13 12 11 10 9 7 6 5 4 3 2 1 0 8 15 Figure 29: Slicing the Pie - Classful Environment However, in a classless environment, the ISP is free to cut up the pie any way it wants. It could slice up the original pie into 2 pieces (each 1/2 of the address space) and assign one portion to Organization A, then cut the other half into 2 pieces (each 1/4 of the address space) and assign one piece to Organization B, and finally slice the remaining fourth into 2 pieces (each 1/8 of the address space) and assign it to Organization C and Organization D. Each of the individual organizations is free to allocate the address space within its "Intranetwork" as it sees fit. This is illustrated in Figure 30. 200.25.24.0/22 200.25.28.0/23 200.25.30.0/23 200.25.16.0/21A B C D Figure 30: Slicing the Pie - Classless Environment Step #1: Divide the address block 200.25.16.0/20 into two equal size slices. Each block represents one-half of the address space or 2,048 (211) IP addresses. ISP's Block 11001000.00011001.0001 0000.00000000 200.25.16.0/20 Org A: 11001000.00011001.0001 0000.00000000 200.25.16.0/21 Reserved: 11001000.00011001.0001 1000.00000000 200.25.24.0/21 Step #2: Divide the reserved block (200.25.24.0/21) into two equal size slices. Each block represents one-fourth of the address space or 1,024 (210) IP addresses. Reserved 11001000.00011001.00011 000.00000000 200.25.24.0/21 Org B: 11001000.00011001.00011 000.00000000 200.25.24.0/22 Reserved 11001000.00011001.00011 100.00000000 200.25.28.0/22 Step #3: Divide the reserved address block (200.25.28.0/22) into two equal size blocks. Each block represents one-eight of the address space or 512 (29) IP addresses. Reserved 11001000.00011001.000111 00.00000000 200.25.28.0/22 Org C: 11001000.00011001.000111 00.00000000 200.25.28.0/23 Org D: 11001000.00011001.000111 10.00000000 200.25.30.0/23 CIDR is Similar to VLSM If CIDR appears to have the familiar look and feel of VLSM, you're correct! CIDR and VLSM are essentially the same thing since they both allow a portion of the IP address space to be recursively divided into subsequently smaller pieces. The difference is that with VLSM, the recursion is performed on the address space previously assigned to an organization and is invisible to the global Internet. CIDR, on the other hand, permits the recursive allocation of an address block by an Internet Registry to a high-level ISP, to a mid-level ISP, to a low-level ISP, and finally to a private organization's network. Just like VLSM, the successful deployment of CIDR has three prerequisites: - The routing protocols must carry network-prefix information with each route advertisement. - All routers must implement a consistent forwarding algorithm based on the "longest match." - For route aggregation to occur, addresses must be assigned so that they are topologically significant. Controlling the Growth of Internet's Routing Tables Another important benefit of CIDR is that it plays an important role in controlling the growth of the Internet's routing tables. The reduction of routing information requires that the Internet be divided into addressing domains. Within a domain, detailed information is available about all of the networks that reside in the domain. Outside of an addressing domain, only the common network prefix is advertised. This allows a single routing table entry to specify a route to many individual network addresses. 200.25.0.0./16 The Internet Organization A Organization D Organization B Organization C 200.25.16.0/20 200.25.16.0/21 200.25.24.0/22 200.25.28.0/23 200.25.30.0/23 200.25.28.0/24 200.25.29.0/24 200.25.30.0/24 200.25.31.0/24 200.25.24.0/24 200.25.25.0/24 200.25.26.0/24 200.25.27.0/24 200.25.16.0/24 200.25.17.0/24 200.25.18.0/24 200.25.19.0/24 200.25.20.0/24 200.25.21.0/24 200.25.22.0/24 220.25.23.0/24 Internet Service Provider Figure 31: CIDR Reduces the Size of Internet Routing Tables Figure 31 illustrates how the allocation described in previous CIDR example helps reduce the size of the Internet routing tables. Assume that a portion of the ISPs address block (200.25.16.0/20) has been allocated as described in the previous example. Organization A aggregates 8 /24s into a single advertisement (200.25.16.0/21), Organization B aggregates 4 /24s into a single advertisement (200.25.24.0/22), Organization C aggregates 2 /24s into a single advertisement (200.25.28.0/23), and Additional Practice with CIDR Please turn to Appendix E for several practice exercises to reinforce your understanding of CIDR. New Solutions for Scaling the Internet Address Space As we approach the turn of the century, the problems of IPv4 address shortages and expanding Internet routing tables are still with us. The good news is that CIDR is working. The bad news is that recent growth trends indicate that the number of Internet routes is beginning to, once again, increase at an exponential rate. The Internet must find a way to keep the routing table growth linear. The IETF is continuing its efforts to develop solutions that will overcome these problems, enabling the continued growth and scalability of the Internet. Appeal to Return Unused IP Network Prefixes RFC 1917 requests that the Internet community return unused address blocks to the Internet Assigned Numbers Authority (IANA) for redistribution. This includes unused network numbers, addresses for networks that will never be connected to the global Internet for security reasons, and sites that are using a small percentage of their address space. RFC 1917 also petitions ISPs to return unused network-prefixes that are outside of their assigned address blocks. It will be interesting to see how the Internet community responds since many organizations with unused addresses don't want to return them because they are viewed as an asset. Address Allocation for Private Internets RFC 1918 requests that organizations make use of the private Internet address space for hosts that require IP connectivity within their enterprise network, but do not require external connections to the global Internet. For this purpose, the IANA has reserved the following three address blocks for private internets: 10.0.0.0 - 10.255.255.255 (10/8 prefix) 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) 192.168.0.0 - 192.168.255.255 (192.168/16 prefix) Any organization that elects to use addresses from these reserved blocks can do so without contacting the IANA or an Internet registry. Since these addresses are never injected into the global Internet routing system, the address space can simultaneously be used by many different organizations. The disadvantage to this addressing scheme is that it requires an organization to use a Network Address Translator (NAT) for global Internet access. However, the use of the private address space and a NAT make it much easier for clients to change their ISP without the need to renumber or "punch holes" in a previously aggregated advertisement. The benefits of this addressing scheme to the Internet is that it reduces the demand for IP addresses so large organizations may require only a small block of the globally unique IPv4 address space. Address Allocation from the Reserved Class A Address Space An Internet draft, "Observations on the use of Components of the Class A Address Space within the Internet" <draft-ietf-cidrd-classa-01.txt>, explores the allocation of the upper-half of the currently reserved Class A address space through delegated registries. As the demand for IP addresses continues to grow, it appears that it may be necessary to eventually allocate the 64.0.0.0/2 address space. Note that the 64.0.0.0/2 address block is huge and represents 25% of the IPv4 unicast address space. Implications of Address Allocation Policies An Internet draft , "Implications of Various Address Allocation Policies for Internet Routing" <draft-ietf-cidrd-addr-ownership-07.txt>, discusses the fundamental issues that must be considered as the Internet develops a new unicast address allocation and management policies. The draft compares the benefits and limitations of an "address ownership" policy with an "address lending" policy. "Address ownership" means that when an address block is assigned to an organization, it remains allocated to that organization for as long as the organization wants to keep it. This means that the address block is "portable" and that the organization would be able to use it to gain access to the Internet no matter where the organization connects to the Internet. On the other hand, "address lending" means that an organization obtains its address block on a "loan" basis. If the loan ends, the organization can no longer use the borrowed address block, must obtain new addresses, and renumber before using them. As we have seen, hierarchical routing requires that addresses reflect the network topology in order to permit route aggregation. The draft argues that there are two fundamental problems that break the hierarchical addressing and routing model supported by CIDR: - The continued existence of pre-CIDR routes that cannot be aggregated. - Organizations that switch ISPs and continue to use addresses from their previous ISP's address block. The new ISP cannot aggregate the old address block as part of its aggregation, so it must inject an exception route into the Internet. If the number of exception routes continues to increases, they will erode the benefits of CIDR and prevent the scalability of the Internet's routing system. The draft concludes with the recommendation that large providers, which can express their destinations with a single prefix, be assigned address blocks following the "address ownership" model. However, all allocations from these providers to a downstream clients should follow the "address lending" model. This means that if an organization changes its provider, the loan is canceled and the client will be required to renumber. This draft has generated a tremendous amount of discussion within the Internet community about the concept of address ownership and what it means in the context of global routing. The authors present a strong argument that the Internet has to make a choice between either address ownership for all or a routable Internet - it can't have both! Smaller organizations that want to own their addresses have concerns about the difficulty of renumbering and their lack of self-determination if their provider or their provider's upstream provider changes its provider. Finally, ISPs have concerns because the term "large provider" has not been defined. At this time, the discussion continues since any criteria recommended by the IETF is bound to be perceived as unfair by some! Procedures for Internet/Enterprise Renumbering (PIER) In the face of the "address ownership" vs. "address lending" debate, it is clear that renumbering may become a critical issue in the late 1990s. Procedures for Internet/Enterprise Renumbering (PIER) is a working group of the IETF charged with the task of developing a renumbering strategy. RFC 1916 is a request by PIER for the Internet community to provide assistance in the development of a series of documents describing how an organization might proceed to renumber its network. The ultimate goal of these documents is to provide education and practical experience to the Internet community. Market-Based Allocation of IP Address Blocks An Internet draft ,"Suggestions for Market-Based Allocation of IP Address Blocks" <draft-ietf-cidrd-blocks-00.txt>, is a proposal to make IPv4 address assignments transferable and condones the exchange of money as part of the transfer procedure. It suggests that the Internet community embrace the profit motive as an incentive to motivate organizations to act in ways that will improve resource use. This proposal goes hand-in-hand with another proposal to introduce financial incentives for route aggregation (i.e., have ISPs levy a charge for each route advertised). The idea is to move the decisions regarding scarce resources from a political atmosphere to a financial environment which is better suited to deal with scarcity. Keeping Current on Internet Addressing Issues General Internet Information Internet Monthly Reports discuss the accomplishments, milestones, and problems discovered on the Internet. They are available from: <http://info.internet.isi.edu/1/in- notes/imr> Minutes of the most recent IETF Proceedings are available from: <http://www.ietf.cnri. reston.va.us/proceedings/directory.html> Information about the size and content of the Internet routing table is available on the Merit Web pages: <http://www.ra.net/~ra/statistics/routes.html> CIDR Deployment (CIDRD) For general information about the CIDRD working group of the IETF and its charter: <http://www.ietf.cnri.reston.va.us/html.charters/cidrd-charter.html> To subscribe to the CIDRD mailing list: <cidrd-request@iepg.org> 1724 G. Malkin, F. Baker, "RIP Version 2 MIB Extension", 11/15/1994. (Pages=18) (Obsoletes RFC1389) 1812 F. Baker, "Requirements for IP Version 4 Routers", 06/22/1995. (Pages=175) (Obsoletes RFC1716) 1900 B. Carpenter, Y. Rekhter, "Renumbering Needs Work", 02/28/1996. (Pages=4) 1916 H. Berkowitz, P. Ferguson, W. Leland, P. Nesser, "Enterprise Renumbering: Experience and Information Solicitation", 02/28/1996. (Pages=8) 1917 P. Nesser, "An Appeal to the Internet Community to Return Unused IP Network (Prefixes) to the IANA", 02/29/1996. (Pages=10) 1918 Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear, , "Address Allocation for Private Internets", 02/29/1996. (Pages=9) (Obsoletes RFC1627) Internet Drafts Internet Drafts are available on the WWW from: <http://www.ietf.cnri.reston.va.us/1id- abstracts.html> "Suggestions for Market-Based Allocation of IP Address Blocks", <draft-ietf-cidrd- blocks-00.txt>, P. Resnick, 02/23/1996. (24590 bytes) "Observations on the use of Components of the Class A Address Space within the Internet", <draft-ietf-cidrd-classa-01.txt>, G.Huston, 12/22/1995. (21347 bytes) Classless in-addr.arpa delegation", <draft-ietf-cidrd-classless-inaddr-00.txt>, H. Eidnes, G. de Groot, 01/18/1996. (13224 bytes) "Implications of Various Address Allocation Policies for Internet Routing", <draft-ietf- cidrd-addr-ownership-07.txt>, Y. Rekhter, T. Li, 01/15/1996. (34866 bytes) "Suggestions for Market-Based Allocation of IP Address Blocks", <draft-ietf-cidrd- blocks-00.txt>, P. Resnick, 02/23/1996. (24590 bytes) Textbooks Comer, Douglas E. Internetworking with TCP/IP Volume 1 Principles, Protocols, and Architecture Second Edition, Prentice Hall, Inc. Englewood Cliffs, New Jersey, 1991 Huitema, Christian. Routing in the Internet, Prentice Hall, Inc. Englewood Cliffs, New Jersey, 1995 Stevens, W. Richard. TCP/IP Illustrated: Volume 1 The Protocols, Addison Wesley Publishing Company, Reading MA, 1994 Wright, Gary and W. Richard Stevens. TCP/IP Illustrated: Volume 2 The Implementation, Addison Wesley Publishing Company, Reading MA, 1995 Appendix B - Classful IP Addressing Practice Exercises 1. Complete the following table which provides practice in converting a number from binary notation to decimal format. Binary 128 64 32 16 8 4 2 1 Decimal 11001100 10101010 11100011 10110011 00110101 1 1 0 0 1 1 0 0 128+64+8+4 = 204 2. Complete the following table which provides practice in converting a number from decimal notation to binary format. Binary128 64 32 16 8 4 2 1Decimal 48 222 119 135 60 110 0 0 0 0 0 48=32+16=00110000 2 3. Express 145.32.59.24 in binary format and identify the address class: __________________________________________________________________ 4. Express 200.42.129.16 in binary format and identify the address class: __________________________________________________________________ 5. Express 14.82.19.54 in binary format and identify the address class: __________________________________________________________________ Solutions to Classful IP Addressing Practice Exercises 1. Complete the following table which provides practice in converting a number from binary notation to decimal format. Binary 128 64 32 16 8 4 2 1 Decimal 11001100 10101010 11100011 10110011 00110101 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 10 0 0 1 1 1 1 10 0 0 0 0 0 01 1 1 1 204 170 227 179 53 2. Complete the following table which provides practice in converting a number from decimal notation to binary format. Binary128 64 32 16 8 4 2 1Decimal 48 222 119 135 60 0011 0000 1101 1110 0111 0111 1000 0111 0011 1100 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0000 0 0 0 0 3. Express 145.32.59.24 in binary format and identify the classful prefix length. 10010001.00100000.00111011.00011000 /16 or Class B 4. Express 200.42.129.16 in binary format and identify the classful prefix length. 11001000.00101010.10000001.00010000 /24 or Class C 5. Express 14.82.19.54 in binary format and identify the classful prefix length. 00001110.01010010. 00010011.00110110 /8 or Class A __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ 6. What is the broadcast address for subnet 200.35.1.192/27? __________________________________________________________________ Solution for Subnetting Exercise #1 Assume that you have been assigned the 132.45.0.0/16 network block. You need to establish 8 subnets. 1. Three binary digits are required to define the eight subnets. 2. Specify the extended-network-prefix that allows the creation of 8 subnets. /19 or 255.255.224.0 3. Express the subnets in binary format and dotted decimal notation: Subnet #0: 10000100.00101101. 000 00000.00000000 = 132.45.0.0/19 Subnet #1: 10000100.00101101. 001 00000.00000000 = 132.45.32.0/19 Subnet #2: 10000100.00101101. 010 00000.00000000 = 132.45.64.0/19 Subnet #3: 10000100.00101101. 011 00000.00000000 = 132.45.96.0/19 Subnet #4: 10000100.00101101. 100 00000.00000000 = 132.45.128.0/19 Subnet #5: 10000100.00101101. 101 00000.00000000 = 132.45.160.0/19 Subnet #6: 10000100.00101101. 110 00000.00000000 = 132.45.192.0/19 Subnet #7: 10000100.00101101. 111 00000.00000000 = 132.45.224.0/19 4. List the range of host addresses that can be assigned to Subnet #3 (132.45.96.0/19). Subnet #3: 10000100.00101101.011 00000.00000000 = 132.45.96.0/19 Host #1: 10000100.00101101.011 00000.00000001 = 132.45.96.1/19 Host #2: 10000100.00101101.011 00000.00000010 = 132.45.96.2/19 Host #3: 10000100.00101101.011 00000.00000011 = 132.45.96.3/19 : Host #8190: 10000100.00101101.011 11111.11111110 = 132.45.127.254/19 4. What is the broadcast address for Subnet #3 (132.45.96.0/19)? 10000100.00101101.011 11111.11111111 = 132.45.127.255/19 Solution for Subnetting Exercise #2 1. Assume that you have been assigned the 200.35.1.0/24 network block. Define an extended-network-prefix that allows the creation of 20 hosts on each subnet. A minimum of five bits are required to define 20 hosts so the extended-network- prefix is a /27 (27 = 32-5). 2. What is the maximum number of hosts that can be assigned to each subnet? The maximum number of hosts on each subnet is 2 5 -2, or 30. 3. What is the maximum number of subnets that can be defined? The maximum number of subnets is 2 3 , or 8. 4. Specify the subnets of 200.35.1.0/24 in binary format and dotted decimal notation. Subnet #0: 11001000.00100011.00000001. 000 00000 = 200.35.1.0/27 Subnet #1: 11001000.00100011.00000001. 001 00000 = 200.35.1.32/27 Subnet #2: 11001000.00100011.00000001. 010 00000 = 200.35.1.64/27 Subnet #3: 11001000.00100011.00000001. 011 00000 = 200.35.1.96/27 Subnet #4: 11001000.00100011.00000001. 100 00000 = 200.35.1.128/27 Subnet #5: 11001000.00100011.00000001. 101 00000 = 200.35.1.160/27 Subnet #6: 11001000.00100011.00000001. 110 00000 = 200.35.1.192/27 Subnet #7: 11001000.00100011.00000001. 111 00000 = 200.35.1.224/27 5. List range of host addresses that can be assigned to Subnet #6 (200.35.1.192/27) Subnet #6: 11001000.00100011.00000001. 110 00000 = 200.35.1.192/27 Host #1: 11001000.00100011.00000001.110 00001 = 200.35.1.193/27 Host #2: 11001000.00100011.00000001.110 00010 = 200.35.1.194/27 Host #3: 11001000.00100011.00000001.110 00011 = 200.35.1.195/27 : Host #29: 11001000.00100011.00000001.110 11101 = 200.35.1.221/27 Host #30: 11001000.00100011.00000001.110 11110 = 200.35.1.222/27 6. What is the broadcast address for subnet 200.35.1.192/27? 11001000.00100011.00000001.110 11111 = 200.35.1.223 Appendix D - VLSM Example VLSM Exercise Given An organization has been assigned the network number 140.25.0.0/16 and it plans to deploy VLSM. Figure C-1 provides a graphic display of the VLSM design for the organization. 140.25.0.0/16 0 1 2 3 4 5 6 7 0 1 30 31 0 1 14 15 0 1 6 7 Figure C-1: Address Strategy for VLSM Example To arrive at this design, the first step of the subnetting process divides the base network address into 8 equal-sized address blocks. Then Subnet #1 is divided it into 32 equal- sized address blocks and Subnet #6 is divided into 16 equal-sized address blocks. Finally, Subnet #6-14 is divided into 8 equal-sized address blocks. 1. Specify the eight subnets of 140.25.0.0/16: #0 ________________________________________________________________ #1 ________________________________________________________________ #2 ________________________________________________________________ #3 ________________________________________________________________ #4 ________________________________________________________________ #5 ________________________________________________________________ #6 ________________________________________________________________ #7 ________________________________________________________________ 8. List the host addresses that can be assigned to Subnet #6-14-2 (140.25.220.128/26): __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ 9. Identify the broadcast address for Subnet #6-14-2 (140.25.220.128/26): __________________________________________________________________ Solution for VLSM Exercise 1. Specify the eight subnets of 140.25.0.0/16: Base Network: 10001100.00011001 .00000000.00000000 = 140.25.0.0/16 Subnet #0: 10001100.00011001. 000 00000.00000000 = 140.25.0.0/19 Subnet #1: 10001100.00011001. 001 00000.00000000 = 140.25.32.0/19 Subnet #2: 10001100.00011001. 010 00000.00000000 = 140.25.64.0/19 Subnet #3: 10001100.00011001. 011 00000.00000000 = 140.25.96.0/19 Subnet #4: 10001100.00011001. 100 00000.00000000 = 140.25.128.0/19 Subnet #5: 10001100.00011001. 101 00000.00000000 = 140.25.160.0/19 Subnet #6: 10001100.00011001. 110 00000.00000000 = 140.25.192.0/19 Subnet #7: 10001100.00011001. 111 00000.00000000 = 140.25.224.0/19 2. List the host addresses that can be assigned to Subnet #3 (140.25.96.0) Subnet #3: 10001100.00011001.011 00000.00000000 = 140.25.96.0/19 Host #1: 10001100.00011001.011 00000.00000001 = 140.25.96.1/19 Host #2: 10001100.00011001.011 00000.00000010 = 140.25.96.2/19 Host #3: 10001100.00011001.011 00000.00000011 = 140.25.96.3/19 . . Host #8189: 10001100.00011001.011 11111.11111101 = 140.25.127.253/19 Host #8190: 10001100.00011001.011 11111.11111110 = 140.25.127.254/19 3. Identify the broadcast address for Subnet #3 (140.25.96.0) 10001100.00011001.011 11111.11111111 = 140.25.127.255 4. Specify the 16 subnets of Subnet #6 (140.25.192.0/19): Subnet #6: 10001100.00011001.110 00000.00000000 = 140.25.192.0/19 Subnet #6-0: 10001100.00011001.110 0000 0.00000000 = 140.25.192.0/23 Subnet #6-1: 10001100.00011001.110 0001 0.00000000 = 140.25.194.0/23 Subnet #6-2: 10001100.00011001.110 0010 0.00000000 = 140.25.196.0/23 Subnet #6-3: 10001100.00011001.110 0011 0.00000000 = 140.25.198.0/23 Subnet #6-4: 10001100.00011001.110 0100 0.00000000 = 140.25.200.0/23 . . Subnet #6-14: 10001100.00011001.110 1110 0.00000000 = 140.25.220.0/23 Subnet #6-15: 10001100.00011001.110 1111 0.00000000 = 140.25.222.0/23 5. List the host addresses that can be assigned to Subnet #6-3 (140.25.198.0/23): Subnet #6-3: 10001100.00011001.1100011 0.00000000 = 140.25.198.0/23 Host #1 10001100.00011001.1100011 0.00000001 = 140.25.198.1/23 Host #2 10001100.00011001.1100011 0.00000010 = 140.25.198.2/23 Host #3 10001100.00011001.1100011 0.00000011 = 140.25.198.3/23 Host #4 10001100.00011001.1100011 0.00000100 = 140.25.198.4/23 Host #5 10001100.00011001.1100011 0.00000110 = 140.25.198.5/23 . . Host #509 10001100.00011001.1100011 1.11111101 = 140.25.199.253/23 Host #510 10001100.00011001.1100011 1.11111110 = 140.25.199.254/23 6. Identify the broadcast address for Subnet #6-3 (140.25.198.0/23) 10001100.00011001.1100011 1.11111111 = 140.25.199.255 7. Specify the eight subnets of Subnet #6-14 (140.25.220.0/23): Subnet #6-14: 10001100.00011001.1101110 0.00000000 = 140.25.220.0/23 Subnet#6-14-0: 10001100.00011001.1101110 0.00 000000 = 140.25.220.0/26 Subnet#6-14-1: 10001100.00011001.1101110 0.01 000000 = 140.25.220.64/26 Subnet#6-14-2: 10001100.00011001.1101110 0.10 000000 = 140.25.220.128/26 Subnet#6-14-3: 10001100.00011001.1101110 0.11 000000 = 140.25.220.192/26 Subnet#6-14-4: 10001100.00011001.1101110 1.00 000000 = 140.25.221.0/26 Subnet#6-14-5: 10001100.00011001.1101110 1.01 000000 = 140.25.221.64/26 Subnet#6-14-6: 10001100.00011001.1101110 1.10 000000 = 140.25.221.128/26 Subnet#6-14-7: 10001100.00011001.1101110 1.11 000000 = 140.25.221.192/26 8. List the host addresses that can be assigned to Subnet #6-14-2 (140.25.220.128/26): Subnet#6-14-2: 10001100.00011001.11011100.10 000000 = 140.25.220.128/26 Host #1 10001100.00011001.11011100.10 000001 = 140.25.220.129/26 Host #2 10001100.00011001.11011100.10 000010 = 140.25.220.130/26 Host #3 10001100.00011001.11011100.10 000011 = 140.25.220.131/26 Host #4 10001100.00011001.11011100.10 000100 = 140.25.220.132/26 Host #5 10001100.00011001.11011100.10 000101 = 140.25.220.133/26 . . Host #61 10001100.00011001.11011100.10 111101 = 140.25.220.189/26 Host #62 10001100.00011001.11011100.10 111110 = 140.25.220.190/26 9. Identify the broadcast address for Subnet #6-14-2 (140.25.220.128/26): 10001100.00011001.11011100.10 111111 = 140.25.220.191 7. How would you express the entire Class B address space as a single CIDR advertisement? __________________________________________________________________ 8. How would you express the entire Class C address space as a single CIDR advertisement? __________________________________________________________________ Solutions for CIDR Pracitice Exercises 1. List the individual networks numbers defined by the CIDR block 200.56.168.0/21. a. Express the CIDR block in binary format: 200.56.168.0/21 11001000.00111000.10101 000.00000000 b. The /21 mask is 3 bits shorter than the natural mask for a traditional /24. This means that the CIDR block identifies a block of 8 (or 23) consecutive /24 network numbers. c. The range of /24 network numbers defined by the CIDR block 200.56.168.0/21 includes: Net #0: 11001000.00111000.10101 000 .xxxxxxxx 200.56.168.0 Net #1: 11001000.00111000.10101 001 .xxxxxxxx 200.56.169.0 Net #2: 11001000.00111000.10101 010 .xxxxxxxx 200.56.170.0 Net #3: 11001000.00111000.10101 011 .xxxxxxxx 200.56.171.0 Net #4: 11001000.00111000.10101 100 .xxxxxxxx 200.56.172.0 Net #5: 11001000.00111000.10101 101 .xxxxxxxx 200.56.173.0 Net #6: 11001000.00111000.10101 110 .xxxxxxxx 200.56.174.0 Net #7: 11001000.00111000.10101 111 .xxxxxxxx 200.56.175.0 2. List the individual networks numbers defined by the CIDR block 195.24/13. a. Express the CIDR block in binary format: 195.24.0.0/13 11000011.00011 000.00000000.00000000 b. The /13 mask is 11 bits shorter than the natural mask for a traditional /24. This means that the CIDR block identifies a block of 2,048 (or 211) consecutive /24 network numbers. c. The range of /24 network numbers defined by the CIDR block 195.24/13 include: Net #0: 11000011.00011 000.00000000 .xxxxxxxx 195.24.0.0 Net #1: 11000011.00011 000.00000001 .xxxxxxxx 195.24.1.0 Net #2: 11000011.00011 000.00000010 .xxxxxxxx 195.24.2.0 . . . Net #2045: 11000011.00011 111.11111101 .xxxxxxxx 195.31.253.0 Net #2046: 11000011.00011 111.11111110 .xxxxxxxx 195.31.254.0 Net #2047: 11000011.00011 111.11111111 .xxxxxxxx 195.31.255.0 3. Aggregate the following set of (4) IP /24 network addresses to the highest degree possible. 212.56.132.0/24 212.56.133.0/24 212.56.134.0/24 212.56.135.0/24 a. List each address in binary format and determine the common prefix for all of the addresses: 212.56.132.0/24 11010100.00111000.100001 00 .00000000 212.56.133.0/24 11010100.00111000.100001 01 .00000000 212.56.134.0/24 11010100.00111000.100001 10 .00000000 212.56.135.0/24 11010100.00111000.100001 11 .00000000 Common Prefix: 11010100.00111000.100001 00.00000000 b. The CIDR aggregation is: 212.56.132.0/22 4. Aggregate the following set of (4) IP /24 network addresses to the highest degree possible. 212.56.146.0/24 212.56.147.0/24 212.56.148.0/24 212.56.149.0/24 a. List each address in binary format and determine the common prefix for all of the addresses: 212.56.146.0/24 11010100.00111000.1001001 0.00000000 212.56.147.0/24 11010100.00111000.1001001 1.00000000 212.56.148.0/24 11010100.00111000.1001010 0.00000000 212.56.148.0/24 11010100.00111000.1001010 1.00000000 b. Note that this set of four /24s cannot be summarized as a single /23! 212.56.146.0/23 11010100.00111000. 1001001 0.00000000 212.56.148.0/23 11010100.00111000. 1001010 0.00000000 c. The CIDR aggregation is: 212.56.146.0/23 212.56.148.0/23 Note that if two /23s are to be aggregated into a /22, then both /23s must fall within a single /22 block! Since each of the two /23s is a member of a different /22 block, they cannot be aggregated into a single /22 (even though they are consecutive!). They could be aggregated into 222.56.144/21, but this aggregation would include four network numbers that were not part of the original allocation. Hence, the smallest possible aggregate is two /23s. 5. Aggregate the following set of (64) IP /24 network addresses to the highest degree possible. 202.1.96.0/24 202.1.97.0/24 202.1.98.0/24 : 202.1.126.0/24 202.1.127.0/24 202.1.128.0/24 202.1.129.0/24 : 202.1.158.0/24 202.1.159.0/24 a. List each address in binary format and determine the common prefix for all of the addresses: 202.1.96.0/24 11001010.00000001.011 00000 .00000000 202.1.97.0/24 11001010.00000001.011 00001 .00000000 202.1.98.0/24 11001010.00000001.011 00010 .00000000 : 202.1.126.0/24 11001010.00000001.011 11110 .00000000 202.1.127.0/24 11001010.00000001.011 11111 .00000000 202.1.128.0/24 11001010.00000001.100 00000 .00000000 202.1.129.0/24 11001010.00000001.100 00001 .00000000 : 202.1.158.0/24 11001010.00000001.100 11110 .00000000 202.1.159.0/24 11001010.00000001.100 11111 .00000000 b. Note that this set of 64 /24s cannot be summarized as a single /19! 202.1.96.0/19 11001010.00000001. 011 00000.00000000 202.1.128.0/19 11001010.00000001. 100 00000.00000000
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved