1 00:00:00,240 --> 00:00:06,990 In the definition of what a network is, we told that a computer network is used for sharing resources 2 00:00:06,990 --> 00:00:10,160 between nodes which are computing devices. 3 00:00:10,800 --> 00:00:16,320 In other words, we have devices that are sharing resources between each other, and they are two main 4 00:00:16,320 --> 00:00:18,450 devices that you need to be aware of initially. 5 00:00:18,720 --> 00:00:20,940 And that's a server and a client. 6 00:00:21,270 --> 00:00:22,800 Now, what is a server? 7 00:00:23,370 --> 00:00:25,380 So let's ask of the robots once again. 8 00:00:26,080 --> 00:00:28,260 Alexa, what is a computer server? 9 00:00:29,840 --> 00:00:36,140 In computing, a server is a computer programmer or a device that provides functionality for other programs 10 00:00:36,140 --> 00:00:38,150 or devices called clients. 11 00:00:38,660 --> 00:00:44,330 This architecture is called the client server model, and a single overall computation is distributed 12 00:00:44,330 --> 00:00:46,850 across multiple processes or devices. 13 00:00:49,000 --> 00:00:56,980 So notice a server is providing a service or functionality to clients in what's called a client server 14 00:00:56,980 --> 00:01:01,810 model, so servers provide functionality to clients. 15 00:01:02,080 --> 00:01:05,410 And that begs the question, what is a client, Alexa? 16 00:01:05,650 --> 00:01:06,730 What is a client? 17 00:01:08,630 --> 00:01:14,600 A client is a piece of computer hardware or software that accesses a service made available by a server, 18 00:01:15,110 --> 00:01:20,690 the server is often on another computer system, in which case the client accesses the service by way 19 00:01:20,690 --> 00:01:21,500 of a network. 20 00:01:22,340 --> 00:01:23,130 Now, listen to that. 21 00:01:23,150 --> 00:01:25,210 That's very important to remember. 22 00:01:25,820 --> 00:01:29,940 A client accesses a service provided by a server. 23 00:01:30,380 --> 00:01:36,980 Typically, the server is a different computer or different computing device to the client across a 24 00:01:36,980 --> 00:01:37,720 network. 25 00:01:38,210 --> 00:01:43,040 So we are going to access a service hosted by a server across a network. 26 00:01:43,310 --> 00:01:46,580 Here's an example of a server, big server right here. 27 00:01:47,000 --> 00:01:49,640 Inside here are a lot of drive bays. 28 00:01:49,880 --> 00:01:51,590 Yes, a hard drive. 29 00:01:52,590 --> 00:01:58,520 Yes, another one and another one. 30 00:01:59,840 --> 00:02:03,710 And another one and I could continue. 31 00:02:07,250 --> 00:02:15,410 The whole idea of a survey is to provide resources or functionality to clients, so the server is big 32 00:02:15,410 --> 00:02:21,110 because we want a lot of storage, we want a lot of computing power and a lot of memory in a server, 33 00:02:21,110 --> 00:02:22,760 especially if we want to scale it up. 34 00:02:23,090 --> 00:02:28,370 If you've got thousands and thousands of queries from many, many clients to a server, you wanted to 35 00:02:28,370 --> 00:02:29,570 have the capacity. 36 00:02:29,570 --> 00:02:34,370 So memory CPU storage to handle those queries. 37 00:02:34,610 --> 00:02:40,700 So hence the big device, it needs to have the capacity to service the requests. 38 00:02:41,270 --> 00:02:46,790 So if only one or two people are requesting a Web page from the server, that's not a problem. 39 00:02:47,000 --> 00:02:51,170 But if we've got thousands and thousands of requests, one server may not even be enough. 40 00:02:51,560 --> 00:02:53,570 And then we have distributed services. 41 00:02:53,780 --> 00:02:58,400 So we have a service such as a Web page that's distributed across multiple servers. 42 00:02:58,880 --> 00:03:04,070 Google, as an example, will have thousands upon thousands upon thousands of servers to service the 43 00:03:04,070 --> 00:03:05,930 requests from millions of clients. 44 00:03:05,930 --> 00:03:10,970 So they will have many, many servers to service or provide a service to the clients. 45 00:03:11,480 --> 00:03:18,170 When you go to the Google website and you type in a request that's querying databases and retrieving 46 00:03:18,170 --> 00:03:23,570 information from databases, to give you a answer about some query that you've made. 47 00:03:24,140 --> 00:03:27,480 So the server is providing a service to a client. 48 00:03:27,980 --> 00:03:31,790 Now, you don't need dedicated hardware like this to have a server. 49 00:03:32,000 --> 00:03:36,410 A client device such as a laptop can act as a server. 50 00:03:36,770 --> 00:03:40,730 So the role will determine how that device is acting. 51 00:03:41,060 --> 00:03:46,790 A physical laptop such as this laptop could be a client requesting a service from a server, but it 52 00:03:46,790 --> 00:03:48,640 could also be hosting a service. 53 00:03:49,070 --> 00:03:55,460 So it may be running some kind of server and then sharing a file as an example with another PC. 54 00:03:55,460 --> 00:03:57,830 So it's hosting a file sharing service. 55 00:03:58,100 --> 00:04:03,650 So clients access servers to make use of a service that the server is providing. 56 00:04:03,950 --> 00:04:10,220 A website will serve a Web page to a client, which is then displayed on your computer as an example. 57 00:04:10,670 --> 00:04:15,230 Later in the course, we're going to learn about network automation and network programmability that's 58 00:04:15,230 --> 00:04:16,550 becoming really important. 59 00:04:16,670 --> 00:04:23,300 And in that kind of scenario, you'll have one application or program providing a service to another 60 00:04:23,300 --> 00:04:28,550 program, typically using what's called an API application programming interface. 61 00:04:28,820 --> 00:04:31,880 We're going to ignore that example for the moment. 62 00:04:32,090 --> 00:04:37,190 We'll get to that later where we've got machine talking to machine, basically application talking to 63 00:04:37,190 --> 00:04:40,820 application one application, interacting with another application. 64 00:04:41,360 --> 00:04:44,210 Let's for the moment concentrate on physical devices. 65 00:04:44,930 --> 00:04:52,700 Now, a server such as the server over here, one physical computer will be listening on different port 66 00:04:52,700 --> 00:04:54,890 numbers for different protocols. 67 00:04:55,220 --> 00:04:56,210 What is a protocol? 68 00:04:56,210 --> 00:05:00,560 It's basically a set of rules used for communication between devices. 69 00:05:01,130 --> 00:05:03,620 As an example, I'm speaking English. 70 00:05:04,070 --> 00:05:09,200 Hopefully you can hear what I'm saying and hopefully you can understand what I'm saying because I'm 71 00:05:09,200 --> 00:05:12,140 using a set of conventions in my speech. 72 00:05:12,350 --> 00:05:14,210 So in English, we speak a certain way. 73 00:05:14,660 --> 00:05:19,420 As an example, some languages will use numbers differently to English. 74 00:05:20,000 --> 00:05:22,250 The protocol that we speak speaking here is English. 75 00:05:22,250 --> 00:05:30,590 So I will say 21, but in a different language like Afrikaans, I'll say Yanan, which is basically 76 00:05:30,590 --> 00:05:33,660 saying one, two to denote 21. 77 00:05:33,890 --> 00:05:40,340 So the way that words are pronounced or the way that numbers are pronounced is reversed in a different 78 00:05:40,340 --> 00:05:41,640 language to English. 79 00:05:42,110 --> 00:05:45,980 The point is, you and I are using a specific protocol. 80 00:05:45,980 --> 00:05:51,650 We are listening to English as the transmission and you can understand what I'm saying. 81 00:05:52,100 --> 00:06:00,170 But if I switched my language or my protocol and started saying we are morter whodunit Funda, you might 82 00:06:00,170 --> 00:06:04,580 struggle to understand me unless you understand South African or should I say Afrikaans. 83 00:06:05,510 --> 00:06:10,580 The point is, is that a survey doesn't just automatically switch like we do in our brains from one 84 00:06:10,580 --> 00:06:11,450 language to another. 85 00:06:11,660 --> 00:06:14,210 It has to listen on specific port numbers. 86 00:06:14,600 --> 00:06:18,560 Your ears are listening on the same frequencies for both English and Afrikaans, and then your brain 87 00:06:18,560 --> 00:06:20,920 just switches from one language to another. 88 00:06:21,080 --> 00:06:23,090 A server's not as clever as that. 89 00:06:23,240 --> 00:06:27,500 It has to listen on specific port numbers for specific protocols. 90 00:06:27,950 --> 00:06:32,750 As an analogy, has an analogue radio old technology. 91 00:06:32,750 --> 00:06:37,690 I know, but notice here, I'm not receiving anything because I'm not listening on a good port. 92 00:06:37,700 --> 00:06:40,910 No, but as I tuned to a specific port number. 93 00:06:55,270 --> 00:06:59,860 I can pick up a transmission, I have to be careful because of copyright, what I transmit here, but 94 00:06:59,860 --> 00:07:03,160 that is a different radio station or a different protocol 95 00:07:06,580 --> 00:07:11,710 to say that the radio station, so different radio stations transmit on different frequencies. 96 00:07:12,010 --> 00:07:16,000 Think of that as an analogy to what a computer server is doing. 97 00:07:16,240 --> 00:07:20,380 A computer server like this is listening on specific port numbers. 98 00:07:20,890 --> 00:07:28,030 If you want to get a Web page, your browser is automatically configured or programmed to talk to Port 99 00:07:28,030 --> 00:07:29,890 80 or to port four, four, three. 100 00:07:30,310 --> 00:07:35,500 If you're using an application like FTP, the application is automatically going to talk to the server 101 00:07:35,500 --> 00:07:42,940 on Port 21 and the server is listening on Port 21 so a server can run multiple services and provide 102 00:07:42,940 --> 00:07:44,710 multiple services to clients. 103 00:07:45,040 --> 00:07:46,180 Client server model. 104 00:07:46,210 --> 00:07:48,490 A client requests something from a server. 105 00:07:48,490 --> 00:07:51,580 The server provides the file or the service to the client.