YouTube2Text

4.3 The Internet Protocol, part 2 — Transcript

by JimKurose · 3,125 words · 451 segments · language en · Watch on YouTube

Full transcript

  1. 0:00[Music]
  2. 0:10in the last section we spent quite a bit
  3. 0:13of time talking about ipv4 addressing
  4. 0:16and the limitations of a 32-bit ipv4
  5. 0:20address space in this section the two
  6. 0:22topics were going to cover network
  7. 0:24address translation and ipv6 have their
  8. 0:28origins in the late mid to late 1990s
  9. 0:30when the networking community really
  10. 0:32began to understand that the exhaustion
  11. 0:34of the ipv4 address space was going to
  12. 0:37be an important concern as we'll see
  13. 0:40both network address translation and
  14. 0:42ipv6 have a number of other important
  15. 0:45advantages as well and are seeing
  16. 0:47increasingly widespread deployment so
  17. 0:50let's take a look well let's start with
  18. 0:53network address translation known as net
  19. 0:55and here's how that works the idea is
  20. 0:58pretty simple within a local area
  21. 1:00network a home network and institutional
  22. 1:02network and internet cafe all of the
  23. 1:04devices within that network have an IP
  24. 1:06address from a special range of
  25. 1:08addresses known as private IP addresses
  26. 1:1210.0.0.0 slash 8 is an example of such
  27. 1:16an address range now data grams that are
  28. 1:19exchanged between hosts within this
  29. 1:21network use these addresses as always
  30. 1:23there is no net involved but what about
  31. 1:26communication outside of this local area
  32. 1:28network that's where NAT comes into play
  33. 1:30in particular all data grams from any of
  34. 1:34the hosts inside this network and there
  35. 1:36could be tens hundreds or thousands of
  36. 1:38such devices that are sent to hosts
  37. 1:40outside of the network will all use the
  38. 1:43same single 32 bit IP address so for
  39. 1:47this example here although all hosts
  40. 1:50have IP addresses of the form 1000 / 24
  41. 1:54when their data grams emerge from the
  42. 1:56router here into the larger Internet
  43. 1:59they'll all have they'll all use the
  44. 2:02same single source IP address of 138
  45. 2:05about 76 29.7 the source port numbers of
  46. 2:10these outgoing data grams will be
  47. 2:12remapped
  48. 2:13as we'll see the implementation and
  49. 2:16of this translation is performed by this
  50. 2:18router here which is referred to as an
  51. 2:21added router and that router or
  52. 2:22sometimes just as an app box so Frenette
  53. 2:26all devices in the local network have a
  54. 2:2932-bit address that comes from one of
  55. 2:31three what are called private IP address
  56. 2:34ranges that you see here if you've
  57. 2:37looked at the IP address on your laptop
  58. 2:39tablet or computer when you're attached
  59. 2:41to a home network and institutional
  60. 2:43network or a cellular network you've
  61. 2:45maybe seen it has an address in one of
  62. 2:47these ranges take a look and that has a
  63. 2:49number of advantages there will only be
  64. 2:52a single same 32-bit source IP address
  65. 2:55that will be used for all data grams
  66. 2:58coming from all hosts behind the net
  67. 3:00router one can change the addresses of
  68. 3:03hosts within the local network without
  69. 3:05having to notify the outside world since
  70. 3:07they're all drawn from this private
  71. 3:09address range the network can change
  72. 3:11ISPs without having to change addresses
  73. 3:13of devices in the local area network and
  74. 3:16there are security benefits as well
  75. 3:18devices inside the local network are not
  76. 3:21directly addressable by or visible to
  77. 3:24the outside world so let's see how NAT
  78. 3:27is implemented well there's three things
  79. 3:30an added router will need to do first
  80. 3:33for the outgoing data grams then added
  81. 3:35router will need to replace the source
  82. 3:37IP address and port number for every
  83. 3:39outgoing data Graham with the NAT IP
  84. 3:42address and a new source port number
  85. 3:44it's important to know that NAT is
  86. 3:46transparent both to the local hosts and
  87. 3:49to the remote hosts all the remote host
  88. 3:52is going to see is an arriving data
  89. 3:53Graham it's got an IP address and a port
  90. 3:55number as usual and the remote host is
  91. 3:58going to respond using that IP address
  92. 4:00and port number as usual second the NAT
  93. 4:04router is going to need to remember
  94. 4:06every translation pair mapping the local
  95. 4:09source IP address and local source port
  96. 4:11number to the NAT IP address and a new
  97. 4:14source port number this translation will
  98. 4:16be stored in that translation table in
  99. 4:19third when data grams arrived from the
  100. 4:21external internet and are destined for a
  101. 4:24hosts within the local network the NAT
  102. 4:26router will need to replace the
  103. 4:28destination IP address and port number
  104. 4:30every incoming data gram with the
  105. 4:33corresponding IP address and source port
  106. 4:35number stored in the NAT table this will
  107. 4:38all become clear if we take a look at
  108. 4:40net in action
  109. 4:42in this example the local network
  110. 4:45addresses are in the range 1000 / 24 and
  111. 4:50the net address used by the router is
  112. 4:52138 dot 76 that 29.7 we see the net
  113. 4:58translation table here which is
  114. 5:00initially empty in step 1 host 1000 dot
  115. 5:051 sends a Datagram with source port 3 3
  116. 5:084 5 to destination IP address 128 119
  117. 5:12dot 4186
  118. 5:14port 80 it's a web server the data gram
  119. 5:17reaches the net router which then
  120. 5:19changes the data gram source IP address
  121. 5:22from 1000 1 and source port 3 3 4 5 to
  122. 5:28IP address 138 dot 76 29.7 and source
  123. 5:33port number 5001 and updates the NAT
  124. 5:36table accordingly as we see here note
  125. 5:39that the destination address and port
  126. 5:40number are both unchanged in the
  127. 5:42outgoing data Graham in step 3 the
  128. 5:46remote host is replied note that the
  129. 5:48reply arrives with a destination address
  130. 5:51of 138 dot 76 dot 29.7 that's the NAT IP
  131. 5:56address and destination port 5000 and 1
  132. 5:59so then that router is now going to have
  133. 6:02to perform the inverse mapping when the
  134. 6:04data Graham arrives the router indexes
  135. 6:06into the NAT table using the destination
  136. 6:09IP address and destination port number
  137. 6:11to obtain the local IP address 1000 dot
  138. 6:15one in the local destination port number
  139. 6:183 3 4 5 4 the host and the process on
  140. 6:22that host in the home network the router
  141. 6:24then rewrites the data Graham's
  142. 6:26destination address and destination port
  143. 6:29number and in step 4 forwards the data
  144. 6:32Graham into the home network well let's
  145. 6:35wrap up our study of NAT by just noting
  146. 6:38that at least initially net was pretty
  147. 6:40controversial we have a network layer
  148. 6:42device mucking around with port numbers
  149. 6:44which are really an end host issue and a
  150. 6:48purist might say well you know if you
  151. 6:50really want to solve the ipv4 address
  152. 6:52space deletion problem then let's do it
  153. 6:54with IP
  154. 6:55six after all that's why IP six was even
  155. 6:58developed in the first place and there
  156. 7:00are complications created by net what if
  157. 7:03an external host wants to initiate
  158. 7:04contact to a host behind an added router
  159. 7:07this problem is known as nat traversal
  160. 7:09it can be done but honestly it's a
  161. 7:12pretty ugly hack so while net does have
  162. 7:16advantages it has disadvantages as well
  163. 7:18however network operators have really
  164. 7:21voted with their feet that's widely
  165. 7:23deployed and very much here to stay for
  166. 7:25quite a while well next we're going to
  167. 7:28take a look at IP version 6 and as we've
  168. 7:32noted the primary motivation for ipv6
  169. 7:34was the much larger 128-bit address
  170. 7:37space but there are a number of other
  171. 7:40important innovations in ipv6 as well
  172. 7:42and we'll encounter one really new
  173. 7:45important idea here known as tunneling
  174. 7:47when we study IP version 6 so let's get
  175. 7:50started so yes absolutely the main
  176. 7:54motivation for ipv6 was the need for a
  177. 7:57much larger address space but there were
  178. 7:59some other motivations as well first IP
  179. 8:03headers need to be processed at
  180. 8:04nanosecond speeds this absolutely wasn't
  181. 8:06true back in 1981 when ipv4 was
  182. 8:10standardized but has been true for a
  183. 8:12while given link line rates ipv6 as
  184. 8:16we'll see enables fast IP forwarding by
  185. 8:19simplifying some of the more complicated
  186. 8:21aspects of ipv4 router processing those
  187. 8:25arising from variable length headers for
  188. 8:27example data gram fragmentation and
  189. 8:29reassembly and the need to recompute the
  190. 8:31checksum at every hop and secondly until
  191. 8:35the 1990s the internet was really
  192. 8:36conceived of as more of a Datagram
  193. 8:39oriented network the data gram was the
  194. 8:42primary abstraction however more
  195. 8:44recently the notion of a flow or we
  196. 8:47might say a connection between endpoints
  197. 8:49has become an increasingly important
  198. 8:52abstraction there's been a desire as
  199. 8:54we've seen to provide services on a per
  200. 8:56flow basis not just on a per data gram
  201. 8:59basis ipv6 raises this notion of a flow
  202. 9:03to a first-class object by introducing
  203. 9:06the notion of a flow label into the
  204. 9:08P header as we'll see next so let's take
  205. 9:11a quick look at the ipv6 data gram
  206. 9:13format we see here the hundred and
  207. 9:16twenty eight bit ipv6 source and
  208. 9:18destination addresses that we've been
  209. 9:20discussing we also see the 16 bit flow
  210. 9:23label field that we just mentioned and
  211. 9:25it's important to realize that this
  212. 9:27fields a mechanism for labeling flows
  213. 9:30but that ipv6 doesn't mandate how it
  214. 9:33flows defined or how this fields to be
  215. 9:35used these are really policy issues that
  216. 9:38are up to the ISP ipv6 provides
  217. 9:41mechanisms but not policy for flow
  218. 9:44handling the 8-bit traffic class field
  219. 9:47is like the type of service field in
  220. 9:49ipv4 it can be used to give priority to
  221. 9:52certain data grams within flow or to a
  222. 9:55particular class of traffic and like the
  223. 9:57flow label this field is really about
  224. 9:59mechanism not policy the version payload
  225. 10:02length hop limit next header or upper
  226. 10:05layer fields and payload or just as we
  227. 10:07saw in ipv4 so all of this hopefully
  228. 10:10looks pretty familiar to you and given
  229. 10:12that this is pretty familiar then
  230. 10:14perhaps the more interesting issue then
  231. 10:16is what fields were in ipv4 but are not
  232. 10:20in ipv6 in particular there's no
  233. 10:23checksum fragmentation reassembly or
  234. 10:26options fields and as we mentioned
  235. 10:28earlier this makes the header a fixed
  236. 10:31length and allows for faster processing
  237. 10:33fragmentation and reassembly needs to be
  238. 10:35done at the endpoints and options can be
  239. 10:38accomplished by passing an ipv6 Datagram
  240. 10:41payload up to an upper layer protocol at
  241. 10:43the router let's wrap up our discussion
  242. 10:47of ipv6 by considering the following
  243. 10:50question if we currently have an ipv4
  244. 10:53network but eventually want to
  245. 10:55transition to an ipv6 network how do we
  246. 10:58actually accomplish that transmission
  247. 11:00we've seen that ipv4 and ipv6 are very
  248. 11:04different protocols well do we have a
  249. 11:07flag day say where everyone transitions
  250. 11:09from ipv4 to ipv6 globally turn off all
  251. 11:13of their ipv4 equipment and turn on all
  252. 11:16their ipv6 equipment well that's
  253. 11:19difficult for a lot of reasons that
  254. 11:21you might want to think about instead we
  255. 11:24really want I P v4 and v6 to coexist to
  256. 11:28interoperate as routers and host
  257. 11:30continue to migrate to ipv6 as new
  258. 11:33equipment is introduced so what we'll
  259. 11:36have what we do have today is an
  260. 11:38internet that has some routers that are
  261. 11:40ipv4 and some routers that are ipv6 and
  262. 11:44some routers that are both ipv4 and v6
  263. 11:48but how do we provide this coexistence
  264. 11:51while keeping the internet running it
  265. 11:54sort of seems like trying to change the
  266. 11:56engines on an airplane while that
  267. 11:57airplane is flying well fortunately it's
  268. 12:00not that hard
  269. 12:01and the key technique that's used to
  270. 12:03allow ipv4 and ipv6 networks to
  271. 12:07interoperate is known as tunneling and
  272. 12:10we're going to take a look at that here
  273. 12:11and the key to tunneling as we'll see is
  274. 12:13for a data gram say an ipv4 Datagram to
  275. 12:17contain as its payload an ipv6 Datagram
  276. 12:22a Datagram inside a Datagram but an ipv6
  277. 12:25Datagram inside an ipv4 Datagram what's
  278. 12:29that about that just somehow doesn't
  279. 12:31sound right well it's actually not as
  280. 12:34quite as odd as it might sound let's see
  281. 12:38and here's the way to think about
  282. 12:39tunneling remember what we learned
  283. 12:41earlier when we were looking at layering
  284. 12:43and encapsulation way back in our
  285. 12:45introduction to networking in this
  286. 12:47figure here we see two ipv6 routers
  287. 12:50physically connected by Ethernet the
  288. 12:53link layer Ethernet frame between these
  289. 12:55two routers carries an ipv6 Datagram as
  290. 12:59its payload as we see here this is 100%
  291. 13:02business as usual nothing new here well
  292. 13:05now let's take a look at two ipv6
  293. 13:07routers again but assume that in
  294. 13:09addition to knowing how to do ipv6 they
  295. 13:12also know how to do ipv4 just like they
  296. 13:15know how to do Ethernet and now rather
  297. 13:18than being connected by Ethernet these
  298. 13:21two routers are connected to each other
  299. 13:23these two ipv6 routers are connected to
  300. 13:26each other by a network of ipv4 routers
  301. 13:29how do these two ipv6 routers forward an
  302. 13:32IP Datagram to each other well the
  303. 13:35answer of course is by using the ipv4
  304. 13:38network that connects them in this case
  305. 13:41instead of sending their ipv6 Datagram
  306. 13:44to each other in an Ethernet frame they
  307. 13:47simply put their ipv6 Datagram into an
  308. 13:50ipv4 data gram and address and send that
  309. 13:55ipv4 Datagram to the other this is the
  310. 13:58process that's known as tunneling let's
  311. 14:01take a look at an example well in this
  312. 14:04example routers a and F are ipv6 only
  313. 14:08routers C and D are ipv4 only and
  314. 14:12routers B and E can do both ipv6 and
  315. 14:15ipv4 let's suppose that ipv6 router a
  316. 14:19over here on the left needs to send a
  317. 14:21Datagram an ipv6 Datagram to ipv6 router
  318. 14:25F let's walk through what happens well
  319. 14:28ace forwarding table says that ipv6
  320. 14:31router B is the next hop and so the ipv6
  321. 14:35Datagram here is forwarded to B and no
  322. 14:38carefully that this is an ipv6 Datagram
  323. 14:41the source address is a the destination
  324. 14:44address is F those are both ipv6
  325. 14:47addresses and there's also a flow ID
  326. 14:49field here which
  327. 14:51only exists in ipv6 so there's nothing
  328. 14:53new here in getting from A to B but now
  329. 14:57let's take a look at what happens at
  330. 14:58router B and this is where it gets
  331. 15:00interesting
  332. 15:00it receives the ipv6 Datagram from a
  333. 15:04sees that the destination is F and that
  334. 15:08the next hop router in the ipv6 network
  335. 15:11is router e so that's critical the next
  336. 15:14hop router in the ipv6 network is e so B
  337. 15:18needs to say well how do I forward this
  338. 15:21ipv6 Datagram to e well remember now B
  339. 15:26and E are connected by an ipv4 network
  340. 15:29and that's good because B and E both
  341. 15:32speak ipv4 and ipv6 and are connected by
  342. 15:36an ipv4 Tunnel and in fact in B's
  343. 15:39forwarding table there will be an entry
  344. 15:41that says to get to F forward this
  345. 15:44through the outgoing interface that's an
  346. 15:46ipv4 tunnel to eat so B creates an ipv4
  347. 15:51Datagram addresses that data gram to
  348. 15:54ease ipv4 address and that's critical
  349. 15:58puts the ipv6 Datagram as the payload
  350. 16:01into the ipv4 Datagram and forwards that
  351. 16:05data gram into the tunnel and let's take
  352. 16:08a careful look at this ipv4 Datagram
  353. 16:11that's being forwarded from B to C into
  354. 16:15the tunnel note that for the ipv4 data
  355. 16:18gram the source is router B and the
  356. 16:21destination address is router E that's
  357. 16:24for the ipv4 Datagram and of course
  358. 16:26inside that ipv4 Datagram is the ipv6
  359. 16:30Datagram the original data gram that
  360. 16:33started from a and that's got a source
  361. 16:35of a and a destination of F but that's
  362. 16:38just the payload inside this outermost
  363. 16:42ipv4 read data gram shown here the ipv4
  364. 16:47Datagram is then forwarded through the
  365. 16:49ipv4 network and arrives at E using the
  366. 16:53mechanisms that we already know really
  367. 16:54well within the ipv4 network this is
  368. 16:57really just another ipv4 Datagram and
  369. 17:01it's addressed to e there's nothing new
  370. 17:03here at ipv4 destination e e says okay
  371. 17:07I'm the destination for this ipv4
  372. 17:10Datagram the read data gram and so it
  373. 17:13looks inside and finds an ipv6 Datagram
  374. 17:16it then extracts the ipv6 Datagram looks
  375. 17:19at the ipv6 destination address F looks
  376. 17:23up F in its forwarding table and
  377. 17:25forwards the ipv6 Datagram on the link
  378. 17:29towards F so in this example we've seen
  379. 17:32that ipv4 is really sort of considered
  380. 17:35almost as a link layer technology that
  381. 17:38directly connects to ipv6 routers the
  382. 17:41path through the ipv4 network can be
  383. 17:43thought of abstractly as a tunnel that
  384. 17:45directly connects the two ipv6 routers
  385. 17:48and in this way through the use of
  386. 17:50tunneling both ipv4 and ipv6 can
  387. 17:54co-exist to forward datagrams end-to-end
  388. 17:57along a path of mixed ipv4 and ipv6
  389. 18:01routers the key thing as we've seen here
  390. 18:04is that at the boundaries between the
  391. 18:06two types of technologies ipv4 ipv6 we
  392. 18:10have routers that can do both ipv4 and
  393. 18:13ipv6 and this is true of all modern
  394. 18:16routers we'll see later that tunneling
  395. 18:19is used extensively and cellular
  396. 18:21networks to support mobility so it's a
  397. 18:23general and therefore an important
  398. 18:25concept but you know I found that
  399. 18:27sometimes it's a difficult concept for
  400. 18:29students to get their arms around it
  401. 18:31first so you might want to think about
  402. 18:33it some or listen to this section again
  403. 18:35as it's an important technique that
  404. 18:37transcends just ipv4 ipv6 interoperation
  405. 18:42well we've seen that ipv6 was
  406. 18:45standardized in the late 1990s how
  407. 18:48widely is it deployed today say 25 years
  408. 18:50later well google reports that almost 30
  409. 18:53percent of the clients that access it
  410. 18:55services do so using ipv6 and in the US
  411. 18:59the National Institute of Standards
  412. 19:01reports that about a third of all US
  413. 19:04government domains are ipv6 capable so
  414. 19:07that's some progress but ipv4 25 years
  415. 19:11later is still by far the more
  416. 19:14dominantly use technology and you might
  417. 19:16think well why is that the case well
  418. 19:19certainly the widespread deployment of
  419. 19:21NAT has eased the pressure on the ipv4
  420. 19:23address space and made the adoption of
  421. 19:26ipv6 less critical but it's also
  422. 19:29interesting to think as a contrast about
  423. 19:31what's changed at the application layer
  424. 19:33in the last 25 years the emergence of
  425. 19:36the web social media media streaming
  426. 19:38gaming telepresence and more that's an
  427. 19:41amazing amount of change at the
  428. 19:43application layer and it just shows how
  429. 19:45easy it is to build to innovate and to
  430. 19:47deploy at the application layer while
  431. 19:50building innovating and deploying new
  432. 19:52well plumbing at the network layer takes
  433. 19:55a lot longer in this section in the last
  434. 19:59we've taken a deep dive into the
  435. 20:00Internet Protocol IP which lies at the
  436. 20:03heart of the Internet's network layer
  437. 20:05and we've we've covered a huge amount of
  438. 20:08ground we looked at the ipv4 data graham
  439. 20:10format we looked at ipv4 addressing we
  440. 20:13looked at network address translation
  441. 20:15and we looked at IP version 6 and so
  442. 20:17maybe you're feeling almost a little
  443. 20:19exhausted now but hopefully you've
  444. 20:21learned a lot coming up next we're going
  445. 20:23to take a look at generalized forwarding
  446. 20:26which will really set the foundation
  447. 20:27nicely for looking at software-defined
  448. 20:30networking when we take a look at the
  449. 20:32control plane
  450. 20:34[Music]
  451. 20:47[Music]

About this transcript

This page contains the full transcript of 4.3 The Internet Protocol, part 2 by JimKurose, generated from the public captions YouTube serves with the video. The transcript has 3,125 words across 451 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.