Network Layer: Logical Addressing
Network Layer: Logical Addressing
Network Layer: Logical Addressing
IPv4 ADDRESSES
An IPv4 address is a 32-bit address that uniquely and universally defines the connection of a device (for example, a computer or a router) to the Internet.
IPv4 ADDRESSES
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.
Example
Change the following IPv4 addresses from binary notation to dotted-decimal notation.
Example
Change the following IPv4 addresses from binary notation to dotted-decimal notation.
Solution We replace each group of 8 bits with its equivalent decimal number and add dots for separation.
Example
Change the following IPv4 addresses from dotted-decimal notation to binary notation.
Example
Change the following IPv4 addresses from dotted-decimal notation to binary notation.
Example
Find the error, if any, in the following IPv4 addresses.
Example
Find the error, if any, in the following IPv4 addresses.
Solution a. There must be no leading zero (045). b. There can be no more than four numbers. c. Each number needs to be less than or equal to 255. d. A mixture of binary notation and dotted-decimal notation is not allowed.
Classful Addressing
In classful addressing, the address space is divided into five classes: A, B, C, D, and E.
Example
Find the class of each address. a. 00000001 00001011 00001011 11101111 b. 11000001 10000011 00011011 11111111 c. 14.23.120.8 d. 252.5.15.111
Example
Find the class of each address. a. 00000001 00001011 00001011 11101111 b. 11000001 10000011 00011011 11111111 c. 14.23.120.8 d. 252.5.15.111 Solution 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 byte is 14; the class is A. d. The first byte is 252; the class is E.
CLASSLESS ADDRESSING
The addresses in the block should be contiguous, one after another. The number of addresses in a block must be power of 2 (1,2,4,8.) The first address must be evenly divisible by the number of addresses.
The first address in the block can be found by setting the rightmost 32 n bits to 0s. The last address in the block can be found by setting the rightmost 32 n bits to 1s. The number of addresses in the block can be found by using the formula 232n
Example
A block of addresses is granted to a small organization. We know that one of the addresses is 205.16.37.39/28. What is the first address, last address and number of addresses in the block?
Example
A block of addresses is granted to a small organization. We know that one of the addresses is 205.16.37.39/28. What is the first address, last address and number of addresses in the block?
Solution The binary representation of the given address is 11001101 00010000 00100101 00100111 If we set 3228 rightmost bits to 0, we get 11001101 00010000 00100101 0010000 or 205.16.37.32.
Example
The binary representation of the given address is 11001101 00010000 00100101 00100111 If we set 32 28 rightmost bits to 1, we get 11001101 00010000 00100101 00101111 or 205.16.37.47
The value of n is 28, which means that number of addresses is 2 3228 or 16.
Example
Another way to find the first address, the last address, and the number of addresses is to represent the mask as a 32bit binary (or 8-digit hexadecimal) number. This is particularly useful when we are writing a program to find these pieces of information. In Example 19.5 the /28 can be represented as 11111111 11111111 11111111 11110000 (twenty-eight 1s and four 0s).
Find a. The first address b. The last address c. The number of addresses.
Example (continued)
Solution a. The first address can be found by ANDing the given addresses with the mask. ANDing here is done bit by bit. The result of ANDing 2 bits is 1 if both bits are 1s; the result is 0 otherwise.
Example (continued)
b. The last address can be found by ORing the given addresses with the complement of the mask. ORing here is done bit by bit. The result of ORing 2 bits is 0 if both bits are 0s; the result is 1 otherwise. The complement of a number is found by changing each 1 to 0 and each 0 to 1.
Example (continued)
c. The number of addresses can be found by complementing the mask, interpreting it as a decimal number, and adding 1 to it.
The first address in a block is normally not assigned to any device; it is used as the network address that represents the organization to the rest of the world.
Each address in the block can be considered as a two-level hierarchical structure: the leftmost n bits (prefix) define the network; the rightmost 32 n bits define the host.
Example
An organization is given the block 17.12.40.0/26. The organization has three offices and needs to divide the addresses into three subblocks of 32, 16, and 16 addresses. Find the new masks and the range of addresses in each subblock.
Example
An organization is given the block 17.12.40.0/26. The organization has three offices and needs to divide the addresses into three subblocks of 32, 16, and 16 addresses. Find the new masks and the range of addresses in each subblock.
Solution
/26 => 26 addresses i.e 64 total addresses. The first sub-block to have 32 addresses therefore five bits are sufficient for address space which will lead to a mask of /27. the first address will be 17.12.40.0/27 and last address will be 17.12.40.31/27 The second and third sub-blocks require only 16 addresses each therefore 4 bits will be sufficient and the mask will be / 28. The first address of the sub-block 2 will be 17.12.40.32/28 and last address will be 17.12.40.47/28. The first address of the sub-block 3 will be 17.12.40.48/28 and last address will be 17.12.40.63/28.
Example
An ISP is granted a block of addresses starting with 190.100.0.0/16 (65,536 addresses). The ISP needs to distribute these addresses to three groups of customers as follows: a. The first group has 64 customers; each needs 256 addresses. b. The second group has 128 customers; each needs 128 addresses. c. The third group has 128 customers; each needs 64 addresses. Design the subblocks and find out how many addresses are still available after these allocations.
Example (continued)
Solution Group 1 For this group, each customer needs 256 addresses. This means that 8 (log2 256) bits are needed to define each host. The prefix length is then 32 8 = 24. The addresses are
Example (continued)
Group 2 For this group, each customer needs 128 addresses. This means that 7 (log2 128) bits are needed to define each host. The prefix length is then 32 7 = 25. The addresses are
Example (continued)
Group 3 For this group, each customer needs 64 addresses. This means that 6 (log264) bits are needed to each host. The prefix length is then 32 6 = 26. The addresses are
Number of granted addresses to the ISP: 65,536 Number of allocated addresses by the ISP: 40,960 Number of available addresses: 24,576
A NAT implementation
Addresses in a NAT