< Return to Video

The Internet: Packets, Routing and Reliability

  • 0:00 - 0:08
    [song counts down: 7, 6, 5, 4, 3, 2, 1] The
    Internet: Packets, Routing, and Reliability
  • 0:08 - 0:14
    Hi, my name is Lynn. I'm a software engineer
    here at Spotify and I'll be the first to admit
  • 0:14 - 0:19
    that I often take for granted the reliability
    of the internet. The sheer amount of information
  • 0:19 - 0:23
    zooming around the internet is astonishing.
    But how is it possible for every piece of
  • 0:23 - 0:29
    data to be delivered to you reliably? Say
    you want to play a song from Spotify. It seems
  • 0:29 - 0:34
    like your computer connects directly to Spotify
    servers and Spotify sends you a song on a
  • 0:34 - 0:39
    direct, dedicated line. But actually, that's
    not how the internet works. If the internet
  • 0:39 - 0:44
    were made of direct, dedicated connections
    it would be impossible to keep things working
  • 0:44 - 0:48
    as millions of users join. Especially since
    there is no guarantee that every wire and
  • 0:48 - 0:53
    computer is working all the time. Instead,
    data travels on the internet in a much less
  • 0:53 - 1:01
    direct fashion. Many many years ago, in the
    early 1970s my partner Bob Kahn and I began
  • 1:01 - 1:07
    working on the design of what we now call
    the internet. Bob and I had the responsibility
  • 1:07 - 1:15
    and the opportunity to design the internet's
    protocols and its architecture. So we persisted
  • 1:15 - 1:20
    in participating in the internet's growth
    and evolution for all of this time up to and
  • 1:20 - 1:26
    including the present. The way information
    gets transferred from one computer to another
  • 1:26 - 1:31
    is pretty interesting. It need not follow
    a fixed path, in fact, your path may change
  • 1:31 - 1:36
    in the midst of a computer to computer conversation.
    Information on the internet goes from one
  • 1:36 - 1:42
    computer to another in what we call a packet
    of information and a packet travels from one
  • 1:42 - 1:46
    place to another on the internet a lot like
    how you might get from one place to another
  • 1:46 - 1:51
    in a car. Depending on traffic congestion
    or road conditions, you might choose or be
  • 1:51 - 1:59
    forced to take a different route to get to
    the same place each time you travel. And just
  • 1:59 - 2:04
    as you can transport all sorts of stuff inside
    a car, many kinds of digital information can
  • 2:04 - 2:10
    be sent with IP packets but there are some
    limits. What if for example you need to move
  • 2:10 - 2:14
    a space shuttle from where it was built to
    where it will be launched. The shuttle won't
  • 2:14 - 2:19
    fit in one truck so it needs to be broken
    down into pieces, transported using a fleet
  • 2:19 - 2:23
    of trucks. They could all take different routes
    and might get to the destination at different
  • 2:23 - 2:28
    times. But once all the pieces are there,
    you can reassemble the pieces into the complete
  • 2:28 - 2:34
    shuttle and it will be ready for launch. On
    the internet the details work similarly. If
  • 2:34 - 2:40
    you have a very large image that you want
    to send to a friend or upload to a website,
  • 2:40 - 2:45
    that image might be made up of 10s of millions
    of bits of 1s and 0s, too many to send along
  • 2:45 - 2:50
    in one packet. Since it's data on a computer,
    the computer sending the image can quickly
  • 2:50 - 2:56
    break it into hundreds or even thousands of
    smaller parts called packets. Unlike cars
  • 2:56 - 3:00
    or trucks these packets don't have drivers
    and they don't choose their route. Each packet
  • 3:00 - 3:05
    has the internet address of where it came
    from and where it's going. Special computers
  • 3:05 - 3:09
    on the internet called routers act like traffic
    managers to keep the packets moving through
  • 3:09 - 3:15
    the networks smoothly. If one route is congested,
    individual packets may travel different routes
  • 3:15 - 3:20
    through the internet and they may arrive at
    the destination at slightly different times
  • 3:20 - 3:27
    or even out of order. Let's talk about how
    this works. As part of the internet protocol,
  • 3:27 - 3:31
    every router keeps track of multiple paths
    for sending packets, and it chooses the cheapest
  • 3:31 - 3:37
    available path for each piece of data based
    on destination IP address for the packet.
  • 3:37 - 3:42
    Cheapest in this case doesn't mean cost, but
    time and non-technical factors such as politics
  • 3:42 - 3:47
    and relationships between companies. Often
    the best route for data to travel isn't necessarily
  • 3:47 - 3:53
    the most direct. Having options for paths
    makes the network fault tolerant. Which means
  • 3:53 - 3:58
    the network can keep sending packets even
    if something goes horribly, horribly wrong.
  • 3:58 - 4:05
    This is the basis for a key principle of the
    internet: reliability. Now, what if you want
  • 4:05 - 4:09
    to request some data and not everything is
    delivered? Say you want to listen to a song.
  • 4:09 - 4:15
    How can you be 100% sure all the data will
    be delivered so the song plays perfectly?
  • 4:15 - 4:21
    Introducing your new best friend, TCP (transmission
    control protocol). TCP manages the sending
  • 4:21 - 4:27
    and receiving of all your data as packets.
    Think of it like a guaranteed mail service.
  • 4:27 - 4:32
    When you request a song on your device, Spotify
    sends a song broken up into many packets.
  • 4:32 - 4:37
    When your packets arrive, TCP does a full
    inventory and sends back acknowledgements
  • 4:37 - 4:43
    of each packet received. If all packets are
    there, TCP signs for your delivery and you're
  • 4:43 - 4:55
    done. (song plays) If TCP finds some packets
    are missing, it won't sign, otherwise your
  • 4:55 - 5:00
    song won't sound as good or portions of the
    song could be missing. For each missing or
  • 5:00 - 5:06
    incomplete packet, Spotify will resend them.
    Once TCP verifies the delivery of many packets
  • 5:06 - 5:13
    for that one song request, your song will
    start to play. What's great about the TCP
  • 5:13 - 5:19
    and router systems is they're scalable. They
    can work with 8 or 8 billion devices. In fact,
  • 5:19 - 5:23
    because of these principles of fault tolerance
    and redundancy, the more routers we add the
  • 5:23 - 5:28
    more reliable the internet becomes. What's
    also great is we can grow and scale the internet
  • 5:28 - 5:34
    without interrupting service for anybody using
    it. The internet is made of hundreds of thousands
  • 5:34 - 5:39
    of networks and billions of computers and
    devices connected physically. These different
  • 5:39 - 5:44
    systems that make up the internet connect
    to each other, communicate with each other,
  • 5:44 - 5:51
    and work together because of agreed upon standards
    for how data is sent around on the internet.
  • 5:51 - 5:56
    Computing devices, or routers along the internet,
    help all the packets make their way to the
  • 5:56 - 6:03
    destination where they're reassembled, if
    necessary, in order. This happens billions
  • 6:03 - 6:09
    of times a day, whether you and others are
    sending an email, visiting a web page, doing
  • 6:09 - 6:14
    a video chat, using a mobile app, or when
    sensors or devices on the internet talk to
  • 6:14 - 6:15
    each other.
Title:
The Internet: Packets, Routing and Reliability
Description:

Spotify engineer Lynn Root and Vint Cerf, Father of the Internet, explain what keeps the Internet running and how information is broken down into packets.

Start learning at http://code.org/

Stay in touch with us!
• on Twitter https://twitter.com/codeorg
• on Facebook https://www.facebook.com/Code.org
• on Instagram https://instagram.com/codeorg
• on Tumblr https://blog.code.org
• on LinkedIn https://www.linkedin.com/company/code-org
• on Google+ https://google.com/+codeorg

more » « less
Video Language:
English
Duration:
06:26

English subtitles

Revisions