00:01
欢迎大家继续收看上硅谷的link云计算视频,我是刘双老师。那我们上节课呢,讲了一下关于VSFTP,以及FTP这个协议的一个呃,特性啊,以及它的一个概念。咱们本节课呢,来讲一下关于VSFTP这个软件对应的它的一个连接方式啊,对一个连接方式,那对于VSFTP这个软件来说,它的连接方式有两种方式,第一种叫控制连接方式,第二种叫数据连接方式啊。那所谓的控制连接就是进行一个什么指令收发的这么一个过程,指令收发一个过程,大家都知道我们的FTP呢的端口有俩,一个是20,一个是21。21个是2D,但是大家会发现我们在安装了FTP软件之啊,我们将FTP服务起来之后,我们只会看到一个20端口那个20 21端口那个20是看不到的,起码不是说经常能看到。
01:03
也就是说我们每次都能看到,或者说我们来用来检查FTP这个服务器端是否正常工作的一个依赖依据就是通过21端口来检查,那为什么不通过20呢?这个地方就是需要这么一个特性了。21是一个叫。命令信道的这么一个端口。命令信道的这么一个端口,所谓的命令信道主要的作用就是用来进行什么。啊,命令的输放,比如说客户端和服务器端要进行登录。那客户端。向服务器端发起登录请求,那这个时候不就相当于是一个login的动作?所以log印就是登录嘛,那这个地方log不就是指令嘛,那这个时候服务器端用来接收log指令的时候,就用二十一来接收,那这个时候服务器端验证了客户端登录时所使用的登录方式。可能是逆鳞,也可能是用户名密码,不管是什么方式验证了之后,比如说允许的登录,那这个时候服务器端是不是要给客户端回一个允许登录的一个指令啊,那这个时候我们服务器端在给客户端回复允许登录的时候,就是OK的时候,也是通过21给客户端回复的。
02:17
那同样客户端在接到了服务器端允许登录的结果之后,那客户端是不是有可能会向服务器端发起指令上传或下载啊,那不管是上传还是下载,那上传一般叫put。下载叫get。他不管是put也好,Get也好,都是一个行为的动作指令。行为的动作指令,那这个时候你会发现这种指令仍然是向服务器端的21号端口发。啊,仍然是向服务器端的21号端口发,而不是向20端口发。那这个就很简单了,二十一端后就是专门来进行收发指令的,指收发指令,那假如说这个时候客户端确定了要向服务器端发送一个获取指令,比如说客户端要从服务端下载一个文件,那这个时候。
03:10
那这个时候客户端说我要get一个文件,那当他两个确认就是服务端确有这个文件,并且服务器端要给这个客户端传这个文件的时候,在进行即将数据传输的时候,就不再使用21了,而利用我们现已存在的21端口去调用另外一个端口20。啊,调用20,那把20调用起来的原因是什么?我们用20端口来进行数据传输。所以说20端口我们又称之为叫数据信道,所有的数据信道就是专门来进行数据传输的,而不是来说法指令的,说法指令21,而数据传输用20。用20。原因是什么呢?原因是这样可以避免同时有多个用户登录时,对应的这个端口被占用了,而无法进行新用户的一个连接请求处理。
04:05
对吧,二是以指来收发指令,这个时候它和客户端之间就不是常连接。什么长连接?就不是长时间连接着,就不是一直连接着。它肯定是有一个什么连连接和断开时间的,但是20端口很有可能会有长连接的状态,为什么?因为有时候当一个数据没有传输完出的时候,可能要传很长时间。那当我们20长连接着的时候,那它可能在进行用户连接的请求时就比较麻烦了,所以说我们为了避免这种频繁的这种连接请求和长连接的数据请求。我们将这种。控制连接和数据连接给它区分开了。频繁的连接断开的这种使用21这种。命令洗脑进行和客户端之间连接,而且这个21端口是处于什么监听状态?
05:02
上就我们所,我们又称之为叫listen状态,监听状态,意思就是一直开放着,用来接收用户的,用来等待用户的请求,而20呢,我们称之为叫数据性的,只有在进行数据传输的时候才会启用这个端口那。这种模式呢,我们称之叫按需连接,只有在有需求的时候才会开放并连接,主要作用是进行啊。数据的上传和下载的。主要作用是来进行数据的上传和下载的。那这个地方我们来简单的来看一下,关于这个。客户端服务器端,它的一个这样数据传输模型啊。这是一个端。这一个服务器端。那首先第一次肯定是客户端要去登录服务器的,那首先第一个动作叫什么,Log in。叫log in,当客户端发送一个log in指令时,服务器端要什么呀?验证客户端所发送过来的账户和密码。
06:08
账户和密码,然后以此来进行什么验证?登陆者的身份是否被允许登录服务器端?啊,不管你是一个以什么样的方式登录,什么样的方式都行,只要你符合登录条件,我就允许登录,那这个时候服务器端验证如果通过了,则允许登录,如果验证不通过,则直接告诉你登录不成功,拒绝登录。OK,那客户端在登录成功之后,客户端需要再次向服务器端发送请求,但是再次发送请求时,所发送的请求就不再是什么。就不再是登录请求了,而变成了数据请求。有可能是要进行put文件。也有可能要进行get文件,但是都只是把这个想法和要干的事告诉服务器,那服务器端在收到了客户端要干的事之后呢?服务器端要干什么?
07:02
要和客户端签署一份合同,这个时候我们先不画连接模式,连接方向啊,要签署一份合同,什么合同?就是你用什么端口来接收我的文件,我用什么端口来给你传输文件,或者我用什么端口来接收你给我发的文件。这就是一个我们互相磋商、协商我们进行数据传输时,各自所使用的端口的这么一个过程。默认情况下,服务器端是固定的,那就是20,只要要数据传输,我就把20开放了,不管是你上传也好,还是你下载也好,我都是用20接收货给你传。都是这样一个过程。然后咱们再建立连接进行。你的下载或你的上传。这是一个关于。VSFTP这个软件的一个运行过程啊,然后呢,以及我们的两个端口以及连接类型,第一个叫控制连接,就专门进行命令交互的,一个叫数据连接,专门来进行数据交互的。
08:10
我称之为叫持续性连接和按需连接。啊,按序连接OK,那我们VSFTP这个软件的一个连接类型,我们就先讲到这儿,那么本节课再见,我们下节课再来讲下边的内容。
我来说两句