In the definition of what a network is, we told that a computer network is used for sharing resources
between nodes which are computing devices.
In other words, we have devices that are sharing resources between each other, and they are two main
devices that you need to be aware of initially.
And that's a server and a client.
Now, what is a server?
So let's ask of the robots once again.
Alexa, what is a computer server?
In computing, a server is a computer programmer or a device that provides functionality for other programs
or devices called clients.
This architecture is called the client server model, and a single overall computation is distributed
across multiple processes or devices.
So notice a server is providing a service or functionality to clients in what's called a client server
model, so servers provide functionality to clients.
And that begs the question, what is a client, Alexa?
What is a client?
A client is a piece of computer hardware or software that accesses a service made available by a server,
the server is often on another computer system, in which case the client accesses the service by way
of a network.
Now, listen to that.
That's very important to remember.
A client accesses a service provided by a server.
Typically, the server is a different computer or different computing device to the client across a
network.
So we are going to access a service hosted by a server across a network.
Here's an example of a server, big server right here.
Inside here are a lot of drive bays.
Yes, a hard drive.
Yes, another one and another one.
And another one and I could continue.
The whole idea of a survey is to provide resources or functionality to clients, so the server is big
because we want a lot of storage, we want a lot of computing power and a lot of memory in a server,
especially if we want to scale it up.
If you've got thousands and thousands of queries from many, many clients to a server, you wanted to
have the capacity.
So memory CPU storage to handle those queries.
So hence the big device, it needs to have the capacity to service the requests.
So if only one or two people are requesting a Web page from the server, that's not a problem.
But if we've got thousands and thousands of requests, one server may not even be enough.
And then we have distributed services.
So we have a service such as a Web page that's distributed across multiple servers.
Google, as an example, will have thousands upon thousands upon thousands of servers to service the
requests from millions of clients.
So they will have many, many servers to service or provide a service to the clients.
When you go to the Google website and you type in a request that's querying databases and retrieving
information from databases, to give you a answer about some query that you've made.
So the server is providing a service to a client.
Now, you don't need dedicated hardware like this to have a server.
A client device such as a laptop can act as a server.
So the role will determine how that device is acting.
A physical laptop such as this laptop could be a client requesting a service from a server, but it
could also be hosting a service.
So it may be running some kind of server and then sharing a file as an example with another PC.
So it's hosting a file sharing service.
So clients access servers to make use of a service that the server is providing.
A website will serve a Web page to a client, which is then displayed on your computer as an example.
Later in the course, we're going to learn about network automation and network programmability that's
becoming really important.
And in that kind of scenario, you'll have one application or program providing a service to another
program, typically using what's called an API application programming interface.
We're going to ignore that example for the moment.
We'll get to that later where we've got machine talking to machine, basically application talking to
application one application, interacting with another application.
Let's for the moment concentrate on physical devices.
Now, a server such as the server over here, one physical computer will be listening on different port
numbers for different protocols.
What is a protocol?
It's basically a set of rules used for communication between devices.
As an example, I'm speaking English.
Hopefully you can hear what I'm saying and hopefully you can understand what I'm saying because I'm
using a set of conventions in my speech.
So in English, we speak a certain way.
As an example, some languages will use numbers differently to English.
The protocol that we speak speaking here is English.
So I will say 21, but in a different language like Afrikaans, I'll say Yanan, which is basically
saying one, two to denote 21.
So the way that words are pronounced or the way that numbers are pronounced is reversed in a different
language to English.
The point is, you and I are using a specific protocol.
We are listening to English as the transmission and you can understand what I'm saying.
But if I switched my language or my protocol and started saying we are morter whodunit Funda, you might
struggle to understand me unless you understand South African or should I say Afrikaans.
The point is, is that a survey doesn't just automatically switch like we do in our brains from one
language to another.
It has to listen on specific port numbers.
Your ears are listening on the same frequencies for both English and Afrikaans, and then your brain
just switches from one language to another.
A server's not as clever as that.
It has to listen on specific port numbers for specific protocols.
As an analogy, has an analogue radio old technology.
I know, but notice here, I'm not receiving anything because I'm not listening on a good port.
No, but as I tuned to a specific port number.
I can pick up a transmission, I have to be careful because of copyright, what I transmit here, but
that is a different radio station or a different protocol
to say that the radio station, so different radio stations transmit on different frequencies.
Think of that as an analogy to what a computer server is doing.
A computer server like this is listening on specific port numbers.
If you want to get a Web page, your browser is automatically configured or programmed to talk to Port
80 or to port four, four, three.
If you're using an application like FTP, the application is automatically going to talk to the server
on Port 21 and the server is listening on Port 21 so a server can run multiple services and provide
multiple services to clients.
Client server model.
A client requests something from a server.
The server provides the file or the service to the client.