CIFS
CIFS(Common Internet File System),它是Windows上的一个文件共享协议。CIFS协议有三个版本:SMB、SMB2、SMB3。
在Windows上创建一个CIFS共享非常简单,只要在一个目录上右键,属性-->共享,在配置一下权限就可以了。其他电脑只需要输入IP和共享名就可以访问它了。
CIFS协议使用\\IP\path;
\\192.168.1.111\lol #如我共享E盘下面的LOL文件夹,不需要加上盘符;
这样连接过去是需要输入username和password;
CIFS在企业环境中应用非常广泛,比如映射网络盘或者共享打印机;同事间共享资料也可以采用这种方式。
首先,CIFS只能基于TCP,所以必定是三次握手开始,CIFS服务器上的端口号是445;
接下来的CIFS操作是Negotiate(协商),协商双方使用的版本;
接下来是CIFS Session,包括Session Setup、Tree Connect、Create三个步骤;
#Session Setup主要任务是身份认证,Session Setup过后就可以访问“\\ip”了;
#Tree Connect后,可以得到服务器返回的Tree ID(代表某个目录,如\\ip\lol);
#在一个TCP连接上可以维持多个打开的Tree Connect,所以当我们打开了\\ip\lol\a.txt后再打开一个\\ip\lol\b.txt是不需要重新再建立TCP连接的;
#客户端还要从服务器查询许多信息;
#Create是CIFS中非常重要的一个操作。无论是新建文件、打开目录、读写文件,都需要Create;
#有时候因为没有权限遭遇“Access Denied”错误或者覆盖文件收到“File Already Exists”的提醒也都来自Create;
在相同的文件系统上剪切、粘贴,本质上只有“rename”操作,并没有读和写,所以非常快;