1 00:00:00,000 --> 00:00:00,530 2 00:00:00,530 --> 00:00:02,575 Back in 1994, I had the opportunity 3 00:00:02,575 --> 00:00:04,610 of working at Paramount Pictures. 4 00:00:04,610 --> 00:00:07,040 And I realized there's a lot of actors, 5 00:00:07,040 --> 00:00:08,660 and some have specialized skills, 6 00:00:08,660 --> 00:00:10,430 and some are better than others. 7 00:00:10,430 --> 00:00:11,960 And sometimes it depends on the role 8 00:00:11,960 --> 00:00:14,168 that the actor is supposed to play in that determines 9 00:00:14,168 --> 00:00:15,170 how well they do at it. 10 00:00:15,170 --> 00:00:17,180 Well, in the world of our protocols suite-- 11 00:00:17,180 --> 00:00:20,330 specifically in the world of the TCP/IP protocol suite that we 12 00:00:20,330 --> 00:00:21,320 use today-- 13 00:00:21,320 --> 00:00:24,410 we also have several actors or players that 14 00:00:24,410 --> 00:00:26,330 are part of the protocol suite. 15 00:00:26,330 --> 00:00:29,660 And what I'd like to do is focus on a few of the core TCP/IP 16 00:00:29,660 --> 00:00:33,140 protocols, and I want to start right at this point 17 00:00:33,140 --> 00:00:35,000 and going below it-- the transport layer 18 00:00:35,000 --> 00:00:36,020 and working down. 19 00:00:36,020 --> 00:00:37,880 And at the transport layer, although there 20 00:00:37,880 --> 00:00:40,380 are several protocols that operate at that layer, 21 00:00:40,380 --> 00:00:44,000 there are two primary protocols that are used most of the time. 22 00:00:44,000 --> 00:00:46,220 One of them is connection-oriented and 23 00:00:46,220 --> 00:00:51,170 reliable, and the other is connectionless and unreliable. 24 00:00:51,170 --> 00:00:53,720 Of these two main protocols, the reliable one 25 00:00:53,720 --> 00:00:57,680 is called Transmission Control Protocol, or as its friends 26 00:00:57,680 --> 00:00:59,630 call him, TCP. 27 00:00:59,630 --> 00:01:02,690 So the middle manager at layer 4 at the transport layer, 28 00:01:02,690 --> 00:01:04,910 if it's using TCP, it's guarantying 29 00:01:04,910 --> 00:01:07,640 reliable delivery of the messages-- or if you will, 30 00:01:07,640 --> 00:01:10,670 the segments that are going to be sent from this computer 31 00:01:10,670 --> 00:01:12,320 or from this device on the network. 32 00:01:12,320 --> 00:01:14,070 And the way that TCP pulls off this feat-- 33 00:01:14,070 --> 00:01:15,236 it does something like this. 34 00:01:15,236 --> 00:01:15,770 OK. 35 00:01:15,770 --> 00:01:17,300 I'm going to go ahead and establish 36 00:01:17,300 --> 00:01:20,660 a session with this other device I'm talking to, says TCP. 37 00:01:20,660 --> 00:01:23,430 And I'm going to send requests and get acknowledgments. 38 00:01:23,430 --> 00:01:25,859 And because I'm getting acknowledgments, says TCP, 39 00:01:25,859 --> 00:01:27,650 I know that these segments that I'm sending 40 00:01:27,650 --> 00:01:29,426 are being received by the other side. 41 00:01:29,426 --> 00:01:30,800 And that's how the middle manager 42 00:01:30,800 --> 00:01:33,590 role here at the transport layer, if it's using TCP, 43 00:01:33,590 --> 00:01:36,440 can have reliable transmissions of those segments 44 00:01:36,440 --> 00:01:38,300 by maintaining a connection-oriented 45 00:01:38,300 --> 00:01:41,390 relationship between the local computer and the device 46 00:01:41,390 --> 00:01:42,380 that we're talking to. 47 00:01:42,380 --> 00:01:44,990 Now, what's one of the negatives of using TCP? 48 00:01:44,990 --> 00:01:45,680 It sounds great. 49 00:01:45,680 --> 00:01:46,263 It's reliable. 50 00:01:46,263 --> 00:01:48,290 Well, there is some additional overhead, 51 00:01:48,290 --> 00:01:50,510 including acknowledgments that are going to be sent 52 00:01:50,510 --> 00:01:52,760 and additional setup for the communications. 53 00:01:52,760 --> 00:01:54,447 So that's the negative side of TCP. 54 00:01:54,447 --> 00:01:56,030 It's a little more heavy, if you will. 55 00:01:56,030 --> 00:01:57,420 But it is reliable. 56 00:01:57,420 --> 00:01:59,960 Now, on the other hand, the other major protocol 57 00:01:59,960 --> 00:02:03,500 in the TCP/IP protocol suite at layer 4, the transport layer, 58 00:02:03,500 --> 00:02:07,350 is User Datagram Protocol, or UDP. 59 00:02:07,350 --> 00:02:09,680 And UDP, at the transport layer, if it's 60 00:02:09,680 --> 00:02:11,300 being used by the middle manager, 61 00:02:11,300 --> 00:02:13,640 it is not set up as a connection-oriented 62 00:02:13,640 --> 00:02:14,330 relationship. 63 00:02:14,330 --> 00:02:16,805 There are no acknowledgments from the other side. 64 00:02:16,805 --> 00:02:18,680 So it's more like setting the segment of data 65 00:02:18,680 --> 00:02:21,290 and just hoping, from the transport layer's perspective-- 66 00:02:21,290 --> 00:02:22,670 just hoping that it makes it. 67 00:02:22,670 --> 00:02:24,380 Because the transport layer itself 68 00:02:24,380 --> 00:02:26,540 is not expecting any acknowledgments 69 00:02:26,540 --> 00:02:29,240 if it's using UDP as the transport protocol. 70 00:02:29,240 --> 00:02:30,920 And a really good question that comes up 71 00:02:30,920 --> 00:02:33,920 is, hey, how does the middle manager, the transport layer, 72 00:02:33,920 --> 00:02:36,650 know if it should use TCP-- 73 00:02:36,650 --> 00:02:39,920 reliable, connection-oriented communications-- or UDP-- 74 00:02:39,920 --> 00:02:41,570 connectionless, unreliable? 75 00:02:41,570 --> 00:02:44,810 And the answer is it depends on the application that 76 00:02:44,810 --> 00:02:46,740 is at the upper layers that's being used. 77 00:02:46,740 --> 00:02:49,100 So some applications are requiring TCP. 78 00:02:49,100 --> 00:02:51,200 Other applications are requesting UDP. 79 00:02:51,200 --> 00:02:54,050 And that's how the transport layer knows what to use. 80 00:02:54,050 --> 00:02:58,280 And in either case, whether it's TCP or UDP that's 81 00:02:58,280 --> 00:03:00,020 being used at the transport layer, 82 00:03:00,020 --> 00:03:02,330 as those segments get passed down to the network 83 00:03:02,330 --> 00:03:05,060 layer, layer 3, in the world of TCP/IP, 84 00:03:05,060 --> 00:03:08,030 the one major protocol operating at the network layer 85 00:03:08,030 --> 00:03:13,100 is a protocol called IP, which is short for Internet Protocol. 86 00:03:13,100 --> 00:03:15,050 And down here at the network layer-- 87 00:03:15,050 --> 00:03:17,350 or in our analogy of the kings, that's the mailroom-- 88 00:03:17,350 --> 00:03:18,852 they're adding address information. 89 00:03:18,852 --> 00:03:20,810 Specifically in the world of internet protocol, 90 00:03:20,810 --> 00:03:23,280 they're adding IP addresses. 91 00:03:23,280 --> 00:03:27,410 And that's true whether we're using IPv4 or IPv6. 92 00:03:27,410 --> 00:03:28,610 The logic is the same. 93 00:03:28,610 --> 00:03:31,190 This is the part where we would be adding the correct IP 94 00:03:31,190 --> 00:03:34,490 addresses-- both source address and destination address-- 95 00:03:34,490 --> 00:03:38,430 on each of the packets before we hand them down to layer 2, 96 00:03:38,430 --> 00:03:40,490 which is going to be responsible for the framing. 97 00:03:40,490 --> 00:03:41,930 And as we consider the protocol suite 98 00:03:41,930 --> 00:03:43,360 and we learn more about it, we're 99 00:03:43,360 --> 00:03:46,310 going to have additional protocols that are also at play 100 00:03:46,310 --> 00:03:47,160 and working. 101 00:03:47,160 --> 00:03:49,730 But because we're calling this protocol suite something, 102 00:03:49,730 --> 00:03:53,150 we've chosen to name it TCP/IP. 103 00:03:53,150 --> 00:03:55,880 So when we see TCP/IP, it represents 104 00:03:55,880 --> 00:03:57,950 all the possible protocols that we 105 00:03:57,950 --> 00:04:01,460 might be using in this suite of protocols which may include 106 00:04:01,460 --> 00:04:05,180 TCP or UDP as well as other common protocols 107 00:04:05,180 --> 00:04:07,340 in the TCP/IP protocol suite, which 108 00:04:07,340 --> 00:04:08,600 leads us to another question. 109 00:04:08,600 --> 00:04:10,220 What is another protocol, or what 110 00:04:10,220 --> 00:04:13,080 is an example of another protocol in the TCP/IP Protocol 111 00:04:13,080 --> 00:04:13,670 Suite? 112 00:04:13,670 --> 00:04:19,459 Another example is ICMP, which is an acronym for the Internet 113 00:04:19,459 --> 00:04:21,529 Control Message Protocol. 114 00:04:21,529 --> 00:04:25,160 And if we use the analogy of actors in the world of TCP/IP, 115 00:04:25,160 --> 00:04:28,880 like movie actors, ICMP would be a really good supporting role. 116 00:04:28,880 --> 00:04:31,190 It does a lot of support services for other IP 117 00:04:31,190 --> 00:04:32,120 functionality. 118 00:04:32,120 --> 00:04:34,250 For example, if a user at Computer A 119 00:04:34,250 --> 00:04:38,480 did a ping, typed in ping and the IP address of Computer B, 120 00:04:38,480 --> 00:04:42,320 behind the scenes, it's actually using ICMP as the mechanism 121 00:04:42,320 --> 00:04:43,670 to say, hey, are you there. 122 00:04:43,670 --> 00:04:45,090 That would be a ping request. 123 00:04:45,090 --> 00:04:46,880 And if the other party is playing ball, 124 00:04:46,880 --> 00:04:48,830 the ICMP can also be used as part 125 00:04:48,830 --> 00:04:51,080 of the reply to that request, just 126 00:04:51,080 --> 00:04:54,330 to confirm there's reachability between point A and point B. 127 00:04:54,330 --> 00:04:57,770 And behind the scenes, ICMP is being used. 128 00:04:57,770 --> 00:05:00,130 In this Nugget, we've identified some core protocols 129 00:05:00,130 --> 00:05:02,390 in the world of TCP/IP, including 130 00:05:02,390 --> 00:05:05,140 TCP and UDP at the transport layer, 131 00:05:05,140 --> 00:05:08,690 IEP at the network layer, as well as a utility protocol 132 00:05:08,690 --> 00:05:12,800 called ICMP that's also part of the TCP/IP protocol suite. 133 00:05:12,800 --> 00:05:15,020 I hope this has been informative for you, 134 00:05:15,020 --> 00:05:18,246 and I'd like to thank you for viewing. 135 00:05:18,246 --> 00:05:18,745