今天理解了一个比较绕的底层知识点,趁热打铁分享分享。关于客户机与服务器的主动模式和被动模式的响应情况、使用场景
一、ftp服务器的工作模式分为:
此时我们做一个场景的转换,方便我们的理解,把客户机和服务器的交流我们比作去小卖部买东西。
客户机50001端口号-小明第1次提出买东西的需求
服务器21端口号-老杨第1次回应
客户机50002端口号-小明第2次提出买东西的需求
服务器20端口号-老杨第2次回应
需要登陆的账号和密码-饮料
服务器传送的数据-娃哈哈
(以下50001、50002和20001端口为随机产生;20和21端口为固定端口用于ftp服务器)
1、主动模式(1-4表示第1次提出,5-6表示第2次提出)
“聊天”:
(1)首先,小明来到商店说,老板我来买个东西(图中第1处,类似客户机发出请求的过程)
(2)这时,老杨就会回应说,哎你小子买东西总得告诉你要买啥吧(图中第2处,类似服务器响应,向客户端询问账号和密码)
(3)然后,小明一拍大脑门觉得还真是,说我是来买饮料的呀(图中第3处,类似传递账号和密码)
(4)接着,老杨一盘算,饮料我这有呀,但是饮料有很多种,就问小明,你来看看要那种呀(图中第4处,类似服务器验证客户机传送来的账号密码正确后,给他列出服务器中的文件数据)
“执行”:
(5)所以,小明开始挑选,说我要那个娃哈哈的饮料(图中第5处,类似客户端从服务器上下载数据)
(6)最后,老板说好,你别动,我把娃哈哈拿给你(图中第6处,类似服务器把数据主动传送给客户机)
由于20是数据端口,所以只在传输数据时打开
2、被动模式(图二)(1-6表示第1次提出,7-8表示第2次提出)
“聊天”:
(1)依然,小明来到商店说我要买东西(图中第1处,类似客户机发出请求的过程)
(2)同样,老杨会说,你小子不长记性,得告诉我你要买什么呀(图中第2处,类似服务器响应,向客户端询问账号和密码))
(3)然后,小明又一拍大脑门觉得还真是,说我这次还来买饮料(图中第3处,类似传递账号和密码)
(4)接着,老杨发现饮料还没卖完,就问这次你看看要那种呀(图中第4处,类似服务器验证客户机传送来的账号密码正确后,给他列出服务器中的文件数据)
(5)听罢,小明说我还要娃哈哈(图中第5处,类似客户端从服务器上下载数据)
(6)不过,这次老杨说我现在有事,你自己拿然后告诉小明东西在哪儿(图中第6处,类似服务器向客户机发送一个端口号20001)
“执行”:
(7)所以,小明就自己在地方找,找到了(图中第7处,类似客户机向端口20001发出请求下载数据)
(8)最后,小明把东西拿走(图中第8处,类似端口20001向客户机发送数据,相当于服器务没有通过专门进行数据传送的端口20进行传送,被动通过服务器端口20001发送数据)
二、总结
三句话:
第1句:主动或被动模式阐述的是数据传输过程(即上面的“执行”过程)
第2句:主动或被动模式由客户机选择
第3句:主动或被动状态由服务器传输数据的状态决定
至此完毕,有任何问题可以私聊问哈!!!