4.3 The Internet Protocol, part 1 — Transcript
Full transcript
- 0:00[Music]
- 0:09in this section we're going to take a
- 0:11deep dive into the Internet's network
- 0:14layer and because there's a lot to cover
- 0:16here we're going to do this in two parts
- 0:18in the first part we're going to cover
- 0:20the ipv4 protocol and addressing now
- 0:23obviously IP is incredibly important but
- 0:27so too is addressing and actually
- 0:29address things part of ipv4 you know I
- 0:32used to think that addressing was sort
- 0:34of cut and dry and maybe even a little
- 0:36bit boring but I've learned that
- 0:38addressing has a lot to do with
- 0:40relationships between ISPs having to do
- 0:43with administrative boundaries technical
- 0:45issues as small and local as what
- 0:48happens inside a routing table lookup
- 0:50and hardware - as global a set of
- 0:52concerns as how global addressing and
- 0:55forwarding is done so it turns out
- 0:57addressing is really important and also
- 0:59pretty interesting in the second part
- 1:02we're going to cover what's known as
- 1:03network address translation NAT and a
- 1:06new version of IP known as ipv6 so I
- 1:09think you'll find this interesting stay
- 1:11tuned so let's start with a big picture
- 1:14view of the Internet's network layer
- 1:16remember we learned earlier about the
- 1:18network layers control and data plane in
- 1:21the forwarding table that's the router
- 1:23local table that determines the output
- 1:25port to which a router will forward an
- 1:28incoming data gram and we also learned
- 1:30in the introduction to the network layer
- 1:32that the forwarding tables contents
- 1:34determined either by distributed routing
- 1:37protocols or by a router external Sdn
- 1:40controller will cover routing algorithms
- 1:42and Sdn controllers when we study the
- 1:45network layers control plane a key part
- 1:48of the internets network layer is of
- 1:50course the IP protocol the celebrated IP
- 1:53protocol but what exactly is the IP
- 1:55protocol well by looking at this diagram
- 1:58you can see that the IP protocol is not
- 2:00about routing algorithms or Sdn
- 2:03controllers those are control plane
- 2:05functions instead the IP protocols about
- 2:08the data gram format it's about how IP
- 2:11addresses are structured and interpreted
- 2:14and it's about packet handling
- 2:16conventions like how to fragment large
- 2:18packets into smaller packets so IP is
- 2:22really just a piece albeit a really
- 2:24important piece of the Internet's
- 2:26network layer the ICMP protocol which
- 2:30we'll cover as part of the network layer
- 2:31control plane is also part of the
- 2:34network layer since the IP protocol is
- 2:37about data Graham formats addressing and
- 2:40packet handling conventions let's then
- 2:42start our study of IP by looking at the
- 2:45IP Datagram format using this figure
- 2:48we'll walk through the fields of the IP
- 2:50Datagram now I know this might seem a
- 2:52little bit dry but really anyone who
- 2:55takes a networking course really needs
- 2:57to know this sort of like eating your
- 2:59vegetables you know it's good for you
- 3:00and so you really do have to do it and
- 3:02hopefully you'll even love it or find it
- 3:06interesting anyway well first there's
- 3:09the version number field these 4 bits
- 3:11specify the IP protocol version of the
- 3:14data Graham here of course we're looking
- 3:16at the ipv4 header because an ipv4
- 3:20Datagram can contain a variable number
- 3:22of options which we see here in the data
- 3:25gram header the header length field
- 3:28indicates how many bytes are in the
- 3:30header this lets the host or router know
- 3:32where the payload actually begins in the
- 3:34IP Datagram most IP datagrams don't
- 3:37contain options
- 3:38so the typical IP Datagram header goes
- 3:40from here to here a 20-byte header the
- 3:43data gram length field indicates the
- 3:46total number of bytes in the IP Datagram
- 3:48header plus payload this is needed
- 3:50because the payload can also be a
- 3:52variable size since this fields 16 bits
- 3:55long the theoretical maximum size of an
- 3:59IP Datagram is 64 K bytes but data grams
- 4:02are usually no larger than 1,500 bytes
- 4:05which allows a data gram to fit nicely
- 4:07inside the payload field of a maximally
- 4:10sized Ethernet link layer frame the type
- 4:13of service bits were included in the
- 4:15ipv4 header to allow different types of
- 4:18data grams to be distinguished from each
- 4:20other the definition and use of these
- 4:22bits is really evolved over time for our
- 4:25purposes the most important type of
- 4:27service bits are the two bits used for
- 4:30explicit congestion notification ecn and
- 4:32remember that's a topic we study
- 4:35in detail in the transport layer a
- 4:37router sets these two bits to indicate
- 4:39congestion the remaining six types of
- 4:42service bits are used to differentiate
- 4:44among different classes of traffic which
- 4:46can then be given different service
- 4:48based on their traffic class using the
- 4:50buffering and scheduling algorithms we
- 4:53just studied in the previous section the
- 4:55TTL field is a counter that decremented
- 4:59by 1 each time a Datagram passes through
- 5:01a router if the TTL count ever reaches 0
- 5:04the data gram must be dropped at the
- 5:06router and so the TTL field is used to
- 5:09ensure that packets don't loop forever
- 5:11or even for a long time if there are
- 5:14forwarding loops the upper-layer
- 5:16protocol field indicates the transport
- 5:18layer protocol to which the payload in
- 5:20this IP Datagram is going to be passed
- 5:23for example a value of 6 indicates that
- 5:26this data gram contains a TCP segment
- 5:28that will be passed up to TCP a value of
- 5:3117 indicates that the payload is a UDP
- 5:33segment the IP ID field flags and
- 5:37fragment offset field are used when a
- 5:40single large IP datagrams fragmented
- 5:43into multiple smaller data grams this
- 5:46doesn't happen often and actually these
- 5:48fields don't even show up in IP version
- 5:506 and so we won't see anything more
- 5:52about them here you can read about them
- 5:54more by following the pointers in our
- 5:57textbook the header checksum is an
- 6:00internet checksum computed over the
- 6:02contents of the IP header remember we
- 6:05studied the internet checksum earlier
- 6:07and note that since some of the IP
- 6:09header fields change each time a data
- 6:12gram passes through a router the TTL
- 6:14field is decremented for example the
- 6:16checksum needs to be recomputed at each
- 6:18router that the data gram passes through
- 6:21that can be time-consuming and may be as
- 6:24a result of this the header checksum
- 6:26field was also removed in ipv6 we've
- 6:29already talked about the 32-bit source
- 6:32and destination IP address fields
- 6:34remember that we just saw in destination
- 6:36based forwarding that an IP router uses
- 6:39the data grams destination IP address
- 6:41here to look up the appropriate router
- 6:44output port to which the data gram
- 6:46should be
- 6:47forward it and then finally there are a
- 6:50number of optional fields in the data
- 6:52gram header we'll skip those here and
- 6:54then of course the data grams payload
- 6:56itself the payloads the data transport
- 6:59layer segment that IP will deliver up to
- 7:02the transport layer protocol whoa
- 7:05well that was a lot of fields to think
- 7:07about and to go through and as we
- 7:09mentioned ipv6 is a lot more streamlined
- 7:12than ipv4 and so we'll find fewer header
- 7:15fields there let's start our discussion
- 7:20of IP addressing with a few basic
- 7:22concepts the first important thing to
- 7:24know is that an IP address does not
- 7:27identify a host or router per se but
- 7:30rather an interface a link layer
- 7:33interface on a host or router routers
- 7:36pretty much always have more than one
- 7:38interface that is to say multiple
- 7:40incoming and outgoing links and hosts
- 7:43often do as well for example my laptop
- 7:45has a wired Ethernet interface and a
- 7:48wireless 802 11 interface each with a
- 7:51different IP address as we've seen 32
- 7:55bit IP addresses are written in so
- 7:58called dotted decimal notation with each
- 8:00decimal number corresponding to an 8-bit
- 8:03byte in the address field here the
- 8:0632-bit binary address is to 23.1 1.1 in
- 8:11dotted decimal notation well you know
- 8:15looking at this diagram it might be a
- 8:16little bit unsatisfying to you it looks
- 8:19like the link layer interfaces these
- 8:21black lines just sort of vaguely end up
- 8:24in a blue cloud what's up with that how
- 8:27are these interfaces actually connected
- 8:29together so that one interface can
- 8:31communicate directly with another
- 8:33interface that's attached to the same
- 8:35blue cloud well remember that we're at
- 8:38the network layer right now and the
- 8:40connection of these interfaces is done
- 8:42via link layer technologies which are
- 8:45the layer below what we're studying
- 8:46right now so one answer to your question
- 8:49would be well be patient we'll get to
- 8:51that but if you're just dying to see
- 8:53what the complete picture looks like
- 8:55here's what it is
- 8:57the host and the router interfaces might
- 8:59be connected through wired Ethernet
- 9:00switches or they might be connected
- 9:02through a NATO 2.11 wireless network but
- 9:05there will be a link layer local area
- 9:08network or point-to-point link protocol
- 9:10typically Ethernet or Wi-Fi in practice
- 9:13that will be used to connect the
- 9:15interfaces and we really will learn
- 9:18about this just a bit later so stay
- 9:20tuned and for now back to the network
- 9:22layer if you take a close look at this
- 9:26figure in particular the IP addresses in
- 9:29this figure you'll notice that the
- 9:30interfaces that are connected to each
- 9:32other have similar but not identical IP
- 9:35addresses that's because they all belong
- 9:38to the same subnet so what is a subnet
- 9:41well each subnet is a piece of the
- 9:44network that contains all devices that
- 9:46can reach each other without passing
- 9:49through an intervening layer three that
- 9:51is to say network layer router that is
- 9:54they're directly connected to each other
- 9:56via some link layer technology and
- 9:59here's how that ties into addressing an
- 10:01IP address has two parts a subnet part
- 10:04and a host part and if two interfaces
- 10:07are on the same subnet their IP
- 10:10addresses must have a common subnet part
- 10:13and of course they'll have different
- 10:14host parts so let's be very specific in
- 10:18defining subnets to find a subnet
- 10:21attached each interface from its host or
- 10:24router as we've done here and this will
- 10:27leave islands of isolated networks and
- 10:30so in this example here we have three
- 10:32subnets now let's look at the addressing
- 10:35remember that interfaces on the same
- 10:38subnet will have the same subnet part of
- 10:41their IP addresses the so-called subnet
- 10:44mask says how many high order bits they
- 10:46have in common let's assume that's 24
- 10:49bits in this case this lower subnet here
- 10:52has a 24-bit address of 220 3.1.3 we say
- 10:58220 3.1 3/24 and these three interfaces
- 11:05have addresses that all start with 223
- 11:09dot
- 11:09three the next subnet is two 23.1 1/24
- 11:16note that these four interfaces have
- 11:19addresses that start with two twenty
- 11:21three dot one dot one and this third
- 11:24subnet address is two twenty three dot
- 11:27one dot 2/24 let's take a look at this
- 11:32network with three routers and seven
- 11:34hosts can you find the subnets think
- 11:37about it well let's disconnect the
- 11:41interfaces from their host or router to
- 11:43see the subnets and here are the slash
- 11:46twenty four subnet addresses this slash
- 11:50notation that we've been using has a
- 11:52name it's called classless inter-domain
- 11:54routing CIDR and actually pronounced
- 11:57cider due to its historical origins the
- 12:01subnet portion of the address can be any
- 12:03number of bits x and a cider i's address
- 12:06is one of the form ABCD / X where X is
- 12:12the number of bits in the subnet address
- 12:13and sometimes the D is emitted when it's
- 12:16zero here's an example of a 32 bit IP
- 12:19address and its side Erised
- 12:21dotted decimal notation well let's wrap
- 12:25up our discussion of ipv4 and addressing
- 12:29by posing a question that maybe you've
- 12:31been wondering about how does one
- 12:32actually get an IP address in the first
- 12:35place and really that's two questions
- 12:37how does a host get an address within
- 12:40the subnet range associated with the
- 12:42subnet that it's going to be joining and
- 12:44then sort of the bigger picture question
- 12:46how does a network how does a sub
- 12:48network get a range of addresses that
- 12:50are going to be used by devices by
- 12:53interfaces within that sub network let's
- 12:55look at both of these questions well
- 12:59let's start with the first question how
- 13:01does a host get an IP address for its
- 13:03interface well back in the day a
- 13:06sysadmin used to actually manually edit
- 13:09the IP address into a file on that host
- 13:12but we've progressed a lot since then
- 13:14using a plug and play or what sometimes
- 13:17known as a zero Kampf zero configuration
- 13:20approach that's to say an approach
- 13:22that uses a protocol between a host and
- 13:25a server rather than manual
- 13:27configuration to get an IP address the
- 13:30need for a zeroconf approach is
- 13:31hopefully obvious with billions of hosts
- 13:34worldwide more than half being mobile
- 13:36and these are hosts that are constantly
- 13:38attaching to a network and then later
- 13:40detaching and then attaching over and
- 13:42over again the protocol used by a host
- 13:45to get an IP address on a network is
- 13:47known as DHCP the dynamic host
- 13:50configuration protocol in order to
- 13:54allocate a plug-and-play IP address
- 13:57using DHCP a network will need to have a
- 14:00DHCP server to perform that function and
- 14:03an arriving client that is a host
- 14:05wanting an IP address will request and
- 14:08receive an IP address from the DHCP
- 14:10server using the DHCP protocol when a
- 14:15host leaves the network it'll give up
- 14:17its IP address which can then later be
- 14:19reused by another host or reclaimed or
- 14:22may be renewed by this host at a later
- 14:25point in time we're going to take a look
- 14:27at for DHCP messages that we'll want to
- 14:30study there are more but these are
- 14:32really the key ones discover offer
- 14:35request in acknowledgment let's see how
- 14:37DHCP works here's the scenario we'll
- 14:42look at using the simple network that
- 14:44we've seen before and in this network we
- 14:46see the DHCP server here well typically
- 14:50a DHCP server would be co-located in a
- 14:53router and serving all of the subnets to
- 14:56which that router is attached but we've
- 14:58shown it here as a separate server which
- 15:00also happens with an IP address of 223
- 15:0512.5 and here's the arriving client that
- 15:08will want an IP address in the 223 one
- 15:132/24 subnet now let's take a look at
- 15:16what the DHCP clients server message
- 15:19exchange actually looks like
- 15:22in the first step the arriving client
- 15:24broadcasts a DHCP message that will be
- 15:27received on the interfaces of all of the
- 15:30hosts and routers in the subnet to which
- 15:33it's attaching the discover message
- 15:35basically says hey is there a DHCP
- 15:38server out there this is a form of
- 15:40service discovery the host knows the
- 15:43service it needs DHCP so it sends out a
- 15:46broadcast to discover the server that
- 15:48can provide DHCP service DHCP runs over
- 15:52UDP the client uses port 68 and the
- 15:56server will use port 67 in particular
- 15:59the server will be listening on a socket
- 16:01associated with UDP port 67 for incoming
- 16:06DHCP messages and here are the details
- 16:09of the fields in the DHCP discover
- 16:11message the clients source IP address
- 16:14containing the UDP segment that contains
- 16:17the DHCP discover message is zero
- 16:19because the client doesn't have an IP
- 16:21address yet and the destination IP
- 16:24address is the IP broadcast address that
- 16:28is all ones 255 255 255 255 and the UDP
- 16:34destination port number is 67 as we just
- 16:38noted before hopefully there'll be a
- 16:40DHCP server sitting out there somewhere
- 16:43on the subnet listening for this service
- 16:45discovery message note also that there's
- 16:47a transaction ID field it's got a value
- 16:50654 here and this will be used by the
- 16:53client to match any reply to this
- 16:56request here's the second step any DHCP
- 17:02server that receives this broadcast
- 17:04Discoverer message and there might be
- 17:06several such servers can reply with a
- 17:09DHCP offer message this message
- 17:12basically says hey I'm a DHCP server and
- 17:15here's an IP address that you can use if
- 17:18we look at the details of this offer
- 17:20message we see that it comes from the
- 17:23DHCP server with an IP address of 223
- 17:2612.5 as in our figure earlier and from
- 17:30port number 67 this offer message is
- 17:33being broadcast to all interfaces
- 17:35on the subnet the DHCP message contains
- 17:38the IP address that the requesting host
- 17:41can use that's the yia ddr your internet
- 17:46address field and a lifetime in this
- 17:49case of 3600 seconds that the address
- 17:52can be used for note that the
- 17:54transaction ID here matches the
- 17:56transaction ID of the initial offer
- 17:58message that's to say this is a reply to
- 18:02that message a client can receive offers
- 18:04from multiple DHCP servers and this
- 18:07might occur for example if there are
- 18:09multiple routers on that subnet now the
- 18:12first two steps that we've seen here are
- 18:14actually optional the way to think of
- 18:16the third step which could also be the
- 18:18first step if the two optional steps
- 18:20aren't taken is that the arriving client
- 18:22comes in and says hey here's an IP
- 18:25address that I want to use maybe that's
- 18:28the IP address that it was told it could
- 18:30use and step two if that step was
- 18:32executed or maybe it's an address that
- 18:35it already has in which case the client
- 18:37is really renewing its use of that
- 18:39address or perhaps it's an address that
- 18:42the clients used before you can see here
- 18:45that this message is also broadcast and
- 18:47then it contains the IP address that the
- 18:50host is proposing to use and that
- 18:52there's a new transaction ID and a
- 18:54lifetime as well the final message is
- 18:57the ACK message from the DHCP server
- 18:59saying basically okay you can use that
- 19:02IP address with this given lifetime now
- 19:06it turns out that a host needs more
- 19:08configuration parameters than just an IP
- 19:10address in order to be able to function
- 19:12in particular it also needs to know the
- 19:15IP address of the first hop router since
- 19:18any outgoing packet from the client will
- 19:20need to be sent to that first hop router
- 19:22it might also need the address of a DNS
- 19:24server to use and also need the netmask
- 19:27the number of bits and its IP address
- 19:29belonging to the subnet well this could
- 19:32all be configured manually but it can
- 19:35also be optionally specified in a DHCP
- 19:38message and this is usually the case so
- 19:41the other really big question that we
- 19:43still need to ask is how does a network
- 19:45get a range of addresses to assign to
- 19:48the devices
- 19:49actually to the device interfaces in its
- 19:52network well in many cases it will be
- 19:55allocated a range of addresses in the IP
- 19:58address range that belongs to the ISP to
- 20:02which it is a customer network in this
- 20:05example here the higher-level ISP has a
- 20:08slash 20 address range this is because
- 20:11then for example divide its address
- 20:13space up into 8 say slash 23 address
- 20:17ranges as shown here and allocate each
- 20:20of these out to one of its eight client
- 20:23networks and now we can start to see a
- 20:27really critical time between addressing
- 20:30and routing something that we'll come
- 20:32back to again when we get to the network
- 20:34layer control plane in this example the
- 20:37parent ISP which we'll call fly-by-night
- 20:40ISP in this example has eight client
- 20:43ISPs as shown in the figure here
- 20:46fly-by-night need only advertise one
- 20:49address prefix 223 16/20 to the rest of
- 20:55the global Internet
- 20:56this single advertised address prefix
- 20:59will be sufficient for the rest of the
- 21:01internet to be able to route to the two
- 21:04to the twelfth addresses in this is P is
- 21:07address range this is an example of
- 21:10what's called address aggregation
- 21:12sometimes also called route aggregation
- 21:14or route summarization note that in this
- 21:17figure the second is P let's call it is
- 21:20peas our US says hey send me anything in
- 21:24the address range 190 9.30 1/16 we'll
- 21:29come back to this in just a second
- 21:31well this all looks very neat and
- 21:34orderly but in life well think just
- 21:37generally aren't so neat or ever so
- 21:39perfectly hierarchical in particular
- 21:42let's ask ourselves what would happen
- 21:44hypothetically if one of the eight
- 21:46client ISPs say organization one wants
- 21:50to change ISPs from fly-by-night to ISPs
- 21:54our us while keeping its range of
- 21:57network addresses 223
- 22:0118/20 three well fly-by-night continues
- 22:05to say send me anything with address
- 22:08prefix 223 16/20 as before and as we can
- 22:13see here but here's the critical thing
- 22:16now is peas are us says well send me
- 22:19anything with address range 190 9.30
- 22:231/16 as before but now it also says also
- 22:28send me anything with address range 200
- 22:32dot 23.18.38
- 22:39and note that 223 18 / 23 is contained
- 22:44in fly-by-nights advertised 223 dot
- 22:5016/20 address range so what are we to do
- 22:54here
- 22:54well what's absolutely critical here is
- 22:57that ISPs our US has advertised a longer
- 23:0223 bit prefix 223 18 / 23 a more
- 23:08specific prefix then the 20 bit prefix
- 23:12223 slash 16/20 advertised by
- 23:16fly-by-night and i hope oh yeah light
- 23:20bulb has just gone off in your head
- 23:22remember when we were studying forward
- 23:24tables when we were looking at what's
- 23:26inside a router when looking up a 32 bit
- 23:29IP address the matching forwarding table
- 23:32entry is that with the longest prefix
- 23:34match that's precisely why packets with
- 23:37addresses and organization ones address
- 23:40range will be forwarded to ISPs our US
- 23:44which has advertised the longer prefix
- 23:47them
- 23:48well we've now seen how address
- 23:51allocation forwarding table lookup using
- 23:54longest prefix matching in the BGP
- 23:57routing protocol that disseminates
- 23:59prefixes are all really intimately tied
- 24:02together and if you've got all of this
- 24:04you've really mastered and tied together
- 24:06a lot of key concepts if it's still not
- 24:10100% clear we'll come back to this again
- 24:12when we study the control plane but
- 24:15maybe think a little bit more about it
- 24:16now if you don't have it quite down so
- 24:20we've now seen how a host gets an IP
- 24:23address from a DHCP server and we've
- 24:26seen how customer ISPs can get an
- 24:28address range from their provider ISP
- 24:30but we still haven't answered the basic
- 24:33question at the highest level how does
- 24:36an ISP get a block of addresses and the
- 24:39answer to this final question is that
- 24:41the ipv4 address space is owned
- 24:44administered and allocated by an entity
- 24:47known as the Internet Corporation for
- 24:49Assigned Names and numbers I can I can
- 24:53in turn allocates addresses out to five
- 24:55regional registries which then allocate
- 24:58out their portions of the address space
- 25:01to ISPs I can also performs a number of
- 25:05other critical internet functions like
- 25:07managing the route DNS servers managing
- 25:11domain names and allocating protocol
- 25:13numbers remember when we study the ipv4
- 25:16data gram format and said that the upper
- 25:19layer protocol number of six corresponds
- 25:22to TCP and that the number 17
- 25:24corresponds to UDP those numbers are
- 25:27also controlled by ICANN well let's wrap
- 25:30up here by considering ipv4 32-bit
- 25:34address space in 2011 ICANN central
- 25:38allocated out the last of its available
- 25:40chunks of 32-bit address space to the
- 25:44regional registries ICANN has no more
- 25:46address space to allocate out although
- 25:49there's some unused address space still
- 25:51sitting in the regional registries in
- 25:53the next section we'll look at network
- 25:55address translation a technique that
- 25:57allows a single IP address to be used by
- 26:00multiple IP devices and will also look
- 26:04at IP version 6 which has a much larger
- 26:07128-bit address space ipv6 was begun in
- 26:10the 1990s specifically because the IETF
- 26:14foresaw the exhaustion of the ipv4
- 26:17address space well you see this quote
- 26:20here from Vint Cerf who along with Bob
- 26:23Kahn we can really credit as being one
- 26:25of the two founding fathers of the
- 26:26Internet
- 26:27if we had to choose just two they've
- 26:29both been asked a lot about the early
- 26:31days of the experimental ARPANET that
- 26:34later grew into today's Internet and
- 26:36about the 32-bit ipv4 address space in
- 26:39particular and I love this quote from
- 26:43Vic who the hell knew how much address
- 26:45space we needed
- 26:46remember when today's internet
- 26:48architecture was being defined in the
- 26:501970s it was a relatively small
- 26:52Department of Defense project so let's
- 26:57leave the last words here to be from
- 26:59Vint Cerf I heard him give a really
- 27:01great sort of fireside chat type of talk
- 27:04at Georgetown University in 2017 when I
- 27:07was working in DC and he talked about a
- 27:09lot of really interesting topics but one
- 27:12of them had to do with IPS 32-bit
- 27:15address space so let's hear it from Vint
- 27:18how did we actually end up with a 32-bit
- 27:20address space what calculations did they
- 27:23go through take a look so now we have
- 27:25four different kinds of networks the
- 27:27Ethernet the packet main unit the packet
- 27:29satellite net in the urban did the
- 27:30original ARPANET so we sat down and
- 27:33tried to figure out how are we going to
- 27:35do that and after about six months we
- 27:38had designed the basic protocols that
- 27:40you use today it was just TCP later and
- 27:44we split off the internet protocol for
- 27:46real-time communication so the question
- 27:49then was you know how big did we expect
- 27:51this to be well honestly we sat down and
- 27:54said this is going to be used by the
- 27:55Defense Department it has to work
- 27:57everywhere in the world because you
- 27:58never know where the Defense Department
- 28:00is going to have to operate so we said
- 28:03okay how big is this going to be it's
- 28:05got to be global how many networks will
- 28:07there be per country and we said well we
- 28:11had finished the ARPANET which is Anand
- 28:14national scale network so we thought
- 28:16well maybe they'll be 2 per country
- 28:18so let me sum competition so we said ok
- 28:21- how many countries are there and there
- 28:24wasn't any Google to ask back then so we
- 28:27guessed it 128 cuz that's a power of 2
- 28:30and that's a programmers thinking so 2
- 28:32times 128 is 256 networks and that's 8
- 28:36bits of identifier and then we said how
- 28:39many computers will there be per network
- 28:41and we said remember this is 1973 these
- 28:45are giant air conditioned computers you
- 28:48know that serve a thousand people in
- 28:50time shared modes so we're saying how
- 28:52about 16 million you know what the heck
- 28:55so 16 million is 24 bits so we ended up
- 28:59with a 32-bit address space and if you
- 29:01do the math it's 4.3 billion possible
- 29:04terminations for the network in 1973 so
- 29:07the answer that was more than there were
- 29:09people in the world and they think so we
- 29:11thought well that ought to be enough to
- 29:12do this experiment right so that's what
- 29:16we used so people say if you had it to
- 29:20do over again you know what would you do
- 29:22and one answer is well I guess I would
- 29:25have chosen 128 bit address space and we
- 29:27don't have to go through this painful
- 29:29transition on the other hand can you
- 29:31imagine making it an argument of the
- 29:34form I need 3.4 times 10 to the 38th
- 29:37addresses in order to do this experiment
- 29:39how many networks do you have now three
- 29:44how many computers do you have on the
- 29:46networks 500 he said something doesn't
- 29:50quite add up
- 29:51does it so I didn't do it because that
- 29:54was it wouldn't pass the red face test
- 29:55but I wish I could have
About this transcript
This page contains the full transcript of 4.3 The Internet Protocol, part 1 by JimKurose, generated from the public captions YouTube serves with the video. The transcript has 4,615 words across 663 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.