文件传输协议:
FTP是基于客户/服务器(C/S)的协议。
用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
FTP协议工作原理
ftp+用户名+密码登录ftp。或者也可以使用匿名用户来访问远程主机上公开的文件
FTP使用TCP实现可靠传输。
FTP服务器的进程分为两类,一个主进程,多个从属进程
主进程:负责接受新的连接请求,打开21号端口,为连接的请求分配从属进程。
从属进程:处理单个的用户连接请求。
FTP在传送数据时,控制连接在整个文件传输会话中都要保持。用户通过控制链接发送命令给服务器的控制进程。
控制进程收到用户数据传输命令后,创建数据传送进程,文件传输完毕后关闭数据传送链接。
这两个端口号不同。数据传送进程和控制进程都属于从属进程。
是否使用TCP20端口建立数据连接与传输模式有关
FTP传输模式:
电子邮件系统组成结构:
用户代理:用户与电子邮件之间的接口。(电子邮件的客户端软件)
邮件服务器:
SMIP协议:简单邮件发送协议
SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。
SMTP进程包括:
1. 负责发送邮件的SMTP进程就是SMTP客户
2. 负责接收邮件的进程就是SMTP服务器。
SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)。
来达到控制SMTP进程的作用
SMTP是建立在TCP连接基础上,端口号25,使用客户服务器模型。
SMTP通信模型建立过程:
连接建立:
发送方将邮件发送给发送邮件服务器。
发送邮件服务器每个一段时间需要对自己的邮件缓存进行扫描,如果发现有邮件没有发送,SMTP会使用端口号25将邮件发送出去
此时发送方邮件服务器需要向接收方邮件服务器建立TCP连接请求。
接收方邮件服务器返回220Sever ready响应报文。
SMTP客户向接收方发送HELLO命令。如果SMIP接收方可以接受邮件,则会返回250OK。如果不能接受邮件,就会返回421service not available
邮件发送:
这里使用A代指发送邮件服务器,B代指接受邮件服务器。
A:MAIL FROM
B:250 OK (SMTP服务器已经准备好接收邮件)
A:RCPT TO
B:250 OK /550 No such user here (SMTP服务器确定是否有这个用户)
A:DATA (要开始传输邮件的内容了)
B : 354 start mail input;end with < CR >< LF >.< CR >< LF >(SMTP服务器同意传输)
A:DATA (正式传输邮件)
……
B:250 OK
连接释放:
邮件发完,SMTP客户发送QUIT命令,SMTP服务器返回221,表示同意释放TCP连接。
SMTP协议不足:
针对上面的不足,又提出了通用因特网邮件扩充MIME
MIME使电子邮件系统可以支持声音、图像、视频、多种国家语言等等。
POP3协议:
POP3协议负责将接受方的邮件服务器的邮件交给接收方用户代理。
POP3协议使用TCP连接,使用110端口,是客户端服务器模式。(服务器是接收方邮件服务器,客户端是接收方的用户代理)
POP3工作方式:
IMAP协议是在POP3协议上进行扩充:
IMAP协议比POP协议复杂。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WiFi的时候再下载附件)。
基于万维网的电子邮件:
最大的改动是邮件服务器和客户之间的数据交换使用HTTP协议。
服务器与服务器之间的数据传输还是使用SMTP协议。