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