{"id":1145,"date":"2013-02-01T23:02:54","date_gmt":"2013-02-01T23:02:54","guid":{"rendered":"http:\/\/microsoftgeek.com\/?p=1145"},"modified":"2013-02-01T23:02:54","modified_gmt":"2013-02-01T23:02:54","slug":"crash-course-in-ipv6-part-1","status":"publish","type":"post","link":"https:\/\/microsoftgeek.com\/?p=1145","title":{"rendered":"Crash Course in IPv6 (Part 1)"},"content":{"rendered":"<p>An introduction to the IPv6 address space.<\/p>\n<h2>The IPv6 Address Space<\/h2>\n<p>The most obvious difference between the two protocols is the length of their source and destination addresses. The whole point of making the switch to IPv6 is to compensate for a global shortage of IP addresses.\u00a0It only makes sense that the IPv6 protocol has a larger address space than the IPv4 protocol does.<\/p>\n<p>The IPv4 protocol uses a 32-bit source and destination address.\u00a0These addresses are typically represented as a series of four octets.\u00a0As I\u2019m sure you know, a typical IPv4 address looks something like this: 192.168.0.1.<\/p>\n<p>In contrast, an IPv6 address is 128 bits in length. This allows for a total of 3.4&#215;10<sup>38<\/sup>\u00a0(or 340,000,000,000,000,000,000,000,000,000,000,000,000)\u00a0 addresses.\u00a0There are several different ways of representing an IPv6 address.\u00a0An IPv6 address is normally written as eight groups of four hexadecimal digits, each separated by colons.\u00a0For example, an IPv6 address looks like this: 2001:0f68:0000:0000:0000:0000:1986:69af.<\/p>\n<p>You might be looking at the sample address listed above and thinking that typing an IPv6 address involves a lot of effort.\u00a0Fortunately, IPv6 addresses can be shortened by eliminating zeros.\u00a0There are two rules that must be followed when condensing an IPv6 address.\u00a0First, a series of four consecutive zeros can be replaced by two colons, so long as there is only one set of double colons in the resulting address. Using this rule alone, our sample address from above could be condensed to look like this: 2001:0f68::0000:0000:0000:1986:69af<\/p>\n<p>In the example above, we were only able to eliminate one block of zeros because the rule says that there can only be a single set of double colons in an address.\u00a0Obviously, the sample address above is still a lot to type.\u00a0Fortunately, the second rule will allow us to make this address a lot shorter.\u00a0The second rule states that leading zeros in a group can be omitted.\u00a0What this means is that if a block of four numbers starts with a zero, zero can be removed leaving three numbers in the block. If that three digit block of numbers happens to start with a zero, then the zero can be removed again. The process goes on and on so long as there is a zero in the left-hand position in a block. It\u2019s a little tricky to try to explain the process, so I will demonstrate it below. I will start with our original sample address and then work toward condensing that address.<\/p>\n<p><em>2001:0f68:0000:0000:0000:0000:1986:69af<br \/>\n2001:f68:000:000:000:000:1986:69af<br \/>\n2001:f68:00:00:00:00:1986:69af<br \/>\n2001:f68:0:0:0:0:1986:69af<br \/>\n2001:f68::1986:69af<\/em><\/p>\n<p>Notice that in each line, I simply stripped away the leading zero from each section.\u00a0Since there were several sections containing all zeros, I was able to completely remove the sections and replace them with a double colon. This was only possible because the sections containing all zeros were found in a row.\u00a0If the sections of zeros had been scattered, then only one set of zeros could have been completely eliminated (because you are only allowed a single set of double colons).\u00a0All the other sets of zeros would have to be represented as a single zero.<\/p>\n<h2>Using IPv6 Addresses in URLs<\/h2>\n<p>Although DNS servers make it possible to access a website by using a fully qualified domain name rather than an IP address, it is still a somewhat standard practice to enter an IP address as a part of a URL.\u00a0For example, my personal website uses the URL www.brienposey.com, which corresponds to the IP address 24.235.10.4.\u00a0It would be possible to access my website by entering the following URL: http:\/\/24.235.10.4<\/p>\n<p>Most casual Web surfers do not make a habit of entering IP addresses in place of fully qualified domain names.\u00a0Even so, the practice does exist.\u00a0This is especially true for private Web applications.\u00a0Not associating a fully qualified domain name with an application makes it a lot less likely for an unauthorized person to stumble onto the application accidentally.<\/p>\n<p>When an IP address is used in place of a fully qualified domain name, a port number is sometimes specified as\u00a0part of the address. If you simply enter HTTP:\/\/ followed by an address, then your Web browser assumes that you want to use port number 80.\u00a0However, you can specify any port that you want by appending a colon and the port number to the end of the address. For example, if you wanted to access the www.brienposey.com website by IP address, and specifically require a port 80 to be used, then the command would look like this: http:\/\/24.235.10.4:80<\/p>\n<p>The IPv6 protocol can also be used as a part of a URL.\u00a0If you pay attention to the IPv6 format, you\u2019ll notice that an IPv6 address contains a lot of colons. This poses a bit of a problem since your Web browser typically treats anything after a colon as a port number.\u00a0That being the case, IPv6 addresses are enclosed in brackets when they are used as a part of a URL.\u00a0For example, if you were to use our sample IPv6 address in a URL, it would look something like this:<\/p>\n<p><em>HTTP:\/\/[ 2001:0f68:0000:0000:0000:0000:1986:69af]\/<\/em><\/p>\n<p>Just as you can specify a port number alongside an IPv4 address, you can also specify a port number when using an IPv6 address.\u00a0The port number follows the exact same format as it does when IPv4 is being used, and falls outside of the brackets.\u00a0For example, if you were wanting to access the website at our sample IPv6 address over port 80, the URL would look something like this:<\/p>\n<p><em>HTTP:\/\/[ 2001:0f68:0000:0000:0000:0000:1986:69af]:80\/<\/em><\/p>\n<p>Notice that the port number, in this case 80, falls between the close bracket and the ending slash. A colon is also used to designate the port number, just as it is in the IPv4 protocol.<\/p>\n<h2>Conclusion<\/h2>\n<p>So far, I have shown you some different ways of representing an IPv6 address. Like the IPv4 protocol, an IPv6 address range can be subnetted. Although the basic concept of Subnetting works\u00a0in much the same way that it did in the IPv4 protocol, the method of expressing the subnet has changed dramatically. In Part 2 of this article series, I will discuss network notation and subnetting\u00a0and IPv6.\u00a0I will also discuss some special addresses (and address fragments), and what they mean in the IPv6 protocol.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>An introduction to the IPv6 address space. The IPv6 Address Space The most obvious difference between the two protocols is the length of their source and destination addresses. The whole point of making the switch to IPv6 is to compensate for a global shortage of IP addresses.\u00a0It only makes sense that the IPv6 protocol has [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[52],"tags":[],"class_list":["post-1145","post","type-post","status-publish","format-standard","hentry","category-ipv6-ip"],"_links":{"self":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts\/1145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1145"}],"version-history":[{"count":2,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts\/1145\/revisions"}],"predecessor-version":[{"id":1147,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts\/1145\/revisions\/1147"}],"wp:attachment":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}