Welcome back to the course on Computer Networks and Internet Protocols. So, in thiscourse till now we have looked into, the details of the internet layer or the network layerand we have looked into the addressing scheme, which is used in the network and welooked into the details of IP version 4 addressing format; where the network uses a 32 bitIPv4 address to individually identify each host.Now, in this particular lecture today, we will move towards the most recent version of IP,the IP addressing scheme along with the IP protocol, which is called a IP version 6 orIPv6. So, we will first look into the short comings which are there for IPv4. And then wewill go to the design choices of IPv6 and the how IPv6 mitigates different problems, inwhich are associated with IPv4 addressing. So, let us have a journey on IPv6 addressing.(Refer Slide Time: 01:24)So, first of all why do we require this new version of IP which is IPv6? So, if you lookinto the demand of internet addresses as there is with the grow of different devices in theinternet; so, when the internet was first designed it was meant for military applications,as we have looked into the early days of internet history. And then people graduallystarted using internet for normal, then general day to day usage. Now with this if youlook into the grow of devices which we get connected to internet, then you will see thatthe number of devices are growing exponentially day by day.So, earlier we had the desktops which are getting connected to the internet. Now eachperson has 1 or even more than 1 devices; many of the cases it is more than 1 deviceslike you have your desktop you have your laptop, the mobile phones, which you can getconnected to the internet. And that way you require more number of IP addresses,because IP addresses associated with every network interface. And nowadays we aremoving towards the era of internet of things, where you have multiple small sensordevices mounted on single board computers which are mounted on different places in asmart room or smart city or a smart hospital. And all of this tiny or the small devices theyget connected to the internet.So, you connect a sensor to your fridge, to your ac, so, to your washing machine, eventhe doors, the lights, the smart lights, and then you can get data through those sensorsand have a automated and smart operating of those devices. And all these devices arenow getting connected over the internet. And whenever you will make a device to getconnected over the internet, during that time device will obviously, require an address.Because our requirement is that we need to have unique IP address for all the deviceswhich are getting connected in the internet. And that is why if you look into the trend ofIP address requirement, in respect to years, so this graph is from January 94 to July 2017.Interestingly it is July 2017 is the time when IPv6 was standardized.So, if you look into the growth of internet address which are there, you will see that thereis a sharp increase in this growth. So, you have an exponential growth in the requirementof IP addresses. Now at this point, the things gets mostly saturated. So, whatever IPaddress we have, in the IPv4 address space with 32 bit addresses and as you know, wehave we have discussed that these 32 bit IP address all though, theoretically it cansupport you 2 to the power 32 different IP addresses. But all this address are not usablefor connecting a interface network interface with the internet. Because you have thereserved IP addresses, you have the special IP addresses, you have this broad cast IPaddresses and the loop back IP addresses. Then you have this sub netting concept, whereyou need to allocate a set of IP addresses to the network address and then, individual hostin the network. And because of all this reasons we are almost getting stagnant or we arealmost getting saturated at the requirement of the IP addresses. So, the IP address space,which are available to us it is getting saturated. So, that is why you will see that, there isa drop in address usage in the recent years and this drop is not because the demand hasbecome less but rather we do not have sufficient number of IP addresses in our hand. So,we are trying to manage with different ways like, using the network address translationNAT this kind of techniques that we discussed earlier.So, what the take way message from this discussion is that, the IPv4 address that wehave the total number of addresses are very limited and that is why, we need to havelarge pool of IP addresses, which can support global usage or global utilization with thehelp of a large number of addresses for a huge number of devices which are gettingconnected over the internet.(Refer Slide Time: 06:15)Now, let us look into brief the problems which are associated with the IPv4 addressing;so why do we need a new IP structure, so, first of all as we have mentioned that theaddress space is not sufficient even with CIDR. So, this is the primary reason, that werequire a larger address space but that is not the only requirement for us.So, apart from the address space, there are multiple other problems which are associatedwith IPv4 addressing scheme. And as you know or as we have discussed that this IPv4addressing scheme, it was initially designed for the standard desktop computers whichare fixed and which does not require the mobility support. So, during the early days ofinternet people where was not able to imagine that one day your devices which willmobile like the mobile phones which will move from one place to another place and thatwill need to get connected over the internet. And traditionally this IPv4 addressingscheme it does not support mobility.So, there are way to make mobility support in IPv4 with the help of mobile IP, that is thevariant of IPv4 address or what you can say that it is like a patch on top of the IPv4address. But overall, by default this IPv4 addressing scheme that does not supportmobility and at the same time during the early days of the internet people was notbothered about security authentication this kind of aspect too much. So, during that timeconnectivity was the prime requirement.So, as I have discussed some time back that, you should always read the paper of thehistory of DARPA internet protocol by, David Clark which actually talks about, thedifferent requirements which where there in the mind of the DARPA people, when theinternet was first designed. And during that time connectivity was the utmostrequirement and a prime requirement and security, logging, auditing all these thingswhere the secondary requirements. And because of that we had this IPv4 address, whereconnectivity was the major issue.So, you need to uniquely identify every individual devices in the internet but the othergoals like the security, the auditing that became the secondary goal and that was added asa patch on top of the IPv4 address. And another thing was the quality of service. So inIPv4 the quality of service was vaguely defined. We will look into the details that, whatis mean by quality of service later on in some lectures.In brief quality of service is something like that, say initially when this IP addressingscheme was designed during that time people was only interested to transmit data traffic.But nowadays, we are transmitting multimedia traffic over the internet. So, we aretransmitting voice data over VoIP type of applications, we are doing video streaming.So, interestingly the majority of the traffic in the internet nowadays comes from thevideo traffic; from the video streaming kind of applications like YouTube, Netflix, thiskind of applications. And whenever you are doing the video streaming, there are differentkinds of video streaming, like this buffer video steaming, which is there in case ofYouTube or Hotstar or that kind of application. And there is also kind of live videostreaming like, what we do in case of Skype or live video chat. And all this type ofmultimedia applications, they require special services from the internet, because youneed to transfer the data in a delay sensitive way. So, if your packet transfer takes toomuch of time, that will not sustain in the network.In IPv4, quality of service was not the prime goal and that is why the quality of servicewas vaguely defined in a IPv4. So, we need real time service support for modern dayapplications. And as I have mentioned that, mobile applications are in generalunmanageable in IPv4 although, there are certain patch of mobile IP but that does notperform good in a real application and there is no direct security support in IPv4.So, again that works like a patch on top of IP, using this transport layer security or securesocket layer kind of security module under transport layer and IP security kind of moduleon top of IPv4. Because there is no integrated support on IPv4 itself for this kind ofapplication, QoS security mobility, the entire protocol became too complex and becameunmanageable for a large internet.(Refer Slide Time: 11:15)Because of these reasons, we require a new IP structure and we gradually move towardsthis IPv6. Now, there is a interesting fact regarding IPv6. The draft version of IPv6proposal it came sometime in December 1998. But then we took around 10 years tomake the protocol standardized.So, the protocol became the IPv6 protocol became standardized just last year around July2017. So, it took around 10 years to look into the different aspects of the protocoldifferent internals of the protocol and to make it publish as a standardized protocol. So,the basic features of IPv6 are as follows: First of all it supports a larger class of addressspace compared to 32 bit address in IPv4; we have 128 bit addresses space in IPv6.Then, it uses a mechanism called globally unique and hierarchical addressing forefficient routing mechanism. In case of IPv4 we have seen that although we had the mindof having a hierarchical structure of the global internet, but ultimately we failed becauseof the unavailability of sufficient number address space and that is why we moved fromthe classful addressing which were there in initially. The classful addressing as you knowthat, it is a prefix based system. So, just by looking into the initial bits of IPv4 address,you can find out in which class it belongs to and accordingly you can find out thenetwork address and the host address and then can do the route based on that.But because this classful addressing was making a wastage of address space and werequire more number of address spaces, in the subsequent time. That is, why wegradually move from the classful addressing scheme to the classless addressing schemeand then, this classless inter domain routing or the CIDR kind of things.With this, what happened that, this hierarchical architecture it was preserved locally, itwas preserved within a network and in this subnet. But globally, this hierarchicalarchitecture got broken. Also we have these private IPs and private lands in between byutilizing this NAT concept which actually violates or which actually moves little bitfurther from the global hierarchical structure. But with IPv6 address we try to build up aglobally unique and hierarchical addressing scheme.The third feature is the optimized routing table using prefixes rather than address classes.So, here you just look into the initial few bits of the address space and determine that in,which hierarchy, in which path of the hierarchy, the device belong to and accordinglyyou route the packet in that path. That way you can optimize the routing table, ratherthan having this routing based on classful addressing.Then the feature of auto configuration of network interfaces; that means, whenever youmake a device live the network interface can automatically get an IPv6 address. So,whatever, we were you doing in IPv4 with the help of DHCP dynamic host configurationprotocol; the same thing is implemented in IPv6 with the help of auto configuration. Andthat became a part of the IPv6, rather than having a different protocol like a DHCP whichwas there in IPv6.Then the support for encapsulation; we will discuss this encapsulation in details. Theservice class support to manage quality of service classes. Then this built inauthentication and encryption mechanism to support security and a backwardcompatibility with IPv4 so, that you can gradually migrate from IPv4 based system toIPv6 based systems.(Refer Slide Time: 15:19)So, let us look into the header format of IPv6. So, in a case of IPv6, this is the headerstructure, in the header we use 128 bit source address and 128 bit destination address; thesource and the destination address field. Along with that you have this traffic class fieldfor supporting quality of service. This is the protocol version, then the flow level,leveling every flow based on its QoS classes, the payload length. The next header and thehop limit; so the next header is that in IPv6 you can have multiple optional headers, wewill come to that point. And the hop limits denote that, how many hop the packet shouldtraverse because, before you discard the packet from the internet.(Refer Slide Time: 16:17)Now, this is the mandatory header structure of IPv6. Every IPv6 packet should have onemandatory header and along with one mandatory header, it can have multiple extensionheaders. So, these extension headers are used for special purposes. And with thismandatory header, so, in this diagram, this part is the mandatory header. In thismandatory header you have a pointer to the next header. So, this pointer actually pointsto the next header, in the total IP packet.So, you have multiple, you can have multiple such extension header. One extensionheader can be you can put hop by hop option that whenever the packet traverse in eachhop, how the packet will be treated there. Then, you can have a routing informationembedded inside the inside the header itself. So, if you are applying something likesource routing, where the source of the packet it will find out that in which route thepacket need to be traversed to reach at the destination, the source can put the entirerouting information in the IP header packet. So, that is the routing information optionalheader.Then the fragment identification; if your IPv6 packet gets fragmented into multiplepieces, then this fragment information can contain in the fragment header. Then yourauthentication data as I have mentioned that authentication or the security became ainbuilt part of the IPv6. So, the authentication information can be put inside the optionalheader. And then you have this TCP header and the corresponding data.So, that way, you can have such multiple extension header along with the mandatoryheader which will give you additional information about this, how the packet will betreated by the IP protocol.
IPv6 Addressing- Part 2
OK. So, this is the format for the IPv6 addressing. So, as we have mentioned that, we usea 128 bit IP addresses. It is represented in 8 hexadecimal numbers. So every hexadecimalnumber is like FE80 then 0000. So 16 bit binary that is converted to the correspondinghexadecimal number and they are separated by a colon. So, that way, we represent this128 bit address in IPv6.Now this entire address we further reduce the total spaces, that is required to store anIPv6 address. So, first of all if your hexadecimal number has all 0’s, then you can replaceit by a single 0. So, if, you have a single 0 that means, you have 4 consecutive 0, so allthe bits in that part are 0’s. Then if you have few consecutive 0’s that consecutive 0’s thatcan be replaced by a double colon. So, here these numbers of consecutive 0’s arereplaced by a double colon. But you need to remember that, this double colon feature canbe used only once, because if you have two different double colons; one say here andanother double colon if I put here, then it will be difficult for you to find out that howmany 0’s are here and how many 0’s are here. So, that is why we cannot use it more thanonce, this double colons syntax we can use at most one. So, that you can find out thatwell here this it is, FE80 then it is 1. So, that means, it is 0001, then 8 0023E7 5FDB. So,you have 8888 and 8 1 2 3 4 5 5 into 8, that many bits are there and remaining bits are 0,which will be placed here in the place of those two double colons. So, that way you canhave a more optimized representation of the entire address in IPv6.(Refer Slide Time: 20:19)Now, this entire address space it is divided into multiple groups based on the prefix. So,this prefix actually determines that, how many addresses will fall into what group. So, ifyou look into the prefix values; that means, if the first 8 bits are 0’s we can represent it as0 then colon colon slash 8. So, this slash 8 represent the prefix and which was there inthe CIDR concept as well, the concept of prefix that the first bits number of bits whichwill be used to identify the type of the address.So, if this first 8 bits are 0’s those this reserved class of address then if this bit is a first 8bit is 200; that means, 0000 followed by 0010. So, here your prefix is 7 bit first 7 bit. So,if you look into the first seven bit, if the last bit is 1, it is reserved for NSAP. If the bit is10 in the address range, we can write it as 400; 400 because, this is 0 then, this becomes4. If it is 400 then, this with this slash 7 prefix it is reserved for IPX protocol.Then, if the first 3 bits are 001; that means, this 001 means, the address is 0010 0000then all 0’s, that is the first hex part. So, the first hex part this becomes 2 and then all 4’sare 0’s 2000 and your prefix is slash 3. If that is the case then, it is the aggregatableglobal unicast address, which is assigned to individual host in the network. And that isthe 1/8th of the entire IPv6 address space that we have. So, that way we have a sufficientnumber of addresses that can be utilized for addressing every interface of a network.(Refer Slide Time: 22:37)Then you have other classes like, the link local unicast, where the first few bits are1111111010 with a 10 bit prefix. Then site local unicast again with a 10 bit prefix themulticast address with the 8 bit prefix where all the first 8 bits are 1.So, that way we have this multiple group of IP addresses, which are there in IPv6 and theinteresting part is this global unicast address which are used in addressing every interfaceof individual devices.(Refer Slide Time: 23:18)Now the global unicast address format in IPv6 this entire address is divided into 3groups. You have a global routing prefix which is of n bits and then you have a subnet idof m bits and finally, 128 minus m minus m bits which are the corresponding interfaceid.Now, this global routing prefix it is a value which is assigned to a site for a cluster ofsubnets of the links. The global routing prefix it is designed such that this entire networkglobally that can be structured hierarchically. So, the routing agencies they design theseglobal routing prefix such that you can have this entire internet, you can structure theentire internet in a hierarchical way and then inside that individual level you can have thesubnet ID, followed by the internet ID and your prefix the way we have noted it inCIDR, the same way the prefix is used to denote the globally routing prefix plus thesubnet id.(Refer Slide Time: 24:27)Well, now let us look into few features in IPv6; we look into a little detail. The firstfeature that we will discuss is neighbor discovery. So, neighbor discovery in IPv6 thatwas you can say it is a replacement of ARP in IPv4. So, it enables a node to identify theother host and routers on its links. The node they needs to know of at least 1 router, so,that it knows, where to forward the packet. So, similar to the ARP protocol in IPv4,whenever you want to send a packet to another host you know its IPv6 address, butalongside you need to also know its MAC address. So, having a mapping from this IPv6address to the MAC address that is, work done by this neighbor discovery protocol.(Refer Slide Time: 25:18)Now this neighbor discovery protocol here is an example; like you say 4 devices A B Cand D which have their IP address and the MAC address here, the IP address are the IPv6addresses. Now say A wants to send some packet to B, now if he wants to send somepacket to B, A knows the say the IP address of B but A need to find out the MAC addressof B. So, that it can find out that how to forward the packet to B. So, this is done with thehelp of this the neighbor discovery protocol.(Refer Slide Time: 25:54)So, in case of neighbor discovery protocol what happens that, the node which wants tosend the packets send a data here the node A in the preceding example, it sends aneighbor solicitation packet.So, this neighbor solicitation packet, this is the structure of the neighbor solicitationpacket, you have a source address field and the destination address field. This destinationaddress field is an interesting feature that I will come in a couple of minutes So, this isyour part of IP address, IP address and this is the part of your ICMP message, that is theneighbor solicitation message in IPv6. So, the ICMP extension in IPv6 we call it as,ICMP version 6.So, this is the ICMP message. So, in the ICMP message it is type 135; that means, it is aneighbor solicitation message. Then your target address is the given IPv6 address, so thatmeans, this target address field it tells you that you want to find out the MAC addresscorresponds to this IPv6 address. And you have a source link layer address, so the MACaddress of the source which is a part of the ICMP message.Here the interesting part is that, this destination address. So, this destination address isthe address of the solicitated node. So, if you look into the ARP in IPv4, in case of ARPof IPv4, we actually broad cast the IPv4 ARP query. So, the query ARP query isbroadcasted and the nodes which receive that, if they have the information they replyback otherwise, they further broadcast it. But in case of IPv6, we do not broad cast thisquery, rather we send to a targeted node. So, every node has associated with onesolicitated node, the information of the solitcitated node is already available to the sourcenode. So, it will send the query to only this solicitated node.(Refer Slide Time: 27:56)So, here in this preceding example, say node C is the solicited node of node A. So, nodeA will send the query to node C and then node C will find out the path to node B andthen informing to node A.(Refer Slide Time: 28:15)OK. Now this response to the neighbor solicitation message is the neighboradvertisement message. In the neighbor advertisement message, you include the targetaddress, the target IPv6 address and the corresponding target link layer address. So, thisis the address for node B and you send the MAC address of node B the neighboradvertisement message.Now, one feature is that, it is not like that neighbor advertisement are only send as aresponse to neighbor solicitation. Whenever you are sending a neighbor solicitation,during that time you will get a advertisement. But apart from that every node periodicallysend this neighbor advertisement message, so that they can formed a one half linkconnectivity.Now, here because of this you can see there are 3 flags. So, these flags are the R flagmeans the sender of the advertisement is a router, the S flags means the advertisement isa response to a solicitation and O means override; that means, the source of thesolicitation it must update the cache, with this new information.(Refer Slide Time: 29:20)Ok, now coming to the mobility support in IPv6, so in case of IPv6 mobile node, it uses atemporary address, when it is away from the home location. So, it use this IPv6destination optional headers, to store the home address home address means, where itwas initially connected. Now the mobile station it can list all the routing header, for thepackets to follow a particular path for establishing a connection with a service providernetwork.So, as you have seen that the advantage of IPv6 is that, you can add a additional numberof optional headers to support this mobility. With this optional header you can add thisadditional information like whenever a node is moving from one location to anotherlocation, how the packet would be forwarded to this node, that can get embedded withthis routing header information.Now, the packet sends to a mobile node, it can be tunneled by IPv6 routing headers andwe do not require the foreign agents like IPv4. So, if you look into the IPv4 for mobilitysupport, in IPv4 mobility support you have a foreign agent, that is a designated routerand that designated router will actually make a mapping between the original address ofthe machine and the when the node has moved to a different subnet the new addresscorresponds to this mobility location. So, we do not require a foreign agent here in IPv6.We have the neighbor discovery protocol and the address of a configuration mechanismthat can be used to directly connect a node to any subnet. So, the node will get a new IPaddress IPv6 address with the help of this neighbor discovery and interface or addressauto configuration.Now the interesting fact is that, you cannot migrate from IPv4 to IPv6 in 1 day, becausecurrently all the machines are majority of the machines in the internet is support IPv4.And IPv6 has a huge new set of features now if, you want to migrate from IPv4 to IPv6how will you do that? There are broadly three ways of doing that. One is the dual stacksupport. In case of a dual stack support, you have a support for both IPv4 and IPv6 in thesame protocol stack.(Refer Slide Time: 31:35)So, if you are communicating with the IPv4 machine, then you use the IPv4 stack, thispart of the stack to communicate with the IPv4 machine. If you are communicating withthe IPv6 host, they would then you use this IPv6 stack to communicate with the IPv6host; so, that means, the single machine should have both the IPv4 stack as well as theIPv6 stack. The second mechanism is tunneling.(Refer Slide Time: 32:08)The tunneling mechanism says that you tunnel the IPv4 headers through IPv6 headers.That means, the tunneling mechanism says that, you have a IPv4 header. So, wheneveryou want to send it to IPv6 host, you add up an IPv6 header along with the IPv4 header.Now, if you are sending it to IPv4 host these part of the header will be read, if you aresending it to the IPv6 header this part of the header will be read out.So, the IPv6 details are much more than what I have covered, I have just tried to giveyou a basic introduction about IPv6. So, to know more about this IPv6 there are somepointers that you can follow, the RFC’s. So, this RFC’s are these RFC 2460, RFC 4291and RFC 3587, this discuss about a various aspects of the IPv6 in details. And then Ihave pointed two different links, one is the IANA documentation; that talks about theIPv6 addresses, multicast addresses and another is the 6NET website. The 6NET is aproject that worked on the design and development of IPv6.So, you can visit the 6NET website to look into their white papers the documentationswhich are there to know more about different features in IPv6. So, that is all about IPv6and I will say that it is a very brief introduction about IPv6 there are much more details.So, please explore the pointers which are given at the end of this slide to know moreabout IPv6 addressing format.Thank you for attending this class.
Log in to save your progress and obtain a certificate in Alison’s free Advanced Diploma in Computer Networks and Internet Protocol online course
Sign up to save your progress and obtain a certificate in Alison’s free Advanced Diploma in Computer Networks and Internet Protocol online course
Please enter you email address and we will mail you a link to reset your password.