IPv4 Addresses Data Communication 1 INTRODUCTION The identifier used in the IP layer of the TCP/IP protocol suite to identify each device connected to the Internet is called the Internet address or IP address. An IPv4 address is a 32-bit address that uniquely and universally defines the connection of a host or a router to the Internet; an IP address is the address of the interface. TCP/IP Protocol Suite 2 Note An IPv4 address is 32 bits long. The IPv4 addresses are unique and universal. The address space of IPv4 is 232 or 4,294,967,296. 3 Figure Dotted-decimal notation TCP/IP Protocol Suite 4 Example Change the following IPv4 addresses from binary notation to dotted-decimal notation. a. 10000001 00001011 00001011 11101111 b. 11000001 10000011 00011011 11111111 c. 11100111 11011011 10001011 01101111 d. 11111001 10011011 11111011 00001111 Solution We replace each group of 8 bits with its equivalent decimal number and add dots for separation: a. 129.11.11.239 b. 193.131.27.255 c. 231.219.139.111 d. 249.155.251.15 TCP/IP Protocol Suite 5 Example Change the following IPv4 addresses from dotted-decimal notation to binary notation. a. 111.56.45.78 b. 221.34.7.82 c. 241.8.56.12 d. 75.45.34.78 Solution We replace each decimal number with its binary equivalent: a. 01101111 00111000 00101101 01001110 b. 11011101 00100010 00000111 01010010 c. 11110001 00001000 00111000 00001100 d. 01001011 00101101 00100010 01001110 TCP/IP Protocol Suite 6 Example Find the error, if any, in the following IPv4 addresses: a. 111.56.045.78 b. 221.34.7.8.20 c. 75.45.301.14 d. 11100010.23.14.67 Solution a. There should be no leading zeroes (045). b. We may not have more than 4 bytes in an IPv4 address. c. Each byte should be less than or equal to 255. d.A mixture of binary notation and dotted-decimal notation. TCP/IP Protocol Suite 7 Finding the class of address TCP/IP Protocol Suite 8 Finding the class of an address using continuous checking 0 Class: A TCP/IP Protocol Suite 1 1 1 Start 0 0 Class: B Class: C 9 1 0 Class: D Class: E Example Find the class of each address: a. 00000001 00001011 00001011 11101111 b. 11000001 10000011 00011011 11111111 c. 10100111 11011011 10001011 01101111 d. 11110011 10011011 11111011 00001111 Solution See the procedure in Figure 5.7. a. The first bit is 0. This is a class A address. b. The first 2 bits are 1; the third bit is 0. This is a class C address. c. The first bit is 1; the second bit is 0. This is a class B address. d. The first 4 bits are 1s. This is a class E address. TCP/IP Protocol Suite 10 Example Find the class of each address: a. 227.12.14.87 b. 193.14.56.22 c. 14.23.120.8 d. 252.5.15.111 Solution a. The first byte is 227 (between 224 and 239); the class is D. b. The first byte is 193 (between 192 and 223); the class is C. c. The first byte is 14 (between 0 and 127); the class is A. d. The first byte is 252 (between 240 and 255); the class is E. TCP/IP Protocol Suite 11 Blocks in Class A Millions of class A addresses are wasted. TCP/IP Protocol Suite 12 Blocks in Class B Many class B addresses are wasted. TCP/IP Protocol Suite 13 Blocks in Class C Not so many organizations are so small to have a class C block. TCP/IP Protocol Suite 14 The single block in Class D Class D addresses are made of one block, used for multicasting. TCP/IP Protocol Suite 15 The single block in Class E The only block of class E addresses was reserved for future purposes. TCP/IP Protocol Suite 16 Sample Internet The network address is the identifier of a network. TCP/IP Protocol Suite 17 Network mask TCP/IP Protocol Suite 18 Restrictions The number of addresses in a block must be a power of 2 The first address must be evenly divisible by the number of addresses. For example, if a block contains 4 addresses, the first address must be divisible by 4. TCP/IP Protocol Suite 19 Example 4 - Find first address What is the first address in the block if one of the addresses is 167.199.170.82/27? TCP/IP Protocol Suite 20 Example 4 - Find first address What is the first address in the block if one of the addresses is 167.199.170.82/27? Solution The prefix length is 27, which means that we must keep the first 27 bits as is and change the remaining bits (5) to 0s. The following shows the process: Address in binary: 10100111 11000111 10101010 Keep the left 27 bits: 10100111 11000111 10101010 Result in CIDR notation: 167.199.170.64/27 TCP/IP Protocol Suite 21 01010010 01000000 Example 5 – Find first address Using binary What is the first address in the block if one of the addresses is 140.120.84.24/20? TCP/IP Protocol Suite 22 Example 5 – Find first address Using binary What is the first address in the block if one of the addresses is 140.120.84.24/20? Solution Figure 5.3 shows the solution. The first, second, and fourth bytes are easy; for the third byte we keep the bits corresponding to the number of 1s in that group. The first address is 140.120.80.0/20. See Next Slide TCP/IP Protocol Suite 23 Figure 5.3 TCP/IP Protocol Suite 24 Example 5 Example 6 – Find first address Another solution method Find the first address in the block if one of the addresses is 140.120.84.24/20. Solution The first, second, and fourth bytes are as defined in the previous example. To find the third byte, we write 84 as the sum of powers of 2 and select only the leftmost 4 (m is 4) as shown in Figure 5.4. The first address is 140.120.80.0/20. See Next Slide TCP/IP Protocol Suite 25 TCP/IP Protocol Suite 26 Example 7 - Number of addresses Find the number of addresses in the block if one of the addresses is 140.120.84.24/20. Solution The prefix length is 20. The number of addresses in the block is 232−20 or 212 or 4096. Note that this is a large block with 4096 addresses. TCP/IP Protocol Suite 27 Example 8 - Find last address Find the last address in the block if one of the addresses is 140.120.84.24/20. Solution We found in the previous examples that the first address is 140.120.80.0/20 and the number of addresses is 4096. To find the last address, we need to add 4095 (4096 − 1) to the first address. See Next Slide TCP/IP Protocol Suite 28 Example 8 (Continued) To keep the format in dotted-decimal notation, we need to represent 4095 in base 256 (see Appendix B) and do the calculation in base 256. We write 4095 as 15.255. (256 divides into 4095 15 times with a remainder of 255.) We then add the first address to this number (in base 255) to obtain the last address as shown below: 140 . 120 . 80 . 0 15 . 255 ------------------------140 . 120 . 95 . 255 The last address is 140.120.95.255/20. TCP/IP Protocol Suite 29 Alternate Method Not crazy about base 256 arithmetic? Do it in binary. .80.0 in binary is 01010000.00000000 4095 in binary is 1111 11111111 Add the two values: 01011111.11111111 This is .95.255 TCP/IP Protocol Suite 30 Example 9 - find last address Another method Find the last address in the block if one of the addresses is 140.120.84.24/20. Solution The mask has twenty 1s and twelve 0s. The complement of the mask has twenty 0s and twelve 1s. In other words, the mask complement is 00000000 00000000 00001111 11111111 or 0.0.15.255. We add the mask complement to the beginning address to find the last address. See Next Slide TCP/IP Protocol Suite 31 Example 9 (Continued) We add the mask complement to the beginning address to find the last address. 140 . 120 . 80 . 0 0 . 0 . 15 . 255 ---------------------------140 . 120 . 95 . 255 The last address is 140.120.95.255/20. TCP/IP Protocol Suite 32 Example 10 - find the block Find the block if one of the addresses is 190.87.140.202/29. Solution We follow the procedure in the previous examples to find the first address, the number of addresses, and the last address. To find the first address, we notice that the mask (/29) has five 1s in the last byte. So we write the last byte as powers of 2 and retain only the leftmost five as shown below: See Next Slide TCP/IP Protocol Suite 33 Example 10 (Continued) 202 ➡ 128 + 64 + 0 + 0 + 8 + 0 + 2 + 0 The leftmost 5 numbers are ➡ 128 + 64 + 0 + 0 + 8 The first address is 190.87.140.200/29 The number of addresses is 232−29 or 8. To find the last address, we use the complement of the mask. The mask has twenty-nine 1s; the complement has three 1s. The complement is 0.0.0.7. If we add this to the first address, we get 190.87.140.207/29. In other words, the first address is 190.87.140.200/29, the last address is 190.87.140.207/20. There are only 8 addresses in this block. TCP/IP Protocol Suite 34 Example 11 Show a network configuration for the block in the previous example. Solution The organization that is granted the block in the previous example can assign the addresses in the block to the hosts in its network. However, the first address needs to be used as the network address and the last address is kept as a special address (limited broadcast address). Figure 5.5 shows how the block can be used by an organization. Note that the last address ends with 207, which is different from the 255 seen in classful addressing. See Next Slide TCP/IP Protocol Suite 35 Note: In classless addressing, the last address in the block does not necessarily end in 255. TCP/IP Protocol Suite 36