YouTube2Text

4.3 The Internet Protocol, part 1 — Transcript

by JimKurose · 4,615 words · 663 segments · language en · Watch on YouTube

Full transcript

  1. 0:00[Music]
  2. 0:09in this section we're going to take a
  3. 0:11deep dive into the Internet's network
  4. 0:14layer and because there's a lot to cover
  5. 0:16here we're going to do this in two parts
  6. 0:18in the first part we're going to cover
  7. 0:20the ipv4 protocol and addressing now
  8. 0:23obviously IP is incredibly important but
  9. 0:27so too is addressing and actually
  10. 0:29address things part of ipv4 you know I
  11. 0:32used to think that addressing was sort
  12. 0:34of cut and dry and maybe even a little
  13. 0:36bit boring but I've learned that
  14. 0:38addressing has a lot to do with
  15. 0:40relationships between ISPs having to do
  16. 0:43with administrative boundaries technical
  17. 0:45issues as small and local as what
  18. 0:48happens inside a routing table lookup
  19. 0:50and hardware - as global a set of
  20. 0:52concerns as how global addressing and
  21. 0:55forwarding is done so it turns out
  22. 0:57addressing is really important and also
  23. 0:59pretty interesting in the second part
  24. 1:02we're going to cover what's known as
  25. 1:03network address translation NAT and a
  26. 1:06new version of IP known as ipv6 so I
  27. 1:09think you'll find this interesting stay
  28. 1:11tuned so let's start with a big picture
  29. 1:14view of the Internet's network layer
  30. 1:16remember we learned earlier about the
  31. 1:18network layers control and data plane in
  32. 1:21the forwarding table that's the router
  33. 1:23local table that determines the output
  34. 1:25port to which a router will forward an
  35. 1:28incoming data gram and we also learned
  36. 1:30in the introduction to the network layer
  37. 1:32that the forwarding tables contents
  38. 1:34determined either by distributed routing
  39. 1:37protocols or by a router external Sdn
  40. 1:40controller will cover routing algorithms
  41. 1:42and Sdn controllers when we study the
  42. 1:45network layers control plane a key part
  43. 1:48of the internets network layer is of
  44. 1:50course the IP protocol the celebrated IP
  45. 1:53protocol but what exactly is the IP
  46. 1:55protocol well by looking at this diagram
  47. 1:58you can see that the IP protocol is not
  48. 2:00about routing algorithms or Sdn
  49. 2:03controllers those are control plane
  50. 2:05functions instead the IP protocols about
  51. 2:08the data gram format it's about how IP
  52. 2:11addresses are structured and interpreted
  53. 2:14and it's about packet handling
  54. 2:16conventions like how to fragment large
  55. 2:18packets into smaller packets so IP is
  56. 2:22really just a piece albeit a really
  57. 2:24important piece of the Internet's
  58. 2:26network layer the ICMP protocol which
  59. 2:30we'll cover as part of the network layer
  60. 2:31control plane is also part of the
  61. 2:34network layer since the IP protocol is
  62. 2:37about data Graham formats addressing and
  63. 2:40packet handling conventions let's then
  64. 2:42start our study of IP by looking at the
  65. 2:45IP Datagram format using this figure
  66. 2:48we'll walk through the fields of the IP
  67. 2:50Datagram now I know this might seem a
  68. 2:52little bit dry but really anyone who
  69. 2:55takes a networking course really needs
  70. 2:57to know this sort of like eating your
  71. 2:59vegetables you know it's good for you
  72. 3:00and so you really do have to do it and
  73. 3:02hopefully you'll even love it or find it
  74. 3:06interesting anyway well first there's
  75. 3:09the version number field these 4 bits
  76. 3:11specify the IP protocol version of the
  77. 3:14data Graham here of course we're looking
  78. 3:16at the ipv4 header because an ipv4
  79. 3:20Datagram can contain a variable number
  80. 3:22of options which we see here in the data
  81. 3:25gram header the header length field
  82. 3:28indicates how many bytes are in the
  83. 3:30header this lets the host or router know
  84. 3:32where the payload actually begins in the
  85. 3:34IP Datagram most IP datagrams don't
  86. 3:37contain options
  87. 3:38so the typical IP Datagram header goes
  88. 3:40from here to here a 20-byte header the
  89. 3:43data gram length field indicates the
  90. 3:46total number of bytes in the IP Datagram
  91. 3:48header plus payload this is needed
  92. 3:50because the payload can also be a
  93. 3:52variable size since this fields 16 bits
  94. 3:55long the theoretical maximum size of an
  95. 3:59IP Datagram is 64 K bytes but data grams
  96. 4:02are usually no larger than 1,500 bytes
  97. 4:05which allows a data gram to fit nicely
  98. 4:07inside the payload field of a maximally
  99. 4:10sized Ethernet link layer frame the type
  100. 4:13of service bits were included in the
  101. 4:15ipv4 header to allow different types of
  102. 4:18data grams to be distinguished from each
  103. 4:20other the definition and use of these
  104. 4:22bits is really evolved over time for our
  105. 4:25purposes the most important type of
  106. 4:27service bits are the two bits used for
  107. 4:30explicit congestion notification ecn and
  108. 4:32remember that's a topic we study
  109. 4:35in detail in the transport layer a
  110. 4:37router sets these two bits to indicate
  111. 4:39congestion the remaining six types of
  112. 4:42service bits are used to differentiate
  113. 4:44among different classes of traffic which
  114. 4:46can then be given different service
  115. 4:48based on their traffic class using the
  116. 4:50buffering and scheduling algorithms we
  117. 4:53just studied in the previous section the
  118. 4:55TTL field is a counter that decremented
  119. 4:59by 1 each time a Datagram passes through
  120. 5:01a router if the TTL count ever reaches 0
  121. 5:04the data gram must be dropped at the
  122. 5:06router and so the TTL field is used to
  123. 5:09ensure that packets don't loop forever
  124. 5:11or even for a long time if there are
  125. 5:14forwarding loops the upper-layer
  126. 5:16protocol field indicates the transport
  127. 5:18layer protocol to which the payload in
  128. 5:20this IP Datagram is going to be passed
  129. 5:23for example a value of 6 indicates that
  130. 5:26this data gram contains a TCP segment
  131. 5:28that will be passed up to TCP a value of
  132. 5:3117 indicates that the payload is a UDP
  133. 5:33segment the IP ID field flags and
  134. 5:37fragment offset field are used when a
  135. 5:40single large IP datagrams fragmented
  136. 5:43into multiple smaller data grams this
  137. 5:46doesn't happen often and actually these
  138. 5:48fields don't even show up in IP version
  139. 5:506 and so we won't see anything more
  140. 5:52about them here you can read about them
  141. 5:54more by following the pointers in our
  142. 5:57textbook the header checksum is an
  143. 6:00internet checksum computed over the
  144. 6:02contents of the IP header remember we
  145. 6:05studied the internet checksum earlier
  146. 6:07and note that since some of the IP
  147. 6:09header fields change each time a data
  148. 6:12gram passes through a router the TTL
  149. 6:14field is decremented for example the
  150. 6:16checksum needs to be recomputed at each
  151. 6:18router that the data gram passes through
  152. 6:21that can be time-consuming and may be as
  153. 6:24a result of this the header checksum
  154. 6:26field was also removed in ipv6 we've
  155. 6:29already talked about the 32-bit source
  156. 6:32and destination IP address fields
  157. 6:34remember that we just saw in destination
  158. 6:36based forwarding that an IP router uses
  159. 6:39the data grams destination IP address
  160. 6:41here to look up the appropriate router
  161. 6:44output port to which the data gram
  162. 6:46should be
  163. 6:47forward it and then finally there are a
  164. 6:50number of optional fields in the data
  165. 6:52gram header we'll skip those here and
  166. 6:54then of course the data grams payload
  167. 6:56itself the payloads the data transport
  168. 6:59layer segment that IP will deliver up to
  169. 7:02the transport layer protocol whoa
  170. 7:05well that was a lot of fields to think
  171. 7:07about and to go through and as we
  172. 7:09mentioned ipv6 is a lot more streamlined
  173. 7:12than ipv4 and so we'll find fewer header
  174. 7:15fields there let's start our discussion
  175. 7:20of IP addressing with a few basic
  176. 7:22concepts the first important thing to
  177. 7:24know is that an IP address does not
  178. 7:27identify a host or router per se but
  179. 7:30rather an interface a link layer
  180. 7:33interface on a host or router routers
  181. 7:36pretty much always have more than one
  182. 7:38interface that is to say multiple
  183. 7:40incoming and outgoing links and hosts
  184. 7:43often do as well for example my laptop
  185. 7:45has a wired Ethernet interface and a
  186. 7:48wireless 802 11 interface each with a
  187. 7:51different IP address as we've seen 32
  188. 7:55bit IP addresses are written in so
  189. 7:58called dotted decimal notation with each
  190. 8:00decimal number corresponding to an 8-bit
  191. 8:03byte in the address field here the
  192. 8:0632-bit binary address is to 23.1 1.1 in
  193. 8:11dotted decimal notation well you know
  194. 8:15looking at this diagram it might be a
  195. 8:16little bit unsatisfying to you it looks
  196. 8:19like the link layer interfaces these
  197. 8:21black lines just sort of vaguely end up
  198. 8:24in a blue cloud what's up with that how
  199. 8:27are these interfaces actually connected
  200. 8:29together so that one interface can
  201. 8:31communicate directly with another
  202. 8:33interface that's attached to the same
  203. 8:35blue cloud well remember that we're at
  204. 8:38the network layer right now and the
  205. 8:40connection of these interfaces is done
  206. 8:42via link layer technologies which are
  207. 8:45the layer below what we're studying
  208. 8:46right now so one answer to your question
  209. 8:49would be well be patient we'll get to
  210. 8:51that but if you're just dying to see
  211. 8:53what the complete picture looks like
  212. 8:55here's what it is
  213. 8:57the host and the router interfaces might
  214. 8:59be connected through wired Ethernet
  215. 9:00switches or they might be connected
  216. 9:02through a NATO 2.11 wireless network but
  217. 9:05there will be a link layer local area
  218. 9:08network or point-to-point link protocol
  219. 9:10typically Ethernet or Wi-Fi in practice
  220. 9:13that will be used to connect the
  221. 9:15interfaces and we really will learn
  222. 9:18about this just a bit later so stay
  223. 9:20tuned and for now back to the network
  224. 9:22layer if you take a close look at this
  225. 9:26figure in particular the IP addresses in
  226. 9:29this figure you'll notice that the
  227. 9:30interfaces that are connected to each
  228. 9:32other have similar but not identical IP
  229. 9:35addresses that's because they all belong
  230. 9:38to the same subnet so what is a subnet
  231. 9:41well each subnet is a piece of the
  232. 9:44network that contains all devices that
  233. 9:46can reach each other without passing
  234. 9:49through an intervening layer three that
  235. 9:51is to say network layer router that is
  236. 9:54they're directly connected to each other
  237. 9:56via some link layer technology and
  238. 9:59here's how that ties into addressing an
  239. 10:01IP address has two parts a subnet part
  240. 10:04and a host part and if two interfaces
  241. 10:07are on the same subnet their IP
  242. 10:10addresses must have a common subnet part
  243. 10:13and of course they'll have different
  244. 10:14host parts so let's be very specific in
  245. 10:18defining subnets to find a subnet
  246. 10:21attached each interface from its host or
  247. 10:24router as we've done here and this will
  248. 10:27leave islands of isolated networks and
  249. 10:30so in this example here we have three
  250. 10:32subnets now let's look at the addressing
  251. 10:35remember that interfaces on the same
  252. 10:38subnet will have the same subnet part of
  253. 10:41their IP addresses the so-called subnet
  254. 10:44mask says how many high order bits they
  255. 10:46have in common let's assume that's 24
  256. 10:49bits in this case this lower subnet here
  257. 10:52has a 24-bit address of 220 3.1.3 we say
  258. 10:58220 3.1 3/24 and these three interfaces
  259. 11:05have addresses that all start with 223
  260. 11:09dot
  261. 11:09three the next subnet is two 23.1 1/24
  262. 11:16note that these four interfaces have
  263. 11:19addresses that start with two twenty
  264. 11:21three dot one dot one and this third
  265. 11:24subnet address is two twenty three dot
  266. 11:27one dot 2/24 let's take a look at this
  267. 11:32network with three routers and seven
  268. 11:34hosts can you find the subnets think
  269. 11:37about it well let's disconnect the
  270. 11:41interfaces from their host or router to
  271. 11:43see the subnets and here are the slash
  272. 11:46twenty four subnet addresses this slash
  273. 11:50notation that we've been using has a
  274. 11:52name it's called classless inter-domain
  275. 11:54routing CIDR and actually pronounced
  276. 11:57cider due to its historical origins the
  277. 12:01subnet portion of the address can be any
  278. 12:03number of bits x and a cider i's address
  279. 12:06is one of the form ABCD / X where X is
  280. 12:12the number of bits in the subnet address
  281. 12:13and sometimes the D is emitted when it's
  282. 12:16zero here's an example of a 32 bit IP
  283. 12:19address and its side Erised
  284. 12:21dotted decimal notation well let's wrap
  285. 12:25up our discussion of ipv4 and addressing
  286. 12:29by posing a question that maybe you've
  287. 12:31been wondering about how does one
  288. 12:32actually get an IP address in the first
  289. 12:35place and really that's two questions
  290. 12:37how does a host get an address within
  291. 12:40the subnet range associated with the
  292. 12:42subnet that it's going to be joining and
  293. 12:44then sort of the bigger picture question
  294. 12:46how does a network how does a sub
  295. 12:48network get a range of addresses that
  296. 12:50are going to be used by devices by
  297. 12:53interfaces within that sub network let's
  298. 12:55look at both of these questions well
  299. 12:59let's start with the first question how
  300. 13:01does a host get an IP address for its
  301. 13:03interface well back in the day a
  302. 13:06sysadmin used to actually manually edit
  303. 13:09the IP address into a file on that host
  304. 13:12but we've progressed a lot since then
  305. 13:14using a plug and play or what sometimes
  306. 13:17known as a zero Kampf zero configuration
  307. 13:20approach that's to say an approach
  308. 13:22that uses a protocol between a host and
  309. 13:25a server rather than manual
  310. 13:27configuration to get an IP address the
  311. 13:30need for a zeroconf approach is
  312. 13:31hopefully obvious with billions of hosts
  313. 13:34worldwide more than half being mobile
  314. 13:36and these are hosts that are constantly
  315. 13:38attaching to a network and then later
  316. 13:40detaching and then attaching over and
  317. 13:42over again the protocol used by a host
  318. 13:45to get an IP address on a network is
  319. 13:47known as DHCP the dynamic host
  320. 13:50configuration protocol in order to
  321. 13:54allocate a plug-and-play IP address
  322. 13:57using DHCP a network will need to have a
  323. 14:00DHCP server to perform that function and
  324. 14:03an arriving client that is a host
  325. 14:05wanting an IP address will request and
  326. 14:08receive an IP address from the DHCP
  327. 14:10server using the DHCP protocol when a
  328. 14:15host leaves the network it'll give up
  329. 14:17its IP address which can then later be
  330. 14:19reused by another host or reclaimed or
  331. 14:22may be renewed by this host at a later
  332. 14:25point in time we're going to take a look
  333. 14:27at for DHCP messages that we'll want to
  334. 14:30study there are more but these are
  335. 14:32really the key ones discover offer
  336. 14:35request in acknowledgment let's see how
  337. 14:37DHCP works here's the scenario we'll
  338. 14:42look at using the simple network that
  339. 14:44we've seen before and in this network we
  340. 14:46see the DHCP server here well typically
  341. 14:50a DHCP server would be co-located in a
  342. 14:53router and serving all of the subnets to
  343. 14:56which that router is attached but we've
  344. 14:58shown it here as a separate server which
  345. 15:00also happens with an IP address of 223
  346. 15:0512.5 and here's the arriving client that
  347. 15:08will want an IP address in the 223 one
  348. 15:132/24 subnet now let's take a look at
  349. 15:16what the DHCP clients server message
  350. 15:19exchange actually looks like
  351. 15:22in the first step the arriving client
  352. 15:24broadcasts a DHCP message that will be
  353. 15:27received on the interfaces of all of the
  354. 15:30hosts and routers in the subnet to which
  355. 15:33it's attaching the discover message
  356. 15:35basically says hey is there a DHCP
  357. 15:38server out there this is a form of
  358. 15:40service discovery the host knows the
  359. 15:43service it needs DHCP so it sends out a
  360. 15:46broadcast to discover the server that
  361. 15:48can provide DHCP service DHCP runs over
  362. 15:52UDP the client uses port 68 and the
  363. 15:56server will use port 67 in particular
  364. 15:59the server will be listening on a socket
  365. 16:01associated with UDP port 67 for incoming
  366. 16:06DHCP messages and here are the details
  367. 16:09of the fields in the DHCP discover
  368. 16:11message the clients source IP address
  369. 16:14containing the UDP segment that contains
  370. 16:17the DHCP discover message is zero
  371. 16:19because the client doesn't have an IP
  372. 16:21address yet and the destination IP
  373. 16:24address is the IP broadcast address that
  374. 16:28is all ones 255 255 255 255 and the UDP
  375. 16:34destination port number is 67 as we just
  376. 16:38noted before hopefully there'll be a
  377. 16:40DHCP server sitting out there somewhere
  378. 16:43on the subnet listening for this service
  379. 16:45discovery message note also that there's
  380. 16:47a transaction ID field it's got a value
  381. 16:50654 here and this will be used by the
  382. 16:53client to match any reply to this
  383. 16:56request here's the second step any DHCP
  384. 17:02server that receives this broadcast
  385. 17:04Discoverer message and there might be
  386. 17:06several such servers can reply with a
  387. 17:09DHCP offer message this message
  388. 17:12basically says hey I'm a DHCP server and
  389. 17:15here's an IP address that you can use if
  390. 17:18we look at the details of this offer
  391. 17:20message we see that it comes from the
  392. 17:23DHCP server with an IP address of 223
  393. 17:2612.5 as in our figure earlier and from
  394. 17:30port number 67 this offer message is
  395. 17:33being broadcast to all interfaces
  396. 17:35on the subnet the DHCP message contains
  397. 17:38the IP address that the requesting host
  398. 17:41can use that's the yia ddr your internet
  399. 17:46address field and a lifetime in this
  400. 17:49case of 3600 seconds that the address
  401. 17:52can be used for note that the
  402. 17:54transaction ID here matches the
  403. 17:56transaction ID of the initial offer
  404. 17:58message that's to say this is a reply to
  405. 18:02that message a client can receive offers
  406. 18:04from multiple DHCP servers and this
  407. 18:07might occur for example if there are
  408. 18:09multiple routers on that subnet now the
  409. 18:12first two steps that we've seen here are
  410. 18:14actually optional the way to think of
  411. 18:16the third step which could also be the
  412. 18:18first step if the two optional steps
  413. 18:20aren't taken is that the arriving client
  414. 18:22comes in and says hey here's an IP
  415. 18:25address that I want to use maybe that's
  416. 18:28the IP address that it was told it could
  417. 18:30use and step two if that step was
  418. 18:32executed or maybe it's an address that
  419. 18:35it already has in which case the client
  420. 18:37is really renewing its use of that
  421. 18:39address or perhaps it's an address that
  422. 18:42the clients used before you can see here
  423. 18:45that this message is also broadcast and
  424. 18:47then it contains the IP address that the
  425. 18:50host is proposing to use and that
  426. 18:52there's a new transaction ID and a
  427. 18:54lifetime as well the final message is
  428. 18:57the ACK message from the DHCP server
  429. 18:59saying basically okay you can use that
  430. 19:02IP address with this given lifetime now
  431. 19:06it turns out that a host needs more
  432. 19:08configuration parameters than just an IP
  433. 19:10address in order to be able to function
  434. 19:12in particular it also needs to know the
  435. 19:15IP address of the first hop router since
  436. 19:18any outgoing packet from the client will
  437. 19:20need to be sent to that first hop router
  438. 19:22it might also need the address of a DNS
  439. 19:24server to use and also need the netmask
  440. 19:27the number of bits and its IP address
  441. 19:29belonging to the subnet well this could
  442. 19:32all be configured manually but it can
  443. 19:35also be optionally specified in a DHCP
  444. 19:38message and this is usually the case so
  445. 19:41the other really big question that we
  446. 19:43still need to ask is how does a network
  447. 19:45get a range of addresses to assign to
  448. 19:48the devices
  449. 19:49actually to the device interfaces in its
  450. 19:52network well in many cases it will be
  451. 19:55allocated a range of addresses in the IP
  452. 19:58address range that belongs to the ISP to
  453. 20:02which it is a customer network in this
  454. 20:05example here the higher-level ISP has a
  455. 20:08slash 20 address range this is because
  456. 20:11then for example divide its address
  457. 20:13space up into 8 say slash 23 address
  458. 20:17ranges as shown here and allocate each
  459. 20:20of these out to one of its eight client
  460. 20:23networks and now we can start to see a
  461. 20:27really critical time between addressing
  462. 20:30and routing something that we'll come
  463. 20:32back to again when we get to the network
  464. 20:34layer control plane in this example the
  465. 20:37parent ISP which we'll call fly-by-night
  466. 20:40ISP in this example has eight client
  467. 20:43ISPs as shown in the figure here
  468. 20:46fly-by-night need only advertise one
  469. 20:49address prefix 223 16/20 to the rest of
  470. 20:55the global Internet
  471. 20:56this single advertised address prefix
  472. 20:59will be sufficient for the rest of the
  473. 21:01internet to be able to route to the two
  474. 21:04to the twelfth addresses in this is P is
  475. 21:07address range this is an example of
  476. 21:10what's called address aggregation
  477. 21:12sometimes also called route aggregation
  478. 21:14or route summarization note that in this
  479. 21:17figure the second is P let's call it is
  480. 21:20peas our US says hey send me anything in
  481. 21:24the address range 190 9.30 1/16 we'll
  482. 21:29come back to this in just a second
  483. 21:31well this all looks very neat and
  484. 21:34orderly but in life well think just
  485. 21:37generally aren't so neat or ever so
  486. 21:39perfectly hierarchical in particular
  487. 21:42let's ask ourselves what would happen
  488. 21:44hypothetically if one of the eight
  489. 21:46client ISPs say organization one wants
  490. 21:50to change ISPs from fly-by-night to ISPs
  491. 21:54our us while keeping its range of
  492. 21:57network addresses 223
  493. 22:0118/20 three well fly-by-night continues
  494. 22:05to say send me anything with address
  495. 22:08prefix 223 16/20 as before and as we can
  496. 22:13see here but here's the critical thing
  497. 22:16now is peas are us says well send me
  498. 22:19anything with address range 190 9.30
  499. 22:231/16 as before but now it also says also
  500. 22:28send me anything with address range 200
  501. 22:32dot 23.18.38
  502. 22:39and note that 223 18 / 23 is contained
  503. 22:44in fly-by-nights advertised 223 dot
  504. 22:5016/20 address range so what are we to do
  505. 22:54here
  506. 22:54well what's absolutely critical here is
  507. 22:57that ISPs our US has advertised a longer
  508. 23:0223 bit prefix 223 18 / 23 a more
  509. 23:08specific prefix then the 20 bit prefix
  510. 23:12223 slash 16/20 advertised by
  511. 23:16fly-by-night and i hope oh yeah light
  512. 23:20bulb has just gone off in your head
  513. 23:22remember when we were studying forward
  514. 23:24tables when we were looking at what's
  515. 23:26inside a router when looking up a 32 bit
  516. 23:29IP address the matching forwarding table
  517. 23:32entry is that with the longest prefix
  518. 23:34match that's precisely why packets with
  519. 23:37addresses and organization ones address
  520. 23:40range will be forwarded to ISPs our US
  521. 23:44which has advertised the longer prefix
  522. 23:47them
  523. 23:48well we've now seen how address
  524. 23:51allocation forwarding table lookup using
  525. 23:54longest prefix matching in the BGP
  526. 23:57routing protocol that disseminates
  527. 23:59prefixes are all really intimately tied
  528. 24:02together and if you've got all of this
  529. 24:04you've really mastered and tied together
  530. 24:06a lot of key concepts if it's still not
  531. 24:10100% clear we'll come back to this again
  532. 24:12when we study the control plane but
  533. 24:15maybe think a little bit more about it
  534. 24:16now if you don't have it quite down so
  535. 24:20we've now seen how a host gets an IP
  536. 24:23address from a DHCP server and we've
  537. 24:26seen how customer ISPs can get an
  538. 24:28address range from their provider ISP
  539. 24:30but we still haven't answered the basic
  540. 24:33question at the highest level how does
  541. 24:36an ISP get a block of addresses and the
  542. 24:39answer to this final question is that
  543. 24:41the ipv4 address space is owned
  544. 24:44administered and allocated by an entity
  545. 24:47known as the Internet Corporation for
  546. 24:49Assigned Names and numbers I can I can
  547. 24:53in turn allocates addresses out to five
  548. 24:55regional registries which then allocate
  549. 24:58out their portions of the address space
  550. 25:01to ISPs I can also performs a number of
  551. 25:05other critical internet functions like
  552. 25:07managing the route DNS servers managing
  553. 25:11domain names and allocating protocol
  554. 25:13numbers remember when we study the ipv4
  555. 25:16data gram format and said that the upper
  556. 25:19layer protocol number of six corresponds
  557. 25:22to TCP and that the number 17
  558. 25:24corresponds to UDP those numbers are
  559. 25:27also controlled by ICANN well let's wrap
  560. 25:30up here by considering ipv4 32-bit
  561. 25:34address space in 2011 ICANN central
  562. 25:38allocated out the last of its available
  563. 25:40chunks of 32-bit address space to the
  564. 25:44regional registries ICANN has no more
  565. 25:46address space to allocate out although
  566. 25:49there's some unused address space still
  567. 25:51sitting in the regional registries in
  568. 25:53the next section we'll look at network
  569. 25:55address translation a technique that
  570. 25:57allows a single IP address to be used by
  571. 26:00multiple IP devices and will also look
  572. 26:04at IP version 6 which has a much larger
  573. 26:07128-bit address space ipv6 was begun in
  574. 26:10the 1990s specifically because the IETF
  575. 26:14foresaw the exhaustion of the ipv4
  576. 26:17address space well you see this quote
  577. 26:20here from Vint Cerf who along with Bob
  578. 26:23Kahn we can really credit as being one
  579. 26:25of the two founding fathers of the
  580. 26:26Internet
  581. 26:27if we had to choose just two they've
  582. 26:29both been asked a lot about the early
  583. 26:31days of the experimental ARPANET that
  584. 26:34later grew into today's Internet and
  585. 26:36about the 32-bit ipv4 address space in
  586. 26:39particular and I love this quote from
  587. 26:43Vic who the hell knew how much address
  588. 26:45space we needed
  589. 26:46remember when today's internet
  590. 26:48architecture was being defined in the
  591. 26:501970s it was a relatively small
  592. 26:52Department of Defense project so let's
  593. 26:57leave the last words here to be from
  594. 26:59Vint Cerf I heard him give a really
  595. 27:01great sort of fireside chat type of talk
  596. 27:04at Georgetown University in 2017 when I
  597. 27:07was working in DC and he talked about a
  598. 27:09lot of really interesting topics but one
  599. 27:12of them had to do with IPS 32-bit
  600. 27:15address space so let's hear it from Vint
  601. 27:18how did we actually end up with a 32-bit
  602. 27:20address space what calculations did they
  603. 27:23go through take a look so now we have
  604. 27:25four different kinds of networks the
  605. 27:27Ethernet the packet main unit the packet
  606. 27:29satellite net in the urban did the
  607. 27:30original ARPANET so we sat down and
  608. 27:33tried to figure out how are we going to
  609. 27:35do that and after about six months we
  610. 27:38had designed the basic protocols that
  611. 27:40you use today it was just TCP later and
  612. 27:44we split off the internet protocol for
  613. 27:46real-time communication so the question
  614. 27:49then was you know how big did we expect
  615. 27:51this to be well honestly we sat down and
  616. 27:54said this is going to be used by the
  617. 27:55Defense Department it has to work
  618. 27:57everywhere in the world because you
  619. 27:58never know where the Defense Department
  620. 28:00is going to have to operate so we said
  621. 28:03okay how big is this going to be it's
  622. 28:05got to be global how many networks will
  623. 28:07there be per country and we said well we
  624. 28:11had finished the ARPANET which is Anand
  625. 28:14national scale network so we thought
  626. 28:16well maybe they'll be 2 per country
  627. 28:18so let me sum competition so we said ok
  628. 28:21- how many countries are there and there
  629. 28:24wasn't any Google to ask back then so we
  630. 28:27guessed it 128 cuz that's a power of 2
  631. 28:30and that's a programmers thinking so 2
  632. 28:32times 128 is 256 networks and that's 8
  633. 28:36bits of identifier and then we said how
  634. 28:39many computers will there be per network
  635. 28:41and we said remember this is 1973 these
  636. 28:45are giant air conditioned computers you
  637. 28:48know that serve a thousand people in
  638. 28:50time shared modes so we're saying how
  639. 28:52about 16 million you know what the heck
  640. 28:55so 16 million is 24 bits so we ended up
  641. 28:59with a 32-bit address space and if you
  642. 29:01do the math it's 4.3 billion possible
  643. 29:04terminations for the network in 1973 so
  644. 29:07the answer that was more than there were
  645. 29:09people in the world and they think so we
  646. 29:11thought well that ought to be enough to
  647. 29:12do this experiment right so that's what
  648. 29:16we used so people say if you had it to
  649. 29:20do over again you know what would you do
  650. 29:22and one answer is well I guess I would
  651. 29:25have chosen 128 bit address space and we
  652. 29:27don't have to go through this painful
  653. 29:29transition on the other hand can you
  654. 29:31imagine making it an argument of the
  655. 29:34form I need 3.4 times 10 to the 38th
  656. 29:37addresses in order to do this experiment
  657. 29:39how many networks do you have now three
  658. 29:44how many computers do you have on the
  659. 29:46networks 500 he said something doesn't
  660. 29:50quite add up
  661. 29:51does it so I didn't do it because that
  662. 29:54was it wouldn't pass the red face test
  663. 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.