文章目录
- 1. 文件传输协议
- 2. 电子邮件系统
1. 文件传输协议
文件传输协议:
- 文件传送协议FTP:提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
- 简单文件传送协议TFTP:使用于UDP环境,代码块内存比较小。
FTP是基于客户/服务器(C/S)的协议。
用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
FTP协议工作原理
-
ftp+用户名+密码登录ftp。或者也可以使用匿名用户来访问远程主机上公开的文件
-
FTP使用TCP实现可靠传输。
-
FTP服务器的进程分为两类,一个主进程,多个从属进程
主进程:负责接受新的连接请求,打开21号端口,为连接的请求分配从属进程。
从属进程:处理单个的用户连接请求。
FTP在传送数据时,控制连接在整个文件传输会话中都要保持。用户通过控制链接发送命令给服务器的控制进程。
控制进程收到用户数据传输命令后,创建数据传送进程,文件传输完毕后关闭数据传送链接。
这两个端口号不同。数据传送进程和控制进程都属于从属进程。
是否使用TCP20端口建立数据连接与传输模式有关
- 主动方式使用TCP20端口
- 被动方式由服务器和客户端自行协商决定(端口>1024)
FTP传输模式:
- 文本模式:ASCII模式,以文本序列传输数据
- 二进制模式:Binary模式,以二进制序列传输数据。
2. 电子邮件系统
电子邮件系统组成结构:
用户代理:用户与电子邮件之间的接口。(电子邮件的客户端软件)
邮件服务器:
- 发送、接收邮件
- 向发件人报告邮件传送结果
- 邮件服务器也可以作为客户。eg:当邮件服务器向另一台邮件服务器发送数据时,此时发送方邮件服务器就作为客户角色。
- STMP协议:发送数据协议
POP3协议,IMAP协议:接受数据协议
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 <xxx.com> (发件人)
B:250 OK (SMTP服务器已经准备好接收邮件)
A:RCPT TO <xxx.com> (收件人,可以是多条)
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协议不足:
- SMTP不能传送可执行文件或者其他二进制对象。
- SMTP仅限于传送7位ASCllI码,不能传送其他非英语国家的文字。
- SMTP服务器会拒绝超过一定长度的邮件。
针对上面的不足,又提出了通用因特网邮件扩充MIME
MIME使电子邮件系统可以支持声音、图像、视频、多种国家语言等等。
POP3协议:
POP3协议负责将接受方的邮件服务器的邮件交给接收方用户代理。
POP3协议使用TCP连接,使用110端口,是客户端服务器模式。(服务器是接收方邮件服务器,客户端是接收方的用户代理)
POP3工作方式:
- 下载并保留(在服务器)
- 下载并删除
IMAP协议是在POP3协议上进行扩充:
IMAP协议比POP协议复杂。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WiFi的时候再下载附件)。
基于万维网的电子邮件:
最大的改动是邮件服务器和客户之间的数据交换使用HTTP协议。
服务器与服务器之间的数据传输还是使用SMTP协议。