This page was exported from Free Cisco Training & Resources - Certification Exam Preparation [ https://www.ciscobibles.com ] Export date:Wed Mar 12 21:05:34 2025 / +0000 GMT ___________________________________________________ Title: Converting IPv4 to IPv6 and back --------------------------------------------------- Converting from IPv4 to IPv6 Is so easy, yet everyone seem to convert a IPv4 address to binary, then to IPv6. Why? Why waste time and do things the long way? Not cool. Firstly before starting I will assume everyone knows the following: Binary is a Base-2 numbering system, as it has only 0,1 Decimal is a Base-10 numbering system, as it has 0,1,2,3,4,5,6,7,8,9 Hexadecimal is a Base-16 numbering system, as it has 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F I also assume you know the hex values in decimal: A = 10 B = 11 C = 12 D = 13 E = 14 F = 15 Two more things I would like to mention before explaining the conversion. An IPv4 address : example 192.168.99.1 Each Octet (8 bits) “between the dot-thingys” denote 1 byte An IPv6 address : example 2001:0db8:85a3:0000:0000:8a2e:0370:7334 Two Tuples (1 Tuple = 4 bits = 1 Hex character) denotes 1 byte Then converting is easy. Lets take the following IPv4 address : 192.168.99.1 and convert it to Hex. Step1 > Divide the first octet (192) by 16 (since Hex is a Base-16) IE : 192/16 = 12 times exactly with 0 left over - 12 in Hex is represented as C - 0 (zero) in Hex is, you guessed it, 0 Thus 192 in HEX is C0 Step2 > Repeat step 1 with the second octet (168), IE : 168/16 = 10 times with 8 left over because 10*6 = 160, - 10 in HEX is A - 8 in HEX is 8 Thus 168 in HEX is A8 Step3 > Repetition rules!!! Third octet (99) IE : 99/16 = 6 times with 3 left over - 6 in HEX is 6 - 3 in HEX is 3 Thus 99 in HEX is 63 Step4 > Last octet IE : 1/16 = 0 times with 1 left over - 0 in HEX is, yeah it is 0 - 1 in HEX is 1 Thus 1 in HEX is 01 So the IPv4 address of 192.168.99.1 in IPv6 address format is C0A8:6301 See, not all that difficult, if you know your 16 multiplication table, you can do this in your head, no problems. - - - - Converting back from IPv6 to IPv4 Now to convert the address C0A8:6301 back to IPv4, the reverse method would apply. Let me point one more thing about Base-16 out to understand why I'm doing what I am below: 160 = 1 161 = 16 Taking the same address C0A8:6301, first divide the address into 2 Tuple-groupings (2 Hex Characters) = C0 A8 63 01 Step1 > Take C0 and multiply the first character ‘C' by 16 and the second character ‘0′ by 1. Add the two decimal values together to get the IPv4 decimal value IE: ((C=12)*16) + (0*1) = 192 Step2 > Repeat the same process with A8, IE: ((A=10)*16) + (8*1) = 168 Step3 > Repeat the same process with 63, IE: (6*16) + (3*1) = 99 Step4 > Repeat the same process with 01, IE: (0*16) + (1*1) = 1 This will give you an IPv4 address of 192.168.99.1 Easy, easy! Source --------------------------------------------------- Images: --------------------------------------------------- --------------------------------------------------- Post date: 2009-04-09 14:45:37 Post date GMT: 2009-04-09 06:45:37 Post modified date: 2010-07-22 23:50:08 Post modified date GMT: 2010-07-22 15:50:08 ____________________________________________________________________________________________ Export of Post and Page as text file has been powered by [ Universal Post Manager ] plugin from www.gconverters.com