 In one of the earlier modules, we have discussed IPv6 addressing. Specifically, we just looked at the IPv6 packet format and in that we looked at how 128-bit IP addressing is used and it caters for the Rhodes problem. In this module, we should look at the IPv6 addressing architecture, certain aspects which we did not cover back then. It is required because we are interested in knowing exactly how IPv6 addresses can be used. In this module, we shall start with looking at the hierarchy of IPv6, which is different from IPv4. Then we would look at specific representation format called colon hexadecimal notation and then we would also look at the types. IPv6 basically is instead of two steps, a three steps hierarchy. That means, if you recall IPv4, in there we had the network ID and the host ID. Here, we have an additional level in the hierarchy. That is to distinguish it from different kinds of IPv6 addresses, which we shall discuss later. So, we have a first level, that is we have a global routing prefix. We have the subnet ID and then we have the interface or the host ID. If you look at 128-bits, these 128-bits are split into these number of bits represented by N, M and the remainder bits. Now, we look at the representation of 128-bits in colon hexadecimal notation. It is colon because we represent IPv6 address through different colon, which are placed after every 8 sections. Now, these 8 sections comprise up to 16-bits each, making it a total of 128-bits. The simplest and the most obvious representation is the preferred form that is, we have specific 4 hexes each and a total of 8 sections. However, when we want to summarize it because we want to identify the redundancy and we want to just get rid of the redundancy in representation. Let's look at an example. The IPv6 address is shown to you in its most native form that is starting from the left-most side. It is 201 followed by we have 15 number of zeros, then 8 and subsequently 0, 800 right up to 417a. If we just observe, we notice that the number of zeros which are represented in each colon separated representation, each 4th number of zeros can be represented by 1 and the left-most 3 zeros in 0, 0, 0, 8 can be simply ignored. 0, 800 can be written as 800. All we are doing is we are just ignoring or just removing the zeros which appear on the left-hand side. So this is one form of representation. The another form of representation is the one shown to you at the end that is 201, then semicolon shown to you twice, 8, semicolon, 800 and subsequently it's the same. Now here we observe that putting this double semicolon replaces consecutive zeros. Here we have 15 zeros which are altogether replaced by this double semicolon. This representation is used to remove consecutive zeros if there are many and results in significant reduction in the total IPv6 address space representation. However, this usage of double semicolon can only be done once. IPv6 addresses can be typified into unicasting, anycasting, multicasting and of course the last one that is linked local addresses. We look at each of these one by one. First the unicast. Like IPv4 address in IPv6, unicast address represents the address of a single interface. In anycasting, instead of giving an IPv6 address to a single hardware interface, we assign it to multiple hardware interfaces. These hardware interfaces could be either placed on the same machine or could be on altogether different nodes. Now in the case of different nodes, when we have anycast IPv6 address and if the destination packet has anycast IPv6 address, then it would be delivered to the nearest node. This nearest node could be depending on the routing or cost metric chosen. Then we have multicasting. In the case of multicasting, we have like similar to anycast, we have one IPv6 address that is assigned to multiple physical interfaces. But here all these physical interfaces are the destination. So it means the packet which is destined for a multicast address would be delivered to all addresses in the set. Then we have linked local IPv6 addresses. These are the stateless IP addresses which are usually assigned as an auto configuration within a certain local area network. Since this is linked local, it means that the global uniqueness is not guaranteed. In most of the cases, the address size is 64 bit and this 64 bit interface is obtained by taking the 48 bits from the MAC address and appending it with 16 zeros. This kind of linked local address is good enough to create uniqueness amongst the IPv6 addresses on a single LAN. Let's look at the address types and their corresponding binary prefixes and the typical IPv6 notation as in semicolons. We have the ignoring the unspecified address type. We have the loop pack address that was 0.27, 0.0, 0.1 in the case of IPv4. Here it is all zeros except for the last one. Then we have the multicast address. The prefix in the multicast address is 8 ones. The linked local unicast address in address auto configuration is 10 bits shown to you in this particular format. And then we have the global unicast address. The global unicast address means that none of the specified binary prefixes are there and all the other IPv6 addresses are automatically the global unicast addresses. Thank you for watching.