1 00:00:00,090 --> 00:00:00,990 In this lesson, 2 00:00:00,990 --> 00:00:03,990 we're going to discuss IP version 4 and IP version 6 3 00:00:03,990 --> 00:00:06,090 compatibility requirements. 4 00:00:06,090 --> 00:00:07,140 Now, in addition to providing 5 00:00:07,140 --> 00:00:09,750 a lot of new benefits in IP version 6, 6 00:00:09,750 --> 00:00:12,660 the creators of IPv6 were also really smart, 7 00:00:12,660 --> 00:00:16,140 and they realized that for IPv6 to be embraced and accepted, 8 00:00:16,140 --> 00:00:19,200 it would have to be backward compatible with IPv4 9 00:00:19,200 --> 00:00:22,440 and allow them both to coexist on the same network. 10 00:00:22,440 --> 00:00:25,470 After all, it was already into the mid to late 1990s 11 00:00:25,470 --> 00:00:27,900 when IPv6 was first being released, 12 00:00:27,900 --> 00:00:29,160 and a lot of computer networks 13 00:00:29,160 --> 00:00:31,110 were already installed all over the globe 14 00:00:31,110 --> 00:00:32,910 using IP version 4. 15 00:00:32,910 --> 00:00:34,620 So it was simply not be feasible 16 00:00:34,620 --> 00:00:37,260 to change over everything in a single day. 17 00:00:37,260 --> 00:00:38,670 Think about it like the current migration 18 00:00:38,670 --> 00:00:41,640 we're going through from gas-powered to electric vehicles 19 00:00:41,640 --> 00:00:44,940 during the 2020 to 2024 timeframe. 20 00:00:44,940 --> 00:00:46,747 It would be impossible for the government to say, 21 00:00:46,747 --> 00:00:49,920 "On January 1st, 2025, all gas-powered vehicles 22 00:00:49,920 --> 00:00:51,900 will be replaced with electric vehicles." 23 00:00:51,900 --> 00:00:53,370 If our government tried to do that, 24 00:00:53,370 --> 00:00:55,290 they would probably have a revolution on their hands 25 00:00:55,290 --> 00:00:58,140 because so many people already own gas-powered cars 26 00:00:58,140 --> 00:01:00,060 and spent a lot of money on them. 27 00:01:00,060 --> 00:01:02,040 They aren't just going to simply replace them all overnight. 28 00:01:02,040 --> 00:01:04,290 It'll be too expensive and too difficult, 29 00:01:04,290 --> 00:01:06,330 let alone all the infrastructure that goes with it, 30 00:01:06,330 --> 00:01:08,280 like all the gas stations having to be torn out 31 00:01:08,280 --> 00:01:10,620 and all the charging stations having to be installed. 32 00:01:10,620 --> 00:01:13,200 So instead there's a slow transition going on 33 00:01:13,200 --> 00:01:15,030 from gas-powered to electric. 34 00:01:15,030 --> 00:01:18,900 And by 2030 or 2040, most of the new cars sold in the world 35 00:01:18,900 --> 00:01:21,120 are expected to be electric vehicles. 36 00:01:21,120 --> 00:01:23,070 So during this transition period, 37 00:01:23,070 --> 00:01:25,380 which will probably take 20 or 30 years, 38 00:01:25,380 --> 00:01:27,030 we're going to need to have infrastructure in place 39 00:01:27,030 --> 00:01:28,560 for both gas-power vehicles, 40 00:01:28,560 --> 00:01:30,360 like gas stations and fuel pumps, 41 00:01:30,360 --> 00:01:33,420 as well as electric vehicles, like charging stations. 42 00:01:33,420 --> 00:01:34,560 Here in the United States, 43 00:01:34,560 --> 00:01:36,390 I've already noticed a lot of service stations 44 00:01:36,390 --> 00:01:38,610 and gas stations have begun this transition 45 00:01:38,610 --> 00:01:41,340 by installing a bank of electric vehicle charging stations 46 00:01:41,340 --> 00:01:42,690 in their parking lots. 47 00:01:42,690 --> 00:01:44,490 That way when you're on a road trip, 48 00:01:44,490 --> 00:01:46,560 regardless of whether you're driving a gas-powered car 49 00:01:46,560 --> 00:01:47,760 or an electric vehicle, 50 00:01:47,760 --> 00:01:49,680 you'll still be able to stop at their gas station 51 00:01:49,680 --> 00:01:51,570 and fill up with gas or electric 52 00:01:51,570 --> 00:01:53,635 while you go inside and grab a cold drink and a snack 53 00:01:53,635 --> 00:01:55,560 from the service station. 54 00:01:55,560 --> 00:01:58,320 Now the developers of IPv6 knew that it was going to be 55 00:01:58,320 --> 00:02:02,610 a long transition going from IPv4 into IPv6. 56 00:02:02,610 --> 00:02:04,170 So they designed a few different things 57 00:02:04,170 --> 00:02:06,720 to help make these protocols compatible with each other, 58 00:02:06,720 --> 00:02:11,070 including things like dual stack, tunneling, and NAT64. 59 00:02:11,070 --> 00:02:13,170 Now, first we have dual stack. 60 00:02:13,170 --> 00:02:15,060 Dual stack is a network architecture 61 00:02:15,060 --> 00:02:17,610 that allows the coexistence and simultaneous operation 62 00:02:17,610 --> 00:02:20,940 of both IP version 4 and IP version 6 protocols 63 00:02:20,940 --> 00:02:22,980 on the same network infrastructure. 64 00:02:22,980 --> 00:02:24,900 This approach is one of the primary methods 65 00:02:24,900 --> 00:02:26,670 used to facilitate the transition 66 00:02:26,670 --> 00:02:29,340 from IP version 4 to IP version 6, 67 00:02:29,340 --> 00:02:31,380 and it's necessary due to the depletion 68 00:02:31,380 --> 00:02:33,030 of IP version 4 addresses 69 00:02:33,030 --> 00:02:36,000 and the growing number of internet-connected devices. 70 00:02:36,000 --> 00:02:37,920 When using a dual stack environment, 71 00:02:37,920 --> 00:02:38,910 your network devices, 72 00:02:38,910 --> 00:02:40,980 like your routers, your switches, and your hosts, 73 00:02:40,980 --> 00:02:43,080 are going to be configured to understand and process 74 00:02:43,080 --> 00:02:46,620 both IP version 4 and IP version 6 addresses. 75 00:02:46,620 --> 00:02:48,150 And this effectively allows you to run 76 00:02:48,150 --> 00:02:51,900 two separate layers of the internet protocol simultaneously. 77 00:02:51,900 --> 00:02:54,990 This allows for the gradual migration to IP version 6 78 00:02:54,990 --> 00:02:57,240 and ensures compatibility and communication 79 00:02:57,240 --> 00:03:01,410 between your newer IPv6 systems and your older IPv4 systems 80 00:03:01,410 --> 00:03:03,120 without forcing an abrupt shift 81 00:03:03,120 --> 00:03:05,340 to the newer protocol immediately. 82 00:03:05,340 --> 00:03:07,200 The operation of a dual stack network 83 00:03:07,200 --> 00:03:09,090 does involve the simultaneous configuration 84 00:03:09,090 --> 00:03:13,200 of both IPv4 and IPv6 on your network interfaces 85 00:03:13,200 --> 00:03:15,960 and in the network stack of the devices itself. 86 00:03:15,960 --> 00:03:18,660 When a dual stack device communicates with another device, 87 00:03:18,660 --> 00:03:21,450 it tries to prefer IPv6 by default, 88 00:03:21,450 --> 00:03:23,580 but if IPv6 is not available, 89 00:03:23,580 --> 00:03:27,240 then it will fall back to IP version 4 if necessary. 90 00:03:27,240 --> 00:03:29,010 This preference is going to be determined 91 00:03:29,010 --> 00:03:30,930 by the DNS resolution process 92 00:03:30,930 --> 00:03:33,106 and the destination device's capabilities. 93 00:03:33,106 --> 00:03:37,260 If the DNS query returns both A records for IP version 4 94 00:03:37,260 --> 00:03:40,380 and AAAA records for IP version 6, 95 00:03:40,380 --> 00:03:43,770 that device will attempt to use IP version 6 first. 96 00:03:43,770 --> 00:03:45,510 If the IP version 6 attempt fails 97 00:03:45,510 --> 00:03:48,690 or if the destination doesn't support IP version 6, 98 00:03:48,690 --> 00:03:51,750 then the device will automatically try IP version 4 99 00:03:51,750 --> 00:03:54,450 to ensure connectivity regardless of the IP version 100 00:03:54,450 --> 00:03:56,430 being supported on the other end. 101 00:03:56,430 --> 00:03:57,960 This seamless fallback mechanism 102 00:03:57,960 --> 00:04:00,570 is a crucial aspect of dual stack operation 103 00:04:00,570 --> 00:04:02,580 and allows for uninterrupted network services 104 00:04:02,580 --> 00:04:04,590 during the transition period. 105 00:04:04,590 --> 00:04:06,360 Second, we have tunneling. 106 00:04:06,360 --> 00:04:08,190 Now, tunneling is a method used to enable 107 00:04:08,190 --> 00:04:11,340 the communication of one network protocol within another 108 00:04:11,340 --> 00:04:14,340 by encapsulating packets of a different protocol type. 109 00:04:14,340 --> 00:04:16,200 This technique is particularly crucial 110 00:04:16,200 --> 00:04:17,670 in the context of transitioning 111 00:04:17,670 --> 00:04:20,310 from IP version 4 to IP version 6 112 00:04:20,310 --> 00:04:23,250 because it allows you to tunnel IP version 6 packets 113 00:04:23,250 --> 00:04:26,670 over an older legacy IP version 4 network. 114 00:04:26,670 --> 00:04:28,680 Now, the concept of tunneling is very similar to 115 00:04:28,680 --> 00:04:31,350 creating a virtual tunnel through an existing network. 116 00:04:31,350 --> 00:04:32,970 And this way your data can travel 117 00:04:32,970 --> 00:04:36,270 securely and transparently through that older protocol. 118 00:04:36,270 --> 00:04:39,420 In the case of IPv4 and IPv6 coexistence, 119 00:04:39,420 --> 00:04:42,060 tunneling involves encapsulating IPv6 packets 120 00:04:42,060 --> 00:04:45,030 within IPv4 packets, and then allowing them 121 00:04:45,030 --> 00:04:47,250 to traverse the IPv4 infrastructure 122 00:04:47,250 --> 00:04:49,950 as if they were native IPv4 packets. 123 00:04:49,950 --> 00:04:53,130 This process enables devices on an IPv6 network 124 00:04:53,130 --> 00:04:55,380 to communicate through an IPv4 network 125 00:04:55,380 --> 00:04:57,300 without requiring any modifications 126 00:04:57,300 --> 00:05:00,300 to the underlying IPv4 infrastructure. 127 00:05:00,300 --> 00:05:01,350 Now, tunneling involves 128 00:05:01,350 --> 00:05:03,810 the encapsulation and decapsulation of packets 129 00:05:03,810 --> 00:05:05,520 at the operational level. 130 00:05:05,520 --> 00:05:07,530 When an IPv6 packet needs to be sent 131 00:05:07,530 --> 00:05:09,150 through an IPv4 network, 132 00:05:09,150 --> 00:05:13,140 the IPv6 packet will be encapsulated within an IPv4 packet 133 00:05:13,140 --> 00:05:15,870 at the source or entry point of that tunnel. 134 00:05:15,870 --> 00:05:18,090 This encapsulated packet will then travel through 135 00:05:18,090 --> 00:05:19,710 the IP version 4 network 136 00:05:19,710 --> 00:05:21,750 until it reaches the tunnel's endpoint. 137 00:05:21,750 --> 00:05:24,592 Upon arrival, the IPv4 wrapper's going to be removed 138 00:05:24,592 --> 00:05:27,930 and the original IPv6 packet will be deencapsulated 139 00:05:27,930 --> 00:05:31,170 and delivered to its intended IPv6 destination. 140 00:05:31,170 --> 00:05:33,960 This process is transparent to the end devices, 141 00:05:33,960 --> 00:05:35,130 which perceive the communication 142 00:05:35,130 --> 00:05:37,770 as a normal IPv6 interaction. 143 00:05:37,770 --> 00:05:39,810 Tunnel endpoints can be manually configured 144 00:05:39,810 --> 00:05:42,150 by network administrators using static tunnels 145 00:05:42,150 --> 00:05:44,970 or they can automatically be determined by protocols 146 00:05:44,970 --> 00:05:46,230 that are designed for this purpose 147 00:05:46,230 --> 00:05:47,790 to create a dynamic tunnel, 148 00:05:47,790 --> 00:05:51,810 such as 6to4, Teredo, or ISATAP. 149 00:05:51,810 --> 00:05:54,390 Third, we have NAT64. 150 00:05:54,390 --> 00:05:57,480 NAT64 is a network address translation mechanism 151 00:05:57,480 --> 00:05:59,550 that allows IPv6-only devices 152 00:05:59,550 --> 00:06:02,820 to communicate with IPv4 servers and services. 153 00:06:02,820 --> 00:06:04,980 This is a crucial technology in our transition 154 00:06:04,980 --> 00:06:08,490 from IPv4 to IPv6, especially in environments 155 00:06:08,490 --> 00:06:11,640 where it's not feasible to run a dual stack configuration. 156 00:06:11,640 --> 00:06:14,940 NAT64 works by translating IPv6 addresses 157 00:06:14,940 --> 00:06:17,520 into IPv4 addresses and vice versa, 158 00:06:17,520 --> 00:06:19,050 and this enables interoperability 159 00:06:19,050 --> 00:06:20,970 between those two protocols. 160 00:06:20,970 --> 00:06:22,170 This is particularly important 161 00:06:22,170 --> 00:06:23,335 as the internet continues to grow 162 00:06:23,335 --> 00:06:25,530 and the exhaustion of IPv4 addresses 163 00:06:25,530 --> 00:06:27,542 becomes a more pressing issue. 164 00:06:27,542 --> 00:06:30,870 NAT64 not only is going to facilitate communication 165 00:06:30,870 --> 00:06:34,410 between the newer IPv6 and the older IPv4 networks, 166 00:06:34,410 --> 00:06:35,820 but it also helps in conserving 167 00:06:35,820 --> 00:06:37,352 the remaining IPv4 addresses 168 00:06:37,352 --> 00:06:40,050 by allowing multiple IPv6 devices 169 00:06:40,050 --> 00:06:42,600 to share a single IPv4 address. 170 00:06:42,600 --> 00:06:45,120 Now, the operational aspect of NAT64 171 00:06:45,120 --> 00:06:46,950 involves a NAT64 gateway, 172 00:06:46,950 --> 00:06:49,620 which sits at the edge of your IPv6 network. 173 00:06:49,620 --> 00:06:53,340 When an IPv6 only device sends traffic to an IPv4 address, 174 00:06:53,340 --> 00:06:56,490 the traffic will be directed to that NAT64 gateway. 175 00:06:56,490 --> 00:06:59,070 The gateway will then translate the IPv6 address 176 00:06:59,070 --> 00:07:02,280 into an IPv4 address and essentially convert the packet 177 00:07:02,280 --> 00:07:04,770 so that it can traverse the IPv4 network. 178 00:07:04,770 --> 00:07:05,970 For returning traffic, 179 00:07:05,970 --> 00:07:08,070 the gateway translates the IPv4 address 180 00:07:08,070 --> 00:07:10,200 back into an IPv6 address. 181 00:07:10,200 --> 00:07:13,050 The NAT64 gateway will maintain a translation table 182 00:07:13,050 --> 00:07:14,120 to keep track of these mappings 183 00:07:14,120 --> 00:07:16,560 and ensure that sessions are correctly managed 184 00:07:16,560 --> 00:07:20,250 as the return traffic reaches the appropriate IPv6 device. 185 00:07:20,250 --> 00:07:23,160 This translation process is seamless to your end users 186 00:07:23,160 --> 00:07:24,630 and provides a smooth experience 187 00:07:24,630 --> 00:07:25,666 even when accessing services 188 00:07:25,666 --> 00:07:30,540 across different IP versions, like IPv4 and IPv6. 189 00:07:30,540 --> 00:07:32,730 So remember, during this transition period 190 00:07:32,730 --> 00:07:36,690 where both IPv4 and IPv6 are being operated on our networks, 191 00:07:36,690 --> 00:07:38,010 we have three main options 192 00:07:38,010 --> 00:07:39,780 to provide support for both protocols 193 00:07:39,780 --> 00:07:41,430 in our network's infrastructure. 194 00:07:41,430 --> 00:07:45,090 These are dual stack, tunneling, and NAT64. 195 00:07:45,090 --> 00:07:46,950 Dual stack is a network architecture 196 00:07:46,950 --> 00:07:49,140 that allows devices to simultaneously process 197 00:07:49,140 --> 00:07:52,620 and understand both IPv4 and IPv6 addresses 198 00:07:52,620 --> 00:07:55,890 that facilitates a smooth transition between two protocols. 199 00:07:55,890 --> 00:07:57,750 Tunneling is a method that encapsulates 200 00:07:57,750 --> 00:08:00,570 the packets of one network protocol within another 201 00:08:00,570 --> 00:08:03,270 and then enables the secure and transparent transportation 202 00:08:03,270 --> 00:08:05,940 of your data through an incompatible network. 203 00:08:05,940 --> 00:08:09,210 And NAT64 is a network address translation technique 204 00:08:09,210 --> 00:08:11,160 that allows IPv6-only devices 205 00:08:11,160 --> 00:08:13,260 to communicate with IPv4 networks 206 00:08:13,260 --> 00:08:16,830 by converting IPv6 addresses into IPv4 addresses 207 00:08:16,830 --> 00:08:18,270 and vice versa. 208 00:08:18,270 --> 00:08:22,080 Now, one day, we may eventually see IPv4 retired fully, 209 00:08:22,080 --> 00:08:23,550 but it hasn't happened yet, 210 00:08:23,550 --> 00:08:25,160 and I'm really not holding my breath. 211 00:08:25,160 --> 00:08:27,000 From some articles I've read, 212 00:08:27,000 --> 00:08:29,460 there are predictions that IPv4 will remain with us 213 00:08:29,460 --> 00:08:32,760 till at least 2040, and probably beyond that. 214 00:08:32,760 --> 00:08:34,289 So you're really going to have to know how to work with 215 00:08:34,289 --> 00:08:38,523 both IPv4 and IPv6 for at least the foreseeable future.