网络编程基础概念整理

网络编程基础概念整理

我们学习网络编程之前,先来复习整理一下其基础的概念。

①:首先,我们先要认识一下什么是计算机网络?

网络的概念非常简单:可以将两个终端连接起来的叫做网络

而互联网则是基于网络的基础上,将各个不同的网络连接在了一起,使之可以互相通讯,也可以叫作Inter网

 

②:而什么是C/S分布式模式呢?

C是client 客户,S是server 服务,则可以知道C/S模式就是网络中通讯的两端,一端是客户端(请求服务者),一端是服务器端(提供服务者)。用户发出请求,服务器收到请求后,发送回应。

 

③:那么网络中通讯的真正主角是谁呢?

真正的主角应该是网络中运行在不同主机上的两个独立的进程

 

④:那么我要在网络上和另一台终端上的进程进行通讯,怎么找到这个进程呢?

之前我们学过进程通讯,当时用的是进程的PID,可是我们发现重新打开这个进程,进程的PID也会变化,那么主机上的进程PID肯定不能作为通讯的标识的,因为两个不同主机上的进程PID小概率相同或者大概率不同,两者没有任何关系。

那我们要在网络中进行通讯,肯定要找到另外一种标识,这个标识应该是唯一的,这样才能准确找到对方。

这时,我们知道了IP地址和端口号的作用了:

IP地址:用来标识网络中的不同主机

例如:我们经常登录的地址:www.baidu.com   www.taobao.com

它们是这样转换到我们需要的IP地址的:域名 ---> 域名解析器 ---> IP地址

端口号:用来标识主机上的不同进程的(一个端口号只能被一个进程占用) 是个整形数字

 

⑤:这时候,我们要了解一下协议的存在:

协议:提前商量制定好的规则,或者是约定

我们网络通讯中主要用到的是TCP/IP协议簇

这里有七层协议模型和四层协议模型:

这里传输层指定了端口号,而网络层则指定了IP地址

 

⑥:我们最后看一下,一条信息是如何从一台主机上发送到另一台主机上的:

这里,我们从客户端开始看,客户端发出了一条信息“hello”,这条信息首先进来了应用层,添加了应用层的协议报头,再经过传输层的时候,会添加传输层的协议报头,如TCP协议并指明发送到哪个端口上,再经过网络层,添加上网络层的协议报头并指明发送到哪个IP地址上,最后经过数据链路层,添加上数据链路层的协议。

最后传输到互联网上,通过路由器等物理设备,找到对应的服务器。

接下来,我们从服务器端接着看:首先通过数据链路层,通过解析客户端添加的数据链路层协议报头后,将其他数据传向网络层,解析了客户端添加的网络层协议报头后,将其他数据传向传输层,解析了客户端添加的传输层协议报头后,将其他数据传向应用层,最后解析了客户端添加的应用层协议报头后,得到客户端传递的真实信息。

 

⑦:计算机的IP地址主要分为:IPV4和IPV6

IPV4主要是由4字节的整型值组成的,地址长度为32位,采取的是点分十进制,如192.168.0.1

IPV6是替代IPV4的下一代IP协议,由16个字节组成,地址长度为128位,由于IPV4的网络地址资源有限,严重制约了互联网的应用的应用和发展,所以产生了IPV6,理论上IPV6是用不完的,IPV6号称可以为全世界的每一粒沙子编上一个网址。

猜你喜欢

转载自blog.csdn.net/IT_Quanwudi/article/details/86527146