Revision 6282397 of "User:Wekeepwhatwekill/sandbox1" on simplewiki

== Introduction ==


'''IPV6''' is '''I'''nternet '''P'''rotocol '''V'''ersion '''6'''.  [[Internet_Protocol|Internet Protocol]] is a system that allows each computer to be identified on the internet.  Each computer is  issued a numeric  (a number that identifies the computer, like your address identifies your house)  address called an I.P ('''I'''nternet '''P'''rotocol) address.   Under the prior version <ref name="IPV4">{{Cite web|url=https://tools.ietf.org/html/rfc791|title=IPV4}}</ref>, IPV4 (Internet Protocol, Version 4), all computers are the internet were assigned a set of decimal numbers.  It would be  12 numbers in all, broken up into four sets of three numbers separated by a period ( for example 192.168.1.254).    This worked well, however, IPV4 was limited to  4.3 billion addresses that it could hand out before there was no more to hand out.  <p> With everyone now using the internet on their phones, their computers, their laptops, even their Television sets, there just wasn't enough numbers to go around.  So, on July 14, 2017 
<ref name="IPV6">{{Cite web|url=https://www.internetsociety.org/blog/2017/07/rfc-8200-ipv6-has-been-standardized/|title=IPV6}}</ref> was introduced to the web!

== How it works ==
Internet Protocol Version 4 used four set of three decimal numbers separated by a period  (for example: 192.168.1.254).  Internet Protocol Version 6 uses 8 sets of [[Hexadecimal_numeral_system | hexadecimal numbers ]] separated by colons.   ''"Hexa"'' means 16, and as a matter of fact, the hexadecimal number system counts up to 16.   In the  [[Decimal]] system, we could be able to count to 16 by counting 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15.  In the hexadecimal system , we would start off normally,  0,1,2,3,4,5,6,7,8,9, '''however''' once we pass "9" we could use A,B,C,D,E,F  for 10,11,12,13,14,15.   For an example of this, please see the table below:<p>

{| 
|valign=top|
{| class=wikitable
!Decimal!!Hex
|-
|align=right|0||align=right|0
|-
|align=right|1||align=right|1
|-
|align=right|2||align=right|2
|-
|align=right|3||align=right|3
|-
|align=right|4||align=right|4
|-
|align=right|5||align=right|5
|-
|align=right|6||align=right|6
|-
|align=right|7||align=right|7
|-
|align=right|8||align=right|8
|-
|align=right|9||align=right|9
|-
|align=right|10||align=right|A
|-
|align=right|11||align=right|B
|-
|align=right|12||align=right|C
|-
|align=right|13||align=right|D
|-
|align=right|14||align=right|E
|-
|align=right|15||align=right|F
|-
|}
|}

<p> To get  your I.P address, it starts out as set of 8 binary numbers.  The binary number system uses only "0" and "1" and reads from right to left.
It counts from 0 to 7, and it's written like this: <p>
'''0 0 0 0 0 0 0 0 '''   <p>

Each position from right to left is a power of 2  (that's 2 times 2 as many times as the power says, for example 2 to the third power is the same as 2 X 2 X 2, which 
equals 8.   So, when decimals are read it's read as  two to the power of: <p>

'''0 0 0 0 0 0 0 0 '''<br>
'''7 6 5 4 3 2 1 0 '''<br> <p>

So, IPV6 starts out with a string of binary numbers like this: <p>

0010000000000001 0000000000000000 0011001000111000 1101111111100001 0000000001100011 
0000000000000000 0000000000000000 1111111011111011<br>


IPV6 cuts the 8 digit binary number in half and creates two sets of binary numbers in groups of four, like this:<p>

0010 0000 0000 0001   0000 0000 0000 0000   0011 0010 0011 1000  1101 1111 1110 0001    0000 0000 0110 0011 
0000 0000 0000 0000   0000 0000 0000 0000     1111 1110 1111 1011<p>


  The numbers are read the same, still right to left, however, they count from 3 to 0 , right to left.  The numbers are then converted from binary to hexadecimal.
See the table below for a conversion from decimal to binary to hex: <p>

{| 
|valign=top|
{| class=wikitable
!Decimal!!Binary!!Hex
|-
|align=right|0||align=right|0000||align=right|0
|-
|align=right|1||align=right|0001||align=right|1
|-
|align=right|2||align=right|0010||align=right|2
|-
|align=right|3||align=right|0011||align=right|3
|-
|align=right|4||align=right|0100||align=right|4
|-
|align=right|5||align=right|0101||align=right|5
|-
|align=right|6||align=right|0110||align=right|6
|-
|align=right|7||align=right|0111||align=right|7
|-
|align=right|8||align=right|1000||align=right|8
|-
|align=right|9||align=right|1001||align=right|9
|-
|align=right|10||align=right|1010||align=right|A
|-
|align=right|11||align=right|1011||align=right|B
|-
|align=right|12||align=right|1100||align=right|C
|-
|align=right|13||align=right|1101||align=right|D
|-
|align=right|14||align=right|1110||align=right|E
|-
|align=right|15||align=right|1111||align=right|F
|-
|}
|}

So this: <br>
0010 0000 0000 0001   0000 0000 0000 0000   0011 0010 0011 1000  1101 1111 1110 0001    0000 0000 0110 0011 
0000 0000 0000 0000   0000 0000 0000 0000     1111 1110 1111 1011 <br><br>
become this:<br>
2001:0000:3238:DFE1:0063:0000:0000:FEFB<br><br>

== Why it works ==

IPV4 was able to handle 4.3 billion internet addresses, however, with everyone's phones, tables,  televisions and even household appliances connecting to the internet, it was pretty obvious that more  internet addresses were needed.  IPV4 couldn't handle the demand for so many more IP addresses,  so IPV6 was developed.  IPV6 can  handle 340 [[Undecillion|undecillion]] addresses.  To put that into numbers: <br><br>

IPV4:  '''4,294,967,296  addresses possible ''' <br>
IPV6:  '''340,282,366,920,938,463,463,374,607,431,768,211,456 addresses possible''' <br><br>

In short, a ''great'' deal more addresses are available with this system. 

Also, IPV6 allows for multicasting, that is, sending one network packet to multiple computers with one request.  This would be like writing a letter (which would be what the packet actually is, the letter), dropping it in one envelope and having it reach many different people in many different locations at the same time.   IPV4 ''can'' multicast, ''but'' it's not something that's normally a part of IPV4, it has to be added in to work. IPV6 has multicasting already a part of itself.

It can also automatically set up addresses for different computers on a network. IPV4 can do this as well, but it needs assistance from the router, IPV6 doesn't need assistance, it already knows what it needs to do , out of the box, so to speak!

IPV4 had no real privacy settings in it, your IP address could link right to you. IPV6 ''has'' privacy built in, in the form of a helper program that works by generating random addresses then letting them go after a certain period of time.


== Address format ==

IPV6 has an address format to it.  The first 64 bits are the network's identifier.<ref name="IPV6">{{Cite web|url=https://www.ibm.com/support/knowledgecenter/en/STCMML8/com.ibm.storage.ts3500.doc/opg_3584_IPv4_IPv6_prefix_subnet_mask.html|title=IPV6 Addresses}}</ref>  Those bits will remain the same for each network,  for example, if the IPV6 address is:<br><br> 2001:0000:3238:DFE1:0063:0000:0000:FEFB <br><br>  the first 64 bits (the network identifier) would be <br><br> 2001:0000:3238:DFE1.  The second set of 64 bits would be the host address, using our original IPV6 as an example, that would be:<br><br> 0063:0000:0000:FEFB. <br><br>

This would look a bit different in an office setting (like an office network).  The first 64 bits would still be the network prefix, they'd still be the same (2001:0000:3238).  The 49th to the to the 64th bit (the fourth grouping of four hex numbers) would be the subnet, in the case of our first IPV6 address that woudld be '''DFE1''' (13,14,15,1 in hexadecimal) (  A subnet is a second network connected to the first network).  The last four set of four digit numbers would be your device address (0063:0000:0000:FEFB).  The device address is the actual IPV6 address that connects to your Android, your computer, your T.V set, pretty much any device that's online will get an address from this section!