[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.12,0:00:07.95,Default,,0000,0000,0000,,[song counts down: 7, 6, 5, 4, 3, 2, 1] The\NInternet: Packets, Routing, and Reliability Dialogue: 0,0:00:07.95,0:00:13.65,Default,,0000,0000,0000,,Hi, my name is Lynn. I'm a software engineer\Nhere at Spotify and I'll be the first to admit Dialogue: 0,0:00:13.65,0:00:18.97,Default,,0000,0000,0000,,that I often take for granted the reliability\Nof the internet. The sheer amount of information Dialogue: 0,0:00:18.97,0:00:23.17,Default,,0000,0000,0000,,zooming around the internet is astonishing.\NBut how is it possible for every piece of Dialogue: 0,0:00:23.17,0:00:29.08,Default,,0000,0000,0000,,data to be delivered to you reliably? Say\Nyou want to play a song from Spotify. It seems Dialogue: 0,0:00:29.08,0:00:33.99,Default,,0000,0000,0000,,like your computer connects directly to Spotify\Nservers and Spotify sends you a song on a Dialogue: 0,0:00:33.99,0:00:39.41,Default,,0000,0000,0000,,direct, dedicated line. But actually, that's\Nnot how the internet works. If the internet Dialogue: 0,0:00:39.41,0:00:43.64,Default,,0000,0000,0000,,were made of direct, dedicated connections\Nit would be impossible to keep things working Dialogue: 0,0:00:43.64,0:00:48.05,Default,,0000,0000,0000,,as millions of users join. Especially since\Nthere is no guarantee that every wire and Dialogue: 0,0:00:48.05,0:00:53.35,Default,,0000,0000,0000,,computer is working all the time. Instead,\Ndata travels on the internet in a much less Dialogue: 0,0:00:53.35,0:01:01.21,Default,,0000,0000,0000,,direct fashion. Many many years ago, in the\Nearly 1970s my partner Bob Kahn and I began Dialogue: 0,0:01:01.21,0:01:06.87,Default,,0000,0000,0000,,working on the design of what we now call\Nthe internet. Bob and I had the responsibility Dialogue: 0,0:01:06.87,0:01:14.79,Default,,0000,0000,0000,,and the opportunity to design the internet's\Nprotocols and its architecture. So we persisted Dialogue: 0,0:01:14.79,0:01:20.00,Default,,0000,0000,0000,,in participating in the internet's growth\Nand evolution for all of this time up to and Dialogue: 0,0:01:20.00,0:01:25.50,Default,,0000,0000,0000,,including the present. The way information\Ngets transferred from one computer to another Dialogue: 0,0:01:25.50,0:01:30.90,Default,,0000,0000,0000,,is pretty interesting. It need not follow\Na fixed path, in fact, your path may change Dialogue: 0,0:01:30.90,0:01:36.10,Default,,0000,0000,0000,,in the midst of a computer to computer conversation.\NInformation on the internet goes from one Dialogue: 0,0:01:36.10,0:01:42.05,Default,,0000,0000,0000,,computer to another in what we call a packet\Nof information and a packet travels from one Dialogue: 0,0:01:42.05,0:01:46.36,Default,,0000,0000,0000,,place to another on the internet a lot like\Nhow you might get from one place to another Dialogue: 0,0:01:46.36,0:01:51.42,Default,,0000,0000,0000,,in a car. Depending on traffic congestion\Nor road conditions, you might choose or be Dialogue: 0,0:01:51.42,0:01:59.00,Default,,0000,0000,0000,,forced to take a different route to get to\Nthe same place each time you travel. And just Dialogue: 0,0:01:59.00,0:02:03.98,Default,,0000,0000,0000,,as you can transport all sorts of stuff inside\Na car, many kinds of digital information can Dialogue: 0,0:02:03.98,0:02:10.36,Default,,0000,0000,0000,,be sent with IP packets but there are some\Nlimits. What if for example you need to move Dialogue: 0,0:02:10.36,0:02:14.20,Default,,0000,0000,0000,,a space shuttle from where it was built to\Nwhere it will be launched. The shuttle won't Dialogue: 0,0:02:14.20,0:02:18.78,Default,,0000,0000,0000,,fit in one truck so it needs to be broken\Ndown into pieces, transported using a fleet Dialogue: 0,0:02:18.78,0:02:23.10,Default,,0000,0000,0000,,of trucks. They could all take different routes\Nand might get to the destination at different Dialogue: 0,0:02:23.10,0:02:28.11,Default,,0000,0000,0000,,times. But once all the pieces are there,\Nyou can reassemble the pieces into the complete Dialogue: 0,0:02:28.11,0:02:34.33,Default,,0000,0000,0000,,shuttle and it will be ready for launch. On\Nthe internet the details work similarly. If Dialogue: 0,0:02:34.33,0:02:40.09,Default,,0000,0000,0000,,you have a very large image that you want\Nto send to a friend or upload to a website, Dialogue: 0,0:02:40.09,0:02:44.82,Default,,0000,0000,0000,,that image might be made up of 10s of millions\Nof bits of 1s and 0s, too many to send along Dialogue: 0,0:02:44.82,0:02:49.81,Default,,0000,0000,0000,,in one packet. Since it's data on a computer,\Nthe computer sending the image can quickly Dialogue: 0,0:02:49.81,0:02:55.72,Default,,0000,0000,0000,,break it into hundreds or even thousands of\Nsmaller parts called packets. Unlike cars Dialogue: 0,0:02:55.72,0:03:00.23,Default,,0000,0000,0000,,or trucks these packets don't have drivers\Nand they don't choose their route. Each packet Dialogue: 0,0:03:00.23,0:03:04.65,Default,,0000,0000,0000,,has the internet address of where it came\Nfrom and where it's going. Special computers Dialogue: 0,0:03:04.65,0:03:09.43,Default,,0000,0000,0000,,on the internet called routers act like traffic\Nmanagers to keep the packets moving through Dialogue: 0,0:03:09.43,0:03:15.24,Default,,0000,0000,0000,,the networks smoothly. If one route is congested,\Nindividual packets may travel different routes Dialogue: 0,0:03:15.24,0:03:20.37,Default,,0000,0000,0000,,through the internet and they may arrive at\Nthe destination at slightly different times Dialogue: 0,0:03:20.37,0:03:26.57,Default,,0000,0000,0000,,or even out of order. Let's talk about how\Nthis works. As part of the internet protocol, Dialogue: 0,0:03:26.57,0:03:31.17,Default,,0000,0000,0000,,every router keeps track of multiple paths\Nfor sending packets, and it chooses the cheapest Dialogue: 0,0:03:31.17,0:03:37.08,Default,,0000,0000,0000,,available path for each piece of data based\Non destination IP address for the packet. Dialogue: 0,0:03:37.08,0:03:42.12,Default,,0000,0000,0000,,Cheapest in this case doesn't mean cost, but\Ntime and non-technical factors such as politics Dialogue: 0,0:03:42.12,0:03:47.50,Default,,0000,0000,0000,,and relationships between companies. Often\Nthe best route for data to travel isn't necessarily Dialogue: 0,0:03:47.50,0:03:53.15,Default,,0000,0000,0000,,the most direct. Having options for paths\Nmakes the network fault tolerant. Which means Dialogue: 0,0:03:53.15,0:03:57.70,Default,,0000,0000,0000,,the network can keep sending packets even\Nif something goes horribly, horribly wrong. Dialogue: 0,0:03:57.70,0:04:04.85,Default,,0000,0000,0000,,This is the basis for a key principle of the\Ninternet: reliability. Now, what if you want Dialogue: 0,0:04:04.85,0:04:09.35,Default,,0000,0000,0000,,to request some data and not everything is\Ndelivered? Say you want to listen to a song. Dialogue: 0,0:04:09.35,0:04:14.83,Default,,0000,0000,0000,,How can you be 100% sure all the data will\Nbe delivered so the song plays perfectly? Dialogue: 0,0:04:14.83,0:04:21.44,Default,,0000,0000,0000,,Introducing your new best friend, TCP (transmission\Ncontrol protocol). TCP manages the sending Dialogue: 0,0:04:21.44,0:04:26.53,Default,,0000,0000,0000,,and receiving of all your data as packets.\NThink of it like a guaranteed mail service. Dialogue: 0,0:04:26.53,0:04:31.67,Default,,0000,0000,0000,,When you request a song on your device, Spotify\Nsends a song broken up into many packets. Dialogue: 0,0:04:31.67,0:04:37.21,Default,,0000,0000,0000,,When your packets arrive, TCP does a full\Ninventory and sends back acknowledgements Dialogue: 0,0:04:37.21,0:04:42.84,Default,,0000,0000,0000,,of each packet received. If all packets are\Nthere, TCP signs for your delivery and you're Dialogue: 0,0:04:42.84,0:04:54.82,Default,,0000,0000,0000,,done. (song plays) If TCP finds some packets\Nare missing, it won't sign, otherwise your Dialogue: 0,0:04:54.82,0:04:59.93,Default,,0000,0000,0000,,song won't sound as good or portions of the\Nsong could be missing. For each missing or Dialogue: 0,0:04:59.93,0:05:05.93,Default,,0000,0000,0000,,incomplete packet, Spotify will resend them.\NOnce TCP verifies the delivery of many packets Dialogue: 0,0:05:05.93,0:05:13.37,Default,,0000,0000,0000,,for that one song request, your song will\Nstart to play. What's great about the TCP Dialogue: 0,0:05:13.37,0:05:19.22,Default,,0000,0000,0000,,and router systems is they're scalable. They\Ncan work with 8 or 8 billion devices. In fact, Dialogue: 0,0:05:19.22,0:05:23.45,Default,,0000,0000,0000,,because of these principles of fault tolerance\Nand redundancy, the more routers we add the Dialogue: 0,0:05:23.45,0:05:28.07,Default,,0000,0000,0000,,more reliable the internet becomes. What's\Nalso great is we can grow and scale the internet Dialogue: 0,0:05:28.07,0:05:34.38,Default,,0000,0000,0000,,without interrupting service for anybody using\Nit. The internet is made of hundreds of thousands Dialogue: 0,0:05:34.38,0:05:39.28,Default,,0000,0000,0000,,of networks and billions of computers and\Ndevices connected physically. These different Dialogue: 0,0:05:39.28,0:05:44.36,Default,,0000,0000,0000,,systems that make up the internet connect\Nto each other, communicate with each other, Dialogue: 0,0:05:44.36,0:05:51.29,Default,,0000,0000,0000,,and work together because of agreed upon standards\Nfor how data is sent around on the internet. Dialogue: 0,0:05:51.29,0:05:56.00,Default,,0000,0000,0000,,Computing devices, or routers along the internet,\Nhelp all the packets make their way to the Dialogue: 0,0:05:56.00,0:06:02.79,Default,,0000,0000,0000,,destination where they're reassembled, if\Nnecessary, in order. This happens billions Dialogue: 0,0:06:02.79,0:06:08.89,Default,,0000,0000,0000,,of times a day, whether you and others are\Nsending an email, visiting a web page, doing Dialogue: 0,0:06:08.89,0:06:13.87,Default,,0000,0000,0000,,a video chat, using a mobile app, or when\Nsensors or devices on the internet talk to Dialogue: 0,0:06:13.87,0:06:14.91,Default,,0000,0000,0000,,each other.