Linux1 Samba服务工作原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux1 Samba服务工作原理
Samba服务功能强大,这与其通信是基于SMB协议有大的关系。
SMB协议不仅能够提供目录和打印机共享,还支持认证、权限设置等功能。
在早期,SMB运行于NBT协议(NetBIOS over TCP/IP)上,使用UDP协议的137、138及TCP协议的139端口,后期SMB经过开发,可以直接运行于TCP/IP协议上,没有额外的NBT层,使用TCP协议的445端口。
通过Samba服务,Windows用户可以通过“网上邻居”窗口查看到Linux服务器中共享的资源,同时Linux客户也能够查看到服务器上的共享资源。
Samba服务的具体工作过程如图2-3所示。
SMB客户端SMB服务器
图2-3 Samba服务器工作过程
●协议协商
客户端在访问Samba服务器时,首先,由客户端发送一个SMB negprot请求数据报,并列出它所支持的所有SMB协议版本。
服务器在接收到请求信息后开始响应请求,并列出希望使用的协议版本。
如果没有可使用的协议版本则返回0XFFFFH 信息,结束通信。
●建立连接
当SMB协议版本确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SesssetupX请求数据报实现的。
客户端发送一对用户名和密码或一个简单密码到服务器,然后服务器通过发送一个SesssetupX应答数据报来允许
或拒绝本次连接。
●访问共享资源
当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或SMB TconX 数据报并列出它想访问网络资源的名称,之后服务器会发送一个SMB TconX应答数据报以表示此次连接是否被接受或拒绝。
●断开连接
连接到相应资源,SMB客户端就能够通过open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。